summaryrefslogtreecommitdiff
path: root/docs-xml/manpages/idmap_ad.8.xml
blob: dc64c546c61ce43e572f04f400a4ad3c8fea92a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
<refentry id="idmap_ad.8">

<refmeta>
	<refentrytitle>idmap_ad</refentrytitle>
	<manvolnum>8</manvolnum>
	<refmiscinfo class="source">Samba</refmiscinfo>
	<refmiscinfo class="manual">System Administration tools</refmiscinfo>
	<refmiscinfo class="version">&doc.version;</refmiscinfo>
</refmeta>


<refnamediv>
	<refname>idmap_ad</refname>
	<refpurpose>Samba's idmap_ad Backend for Winbind</refpurpose>
</refnamediv>

<refsynopsisdiv>
	<title>DESCRIPTION</title>
	<para>The idmap_ad plugin provides a way for Winbind to read
	id mappings from an AD server that uses RFC2307/SFU schema
	extensions. This module implements only the &quot;idmap&quot;
	API, and is READONLY. Mappings must be provided in advance
	by the administrator by adding the uidNumber attributes for
	users and gidNumber attributes for groups in the AD. Winbind
	will only map users that have a uidNumber and whose primary
	group have a gidNumber attribute set. It is however
	recommended that all groups in use have gidNumber attributes
	assigned, otherwise they are not working.</para>

	<para>
	Currently, the <parameter>ad</parameter> backend
	does not work as the default idmap backend, but one has
	to configure it separately for each domain for which one wants
	to use it, using disjoint ranges. One usually needs to configure
	a writeable default idmap range, using for example the
	<parameter>tdb</parameter> or <parameter>ldap</parameter>
	backend, in order to be able to map the BUILTIN sids and
	possibly other trusted domains. The writeable default config
	is also needed in order to be able to create group mappings.
	This catch-all default idmap configuration should have a range
	that is disjoint from any explicitly configured domain with
	idmap backend <parameter>ad</parameter>. See the example below.
	</para>
</refsynopsisdiv>

<refsect1>
	<title>IDMAP OPTIONS</title>

	<variablelist>
		<varlistentry>
		<term>range = low - high</term>
		<listitem><para>
			Defines the available matching UID and GID range for which the
			backend is authoritative. Note that the range acts as a filter.
			If specified any UID or GID stored in AD that fall outside the
			range is ignored and the corresponding map is discarded.
			It is intended as a way to avoid accidental UID/GID overlaps
			between local and remotely defined IDs.
		</para></listitem>
		</varlistentry>
		<varlistentry>
		<term>schema_mode = &lt;rfc2307 | sfu | sfu20&gt;</term>
		<listitem>
		<para>
			Defines the schema that idmap_ad should use when querying
			Active Directory regarding user and group information.
			This can be either the RFC2307 schema support included
			in Windows Server 2003 R2 and newer or the Service for
			Unix (SFU) schema for versions before Windows Server
			2003 R2.
			For SFU 3.0 or 3.5 please choose "sfu", for SFU 2.0
			please choose "sfu20".

			Please note that the behavior of primary group membership is
			controlled by the <emphasis>unix_primary_group</emphasis> option.
		</para>
		<para>Default: rfc2307</para>
		</listitem>
		</varlistentry>
		<varlistentry>
		<term>unix_primary_group = yes/no</term>
		<listitem><para>
		  Defines whether the user's primary group is fetched from the SFU
		  attributes or the AD primary group. If set to
		  <parameter>yes</parameter> the primary group membership is fetched
		  from the LDAP attributes (gidNumber).
		  If set to <parameter>no</parameter> the primary group membership is
		  calculated via the "primaryGroupID" LDAP attribute.
		</para>
		<para>Default: no</para>
		</listitem>
		</varlistentry>
		<varlistentry>
		<term>unix_nss_info = yes/no</term>
		<listitem><para>
		  If set to <parameter>yes</parameter> winbind will retrieve the login
		  shell and home directory from the LDAP attributes. If set to
		  <parameter>no</parameter> or the AD LDAP entry lacks the SFU
		  attributes the options <emphasis>template shell</emphasis> and
		  <emphasis>template homedir</emphasis> are used.
		</para>
		<para>Default: no</para>
		</listitem>
		</varlistentry>
		<varlistentry>
		<term>all_groupmem = yes/no</term>
		<listitem><para>
		  If set to <parameter>yes</parameter> winbind will retrieve all
		  group members for getgrnam(3), getgrgid(3) and getgrent(3) calls,
		  including those with missing uidNumber.
		</para>
		<para>Default: no</para>
		</listitem>
		</varlistentry>
		<varlistentry>
		<term>deny ous</term>
		<listitem><para>This parameter is a list of OUs from
		which objects will not be mapped via the ad idmap
		module. If <parameter>deny ous</parameter> is set but
		<parameter>allow ous</parameter> is not set, every
		object outside the OUs listed in <parameter>deny
		ous</parameter> is allowed.
		</para>
		<para>Default: none</para>
		</listitem>
		</varlistentry>
		<varlistentry>
		<term>allow ous</term>
		<listitem><para>This parameter is a list of OUs from
		which objects will be mapped via the ad idmap
		module. If <parameter>allow ous</parameter> is set but
		<parameter>deny ous</parameter> is not set, every
		object outside the OUs <parameter>allow
		ous</parameter> is denied.
		</para>
		<para>
		If both <parameter>allow ous</parameter> and
		<parameter>deny ous</parameter> are set,
		<parameter>deny ous</parameter> is evaluated first,
		then <parameter>allow ous</parameter> is looked at. If
		an AD object matches neither, it is denied.
		</para>
		<para>Default: none</para>
		</listitem>
		</varlistentry>
	</variablelist>
</refsect1>

<refsect1>
	<title>EXAMPLES</title>
	<para>
	The following example shows how to retrieve idmappings from our principal and
	trusted AD domains. If trusted domains are present id conflicts must be
	resolved beforehand, there is no
	guarantee on the order conflicting mappings would be resolved at this point.

	This example also shows how to leave a small non conflicting range for local
	id allocation that may be used in internal backends like BUILTIN.
	</para>

	<programlisting>
	[global]
	workgroup = CORP

	idmap config * : backend = tdb
	idmap config * : range = 1000000-1999999

	idmap config CORP : backend  = ad
	idmap config CORP : range = 1000-999999
</programlisting>
</refsect1>

<refsect1>
	<title>AUTHOR</title>

	<para>
	The original Samba software and related utilities
	were created by Andrew Tridgell. Samba is now developed
	by the Samba Team as an Open Source project similar
	to the way the Linux kernel is developed.
	</para>
</refsect1>

</refentry>
G@ >uIn|Ј&+o vmC a1 ` _>G&(xD.T!Ozdמ4]wW9kD|Ü?e(e6}indP˸eKI̞t꩐,$Cut H/!HAw+zUXG޴^{F [G6QqeSYǯٮG `Pmyۣ {%]Wpyt1DZns8 O6{۟ XOg>V%n1FAf@$G0"޵'mO墄6- /ɄvD" ^Q@Ʈ#Q `۠S) G_/![oT3Gd8Dn]%_7CO*u*Blyv>h],+ utA(]>Z>O?_HɭӮzGSӱo>S賋=Vת~.ڃ(wjb4w7TĐ;N[6;*nS35^GQ)=^|{b:%{<WSjw7t]<7+_~WV76sq*3/3&P=Da#r0ʨ1).ן/>Ͽ]A֦ܕʙ z= fd}= ϖ .*g*L.V_*+#4~3J}6*8Dzer)ٻ3t'$ƽQAtH'Ltk!` 1[vv$ULJVQU\  )Bvy)o8;عwBݦ5."t7k #ñ޸@.T@2dE6)v>MA!D̠]“ֽ<ׇnCchonfN#`dŔ5޸sL{SN~(! mS>u~))0fϨtKt $5<@: 9`Zxl XɻtC(^k(=;4sONn}nuKsB rrՄylP֚K-W^N4EqtF`AK[,~| QG ۫|buE`D,.* n $bP {.k g*c/~J;{^(JPYø8raX`s` 6Bc0je/Ԕ;$1rr9 A=!FRDl-O|%AIZ 1FbWgaNdc@A4 "?EcA:us\]t$A=YXv79i` |u` ꨥABZ %ՠӞ\t=9{6 緷ku+_>@ݩl( HwWnd2+?uAÚQ}z:Y᳌;샪&2C@ !W0 +`,<0ښR#ʝeoTmd'Hqp `3#?"]r#bg kT+q()z0( {#X$j9a ~ OGUk#t,%;^<8;7w[7E:\6Wc;)DWE!WQ` LrlDm-57;.W:;Rjmu6ҶGt"@D jo΁R@XiD;ݤ. A@z|}mZ_LJ"aN=sL/{wHJ}+= ѸDci5Kí&T6DU^|`J\a2]Vookw{=?3:C j`ۄ>KWɇ[&7݋apA7*|fͺ;ߺ8=/!z\D^z@\&zAJm Omn#;|ㅾVo:'vDX",}!Cnݠnj1piA⪃QT=6۰Iirf%6__28 6ח+#r}'NᮄCs"8k@_,#6#X"F7>ώƪt5I+";9f *<>&p#R 7)14gu5t<{=5ᆷz=n5 ͈݉mU4 I^4(1;: 077_7lr1gU0χ2Ml-G"IA͝Ezɞ˩z &dI#:dʾ`z<>K-,5mH{U%v$z q3ƌʤp3$ b]w s}c[.p\VODc{‚d̓CEQLvt6{Z(5$ӝ25A]{# %PLh{*ٌ>ù)H!XAѩqNmw wfO)T ni5f `\gH5z+}{v9`px Ȃk0~I6{ YE觯^\؁>:  =O|Hp F wsr@\rGx\mb1{Uw"GѸ`FC'E`y>Qv8ƽJa-8/>͠<b Og{tp'/_W;wu]`MXC$(7vDM?0n Ac"#`t@d zNJ,L f7m!:Q3 |0nNbl?vN3lLlry,Y%y_&8(K04lZ0_b}]Ym C~τܦY,c톤AL[8àKbpڃa [<ۀwpw93!MN vF6VԥW'$i~90NBPQswӾ_ hဂĩ >!.s%I?T4qQ5"ޫ$&;c*:̾c2n7Z7VP{pH}&=wh90E(v3.a(`%?,3JjH](0ŋ~qc6у|? .ayX)KsgWu!gc8i*J%Pdkm~`* s;:i1\ ܺ'9g[GڰPޒRgTB4 *sT5(blAT/ seW z-5ukッN˰~28"9!NTlC1P"D&(]9/ CU |#0 [5k2v(􆰸mRy6c :=|})lK7QAU鍢3;ߩ7\Mo,P(f1K?$R/ 'S&!3FZjF1F}]j!p}J%? ݮ&cdZ~x(q;$|C1XӏsgV2,:{+8ɪ~ C޺|FAIΛØ%qYmT}®!E';Xaxwb 7uzڨ7%Pzs Ƿ1dG&s8}1zTD1.¹K}3?sGYMrϊbK>XP4vD R|xƹHjnr>4Wf_c(9z7#3 .<نx{a6";Hi7&\\^{#{|K(VT\ᣇ_tz`_7O"{Vٿ -}CAdOj˧ i~n-vv} 6s0ކVv͏g>F;m[v5 Vw:d~e xzKH3.ScnN1$wJn/_$iH<ᕒB5q=lkJ"xoJVu y=̝l|{ 7FAFK \-ߤ9,Yߒ;0[)(*B~en;^`hBg im܀a྇ZT q28zMkdIJb>91ɰT?Wm-q4L.rHG*c+\w9: >H;\]Ҿ4]k aEEGцs P+M9DD} x;.2r>* o]P* d9WȝX81eG~{k`XL ,S Ӡ}qjC0Ɋ_)U]Lh_ōe]↵n̜ҭr!k%ELb?l bewLG"d'Іl1hJNc2{n `W8eH"؎gTCŪ*P}_x˺N-APc;~k[kYœ%IP{W/0In LúD9OnR~gUe3qV]=)O+CZ"O7=G)G9KaMJG=|6,q9r`fDfpy4p>pP0[{SdJD&0$,cvk`P[n=CL14-Y YEC*%bH`s˯~y+7Z_w-EXqJ-:}x|;C<2 E%?\6mƖV$s6'dZs} p6Ftaxtm!]Tc7}rx!K!$Gg.mξQŠYFv;!]v0 ucR4AaǓ1ۆI&aJdžk灧ƆJ18I+M9`MbP0[ZZɂt83Drׄxud -\5LղV2:GMds2Jhhfh8ͬndp"/z֎.]fҚcԂ]V)Y : *+OLLÐԇy9V;ݶWL$vP˹*_ _NotLϕorձ3[_0#ފ u-(=F1xh$⏯H][4iݹᥗ0w R/5l/X-R> 4p#ApKY~=Haee 1[,0Ap  щ[7lj ^'/3b!&(! 6^ vL[u]@:=ey^Ḫ(ֱڊE<'g~ڨ3A,? g!Rm;E;HN!U3,5,R,4>~&J k׮ 2Z!^]>? 5 X8]Tx~N#b33 ST+xH"a75Su qd;AO<ԡ-\\D'uq:[T;j@-Wv|K?`>H{cȽ̠)('aֆ(d[+?hpOSSe2Dk^un:7ad]͞쯇3~6>f _x_2cMnJ5ete( bn_d M1JHs')-m N>Pnht 0}gYc9:kN! SыÎ.AGryp`FՀH8Q{e<9gBv7lb:@Gaz}&[X3OE3T6Q0ܥu)Vn҄)DjđC-([gxWouw?qҡQI9MF`$Ɓ~*x,n<9MV|{:z\cr̚0xT¸0 DGÅؽYk"4>ķ.k `re_/~/: F)d㚇a܆gH &$loB/q.>$Aݟ靷k Vz74}oCE̫ujcr~^r` pY1ǷTdfDUt>>XKx[!RCWr)^Ҿan_ 3kK4d{ (gw"Ȭ^ ef7,sz] Q~/Lg!HjT(g$A9jȤ[?-׍WQa<`?gv%ل.J2~mࡲ= %>u_m捷Tf7%7:A5d#^*񄼻hۿ'f?/?~K%祳Q+lUG%#~ i\Gz.I1b ۞DFILZY"~I'yC(d>k #~t?SPCw<@QR~K;ЍWQG0ZL߲ =~DwZ?rg,ںE$k毉*M7RùOO|{?ǝQ=m"l$IY3~"t\ ׾|p?(=B,\T_Csj9Nj ˨G%:!,*}kBblxX  J{AK;Ȱ:͔ƒنJE-b%B#DByd2/9S C7P{7ļ(IXh J KTRItB[nLbұ~@UG۶Wj$=6Ol~oor]]#(?3bXJ7XI o^a~g.+hJj#s 2{(楷 nAAO0&*Rf!1-3AKʘ u]CރiS7,"RSr` Id jg2Y,woR]pBCٜS>>cv>kRucW]6EqysP-c.]c mK}^&;uzp)ʏKJG\dux ч.;1 y={TaӇ3hjD} mièݚb{F.gd^ Qe} ~twp>AKJX v<+:$1`G./|2f5">/GXaIz` Eq؁1-GlQY%K_և>n8s $,SSns'l(M/[)DmTzZ*w_vjiTg:k~8,HL?p?~ڗIۉgD%Q{ aba![P,Z>(%r7:H%&?DFI|Ƹ$(W Nņ;ow3{~矛j_񖥆n;UwNžf'=x/-lx;f|Rk񩸇S^n٪[:B"5\&ԎJr)!ٕZÖ_F8e G#p0BߎsFn'Arh6xUΏ1Q2C{]p^1Νߨyb,oduF~p,f9L陪Tۧqxe)=ȇQh+[=h`!6y)O_**;֡>L8ѵ.y0{FC!'Z\{wxHbOc76=\cΐ봴~o|3׏1R2+EsDRg֭hc_l&<\tXZ1-ն;ih Cer"-Ad5wo)h{מ [''WOթkƨL}5'?k2ncgs ~;]zT8;/SGӡˬ 癰q"Ek1C "]mWT-ۧ{1Z }фS%Վ-sy8׆=~;dfYˤro캊FSa; \MZl kKKyTsMKX}\\|r 8""9u.Қq #t{GK7 f&mkUA`96A1,D9:M5Yq?kEB?qK *-Vv-P.%F̈́rNTN3XÞ$ğPk!IV=`Y Z& ڠ;5V6s-]d,VZTk.jz>m.H'5[/9(BA7؇ɹ]~C]pj2y0>B9sAإ9.%-ݳp}}\}cw +^R$]\QΨ q |vi7aƺےTp.F"< YdkK(!2En\yϑ,/>xŚl6!hr;^!5 A0†K玩v Tr)'҉k(_W#'`|kYW,w*qlU ENk_^a*1gֺ?ӒKx[hm &o@>Q UNSύv081Ϥ aTqU9C#funaiJ-Tr8- W jD+/-|NW:}uNm~|/w1t!,!xIJ@wf/* vNDLH9+\ׇDUBhvM(?aǏ&@;:PW0kr*6dbävi}x1p.pF$&͘^~AAw.|(^"U1x!A29ܫ9AsPXrzcYP66 @˿|6|=a\ARhNn@矐+okS> zDg8a>,8>oNg2AXjnϚMO!s\Ek>pl{ݾ4g*Kd&H8wP$ ̸F%IL%5Lbgzcb ~ }5D_ͽ" 1Y: Ar6Y,r׼* -Dηy>.)0)MU}>ok|vqb,n5$TG<wA~Pvnh;#fGy=xcg0L D\Ê+<z|6 Q" g{Ɯt?JNXc(w;%b~mxyV^*ņz]PV]Z~piH8H ~xM!5ٸO‚Ck.QT qj5gvn&x6 Ձ߈9M`F;" lcäp>"BQ5j O/;qNL>qKIAw#9E49'?Skx]܄ٓns361qoYue++h#?憯C2Vej}*>nN'+K/Ѭq{0ěKf5~e !F>hngWZ0: goxIIDkSm? ?oaI5E3\х\c6jFo"Z<.א<6Mq _P '^f.X U Kx, bIE{6Vr{1@g2_ՔïYc2$~m^1=;e+๷:\G_Jw9MN ̺E1J A#22>4.,`S0 -B*EA{60|~sAVsRm9LC&|l(( IKxj# ;dx\8OcAѤ\&_3$~WwxweKŷػG͌$fG>K5E~!ǐ{@Q2e^* Sx#)LDof+8qb7E8*[2/ܵ _RT'K?Uɤb{Ru,ۗQh'BI WSI{0XdӠz\! ʗ/ۮ ۊMPy!uDT3A(JZD@&%5+LԻB-[Q0rVw1hXE|ly}}a.R|{j=:D EɢѩvhǠnh,x M?S] q T]y _5BQ޷:ϡ~xFS匪dS70ts&~S;.8⤠]bADϡ@TW,Gkoѯ=h ΋/sA*3{*=t(0gAQmrew/!g2۽z].be9)R)4G Ո0z22m-C7\wX9fV>7- KMGGw8__]pqPbRbb+"'4O+vÀ^oFh}`#Ơmi][^;pڒ Nf=Tv#=˙=u:"2>Jlj7ϴдTbì'Õ9*w^Ŝb}/`n٫R _鈧JUr9Ԫ6Ϧ/N0DZ@Y^doRΗv㓲b Sy+&s3I5!8UHX֝B^Fk؊x.$k>0&/R mÁ'sEm+3?*a߬mhるp_sQαc$cKw{bzHO(?3=m\9.56YIdKj"GQBaQ2 &]1h F~b]p.㲷,`{G"ݽyRsk`(Y:%&S~gD{Cԯd-8%⥽zs'4 l3m9 ^0NovwQ[%FGPOP2(X ?7R59EQUfQ7 [ EyAep ?Z H0^髋(ihp+-i5ߤGO|:QϦw"MŎWN{k/b;D^Mty9ۚ>RYz{ 3^O9(Ņ,@X-mo=OEedGsrH9,Q{"m!xNMQQȆ{d+cWKe(׻Bhlo;uOu"s@@.n7lTOQXZֈH֗HOA% uԾ#a>2ӹw'lÄ-%X,|g+˛0hҠKxp 1r)] jȌL^&G&Dbc:=g~"(Uֳr5^ g[U`"롨1uY=o~ވIb ό^?Q͌?5|`P'$m#ɮno(awwt6G9;6T`…g^ؾp_QQ0_7|gMF=0H d-:6+R`~PPF.tx+CSA9X;̼mI`|jڎM,s8坑3P \D~G@K$8A|hmzǠၷݡZoɹW,Kpi}&c*Q0?x$WSz}:NN΢Pl"`Ӯp}hd]ƳҤ-|ۿ|k 9baj;tDUQ׮#̩vCmpWs SÀcC\9dT6NZE:X>'qCvOʰ??䴓kn:S-T'Z~n L] bA)"S7Z{_J`婙E]9a|؈BARylP,7,J DgϱM ޞxސ a{ P+ÌQшG%V¡e̯m/Rk _**ϐmю&&oIV|,-Ei""*p ãOu`KN?=;UmKwa3@9rB9oXn,.)dl}8jx=&OSKjj5~|B;q)zaX-ť4SVNn&\+@݇ ;ѦV#ˑ'5Jlv >.zj3 @-%uGwl{TH<525Pw={•"G08K[F((% i3^62"-yyLu85zaCN!L6vR̍$ m&ETOS5`%w I֓MxhBa}ʜ*B9\' Q+N J9!nA*!ƒ/)yߦTXJIVE ,Fd][&hg7Tc/mbhf)3v. wr@PN)i6U:λ11"x=V\j c;t[z3ŝݫjW)ppd $a ۇ)с5>I9jҔq¾|oϵ,e<;:"G R?r$ N-5 QLT+j^ؼX=G\-# jH7^5 tA*Ӓu 4 ޸2{K1AosUaj S4fW'R. ;ň'9U rEDD9!]Ga_a;w#E!+~`y9~ޝSsYE}`WtUuaG,ΣX4dd{1Ct9M/WLKGe -8DzIrӬbo %u1q)YunKff*՚=* E5Zn0P^ms+8}!(=NnP"Jrm_,ڲ!8A8#8.'5+̷SBfr vI5DZY!NgxBe85 ҼĔ~xXʱW3[lTt 8v)>}JPtt} [}[v] 8#`k!3cWvq3$AţypY|`Xkx ~Ozs[4E%2,+z0BP_Fƾl3P3y}j#vu26DZXhW9\6): O@dpoAQ7JDWxX{kDB+/b"x,#AhetAˆHlk1W .BR0EW~vq98Q{;h& <9G59̜W/|z!rp #|+8h2-h>W=.|h]h1Zj:*}-t|K||f98=”oz& pҖ]Ǵx'λp֊n"#!Jppb"pڨ ƪrR`Rk˝G_ڇlP+.Ҫ0·f#(E9(ʭيsER)U0ea П?}tkTTSrTIM E%@1ni3Y(]7;U Z4*l38`=p!KGh MF>G:hhTX`t;Yz2cW1UfQKꁜ~NHzF 9\c/5_ Nu$eͱt͙x$,.xPsX;1">EM\ 96"SFm2 FY@>( .٥W Ua @WnDB|a1Iom͔LnM7[64k xš/6.v`̾]mqJ@o,lh[=~L;N se7|h[͌dB߮c6#fP𾥭e3v9)D幗dž{\0)WJ9;v'49Ï>9>|9(.r?*`  J$T `ϵ޽zT^4 ʖe`E*ڊlNwl)h_;L?WuXY@;㉀WR,0TGOט2| 7+"i~.gV'$4~cBg~rOoPy9'Hx1SPӗ1COU9h>_k8t:npܲnn&'n'CPgqsQ-U൘$zҚyh^ U 7-p#f#pF/0 O]ȩ kPЋIC$Va׶$pȹe .H2 t5'7چ{cҤۜ-|9:fǚT˾= aOhe=I;ʼnL|sU3-c KB) bҷ2fl'_߲Wg9&FBm \枩RspC597IÄp<fȜ\Yt-em&XRŀ5 Tx-!$!gNם7OtqLY׫v,kC7iLik> %7牃(oIgv߭L6?Xj?36Wo{﯑U.8<@Q vSq@'ϔhk |&ΰ HĦύ윘p7 qy{8"D-n8|Lx棦-SX?ٌp-+`oK𶧭 %ơp"K9Do(G]h? ^>V =1η$|U73/Q@ ~ .9]1YT؄&v32@ɇ#000 BѾ$&0G;ZH07kSVkcso8z~y `,2I8gx<3/sQmcn^Ł>L?bO;85ɄrDW{rrQ6T')BUC7Cᠪ~ S!\ oԃRewdU0C*;? ! \y`R(ӽVuP-K5[}H#q{sz3WtuQ6* ecZ8xk׷u0/$0>!HܢAZ?o9Z7xDen(Cs++l^b\nD}>tTFh1Bo z˪ " ٨O]2gJܵQ1`!;tH3.X22<6`Q#OH2`VP?lQD~%mQD 줄ǧyߝ[|")hso-N&U:`Ւ"@,Q97% +><r^ ʻr>P]Oz¤tqT<0$qQLJPW3 lbL&"$P9%c(«֛ZWw7{/OS_s4 Gf=xj>hԆjAeRDⓐ79K . x0]/x"8*/]47+xaskrƊHl3nԺ.]WብݥѭY>3ҟK_!rsI=fJ⯓KVuTkB [ozܨ/*6ϊP3@oal̘qAnk#2P|{/7_CkmRkpp䩺jE=gnOvpAxUGnR %Xc7|_ Qa.0 nU$ FUpqlz-5.#>U*\X_1 #SJ"c }7ю'0;ޮ$p8(|ГxTmnX*>:ω%sYO1':/_>*`D72Ts%'w>Tg\uI'+I^L†PȾ_ z(8YG9nx26h`0{#(cÔ,Yn޳(I0wM>Qӆ]konh-,-GFW O*BaTx$3DL*԰84'rb ]=98nv= ;E0≫Î\EG ΗSW XN bl |YqU3U^vjr&@8A<Ǜðy2Xgq|x_u6:]KNI=ݍ +nBKnU8pwYb?5>G`_H~Aۣ߳A Ό!Mr3N??rǞp RȌH<&iJ(uS;4`cʍ{ӯf ׷h1}W"0Jy_Jlg5>?+Gos]0LL1>/s7F޶0!~ HqZ' ~WIӯX;LkD /TnluM-p*QlwVf RQzdC( R!1!MD /cRFm۳7@Z Pʍknͤ<}%2_.b-58S(Rn$o(=YϞq]pzdr"ij|Q3nm|U Œ/N*i1"-څchSڈ(= /s3]񏷈#K0#j#h^ ȁIŋ-njcIwEn{* ǼyMs&pq֞OQᬇjn7?c$ЭSfu29!E@F/ _:e<]g j0*JIͽ3X爦E-2XQx▮|>'֧ 8b{ac+O9ě1ZN&XܦLpdw |EFqG5'~EܑS6ib߼`ԣG,KYŞw|sa+".8ǃZ׈lg٭kM9m'2>iBQ\VatVrcQ2vDF+^g[ y,.~:^2(w&aXu}sFƠ4p <]h=;̰fzDp]@ҁ(pNir9c,w_xɶ5I]e gxLѱ?;Xv_x5f.e0Α2BMUwCvĕj7mdx#[#lfZ^[G}s/Ae̮e#D=:ptdA INvosnؗ9Skysf#3xЌɁ ɱȂJ)N8[E0=4(wmj:E히}-e$mFjm6GgzeOx;2] Q&{u1H߆ o9.IS ɒ2h2G]4rqfv휜eQ]u@ʕSg_Ds7jb~yCW8u1v20V b!$a5=WL "0B>5|^#Q̫`èBHYs9Y!Ěk7/71,Г&c"nVEBm;US;@UDa鏐l;=t 5 HMā&"W<ORSY\78վws>E(OԏhfA]VjGjmI<9ch} =XD!T`_{LRВfB6ny$YC( "4χꡉ{z̃fFo 58-Ջ;osh]Ae_dX}x ~74jO] DIMbš~:o1+w[L$}q") WE}ҳ7[I\F1h@o%#b,pd!րaAc FHU_fz8'1gỴd?}78#ﲨ8[ c8)"7,5bDO!Hjge!-SEN0\UO}Y.r"٦ńht(TuZi~9V(J{1r}8!7(1yfO7MCP\g<{XHjʈ=d⊭?̎TU?]F֨8'*p\ */b͋_L?%=3Yw{)$Ht(;[J I&:va[M,;.NqyP=뇹]Ҡu g޴TMEt j ˟A(o QS܀i^q@QL|\ %9Vi,aדw? 3qژ]%r.AMg՘k( H4/m{8ύ/Nua6pbc%uÜUoF|^P995.*Oַ]`Aze+iU' n_ dhT6 Ayר-l9WVHIJwÔahA; "zyڥe9UG_4)]r: N1aF~WԫX]t"tEAzLAvݗq"[]]: 3Z0 [?r?6Gwt#^O7:;5c<16FƛgǂѶueٝvL9/zU{e'5]9o]-I" [^02F:ooT; MժspLR0(qa‡ 4h_onwܙgB VNJDs5Lj R<˯|Sx99rXd]4 2#\q/9>SN-ϑB am*z7m~P~TfA ڱ f%tޕbZ}8T`kpŪ "$8_(sP+\o4&+j|m@Ն>xpKo~`jɜ~: 'j.0. 3FWJ2`]dd?:wUJ s3Db9.oSj9`6_gcԂ2Y(1:K/vah^UH#ӷ^ԺHb_M>q5L=/NJ24;@ 93/K]nO6~Z*Ĭr@مG`"Pk# cN U Ѷ2(> *(]?0gz؎ -D=\is~|&mW_"ox&զ:)9$]r#FT"[nw{ @Cl1q*̮GNT;WhrU/ePalbƿ.2K|4T\:>M<ѷa"OZս ČdG鯇 \["3,ā:z)*Q<.g,e+4cs\uĜRojU>?}m)6ZK oZ|xmvɖl\ibRKbI2rA_Ђm煿(Q[\gXom]ܢpvyϠw٪ezN_/Q4@%18(c(ZMhz7CN;vHqNNeᙈ)"I4rZZВ'hF6LMڽ}5#7'ڈĞ;J7@3W^3і,½4a^|\K??R'\K\yT(\#sXW~Y"p }8}_xuyg ӅWLt:G.]( l3Wz]Æؼ@uOt5\ܬҮ˽x5nƺR3U(y˦ P0/=d]=L$u6Wz #^f0SCo}]h!Ȍ'̰AJl-r(vl~x/RdxuOAS yI{`S1Ŀ*|1rf¥˿Bw [-cwB^Is]jZM)z.+d Sb=gR{R{O<>p}\ ! }GZC{_g"*Ax6+s!һn@},wkO&&{k! /VəB,uUj[}~%>&..E wc߹%C SXʀA)0:@m)T*|&N+֗ 2ޞfOSaX~7# bl?f8a_!d3tcM`vocYMO+>/P̓`8_?y?g 5Uu:\߂' $l B-0rv- 3* yN)ȟy(|y%9Hn)BQ KQm0J:p ` biI)hDEaOR z v8-NYshWz';&(?Io2||?n{]p>eW0ݭ{v0~P Kr8NKX N|z4S'Fca`Ì,VC(?R{gwz>m nO[#qqnϽ-ܿoW;OtHkU4V&:D?vh$l37c5x^ŕT,$2(R8A?dD8z|0oy||/ļcjGnχ;|{~7sُ?(]?kX{$8cOEOW[uc7ouϒ/:2vHBCr_z*%j0Caվyzd<]wOV5]'yueC؞Hܾfsݎ'%}rJenKF^!oO/Ъ{77,9'vy.#ϋ}l/ŔHPC<1L58>Egee0 0;'#wKf*ąoCc"ۢu]۫AݎJf^qVffn/SKxo F0(p)"f?ƽI4n$"yBTyQ7?fjf`R'E4QbBS'&V2H좝\ z{yi bIRϟ^aWdcujB<n>dD?Owwsg9F_R.@0Sf&yQ>9:{H+GٓZ>8v^?!KrguÏ,Ż_8Xv}?0:諯.ϛfkS * ' ) ̩ 9Zu2\*6A.)^y P0[t= 0QV 0Z&YSQ0\n#ZA ZcYͿ'J t_~xM6uUwoO?wAhyf<ǕxFRq\gܜ&Un˛Y EϦmw~r>'4Ѽyq>= e;:ukx7[wo( z~mwn26v,JC/xpw9p.O+Gl';2[x㲾cex=_!_6{|v?^cqݭ%>%uݖWǵz2] YVCcw>BgzJkǿnkY{H_n1 C '.17C>Tv7j"%[جgO䂼yݙͽM"~@z|єۨCUXÊsH]N=<k==.xpl;?c?%}w2J߻qP Vcv\>^mZ9i 꽻Q5gU_;]55%n̳+R̍)2T.+O"\5O]sx}mC pzpcF*|#tJr+nXP D9Q-'? o?]][iߔAVd]`4|}"KT-eS&!,afaSI|_|*x`,6֓ 0_\sd& *(۽w_@qP qS}mQȏ KYOmOƃJ%~L1^x vl7YQ7-r[5C]a=CHq o0i*RM\=ß6M8Iژ?|h~:Y|4q+>u&\[e?X h-n;:o:'`}H]{RA "1A'72d:ٳ%ЇI':OP] O.Qs?['Ȟ#ȝvwtpV-ٵ}%{#bİf!F u;~\Ɖ=/m80E8hLgOjGށ~s 늢2Q0@w,9aRd+PEn,~~z^rq0QG;9h ԕ9E)( k0t asn*{G{ba򯏳9PhBwG$CS|Hl ̝B #^O_5XNR7]rPYc!`۰E)Ԭ}8@=5yeiQPRPC46NhP._a@M\_xo{gV 9OaC,l}ǥqB-]h|ᐔ;`kL.-Kw|s8,5+IY:C=@.LatH9̒zJя?˵܎P{j9ۙm$WSӞj(Mj\jw(_)eTٗ9QlnQC$U^{+kR/G\nX{tq" 50[X"$B+lی!E [tZ#!HȹW1e]bӗա:tX_M/p3Ӫrvla-unHkQUPQ*t˝;g~j?<>Ɋ]Q옰8&Z%k}imdʏ &u۪_.MCzWh$q.GQw\n#1(3tNUOwС)H0Fyai}4uݷ;>c{r C/oH4,c0UFmەpQfD6n @T,݄3D$.- CBTR˝TاnH E"9v(fPpYw J6IԌD⾅b7%k6]Q81aPpsn0mm|:;%n){o,8kʭ%O\ZV];z#gDݑJ?g책9颇5P:h?Wž1]AH=hJ:I$ҬO#&ϫF;,)ɖnx_F<(N'tD M^) }zNW.(7*dkxWuiʯ juC AQo\̴[\)K3EkEwI dBDI`" wEΑ$[S o@=\c ?[ONjR"Y$ـf~C─)CtH*2 X93A'(Ȥ1Wu{9Df弹g^'=)? 'u6: ?9|:s捬% ^?3^dA(gWW\9?D88UrOID~A!B  03A m?+wD7OSns c-0Oo$+i {L5@T50)/M%&>?mXk7TRH(ւ8qKh $= qW{77Ru @;C:h!"owF(z>fG8:X{N=z&nL" rZ-Cِ6ZܤHː *f 4FQS{ G ҔY>9d8GTW/Ix&J3wy@<AvthQ@8[HqI85 K, "M0|coy:q֒8E$J!D TJyoyK|5t'$$CO$]oq~j|ڎVk`ZD07-{<:Y-g72(mc:͟klS`>q໱ =DBHߍtn KL$@E$'+22 ArQ?fnl.p0:ϦXGi&QM _.!Ae%Im^I$s/eGPraws=RlՅoΒ_jsVH@-p|$ՋICa + jר8fs,\CwMn!ϕ9qyIp~v*NyuE CsfS] d7^7­9A%&FvfoČ '>[6S:BlgkI!;dq3#u#[!͂ pۓiK_[]e1v2՟b)KG<!p s`hQ5Uj,h)&d'F e߮=#_JE7syEfHˮ:1%5)b2Zs8IaMDcuVྥC2TmLbMslAZzU&9ף+㬟Թڬ-x%?xGgP3rJ j\(1y@o8)$O^8QyR ߞ8kyvMD7 ]-8'AN)Aϧv9EMEL5*L+*RehVP|=&-^|(W>=^ު9 Oug4ok.ݙTw} }g>V F:lZm}HJ]0f8C[ԋ 'qWH;LJWwC`T9Mvʬ7Rav yHb۝:+Uj+|xNGSv]wYIyf e2dJlǒ\gy3/~/ںkL̥(IVy ݮp{DfHj&.ԟ5# `ϳjyҮ7cF@xY4ۨ $* +f7.vAgٿj12"3|7Z?@~6Y O I*2C~#hvtI6MO` t;G lY]0:玽- N.*#E|/.p^:O뺟]CTQIn(}da&gUׯ&$i#%DOvO)et~\!\CTĄs:CM))B2X\gSkd/|bN8( DR0´PԲKbhZ`')*@DO-pnj\{e}'}[+9R@Ƹ:No1P-LF@O㞣0#"w}/.=D-MK|tKitXYU& i4ڦ`ق/F,C.VR:![:] 7 3^m33d&N9Eb]*,6u{+F嚑ԎPdZ  57a:gn;f~Mr}-&3fɆ^sF4 \ ]XLBiT|ܽw } tc !4usn% #_t[8l<΂\wh¦<SQ _:#$/72or[ghpǺGN;xa~ "S^2[M4Y&1g}N1瘟žmPI$G!Rc58a)#TE 5Q7ma@)w:|; rG h9NRUU]&O*c:9id +^5׏krl| 'Wʖ-ҍ︋R U5=s'ѸhA֖7fݩѶ6y@Hag772I❴}yxB[y/Q_\fqTz @*Z0IzG0h?^ %"80G"'蟮/ʿ3©}ߔ.[j/`\8t+ {1V㟧n21O璘6m,[mfaheOq4=(}@wSa:uny';Bm ZA;yHHNv}]0G= ?t Vȁ%e4UeTx  $s4=#n"qx0B#u|O{ 6Xml;by;HXj^ N(P!>c)ǭ~(}:?9۴leقiS1_R3϶^na& bMkg񾝿5䐇^RI8j>f| W?`4M?c_8ʊq  .CYձ 1X@UIS^A~P #DF sWDY|MZ6ڋՉ Tt y3w:%<5sԑ$*-ž= wm\IWPm;h^՜nyyfo1Ԇ\|ćI$۾b HIґT/̆!;#E<&ug;:D.ȁ!4TЬ4R0̤A%UMQ@R RH4 Nkջ8EQDI1` ڄPf#DuJեcjĬ[ HUVڳBx|uKl^BܬyAGDŽ6J,sYi|/s^iKz0#=xW;i@b'}o,`&Owl0 Q+SǼRh巧YMI0! }6QOͥܦ @prua3d7v\D|~;X>ߝw05>>O 8! rZDLcw TnJր "V9 @Ea^XQ,?yk8ުt< hw45Zf\OKcTBHjNy(O cbYȰQ(*WWˁV;9g>>ىqW0HnNI: Q \ H؈rD_A8\rvs2$_~= ύ`pGaDuG@:v7=)φ1mzI&k|5 93{bjE>jHNBB/~:^eD_-z#ic'- y;3I=N L%uSvhT$t 5h탡Rȃ74;Î6&[p̴I!&o7h:z_#p]HSKH6K 3uWIa ဃ|6jiăO- MMa d'kJ 2u4|f~߆gj"I*'Bvj-/˞շ8[xVdיMܻQYl3 8:|U.\jt`:`F{ɻddwZD;.Gj-ב !2U}ky8Ah X!Y%i@Ck+j ,TxFsÜ\+u${aOd_$~,d#qsxCM'uHN10cS y{X/悠g<8?KYO:#j2v$ >D6h q{m8~v垾W8BAGO=b++'DgCSJ_j(p N ҿ ylQX†In;*8fmE@TWGvڏZ_.t-T5[O LVLF"b>ѩ +ķi_<$B\7O͏j!;N(Gcu)n7o4 N,f@P<0?!Kd%$T u..2B*#Ȼp} PB1ȀLjUIUxrds\!A?z QLɂEg̾> ;fLPqfL9.aobBd#nT̘UFScե̟ym.:Csw%G E|̄jx5y  =XV ̡y'b۪ScmGua,nݴ^r;iZyѺЩ2cCٓՋf9*H>HL8o9>]XQI~LP!W1axwfOyFʶh݀{f&ox[Ϭ+!L v!o;waU1f"?nEFUL$*{2F5\VNMBGSEƑ7qN>6_ <3=gE4z˧Lw`L1zw/5g_߫CNsSK:LJv2MDG|yf5_Q$XFH]*9bԾHp<0:_(k<u/ҏ364c3_÷^dB`!zҼ5bcms-8 pnv6&R}Y:8YH{Q'd@dzklń֝5JzD =4slۮ;S[.m* *ٽЫVȇ6o|x!!>xqI?2xӬ1I2`0,o7KH мF9j~CV\[DBFR `7CF{E A͗9P|9zjV{hRpc3Lʥ!QIJ&@bwdEaM/"'+>`)Pykoo/|?+ϔ};ab%0*{:0&,%IHтt#!2Bt\2(jZQb$iL#B`p}Vib!O^f!q#t)!=G͝e":Ic"941e P33u"4E(%p_,F:zmۿ`)ٴj^`u<Ɗ=ۋI4~89;G8xe B7%^dCc A5T`0?o&/#r* 4wPD u(WqH}k\(Ӽ?SӁ-}i%ږ#ع;lMwoHk8,qLL#MhX0g*C9ai-1ٖ渘PL{q׆k>&hXVfCs J]5bPJ,N%$KϯNABC#:HRzW@ {D 0J4!zB]zDx_2i`.E U8W]1ns]<%HqHCA &N$F1Ϻ)5Hbl6OM!x mä~{.` e)O(az܆S7wc~0bfYZh_q P{į>t3ta(C@ Z*;3J(!?=X8-/O@Ljw!G*O1pѰ_@fzD̺|HOUz?-,4tI\{ײ`*@9 z^:.W: n (+#$c*3h:ĶmyQ:. ]m'~:W0[.7cЮ_Ѻ1sCx`+դ20Sƛ:<-~~Wy;6 S'auo}XN^ub)H *% YYvMB ]$L_8\uew{oj9`Y5:j|#2pDž#p{1ug:B(ٵb +<1Qfa6]oQG4~_~Cb=wbW "glvO>Bjz(C=3 N/lNgӻ-`Eqxi@CGT<͐56U&N=^ b1Auyu<~r膪["`| FkRZ8<mfLHA+3wf! %S8^36qanzvu`>8dsr71F_{Wf\.apKǠz|6Gȓ7 `UP<@laWo4ٝ ú繓ЉTǡ@T &\XUVXR6, }.;]o8>Wezǚ*(G?H pr3HG&p/Ӎpg{,XXXV*g6?? A*CJ