From 636e11b83905603f4b7e9746be42a994c595dbdd Mon Sep 17 00:00:00 2001
From: Caden Buckhalt
- You can optionally filter which nodes are shown on this stage, by creating
+ You can optionally filter which nodes or edges are shown on this stage, by creating
one or more rules using the options below.
+ This stage has edge creation or display values that will not be shown
+ based on the current filter rules.
+
+ One or more of the selected edge types are not currently included in the
+ stage-level network filtering. If they are not included, the edges will not be
+ displayed.
+
diff --git a/src/components/sections/SociogramPrompts/PromptFieldsTapBehaviour.js b/src/components/sections/SociogramPrompts/PromptFieldsTapBehaviour.js
index 6498621b3..3ca100d1e 100644
--- a/src/components/sections/SociogramPrompts/PromptFieldsTapBehaviour.js
+++ b/src/components/sections/SociogramPrompts/PromptFieldsTapBehaviour.js
@@ -5,12 +5,14 @@ import { change, formValueSelector } from 'redux-form';
import * as Fields from '@codaco/ui/lib/components/Fields';
import { Section, Row } from '@components/EditorLayout';
import ValidatedField from '@components/Form/ValidatedField';
+import Tip from '@components/Tip';
import EntitySelectField from '../fields/EntitySelectField/EntitySelectField';
import DetachedField from '../../DetachedField';
import VariablePicker from '../../Form/Fields/VariablePicker/VariablePicker';
import { getHighlightVariablesForSubject } from './selectors';
import { actionCreators as codebookActions } from '../../../ducks/modules/protocol/codebook';
-
+import { asOptions } from '../../../selectors/utils';
+import { getEdgeTypes } from '../../../selectors/codebook';
// TODO: Move this somewhere else!
// This was created as part of removing the HOC pattern used throughout the app.
// It replaces withCreateVariableHandler. Other uses of this handler could be
@@ -101,6 +103,26 @@ const TapBehaviour = ({
return true;
};
+ const edgeOptions = useSelector((state) => asOptions(getEdgeTypes(state)));
+
+ // get selected value
+ const selectedValue = useSelector((state) => getFormValue(state, 'edges.create'));
+
+ // get the current edge filters from the stage
+ const getStageValue = formValueSelector('edit-stage');
+ const currentFilters = useSelector((state) => getStageValue(state, 'filter'));
+ const edgeFilters = currentFilters.rules.filter((rule) => rule.type === 'edge');
+
+ // get selected edges from options
+ const selectedEdges = edgeOptions.filter((option) => option.value === selectedValue);
+
+ // TODO: look at this logic to see if it's correct for all cases
+ const selectedEdgesNotInFilters = selectedEdges.filter(
+ (selectedEdge) => !edgeFilters.some(
+ (edgeFilter) => edgeFilter.options.type === selectedEdge.value,
+ ),
+ );
+
return (
)}
{ tapBehaviour === TAP_BEHAVIOURS.CREATE_EDGES && (
+ <>
+ {selectedEdgesNotInFilters.length > 0 && (
+
+ The selected edge type is not currently included in the stage-level network filtering.
+ If it is not included, the edge will not be displayed when it is created.
+
One or more of the selected edge types are not currently included in the
diff --git a/src/components/sections/SociogramPrompts/PromptFieldsTapBehaviour.js b/src/components/sections/SociogramPrompts/PromptFieldsTapBehaviour.js
index 3ca100d1e..2d81a1b32 100644
--- a/src/components/sections/SociogramPrompts/PromptFieldsTapBehaviour.js
+++ b/src/components/sections/SociogramPrompts/PromptFieldsTapBehaviour.js
@@ -9,10 +9,9 @@ import Tip from '@components/Tip';
import EntitySelectField from '../fields/EntitySelectField/EntitySelectField';
import DetachedField from '../../DetachedField';
import VariablePicker from '../../Form/Fields/VariablePicker/VariablePicker';
-import { getHighlightVariablesForSubject } from './selectors';
+import { getHighlightVariablesForSubject, getEdgeFilteringWarning } from './selectors';
import { actionCreators as codebookActions } from '../../../ducks/modules/protocol/codebook';
-import { asOptions } from '../../../selectors/utils';
-import { getEdgeTypes } from '../../../selectors/codebook';
+
// TODO: Move this somewhere else!
// This was created as part of removing the HOC pattern used throughout the app.
// It replaces withCreateVariableHandler. Other uses of this handler could be
@@ -103,9 +102,6 @@ const TapBehaviour = ({
return true;
};
- const edgeOptions = useSelector((state) => asOptions(getEdgeTypes(state)));
-
- // get selected value
const selectedValue = useSelector((state) => getFormValue(state, 'edges.create'));
// get the current edge filters from the stage
@@ -113,15 +109,7 @@ const TapBehaviour = ({
const currentFilters = useSelector((state) => getStageValue(state, 'filter'));
const edgeFilters = currentFilters.rules.filter((rule) => rule.type === 'edge');
- // get selected edges from options
- const selectedEdges = edgeOptions.filter((option) => option.value === selectedValue);
-
- // TODO: look at this logic to see if it's correct for all cases
- const selectedEdgesNotInFilters = selectedEdges.filter(
- (selectedEdge) => !edgeFilters.some(
- (edgeFilter) => edgeFilter.options.type === selectedEdge.value,
- ),
- );
+ const showNetworkFilterWarning = getEdgeFilteringWarning(edgeFilters, [selectedValue]);
return (
The selected edge type is not currently included in the stage-level network filtering.
diff --git a/src/components/sections/SociogramPrompts/selectors.js b/src/components/sections/SociogramPrompts/selectors.js
index e4f5fd626..3ab2b3b1a 100644
--- a/src/components/sections/SociogramPrompts/selectors.js
+++ b/src/components/sections/SociogramPrompts/selectors.js
@@ -32,3 +32,41 @@ export const getEdgesForSubject = (state) => {
return codebookOptions;
};
+
+// compare selected edges to edge filters
+// there are four cases to consider:
+// 1. selected edge is in the filters with rule EXISTS -- no warning
+// 2. selected edge is not in the filters with rule EXISTS -- show a warning
+// 3. selected edge is in the filters with rule DOES_NOT_EXIST -- show a warning
+// 4. selected edge is not in the filters with rule DOES_NOT_EXIST -- no warning
+
+export const getEdgeFilteringWarning = (filters, edges) => {
+ const existFilters = filters.filter((rule) => rule.options.operator === 'EXISTS');
+ const doesNotExistFilters = filters.filter((rule) => rule.options.operator === 'NOT_EXISTS');
+
+ // if any edge should show a warning, return true
+ return edges.some((edge) => {
+ const isEdgeInExistFilters = existFilters.some((rule) => rule.options.type === edge);
+ const isEdgeInDoesNotExistFilters = doesNotExistFilters.some(
+ (rule) => rule.options.type === edge,
+ );
+
+ // case 1
+ if (isEdgeInExistFilters) {
+ return false;
+ }
+
+ // case 2
+ if (!isEdgeInExistFilters && existFilters.length > 0) {
+ return true;
+ }
+
+ // case 3
+ if (isEdgeInDoesNotExistFilters) {
+ return true;
+ }
+
+ // No warning in other cases
+ return false;
+ });
+};
From 898f7b63e78fa1d520035d865c92f55309510acf Mon Sep 17 00:00:00 2001
From: Caden Buckhalt
- One or more of the selected edge types are not currently included in the
- stage-level network filtering. If they are not included, the edges will not be
- displayed.
+ Stage level network filtering is enabled, but one or more of the edge types
+ you have configured to display on this prompt are not currently included in the
+ filter. This means that these edges may not be displayed. Either remove the
+ stage-level network filtering, or add these edge types to the filter to resolve this
+ issue.
- The selected edge type is not currently included in the stage-level network filtering.
- If it is not included, the edge will not be displayed when it is created.
+ Stage level network filtering is enabled, but the edge type you want to create
+ on this prompt is not currently included in the filter. This means that these
+ edges may not be displayed. Either remove the stage-level network filtering,
+ or add these edge types to the filter to resolve this issue.
- Add one or more prompts below to frame the task for the user. - You can reorder the prompts using the draggable handles on the left hand side. + Add one or more prompts below to frame the task for the user. You can + reorder the prompts using the draggable handles on the left hand side.
)} title="Edit Prompt" diff --git a/src/components/sections/GeospatialPrompts/PromptFields.js b/src/components/sections/GeospatialPrompts/PromptFields.js index 11b76f802..e9182e99b 100644 --- a/src/components/sections/GeospatialPrompts/PromptFields.js +++ b/src/components/sections/GeospatialPrompts/PromptFields.js @@ -4,7 +4,9 @@ import React from 'react'; import { getFieldId } from '@app/utils/issues'; import { ValidatedField } from '@components/Form'; import { Section, Row } from '@components/EditorLayout'; -import NewVariableWindow, { useNewVariableWindowState } from '@components/NewVariableWindow'; +import NewVariableWindow, { + useNewVariableWindowState, +} from '@components/NewVariableWindow'; import VariablePicker from '../../Form/Fields/VariablePicker/VariablePicker'; const PromptFields = ({ @@ -23,7 +25,10 @@ const PromptFields = ({ handleCreatedNewVariable, ); const handleNewVariable = (name) => { - openNewVariableWindow({ initialValues: { name, type: 'text' } }, { field: 'edgeVariable' }); + openNewVariableWindow( + { initialValues: { name, type: 'text' } }, + { field: 'edgeVariable' }, + ); }; return ( <> @@ -41,13 +46,8 @@ const PromptFields = ({ /> -- This stage needs a geojson source for map layers. Select a geojson + This stage needs a GeoJSON source for map layers. + These provide selectable areas for prompts. Select a GeoJSON file to use.
)} @@ -86,7 +88,7 @@ const MapOptions = (props) => { title="Color" summary={(- Choose a color for the shape outlines and fill. + Interviewer will render outlines and fills of map layers using the same color.
)} > @@ -96,18 +98,27 @@ const MapOptions = (props) => { palette={paletteName} paletteRange={paletteSize} validation={{ required: true }} + label="Which color would you like to use for this stage's map?" />+ The initial center is in longitude, latitude format. + We recommend using the longitude and latitude of the center of the area you + want to show, such as a city or region. +
++ The zoom level controls how much of the map is initially visible. Higher levels show + more detail, while lower levels show a broader area. The zoom level can be a number + between 0 and 22. +
+
+
+ Pan and zoom the map below to configure the initial view. + When the map is first loaded, it will be centered at the - initial center and zoom level configured on this map. + initial center and zoom level as it appears here. Resetting the map will return it to this view.
)} diff --git a/src/components/sections/MapOptions.js b/src/components/sections/MapOptions.js index 16fb895ba..149a8147a 100644 --- a/src/components/sections/MapOptions.js +++ b/src/components/sections/MapOptions.js @@ -14,6 +14,7 @@ import GeoAPIKey from '../Form/Fields/Geospatial/GeoAPIKey'; import MapSelection from '../Form/Fields/Geospatial/MapSelection'; import useVariablesFromExternalData from '../../hooks/useVariablesFromExternalData'; +// TODO: move this to a shared location -- protocol-consts? const mapboxStyleOptions = [ { label: 'Standard', value: 'mapbox://styles/mapbox/standard' }, { label: 'Standard Satellite', value: 'mapbox://styles/mapbox/standard-satellite' }, @@ -114,8 +115,7 @@ const MapOptions = (props) => { title="Initial Map View" summary={(- When the map is first loaded, it will be centered at the initial center and zoom level - configured here. Resetting the map will return it to this view. + Configure the initial map view to adjust where it will be centered and zoomed to.
)} disabled={disabled} From d598829a2e7c69616ba5ca5d6d5b9bf9678155cd Mon Sep 17 00:00:00 2001 From: buckhalt| - {column.render('Header')} - {getSortIcon(column)} - | - ))} -
|---|
| - {cell.render('Cell')} - | - ))} -
| + {column.render('Header')} + {getSortIcon(column)} + | + ))} +
|---|
| + {cell.render('Cell')} + | + ))} +
RLKSt`TZWomt5`87Hxu zZ(ErLzy0EOzqd$i|m T9-7iE0 tRBXS$l-!^HwEAg{ z0Mm8*QB^D1CaF5#-s{+(bvd(j+kLrd(dc+IX#abCx18dT;wy!LG vgv>YEBECR?UA7aTn4e*@;{o-8MGQ+uALoSF_^yvi fOsw|0?~?)o=UD_d5VTJxa8 zrm=I78}LH6ZLH1fTz|VW>lO8p=x*@-fp421+c)LmY9c>FB0hSFzZXdDOLN<>oBF4I z)d11Y_M-lrcjI!#@7-hhb_gOPK%?9A{lT>63hG(xcg&z-f6c*FDQb1B4kK1KzBh$8 zJGb^-``IOXHKIPzXa9Zlsqu{Q4|`GjqRpf(70>3+&imKN>+NfE^b_=WqF(|uKESK6 z>(W!u{88@6fq{boO*gKu?dRd+`H1Svd_oNU_o)Q%Zw0+!VStVeWB@lb;14|@G~E33 z6z7N8C!87V8&y_iulYEpf15s_?-uN;8?0xN25^VsBaIK}#TdARHKe7LN-zIu{^!Ax z><$p~3Lb_4`8jB2{nEYvK1C>7uKmOB!4Ldo7GcFPeBbDA7OQTmDP<-n2cY>&!verU zECG;zDX_l<_iy=|?8XHHVE&%b{ua?3@PBh5r*a_vO+$$MLr_RXL`v%KS;g4N)YJ}S zVehQQUW5PF)RLvDrn9D;ERV6hErXGX{dZFacUy;lr~rWOJby`BQ)eS$cUv1f5RW?_ z=|3fS{?h-bW+Wy4r--vPAE~CCBC&|QlPNI=0}}%iDL*_hF)`4|#EeH-RQ!L`|6cKt zS~xp9@GvsExw$d8u`<{@nKLqTb8|B?u`sf*(EpX72YJ{z8@bclfyn-4 PIY=zp5^w}FiR;4m^XFfsnG?Z2wP zf7J3QTDqIsXo*_d{teGxAN*Xb?7)A@|9_nSc>FI-&HrdJv#>J%x9Wef{$Eu!kg1c1 zz3pG0&iw!Bn*UM$Z|46f0vZ3&^#2OQzvBGQ+P{J3hX*qLZ>RCYb2ZU@0RRL6Qldht z?qFw~F#hBcE}S2fQ-|K^c8o9^Qo_Y5nDCHrB;*k>F|rsr$awM097u)`b<8O?J%fYf z@gGDu>BK=Ou%_ghXrokmNbSwsQ)g#Emyce2>~nJ}eC<>*HqTowoNF6j_0>AdE>0fP zv4rd6(V a8@yPjX|qPfkjbCAk_* zHe{QK5uV12u}nXAq{4 n|zOFf!nOS2pwIO4=FaT_gG<%OMI3U`W_ooaS|$N zZ!J2`CV?5pk~u1+U=9&tESIqdKlV0+93l0 ?N;16pGQY`SkT$( zNl1NVj(MPG>vBQqnI)9I6P8fXP_dVry-r^n?JdLd`5>?5VdJN!Q>A8L-WepEXlx`l zncq&}wZJN$6e(X+$bcFf+&1b(l{qqU%*)T1658-_n_gJkRhO|>5nV`unnsB;B2LPJ zE;IV^4str)?l1v)Oc?w@e%wgQQpeFuPZ;35jQL%?PJGVk+fcUhor6)t_?Bhb$JwjH zpK53)cBRbg$DWtXR)Irh%3`$*^*L|VR97z!eYjYEU0bo#YH}?V_h4s8@y|!*%hX1n ziP^=Bk~9QXc (EL55=h0eJqNN1(L_lg>>?T4XuTXyY-j~t7wf4(8Vu1 z{t4r1z7BKUY^8LK=AGx`_3-$5gu0{Yh8l*) -5~sD$lGc zN`~GCyC&*?dhdXYzCJW@(r<4P`93C7u<%gG8MueAd0hA;DabNzuV`J`(#UIRXP0jZ z^KXe?tzY>n9ModMRJBU{;eW6l@w@by{ZZSFKE}P6nB M*Xk(1S zJJ}nI&&YlXgPX6omi(sq&byoP1DThI2V=(>Un(rhw8^4=0QcRfvvpP^kcRJw{Iqce zuB^fY{P4QA>igVKyRcf&4fG#&T6@gRx*Wyf!xBu^#IN~|A0xg EnozWK0R0aAxW{Y1;0mree1 zbnR=h(p@O6FeBw{r7i#VIyKsF->Pi3hy)btgfxLbg2adALUAD87VHV|hnTWKQYGWe zdcNX|5+1vZtIM=S f(Ztqdk#Y2=;n2`ZvUmB-CxmZ0X{~1ovn`TC-2j zSwKzhwsMz_2^0Um4m^aL(-m(fqH^ p?kRvxnEbI z;1c~%o_2#Mu8f59kCEe%k9wTG%2;H5UykZPZs~UV{W_+8WO3V)IpVf?i%%smUQhAZ zK{MJKQRUU&8C4;{#2w`$Thj#vK ))ZStPQ;EtiIr?y!Eeon^{fd-I6m=> zUu=alh+b#_f|b(v$O1_N_l<}%I_z;%l6rRHc|Ri>GMm(I2qtE)!U>*ch_$aPNRRch zL;oP->*IDrYx *ZcI*PnY`TD1(o@{5!Z? z0o`7VU_bpKz+k}tcRcp6rbCEH6%LYLu^hd!804ome|y-Sqi8+~H6i-jjdl8rM}?hr zMkRNfmgs>I{@N>MsTwjJ)2o}|h^7LYu_hDTFDUea065gbx mRm+kck}9y^`> G9MzAzH*bF0BM&8o!_@o)eWT922wA zAatdUg@X)>6Dc>1wXHQkf8{z?0Bci#>TU0coP$qCh?FSJ765K{v%isr*-%@y*43 zRFbHYiV_Ake&70A7DPesftd$`YH7eQOZUKw&S5tFX|X(`&v!DPvQChNySfmR6$aui z2>THaOd8xmBHo!GyhjGsFv-oMVLh6d($xJx<9FH=5ljp`d(e}1$6Zuy9`e|oh^Bx~ zk@lhaDw<%vI*yP~)mL`uR;p(@P@HYm!wPFN3YmLS^)8iVEj|UXQhIgKJkWPai~uUz zo; yM2`7&uZoQ3;4CALyuYt*A{N!fvOEBNQ@CB~{9nKb{|GXmqF-G4$ z6Ct3>uQI!TK^;5-w>)LO1~u8nIB3+ mRUV3xmgwf;IWbhUjnU044jz8rh)bM z&Ey-nUsY3@5?HfwW#HR1gTC3Ck8l=P5OQ$wFp4}KqZY}sE%Ejtv(c2OG4sSGF~f%J z%~_@fJu71R 0tu8re212pH{2IjS(-w^}V4*)Zi>-l9mKNs` zk4i4<*W}bqT?Wv?Ep0Z9w1!2b8F>kav-rbFsC-Wp-I+OwYWACiNRFx7h1`D;)}g+z zOFoLXO3btEv|`n(Db gg0H(xO|lnN`$rSJZ$;PaN_iQg+W;wW=T{6WD;GMaewRx8EsDh)hbs?aD=J|m8< z0B(4*3@XQ2vY*X~h-A9vO^V_p?>t^pIozg_AMvuYKrQFmTC$#!C`MvP*_i2VAsc*X zhCFRx`Z3b00&<%4C*Am-S* tNC~M!^K%zCPk$Q|}I3kR?1w;MPEnIK ?SZr zBn*ZH=dn51WPZh9_3;AXx=VofX9e8Yp|K(10(PR$YY9~S0Kk!PhH>FXH$lR}v;N4V zf;6Z_DlWGmjR4nAZXuugFs4I`T!F$qRvpB=t^lCgUj0IxxV>USQ;w?)IsO7rj)7(` zfo)P2iOoR?AiYHCyJ{4TWbK{@qmLgmD!RX2sX3eC7(FZF_c$h~jz{Nzxvbkc6-dae z?iM~`X9Tdlg{F9GK;^sa-{+c^IgQ_K4fx0#{D1_5vs-zSh^??q$JTBlTNxY5Uo)9+ zUFs;`X{cI(L3q9 Brb`kogvGroIW12Veh z(&OA4AHIY0X+u&@_|j0ztbM9MfK cK& zdq`$?@YVFs=xu?WDeVKw-HGs1ogk^9JdqQJKpDN
j?-Ry++^(1TUJzH@l|VUMuL6N!-{OV$y!KqMOI06VDujeot&-rt$5gs>oK72Uf1g-j@GpGKN8dbWCq)QNHBS9=SEK51Fa#=umXbD zK^|bv$@uRcJ7;@^R}%&! =dA$(IT4_GI3@16U857_00klDki8ttsWtMeE$b zIT?!nvPTgalL^JST4LPMME0ZvI$h0K@2kQ!no2SWHLS{RuYd5}N(H9WEJ`cNG~mkw zrxAK*I<|E2!IoyRwHimy=risOQ=0|gr4ax#usIWS#0~(+w8~DUdq0l&$x?Ob34XXm zRLIPLQp5mAXjH?zB(SN{US@EVN{Ax&3Uhb$p44Uq+fV`DXBz~Zo09k!$Xx>e>t_m> zN!I-Gii05ysC}C9r0TrssH>Ceq-kkFB~Ufthvn>3vy*8j8=I) !Yo?Z`TPdIbx1=}?9qiZmz%*0{fMYz2cAabsF1%5 zMoB4@)H!RQ@O%(?i&2B@FqXY^-_oqpEL5cNjijrzUFJ!AtV;99 `y#KEKOK*2l^*Tb4`ll}#SVC(YdxLexP&cReo%;la1k zxRx2>>;0w!a>H`Ug6%eZIQ>F+r9;l&X%3CM`s5+b+H>Oqx0<@a=GW(u+B^Ypl@5BD zSC~EGY3b>ax0>%4e2cj&&ul#u>!dIEhBzUUduJW_sJsv_l+h4*BRosw(dIP0Z?Hm; z8Z`IkxUjbt--o-N`oVt`#YBNATVIPw-M(Vn5^w(=Fhs>?Lp~G0)xvmzrn^R=0-9fe z2U@e~EV3NN13s>@aye?*9TBw*nb%A>EMp`nP=2MR;Tulr(!1 Yhr^<%;g6+48ks+Gm3%map@5|C z9H5v=QU}bSW(#uZ+RM!Yf2^2c3;9|V?dB=VAjaeevB0Iw{#`m0nGz#UN=XFA&=ipw zl6PqAYs2QMST+|UVN5YNW5j57)?L^x9Z{^8^DdqS@=E^asraAyn=6uN=S*wI0`_kw z??Hq5ex2?`7Yn^?9 V*5L$sIBcANU*N@@sDj3K z-KpaVcO |6;7pBS$3tcoUuHPh{wxfA zE$8aXEqA(}Pt7-F`px0{=K823wg4dJ$MvbOzl_aPSE4m_K C<-E?! zzL<04(_k@r6U&ZbM+bFOUYOuF!o(odjy$;5lfXyFDY%k}{D__cmBW2>!5JS(-)+)g z$U_qXKo)Gs09^5Jt~Z%Z;BTx?LZlJTjqG6Ky=@k7YhTymz^69CywXsC&wF#^Z_Wp( z*N$@bAe=8Z^PIMcNIk632)Vc3_9iBQKUAjU*k*L(cnRwvgP9oDJ}PqY>C3bbx}L1E zV!2X}a9D?|+TFA^(qaD;)^hZNG`s112XK!Q#vQFG9&X!Bb_>@Ei=njTrqL?LxGCp* z`u3UF9$$V56vYr;Qd{K&cl+d 9w#`8fU=*Kw>0*Q_By@A5d+nHwf+m@sjMW|nT2 zl>+K=Y*T(6PiW=+mW4$L*5INMSe|5+MHdw&$`{0!eA3DR$LW>EADL{`6y`;9+DA z!goybFRbEUgWrA7(GbTz@B>#+f>$R^b5P$Y7=v(y>Zjh1kBQ7?*H0(wFtRU7(28NR zDnlL`_Z_vKf0h{%H_?2j8loy4BY~ND3ax=un0Y)edENNc#MY9}2iC3CcQ)F|(J)T0 z`$^-~CQN=c%kwP63H#g4*8F&}umFOhHcd&6$AN Ti)X9t z=pvhQ6kQxiL(Cj_^q Y>jXfRb_o>|GBt%p;vMdID z<3V)0SL9LC8Vf0@=j;#_iIWU69b3d)X(-kDbGqIm8%s9>Rlo$P8$XzPa(~sYQg+Us znq7AF!|YE&6#w3g)1^a<7Mg|Qg{?G7n9}`mxy;co9!TXSVtA^?Ki_I@MYbfxK}xT+ zZ@H~0YslG!(qig- }%{JOARS3G_E^LO~j@v>H z$>kopj87_`T#6zq*Pw&TI9aDXjO6PYcw}EoQ4JM(jSzyy%vDww8k+w`gpPOs+jX#h zkhyZvq3pJQPU_9g5b#W2T}-8gfJciJEk(Xp-T6jN4Kwi{u;ZWL+ov^G&HgE_!J;)d zi^RyUX{mJbd4R-fGe2?eedpq$cWF?bzv!>YKb46wCxbkyC59p$=Q;+eO1+fCPcsY$ zj3T$=t46W@2H7;aFBm*P#>gD+zUPIT#NUl|a+?u_vX;;0VnPGaRRIO-zSG3vqiqZ+ zYl4I;0&z-}(Hms*-@~OPM5K40RljZvMWR@doN;qe(jUwA){}1c_qM$j6KjCswwU#w ztc@;bnQ{a)0zh9AGl&OT2^R6{)|DV-`o!bdpn#YsZS~Sey2$5^2`c;~u zL4|r0fv`n9GzENLTcl}z5CA>!5PgX{vmZ3I- 1yNiL$U3~AH1YP`YY|x0i{9=8!1rt7s!{P|;odq~e5o>*sGy~!!W2wJ2hGnP1 z5^ XgM-@$>SDi4(t3I8$rEMyDcg z)qIY>Yf6{S(sGL;KQ$_i-1et5cz;={?v@MtDc{eZ9%o~)<1arj{tYevJ6AD0>WSON zNng>wIp0s3)Uzo`erg>W+jZd;{kY-|%>FFLJ(1y=sn7edQwGnE<1KYyT~F4lLqmTL zZf#kon$+d@I$h{+pi%%{=!b)+o@`|>ALo!CoCUV(Pv-Vj#ctS|@hQJAo-n*|C6&?~ zUklcYt^Sr0{$2cv(|4K_3Sfp3)3%1Wy;VfqE`e#vpb{eiW5lt96WetdN^Yu7AUmfJ zB?SU}UzR|4p*#e+WB8gm(7|nSQC+dX^iV<4b0kLpiqv8Z5dht4;e6rtebX#B_ZSFC zLz}lV&f+c1jqT;fGR&)(Y}xq9MU^8G@@98*Rs`Rh nwJ~mJUWSIr3N(shX<|B?K0v< zlt4H?N#}Na+RV@EaeQ=LSADVSw 0zdO@rhs-*E}EY7$!Sc)8^ z@8=&=@FPT*$QE o;mZt!MrWmd*8Zgb9H({ zxf9RNt1jXg03y|-m=L1|0YTB0U`xOE=(s9syZ)X++b>((*$0V*;oc6F+49INf{j zj2rmlzG8E4HEB o2 z3=90HDPnEGJeUpg0S!Sw>NZ$p&&LoWuL^1Qb8G~Vi#)UV{=|p16$RX1R>hhMC3HzN zv8dgp+Ba)l|6Ok60!Th1_x{z#i*emcl*|rX5TV!4h~$jZ01K)L#wYu0;}nf|b}jB> zywMr>mXxk-G8esIeUv4$fejHpFovL-P zK;;iup8pHI`3o>2ANo(>`FadQO)GVM_+*F~)aYUQdWHmDZcyaTHLJ!tcYo3N`eMR$ znfrub84Q5%8EQeF5W3-p?c`3uQs)j0xbh!OTqG3320+~% Kt6ASDhBdD!IW@##S{HNHrFHjp4= z$Zq&)C^atgKyJH$P0N#M^Y=0U>Tmc9&sFo}xk09%0c1tLC=-999VwnI?V}3P3g(pA zTY#f90p^O3xQmQ*2{(DEsR0&V;(#w;XE?|Gj8CyCCOh4cVAOp8>0$}x(bIj$(}K%9 z74nWewZo%1WsPLT$RHbNZN<_r-rpz2%04*4DB`B&wS$6nWM@I3I560zY0RXkCULEx zoD_eYQDH0nzHKcw%pp&co!f6Dw{xKxhtmBb(?J6+;Al1Uf5^eu(?VCguTZyZ;SPd3 zDkEOo{cDw8gPc22v0LTuX6Az}3O7ZIk0rJxvkz@H3tl0-3UK`I2C&Jrg7>wkxMsNK zU{1+lrfFdGSJ0rI$s}@6Lw#CZZR6>h=xF>8UF__wt;ayG;Q4U)69;c-kI$REmgC&T zX0FydyfmoD<=egv?nv8c0JezeG#$3)^28*B92Y}m*I>&1FvN0p3&F=qUJPJ*#Nybf zY XDLg#{#*mGKxm>FH1fbviFnwCtJL1tnAeopuQ2L8UIc7&+l?O ^(9HB6udR@XmYZqQ9!3bo^w zve{N;Uwb8y!CFI1Wn8*2Dr(>OEFKbh)aM@5M11KTsPBRme~Ad|$iU_y7Wf!?JobHy zkM5LPB_-Qt_NBuih`sc?rCq(bCu;d3K&~WHOKdFi<7OecOFjAVx8FU9 SPcauup`$XtjLn@@xx2Ji_qH{9H{t#1J2L z2GMrAREny*$?TZBsr#ElmVVQ`Aw$_^&m-VbTb0H-^4#e-OTNvGh1d=a{4yl{NzLl4 zd-f-xM;VP0i{NLLa@8+f8ZItvsfeqSj!@%84BUpm;rZ{-#LIc{LyO-GQOBf`iBqG( zZFT1xk*X45#J(40$Y;Y14)m8Q3)qw;Fu#BEU2to_%IK0z@rnFhYl5 2 z4Gb%7sg#jAMAH!{|FfSdQ m3GZY|H1W z{w9gDTf50dlY*8vo&|BD2o4g>;`}VG-S;)+?Mk3JJ~!9M($Y5ei0|l2>vkZBg5$?< z`lUzVdaZf&+cE3X*zj
2D}IJxUa@A zT~BAKZsIthqiLeNR?%x-!X8g z;<50xr8{o6-Tz%_fKuW{f~JS{CgnB^Q*8=Xbq=*nXDxC`$-)3vPL`E{keg^TJ7RM9 zI0|ycGH?x+!Mr~#e-^km*EgXv`>;~9TD?N__xS`BM^y4PT2M~XMa*m@TMp&l20b*e zetm;B8RZ*d0{aRcza3pk{g^nHU2JqcYaijcwG0~fP~ZJHx0o8BI^JRXwbF^fr?JD~Nr6{(YQ7YiSUdGjk4e zDOoZq*nD5H;OsNJXtRH%7ye3?%vyXqAE`SQ|G9^j;*QfG`EAQjCr+bV*pstC3Kv+s z;`zlaM=QlaS!W_sIMPMg?Kd~e=fNrYXHhu$`k_7iDaV?#MGROIPV4hg*$ 8dqb)?+aq_+P^kQwl`{P5;>E7#8HdsRZfQZ2_-A3RDTMJuZ zROE4s%-&;8ZS^qU{y8GU`-9oDYY!`WB>nS=#?sa@3AyXqsde8cJK>%xv-Htc3`SuG zs<+;P<{je!CFcKG#sk)KquhfN=?jJCs7m!q8IVq-o7@j{1|l?edbXDtc;avoU+>P5 z-#=$dJ;CbtwPzYs X#72Ji*rxJrXziIIxGV~V2b@ER+|GJv)=Uj z5&VY?(K{NiniXK$9Es=O$b(`e>L*}>-0bJs^Bu+IvbS_-o`Ln%?KcC(?RxExr%b9$ zfvgWM8>p$lwyR&*y7@oC7>7%X?c!zhow|T`(|b47*`LAAZf?U;L$+X=EOgl~cgY9b zM;VmKdN0Br+r2~k2K D@-M_+Aet3Az)*8NH(f=_}dJ zLkKsiKd VP%ar+*CcfwfR%7_uoZ4h})(dpLcFDGU0Vd!6@=C%r zw6F+rbmN|i6c6XjUb4$=%3F64m>x(Vj(j2iQKbFFknXZN>M&)TB#nMT@qHG2JU+`E zd~)gt_1)Q2=+Cah@ZZ&puBRCXd$?}y$$n9{ZmU1r`aSO=bK}qe3rfeVj$}A~B1mGP zYzybnF8KQnK#8Ss)EL+_+Lg~@I(FjDT=PiUr5;(Pn*gyymQUR{y{imXp7!_jXG-Hf zJYkbw@`p%zv28zkFaaC8Ig`b`_g1vYE3E5vl4UuEn4(I#Y30%2u~nd5n*Sd85jB}# zN5{QB9&Q`qg%~qb71?90m;FgSme=65(4nZMi`tS(+}*|}es&&;jPn_#bWX@)zEzfE zw0hG4>vXdKC&3gqQ5Xk;PT}Mc#NywLY*6U761U=)NK5p}JoK)U*1n7m8|z_R?Tg@m zA~=@D#7E3WS~=I$WdqnpN-8D)!8* e}VH=cWKXy_a0B# z%xB8fz^&02e8CzUaa>f&I$rJbZZ;T2I*hdBuE_Jc$M@>EeV8ullk#o~n5{>rldWyT z(Dh6G?eP<+w4Nyep~G$`f`%!(L~+s0I~jPKy-ZRbcB*h%W-A7yai$Sefh_LlRkZtz z1$xWuMv>QuuhQXBx8JQQ) _(L=(vlICrE))`OG%9gp1U|#v#_kgRXx0pzJ!+4NKLqP1o(j+r?@KS~ zk4gR; 8F6F2R`OQiuQi zV1-0-R}@ap(j(nCW(HAzrE?Unq??PDLooyy^v+U}xWC+{!=!6();2c6GxPs^v2L9b z%-m7socCS;-h$~31BlYHPVj#hvPP|%ARfJs)bW9ZOfGu1?r ldRtI6MBLn@X>_Zm;hr88oDYpHFBhzb-|R(gkRu{Wal2bc zx}L96F}9xxx1JR79_(WAVQr&ioM5di&d!pDAQ8k8y #@Kop|49HPS#Ldc zik;nLMJxwwe3Quo%UB7y4lSx+Jw;k0lCz2q3*&qjFB2Q>sd}G>zW4K#7Gq37N~=%$ zYOrGBk!{%{SYv@;idnkv$Ybj-=%&WU{C;nV+b{kY>{A^O!rYH)=O1*D(&uGZGM5Hv zw%`?eANk^puZCTdTP_!ybNIA=&Nu #Cm0Pm=A>+?+`)`|?szf)8h5r6C?cE2 zh@2V@-s3U7T&Rvae(j=8?S5^-_xz+SI7-nss7aacds3oz{0NJC9?4X0xp{_d0L08? z{sPjiH_Lc-J 3%!nf8@T2 zCi=*ETY2SwxeGK8STS3`g~Itar1G!rdtjU}SNYD8>?9={xoL9VLX19&3mpM%Is_A~ zdP%W1RO7w!8x=+AY$9(y UG+$Q8F(ZEXys&{rz2O@(3uT9d zgpl9rFv_P5$3FGkb(qr3k7vx&q&Ej|fBDXE;pJVjfT2Ktaxp1b26iX!%;1 f#K>^M1#-#y_V*f|J@s2Z5a+!P0Jfg) zT)jy8$5ydp@!g1euX6)@%PPaz7k)Kr`eC`QQB1wkE{4lHd_g)tA0c#*8}8_xDRW$* z_uQqi>2FeXWEkgWKW!2_16L{~9 tnDvb zGRi^3Ed`X33-ykd ?RY)DY~yotkI)cNseleQyEgL zN5V886yNA>LIYKEv4zxnwPBqrT^{Hq!Qxdq9*#Iiy*?lIZtS>}K4z1 ceEj1?V0(zyc zP;7M-dt zI4qCgZ7lcC@=z#i@?5c3y-0gz9JXkny `Ol+Mo8mQY@c1h=7xtG8H()~aOv!uZF&%9yWGu@%AwX%afVKtwZo zO)oDFqBQ^gAqpRw$P(T@J=@Znx2|%_XY>V;X~h5nU0yt@P+-bu`H>8A8ZchVn7&eU zGGtG;Ut;h#%Q+ D(jX2BNFb@7}MqnSK HQ%i;o%N(3vlLNBz~ow zVMmqp_YV5{#RnrM`0hfj8TWDKgtQa(?V@p^&guxVENs?<%!*NorAdN&^IUD+-f~Ty z%kjUW);J<{ZKgv0&Va0nQ$8%c`H+^6V%gaSBS|3SPS{x(SoyL&HO;K&fyeit; zRrDWMWlTRm`s?;CU?v>Oq6Tf^`KN4Vsk{!XR?v?2dEK&E3X4I#NHrE&+^6=Zh#r%M z6+hdsd`2T(34EkxYCZg50C-Pq;fLsT9-#0BHzBghU`$+}g7XbtS_L3KS^kOTf^a=j zUP`Gkbr#4T=jaJ$XDi%a1LKxRa|V)ilZQ6d-A )d zT=KoD$!`pbDx+}?6@!LvhdaRVGCWG7C|qa-%QPz)&uVqf^81of;{GDYVMI-i(Bpx( z2qPkpJyV_ok@p+L^#zI)hvYl=G*<}pecz*9?_SAz?Q81JMb1a#k&N#nN$T^Jo5{_6 zcHDfkUBYsGbYc=?hl)1;2Xt5_Sn;cS2;7brf>n`Wg_Gh^e42Svm~7F^Ak{&75ykh0 zDepgQ`;RXPJyh#G+Nl}eVEzwPZ^0F3v~*!MP2+CCY21PZcMI yF@Gy}eM( z dbm}hBGH9pQ*jz<5KEMulqDAYnSEv?@@mAaROII~=$h~LYSq3Y(= z+`l0Q9nzY1b6XvEc`3aFrzA_DV*(5sxVR|2xpkLC^{(r#ku0!5MU9cNH%x6bszE`E z9T^QY(67+7UxCX1%q;XY!n}uM_>{8h|4za3NR%38lrv%kq*l({3^6CBVD8w|YugH4 zG4)%Ql#Sr0N)zwO7_6pP9BnSq8qoIF{Tvp6qea>e&mLSlfrb%@Pd1mLH5hAO&qc9Z z;LQGtfqs5y5f}5DdPIRo$3k}tsj3R4xXJXT?ib;ekp~Ea9-JKnJCTKaAW>zOmDTWc z^SRlKC7SoaprFD3OeiSNS3mlqzyfX(4 wPj}A z4q%hlwW@$fxu7b4hX_gP 3XopsmE(B$HWE#R|Hwvx>S`n$@mb1q~SYc)x@ z&;N-lxW{^}RK6Zp3HBaJfs}V_RNd>wS2Oqg1iR&A?Wdatq*U^z9aJCMYD{H3bBOn3 zC0;;5r26b*Iv#DUEsn11dY$j#E`>Jh0Ud#Ngy$IU__>f>p6f?rbdX;u*(k+hTN)aY z=*B =;$hwR}AVGJYBJ%z$VYece#&*M_g}w8cHNx&6RmCtS-R9$dn(fur01-8t z>cQwMSN3t7nj4H&+V8y?QEUjwhpop{Z@D$cO8(Y+6h+Vcktir{)jf>J|HZLdFW$QP zvF)WlOfUxQvq^(`I2=!L^@jEm+;Mv9PaPcm6~}ccg $!V2S3eLFq;AG3GsjU zVq>CkzY{FOq?i~DPl#cc_Cn<$G`yRb;7h!JqR{i~I|Z(RLyQ<1I~A7e)oslN>7u@W z!^_HnAiTfY>BUzL)D4pN(5HSYPItUhCf`FCr@iFVBfjHUzZay(*qT>>urwEY)Th1c z3v<^!Yo-qw%1hATH(MS)7SR6O^L!{z`^KzoQ%r0js5^awD*awp2x>I8+44Yh(kHX0 z&j&{1hALY#2h``+SBV(m)6zm2Gqj8f!)`v;t2O@0P)J{o*VzEhpqES}RkS2m^bI{u zvbLn6DYNuAh1e$?`#Cl& Z?-cyPlA5ni;PD<*x##e_p4CmHN5?qO1tLbCGxiKn+s5C|JqFP z07xt-f;}cU5s)}p4V3!Xj*&i_qIN9@1 *13(Kw1->C#hupAtTf8Bu_5 z`;G@O23TOfd9NIEu>5H8g?Bl2x~MsjE<+Cp7$~)|l^&Vg;Szz5mASXQAI?eDr~P`E zR@v9Zu4AU48rE%`mX$EHtE9jcU0ojbbj6G>_nnIUl66WZBV)n>r0}%<>%4N0+V_+8 zU8W@j<4W*u#c-ihaVlAu`Ald9E1>K7oyk zE7XX9Kf$&h+XU}1s+HQozVpTQR;z=BpCb3+WUn)BzX6txt(&xrT@J<5u-^PYNGp4h zwheLW+msJ%BI-~#py%g)8>)SLtlU0UV}_&yP*9Q>#omNGo|WQk;X6u0_?dKG1xUD_ z3{!+ }Nh~e$a&jT3i8Rl(<0G_wnp##;iX9F^XG>4;DfL##(kk-FRQaKit3C=Mb zRv4NDcb*a-H hZ| zHklPpC30V_E7HKiO1wHfe?#xJH6Z`2;bQr=-uYbA(t>+#KwRXtA7U#V+!!NtFHZeT zCj@JjsmK! R{focj*8OC%R5 ziHos+C|qx_%x5vd-!nYl{z)!E4@-@d2tBq~3EoE rTRQ*8?`AsIwi@Y*$^bv;XZZP06*(8n~R{V+Qw#9gHecU+x)F z0f^`ggNdzl&Lp)~o^W_?Y}l8A hm|4YqiooQ)6_{U34t$-Ccfi4mi+8(+23%yWvn zN5L<<_l3BDly6VW8 NGTk;z)E8aM&DTmfIR>qz zgppli!AOhrsmakQ5lV$Lua;1B#`?6?O>IQ8%!Z2*af2zjhB~J5 1|0Uh~8S3r`y5ua@p*BZ*+!c8zh7%=2WxY zZhG14i#ip|F)ttfT`)PGh+TWu+{R5nml$AK2akO0jGG ~#YAoT;(G5k4B zK`UNM7aX1R2j=yH4uuVGQJ7=QxhjtZP?G<}oVHSx1q0-uyjBdD9jM*Si;!?D0R)`} zZU|;5&qk$tc3=_a6^%&c=qXOZz#R~o6IWeq6sg}T) B2k?0aCNhal z#E2*VYTinMU&y%YaHDyeJr0zv)lHn!e>0hMj&F4#Y7mVf>Q?x*xK78Gnp*@V->PBt z6mh8}n-Q;A)>{loSV(Sa?<3$1_`DA*oK4rFMWZ@PNVR&l!H#pDn7`CeRB}1^Q^xMJ zLA2xHgmgtOQs%S)e@SclES|7BQRw$g!p{zCf4|PRaOY)9njOiAuMQ%$n7MwB1za5( zele`NUicP1TP2Fj9w|fWgliA~UlxG7GiZOtYu4c_i0*&Iadd~gAn0i(F&-OhYbbQi zFkFj+A7w2yx@N`ZdtBXZnmNvAmRH&5uVNbH_Q=I I0{Y_&4y_{*7uwhdDM+)*asx5JBMOQn2ZrIK(4)N6>SBIXpQfqO)jYNIH zO QGd-_rp6cyF2CXmIy!!CTB4-;_t=}8 z;R*v+{0C^Zb_&%CUzmJ^KC&jt^qDEOzp$zkSh-Cwu2=Pdi(ml3b+g@Cq0z)QD~00> zp;5Feb*P{#s|>cQfP?+z#+^Dfv(I8Ak9~@!K#{2QvH-#8{htOqu|XIXUlWT|RMEd2 zU_X`Rn DFPIdhw!s1llnNNKzKd|J;lG7l{G3WJnE$Hw4QLhu#{e zr|AViT6yL@E+>O`NQkmh**_czm6q6n-W{;qn ocfxlzUD11CueMDk|b#mwX`tdU?GF=>E38@-jai;3X1@n zo`tmNjx9SgoS{c`)`NR){6e<3iCup{)TA8rc(}+G%-d5Bg;k647&WwToT$L!&*RHy zncIKXdF=?))v8va@&H@LtVvC)Zk|q_W94<+@x2T@XTGXE9rKv%&5$6BvoFEu=XEd_ zAxs71gQTw=5=@{%=qi#7=LRm{t^_8*hU-YclPGtJr}ZF5>S&o6&f}i^a;NGvvTCf4 zLP&lxk-tkW!^>m$*OsyewVl?V_ZD`xxpFr8Ro)%QOh1SKi0t#`6i1l{L@nQlyqQo@ z=o%QyxCX9$$jF@^CiB4~lnZIXpW3& 0-#3{p0E3WC$uC1NjwV?}+o zJK~5Pe1$3&D}OiWxozJIHOi;J@lDTui%c~yHlHuPhnhc`!bi&Zk62$x!cv0o->5;a zcx@+g5pSo9CQplKQoArKCa`(<0+6P@IcJ!4n3PO*t1rE5K>>68pM%V2v8=6t=AnL{ z%u1V+tg{k^)iO=^d>SDpjfng!?K>Jg_XYm? N$2mIl0g^yS6t_h zNQdX=iHGS{@>;VOtIm-4dxKYH=f_5(YY)Zm4sk5qi8(jke`i_e@)G~s{zSUj Y !f>J}qo`CxBuNl$H2()#zyWH1cVAt|ZR4+$}v* z>2eig^&%&BI82TV{{E~GSk4#h>LGs!hjlZrb=7!j;8ZF}0oMk@NN9-S%Z0>!ce7ea zH)90Cx~N$|Vgx3_TQGj8n8GgfxzD%0n1s10y{gSpUKT`?O+#N6w=FyavUe^(R~|V( zYC+V^oC8HA0&u;~2G^3C&*cp$qV?`6&PW!Sz<^-GMY0|TrqCg5qr*iyv LjkTd{c xzW&>JmH =|ox)+# zFRMw(j5ow@sGBj`5oQW6JD%TbyC;dABG$TJjevuz>{zE)!^H8;j*Yj$UMu^aY%%*D z?$D8>gSrPF#vc)oD8~c66H4LmgqqKb9Gz755>hCtwfKz?8)*(@-i4#$yR!w3ViC`3 znNTCU@T}6g ltY9GW|y76Y#pr#p-zF)j=aXc18P8 zgC==V8vvhWoYqqgRthk`nH_rN_|gOeh3G=S@h;Z?aOO}vW>%yYzU>Ki^vPXngb?V! znI<_x>FJt5ZFm!B#~89 cKB+_At5>SZdEcR}g4L)NW$RihCE_*aosgtIsd!w` z%``XXTR^=j(MC{~+sY&rgOyo-h(#{*ho+FEX25@rKVv;gKa*EC$c(k^V>iCa{!Cz{ z`$k4Az>B-j&hdr$R;WvVW`%QjRob!RPk)3H9{E0b57R>qnU+R)pIEJ{9HOf;CcZA& zRvWczr66=(8P29Ca)#~oU!k2@`f}WZi0g0NNK-lKInKfLF@WxX*9=nH2*Xu`?KXJ? zY0Aj9c(hTk$wH}E=lqwkSBcF&X+-sZWx&t01=Q$-JZf1^i1c&X;{^~Hn>$R!pEvL) zQ(%>d@*Hl>xygJtl*AD?8N~8<&K-2;Cl|y<1Kg _ka71z{`)k)y;pTzVQSB1~>)cC@j_xvTt7 zbN~J&QR-0qk&2;L_8zCK)<*lKFe7#fc*<rL;TW;s-RErJeGIpagK{Myo-YOQ+S_ z+Gr 8tl6q+*;@=41%Yxu^;(}nxvNBT z16+3RlI)1WUkl)z>29Ka4B| cA=TKWqCbpt0lH?!IOhkPAa}q>dn%=y*Fj8GC$=b|%QciFQD z=$X~TBxE3#*fsuxKvt^fgGwXyy2HaI)$?BwY2SB^k<}}7z)kpg)++-8xd&lj`h!@v zm|mS-rOVIsX{G6*U#0@rbAp+ncj*)N_@RLlvEed%2TJvI2peR0{+GrJfnc!U^I@!| zBG;M|VU8nw@tj5uuD?U$+E}58j-t8B1p{&((T23h|7cqO8Ieo(g&W(-r2U?I3Y-Ql zSBL_Ow9Ji6Yxt33*8J}p49CFl)1M28-vZ>e$K0G%3!-9q%(CWQ@CY*ll~CSQrg(Sw zXeR )&IhVh4wCwi3{4&tP82{54_$TzvR`JP2v!+K z4~&8 2Z0E4sIpNQ?y%nehk#`^{W8(el?HXgac6}o?qX0CBEH?>dXA1_{{#K?Ng7$O@Oxu z&-OjQyz* >O$B5YH^71!_Q2@wVO)G{>JOGT{R#DbJ=qS)<)6 z8$1Et>q$Ln=`&ifFk(Wt)K_6fxg2%lusQXtqvKt4Eqgh=84fWQ_ zoG9rKXKW`$>R*nQLmx1bAL_Bb0O$O6dU_(ZaCozX#E$EfeGrrn>|e}aII;d{CkH2q zr }j0wVN5)U4#!xLl>w6kP+yI`%U@ zS{lEL+`Sh6%OTcI DQ~ z_WdO2@-|&QhzgRjI~9Z{7bYwBI;zZ$Fi872asKzMOHt}B+eBBHcqn1N#sF9Bjt{G~ z^5#7OuUUv aPtlEkxsz=geOXr9P2?2v z2;D^`6FvXRGV;2FIwI&LoRG#}z;EW?`1O;50ToI_{i8iU7n-wbsx%d>VL<58wt%A4 z(F&LJ-4- EtDX?>>S*&S7= z$SChV5c++0IoE(fQ}2>>Lbt&z`J#Ugl{C8D+sL%rV38{EgKBvSVCUjGZhA(uj9ZvZ zZ >Ehblzr-y%`t|hP@a>k+;mGfo&1x-y!oUH> z;YGlcXo2v@P4|8qre3nSmxt>Ie6ch g4xACf=}xr{&O1TmTXL=c5+50|nnOPKYXip1PRWne%I8qjq9|EK{mRpv3h9 zTtpbVF!DlvTP~uH&Sqo5wPg@0*3_M&1-*y>Vh`OkB0PtZyLa&^0(-HPM zK^H2A4w3n_gJ5A5eVXlZ<;tKSZp9bfn~RN hw-FKF}0#KcCUIKOJ{!{)fAKfxjtj2`3<(xEO^VS&p^g5nl8bR1|S zXXcY7_@?by>5yw<#cx2cDHi!`TI<(+f_R=1dZ_Mn(&P0~jy92`WI&=AJGy(*VYQRx zu}a@$;R=b~oc*)Q|6)BcmVzQ+R*_uJ-H$vrxfWcm@oCg-izYJWHk;neZ#5FHK8Us0 z(Q)NS$B}7JL}0}N|II wbIEGiA1@GP<`z;!be0=x zX^+<|OJ`v&CE|eG_$-B$%FfS#Br95+Yv~U&VLR~228MSY6|5tZbWOiNCLfb{&5Wt4 zl%Vr9%0tp2iPV&zcpBat3p8T%yQ;%cC+V%&=yx_mkwV2pV7z9hd}7EVXD+n<(X~8m zgiB;8K3)6Jo{_a%tm-MGN1J!MCV9HJt4dVV-?(GrFv*ugj(Z2anwYVNRbJvW3P*mg z)!=i2_EHx;qx<_jc&tJ2%5%x@)|_&FiEL-3d6>4*(fqQYZ(Xe6B-qm0zgj!tV${__ zkPZdD)@b}e#)jGbx^S{Jw38SG@b$VJ$^-r$ERu|x*1?qQQ3ICWCaDjk1Z6t|PX9$^ zzZE{j-k&=qobh~j>&${3;H8?Hn2`?$j9_M%XSK8WFG{7G4+e-jPkMQ-OY&brSIF~0 z;&*PS514NEy{a7*r(3WOdVLjhEei*{Lm=kW!IvoiEZa_G*@QTi*lvH_<;j0u(e~!E zJSai;)}GM2N(2MV;3P)_mcEDGJ`ya|s}O8>#ZxNiP{DP%*ZlE+A;bq~#fNg3k|N~e z5D|C`@6wo2I$wWfeXq(aWML(X{|;NYWp6+>a*&&MFKNu&qgxH`!ZrDV5G|hejU+jU zd~s%?>FQ*3*?fKz-vBU* )%TgxJtYS+ zQ6jwa+3D)@hJpH>ni)FxXHbT@B2^^x|Bw|uY+2CL*OT7OFGry(yT1)r$?Zcz@nM>a zC5E`>VL>2|6 RD@fu*!T?g05L}o1q~w2{Rz~e^CXq%4k??H!$i%xj~eDC z|99!SfYFn+sDpF%pfKq_;O;E&siv%IfE`vo2LT}UM6Xu~L24%4t9jO`c!F?`FU3%| z8Mb)Z$(}^^MR4S^=)dK6)+3Ix#!%#|2p&!ehnR)4-xu(ZsYdWCcqjy>(%5aq9Pp(5 zp6dAFDo5e0z!K})CvHoYU_{Qc%e{$enIzX?m{`kcPVC1WHF4~1dN8Sf1vY$aA`;|} zGMpvE(7!d|IqzsFbnZ~l0SunCKKnfm+_nsJ0~Kxl)=Dt_zG!pmOA(xxc^Q1a|B6C> zS +^73Z})2DIlX5tBY0Wccn6LB1Dxjna+13D!AL1R!D$$0A3)9g zftpenD|tH{<28thxaR((6Ps$_^x^F%Ffs8EdwX;?T;!==EtEC50%~{rWy^j4hH=ts zm-aSoh<%?d&Avwoj(TU cSs2c{%N~pMv!4jP^J9LfR(M>K#~?0q*DJc zb*%GCTc};$NaJq&cU7{qD0eCY41Uu>Ug*lUpH#3pyQ)YDj2S+^$L6rvV*{WDyh}mM zM*ald2DdE!g$R^^Gm|O2_~}{6#y;g7Yo&jJhuc_YC!vI`D`gP_!9l{lECNw|fo)t= zn2rz7R?xWzMpe31^JYiPFj?tdgOn~p>{F$et >nd%k2 zG|@(}{O{o~yR9{r&;8|ijn>!0%uPr(C&n|9S%bi^32Q6`dQb;%NMvp1rP5yLcE$i5 z%QbkxDZH>9? ^I3BH z2pv^xL-@Z@5M&`_LDv37n>9%YS@Mvj!hrmAM2PITKQpCtkIwCKoRcK4UDhfGB_>70 zj~V6O_w)u?ULC-XQmS=fk>k0dgAeMu M~+{o+2RbVkWaD&>@fS|@(TTqBRLqp v*i%P9WZP{%HOnsb%_O}Od2jvC4ZGDRxXwK<@+!~lQ{6jW zQJfy8j9o)kVoNjQJyb|MeWaFkj`mLNI}weB@!0)~0jQLPHQjJ|x)KxE8!t39gR-WW zeg?&+Tn6=;cg ZjR%;#| zF$LeQEKGh@Y3FS6`5ToD{wMO&IhONwY(2{$vqsM(rsJ&;f^R3uZ&_JB=6`*(Cw~c9 z #HY~K2HsX@r;>VrGwkOUxS^7vhT;}Xar<=S2Fk3KX`h`+t}jnjjCc?Vl$Yg zMR+VuSwrY9zB}QG_aQ?1Yw*W6!s9RN1`DsJ2OU%N4cBbRWmASO4F8<3*u5j>OR~cy zqVGPO(9L7SQGIhdJnuXw^Bfp^2izRFD84<=EK>YD>FC%h7g8fj)JXt^uXzXbFnWq@ zVRAar_o$?~au>kC#I{l+SlAvS61?SUHSs#wgxFK}Tk9S1q=1Dr43=ACMwLEsC$W`6 ze7}mslZG|0WjVdf3u-p@gO=x0InBrj$`wB&!Mkehgi%`s#j5?*K@)r}V5qcsue~ z4swv!4bX *Eg=Ev#A3)|Fdm?qy#OAa#NRC7Nx+_NivMD3l+jvJbAaHXt0O zT>C4)Hm_aeUZ?EaWr+6%_iYQ5#Td*avcA>k7nQv(vImrYYGQ))z<_0VMk$Nmfi)-* zR_L*|Tw<~DC{9uQb=%53PFs0IUXx2#7I*41tw=FPU@tjdcYa#y?rYTu2t>B4P2?zc zjW)gk5?A(S$5a0ctJu_7dK_oBGBC-7#%Z$C1ooCP21JM-m Z`U{ z`*8#y_=YwwL;Yl0#d}r{4d_b$WIQ8>B3EJ`fX@p{LQMJ-KU91_Do`L4y)ekx)G7{& zxV5Y#y|930GWUkON5JpP))4aDz+(bL0PyJf1(fUh9WW)88OSMj0k^Ot&^MGQ*s>Ip zF2{W}7qCw@WsY!sjn4rG!2Z{iTxN5y@5+rxiUuwo4%&&7XTFd;*vdd&!SJAng|Gjt zb$`DRw`z+f3m@PCQdT}*f5em)^hP2#OlcZL?j! Q;xLYLU3{AE5*jY!R SZ`D9L)q*VFOgc4os5(653?+nypykTgn8v*@_S@kre-JcUa^ZSyZOSJ zd)nLj*lD<{4g=%k&Uh#L-6nTVJWM(G^O#q)^mcj5oi-jp!z1TGIzgXz-@y4xz{^c; zbqW%*Us=b?RqALYQ-_k5cYBj2&~pDdOvvmqJH*oA0v^b&PqFcKc3)(z8rHGP2=4n- zCzRXRt9lW(5$Ndy4vkfTzNW*I5oZ10E#iex0`#;u$!bl^!ecczdo$tmd={;fB=z0r z@czZ&UW!CkPK LOJEAD?@Q+6usfB@JJaFQTqYGV3StK#UtbU+9O@t8 zz<~3X4 %fhh}D8&1%r1hzFp7e+X5pqP=gyW@?N& zqv7IGy@xG#@k; O+CWRTlbM4?5E88lT7EE zjc@E9O$|iSLPe;tiqk(nS84CuH!~O7n=&q5FT)hxb2oP!HJ)WIu8rjZaX``(qeA|v z)}6`c!p 1CH2)!uc&_Jm*ng43B(C^7*SzE|8Y=&4ay^FS zu{$1|;b?)C4-I6I!s|nZitqx4S7Rga39ebtAIitqexK1=C)^{zrY_?Vo0`b%15r+S z;#r$Jmn!6x#f{6P?6!RBU|tQXZMTGXzOh np51H>6M+`& z6oNrtRC> RTSy`_b0`lVyV%0}zQRX88>D`)<9&;P zn=korWBipw2bemI!M1%_W?pIkR!_2Qp*OZyh)y0pcul7*yesQYUW1T#%EKRRZmNMw zl&)@6TiB#kDOa0=A&2mr Y!sT8Q`fpl_J&685@hoDHf4kE%b?D)3}!3)&l{ zoSoIk1uZ+@VP5rCf&=Me!ZM2a%@Z+e;YVM{$WimS<`A8qo6Rg=XZWb}K*^)N$q+m| zQXu0jZ<@joGmm^ LreKitg6FODci+FH`>D)$3@yQ|wd=jju<- z#@t|tB$o|=+^6Eq8}Cn%3bN*}*-rx;{O>l>dqjW={-CR+c+UX0+ZLcOVega1213jo zet^SEoND;>b8*&kJ2+)pZs}Yb=x506doF2m@9RDs>-PlxIDTMAm+ooxb$_oAD>ikE z*}IJMZSvlq_I~vhz?n(PEv(m^^IOE=>FnBcY=p4q;MtVrR&TDNGj+7!VGRPzHSgv_ zgGT&s2EOOr4pnT?Wpj^Bg(k7A)TNogkk?cs;M|U#!uW;@r|06==ps*799vx_471 Ng;XDgY)q(zYodk~`(OLK*x|ml!T4+=e-rNN}DkF4aGKPb-aE0de97 zewu}7<}g&66K3!xk**kV#{-|I#}f5J$T6)j&0n2E5WLEl8sRNiOi>F00%rgamkh5| zc<649poh7!O*<`Yn@TWR@FSuB9tmBgbRemy?eqBVJ}IpwNk|N^iF%4N>pKlOf(>J+m7l{c&SMQ^-Omg5$GOr3lp!V64}3asiSUa* znSSa|J-?L1^QSQ!wt4-f$%=M56T=iSKUV;YY@gWPvb8_s3c6`iLxa3md;SmTUS8zW zAPPx|%j0K6cy@;y)Xn^g3Vo>N_;|;XSn@UgaUb)X1{5W29_8zA6QdeS-S2THYu-}T zVp9=@J%8>=#DWDLcd_>B1TO4V<+LyST)v@h?gpJKIV=6nN7#ie`P92OM6yxQgn(xU z`xmwoAusH&q#k$-+ZCVTQ3muwgADw`gixqitO^M0Piw^dH^I2ANr2UMhux)Iy!#sh z$Ra~ *V#ixB-r=juo*SORbosjknQ2Y z8ZfL_#YcU|6=klAD~zwIh{W&TI%F#=$2iWPvk^~j)Mxero2HW%+>9zr!M`yy%l6bi z^#1)^pog+;)OoAs+U0(?vB8tmqUk5RsilbM2bBY4FbNvj5*%Dy47hZ?yFItQ)_b#l z<~6c;{~I75Lyd&4ji7`|E1T(VZtm{%?{M|C``rD=MN?Drc3ehuu*=oWyZmVPI$N~_ za({=*uTBpTS8A(Sc?=XD<87NV2>ul9Ep_}&f1Ckt{#&;uljy}b)MCeJTkdBEZdK~x zeN6<`-$Ockn;4kkyY5RPAn1%O$zM&s3QDs`Im35OxK50MF%kQ!`t>e-3(Kz=CeTR7 z7V7K_Ehjkcahz#m^cC#!n@JkO9DQC$4*02|Vh&@W;@)=L8SWLk9dVi08OOL*1D(a6 zV_}<5wbnf5cG*URJU*=5m4tEFb6nO3wyC{Bustq&1Dx#!(r_}>DmYz$`D {}o;RvNm;E z4b~1RN5^Ls(iJxuez0!HbwLq{ |Gsy~3ku?gI2sB4P zX28C40Uk2h3qnL1NRpO`JSNnKLWE0R`r35Elc&0S>Wl9|K3JPexZN%Ve}rR^ApSAS z $ZBO(iBM((IXz$IwruB#X >mi`kSFsiP3 z5@@BPDsup>gi<7 > zez#frUn>I5B6;DAjRyjlHUm8PVpx#vY?#D22`J9;F7M5O7^ZaB;VlBfN?ETvj`Fs! zMOz>?Qm3(A9Y1;Z&_(qnXLe9BFK3AgjhGwt>+7ji)(rz6nq@C5m64JK^PqxK9$10W z<(0#VgX@# hvM?T0o%a|#d;Pho*KeDUy~~zvi7v dgIX{Lp%UjuIN7hT3$$=rCUn%l&{qi^@| zSESY=T|}G8UoL)Y?M>~kQ7$0^DmE&Y?f`9D74T2EZIunIR}a!D09p${Q2veU3e4q- zJj?GY9G8IFoE@6lu`Xhs_~0r&poJ^`5Wi~En+f!DX?Y9ODIE&%4!L-`%Q)_5t)bz! zi+~Yu TVGe!Z%H`2O&3sE%(na@SLwtxKgjo-L#LIC-Eq$r+@6_23M%>sd)X# zEF> jzY8TjZXZejQ6`zAyv!O1T`PkJ zX58= =g%hdFd*#Qov*%~*^BH-Q_|7#%e2kfk5sph-Kk zo_nLJarX}2U}BQrl2^0GMWN>qa|#D}l_v&*WqxnYVd7?tkMk`o6&MHn&w+n|D-`~0 zzF-W1GPiz(>Qp6Q$xB4UA!5a1?h=;CeGC-aD#FOR%@|whcL_f1Gv)@GbscL~e+(NW z^eMhZpl^r_fe27o1$hW~@Axmj*A@2@X7oUu7s^UVi{hnP)On++MIe|_`m{ZO2)l&B zEe23yT{zRs#7Ckh&l@^={9}1*GdJ{>^!6LowIWJ!`Q=nm29z^0dXP=7&;0SQ2rr6S z{uvfHM4zq1pYb$^gr0a2(~?Arue(ge2!S7JHc9e^PS&!T$VRvG#Z uLp(lS|yn}Xv;j*OuQ=&D+ z&stHv0to0ChtAJiK#y>Rg8zXn8DNftDsq4_FnnWA@Pm;_N=l&ip1X&L8`ZK(K_p<$ z2a22O =3#J?PyKPTP|7V|HtFDsG4b`s zt39Qc7l`yXe^E=9+TEqK85cix#E-h)>Bm$mlY@-p3-ImcWWVdX`CiOA4Q{+e-gMjq ztop3UnjlYN-9_QJY&0JCBV{eQwF8PBUkm`Y0213aNg^Jo5y}&0B2D@TUo1^tnG0AT z7*u&U;YfVX4aVuoD=HP{>Scp5=x9Jl0gnrb@bNBRz{Ws;cI%CK=6C%w17Dp~L!Jrf z_XLY`xS;9D8AG9j9p$S(Y1A4tO$WGtZ@M~FJJb{PKiNbhv4Ob9{X>1SwIw5g4d6t} za}g>hhI2T&|EfOpNg5h>0QF2b#@WRtfI}CDKP9QSF! kv5i_~L~L*CmQ zG)*f&(C Rmpx6Ir9~X3p9`*9x;I; z%V=H5ZTlu>qb$KHG(FU|x>T>V)| ;z-w%JJ#%;H<3D2wUZt1)U4t#SJZf z3hMuL+W+??zBQ-_EB?B%Xw!k`)gv67>23ti9_BW1a9+Kz6}?@ahp*n{4Kp{F+coan z_|^}N4Qhksz>qBc#oi}=U| q1BKjm$AcKiJz+-#lYyI~XYJ8HT z;FgKmEtg-i`?z^xKYw!B;U)5&`vHzJ*{((u{ne>yN|KBVbf_xMLPZ`uxl^?QUh8_Z zk4=l?Qh)rQIy{8(08X86g@IEkB&p{q4!G<)q*wHVsycF4{lFcqAFp(@U0yO?%^0=< z=?l3=kZP8ppEcw!5(3r$HdhXnrc(|um?~ 4p8VzX-^xl zU|LFhH(&1rP$5*i)f1AUW0^8djw@}7HLd~>h?tfOI-zl+5{A3{5&=XjAeX8TVZYq5 zw#U};OIny)IoC^a(tNHLsv}2x-y$@*ylxrgCPKaus@Eh5z281}M;TeN{407=4)7=_ zH^YLzX+DR`bBsZ#L>Hz2NGVl |12bj|+Ak)P9>_(pMY{o0p5WLu-4h8@fqu z8#q&ub;8!pp7RA*r3lViTZst0j(TKRcv7P92*PgEgR=jU3Vgo`i$N7JG%cw{UAmFP zRL?K|`TlW@ENZSfSD62&v&}oihyHSxh>DS>lE;P--w%+Xvup*+N7tN(vK#V+@7m3- zQBXk@=2~8lyVr<@=8@5Q>{olB+)o>nX7| @j}55wo}mIPYAY|=s=Sp#|9`6r!G4I9ff5K@G>U{D#aFaM4xM()X3}rcq8`R+ zDqcAn#Bdcie5XDs?f`Lq?fF+t6}Mzmt0Ic{$wQdB|6k+c5Z=2o9`)ct8A|J0?TGNc zWiq=ahjo{FGI;+kYD`}QodTqYA{Mo(t$+U}m* `hqbS{{s-TQ75a+X5{>vaepIPAc*ZxGIH@ zqUtGR95N$xKp! bQj^{(FlMAY^@V=f`d!ax97bo&W}KA zklWlp;)IX1EKE5w@O4TLTc}#eF8=x7P`-S|F|g<_n=E8YfQ$ zJ(kXZYHT@}g+}nhTEfTynd1?4*=oxo&45rjUcVPMcW;|d3$~zlqL^K)tc2e&L8-H7 z{R(teT?NSYFgi(P0~GYQt}?^7jUJ+6UI&xr4-bI+jSQrWy28C&+tMK)u K%)Dc6d&|81E6%adGgcS?q-*{_?w2b1-fRokHP7_+4vtF-|CT@2umn&=s z5`FWlW@H9j>>yR8pysx}`AsonYw&paq`{Y!tZ@it&LY8Lub$j29$WK}L^XOU_nwOV z{C+IJz~FAn`m0;h4~ggRjjDIL=a0-E{+xAcH2#ayEF`5W&`6{`aMf!ivnG}CLghiy z|Kj+=@3&5VzwsV!Bk|bMahW``w(@!Gf cAp~Z)W7kR@Bsr3m`ER*9XIAx}Eag21WqBPl35Kirf#T^?rrwm6>`3H+P+Oer= zt0hSr{G1Rd_6^zE4Z)f;mgffc&J}-C2d9UM3MvvX(;R)<4-GEN=1*U9n@kgX^0-D9 z9#i|2cb4|!cR{yU80%Ub_i9&}W?)G~8IHPtAqc<7OQk~U_OG4x2pjh7eK4ZM`V@}* z*j^{hlD|j`|3mjW F>glLpDbl-bq+PDJdA%@LZasxuu^wt2aQ4!q@kGB6iQo#`YfS&kBc50Gl~ce zcQ_-0&jWnPRyqZ0I})m|@1%;@DyDVfr7uAH(iuFydtOZZ;{r}eb^hUDWf|;C9jdo~ z$s9)lGt-OY9i&6b3d!BsT`hZ(RxrV&7X~nC$-xAIi 95T^EDe*|~niaSh0Q>@~~ZOpWvZhpe~YiUZo(G>f9p z;O_43?iMV#ySqzpC?vSMQ@8}T1cwmZ-7OH@-81y+zBAw4{tIWVv-Uafe)h9V721+d z;Z(Rlaz|YIDYpJg-j+tp5evWhWDZgK{SV8J@ AUi` 5-%rk4 q{@wNCuoLvXx zIpjq>tv~KrB2me9(YY|nRs>qi9!TSRTB59~j+AazJeSDj@JX~6)AftbBY67YVZK4S ztMY09EngP@@*=@JE$ea}WK6on)blQGWu$%IAwHAVzOY3rL9DF$C9lL#f5!Pqx!k(I zHCpI_ze88*s8W$?UTT!DTASRn+0j4c^;pn|6`f569WT$AX~FXPvD0BofZ^X8?^fAa z-5%KhD0Hx?37h|bzg)cWOi`9FGyiSp;w`(?kO4= IHM9wQi|p4N13SS2ZzTj z=~HEUWcPW6T2@rrR^gy>dS0X49PzpTiS1-8EtDbT6q=a!5rzt;hS4wqs;Q8t>h;*1 zXe&bLhIF1R8kX7<7@XEkmji@k0d(roCdBQrCgJ?kow`Bh+lflwwKy|7d{%&K76E`w zhc_cZYa%7uSuf2U*9ADSvHrjvpwMEx#5DsHI0{22HNM#N9!B==G*knXdYYr&^$>Y8 zK&%Uu67xX2)Ex<>)cq^~?nmh?M?3Y0Y+{3VY&Ij1Znq$q;GkG#_ce}pq&((i?;A8H zM|v1Dmvix?JJN9;2xcQ#3FgmLtV6h?)cK71C67OmT?HtfC;nG_4m6}~>@r_1*dtX8 zfeXmdoKc3M0`PoPGLtHUXTcVM_MpD}#f}5D%B98R#AiL;1l*1a#sOqbUa6 z~ zRSDRUuO7F4a{L&n8{if}i7Nd<`rIxcoMlaML+3m2j1EQUuddQmN1c7Yfp>;7rt-Jg zf>NBl+iKsum%5gIc5HBl#To;Z`}W6pSA?xzR!Tw^{_bygVjF>XwDH0(Z7ipxu}v3k zHEX}K@>iOL0PXml|JbLU;7_Ke;xp)H-hVjLLs_FIE=q}JY!6$*AGZhEFBm5K99*8e z2i?p@J!S8DW^g>5a>@lYlFOH~65kW_JktfFSJ%lNXS+)|bt-6eyY{4RwZdIk%W26Y zbp8M^u!93- gHdUTAG5`j!k7^{IcYUbcig$+E&hj|PrX-YRi#e4gfAmminNzg zn~*1O$-_;47Dl#JT5myd!$;}ZXsr)E?|V87xxLCvd_RpP-v5`0{+}zlN >17FF?pjm1Nu$x1gWh@iQtYYE3@7_;oa5#?kY!L zzB|Y}ofuwf -bhWJSmc(f c`0ebYcj6RG&BdTO!p9duEWy+Z$GD*_On zu5PxKvnaxM@soE}#1C%&cauntl%KSr$!L*IP!u0BcuplqFhpiyQn$)g06ZR!EUlYy zG$$O+cxeF*)og$T`_RBaPc37ccI1OM;q@W=8+wb0^~O3mKodhqJI>Nk8v^R$B_H5D z8Xbxp>{;`}hB(C@tkyT*j16^;r^I@U3?zQ#f6s2(>)sHw;GO52dMW-#sVsJVO_*U! zH+5o^sIFGuWy7b3Gp7>zupv O-=1c_+XU_){^VWLZThGz;!harUD+Q47 z(Q3TphVO>8m1YA?K$A9p@qM*ktMJvpSBr0;$+AL dDxnH=<5}I@;PALzQ?W9qhBP4y*@$l&>cj^6a dynccjeo zQWdzfCZKwWLfilH3sS#t`28IoV^#6I@piy}@pq1?YN!bga0pyV{z)@m4A_0KD(vQ` zT6njGnQ_SOvf{*4X;}{&vTEC9^s`{{`(!4|JSdp=b)!|TfM3_9*n!DC1r@wlEt>B1 z4~1o-pVHG3|NbF2+W&B#I6&h1jvH+4f50d9f^i}kiTD)zPxZ9U^%WjFBBj8)7Gk1{ zw6&FGPFv#l&y@bxjuPm?DKDbv|1OAJbRYNaDR+shm;^#7t>^6BjVO?KbBGOMYFYgA zG35Emul5g!(%>ab(`n4T+?4OGq~R22Kov~W-^Puanm;;hvdq~?J3>@&CO%Kg&NgyC zqz^kqoGd`YaQLg+Owp;VyEF {^aWQakDC$^OWW4r5m>%V4jH1OnU%WpaWE5z26G$wMO&F|r<)>{*(s5jO& z@Ni$0ZE-B|UTH9og6-EahHRG;WU#t5#6eyZcutld#41tQeP3n2(NB-J_I{6){o3ht z349KbKp5hdFF*<&8|24+x-^kL9cIvLLjf?euKo%1X~j>D0=45xiN6_>N@Q;HM9@r@ z+uD?oZ jVI zse(|saE==6Ool?3{z*NmCS1Lg=0LN&(TWh2P`OJafax3+Dt1`h?x^>7kwZ90&zYvw zM4GbaB-}6jJjf>F%L&OJd9SU;7&)-0bgVsbwP4y*?Qqw{8}rIj($v^_&}-N&*tY9$ zO%IcDYUB0n=5AbzZ7}DeW(cB9Bdi>*w(O$V=VkWY`&MzyWeOL>#0>mZSIP2L6C^o# z{%24Xf!enea?}y_s;2gjnJ!}> g%}-aV0hq?D|F{6~>dgYZK5{j%h46;P zh&?iBv%WFx>+*W=2~Tuj5@dmKD(Uu7y=h=XfS=YLVO`xGAfc?K7VVjH(bLjAJ6^00 zOU!c_pl42+Q+fmzpkCvN1lsVA<3n-DD||K2Z+7ys@=NgA`k(_N_tTuk%3H>~vSz=n zYI-bxUAf=*eZy?dc7%P-t#jg^k(pqhq&-=;(cxX^N+(H{h8 lVA^^D6Qy|44O2OY^H^cN!4XHZMtYTA=xC9Z6)%dR9 _@-7fcw^)EusHk}x6-iYiR3?3wD3l7=G4w8DmSO+S?s z+?-VB5YnX^{xLwJTZ}_3%&?QYvBCLAL-+Fk`jv-?s0P|Z!^!_=67#>hguN=gV{K%u zZ}s!4+20} IE-H1B&*O^V@AVy|7Br?Y zqfFw>yRdHSPX-UEzlVdxi%JlL=XCGra|S{jKxj1atYTf&ED2xIEiuI+`a}RU29!vt zDt&zPc~T1^nB(#kyRu{vRkm7m!|`B6@;P@lgNX*)&XnQVDkB&K^!xs5^4}C);IC>n z9l-2KAb`vA3k=g|ve5BT?YnqO1dsY|gUusBffFuUF(x6KAcHF+Wh8ejX}=WCCz-%O zPPFQxK1YtxO)+{=f_)mgU1S4i4as5 &&)d5IO)TbDE50PM zfx9p_ 7(k zFHHDZb`fNa_%W $YDfI(El}k4Em!klQ0}@+>eGkJXXI?_L(HiDB_v5X8c^EMBmsh;E+a zD9JjatlpLr4k5h}AmW(S-y(ny4I9{1RLsaXM+hDeS2Zat4j|~`48(or9v(r3CnDVn zs4D09ImQ`x0f;D8i_GNlOMofgqO}|+@9}dqvXW&>X_cFvOx+O~68 _LL|H~Z^k5Seakwh-x3p8Gi zt5}02*cvckf;t^y=GobS4K`cwkdJQ0ZTBqR`y5e%WX(eT3f4HjNcp28dS3)pA$}uV zH?m(BWc)SoHRk$KaEpoGdxXdRFNvWy>Hlm8eq^jYDM03JT|q|k$Y0Pb2?>FHL`-jL zcn?^3pR_fxT}q?uS<` AYuE{sYNE9yxW&g zmQhw5^ivBEt;(G2Cg(|jW|rrz)!|@q?n*ke6Eryq7wD#)U+}anxBB)=n7XXp^>V7~ z6@yde)|@$*K> %5V+s-(88S%E76%f_ z6u%*7rEY7VlS|8Py34+ cd=OQPogpNUQ%t`#BZ` K{oaw0h+JoTdU3&xn)x-ncNA*$NJ2!8E#_nvxwW}D0?t~_yBK*n1h-tN9H7kZ z@!U70U;0kghm3hav88?QSJU?vU)P4ju}FV3D!f##qF^u n~=P|NFzMXQ=Q*TrF2j1}i>w$M-LZf6ni1PJRI*pzjVND$TmijE;9v zyY;Ld^*XBAho5AYspfuO0z#iE09iyc^2PpgLKR0NsJ9YogFmZv52QxZ?Crw0cNemF zr%UQrW(xP!DW|WECC_r_VBxHXnV0QH9-3&>&@a>@hu&4RbyrTyk*i3y{if&!Z2AkZ zAkGp0kg0qz_3u_mAt5?dFtMODB_gVhQXe&N0}#`lNtquqL#<%cQ{o1_Mrv$5_((G1 zc#0895Q2Ss6U8WgMVS*IpOixlLal~aH&C6D78=QiC+hEDpQ%_%m3|`ID8dMgEr$v; zxWo662UKAIw&nxT7lw7>14^QC)_w 8mo)m#}`Q9KJRqA?hFP^Amz?li` zL1wbHM(OpZRI=hYo;nad_0%YyJJu{M$P-J*T{F=jO58iN_17wOcr_L}HFsxlYuC@o z8Y&ru_Fe7<>dCupJ-b?+^;VXKbgnOd^e#a%E6dcKK_w|HLA0bVUZanZx5Uqtdw^Wq z<(Dw5e}ASdZ?@}CJNE}LIt~>NDSq`y{oo|6H^t4$&v{t=xQvNEL)3Lj=!l9L(BC zU&Ur|jp$nP%4JbUWuAHa$+UmOR&$OUgW`cyKbRIGND`0H@eq5iWW3jMcpQuKPpPdH z+?MzSaCZUZD8v!ST%8dbf2qhuJa_VG&$0c>(AHO}r-*=j^Zc}G>H6yUD=*>N!|t08 z2^?-OZ*G5*KP-5N0dC?rYMJ@lv;pa0EKB^V9G-gP;>!{_0{zeMa5QAWuz;ErSKrAb z-g=e*>m(UL3tB>zb>8KGMb?>CZD(2V^WS44>l5eL3fDO!C35?7-DP$D1g-XFVQbDZ zamM+zqVrR|17tUf1jDye*avI*eDrEYK=lF7aA%x|;1j-eQ1i?~#8ow^wx+w3p~hIL zdsryuSYj+UhD|Eh>4e(G&lTght4Pbcu_^2+{eAZXPwJ-l6yvoDupj1Xm89pTMQ@Wl z7s6-6aGC&INea&j?PK0`>ahdoU+)|17u9=}XAHLG OI~8&%d}Y#Tmv$1{U(nS(uly9-CUm$q|ApDerQ)~gj- z )C>Cuwo(dUvz1|LpE8r_vTkxP;48I0m#T&3 `Oh{h%0W}-Cb<#-ffr!Oem439vG5`uv$Zi=qPw!!fC zZ<&<+`D`IQ*!oAG0z;-kY+bB~CcJ@f<{?PqGc((MZE&-SpiN?HAr`>`pY2j5;tQYV zc#yWIZaW0!hrOZ1tUGpAW<)c#n6mt5OTaeuutD-Afj9E`_Y~VNJ_MRPpRzoq!-->? z9cR+2dn1hbC;FY9u-!0n%w3iuXZXG*=$TJoF6o-^m(<80a4gq=^Gq>x{ctcm2!)bu zV-vheOYi>$2LGrr{i+vT@LV!nu2;NtEyecb(Ff7ep7bR|YSRm9zXT-L5=IAx#a8k? z5JDo0Q$q3hf_^5}>*l_XaNl;xBAPZ`P&?K(gWdMh*<^8ko7ec(WSnwzGnv?x$imO6 zaFO$+w|DU(O{A%+>LUS}EEkXvyXsHjmu18;r5uxmJo#Afy*}6Q4xWgJdk~9VjDVWF z8p7{;bwr6iy9?aHAZ{AD#Ib|8D+4EVcYgkCohZjnG=mLM25o%@Tp)Bak{wfopDg;E zP5UiIv_IwjN*r5zBb8G$En=K!1UOavi6~0_`Q4PXZ2m~z31v(077 AU8Tx#drOom0b>_kyW!ORvjZyMmgb@WeiE6!v;3)go&$wIrilNh;5_`d(3Our z_a6|HHJuAsja5t Bb@Uy5tsY~i`-XdBOVbR@~oi;$+t$j0mm+mx7In!rzdkY z{19kZN5WaBxkN1GcLy-1V5d9{b3)IV<_ERqFV!0OwAOf`$@)#t`f_C~{Zrk4-`jDl z$SGX->BJd2c_gItw8R~8L)3+z^dYuYVg$0N7m#o{PW&npieU{NJZGttN(&Ri)Ow$G z@?dC>qp|||+rCf?ey?(8&sE;?(A41-0Hh37Ut#QUjIJcH2v8Kin-55^6j;X|NM{SY z{Q;*Yv6%?RHyFy8h2;zZ_0A$Xw1^2z62jB{7Dp0QcCZ*8E*YrAz{Xp)vlqz1sM1oQ zo}FG#*?eABa|hY^=@n1$WhMn2V*%#`n~!P}{+GVx2r4b?Q|Z%XECmCAS8mhw7Czi%|<3Lt^Gl&6JwHtCfuy)g@qjzx8=GsfGD zAs}lL3Pg}bW%JGVsX_XHWn$dIWz^ER#gi> S%k3odHNZaBVLN@0{XW3p5-xWPWAu^0jz-& zIm;OB9ZaY68OFQ>R|2TyT8?DTd!n;bKIm&D%#&E=zxC{&OR+4}neIOA_f?{eAj$Ug zY)i*?ny%vj^Z@BKW$tNRK;LF)e0ziH4%hwjqmiDih@y!fCZ4jpRK5k( mDx#~vIR+KZ&EyaBE(veQap>e zV3 sxq zS_1xd+Psi-x(VRQ3=|IBMqj|7Z`h~xl#0qPeI1cw^tKgWQ)#$SN_jMX 7$Qne)xG&_kny{0+gFQ6VcnIG5VZk2}8VK;P|h^_t7ED)7 L#8cpuaUX8I !55KN+-JCp4D`dcZ~tH(MV0nWvBGR zwoH|+ROLhEWQdXM2I6oa>-Sv;nnQ(8k0{b4^1uw1qJrr)X?1I0rXf@egwJNvEOEnu z%i`+hBbl5bPUaf`dJ3D4=oaMOFE18^s6X9~KCCC(KdMtVO{6riCnH!=OD>}pk5`lu z8L;PoOAMz>3-shLG$`<93fgBxKcoauvvJsXa<-aRvPWk7onM(U08KjYqr8sTqPW_% z_&=(VG%bDrQ@7uFf9PloVey~Z7DEqqd?(gNS4-B|GGta+O{E$BP%c)sl>6y+x0~nW z{yZeY|M$arWbcM0(T4QiaFq+%B>mcZ<+e3NtX8qrxyV2{RhA=PY9|k!A-B2G z`XDl(!Q3_D@A~&IY*e$YI|#BK*&LBxun^oAIBi c#%x}2C;T;+XZh!%eXss_K#VB3*(y*^S@+ZxG>yV{ zGyYVYuz-z5HL7s;EH=U^n3Ye0ruAuES;%K2;gvkh{CfeF_n^SzgdAE8C?{y;%8755 zPd%A;gO#)A10!@eW%q0BU|;8L?}^^iEygPW*uE$(@R`EJ&02HICdSd6r~9@urTN0< z`+98;u}-Ue^0A8kv>a8nJA@ZVAq_5Y1%G>tj{}l@3zm~p#I_jgUZc9{f;sYgbd^(9 zl=H{mCKE6S5qQ3KDInqx_}GlyXY;RB^=KtOP2NuTd1<$+l9{{x#7Q_M3oA=fafo!2 zK)PV@12g+_{hQDj0ee!pg1Dvf)6@* CXQK#s32;^aiOQa-kvQ!7 ?GF#PxG0)%ma)V>+6VzF4VPaI^m&TZfr;c;=O}}otPnS8h?Hao?u2D$jx=v zH{oH9`9cpJV%Ds1P1Gf-kJu@ysi@xDGFJ)1`rjZ8bA#bau~jnSlgJ1%754ArBgj}v zCl9%k!K~B>{5;NNXhN_Hq(B=>*|b|ho~3Js;8u`H5kn|G+nCC(5JXMaGb=RWSO2A( z> g8K2MF)za}9H_KY^M|n6@*KiXs-w}b-sVhaPbYShY z>zn42IX`U_XrY&xtgP2T6U|ECOQ_q@+wog1kDha7_?V^G2uVkGWCSK2dm!DazGDgH zNR9kRV3SC?%g~Qjy6c*RypuRJHp>&8gb? YkKTN}%ZQ9zBsYyQLNa*fx>9xLl`)`DuzYjbUt0Lp5mBU8ow8C-p%r{NqA zjyOvl;!nrK7dpQz5M4cj U&=`?G{&>p2VnneS_5rrEVw{n#z|6*t+9`La^EXj2!9~rwk`>Yr=zSXW_*9J;wjw2 z$n_7>#8pC;UonbBE%)Q++{cbh$YQ&>%LEfGssbq7lYxL=nzG^89aN1VeX|d$De{+~ z^R4)tQdCZ&dcNmU?rb&Yl&Wln^r*C)Fp4$Yr XrB@=l>ugMaJ@K %P3j$z|qs+ZI!d#^{2i7L* zi}ZlHF0Iy}eOT{<)3hgbFYqfe;=2POs{Mag1|n4mR6afp 8cv>`B#$ydH^Y(ARTDEh-7R^3R8FTrX1PZ*xl>YQFcKmK_CQ{0 zx6D}`En*cvN!mava+mZ}5RcNrW*1%cS+flChmt_qvYuEGKq%6IKH#Bj(uT4btcUIs z@z#g5Z#-E)j0~Gd