From 7c471d77f904a5a04356636bfaf45b335792e5c2 Mon Sep 17 00:00:00 2001 From: kindlm Date: Tue, 23 Feb 2016 17:26:32 +0100 Subject: [PATCH] Anwesenheitsliste in Unoconv --- cis/private/lehre/anwesenheitsliste.pdf.php | 288 +++++++++---- system/vorlage_zip/Anwesenheitslist.odt | Bin 0 -> 85474 bytes system/xsl/Anwesenheitsliste.xsl | 432 ++++++++++++++++++++ 3 files changed, 640 insertions(+), 80 deletions(-) create mode 100644 system/vorlage_zip/Anwesenheitslist.odt create mode 100644 system/xsl/Anwesenheitsliste.xsl diff --git a/cis/private/lehre/anwesenheitsliste.pdf.php b/cis/private/lehre/anwesenheitsliste.pdf.php index 34540a2b2..756fbf5d7 100644 --- a/cis/private/lehre/anwesenheitsliste.pdf.php +++ b/cis/private/lehre/anwesenheitsliste.pdf.php @@ -1,5 +1,5 @@ , - * Andreas Oesterreicher and - * Rudolf Hangl < rudolf.hangl@technikum-wien.at > - * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > + * Authors: Manfred Kindl */ - /** - * anwesenheitsliste.pdf.php - * - * Erstellt eine Anwesenheitsliste im PDF-Format - * - */ +require_once('../../../config/cis.config.inc.php'); +require_once('../../../include/dokument_export.class.php'); +require_once('../../../include/lehrveranstaltung.class.php'); +require_once('../../../include/lehreinheitgruppe.class.php'); +require_once('../../../include/lehreinheit.class.php'); +require_once('../../../include/benutzerberechtigung.class.php'); +require_once('../../../include/lehreinheitmitarbeiter.class.php'); +require_once('../../../include/studiensemester.class.php'); +require_once('../../../include/functions.inc.php'); +require_once('../../../include/erhalter.class.php'); - require_once('../../../config/cis.config.inc.php'); -// ------------------------------------------------------------------------------------------ -// Datenbankanbindung -// ------------------------------------------------------------------------------------------ - require_once('../../../include/basis_db.class.php'); - if (!$db = new basis_db()) - die('Fehler beim Herstellen der Datenbankverbindung'); - - // Pfad zu fpdf - define('FPDF_FONTPATH','../../../include/pdf/font/'); - // library einbinden - require_once('../../../include/pdf/fpdf.php'); - require_once('../../../include/person.class.php'); - require_once('../../../include/studiengang.class.php'); - require_once('../../../include/studiensemester.class.php'); - require_once('../../../include/lehrveranstaltung.class.php'); - require_once('../../../include/pdf.inc.php'); +if (!$db = new basis_db()) + die('Es konnte keine Verbindung zum Server aufgebaut werden.'); - //Uebergabeparameter abpruefen - if(isset($_GET['stg'])) //Studiengang - { - if(is_numeric($_GET['stg'])) - $stg=$_GET['stg']; - else - die('Fehler bei der Parameteruebergabe'); - } - else - $stg=''; - if(isset($_GET['sem'])) //Semester - { - if(is_numeric($_GET['sem'])) - $sem=$_GET['sem']; - else - die('Fehler bei der Parameteruebergabe'); - } - else - $sem=''; - - if(isset($_GET['verband'])) //Verband - $verband=$_GET['verband']; - else - $verband=''; - if(isset($_GET['gruppe'])) //Gruppe - $gruppe=$_GET['gruppe']; - else - $gruppe=''; - if(isset($_GET['gruppe_kurzbz'])) //Einheit - $gruppe_kurzbz = $_GET['gruppe_kurzbz']; - else - $gruppe_kurzbz=''; - - if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) - $lvid = $_GET['lvid']; - else - die('Fehler bei der Parameteruebergabe'); - - if(isset($_GET['stsem'])) - $stsem = $_GET['stsem']; - else - die('Studiensemester wurde nicht uebergeben'); +$user=get_uid(); - $lehreinheit_id = (isset($_GET['lehreinheit_id'])?$_GET['lehreinheit_id']:''); -/** - * liefert den groesseren der beiden werte - * - */ -function getmax($val1,$val2) +$berechtigung = new benutzerberechtigung(); +$berechtigung->getBerechtigungen($user); + +if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) + $lvid = $_GET['lvid']; +else + die('Eine gueltige LvID muss uebergeben werden'); + +if(isset($_GET['stsem'])) + $studiensemester = $_GET['stsem']; +else + die('Eine Studiensemester muss uebergeben werden'); + +if(!$berechtigung->isBerechtigt('admin') && !check_lektor_lehrveranstaltung($user,$lvid,$studiensemester)) + die('Sie muessen LektorIn der LV oder Admin sein, um diese Seite aufrufen zu koennen'); + +$output='pdf'; + +if(isset($_GET['output']) && ($output='odt' || $output='doc')) + $output=$_GET['output']; + +isset($_GET['stg_kz']) ? $studiengang = $_GET['stg_kz'] : $studiengang = NULL; +isset($_GET['semester']) ? $semester = $_GET['semester'] : $semester = NULL; +isset($_GET['lehreinheit_id']) ? $lehreinheit = $_GET['lehreinheit_id'] : $lehreinheit = NULL; + +$lv = new lehrveranstaltung(); +$lv->load($lvid); + +$doc = new dokument_export('Anwesenheitslist'); + +// Teilnehmende Gruppen laden +$qry = "SELECT DISTINCT ON(kuerzel, semester, verband, gruppe, gruppe_kurzbz) + UPPER(stg_typ::varchar(1) || stg_kurzbz) as kuerzel, + semester, + verband, + gruppe, + gruppe_kurzbz + FROM campus.vw_lehreinheit + WHERE lehrveranstaltung_id='".addslashes($lvid)."' + AND studiensemester_kurzbz='".addslashes($studiensemester)."'"; +if($lehreinheit!='') + $qry.=" AND lehreinheit_id='".addslashes($lehreinheit)."'"; + +$gruppen_string = ''; +if($result = $db->db_query($qry)) { - return ($val1>$val2)?$val1:$val2; - + while($row = $db->db_fetch_object($result)) + { + if($gruppen_string!='') + $gruppen_string.=', '; + if($row->gruppe_kurzbz=='') + $gruppen_string.=trim($row->kuerzel.'-'.$row->semester.$row->verband.$row->gruppe); + else + $gruppen_string.=$row->gruppe_kurzbz; + } } -require_once('../../../include/'.EXT_FKT_PATH.'/anwesenheitsliste.inc.php'); +$stg = new studiengang(); +$stg->load($lv->studiengang_kz); + +$studiengang_bezeichnung=$stg->bezeichnung; + +$teilnehmer = $lv->getStudentsOfLv($lvid, $studiensemester, $lehreinheit); +$anzahl_studierende=count($teilnehmer); + +$stg->getAllTypes(); + +$data = array( + 'gruppen'=>$gruppen_string, + 'bezeichnung'=>$lv->bezeichnung, + 'lehrveranstaltung_id'=>$lv->lehrveranstaltung_id, + 'studiengang'=>$studiengang_bezeichnung, + 'studiengang_kz'=>$lv->studiengang_kz, + 'typ'=>$stg->studiengang_typ_arr[$stg->typ], + 'ects'=>$lv->ects, + 'sprache'=>$lv->sprache, + 'studiensemester'=>$studiensemester, + 'semester'=>$lv->semester, + 'anzahl_studierende'=>$anzahl_studierende, + 'orgform'=>$lv->orgform_kurzbz, +); + +//Lehrende der LV laden und in ein Array schreiben +$lehrende = new lehreinheitmitarbeiter(); +$lehrende->getMitarbeiterLV($lvid, $studiensemester, $lehreinheit); + +if (isset($lehrende->result)) +{ + foreach($lehrende->result AS $row) + $data[]=array('lehrende'=>array('uid'=>$row->uid,'name'=>$row->vorname.' '.$row->nachname)); +} -?> +//Studierende der LV laden und in ein Array schreiben + +$qry = "SELECT + distinct on(nachname, vorname, person_id) vorname, nachname, matrikelnr, + tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe, + (SELECT status_kurzbz FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_student.prestudent_id ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) as status, + tbl_bisio.bisio_id, tbl_bisio.von, tbl_bisio.bis, tbl_student.studiengang_kz AS stg_kz_student, + tbl_zeugnisnote.note, tbl_mitarbeiter.mitarbeiter_uid + FROM + campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid) + JOIN public.tbl_person USING(person_id) LEFT JOIN public.tbl_student ON(uid=student_uid) + LEFT JOIN public.tbl_mitarbeiter ON(uid=mitarbeiter_uid) + LEFT JOIN public.tbl_studentlehrverband USING(student_uid,studiensemester_kurzbz) + LEFT JOIN lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.student_uid=tbl_student.student_uid AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz) + LEFT JOIN bis.tbl_bisio ON(uid=tbl_bisio.student_uid) + WHERE + vw_student_lehrveranstaltung.lehrveranstaltung_id='".addslashes($lvid)."' AND + vw_student_lehrveranstaltung.studiensemester_kurzbz='".addslashes($studiensemester)."'"; + +if($lehreinheit!='') + $qry.=" AND vw_student_lehrveranstaltung.lehreinheit_id='".addslashes($lehreinheit)."'"; + +$qry.=' ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC'; + +$stsem_obj = new studiensemester(); +$stsem_obj->load($studiensemester); +$stsemdatumvon = $stsem_obj->start; +$stsemdatumbis = $stsem_obj->ende; + +$erhalter = new erhalter(); +$erhalter->getAll(); + +$a_o_kz = '9'.sprintf("%03s", $erhalter->result[0]->erhalter_kz); //Stg_Kz AO-Studierende auslesen (9005 fuer FHTW) + +if($result = $db->db_query($qry)) +{ + while($row = $db->db_fetch_object($result)) + { + if($row->status!='Abbrecher' && $row->status!='Unterbrecher') + { + if($row->status=='Incoming') //Incoming + $zusatz='(i)'; + else + $zusatz=''; + + if($row->bisio_id!='' && $row->status!='Incoming' && ($row->bis > $stsemdatumvon || $row->bis=='') && $row->von < $stsemdatumbis) //Outgoing + $zusatz.='(o)'; + + if($row->note==6) //angerechnet + $zusatz.='(ar)'; + + if($row->mitarbeiter_uid!='') //mitarbeiter + $zusatz.='(ma)'; + + if($row->stg_kz_student==$a_o_kz) //Außerordentliche Studierende + $zusatz.='(a.o.)'; + + $data[]=array('student'=>array( + 'vorname'=>$row->vorname, + 'nachname'=>$row->nachname, + 'personenkennzeichen'=>trim($row->matrikelnr), + 'semester'=>$row->semester, + 'verband'=>trim($row->verband), + 'gruppe'=>trim($row->gruppe), + 'zusatz'=>$zusatz + )); + } + + } +} + +//$files=array(); +/* +foreach($codes_obj->result as $code) +{ + $filename='/tmp/fhc_lveval_code'.$code->lvevaluierung_code_id.'.png'; + $files[]=$filename; + + // QRCode ertellen und speichern + QRcode::png($url_detail.'?code='.$code->code, $filename); + + // QRCode zu Dokument hinzufuegen + $doc->addImage($filename, $code->lvevaluierung_code_id.'.png', 'image/png'); + $data[]=array('code'=>array('lvevaluierung_code_id'=>$code->lvevaluierung_code_id,'code'=>$code->code)); + + +}*/ + +$doc->addDataArray($data,'anwesenheitsliste'); + +//header("Content-type: application/xhtml+xml"); +//echo $doc->ConvertArrayToXML($data,'anwesenheitsliste'); +//exit; + +if(!$doc->create($output)) + die($doc->errormsg); +$doc->output(); +$doc->close(); +/* +// QR Codes aus Temp Ordner entfernen +foreach($files as $file) + unlink($file); +*/ + +?> \ No newline at end of file diff --git a/system/vorlage_zip/Anwesenheitslist.odt b/system/vorlage_zip/Anwesenheitslist.odt new file mode 100644 index 0000000000000000000000000000000000000000..38cea313ecf2908a09a424398706ac44b9d47075 GIT binary patch literal 85474 zcmeD^2|U!>_al`Q(W|s*nItMP8)J(a3^R6StchlyVK%dvF%nu;+Gtl=c&~kt_K=eH z5+y~E>J?h3Xp{Qi?~IX3z1H`8zu*5&pBa7cJ@?#m&pqed<$KRPz8;!g`@x`(B@a(f z{-^CnAN+L|@R=NzR78<*1bi_X;rm(WA)P=|Xfy_w0SXI5%91^mm>1GNtjF{(O46hv z5rZ$Wkn_0jtN$3uz)p}bxdMuWp{ly`CJyMN6o*G)F~l8O`f*jmKVQg+BjHhmUn<-g zoje9#N~Lt9^W!Q9cT%NLAe0KBqF*4jvrZ9;1S}ClEdKTy#S)4{`WNLoYoA0Q;C_2; zP$?mW&){|tokc)ImpzT&9?O8ipl>h07n*=CX%mm}6M&4sV;CYakX8pHlm*fV&fwDo zbPk{8U=%=hHMcRE;MjA#fXU?07gZw2c`L9J5{cOkyOOD6Hvq)u^pen zV~Fh}G&_Ni!B>~E>j-V9tV@+5mc()yUt3%W+_AKTA(wn@VF>nvvJ~pq*DQg6JC>%4 zD6+4u8G;2&?O2>C_}ap9G1r_a09@w@fnE8C3OSdQylUWr0GdVR;M*hPQ1V9km#0Sz>l{zbh1C2ylB2>?6N&z$w z`Y(XXL>w@NbO3)Zbe&&5Vju)gwibj zRS_kSx)#V5ez5=wiGX0#@Q{eSH}WD@`#8iDNco@A%F z+AwsKdamF*P^$RThE$26BT6QR!Bty~c0KBhGSGN)o)`!aP!xf%4V|*|2k3x!%iDzH zFVI2CA)qrq#`uw;poztp_afRsbjbb)D9;=k9>D<6*2)gk0<@81Pi^%qKxIM1hz?0i zFr_eOQfLfwI)la)gB~=z)YoGgpdYN3B*Se4x=}3YEd-G9Z;!(MD0}v&!&8+N@S* zWr{giQ~^^h;V{H)1!NpLG-X2BSRj#T8t7mpoE?SBVS$wik0N4$@m7sp%%;$xX$W7y zSL-4|Rj=~5gYo!0r4~3fHfBd!!BmnfQ+w8};)9j?i`%`JQw6L*J^89l&qph*l-%qsjFCiLbVQYi>5~EQlH0Jw> zcKJm_W4=VPHRcD{jQ>Rx+n~QF&nP6u>igN;xxp|O31ppUAV~dG{h&lPgTrEjsSVNs zB2_hc_;%&OeTEpYC&%rC8YuZwa=@$!m`n=STy42HU=j}22uy*UkV1zxR?N8!rjk|^ zQYpV3azyH8e3~T@2toTG;pqTR6-a=MexFVii0BMadj&`7U;_%K5E&PTqkf z%C|X6Q>8t=Z3tD(*gqQXlymIw7-Mbz?cDaE_Ddu1H>uj++nK(fjMGAjh{6(4glu)^ zf&}P2k#g8FSMB+@3Ix!;aL093d$EqwC@>R&_Mz1CCmO&5Z6~Wnz(}cB!ePdmi@`jK z%P^OL`Hq7Tlfo6ZEd$j8t;F!j8dJH`q@t#68wOOSOcZkzU|R}>6oUQP_DxVb@LCL@ z2NNfTr8NfIG3PzyAH%eb)X;_)gw!0o52Jtutc`^=n2f2L(O#$W#RZoEw)vEGf8!Lv z_mh#Toi24vopb~V>{`<)BKiki@tq8_{0zgWOlz9eUofl<<}(aKp)JsV!7-@vZ{^r0 zW6R&ovCoOvPvDpm^~dalUK)PCfLW^LNImuZo7rXa%j8Rm`LoP|a=%ryfV{WiYuiuy zPw+}@&}3~ZVyb{k@2H3E=IY1g?PCtAs#F_1RmERqu$ohk?{hjai)}FfEqy`$#419J{NlvDb9QxT z@L$;apRqt8f1>7pN%s3*`=~#^ago3jeZn&3h8+hSzEm**NX5rnc5cv?9*6efim0vF zM{``&0gd)IkCwK!ZLccZGSqK2KTQ4LrDhxC`*%8RNL1v>04)wi(5}3iVAUyOb0|Z| zpqsZ#H8>K=7npN7JWe|(1Ov9(_!5B>Z1=173)`CA{=OER6$4q|=$AR5N?k{LE;z^G zU?c>N4(c4XK*Ui1jNnc0`;r~W>j3acVID^$f?hndZ}QT(9MC!ugC-db-tmrufABNL z2o4>Gv;*f-IDF{DDcF-7)s_Y|N(7EicSsU3piN6P0B~Jkfc?kzXDV0Pu{?{y+w5|nQT%mqRUjUxf4^*$-a6VL&6v3iHGQz30Xdeq4QBlX!M zs(>D=e8ZrUf8~y_YUdcz7&|c|S_=FWIvh6yXLUZ!fh&{f9I=o~i8U8UCE%z$1ITC$ z)R|zCtISsI2NStmu(hl@P^jAZ`B98Y!~c^|LB>tV%O54mMdgOjhHO0IQ=Tc0d1;SV z_BK-lPHU=UPpO1$JNZgmq6AR!&WXdN1M8y11;i5wzPTh;2;@MeFCEjN6mzwE0A!KC z2{&l-+sXoKsk9hS0uU^uMf;Qb*pvlYb#w**sE>P~El}2wK~d7805VI5cG8imaiFaY zN{NLl-5~7PA_h2h?aQG_q`;vE0i+k4HA5=@Ad#*v$`cYu8#K}uq`KHTSqS+oa0VIj zudq`!NX&sYQ`Ko=HgpD!0el_6B2ooL0jPlsm4lIh?h=&Ydd_X%(Lsr(e^wgZ-A9}kE88iUK^^;3V}0%?P~W; z<($5=obz{-^0zC3~AIKdrsfZ7R z0#K=v6*cuV0T>Ix3_}TJ4!s9&6N;Y)@E-MFF{o`o{I2$6)qVMwP5zgjFN?%~Cx4&= zcE47BK2#-OB|5RXzs7cerIo77ex2>W@f8#{7Y)(rlC ztz7}k`?YeRwv=C~H~-S}<$>}a#vkG@r{_OsSHPy5;U7-Z{~cRY0{NZ~{|o&2 zUmjcjwIT0i^^5D?Up~M1cYX@FyZ-f7$bV;l{V&^)zhi!?+8YM12kDG|-ZbRdNBBW1%m@F68hFf+}}r| z>g~@zl7&BgZ~EUk!@qk-z(wr+I`Kbei@{m*AF;)@Mvkaoqq9Fq7}_diJ5Uu&d#N&WXMY5t|>@3rXv%ll|QIJp289fSNuCjAFV z`v#NlFQ9{i`cj4hP6EfPMy1vIvp#+Gu$szd!OP#4?@WH7*WXYe47NCI*xObNI}3A#fccoRf@H3^Qc3^rE+ zXK?rkhSF&OIE^7Vd^oo-3u+J?+{FY(!-D_?4E{Jcl_LTE3sN2g4^B$b8ITVSlm!oD zhD0$(bE2l{w=lE{TKy3H9r3>7aE`~x1DM8zSA+H!E6mX{j zu62-ST3Y}F&|qufD@DR676^v`QSiP^9U2cb@H;4Miwu3Ntl$efE z3!u!tnbW{Re-IO}W0b!RvHCt!{kQe%$8~)MX~#A}nkbg?p+2*aax8#cyr&kbd^|$U zq;~W3(foyQb$lHf*g5Fi1De0IiNM#Ix3;$gY9n9{m2b0fs;sZIZ*7P=#FkUK<+jfO zI>fyB&qYW3V(6n!;%$9P5GVE9miO`efH_yY)I&^l91s24(L}(x6HM^TLGUC7coTub znj_KXNJ}ybYlpVBv$C^>}NMMh!lFi>d_{sKg}fIj09YA{u; zU?6~W*qq)L9n;a5jIt%5Exj<7q_%240r{{bEtUo*p^laxLANEVV3k39pa7bVAO?zs4FESN zNPz1%hXz;H)3%)s?yLq=ap1(KOjO;)K>ILJK!w@?))`7raL0iXROxpA5oG&)8ERmR z8XCG)SDk1J?o?EwfWqSe?{*Mfpbd{TN}UC6u`rjhLDV;}KM3w*_yiJbg#>n_eK7=~ zd;iqlWM%S)>!R?JXdNinDfCs^6%g7Bn*Dujy_D;WPv;Tu=WUpeBDF&Ew)PSI!#Ycl z^BxP$U@+)w-Vy9;ZVQ;}>+Po7b1<~B(~JuXq$M zlLz46zO}!9!`NDz2p`eSNqfVrOY^70z5M!Ro6Vcme}whj?x_VmA2d9OJRzO`V4m>^ zZEbjRw*|*Bs3gY^XygYl9*!iGhT$^+~TzRXVzj^7uVQ6ySVB6 zdDg%_8ysC8^=y(ZE}9PuJ4VqyK0r_%_qI=!{*a;FoSX*@p+6~J(>P?vH&@pb(%0h$}* z!^wROq+J%5o0y)=-{iSSZjh3)sdxnN9oh1KjQ2Po%Zm_@bw2K`95mcRs62kgvrD`?~1ya=3-kDjd(W& zKDQ%Fo-7wgXHV;TaMB+bYgnrxi7b)q9WvP93EHJbUMU?p*>3$beB#S>c1Qebdrc7% ziP}+TOwWzoWSin!-%x(%P;D)H73r{cmfpKq7wZADXXSD#v@C1Ro!X4A^A8IPJ9B$? zax`-Hd0oS+Rld)sR_LzkuQ8F};xasGvzvd|4dUf-9?M-)nCFE%T)XM%>PnN&#tuol zoBHO>gH8Va{#l{o5mSrczv=v$e*5+ws6#4O?tZQlfT#`5rp^+t@?PyS<@YmBqVzN- zibQ)*E{4rszxVCAZC!sIjaH5Bevh#3ee=U2lDqeqnabt4Am;emLbZ$Rw*!coxs_~jj<0ji> zEf4m{G&$SF-lCVc^Vajpr`?F;2-A(yJq6Dt4c8w`WV6|itOpP(Mh~7vSb%*hbA7sH z@bReQ8?h?_-B-ED)0gDtnY`6mAI3TyTR8FS8<^++^I7GlH^Yf{TmG!3UCB z%~aWM*EG9!opE=q@w_Lwg_gKd%xs2vt8X4TsddosYs;+jYUL~55mIUq@Hc0wi=Sm~ zH|$oD(s(L4IXP(i^|PKkZ+LIC%UJSKC$W6nNnM3O!Kvetln%&R6y@Kyv zo^p-3dGxTuvCrltfMl8g%_K?Dp223C;ya)6!Dsoj(^XiB4FR>@Xrta{rI! z2ffFYTBMsL#{Yronc(dndZg#XM3eE64$0F~`%;-gJL{yTZTZ8|-6#6apOol7DBtlN zRuJD358DK?9f2{#-gZmO3uN}|0$XEMyn5+U^3D?1KlDp-VBryYihVr`F2kz2!9py@ zpN0+S{pOJ^CdP7hjJGTsCBi_QYzgXG-N!6sk8Y{|bAgo_=jOY@7TPyLWR& zNqjCb6wfkE(mvnw&{|mV$jdSlmrELn?x|e6)AUqpP3|S2PL-Hle^&P@ApQ2|i*1fJ zx?Oya4eSeFJh;o2L51GbhaNdp@0GvBwZ4|=p?4q9c%IPTb$S262F;?&;X~60mCU?! ziGef9+B9%rXv)Ej*`1Powr+i!WwLMvoWIOgR1fop#AIFOy?+ zT>{Chvpmll!@hT(YuX@?&zHidI1bFe*>AuKUD%1>-msv7v$C>Yt}Kswn|i05k2EtW zbDB>GKH}bO#!=YwVW`(Fw|6s0gSUDt8s^Y%28j~B2%&vC4gUnC?=YfoW#okiZ>!?o zjqB!%o7sn{dB+7dKt3R{d#T%0%(bBf^eW>W@cT(KV9YtQ^RMJwy>2iVwRqx-MD2IH z4AyRQ*sxJkERwM0(}cvT2*$ON%PFY97jJyEa_mCazI7)MMkmgc!U&^!)+>heIRx|F zmMy*?5fXq+pUJiw?+V=v8{1AgmMq6IUUgI@?k&YD;$M?`i{uOi}Q znw~}JS$~c=E1ztDT;ft_>m|QSIelKw$dEX5GXLW739Ij)J3EO&PZ+U&eeECR3H4W+ z4i>K7eY$Ix9opLSlY5rAzV$AUCwtF@RqYK3OU6>iYPMh!rzWrLeygSV0X63O*@(J& ziSOh;tdXe+m)MyXk#ikZENyzcZ|t)f*j_2-n%CYoKPb;QFlGrocA0UHcQn_SF~;L> z?=HAz472Y_JeAjUVMN`az6Twu-Gh%h-pkd*EY!&Ert{FSyRD!8wIegAYHicrnEkZnSdd0j)Z96qwXG|u`0%-o0|XEA?<_wX=2+)ZG%t7EE^a~6 z`9%*0%$zx&VMvk>^iXrv+K-8M8(2B!-iE|C#Yj_l%dk?U~#6H3Z|pI$wfv8b14LDSp$v3l%L@rcg;(B z6NVp(O4Nf%qa4Ym%W96y&%O|PZ`BQl1y!My{Rz8DT=Sh%dJB>l-RutA7PKpH@;Gzp z;r?-pTdGiwE~NhJ-r~D;nKIq`DHyeVU16E z3WP}Q`Kx>RwXVC=xS2zI67}NAuu^}l11(SEws}c+{X|Ar9ivsV3h43i^QT`kpw`~> zFG4_8ZcwEzwI%tQ2$$tF_w=cZxKYa_)+Yo^nne6cd7lS?vBT|wZV-^?X_rJI`=PLPK*|wlXJzaHl=v+?N#%zzV9u>dppdB+aBp zOsM|ta&DhKeZ2qd-ZgC=|H{J=n{mO{p2AqH7}|x^R{g=8rR#$=Mcm6V+sotwX@f89 zndm>4-}_PoQfe}L&K%k0w8+hH+b}Qp*Fih`rxoIVTjM%$sel`H;Blm>J{D~nZ#a>D zybJ8;+3C5%5@*nUZ(3R>m2P>9`>pPv$+)MnTC5jQU1%-%O=q`{@)+5$^Gv2`S;VMg z(ecUHu{hyU3*@Ef-^w;cUfnurMg}>-YH@wv%e{A$xbjJZLJZD4y*58kMW3pRXMcTegs#!(DAvCA0|c_#*xRnFSBSJNcIV#nf)OYD)wXS%eM;Y?X` zX1nF@l!ss2bHoYEg$Q&O?x~~Z+voeM_>4I%^-BrYOa-kr(L{4H{)dDubUp&J*x zneEaXkd$ri`J1)0r*7K7J6Qt8_VBz=e9Aq|muym47Nbg5C&aWb;&JmcQo z7mq!c?7#KF%8L`vSC?PbO7ZG?%Y5L>O%KbPuWW$Qj54P!CqhYS!*&pyx^?+}N)bi^eX zC8&yYgZ0p!`;_7Na(dEpqW+whEsDd20V{*7298^Yn|WX$4FfFQZ1l-LP`=kvM=hD5 zQE;s24jx7WgvEoL>DI<4&)4_MVx1^!x$63SLGE?9d{97>HcUTz2h3#7Y*!u2bM;30 z9?(!m@C-}q2Jcp&lQT3rBX#tQe08GRO5-ff-afm^I9)t7*Zc3- zxXci{J+IHup}f6}?#X*BhbM-^uX|-K2-|3MM-#S3`#6nxwq@4cm-`GiW@auR|7jR4 zeh`9$!MeJ=)=cDgzqeaNI=4`U! z7msa8x`s{63m@rlY;Ka!Sxz` zt@^NiN#ydaYa`0y*JRLA^1Mylw1WZ-?yg!a8JwikI@O`nYu@=F{Y3WQr0f0Z(~}9A z3(jh0&Of7#^26>~hAh}})iHcO7dG-(c?PVGNF@GAp->W1Z@tu_N+u*egGoGhBhFiE zbb}qX-Ew!u14H8;^k<88f1BCU^{&03YJ7?1Z9za>PM5^jrlYn`=0B>6)V(|6Lh0|$ z1Ow`^-MnLGmrWZQUz`YAZ@7sXrD(k3(*>@@lmI=USS9FKu1K7?09zVqIe154PWRckU~so7mLp%Euc}90+66yf8oAGbOTUg^ADZU0coqvrc)ncFZ_Ti- z1<5rp>MdklX0E@)IOn?hrA=2uu4C7NLr%vv4_vx!3X?o|T-Gve{{23^`{)lmEO~YC zbx%V0fyYA#*I)(5cI4jJktxIVPy7v*v1Y-JtP0Iu1&zNKy%rN+44qp){`Au>uzkHq zL)P4MEMt#6r!i-a#u}FE{?hHIDI+RQFB*8OF!6}S!`esp_Z@qSBTVa-y8B#@IZ+!b zHt*`O$1KUK_RfR40YHwsX7@u@X#2&RxERJROzM*u!QJub(oDQ#&)GJK-Ws)q1+$YH z`6BAW$6I@EilEIb%rVwJ%052w#f)3d1<^3X$`$)4@eeo6FEn~vkjyJ*k6ffLT%N=? zHF?8uep9g{hG<1A3jD2X!<46}P* z9Cy0;b=7#d>oSGUsX^NPjeRAesVTRw4O^AXPO5QV>yAh`0l(rna*V~}yQRN-%&8j% zmbhob{&oR;FF8{bMKX*s!ti4p76Xqe0t%u^b9|gpnLCyJ6#lAOdY@$k&%O@ zX?)zwte}J<-=lMX+`q-frDu33K;f>- z&ekrTLLPMVo>vK(SbcEhCL5cIusrLKCufcwD;aequ6OU=-iqG67kYCqYbLrH+G5BJt&fX=qu-w=*@Tg1FgT=){8Rn%8 z_bvdWuQs4xy*mn{u8t@7>3Sosc=Cn7s>cp3e&EwmdFqtmos(F{?x*)fl|N~jOImRF z)R~e#$ByA@%Ma+?xOubY>JG!PW5)_H)_R8y9Xg#KGqi5d{u$d29y&xhdw1@4}Nc z_8rBb(b0CzDHqSk^6wc{}``y1R{Y9jr zdwz9u-`>M*yN4|AUw%05;G`?f1;?rf<6jqOXv{DXGEm=lKx53Q0TEX{UTZy0*Ok3EEKe)Kk7`cM zK+P`d^)9jI7;at@BL7V&P7Z5)_N*w^beL7tvj{`{>kwHnIk$M{x)^K1>sTMh?xt>T z_|-ne8P{Hym@cT_q<0~2c;WQfV@pNPp7Q55-7|X{BmDE!%&eOZ`oj#SzdI1w&2`a` z5_pZq`h=tT!MQ?>jmu~4dmxLepL?ob>AsOQ8xFmgr2qDG$(@(=>4HkPqfZ)l!^gu? zhGKe7pYqNq_yGSVQj+{<&GGPzjF@J89P#K{QeMv)-Mil|M(jFKyJY0xcmde*b7bF5 zt}@W9n4x#0ye9t~NJrjx{8PiRZqTZ0xy_j|B)5nNfuYG>(x)OaAR zv6=JQC7pVZ;GIkaX1ut|z=|;4DVBquR2U}Y#I|M}VNvUs+D9ft9F%Vf@4tEX?#)T} ziE?Rky6#nvT{%1a_4IllFGcFQ_>r^v_OS>*oMIMqIoirWv#xFsP@cpCG9R761C!6B z@#l=57rf%2hPC)vg+mharj@2v@3$3f`0L#Omj#X42@=)0we z*g$KcKi0l;%E;P(;PlHI9@pFDKv&^`u-dtAJDah`@F>XpOY`vdlFJN)`}g-PqRl95kp zPOS@l8F#+s@#EPeW@uf{eSH5xCAZ!I#)VCB888#xqla#+UrBc2*!wm0*42C5<$osr z9`#}-VvOIA)`g$|rSwtXiq-=mjW;egHtZNbqUDZ{zp&=^?=e9^B%;7_uwP){PTwbU zx>;?%y=b`oNvBM|)T&Ld2(z7q;+T8e{dvQ!_xo+l zD`B75#jH|P-!qQ4x_xBh(ggP7)_Hs9&Fjf+ZA|lS&Tv~e?7$^gV4R-pzJ4S*nPg1qqCpO4k59G4%k=a>j|aE3-2VNX z!L$KK@0rAloX!`+{Ez%rr={0(=8+>ujLaD=-u?O+#B6;*?^1XXk-vwq4i!K4_4Dj$ ziP^?Po_~;@o@|_U$mYf=)w!$YXDvuK+&j0jr$d}#Ob<|7%3jM+b(1Ggu5Z4*$Z!++ z(dCP4@H9y4+^Z`&2Q~KYr&0-N3pQcte{_eD@0L3#)>vb>0QS60|ODSa^?-QnO!szt1oW1meKq)#KJDOekt-O4%N`rQu7~mCw_h=*oOB#8*+gebtUiN2mUE z#cPiy(oXpVZ}&)evt*9&;Y;mVclPWfCREOhHZXe}^Y*^k8k^X|H(yK;YfYl~l^ssK zvKO-w_2^=SWWay{I=u$ZBW+q1*d)i4y*+W}^1eSjr{R*0M_eMa!kweK97%C5EFnVnTduijz>Z(1lH>V(jy%6KZ`s?QjsvURuS1086o#CGo zFt>SY{+&~|k7+#?7?f%j$R@l=wl}%CQ#cWIvhhmaMYq>AoY<>fw`iz+5*X>uuW{Um zf@@J$T&{KV{B*bk+nnDW^kcvM zG~HpbY>R<3o|7W8B>C=wbia@-BsP4$fn!9&Y=fvjgBM>u!pf|_&0Ai5HGHZ#&e0lC ze17JYJ6Wsl>}2lB4Skf=SYfEseGL+$#b4>wVpX>Dfb4Y3z=?q@lUD7V#KF_yQ{Lv9 z+TDz+*fXExSWW43K66omz%!ROHQoH;nM14Q>p2GQOeSwDyJQifv#%mQ7e4F$L$|qg{2HRxnR)E>ukZz+%cn11Vv2hzCm7l%yy!o-KE|` z9V7b;+Pq>N!oXs8adwcuKQ()(JrY^)_`X)}-RGmsj8`A(izq+KFHSS{nIwNQWBP2k z4Z)Tc-E{Exd!x?nDKc8Sd}$MGvCjIYkg_qXpMcnZkDu;~pM<7wJ0t_6smFggm^K!|1tcjx}bW&Ov4&i@vk! z{{2a*;hW0uT&c6{)qjG`L5rEQjEPw1LpM*K*&PY zbJEidH@X~7geK`&6=5al;bu#GYbW+suDM&cyjzOO7{gQrxx+Sqx1w6@+Mh~ zYj7>~&7E~oT-W|4M!D~5ur5cRn%dadjP_iy%*@EwH#m7)-Js3euWSI^XnfY3JvjYw z&Lex?>?q8l`ED+!bNZCH1?Bmk3ayPXI-XtaQ^B1v#BkWuXK=#{uCF7vM>S-v!=fvv z#lv7dpFn2;r0z3bt(hFg?M@kuK%6>SwV(*&Q(OoM&9eHWBn|9PrxzD8X5Dx*_2Km+ zN1api*YDPU*ZO+W__wvrk9P8hCp;b0rOWHg6>}>dRUa7uI%-@hmcMhwxJt*?A;lNh zu{LaJuB{sCaJW3dzeO--;T6NZg<<;;W5#43($|449OA%S)-=E(eCvvWd)W8|lLb4^ zSZ-1*0{eC&VbdNwe7>V(H08mZO8pg!$qgC?SAE06rt^0Wja&F`&hUi&b-N=yYMT_s zf*V}i<|lVf-pY?-mBlsWYaYEN5ai7`@7cmyckb-j?C58K+#9+3s;1t{DvpBltF()$ zX&K3j#h9RM#olaj^Y$?t7F$*jtP(w8;TJY6Oy4?b&p7KyR1eyAV$wUqmLZq#$I1^D z-n^j8=il@V4^IN4*rT2gr|j6-ye0AZ-T_O(8ep0JTly`;XO>*s+!%E4MY&FoX8caS zEiOnCOQWMt2kHK4ZI#1sK62Q`K2s2p(DdlCmUpBnok<_zFfym4Pa2rKztngbt94F5 zj9HsYtIF4HPGXLTw|Y|DO}`shCim`EWAL~&#d^4wTe(py4t70P+t%iAkGgHL>eh7Y z5g>I*6Kq0b>Ws`noOJ$+hAn|l^5i6uP@=PY|Mf2pT ztIA4Rz~3HmvASSk;R^Fomd=9(wzStFSqZxvhIljYRtD@pa0C;$I`95g-qFU4izN@U ziZ$RG`i5t(6>l><&eGl0I(fs2#Z9!aO($m;j%=-VrlBsm4O(Ymz73ZCVhyjcYSpp4 z{>2wgBlfw^b~Di_xUxaYT3e@+>Q$=M{CMZ+%i)`cx@^lDKB1s8GB&OI>nSHAj?Uzs za-2JCr?&wEY)DuhQAF(L^tnFiYB6i+oOibN^A0-fu3=|rINTi9Ll5?1;lrq)p__Cc z{r)n~{!!?hSA;uSa$3#a4Y>zIdxw`Ev8cG)W0L8})it+XJwOuNw>X+_4w~`e!r&T# zRqM`MRYHBkX$!V6i(lIApml4Fy)#$4w(gI64$CudZhjH-;v{-)pE(vcPuxA0Z<5up z;ArdpV9l%snpIwUg+^NUSJZ}(%G4t=y#c+#=2_#DkSu3g<^tDu=HBt?T(7TkRQpH;2VeEqS;kzCONct@Bd< zw{I30(FZJ*9bD9WW9f*MmZw*|2wm8lpumiIko6lXJLBTimWhIcw&g`O?_S>OHmc68 zOi-Slt~azO<7n!(@m0yFDUZZyBYLL12wR9XjnDM9d(%wqJ+|rWtv8n+WIwnN&|=Q4 zdOhXcu*L>TTv|1`mudK^-S;Q7{%K@UP5v!`9^o_Ykl9L5c;TqJX4gSlh_D0enhGDR zk=qvaw^_DoQOX;Cd`28^^UJ)$N2V-3lWX5+cZ=t##Z4|Vt&iG7E_qu&@=neD8fxpX zRdXiXVb96ZN?dn={P2lpZcRPCE~x3@y_wl2y+qS|iZx+Fj-;|&U+2dVUy)Y5I&HS& zq5kkwxPFVDp2M%XNFFx3_TIz9qZ1gdqjAqx_36DZ##tfmUy17{JT+y){Hd~TEzU^W z`wwfEg~1AzoI5K%%<7%vC}kbK^hf0GIvbL-_eR*N9=jTBxY4|-6G?%a?3zJl)oMKY4!HjBDjbH{Ds$%X-}S7g6idQ|6Yu3na+m0Zd;=*n- z;vM=G-;nL>Mr^p9Y&~q@;AJe0R-`P|)RR@=glRE6!Ep!nVWNG+j0 zUUy+wJ_i-00Ygl%F^C`kfN7C(%;6CImteGB|6Ky zo;6_U9nY8zMh*Lpi?W#gS8jP3P?5B24yJqh!^-kOquz*W!1lCBA79R5?pv$Cp4+yc zcjaCeU!~sb0;`hW-e2+V)!w0Q9%<7~?6~npyw(5p!rD99Zp#u;fR$J8ykndE$s@Md zZ*{oQS8MEn2XC2-{!@+wH3Uo#;Ekv+)HDb!Jdxxm7jnytd#>Amhs`O~JGw0W!XvJh zUx6^e$8+GNobZ;s?$zu3|7baApSg==ozkmuXL-V<5snLWhqeNt-InAWIKfe4W5JYL zF%E8VCatp!i%yRnP0CuJTRRtMOaI7cK3JeO_jgSqG-@YR8Bq4c$ac3rV;3;zRq^Yt z7*=ev&qznFw0~w(aX=A)C;Z-T*yZY8eLV>Y=#hHX^UbzbP2w!xUCn*mip7+!s7tZo z7WIC7di3baHTxdT8CMz+D#RgxHjlJuM&_Zi z7OmAeMn{Unoc#_}QD4>Wy!?Fa%4S+5w&yvifw*#icg;zoFAwq!+hC1Cq+p-bFW6(W zD{pjp2!g~yjy-F(>;Cn7@`Q$v^G9j=uFcJN^HyhuBO^EVlT6-Q=euw3{n|Av!H8C3 znmg#ABEnf70lO3XELtcTn*Mg0WptXZmX_No&^2x#=$SxZ7sFx5pd6*U4)8wswA_bf0s%Y@_#=>^po?w5s$gqe0Tk2;xDkAc z;_K0RDg#FTe7r#%x`f>+!Inr{tj&)RO<-_XY)PlsQC3(KxbE$HSV98f>iijWCEvmxp}D|_HdLCg<`$mdiA zZG{9^ihNJE1#-k35LEB81b?>@D$#z9-XFv2|5+V@G!XkkjBpZ2Bmxjv@&l<**&|2+ zzmxD#fq+K_?kgYR1z{vbAa?P0B2@|+B^Eg8I}1R7SpLUK{j;z;2?S9;O{>+6RcSKB z7jSI_@Y(8|Gbre;yzdcfqL{?s0(U3|-4%*t`VsbabN2;<)Je4+t;^@K+YA=)a{82P zXmISzE_FVfs>-){%zewa>I=D|;rM(3Yv=6u4=8(g`-PzGI9>(o!yOMeifTO@|!Dz~Ze&%;lqP<;S$&>R+r{|oTrp?J`w zSP(>+=L*c@uMlRE6x_)N6cMs6K_Ij}iAUjbe?e2;t2`tH5Z7E(@xy;bqg=THibUz? z>@DCaJLgx_0wzgZicrkJ^MsOEXAnaSYT4&l_k#wFA?nl&P{a(Zr4xrw5ycug^86KM z2$Y;gBe)Bxe81RWS0@sggL3my;9_zAz)z4{U@R5GV)>zM#Z-*DKRw8uOLSqOycJG( zGRMg;K-Nxl5DtgON!em`0v?BBlfVO>4t~5){yu@S5L__MiH0NKa5R>a5a(uz19`DH zR~aq<=S0HcEpeWHPHs3CFPs;Y{?#8msEbO&d9x@12s0c`hQ~SkIa8b!e#B554jkLC z!3E)n&Nv(q`s)JG>F0+-;y{WARF4ZDs*i;uumA+~9EJ0ifoC@)j_QXKel;1L0s6Hk z0vf@G1^uZ03;nOt50D8`Ae94X`a3@%ZI$`C%W-_XGY#S#|2+YKZSH>H=Py3(^5BGb zmE&*$E})DvhX^{M!w0ngJzqMc<8c1I2v>w(07!E|;6N84WKjS8&7AmvqJJO$<-lKY zpfi0|sY(D66+lwzJdk)#9I!u5TpWRjqsp8tA^YPebBe*a$)IOo2k|(%pA!e?7692H zOPospWQSxpydRFt0+z!S=o6%0csVyD$X`h1(OpB`=v<(vej!10ZUCB#4fS(!@>W0d z0{N66TPeuL(}SJFp}{PiKOs;?bqlm4^K1j?K`0It)D^%BR8Y}!6y1#*LuKL6UM^0S z-jO(2C;`~$@BRS&2ef(xSdoHM_Rb4>{;m(v-NrLO3`Pw+u;eV2{1=#b3#17cyY0>f_v@LKz;|5oJGFLDnQdZHN7wh#so`QI}Hw^^CO*r1HFDsKHLL zp~2pY&>%mFznd#Egk%$g^PveCkycjDcviF@GR8HCClM380|I^dOtFuL4bRWXn<$Q? z`pDd@#O~I3y2u)3#`P0M$rY>^ImTUrM1};iU06}Hz*q!6(w2flAf22@corDNoSkq{ zegu}QlZ4_gB>F`;xe2(0AQqWJ494OEEu{ii&j3;&o+J!#$8m%V6h{$b zN@|Ub#3Ew6`OFwgD~Vj8u;%hnEVQ@CA5FE2p?kYyNpAAU0EtToM&e2K@}}}a$iS^5 zQW_Hy3$@!G%MR5(5K;l3*t=H3{&DwTcY(;9Fwdhyj5i0&6K5%V9YC zMl!^K2yvh*O=!(VIfq1h%UryLEMyRgX2YVO1WbuD%GoQH9!nEBiODt|A@~^A04l=L zl8UgQxKc5`?BEa)LJDr&^9|uiZDXk{YZl3dERSKz*%*wo(25sL^bpIf{mdjX7gtM5 zk;oGnEN8oUP_b5K0U^{-nIh1e5)&FrCAcx!Zd`9dB;SdN3Ze(wu>F`EGbe99h9cAr zArjMFupYiBsk1d2Cq&SA1TVUEAU#^bv8Gs)=zNJKosK2j1o5nFVq<+JZYVR6560Uk z%G%nB#FpYhv0P+~kjO(JLnsIe&LxJ=mc{szeWVPoZ3sU|gbs0MvII6Rj6i-+42{Au zvsJhvtekCvgK4&GGY<^f-6oLZhv1`Qd?>*IX5Q8aKW8_qNN=iDfDM%)W?BZh2^FqE zB5=P_C>1U7QYi2-UXqZ&02GbD452bY_#`x5;uR>N5cvK)A0M9p5t+|*4z-nGTxbXgS$RDBx0JU8AJ@U{|3ppYD&N z*l=P+RF*r%pBdtf!H}6AF)kc|)Cy@9CHEHwA>Bl1F%}gR=0b`#i(=w^D1jU| zG)?61jhCT3yu1S8oQisiu^pBT^=d>);P;7a8*I?EG_vgL@SmWU|6t0W|rDP|LctVk#k!j&C^ z75UIHK3GdDTRzoHD(9i8(H?Y#s~H*LDwRuZL`_>5o8;+ArpZ0U5_c-mIuPvi#UcWv9&!xFhAR(ZdLTpPBwsg# zo4;)k6)&>n`v?1m2Fq;NRy1FyNLvDdhV>Wt`ovn|f~Yn;Un16v;7b<9ikQ&~K9(6| zD@TRUf~i4L0V>kQ&xVZ;WxGiH{OM+qR>2_{XIrFzBnd**@|c#8R8!4 zgYe-9QL!YnSB%0Y*v%FlObnrtqw#D@eyGd^9n7_)2YLlt2{A+up}RaV%HJx`P3|TL zjPbH26N5!EYhrX%OcW}_#s=p`@2^+r`UQ80bcf7W;!^)FIelDTYmtr1CIG z7DguE_y+h{+XRqN0_R|oIM6dh;x6L2M`C)xXZt|~5YFWe~ZfmIY7xVIus#0~!ET_Fj?lPt!x$IpX^4?%v?AB&ct5EuMnw;eQOVua zvB`9GxK17%5FXA^21^Ce{_aV7iHt9miemlD8fjRFJX&UsOr!~!i3u?wUcN$lP-3u( z5-OF_0{o*>66o3}so0pxGR65D`C<>fpURvZ6yrhVs=~GEq#$!>P&_A+Eb)vLrS|8U zRmv!lDvquNzjSbnS*0_o89J&qTp1$LGZcDFe4MKsX9OngruYxBlIEnd+4osFk~Fc#IS?HQrZe=Bl~UAY%k2HdG=s#iW>dep;|SO(R2nN*#gwQ*q@k|iTBVUjcJFTv3-pk%RRTFj zljs`}L+6G`86LrWg;~TCqy$9D`2rPJLt)1IMd@VRfS8m}X-KMw8=4yG6)q3(q%q?K zbiFpoRUf5x)qtYKfpK_vaHNJ1p;8k{mn3KybS8Li!sIa;x!hppb5de`^_)Pxgs(7g zg&tBqN9e%`p;NV?VujID;b}63$vDXhjlv@#oEc>bi#3a5Ra~Z*$~~B32-2zKuCeB@ z1X+lym`aWpaA~n#GBz{7Jtds!o$ijwTfrjU~uQ7RQP$Wt8{97dBf7&?)H>}eFa3ZzEA zIId@$HY!lXfE%ZB!gj zL>2&v*t|IR*eH{p8lq5!vM50u4_c%q!OKt0Gsz<&gJE$Bbfy%ZAW9Y%;}so47Rw{e zUjFU@5ey8B>FJbfLde!c8%0P1GQ=n(3-FMp8A*loTP`*KA0kO8sdX zL!wZx38K?YvJinr9Bndtr3ix55yFrda|qQSmnTUDu}V7CQ$kUCu|#Yx*Hsr0$xy|} z!}uJzQZ5v*)sYkq#XvUm0B99*C0xw%)~WF{NrVOiAmzBF^c^>cw{Cyz{8U-kMoR;P)BN`1H{Y} zag>Oz^JIvbez8odNfVfu$P;nHL!-EW zCi}Y!nQW#sUL|F?GMJh;w#*!1pu}*=!f2(xUs$+bcwA@**A;XUs zi{%HZFNMkBLqoIC~`*; zR%_m@iBK$y;J6r09}?I3Cs_M4}7Zh5OZvaLDmJU!r-$w_5g^ywU59QOQBF3(UbrP zK=%`>#L^lAYU>^q%G1duJhj?>{E(>O($~|A?oMOWZK(ssbUdj75zBf<$|qF_~hM*3qQ z5$0v7B!D|rk`8zQf$k?%hz$rotLq~|KS~831`{SB__R!~K6Wk;iW+1#eE2LDFf~5` zGA3Y(1d3~7^1823wp^-^unc;2lm_`c+dmJ$PptwGCe;#&2N9|WQ6g7eAIJl?KoSmQ zAeR66d7xV{PYRiM$kxKr>$M2y0W%*8oB_Ur?Rv3_#T(=E^C6U0sAl0gbioe(#>OL=k zf$#yoP9drR5e-OkNR5nLcUUM6*+LVidO~XLm2ti>MH;A3i-Zb){5!@VXOe0h?MHBK zur5p}l3KvnQTm_Qm?Mx+!mA+nJVmPLj|ecGMJU$;G+2od3Q2uJaBO!u$ooc>r#faf zV*(z@G!#gc8rUi8LD-|5iY|p38LRHg08Lr*gG?;06tq8;9uiDF;Cqt)c(xz1E-+-( zoB>_OOA}CI6!62>t2M9(!pBW()>i6{D3l6BelJfDRu4ErL7)k7AIy#Y2q}W@w?J*Z zK`TYJC(s&n5h?^)eN872(jpV&;(FlRU|lHeMl79NsNxz_V!ff>)KpYdp~Qi7RjFS4 zf$4k%Z7jNpm8x1VR6#uih#FK6y`xFD^<{b4Np!@c##b9aY}rku_WL)QSq+HSB7NEQ zV%bwaQf5fCHLDnX2M*MLF`}mpkPz_9yX z$oMsDFnIK4GzTBRwiMakYPUHK?%QQKIU&EuhoyD;RQL$G8(i{M=R57t9{!;l?a<-W z_Le%dvh^i(dbq)$wvCaxHf<3rt=5f^%GRwVpoY}8F;W*6r*(6gy0(o?It59lhOee8 zHJ~Zjjlu+`Pm+&If?lujCXS+vG1zJl2QRE6K zav-83Q{AX!qAv0+_1caPscStm6?(TvZCit%Nmz}lx|I0Zwuh=Uphk>{l-hQKR<@pn zMC&f8ZDXXabz3EzI9YIQOA{|LavX*J6Ar34cGIE^beh`2Lh4$>(uuWlO|7Si)wXV5 z+glzjcR~WwTX=cXB)#VRRC5Az)Xc1%|s16M%`!eWHyX5kr5~1g%80KxEGc8&D}^qz+LZAxV`` z)y8{Ea1W6TxiJQ{RlJb{Vx70t1eX=b5#b?Jcq7fcG1A~YSaX>|U57659S`di?ZLWB zu}8D9CXxO2-$xB zwXcZ1h3d$@YYmwcFI7QLu*SfV0~c>v*U-rIVvs^9LaiL(nZFtw3#tJxSDPB~zGl!m zqg)62l-1z=CTQ#F3X%H0=NRE*HbSY>@cw z++PS+y4HvoyLz=j%tw!nFIVyn2*=s41xvxlVusLoEsK#@qxjlI8P2j~C0N)634Kd2 zqYzu3==EcAF)VwGN%3cr2F};OT9Zq4=rq9mRwqe8n^35=J}zC|=^hLr-NhLZj@~l4 zLSZR^L`|6(mak0hZ3H(FNv%O#cRnsEH3@mfo9GhYu-Hg~(Sl-5GWobr+}y?ByFmN1 zEd&u_Q-~PAB*dvr(qT3v39k5*n?YC!VT+--(Y&mBs$Ll}LFFKY?W@9(OKp3tR@FhD z_=<-EHj)t{QBZ;FYT}D-ozjYet`WF_(rYK zfdD6CT{{}Kr8+WhYu-U;W6((f4Jw4>C~%yO5R=$uP}p8#E%UIw0GJ7Fr<0puGE|xd zrU~!hR6E`Peoh}32&dsRvk?IVv20%A-Nq3Kg$t|i0I=)ZLi>{&nJ@X<9n&2&8HUf{5_5zvvF+446%rvO;n^6cw_|pxxjV1n^=AjWR@}mOua+2Eck)1hs0CVc4CR zfHDoD7tm>_3IT}3-;2;I%TbkqN<(A`W^uuRDl%z^F(q^nYc@rRfNuWCaDfU6qcBxh zg(1h%#DX)Sv2)tRU+hmtM8)Sq4Z*2s;g%K)=;UiJI7W?dt!f zMozTW)u5LX;8(wW1M{9vs^LQ;)sK|(` zBnHaY1S_Kt_*Ah~;%E`TJ_r#EsaDIx*?Nr-oMc%S1odjM2U2ci#BeyBZ`uo!1dMEsrUJHjrG0tFH_P0-~7%i4w+Q6&~12EwV1)I!9cQq5Gf za0kw?wdM~bMgX=$OP|#=Jseo=X%BJ@F8C#8Zeb$3-N;tB(l80?kO68bToDv|W3F`6 zc7e?Y*ACDUlsO1bJEdlUYbWCfs{)gI2-?By0;3X)V{0mWkccR?2!Z6Fah-`=Z3GrB zu(l7XhF&Fz@KMy7OOOCWlV!#q&m)MTY5Fja{6qA#S}GqTQk{uVYaB)z@GnDD`Tjm0 zk*GtxmTOG`86F@QZ6&Q1`KU{^x0udjTeC{vp);AamC2~!L#U0IeiWn?Mi4~%MExJ= zr-qP1iyH(tPSJYA%+LqCDZa1C_28o=R>0ptq@Bk3ceF+@C^Xj@3b1TN#|T5{c%8`#I2MZNzsw5q#`|fPt-d zD-Q+M1nbU%x8Eaxia;#M?mvc?6EnM;Uma`RCfQtnilw+>26#tL7 z!UDhUT;b06SQkKTxq{00+gyP*sWVs9(E8)K!u`WsVJZF}afJnb-MNB>S*RajyVRB| zDAd2r6=;(>b43lU>&O)X zsDy=vAjaZMAX%5#V45hXcT8I}i+>5GX{gMu#?lZSNEF!N8GT>xXr>dQ?O%ds291up z9PAmos>BY_SV6sGn(;5gw5O+64VbPfvBNZ0Q16(Av|MaA|5xxd&5h#jcssN%vB5M^ zQ16)b{Fh;x=H+-hq(KBEQDTQ_tf1a8?e#CiG{do&rny-P?C^}fuXi*v|7B?QWY&b| zsuDXyV+Hk&X)5Jkg=%*<3f=L3XkB81YNFs{P;G0^pt~M!$*90(qJtA_l}sKFUp+#C z6fm<3DIno49T_-QkY`7vfMWpESb~^O2o6sXDhzOT4@5&>5)E}$b{iV^Y2604U+kmX zB*Y#i(s~dt1=>fgMhJ1?H4PA=bR7+l=pH%Js2YJIM4-cS6zqV7(8Fxq@T1!5>I8uu z41yIF5Q7vSm|P`>P)hXZmVx?a>=Fs^N8~IQEOxmVv+OMy2G!jH;atnv%-?Z>;qEiS zaJP6hto<~EVe*e1yJ9Fq&r2~U5}w!tfGj7haMnaYj$<)IK+>2uso(mmZl zkE<%F8nt~LD@fL-cV2FuR)OUfm{ma>DD0}mhjvqiqj)IUdaxXXo*oSLDDj5U@}vPr~$Nqh_RwE-K-pW*2=1d%;=>DB*?`8E<)EZIHe%X zP%A_NzyX!GKtbaT2qh7JN5mTtplxIimEi2EK8Q#Lq69;$ZD_Y$$^#}mNJ^oJM9c~C z-w{Y8gajm%Yj7;$IH7>!0hN{*5O83lf#oET6ueiEgd#;lMyVLu?CJ<*NbZ57D(E35 zS{o8K)C#%fNM9&H0tc{_h^(~3I#?btHMfAD|4fWLwS z*vwQyxk5*_y^LX$VVL>zHcn2+Z#&zHdZLY+MioDv%L)9ld3)r(hA)GI{CV(qi<46W zr_Vow|Lvc&`}GO)Wd(Bk$A(4?=0(H^qS;Zh{{4l6C4>48 zl?;@n42=yF4jPa!C{ZpMlq~Hpl*+{M3SojwnxK-yjj8b}g*-7KQK!_U8k6D;YMoh^ zsD&Rxs?ns=4;z+d(3%Zt!_)NUv|&w$WHcAeZ=bZJhkgYuZPj4)sKMHC3gs_K<0yUF zC~exr)M3A-jhLw0-gQK-d!Jv|2aMgsow_Y{=1%j-v1z}}5M}I1T(nQQc>l2Mqa)K) zqlTryWS;k!{k{_puqPi1n|7Ex`&jJU{6R}jDVCj1UVV1N zxN+k~j+r%T;>=N#GNz85HGa~xaT69!nK^aB%(=5BjF~xM*4&xnXU>>8bJo0B>9b~~ z&!0DI=E9kCGcsnSr>9Syx@2;CX2zr?bJ870p~8FLnA zEX`g#H7he?b5=&?(xsWpvNN-nF3noKYI$Z>X4dMgrK?u2UY@;q)uz>}Hf`IqYQ>h- zo3?Js+6X_JcWmCaW%Kr(J2r3JnX_xxjxD*lxg*!*k6wRb(w0*Tvh${IJH2Av!4+E% zuHAEbL(aa9JN9kNJ-RD5Z|9z4JNKN=DW0_J^6XuEcQ4F4pSk}+PF~*bz593VKf3E! z{?3C%IVW!JD!g?lXT|q@EZBYEdS?FZbtmp@ICVFt;NI5L_jcSp zzh^)E95{O5DEyOu^x(eZhmPkT-GBV}@x6x&4&E{bb?&;-fb%oqKZW_|2;~?%lk2 za*7nvtEzV5PVK3lnKXs;_Xydp1g{>;c;a7mSxQNHAsh%!|2 zC|TOI!=&kZe_p1@9o(B8+H9Ffx6!4$RZyP^)mHYVRl&M$VUU^%Q`}qE&uecMmO_z=-oYtQA zzB9MSm@{@AJHaZFUj8PA39%tbRJqIWlKb79|e?~Mzy_C!aOFFHA_A~5Rxv&r8W ze$i{bQcb&gKG|*Cl&q_(LL%S4JvZW6#rG?+x;iKS$N%fH@u$jVL*^9r3yyrhExRNz z>g3X_?N5g~w`(^+BhEXu*W|o;a28)RsQg5Bc6@f_>+e@x32o8n?a0M>*NV73+co=b z%;B@H<>Wo7ew95gFPr86eH+%CkWS_=`u{xqNcUfVIu~)I)3d|v#8ZLYuj* z)7um%_jdL?t9-6%wYp#8f}fm+9?w`GJ}}*Bi;J7^NRV=9(9B-hkV$LE_K*Z@C)x+t9GmU&+!}U7D1YFyL58c@NZXVoyjCMnXz_t zvjyTCUDq&Mq&q*{!CX81iTfYP14Y5Dre1C{U}0hsYZHHTBwNs9==WQr$qLQlaLxgL z?Yy8LTxXL*D+XLPcI!D}8_aEOXYNCv%)(|J=;f9D9u>E}GTvj?Z0)AaM{r(Ydx6;O?ErMtpF8sRP|CZKNLVGeK zV@lY`DL-VLI`#Zi{&U|Juh?C$H;!o0q98Nx{ssS~#$V^3?2-EF`mtkc2IQ#Lyt>iW zb*uWqj%C_|g%cOme5lRQzSAV5#wU2?TpQPo$9XVu=@iYdJ9kK#_XB#* zn%i#CxP?upFW#`^Sue$a8_;;!Im(5w%tm8x9lK1Bd!wTE(zA|%Gi!J+-R}MP2Dw5OY_q!ou+i&Wa zoz^tz(8+r#=^{-;zxWTg-&n8QwH~7R3W<>NzEt-FHQpd#4f?KhsbR5#Sq+vTr@||y5ZaH(B zFXpF>{VXYB(6v)fwipiYC~uXUbLDcLSI~q~P0FRp`{Ufk6eX?eI6ME$cZb`QE&FlJ zz|0((si@E8qjy`s>%8yH@_`GT8JZC@%79$CO?f+ozCMu}gS!Rm+}n%a0#88*}i# zUp=~TV0fGO%uVfdm6aLkuU~cc{m&Uws`A7$??PVU0a4D}W}AKsn)ut1)%<|;hz%~c zqrSMmy@=L1k-2qnz;Vxp``hhqL2Wgzc(r@1VVUpl?RO#`7YjzTeRFM4(W2L7CA`Ih zw|3q)r);*kJT~r|^X9K-jm@aMe7nom={}Jc-nR@Q?Vp~X{S7UuSbJ^6rWc*pO>8}W zO3xP$J=PBDyzg0)PFHeLy2;X(j9+-K(cOh#CU4;0@K`x9-!JHj)5(56#s=)k^=a8_ z`5NQ&tWxi;S*5>so3ngxK(2qNfx3mBbTa&pFXoorJ|~eB^xz#o(8p;*lp?A5lOCr6 z((jta-8tC4`PEXx>wtD6@|SMB(!|j8eU}xg!+qj=yYJsTc>cc3fnzT|?!i9!n|f67 z(VxxJ52l|<`bOHE-g&24IcP-J(Z~8-Z$%okd)$;QZB$eCUrrzWTkrIDJ1Sc)ntiUa zX!q@(`)_K!`+da9HjB?X&kfo*U}@A1?RMWrWe@t?AM(b{xk+xpqZ>hIo;_`{IW#od zxY?ELwQ2p0?|S~ePV(^CgMh>yA_bMc{WI6ki?^Kp_ILS>u-tEl&Fi3Udh0v6-`xw{ z$8OMlS@z)Ip7s0J7O$Lr>|#u-prE2r4+kX8Y{@eB@FN>a+m>xP+UwTxV^YPs`=njv%mH6d z80oV}v}{34?&9Z%&iTB{;Z+WQ*lXjSwZ`ME(~GC{EFT>$r*G5$*l8{O{Bt(nwP0A` z@UpeMJG@Z>(zjif_!YIAaPRaFzbngm7evx2N~(8sH%8?s^Ysd2-xq;JTV7sHeVMr^ zGUQaJHXE+BE^WZt^ol>|ur6h|;PfABNNuB&_z%dgXMWfgG*YmRS$<-`bLsC3!|pxP zv^Y5Z(SXt&{k9&^B~9x4=bYl}scvO?S{E_LC%W*`*JBgEN|H-sZE-X$GpS6Vw%vuti1Zp`SF}FX7kumbLQ)jE6ADy z^RB!e{ad?EM-KPYl=s}4`|A9?*gw1W-4%Dl?}*g(i-B3k*Sv4HflB^7Zes(Ar$_s; zCAT-u-rm47!jlxG8?joWn01BZzu`nr7n*Zi>z8edvIo(omvotapoyn_qhjzQwO*-z~y5pMXorPbT zjSIdhNX&oPYx-O7wm%2UR-T+VSroQACz8!C+aAYH`C>;FxAP2IVd#t72M?tg6Ji#` z4LRj^Yu|!#yu^1U4F(8HZik-EBmd{Y#)$_rayzIMSs4Wtmw09RmH8t!Hx^}fblvlE zVOnMBl!%JF1@oGRt(kRohkss&4ypRr&x(d^*dS=c^DDXfbBTY?wBa}3Z2V^BXM@zA zO&eC3uwud9|CD?cGoE|qaelyz;UkWn=^z@}oC=t6fV*9L;=Gcx=ge zQef`8j!TsOf<@|qFAG^$O|8Oy=sq$s_?OAswx3tb?=<9PA!UhQ;)uizYZtUmQR;N; z(T}8^CG#iKy{}!oFm7jT#ZNOQcWxE4_4&EZD;RgqMmGHVL4jvG;W~BK#N|bw7bJS$ zQMDd^dop81_mia*y8a=fL($q z(Rk85rR#-RG*L?K(A5WvdbHpry`4V!*r?@<6${%rjgNJyc-*^LtIi9Wev!3z;kFig z6?EOtyU8hyUx~kGua&v)J20@6?KW-Dh|RAWEqwJ()NfJP)!W}6OKozxXjb1j+ox+q z&qH2(^{(_z>uKX8xd9ueHvJ=W=whcWovy~Wdf%#F&ODXJ+ZJz6W@kK5{K&4@Bg!mZ zo%NJ1*J44FMq3*03Rp>P`KIX3rk(9e0@h@{Xup5^9d-KbCW1~$m!nSH zC};f6f1G*u#ng5Ompu7;^;ut+?&IfA?=s=;MGCun!{I*dTVF0rr1VdWUA(qg+a(!c zjpO-Qqc^l~{<5@3Le!QybId=Mew8{V(Cv9+Hhb(2dDH95d>2l?KDzvpW=&D$lyz4d z^>+VtahIIoV-_#(nm;e)<;q1JMz~(8SiZ-Ym@{_Qsnd^_HmwNLEbOr1#K1=@uC`y` z{Iq~_`~JN7Wp6HTT6*#3f_Ac<_sdEfpB-Lw^?`0|ciG&$)+G&7$It7wpfojQ+QS8! z*ReFtz!nvr*B5kK+4JY`XY`%Hzu=diYsii7yWO;O?b3~V4=^HvUX6@#KY1~D=?d5V zqY4zMeKMZ*T7PQiEBB|bpKR|rZu024xj~A33+8rgJpI7fg{j?rcev!ODqudlwD&)) zT6i_NmmXA{{B5TnBbN?IJ20+S?hsL7!RI9vC#X@Ae)_7{Wnby!aM7#l!XMVE*B<)q z;pKiY-z$C}-#v0?n5)A0w)eOT;x!vO^&RnK!M4PfzPZ%#uKvMW+J@$ov@s-;FW>K@ zP|vD-@!#H0^K$w&iQ$yyEV}pL&39kS&!EOU8_?+D%~QqgMionbDlGQCsF_~aHRbez z(q`w$)J}gE82u{S9W`z1d4I!{;4(d!he|;ErY~*9MtS zor~Ccb%AD5a^IGbNe{a>EYvqV#18s0s|y1&x%?9UA3O}-wCf7})Rpo<-X3yM%RlF| zC~uUeS#)Q}!G4XEy$5+0{?d40w_Be%Yi~Dyom|9QMi9Jcz45mo{B%ZCOX%D!a1u%lhH4Xs7S47~7eA_7! zJ+F%LMW;wSTSKxZSz8-OHyuEdE5Z4xv%zJmQ+pJbr7ioSfQV;nK=xDm-Ud*+2Gwzi z1M-#Ym2ho`4M1Wh1R&!1LjY}Y807#U`1=hap<^5pQ>zW6_BKBVSR zok8^QRjZn2m9(8zYe=@UN~!^pMyQf19MWsmEk_u{M95SSiL;*#U!5v-azcK;u<(X6 ztgTFd1qaPYa)!N_=$}9HIU)^bC%C*u{*E{~1AWF=yh=W8ewlE36!_ec-xfBV2Y`T5 z3RQBMRHt{-N@R|NP@g|qqAS-CtJ#Z&W|rO&A@nTC$tgTQz#;{6*fv=4Xx3%^l#Ts^`InXf1lcaFJizo(CDAXSjD1$zO1U^^tyWCL=T@AX$qo z`@Q;M4bZ`Ucje>(Wb-7R?Xg}!nea&C>g0s{l5EgXVBIwpImx6^ z&_5Ik+aGzPP`qdqCcO1$`XVPlj%Lq*_5%^=_YL1f=@@vbjlNQ6p-}u$x zHBw|oiw{!7_9F3aKo{i48Gc1itgjV!H1a)}jU4n{(*YXMH?k5AQ5#qvr&)L2;9&(y zXtKm3AE65IY)=*2LpP#xWZ;i&JGVK4vxY>ll5}H?o!o2O1iAtBs-4rKW + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Anwesenheitsliste + Gruppen: Studiensemester: + + Monat ___________ + + + + + + + + + + Datum + + + + + + + + + + + + + + + + + + + + + + + Anzahl der abgehaltenen Einheiten + + + + + + + + + + + + + + + + + + + + + + + LektorInnen + + + + + + + + + + + + + + + + Studierende + + + + + + + + + + + + + + + + Name + + + Kennzeichen + + + Gruppe + + + + + + + + + + + + + + + + + + + + + + + + (i) ... Incoming + (o) ... Outgoing + (ar) ... angerechnet + (ma) ... MitarbeiterIn + (a.o.) ... Außerordentliche/r HörerIn + + + + + Freifach + + + Fachhochschulstudiengang + + + + Fehlt ein/e Student/in länger als 2 Wochen, bitte um einen deutlichen Vermerk auf der Anwesenheitsliste. Die Anwesenheitsliste bitte am Ende des Monats im Sekretariat abgeben! Bitte achten Sie darauf, dass Sie nur VOLLSTÄNDIG AUSGEFÜLLTE LISTEN abgeben! + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file