From 3321ce059a6b761f377f66cce2271a76ca115206 Mon Sep 17 00:00:00 2001 From: 6543 Date: Thu, 26 Apr 2018 18:23:42 +0200 Subject: [PATCH 1/9] done --- doc/Error_Liste.txt | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 doc/Error_Liste.txt diff --git a/doc/Error_Liste.txt b/doc/Error_Liste.txt new file mode 100644 index 0000000..c90360c --- /dev/null +++ b/doc/Error_Liste.txt @@ -0,0 +1,20 @@ +Erorr Liste: + +ID: Description +---------------------------------------------------- +1 Allgemeiner Fehler +2 No Paramters / wrong parameters +3 Wrong Settings! +4 Programm missing + +10 no root +11 file no found +12 dir not found +13 cant create/delete file/dir +14 corrupt file (unsquashfs, mount iso, ...) +15 wrong file (iso has no squashfs-file ...) + + +20 mount error +21 unmoun error +22 incorrect filesystem From 9d907e902815827b0c46c01f5d4a5eb77db0d16e Mon Sep 17 00:00:00 2001 From: 6543 Date: Thu, 26 Apr 2018 18:26:28 +0200 Subject: [PATCH 2/9] del unfinished things --- ChangeLog | 0 Error_Liste.txt | 20 -------------------- gendeb.sh | 16 ---------------- 3 files changed, 36 deletions(-) delete mode 100644 ChangeLog delete mode 100644 Error_Liste.txt delete mode 100644 gendeb.sh diff --git a/ChangeLog b/ChangeLog deleted file mode 100644 index e69de29..0000000 diff --git a/Error_Liste.txt b/Error_Liste.txt deleted file mode 100644 index c90360c..0000000 --- a/Error_Liste.txt +++ /dev/null @@ -1,20 +0,0 @@ -Erorr Liste: - -ID: Description ----------------------------------------------------- -1 Allgemeiner Fehler -2 No Paramters / wrong parameters -3 Wrong Settings! -4 Programm missing - -10 no root -11 file no found -12 dir not found -13 cant create/delete file/dir -14 corrupt file (unsquashfs, mount iso, ...) -15 wrong file (iso has no squashfs-file ...) - - -20 mount error -21 unmoun error -22 incorrect filesystem diff --git a/gendeb.sh b/gendeb.sh deleted file mode 100644 index 4ee6348..0000000 --- a/gendeb.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash -# at the moment only generate dir structure in /build - -echo "clear build" -rm -v -R ./build -mkdir build - -echo "copy files" -## skripte copieren - - -# Pfade anpassen -#sed ... - -#mkdeb... -#not jet From ab55ed8b3d498c09db70d144e11350a7072a34c2 Mon Sep 17 00:00:00 2001 From: 6543 Date: Fri, 27 Apr 2018 12:04:05 +0200 Subject: [PATCH 3/9] 2018-04-05 --- src/remaster.sh | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/remaster.sh b/src/remaster.sh index acd46d5..f8bf436 100755 --- a/src/remaster.sh +++ b/src/remaster.sh @@ -8,6 +8,7 @@ ################## S e t t i n g s ################################################## ##################################################################################### + ## MODUS modus_default="update_pxe" @@ -157,6 +158,11 @@ function main_renew() { #chroot $chroot_path /bin/bash #echo "Are You Finisch? Then Press [ENTER]" + #config xrdp to start xfce + echo '#!/bin/sh' > "$chroot_path"/etc/xrdp/startwm.sh + echo "export LANG=\"de_DE.UTF-8\"" >> "$chroot_path"/etc/xrdp/startwm.sh + echo "startxfce4" >> "$chroot_path"/etc/xrdp/startwm.sh + # 9. Umount - Chroot Umgebung auflösen chroot_umount$distro "$chroot_path" >> "$log_file" @@ -469,6 +475,7 @@ function main_update_iso() { chmod 666 "$iso_destination" "$filesystem_img" >> "$log_file" + #11. End workspace_erase "$iso_extr_dir/" "$chroot_path/" >> "$log_file" error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" @@ -810,12 +817,10 @@ function iso_create_desinfect2017() { function chroot_initial() { echo -n "initial chroot ... " - #$1 = chroot_dir - #check chroot dir chroot_dir="$1" [ -d "$chroot_dir" ] || { - echo "### ERROR ### chroot_initial: chroot directory not exist!" + echo "### ERROR ### chroot_initial: chroot directory not exist" return 12 } @@ -847,6 +852,7 @@ function chroot_initial_desinfect2015() { } #mount virus definitions + #bitdefender mount --bind $chroot_dir/opt/BitDefender-scanner/var/lib/scan{.orig,} mount --bind $chroot_dir/var/kl/bases_rd{.orig,} @@ -992,7 +998,7 @@ function chroot_sh() { #check chroot dir chroot_dir="$1" [ -d "$chroot_dir" ] || { - echo "### ERROR ### chroot_umount: chroot directory not exist!" + echo "### ERROR ### chroot_sh: chroot directory not exist!" return 12 } From 50ddcac6f63f30a10c7d631495a0acc2593d82f0 Mon Sep 17 00:00:00 2001 From: 6543 Date: Mon, 7 May 2018 02:44:22 +0200 Subject: [PATCH 4/9] Update License --- LICENSE | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/LICENSE b/LICENSE index 9cecc1d..9a4eebc 100644 --- a/LICENSE +++ b/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. {one line to give the program's name and a brief idea of what it does.} - Copyright (C) {year} {name of author} + Copyright (C) 2018 6543@obermui.de This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - {project} Copyright (C) {year} {fullname} + remaster Copyright (C) 2018 6543@obermui.de This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. From 01a0709563b8e51ca80fe53f0a3109a68caf346e Mon Sep 17 00:00:00 2001 From: 6543 Date: Thu, 10 May 2018 12:26:22 +0200 Subject: [PATCH 5/9] add Docu --- doc/Server Bedienung.odt | Bin 0 -> 16788 bytes doc/Server Bedienung.pdf | Bin 0 -> 56914 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 doc/Server Bedienung.odt create mode 100644 doc/Server Bedienung.pdf diff --git a/doc/Server Bedienung.odt b/doc/Server Bedienung.odt new file mode 100644 index 0000000000000000000000000000000000000000..50c0dd8fbbc6182b844265795d1913a54244a795 GIT binary patch literal 16788 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

2r zB^kg`R+RG{9(U*pM^RQav`)QjTVOq2v^Q@!l*FJP!1r^rl=u(Egew{LuI!V|e(km? z-yAOObIORZ`PCrUf*sBEw#rj=-!->*W0zAs7yGFn7i)xZ+Gz}@(uXaa&To6KG-Gcc zH!Er#1k8CybB!LO_G&M26@)8(^;zwm@g&&0%jWxET{g6L^GOQIf29_c5~BUL9p9b! zGI?>!9z4XAJyi6i!Er-{Y&I47L#Rm*iSzldK3zWeAy!(PgB8WH3#JZN?q~EMr7Xf{ zAs~JFAPSq3?I9n2`Yp<;1y`IHJ z@yQvL1Tm5jQ}M=2=W_(sRE;&t9sJak4mSgr79|6Ma^Jt%NV>t1Pmz5!q#WVy9na{61Fxob~Z*to%U~pZ=OP z@}Hc44!Qrz3i*Q^-Z}OD$PxKZ#y_tZe?{c~AV!iu$LIf(@6U^j-=>^@GnUc55Ay$6 zUH&K6pW)-L3Rctqbvg1o=Rd*Azi$Tw&-TA(q(6hrU%U4YzJI~ZAHRkEM$TWs=bt70 zf}cOg>u)6edZK>;#Q#-F{ohFW1DyV^QjY&d${%3$&r*Kj!yiQOUP}C*v;LpK>tAwy ze~o|f{f zS2IyF69-c>etsAiS7$RLI~dRGV=X}C5j)cMZrvUC9G=>_5f*)zy8y;IyzV%$X_^#a zw4iy?u7Z@B_gdo>R$}#FU>TiE$wGw+gPvRHeqEaYBpc<28HLZt08abIKH#*CpbzI~ z&*AA7;NSol!}0WE8?qeTKTO;I#DqHwk2eVL)?gg!5-v%}V0f#&@-6V-(D{@nd2)e6 ztSimn-#Hi)+xEID$bFn85a{L;*x|QpZHi;XN|EUbqWC`WXV8YFz5++`z?EV)On8eq z@O$%$&O4Y5Jq^lzMB(UqdoGl6V|-4OKyr|h@XskM4cG2Oh8ifRKnR3J*N#yVT}vYf zNk~(0kF(aLy;KO!p(F3U7{Kyt*`)izeU7eQFo_K32(gnuu@>=GFLW)biQW)ad_rLx zVKvm;&aa?Z9DQrv?jdj4sVcXFI*?(-fG}y)jUf*;B*5+gVBqa<7zXxmNzR=fzJ8;} zoi&vq!f#b#`f=*EcIQPY~vDvHT zyO8{QPtX%!<1&oLCahER$sgMxL~PPj1hA9|j#8TjoAq`{gJw9x+O>d%Tbu0j`~?=e?zG(T4d6V`)fL zIa%L65RFk;ny+$fYz6K%KMEmb6o{HfvE~AWUf|iQ;!%i;C`8eV|C)_4k(o_ka(U=$ z@3~TV5#fR&LGObQA@ejjf9Do2+vv$B@nSW*io&FS1R;5m5y|I7h_BR+);%~^5F)eq z9!vFfA9dTY1pG4&OgN~R5`54=AGIxKw`|T#ulBSAuG$E33CB@>o~G=wi{cA)lOV0I z+Et2%-_CYPrBOT9f_QDm=*7Vy$jIs8t@4$SAbRX+7di)FL{^BL_g=tL=Gs(B96n<| z)5I_s!M~!OB`-p4mTzLynqe0l`bMsxqXgfRrHC1i|R>J$RQlRRT;}RhrU&D1&UX0|>a{Te(|o z+sTN=^gI&OfF-nR=37=_H2*@D6_hk)P52j*2sIxwToCd`Z%^uH!Rc=uqlsHV@}1^C zX{Tw@dsOJqxak;7+fpvufB`4C%>`Z*wjj=b$T!wv3`(|KuRuo^n&wO~w%1k)V# z)WA$sGQrj!!y?dXm$ZK)d2hQA_hqv;nx?e&w3nbL>b`~m`7k@1#8WYb<4_#r&~UJ7 zYMYQa6`_f14{EwpDUUqW?!Q}#w;5ffRBc+UA7Ax5CoDH>NX}cnDALa+0^1BL{395%21b_9j&gE4 z;%w1>6CoivmEL%*w>BFs*FUwVxhcUJx~E1WAhE$ z#?~8;^_x;zdovmba}p(@jUr_x3{aK(3RQh zDb`(C9o@Fw=#t`abnCJ{-E)kDXOb-d9X@(yH@GQ9W_3fIWWR&m*% zYH*#*pkiy-7C?kj1IUL~w!0PTJ=u2b?@p6U%k3zqwN2LmCH>BDAe2C1c1*}^bv`u& z?ZuPZowuuwMOPaQ=favp4pu5)Marh6qn^%o;ggtl*NhK6Qs5QN7jB^CW1Y*fFnLspPXSpB$ z6S05ZwRl~UPK<;AG%l9xF%HBo7S-SEpIY7HvznU=7InKo7ahM(?~nKJ3x;oTf!!ZY zJp%=|Vg)%{tIbP?<#@z$!JUBLl5kEzM0?Kx{J=Z}2=C_ZjrQp3JAxaSnl1!}f^hq{ z=jXD;@8>78q}W&REXfBfoRht+Fy2+_;yOXLpaCx~YzXA567$|COHXv16Pbg~o!HTs^k17ij-1{ai6kxaQs}i4y3aUK-MOu8lgMMkq^Jxt zDEpkKs0==p7k5`xYhf;Jswos8Ovq?r5okxmqZ=GPqC|}Wwo2&eNXyalJjs>7FV!8Y zvDy&XlyFN@^rd?93oI4v<>Zg`(8(*7)~4zW%~SuzM)oxD%OHs=b%-idaf{<{?VQY; znIMDztgpI~xgfZ$HFR63{wmXuaW{;$I#$l_n7C{36O&W=y;t7oNjE)sY#-{p1U2Yl zDzp%;1PZaoGQ6C*FJ5zDY;WwBvT;;BLfRi!JJ>7agRkcSz;oZpk8r7sB^w z0uoXwrJp;c)ThlBv);H{JB*1H7?U$A-{hSpmO?dhZnG(1X;MiyPBN@>1y~T>O-0P- zWRam&GQ*iJJ8Vp__cm44116eSZ6*v5ZVL2t|8D0R>CCn$V6fo4*sH;6m(RP*iX%a# zwB1y$w9_`)WvnG7y9q?!IsMcBM&%Rn(4}9m5AUD3V6F}BTfVOb+Yootop<(AVf-JkHq{v z=DUp*LpN4(8*jHy4FBd>VKRxMamOT1aQ_x2E8d{=6%{th0?bvM$S_t~ znPvlAvt|S^k-A!RdPD@}J{6DN=D%(j*R~dHl|3xdw&GjEisV^?&GZ>k_5OiGwMxKPc;*@mFL`L1AT}{*kpR zW!=q zIQy6gD63nV%t)xOXQmT_G2M(&L>S0&cw9nRNz*-^!47+EmrkX`U-3t>5fiK(m7NqZ zqpG!gpp_nUKiy^)__jBj_Ht{yEO|rPmdbXs0t}2!HB#osvVQ3*Z>@eB&R0kx5jlQ! zR0S&D$FNuB1nqxb6>(1`0GW|{`*LiH_ASE$EmSMNMcTq}He02MbS56kHNOxt? zLh{fGO*q51i}M^Hq^mS}0(jenANYYscRyd}XBf*0AmjGfapnn&!V-|!LizBu;y#te zVzX_B+L@QDwR`oJ_a;UqHe7i$nRy^CXIyIky#A=oS|~l{hI}!>pMBA<6`gX;hvD!2 zMGy*C`iG{pboHq(h~<7cYURDLK}s?3O4lM+Q50kn7_sQd8l3@QHlH}F0yys2=si#P zl|$zUYY25BUrb?Hx0I8gG6w`2xdZsLth#z8wt~*B^TRA;C?;H)>)nLP!nz^{yS&9M z?Ad!6es67NT^Gq@HvKAoz_B`EFaBR7`5z+wmn3XVod35Zod1U;T>l@E{O^{EiI9bb zk)8AZ*+5zcc#JbiB^=xL9;GnYPL@b7YvJFb9Q@B7yvalM#$Ta)(BlNPr_v z@H29PR})1Bw;L%@cO0vMs{+2ptXx_N71pU*RxhAax66{&k*-S5c;&LN$5?u~{`~O| z_~P%2&&c-4^_g*LJ@uMt%J!i+zqyJeCbb|4P1d$#FX_6b=0 z#_zX4T0pP0HCT3DF7i?jAq6KQYOVAdntaA`@C{2i|09gr#vx7upHzz5MCkgiduHNG zg0_YHn+o;XHsGgjBJ=v;bkpYt_c}Z9-Eq?TF&;}X_5)X-g*fotLig|ay6c$2Go;pW zsAmJ)DstxgK5}#4A4Iqyucgh+?N-nWI%Eag%FoB5`P&Bv|7FmRU-$ti+30PKpnQzm zTY*!5E;3P{{g0e^v~kNi9+iCB=AqnkNl6t}Mo{&Yq5MsGx8lzk6L_debd=0!EJKbW zyA#UC?^wJem=~c}XjwuyB5}UW0f{8RBJWP}Tl&gk_7`%(XLHD${S&Xf@N7}hnVBzw z_O(#>Jn$3hk?`WY$eH&OUNhGDoHAtx-gJ08(DCj-?l7=wAU?2`H&_nPR@GeW8I-fJ z#{sG<>c;Rlh_;mhI4*{CGyk@mE}9+mx42iul<4ku?1-;tBo)jbO|iz8`7Z**_Ce}r7U zGP=jU!+zWS?F4IMwr|>3+$X{>>#qwFNL4RHOFqwh(^=kH7{#8~oAp*i-B{NB_8YJ- zNZuep5|t^DmI(hbb_c=@0LHIHA*B;dCgejsvUvc5 z_aAllKRKeegQu(?co_A-S^Gr?aNSS_ka;-wId4kcI0CVV{gh>Qw|5k84sQf+#6oxT z|5Ou&nDBx5xgR@LuRQSEFQ2<512cUIO1qdt=rktm(A^Yd=Z@cj(fhO_<>#N zQQV<;LbnH-1_6UyIZ9utA;lbhp0JhyBNF3yO;tAZ*6Q|kZSe&qFgU3!R9oqDhZZ0_Oc)Bq@Nj`a>cpgEYApFq! zC*Qv01VB>I zU&tEc;q4rAK3i6_5Apd1kIe4-{tsvzn8kaLU#3RTlY98WyQkcD@MnY-V6lEm8!*ni zkOH9IMnv?3zXvE0Brbwc(jB`+S@YNrG)st|Z|trF_InxyU5ZS-_l2;%|e=kzqob6xcV`T?=1P-wWm>UaN`ajHH~nt8$@f{5`u`b`{p8%IHaf2 z3DIKtMED`I-}w}t3Hjt}hZ;c`pH$rWI+7oA)B`a>mxRN8$a(Rp0C{p84HZ4MjwYkIt3RcKs=YiT4^2Ww z!N=mFZ-svR=CQ2Pnw|QHF*_D~qdtlo$SiWq0}Uw4#gb+{{U{`8ngM_24kWQ65|)x8 zrb>b3XbC4%OI$%knsFGg%W)dxkkr&261n=4vnoHgK@D7a1L`8EHGw|219ZQKJmOM$ zgFnQq`JFpN7SPOiAcS>Ems2P9kejuc?dZlRU5eXcL01oim$sp{Dt=D<%OnI4JkW@4 z&`Zx68x~7oJ2k}(nI!W-vGGp-(_}gYW6liWsF{X1wz118T}5_o=07DCZh^3}Wk~g5 zMMLW;6k|$DY#j2^EDY3jMr%|(_)d}StN>fU3O{&FIV=_q2>d@Y8Drhzus9?5f%Zj{ zTASIYnXJvnK3KHiwDv4LI+biXi@cx`|w+HZusg9`p#! z7QxW@@zP8(rf%pk)pO~y%EZfP2x=>-ZELntL|J%Ndo4Z4>U;ahf_EI|7q6cEp-7f- zoeF!ccG3joDoOYy(bCTs?zz-=oEM+L%F~6+`F9_5o5XsbX$*MAOmUF;0&WNM2txpcU32{X*2a)DP%D2m!V~+9TM3ByvpO&7E|UqT2GCVi~c}#JdJ@OSE2dM{rF&gF90!N{8a`6kx>4t&KWU=N_ zk9zZRFFhdAcOVyk6=P+`v(-Y*>y%hjleKq(%A$#nO7NgcFPXIR6rBs!4RyNiBYG_X zqjLFR;}x!eqdIkB?~-lbG2s13c7=Fn%SF3R5!89AuRXdIf!(qnMcA zMkRv-T)UCRee(@g6I7A39fi)LpTu*lHb+Jy#=mN?Y4+>H2Fj3yskn}*sX@a?W!RbPRBSs|TylM1=QpZfY61gy0VuKZ$;LY0G z#b&M{+8fsd)>^OVCa}>pBP%hgpO1SFYGnK;i|-SLO$&37`w#*TB?)4> zHHuXRrV-9IA?$ujKm(G%|t&&K>M8WPFEnjWOTj6*f)oC_&>ikI*}CYQs^5wmlOTtkF0 zxrLiPmBfDg*Q5M(w18>5ig0!8%*F1NFHNQF?RjG7d;y;8$j3Mx$YEP z4he<@RF?Q8uFU(%*6xoob|$|cl4Rv5sWo&9G% zW0rk=MqB2rqNG1Rt1gYIXJZlWr|Sd*ncaKc9|Zc9C!gD$J_yOMAOe=0@`f{kiXS*$ z|H_ycv=U?(nY-W(1Jr|`9y?EJg209DH%@$+%|BzP#H>WlzTOziNhF=}G0EMacZJ>- z&5NSul=cTTKC(Z+jieJLmZJ-Dbq}(X?8`FYNk1-`Fm|5 zW|n#e|B~O)7j7O04QD6|4jQcVGnOb#qDr9Xjd4t4O{%RJm)S@Zn{7?gi?)|d8{K8O zr!p@cxu}20*^FG2{n*t{&_ zzXLQ2cJby7h_}=7ca?c6R|vFCT+Eb2r16n=XK*0zMT1&JF-@g;2fCqTxJCAm9PTRp zR8yrBSLwM*mNMgLTbU8c5RroJ*!EV?P-`B+ni54At^tx(h-xw+>0GqS6A7Q4Iv>+o zVuEoU7q3+n-@9JEl>K zF>fV!rcsWJs@fNQ;SbQ{k2!C+E?--ju?X7d>U7V_Q0dEvV}pmamAQMHH6go%(h3cI zKX&qF^gk9x;knYl4Lk3>81@5<9u0PI+C3}H0dbfCNUviRl`n*(wcuRthc)}>MT&FW zlNhdP1^4v^qg@sS87o??88>8S)R!omYWBze=l-yK%BT_Y$)rN;e`39p){U8jNezo2 zZEli#Mc@5_JJd39?9?;E(@G`1(V;`i|8Oyi+Y2QwsBFb0qqR+!ua=dq0X1vIVnkPJ z;zb#^oW~~eh}CPNlMo9>DeY}VjTElRpb(|E+p$-nOX;Tps$}O6z53NjbX5pL{{^1n zDXYaaj4g)Wu66NH-RjR?0oVB$_FrN-&Q`?8|AHdP2Pr&A3$SAzd#~ryH>IZ7h6)!r0gox`qs!cWKQ=5aYn&inr5cMz`3B#kAix}af;fqIb z1C>*o2cobfUvY$mG7>0+%55Midxe4&+9OnS-KNAG# z-UgMbJxpvF(pzqQ7o`meJk>13P@p2J{^Qy?)PH+_mT|pG`%_EA_D9 z(b^+i386avgzsx-QToKNxTVQNyRj`$>m`wwQ<{WONNT<|HYMtwo(=N_xSlhMC zyx(9Hi0$S#uW4t)-?(v#)uGC2xWI;nJ}i%#(^HEcn-^U@+!roeFmg7Ec0ONet&@ck zix+}?WTKAc%8yhuZ;4FP^qb_C%$c}p@*lBxT@%!Yk+mX29 zJgsfH-$lrNTWoXWX770)%@X*W$Eh3QUjrNVLO(MW;|QlfUuzgV1Tq*@IK;f8dAHXu zYm@eta%j|fCLfks+XK}!6Hqn*zjq`wRDlo z1JogB2#!@v=nI>C=BdBuR`QY2olt{A$MA2}iSNN@>(=cci5qtge8jdwmP5$EsFHp8 zj;)i-IQ9p^Klm>2M{Rrdz0J+SEidAC$&b8b%~WfTGxyAu*jA@Ks3(i=0=KaI(34*$ z0q-v%V9)Cg1>*NF{(=kyXyQA+?K*|&--D(QQ0g^0V(+$K7xQs(Qk=tUD2;q;B=q?C zr_GoQ!y6Ho{>+qF2$>bc-nGz;_3zWqaCVM#R*iLYBiV>PAufat9#aTG)nez0Y!i(H zT57dMet{ZUhLVz$%MTQSD;b*Ls~SIQz>9fu=$Qh%B%!7_8jMi%kYpNXD??EXXxOdG z!d0-JbOwD!0}lz{1v@cTgw2rIa;W~=4_^j>BId*~xe2zpvwl_%=hw@@8U@c3r<$>e zPF**~=rwvzao>VJvTjsDAVRo7N| zLqNexKqK>J*gtI-Z*rD~>Jac?ai4a|kZLVVQ&KvoeQ17YGde4q7g}9HWW` z2p8`2Uf!x?nq1efYqVp&V-OeLTsieGy59i{U5S{I zhomZA7f;=Jkg^yK}~eMfw{2?F0G?+I|E!x!i~ahxUOmrd3z1o zRRFjt>80z}_q{)yK-tVG^3RkQc00GoHZCy%&qB(*40$sL zLQz0HpM=`oyi0G2%z590{wnj(Ogf@dbjL-1;b!|d)(cgC$7X5;v4Z06`?>N5O%$Zt zKh9#V0`VEqTO_}Xl8I(A=_ArhL|>mNiWF%HG&uJm)s&jkeIEicBPpoVpDtHv2GpU>;&VWL~tkYVmLB-l*Sb-*6@LBpgdbotm7$ zX5+W1&^57yVn1?+>}>LG>ZKDf?WTC`{qlh&NXujAPkr>f`PqyAJHx67Y^3A8u1rO- zN%^SHmOh9xTI_Z1fA`LZo@+hpJc~ao6+d%u@3X;M#@D^uG%do*kSKjWHh)- z$(bDT+9BSchC+7Gn{OaiR$9^#jq2AL){>lVG|k0Vt}}rQ-ilkVANk-pWgN(Nx_MU& zpkSHAs~;2I`*qJ%gE(XBSZ%I>I6#@f%E3p%eHW@SR=I*H1F%+9NaoR$8XK|dF5o$4 z86gxGP6bX-#wMyb*~jUxgubaBX)Kgy;T2l*dKLUdpMIM~~I!FgpXs`MUs6r*oX!XX|g(pJtxc6ji3% zXL~+Vm0OhhYTlmQIPP<4L<-~}O_2i+aoNzH(-+ho#skvsW4S=hY?S+9(l*)ilE7IrFJLM;7OSrGipUDc)J&_9hZd& zCBdHu?2--JRY2e#jF|&9yM)uQ%Q4MA-O}INuVzu_;+N)|<}>%y{?NWknZf&Dy)ayZ z;T>~bs=t^t8vG&hAXGGO)xG@YGnm1Wrn5oIp~VSXO3Yh@#Cy|Gj?hwcZHYN`fxAEw zJraoI5Dc|^eF)DF+iIG@qGI*s0QElb32BveEHlAPWh~HiYoa2fXh*iZ(^8r7Qp9DI;a*?QS-p z?B-;saA3opcrUzBseX@B7HHZ2qgpi@Cb*-i>$ZNDvp=BvDqz!$suR z%+Ge#BTOJ#bVuo+Bt91w+!{)oiKi3brffIO55OH13P3u7Oh!{vJ+1HusY~bp&(shU zo6ygcPtT!-R)!}q{TWDWhDL0qt&nZ}3(#kz`<;Ndo25POf?y2I!PbJ8Os{YAgIT7w(EES%BW;nB%pBHlHrX|T+S7_h zFQ?lj;6Vh#4fM`i&N=bNgTJE@P~G7@BO4G@a9TEm+Zjm^X#HVVT^nR?+;U$MxApV9 zAcCC{O{rk6Y1C2`;jG4nja?SEuVpeK74Kg&0LldU;7q90NA&MmErN6HXTR(G1itd1 zIi2-RZptU=wlB#O8kd``E_ceu?`2&WlIYjN&PZ7 zWa!&6gNF(81ORTsnZFBm2_iTYCaAmpouqu17p3jhFR*2>^LXwAXGbqr6WK5W8ZE4+ zL6Vo)I|7byJEbB!5;TDbsu%fBnn1=L^4?fEEa#Sl+7s%o=NL9Ti9;2<{G zo)Ceg4;8lEd_EfN6Yd?|Cs)_%w%0=~klX8Y77Kk2f844z^h&vg$I@ArZJMk?4cpm1airPehAYwQ(R#a zb%oGf>sIqhE#nCnBzXS@-VwgT{pH&a6pJ}kPU5F!xaW@Fyd>vVJZzLYaix+EU%WYT zt;nVU-JEiClIexJO0L1$i=T55cw3hgd5R&vFj!N@9hL=I$5Ite+#pG~XZ*QZFX32m z^_cE>xk1f3@Nrt-R*0#|_A_|QK0S1Rkx*W!)kPNY`l|5!I+vV(JRDQ^e>fue$w-qg zA;z?w)2aWQerv6tSdq|Aih##l*JXA6wbDcc%FUhuc~2YC0Ah?fx`0K4N;uN;gvcP8 zUeKTc+zB@-YFFk}u^xIWBO+Y6wd-`s2SDzSZrA?8g?k>9*v9k$P&8Fjt&P6+_Gkn;YC6bA^CC{3zsHnkt3B7B#ItK$Qy>DBr| z#e5{-i7)2#{MUC!y?a8r)7r{J>8z}K4b z=>1LK64od)Bj`(jVQOc2X7+w*m=%luK~K#w12c9xaI-ezq5ON`RKHL7AUSaGb`X=S z`{22n=*hOqcsJAvUv-~%vroFscL`D3A^)qlmxpll1iqISdj(H}0XcIhF>wTQxxCU< zot+}?IN?j}JSZu>i@w{(hK z-9fpUY%>9u|8 zofm5o-d&iVW;S8SIvKSLQ(A7_7iep3V65(0V#`!jrzs|dKA;}bkBkB~Pm2?~PTn*G z)@aMwGy7vV3k`Uc={5ru=$)|Fu&+Mx9VmDG)W&9; zQ1|Zg84l>{xvX~r((Q?K=EVT-Bg#!)W}MRSHc$ob4i<}c_Jcup`E2}hnh~~sN1+=Z4t$P2 zf(^3278c=5=qJ=7^wk*~&(9y>yePu|J7G5_^h}sOr-#3?uP^h=*Fg6cMN~1Ts7l9} zV6fJpvIHI*vu!wfn_XWf-gtc>eqTz4cv@+{-$#O8e^7pPbU|?Lp{{yP&zs>yovAKJ9i;aQN=0rl=YgeAdFEQgxbfF9KQw=+dhpeZ>G)e(kV< zwvXt&G)v%NX1y2&W&S;0!DdOmS;zc~i>ds8v6Fb(sC7%#8VtxQ%qsA$Ce_4!w@L0S zH6|?ZHvL;yFTQhn%*pZM71)k#!e?dgxvzv;^=a$bi|K<#=Iu;mSlNYKgSoON>1*&= zt=GH#6G5&JQAJ&S_5R^CaQfNw1fUy*2duJ}VC!|@GPKrYt>j4cO;Pth>jhH7kVbWo zzW53m@QGYkG%Cz^3111ylVPlcYuqRAQLOo`knK!h)w=yKBU4A<%=kn)aeZFbmwo9u zU1yWS?`fDV`fS`q7j19<`^_1@LlKLViPd)*(G+D>Z(k+Obz*1LZw_jrxi<) z&sg41aE6B9y5}wud6j|kpu8~NPM#o3+zd=GdRJqJ1NZ|b-2YrMwVjgrf|=#RYKj|1 z&;vD0W_$xXl=Y?ZFVmOp2n(EnozQclRmn44^nabB8B#W05WW>s=;H{{4iLLxES`=Z zN=t{&Ua2Ubu^jvHcx?1=)b%)PU4#_AFDm37;csm;l$wsJwcbv!T&UZA8{Gm{V5e^kNq3{nVty|+*mdHcAB;Pn6I-tqX@U|(@UPO_pdBnc8 zu2^5Pv~p|pj(^`}>pk_JedPJf(+ha{%H=b9DHjeZ=~tpu)f^m5N$nVv-tTD+xXYsv zCmWf%gpw{%U_L_2Ti=`EHtUZfvMpzM!uAy5XvHWprq4<+`9oZ<#~C(jv=dL`$aYds z;dinJjQkcq+3)2JHB4M%I#tOh8D_oo4_Q*Y?3`3gC};{7!MLJ;g3a?u1(N%g&7Xd0+J%Z#0EplZbfJcC?*7i9prYz6Y|WO@W-SG zQ!zlF`wJytAM7hI880-$&h%7xmka7sm-q_Fa?osIDE}bQl)sZP<1|kCB@VIngiAD0Z(vSew)km+p~`wP*AwNhJG@F|{mAPxag2@4 z*(SCKHj$U2C?Z^3@6=2<)CR7@0Sh5ULxHO+^H+!xR*i0{DwS_2wo0S{o*7&*dI?&I zoScnDTh)T->hKbcu14{Sqy|n}M`}rJ>dK$2WQ^6!C6fyV+}p0**B|2V>Oh{CIgVXT}-DUT!Dpfx625qjJe=d`3 zRs}v)Jyv%-lkS4)9#8D#wth9g4)8SOaoflF{14u6`g{+cJc5Hn?l-jTPw%?p}4^>FY7?H>X!leE0c7 z)Mtnc(GG6*_#G=~Bq$|_{+rHQFR4w!a@7ON9>bpf%sJb8CMPNFMt1S?y7j5MTd7Eq zne(x%Oy}Pb!UcvoWbDpYv+HzyXjoAb*ChCL#&&$9$eQW@ZL95dsx*ALGv*Xul`*G%8a|tTu zP8SwZpcieeZII^GkKB5~fGwD720F)GlMH@{fPS0-Y+)VeXw= zgeEDZRLWb+s7|Z^le70B?IA5JN7O9)aaNk6#-okg<#d)@Vi1&ahE;b*rmEB8NImN& z>oV=G0{)(R1W)nymP+A_c>gjT8WiWWD08N4=wGmW(`<(f1%=N@(Y{7gAdZb{LMep{ z+a7jf9$|M9RQxUlAPb~;cz}3MbyzG1R{cJd794UBur(nuOUN@ujH*o6-xU7FH*mFb z8SgRESN}^=MR@!Kumo_9H-sx&aKqcV>2>X+QV2z?`}@CIOTzAizX6#{~z z!(xtxyW*txFCj-h2;$`cv)Xd1`??v;R6I7bPlC#JI49 z`CtVZ9-g&D^+~rW{gCl`h-%Kjn%6^GU$=rq76gW|!RY%Dp97f?63k!s*JGDHfZzQ) z+)r%u;TsF48kqWDJ_Qr?!D_9@-M|z{SRE+)SHq)wof?(El?yU*kQGKCe^dBPJM(P( zS_Va!6gB0dUipsL&Dw7A?n<80Y!$df#bC^&4(TGI(y#3|kHy_-@15~1PZo=WXOLMO zt8UsT@j$X1rQ)%k!g*kDFjh_nSD-L{JkQ+PLqczR#LIuCU!-t8VYmYja~omx)8&Qb zVN2C6DKoe1dv? zxXQU8Cc|66eV#;^nbY&QJ()$sw^_R0b2Iyf4Wf6$>U_@kH)zIoQ2O*Zja$VKTe|-c z{PBz%(s9sscZq^F=Vs%N|0G!(ah(f19dv^T-W%sI<*8*=<#zpGRnYDwIvYn!#v0|R zWt?)P#Yp>u4W9@2m1K&CK01{}ke%sZw($9>^>y+ceN#ezXMtm3rk0?a(&Vg^s-7(; zP)pm*`qiHq!wP`*%`|c2a-;Gyy$#aM(=(k_M?+uY_iJ2;jw?`!=Gg)H<4! z%~NtOMYF&JtlPg*VXEsIY2;L`j&ya>apIVLG{tGlYs>4PVC*d9Net(JnATj4d8wpr1C(V-9sv)_3sNX^JqdMAv zSCEHz#%Rzje>FTF6V6xw07?U1AMCqpgSOUlYtf^ION?MRo4Es<2YBCax!bI}cn+aX zae@46G4g>a0E8|nu0&{;cY9$Uq(0aSkNfzoSKdp= zTEtCPkb!Ppc?BlV+@xdY2zS2E{+f_0@LJp+Bi~no<|g2e`9hA8UA5#Zb`hDp+MD+x?K~kgG_DZH5gc_YW!Y z<#Qz|C#e+BbpgtNP(=Qi=$mNDK$s{QE*Xj&8GMJC3)vQpUD_W0Q+Q;E3m_G>JN61} zV*#a#dJ0{VXf5`7kZC`gFz~wFuCKt}W5L}uyXG2d{zyF$A!c>)R-T)Q#8q0^jq?oF zah&*-?59(~VTctJbtCO9+T9Y^vLle)|1E`++`m4UMX-g`AZW;RvR}bJ&f(ADEN*OD zFE^0><%oy(=4#!kL_=AY{>N4vA~BZ1;~*z+k*rOIY!6dXi|lRlyELhH5Yulvfphh7 z;C)qnEV&>E3Ja>1TZNkds>O|JPxigJNmuFV9*e{=J-;ez}*Hify=+obJ4S)D=Nq@v| ziW7bQjdlq#h^SK@0Yw8(=HDv`9(%B}kDXV1)FRKcefe`!g$ z-m#12lb>-1g@Mz9WT|iwE`6TCL>Zn9|4i|T;&8H6Ye@aE!2Wr2p$_MVB9yNdpQw>AsnLUIz3t~KU~p7n zXvwp~Fv}Ns$AH;p+5zWP8*(!dI*z-B+_f>RE(gth!J4ww)a=@ivKM6u_!g5A(&*(k{|nTb3WdUoADOcqFxiNX(EIU zBgr_hMn)E5rhJ?mwqbm->P(GKsqr7at{0z#Y+YtO)#f-?j5tCo?HF>7F*8=IWNoX_ zChcPEsO&n*{J8@hpnni^u(P96|Abf;HcRbBJW&fCHpi@o|9$GqH?gW;^;jf=Vl9m> zES^(Kx4@}I-G^S?yumhgZNTgSCSx2w#p-qtkFjfU5-!;~teM%Qv??Z8^!C*(nd<5f zSqYqldGh&C?>>w33puNw9Xx5#nwVK}a&OD%u_0_P*-yU%0nQ;{cIQ|A%ieeF^Hwe< zK-k&ot0^N?C7NM07F1wFV`4TiL0pg|>owjtt{5%Jsa^ls#iEiWHeMJ#RRslnV% zY{lcFsvG?kV(d3EaACiKQ! zJ$L=B3?WnS{$`$b*86bXm>kSjEKkkUm+hk)gk)|ipP#0tKWMR-+nZS{pFc+I_SO1I zLHss<-(|3QAF7G}j!S6B)Bhr}|9%hmoZn$_h}m(QExK2@ z^=JB-!1x$_FWU2)Z^MNmn?IKb>ekvGxh5PK9KIj$TOxv#&p&wZ?q7GR!IJZGb08Vsh{)ygwmna(X|M zNCa%zu*@lqt*c0rUJyj1cut}qbIC6}hMb8-o~q`^m#e{RvQ4oqVQs+oKnxHLG_S4a zB5OCkPb4LV6KrImo&H~hy#sV5(X;S7;l#zHcxEZwrx9kng4h1 zci&s@TkoB9x_j^Hs$IR#+SRL3^*bj{YLOEn*0)Dr#xrWlwzSU-lD^FKz#Pe<@8KvI(a=0A$$u5~>_CS_}jcpK{H z4PY)Ig&5#JQiw!--i5I%RzyBYA+$YcAA6x(Kzv!~%anrd(0v=j+(L!BvqF^eFd=R* zgWU*aH6BT_GH`A~ExX45ZmhrQdWji;I8xA(^6>Ia;hPSANgU>6`$;uVukEmNa(i;o zAv(ltg>}`(EACQovXkQ0$ETpz$7}EY=4{byUz6!1@fnk8?f=cmPL}By176z0k17F; z)32W_lssUz9kZv-sr&&Rf52G3qGSWApa1ld@&@zh%pNzMtHlUjvYj9fbaHUbkXM(xf(#AaaBUe@#G&9A&q`8txY( zlt+ZkC{&UVDDe*#-!3BQkU1DLI>i0*Sq z8S>*fa1@=e)AnAV15E%Hh1-HsN%0s)>ZPQ`&nzKpb;zO`;=uK~0Df)cO#q`V7vK#sDpx}1mF7My+advtT-dR!%+>!i5x<-keD`l2X#f) z3{(0(S0#9;I*~DUAVXrIv8-WT?Gn@>8A$S4o*=w<@K{)Na5=D9u5e|?&4(<@F|;xZ z`I8e5B+IcRmx4z>UUhY(n7@gvQZ9hbrB5iriRXrN7&#|tU$R*P!* zj7RRB9HlBEF*2;p?R%skNH6xZob=&$I*X*u7~{S{n9%_Kn-kT^EF3mZl^5u1kiZjo zW$2`HG&czHlJ`HhHpRLZd*p^Zl-%04%i`kC)^}rarkm=dz5) zXb!$&6i6P?pm9IEWj42UX~kgrkHYA;37Q30x6br0`bTcq%~r4R*q>*!>nN7^e{BW1 z@RjxQiZsPCBnW>!g04^f0i<#TRH0pgqUAzM|8zt8J8k_#7wE(!MVNVAm9H(GAY1Y# zXuu4k8>7|q$0xl9`nJ}vGXQTG&#&|1k1N#$$ms8Yw|pyXj>9W?0>BoK^;Pi)bOaKJ z-4|WA;>(d7**3NxJ#P>L_x)MWn<;)1AFpE0RifM{`93^9Z(FVvX#vW;p)0Ouz za@H9)C)mSl!goTSSZcyzcHXO9JR~-p>NhzpqD=yvxwU)QVV@VnKHEs`!M{?xjpH>| z3a5#TiRSNg)#&9oGpPAm1ylpJ4)plE_>L)E5XOD{> zyfPC~+}r5~nn!PrX)!J>BHl45udcZW@O6bbz)UEM)(JmzBKa<0Y~b>4=sv>gsfJcZ z&ZB!lQ)>%)uq*mYd$@!wHZZC2Sv%zeod0wQ1_(Q0^H%jBLdA)|F6Pth|AtL^NoH>X z$C`$^;f7_&OH^n9Pj~uRAj-TPnWT;iKe8a5d z0A{4b!KC){nboW&RE50BtS0b$JC{_SyG)5^PA^rcBA$8q&)}*n+{Zwf!5alEi@hXH z26*}mx+={$=v~68$Px|=D!HiE6TRBdXtqJk@aPkxn!z;{%%UQ0i%)J(H__7+6S~{} zX9GCM-}P)Wy6a&^#Q;CiEO$&8u3IMa?|!|^cYjm-Uti>(>PP&y>id)>-L+W5x4ziL zjNZ2VBsut)lQw%gx>b(lNK1N;h{`8KzyyrUW9f9mKDJ2>j-KY^UyO4-wkrm>dJeQ~GxW@FV)>xSsrz$zg3i{jdq$fEBft zF$ycGq-uRSP033R0D|?OW8!d?JczOoEn!(fjZjPsF09=>6|oJ>Bq)tKSZ83V>R;rx z2I!OtOoDIpKcr0$V!uMTQD7#dgrReaFdkrbocLF$hvWC6gpIE$gz}k7LK9{DP$y!h zLRiZ6;5I52ypF4(705K8m%zJE179KZX491EL>SkdeT*BCMD@yadox2(>v7wHRrpNl zfT}1*gR;`}vNGl7z|2YR*(`)~zp4)C2CZ`Xt~Z`Agef{ObBv*}d|?x2vc9g&D+MUD z<&nk<(kDV^MS?uT=PDmsA)a&cS}Hoi{jJ(p>?(t6RTvcRYkVNNna?-wNGa%#hG}X4OTI$&+46~*y_az8&@VqF)QetHgpnN z*#L~8&tfOrehu2{bCZ@<*QtvxyFFmC#xXlBYGd*eT1AbxU9F2o z7%Q3kbFH{`sLb|}OOsfr6|F5tUl<`mMx}mjNtn;czWFu6W|hOYIHPx zk@hqg`^-%}X(^&AD~ugThzi@x#p;eHb*t@*f+m7T4>hc9NgibGrnxkhH)`%(d`A$S zz0JKJR?(@{;JG7bVUveVke&Hn@Qpo}w`{Prb|gsGDC7MeA{(`(E?YzH#pBMLE=N8# zE6t@Z1g+|-Ul~Sg&uMqh{ z#Vp_(g5s1e^^XCJxaS?2BXZDl=>d*deO5ZG^U|Q28b3Z}r_h6$75bv}S4+X@FjsUe zz)Qe#R0ea&+s*{WQelYMc}yVgzBYa>(uaxfiik!s{ABtNsCi<Mms~0DduV!#e%u9 zVacrBYA}pR@?A{u{jg^~^DG#ksI+E3Ly&rD^qQ}^Hbuqk{?6e6dnq7MdmO40?0Ta* zWI0WZpV*Be#Yk$}A+RS^zIeA}PaaZvsvtqae5+cxTTTRj%2GB!IQ}!LyJP~hp^XXW z_G++bUKf<4&%>op)$P|pdt@w+s)DEJa^xz8aXORiQP)mO*@(dz#0Cr7?*(Gm$XRKk z3b7*yJa%7*HpjqqxV6hKDGH7@)WxqHtp@GcEsnu2=E!uSk7@o7w#XImW^wq25c!P9 zEjB>be!GZ-YebQJ{JrdDnTs?}F!NO*!+o|26E$A_@@m&;3;$NcYDURnE{SUV{nIIi zs%BSzz$ERAXYMruQY(#(OG+Q^)0=4rT*WB ztcRBcZ?56m;bgOp+b^@mKBdo7h~(8bNmJy7_GOzI?f~xTXCo*H5#W~XzT_N*&<3UE z=%BV41cD?!N}>A%y$w3SvWTiaIQ<;(na68&Tq0|PKR z^J_Z7)0`-nHVCxU8XE`Y?dWX`TvOxkKJEN>J}{&f-NToS=5a$*rqI}%lWU=ro{ z*_JsBrCjN>yK82OhLdA99!SXS>Z0gvs;Rm*dMOWMX+%Pm(h+0awh)vV8*C<7;25>q zc*{GfaS>T%ae5lUdR|$T*@l-u6LMF= z)_~*B1?HJsS8mLpax_iCTBw4OLkL-Dl(Go5rKvO=mW#K}gQyfhQfjVpV7}-)XO0T!Ac`6Up4z^70GE?MYp#384f5dPg@kh07iNVU4_|~ z)6C;*TP*V6`wM6i^^2^0kVhvLza*8QW^TnrokO(V%;{Zi<#S0h$D@&+h-}|jB|V)T zEDu4Y%CnF~3q{U10py3sG!|#g>T0imO9tcW%WrHb$>^PA%5QtJhJx3WLW>RdBiU#Y zmJ=?qGzcusT)w^&&*ZoZDyn)q8iC;WH`+v1omu<^^v(Y$1S(qIm>1?OI=;xXrm?PQ zqL13xxIlu2TCCJ$EfPjrrhl-e0gKw8nE<2Nxc@>%1~}3Doeuh&8}wxy;5=hO9#u!` zScW#4MsK;A5L91wRI8BpkjdcaV|;Kv$__1EC$6&$VT4nFNkV@BDTS;u zJwg7;tQkoY48@>*7Y=(G+=#ncmnDHUoqCa9pyqE!hXMB4`)CPvKU_9xmLRc<-TJj(DhmSQVp-*ISwk~KPs{sCz(nmZyqefek4C!)%@g z-Oril(ja=4&UfPFd_XBzn<$QDjb(0Tmd603urk8rz(aFs1Tb!UlZ>~pu`thr_UA|6 zY;Bxm))pr)z8!{ITl5pSP@h?!Ul1Ge>x|pC0pbsO0V!W)EfL>YAa^?9i^Q#0fuoJK zsE*DuL&E~U*YO6_D{Jx>v)Bf&FDx(4t^e>evsQG{R?zk~enEz3!vKSwrmNTuUWAx4 z2yf{0Oc`?0|7E>M)zzuVa*zwY+PTExZ%?>^MA4fErq~U!FGEg&QDIKKtwfcYL)sY`f-3Jw{T0aH2f3db2P>;@M9X-x3YbWMb9@V2|v^y1-mtgVwUoa_6xQ_iahJlxwdT^xfL!?qt{2~=Pq zHb!6_06>b1-kFJG5o6`&fI7i0hjgs+enJj;!*2^Pep6*dt6dYjby25j+wfJEX2|BI zO_j|~6iQDK!qSYR#${wqJ=!O8)O3-joiJ9Msilya43n|HKNxdqHgLdJrxWo3L`d?} ziv`Y^lju)2@=~b*?#PFT#%Fjz=l;Bh8Dejm)}czriu-$oTMf&83cSWM7x;FqXaF2X zQTAQU;0y9&*lszW-;>@^H-sjqZHamtfM;dIL-Au3!Fm{ZPBg2Npw# zNfKOzJRvWTB?#O1Zl>I4y|>nLDYOG47VrU44SL5+da!KP820?pA-Wk*`eC4Ju0Ep= z9tg$Mom~l3r372U9`QOn_2kVmx+UtZxK=e za%}x)Q=}uNQE(NE0$lv3^=2@Otzh~RK?mfCwGspcjQMZku#DB8efP2PZ~lrOiW&RG z`$NNELfrg5y|=6*<XZs7@Cq7IAKOP`f$z!Nu(D*v|e42U34rQfk zlf8u*UZq}iEuXWmfeXm)n!9sQXVatK?lDB6Me#}VL zco6W}oe;ry#U$?0R_X*SP@vYql>q+hdt-$2ku&AS(R6h=HU<*TjSd$zdiR9e(?Pql z`O^F(zm7G~!MeK{)!c;rq!ZvN*t`_tIcIN+{?r*t_JhL1{<)i^$ylHD(i`WA=dWj* zoh`zX$=)XQdin0G9p1pfhnXNEbA4 zVrIs$bMa#L!_W5c{g0F|VQail%WJG@JRph6dFch=+sv_5Yl;`O$>U4gF zUh{BSNQz{~HLvBk=<+$FlLBP+lO`l9m66pD>5xzJ*Ck$QFI#h1hrHXq*gSQqOq21CNcQl+to%yM#eI~% z=KbOj+<-uVzr5QLs~7yl@?!k3^r|3Ct7tBQzU)Q)df!&~I+)&a+Jf?JhJNMRufEpa zqm?y?%D0Alf!2r0B~JMnk8@xc06wc85+U(sXUL|zPVoCz`M`}qYznPOs1Log6beq9 zv;uLxQG$_poD(ALFGz8?*P}YY`!N)_OaVq5*=nu;6oG2u7j7hf68|bbdQMg0GE}Jn zdU{?J%(Cz>$7-EAw7oWq93~N) zvp%z(IG&6g;dF(Qt^uw{x<;E;#>B&x^vjA;ew(9JDAyqCx(2Jk`|6f?^QB+9p02vU z#RD!%G-`;Rq?M#9LViLT(#q#+_g^NsgT8%7l*M?1zJ=-&aeeDX?@gmGfQ)pmj-sM6 zcv=%Tu>oH&u9%cA1}+MmQe^m21rNll9%3C9z|VH-G@vY3- zTj_}dc3RsW3>m+ZIS`K?thz@gP1q)N?m7D0H&!I=4dOAvr+$*3@C5sJ3=he9Esx2e z!sjEKkvGBTu1|{WUeiU>h8c1&h8l8!u;qR|l5sF2_r8%W%+uz7IRbvmVFW3mwHaFH zb1t?CC_gPOnSDhvsWs(w#vaC+RgfZN;+DfpsXobQJTfngnLQMA-*=d)AM}!VCI{uu zJxN2!mca-WEuCkxHx=B+)!N`;mK$9zIk6pFmNL&Jk=%Xs;|H`a7MjdUIa6N5r(Vm9+HIwHfMUmO3?r0nVB)KtnHw%90$9w0U=l_}(`V5Nj}FSDv}_p7YZvfeNJ@yJgvb3tWw z1hu~|f1Xkr?hM~o*#wpuxI>p2pxh;WyAGGr5KTr-XHzqwQ~HK8kU$Ud?FeZM+Y5#Q zDl(Ez9x!)RU$*iO&f!HK;?SP<>^OpRs)8d5RcVNGpinKodhQ^aCFi-E7P^7k>>ylW zAA5?T0Jb`F4{$}7xUjRw)0GD!D$@m)G1!8<)8I-AU%<0mB1!)T{MSFO*MIO|?2Jt8 z|C|3sPxn6nFeP_8V_Feg8z&)SM?(j5J15(3X7YDeM&H_)R*3)Khl=09T;EDs3F;qA z+0+rA>AUf*As}Gurb)xX!h}!5$iRfpK*zv}Pfy3ls!c2Iq;F+z$Zun6WsFY;Ma%DK zXl&zz&rZh-Mf=aozYYxpJv|hypuU}$vAL<4(|-)1Xce7|tyS>ZzHRSKS%#x#AhZp`u`u^vv&MgbUGh`@RJwV*oXnB_C#M2HSu3-V%l3d zu9qJ$*6_3F2!qgH-mi-n#0sd5aKg&=B@?`|Ia#0jn0;Ov zIA6}@4AXcvCSWBqM3hlnFL&R(tcz?XCP*|MJkH-QeB3)<<9s2nrbfPNwSy@ymRsKD z0X8Py#MuTdX4|lb;dmkb1w1L>+haxYyoUw(PJ+S){o!c*nml@s z=8gIxIX*Y5yKUI_(ql#Q!RSSc^?pN*^*%Fq_^OqE;~)8%^oh#YbU#IhB>AOb8PGKo zfFnZ}&E|4Fb=rSnnDw!GoOjx(r}*0Qv2kFYAy?S7<>r28{(qSI^#3<7`2U{dw2ICK zPXA`Sl7qAHf20EXj>i8c+y8s6n>#o<37Y9U{F}m3`v28tW`m+tH8*lHbJS#Iro(4u zX8F&;z`%gdz{>ic<-cW&jEwl~OpO28|F6wV_dojdbaZr3{{;UG|9b}u%lBa4GPZAJ z*8h_K+x|2DxBchfzX$(rL;Y+2ld*iq^FP~vcK>Am+W#5r-@&ml{zvDZ!~Z4x=k(t| z-v{vD1OHS0=iuK!|78D`e>$xHVK1L|A)>_&-Bmi{}8VKn>9$!%*00be`gJDctAQS4JDdwcw9YDI(H?_%eJ*@R(e~0 zqm@@RG$jT2EWyO_i3uRZsZT{V^y-)YM8QHBUSCEc^+|Eb?DiK0q2WLFyOGM641x=u z6UWygh3-XWW+PmC#gC(#eP~u|0%MciO=bH|@*eS?bhw^<-`+OaY!sI1ycM(ljfJR- zu~RD@q9ek$Jg7CHK`+{ovm?-Ka#PW4Z`r<2-E*g3$b{ zA=^%<`stp2-a@%cFLui?2nM5KYWr>V>EDmI$@RQv_}F$Ttn^mqSIc?q{i5a)8oa>` z&L()^ueyZpbN_t|Df5R9mmiWR5Y7Rjr5%9_#Vfdibm;i6IQ)xiLYq8YcN2s?%frK? zldH1}pe>n3d$zH;p>SnkepycUsG_p8s!U5sUPnbkLCK72cxr5PTuipUNJGk=9$daU zV%}n&vQS`~9g4VmS8ziiNp@moUnqJf7(Fr_(Wo=0bT=1qe5!4+6XC%s ztsIA7!X%gk!h~`GCGXU_5%bSUCXETQ+^&4Ioq(uC9>?uC7}`XA9>L#220aEnsE0+( zVIqz{g2$zSmXf{;i*iNwS<4rg)UXDbUfhjT@`dFh6eXp%bL+ZX>#u9B<9f~Oku%^=8)QcuK7IXQH5rMr3@`o$BfGbUis zTj1d6EMRR1*IvLZF)`M&>J7shX<~t_tnq~R#r_4mt%#EL(;953bj;0eOxG6R6GN*! zOf3fuG3>Z+TchvOk0jJ?mq0%jc$ge-t}s~|pB}#+Y0~Puk6A`59=PU5;G$=I`{Nln2YUrif3Rcd^@4J3FgX^wE3kq2P`s<X#NXzi090TU!Bg;tcZRj%#2%}pf>IV+{(Qpb_@}-jIV!4D zbkRW#qi(X#alu>j1l2e>$Ws46RJ_sCnr;S)ZKumKEmWLl%Q!RZMMyK1LkM zcttmxvjIQJ99fnFVx45wfpMS~E<2>qVCkVfpNPyXf=tGceE$tWhT>o?v?+xRuyf>1 z+X&a_p{eLr|F|4py***B$Tc3YUM2s9nx%;!B_S~8nVL7BWu@t}MsPLk4hl@Q(AW>i z?{n-#sPtmF{R_3F!ffbY`P`rJO>xNMz_rRas<)-d=k-uK0cCsG!ZG6xFf?@c_JzG3 z9j9z`?R|Rm1)4BPA{KB(J@Gw|xkq=lthc87h21{mpJ#TNsKSWis2I)?dCVRMdIe;0 zA|e{`uj0|{#dINu85x`x<5G2v{pxQM;R0aFp``%^*f4|cyKn>c$$R*}Cowro_A3Iy z$rU_H9~G2>to7#Z3!!RYwd#)GLc3zL^$aBNAb$ z#Bt;em@!>2;n2@GlGdbxOAkqD3Duopvk3a5&DCivuVI7*5_fVFN+_M$Yinw1o;8Cu zu4`d$cXyKp^d)I3i8^9cpXCmqJ*w(K;Ni{;&o6z6;tJK>FO`wmZ20MRa|o& zR<9$Sq#@+Be{Z_>CcW}p9Ck_8uSYU4n&WszC6V?d*5@62GZr;vD9;#8_C^v>; zk*QI(05wyv=qEy=)0-TcM7)+{rIvEvFG&c;!|LkuoO(i0@-d6Zf&tds&R_t>g26F5 z|0|sk0&0n<%jeZE+sk+wV&oSXj%G5iPk)O|QRV4mRC)S0gpsq&`f%bcNd$~H;c>IW zs-2@}(^pmVgIja4@t}84Q1?z{ZHWu8YNDy4ufg7KW}mBGEjgk-&)DH~d(*?kG}Jks zSdIu?rWk>BE1fr)pxCf0`3_XI_4oSnB+iqRK@l%PS_JE94g41JEH9_ zPt?V0k4muXgp3{LpG#gN41~~-b}BqW3Ku?4g^L2RD;$e9AYd=X74<_DLsXLHVLJ03 zf?GtlIQaxy`J@yw0$aJ9UzUCSG6yzaH;<4tk#R#N*>Gmt4rY4*Fj8gp1G<2(0$Ec- z1;kiy=QMz~^G1|BSV`NTMWB4f0?}Daf%v@BNA&Y_+&|;|J(3@*NjF-Py3?w+RwTyF zAKI_EC8F+VU?g85w$Ot`&zn737B6IAIFb0qju4rY1Ib*9w?}SI$&ON(DL5(RWg56~ z0VEk*U{U59k`jE%2Z!B`OtPJDDRhPR^Z*wm{3Kw-FYd^vWcAdYX=4Ra+SE@%^C2R1ou3|(oo za(&cmBzqHUj4?4og~>EGk1JIqlE4v)40(3*$2D()4b3GV=9-JXp?!+$3kHU6YBpg| zGisuyL2|+lF)0Ng|IluKS>Ud!3Lsm$^jOjLFtpb?xjh{yH{`=nZrZ8#Zm~8lMb46! z9$>UF|CRI_gs~>5|ukySS=CtgwPoXyrSoiA{H~Ovk!k5M~f^UNJ67vLb0rCQJnNc0vLZGq+0%&JvWt?7FFG+iHp7xP*y$ zt7_Aun+T@G<}pxY*IsHfB-wdmdUeY3Nl#c@R9;Y1&e2dZq`K5>+N*x>)mZ#A!pYhH zrBsyI>>wgqzcyIDhPyfssyyaWQB%ky?Obq_Txi2@DIS=sce0f2EOfU} z7bqeUJ}Z%!l4Lm@SZ}1M!@(9X{V2L_%y8V8R6x+WcLsAqvEv7VYEay$DiU1)V%{hX zCSXpPw^N60L$KHImYIO|*c5C1Ll<8OhRv%}2gR~NyCOJ)NJo$7|GYhfFtz1&lxd0G zb-W5M&=QU};9eiMqu9^nI+N;`#jk}{sai3g=EL@3#_=#(&G(wl3Qmhnv|^kBqjc1nr?$x@bQ# ziOuU8-)CYMntXn&ORZD;i;hM^5}P0%vRD)6HK`AR7ux6cevX1>O$8OMK=eS=lp~JF zXZ)hMGi2?iLz+2$?3O7!*`1#WE!DG=?1<$)nc?1(k;1Vk^mhl(%z=!5fl{e@sEehL zJP`+y{4pErot@JW5c{uOXGY`CFxL==s9y45oD7#sAH(FihNGy9c-^hpGU!hZgA&)d z{;4%qAp!p)_cK?6RXm=0!>cxU8VbD4dZ8ue+l`g&@ntikwa*ca1R9^qr+b3jjQ%*A z;s6tR5)mPoK|ZNSk)z#&4E*L6{>eW33`U~r1M;6*1=}iS$dri!wh)k7Sc^C!Z)*>s zS>y#K33N0`?2&N!3kXE?xltT{OkLKyzQQ)UQyG;TAlV@YK1({@PByln!Mj}dD%zwA z-FoyO4geeHR`7f6!A|Vb<^r|TVL)~N=uh+YxnD-P`hK2S zUL4hafspsR=0JEekCg7=vc?NI=@DLEBNH@AGRT@-ThVy^At~SH%yo7~nSA-3afhg- zf8|?9E`!6Ll%i%QHMCt~bcXUcls!#t zt@4CFqk`41Q4Z#`0*!d1co&HfVx2e`9B~7a$~Bw#JO4}!hUf_d30P{X{W_z^#ti!N zN4dq!rhE-@$hKmJ%u3Q!*-;9RBXAHyks{@vGZHwaMo7UkNRPB@o$Wb2UkjUC==GG0 z6~^i}0@oi9M@3x^k=)!3Vi?xa48{GX#s|d}Saal~e?RVa-lI`vQ7sFqBtB2I9@+-}{$SlFRIGD;`iJ*PvDx+2qbX znm5;|&dCn?gt{?>6f}+5f9YCQKYF%S7}s#>)N?=x9@LwIkyW|F7%KL zuiYOQSeuPx#=<=ar_xAbMTMAA?q4lArYMG?MYT`!Bg8*0wM1CfH%Q~EY^wOnL@cNv4u^4`MI3rT%R z`KYIfxQjM07mo|#JHSR<6OUhO2( ztc6SI9RX^kg!CMli)i^wZ~N#&?Rb?@82CjnHx(PC+1DZYliU8amN8)bT5?wnyk{Cs!#Cn5!&#w3rQ8;Mi0X? z9h&WP&Uj-tl~{Xgl=JqO5q6W<@iCXJdO#6K52h4%Nq&_tfXj?%)KflFLiWpMv)W;r z5)wp-*7Iy@xaG|_3go_cFjZ4@XPXU!L5^_7aC+YymO`}@)#_nF#HK(f;2|`ewZ_L< zea)HGYHM=!xeattAbcJEfUeQ9vr(FhGO#aCA{;x{d-j zLN1cr1E!16_xY9h)lV+!$#;ki0QGvq20XvGc_VWB1=^N;H&YRb9FrXE$y>EcRV0?+r4DCNW%OU7mHVJB)XQz74E;XO^;eys6-E+MJ}tZiHN) z+4-O}W2GM`H`M!gviyL9Ah!lukR7h*#>xXO$g3g8spt6Ahnp7^u~Vc&Xos%z9jI)6 z1hIm>7BVa)*_a;~<{< zJP`!3|!pj2zPkYh+}= z!yo##5Y>g~rUT&vhcn-YFL%A*?vBx+zO;qlqWfke!+(g$dGzc>Hrk2fcxI5modsZ* z%zL99)C$X`Zx*zX#g^D_4{Jj#Wv`{XG21;6(pjli4Fq;OPWi3TBMi5jqYiAu@9{b- zAeFF$PGG4+XN6OEb@{R_hG%r>{F<)WSVbNB? z@j3_J;hIAL2wug~>cQLPq#I0#^HU^7Sx5+s&0yRk>QLX5jB~JM-zUS+I+EMld7jvu zB#+#ZSHC2#CqID=b7>OUZw83R06)ZWspDW{9wH zSMP);b=-;a^Qv{l7o7vqL@#3!F69@CgSSL2R}#G*707ud$O1&*#3M>t6$epD{SpUN zk^!i7={PY*BmMmrF`Z3Gk$UMu!5LiJk?mz423|mJzZ}MyUJI`i@MvRm!0m5UmhYro z+k@#Bw8j*4r$f~SXdwv@H2vXFI)Dqj)MvYGzozrd|fqYxkCD&y?VniI9mdK2YIDAmpD?(m1Q?Qh~wTUU$6(9Ov#VDZG5%Ej5FXEV3js>JRE*Ct}h zmP#5Ir&>F%@+~oCuF-5@Sk88QxKFULtl=$bvEr(9@h)vt=Whj8WHJ==V1_{JZ6YxH zdTMH{IYxnMZSm#)x-Z+&e%)^(qC!4?6_nMjy1uOyAh>1yVjRi~>&FL|Ns|yEPObVr zV@@wDisN6L6#&~Nyc$Ov5m2$5hCX;-%MfT6x6x0^S-X()>0l;6(!#;2dC5!p z7&>f2TvI|>IpvgA1u^wrn@v=M`>8y~J~cUE!w!>0lSu3N#5WB)emvIF*_;}2&##^c zzoBpne~MnnS-P&duCg1ju9ePWr?-!0D5MA|BG+QnVt|qU7N#vOv#W9lR9HCm)6`OZ z)Ope1M&PMybq^vJTq@!nux@q#5HE}zz?}v=cXDC+Nd)o2$YWM2?+e!$U(Mc6jx8 zo7QUyy816|Wb9Q?M0LNo(NMIt4y4RoXenv6lHEVp^`9QLQePdzCBmVj+}SZae&Z@y zo5>>b+*vxH`ky&N=|G{8%k@wIpzli%5RPSlf`ezvPkCcM zH6uLWAQ}a&PV*XMf|3!tsrZu-H!J#^sJyG?y%ms=a71I9w*;2`3<8z?1Bpp279UPxkr2ikzr7TRt&_BwaLkCvMf$`|`9iXa?<@{b z^LK(IhAaX7x|77PP136b9d0=xHP!JC)0I>u3D1aq6^0y^hr~_lroD(g#)MoYsgZm@ zl#X}j^bKGC_Ld8}mAn~$Y!4}y(1*C*r@>bY5Xp-|OsIq7OE7*BdzH%L)xW=HowX0+ zq3l6D@d=A&a3D{@BuOLSkL3Ek;5WVhGw(~=BUy*~MCX9)kr3NLj7b87FbLa%n+P2F zSJy*ncNGJEFlsGeAi3ab?-{HbG^&Cm9u%t-_}%;yyNHuyx+mpXEEG8}AH@v)u3Sn} zY2b&6_Tz-fL-)47qcr>{hHS?It?k264=(}svqNvXQPV;N?r`F-U0DPMrSpl6^f&LD zd-K@#TGdc!G`owj9Xz%9KUEW6>%F$^XM;noV7|fT-Y6ujxY41^WMYeHPvdp4FN=!OO|Kw@E-9PGjyItG)Ax9@V)Ff93&R42*0@fQcHAZEH zUJ4Vv?)S0>`WV%;zSG^5o0nH2rxFg9aLW&jMXZX~UXzG})6Ff1unwZ@_ceo~Mb_^9 z0mg=N-c?JGp!#Au{RI|x8hMy_A+h}`7?Rj*k4=1w_8T?jXMcU}wm$u3h}0{_C8P+? zch+$L6?ufLh{87VNU_L7v7pBFu8a_s59M}^%=fJ_D6IZk&+7CIp$+JkVMNrlD$4qf z{p}Gl8(@CTqM^|vS-|Vf$dwT& zgM~|_Ov?RDaat$8Xk5v-_DnJ3b2`&4!$cnSd=g`)mSe--j|L?QR)!`8+)?`d%5ECE zZ#1fEN8(VmQA&WLT0S&;$-!>mP}j%7d26#g+w1tL{p-dT*W-GX4A0GIBW;?Lbie*i zt!|)2tPF)K7tRul)juSV=$k2lv*S-kW+qs|?uV8kuMmNsb0a%I=_1dD{po?2Khq?K zi6-mTCDCn1PKk_w_Bnah-TjM02XDDwuPuOoE+ukB6j>6oY(*c`gygtfZ>JOK{d`bn z6)ZvrIw{{>fnP#u5nQ%MwFmi~BxUmePWvgNSQcv(HSxG%r4d+APWJFnz?7j^N(nrS zNJuG8ODtxH;&$j*u{ZLa+q%C+O=*v(RePc{MOz74NV^1A0Z%1cMOU8cbl5up`>~`Q zo^|l2J3J6~ZL9`^m`mK45PwFCGEKkv$e^fz12n;LHX8!xS|nXW7XVW+5{*F#CFFb0}iCYYDv1w(IMJ>L>VvvT7K`z2=T9ToI4kooQK*ad`0z!}1GA<`=ttzk$0eW$X;c!ttq70P^XZZ^~fumcGpo`Jb8K_H(OJ$8fwb;gC^-4?3Jl! z!%UE|itLYJUz+?OR^g1W8-6t-hWPw_4kiKGcPwpT-5tc{D+k|g)tezO|Fg`#Ue~}Y z^3_E5QRmV6GU5f0GOAOY)BMvMlhi|NnriRgd0e-J!+-DF?(xFfkCC&Hd~MZi)C}EN zDl)lxeQFazSSP>#ErvJRI(@hLfPp}~#*05h5c(A~Z%6^62t9&ZKShxDCP+W4KPIHF zhRW_O+%p8Ch21I-Zv6qg7vWg4Fu^`wnSU=0i-ZezukJx@HSRZU;`;!NTYQ%J%OkYj7 z?is$fCXE=<3w<%pp$9vdXqYmW6-G2p7lJlOA7>@kt+{7!gM*u$XNT1^$|(IJD9HG5 zvR2-4tmgZzJ_oacUe#Jn4>i*B_?%&9?Fo%xKG-2i<%4vl^G4;R@u7IO`|^1vW$9(r7x7ddbX#5pc%lpRmC!5mI$V3)x<}f_ zF3`2=*f)LVcro6f25q%8fzAiD%|A3}2)O)Z6sd1a3j1TX?}d$rL5p8)PGiQHTfoA< zMu+ZI`NF#rhPXoBzw(N|vVsL1>3=)kjI|3U#4}vs797Wwt{x;wiTboOQKXi=NqRUL z{sw2uW_P8S`v1sFC#dH25dlbB~&!ka!1ifl7YaRQh zMY;D;7ggK(e{psfK#g>5yQp#3VQ?MX-Q8hucO4kq-QC^Y-C=NdcV}>S_W%J7?{|LN zb-uHA)vih>>0T@8RH|1c>0Il%VcQPKA{lX4NAd6ULFYH7-AN}~1Vh+~4?oR$1U#bD zm-o|nxA!G+Gv2_`kHxd5$P5u>$9#HO8(&hGLY(f8t!Bx3L~YL$>FIstre`XE*46;d%o%-vB^(2tVn9NW+H!d}|fq*rxZKL$DJx$8x6=s-uRW+v9=y`84@k;^lZejnfVDUwUM{ zCmnu=m;T?o+x*O#KJSW6rvs7cCHi_*?7C$i?lTM(Z8^EQK}q|n&b=Zghk6O@r_eHjK0yx2OX553sf7M#D)%AM0Jkvn{o%b86Zg(aexq{yNOk#m!W zxo`#ywxOxZ!BF&FL|F;7r-tg4Na*uF*LNDtc2zC4J&ZudE@;w|I`Wnetw(c6Anl?l z+_{;mi8oI;O}bP){f#&3{J`RjJtf6--+BYq9JfWz=)33mytRE>aJtTK7 zH=-JfE!34lCp$j4tZYLo9#%6B#63@E-$?UhnuW&tPdVkD%F*xEv1h1$=ew6Wv7z96 z>JxK)^mZ=458JYIsmcLiF^Agm(Xo3>@{Vk zI8Q$9^1lhz<9Z_GU87#U62KKfk7k{cV#QEY+>&uu-qO`?4@ZPwB<6C&bDUZ}2EJx{ z=+(BIZhFLi#C-(#$kiekGMuk&naB0g!$NSvhMIPCI5@7$Q6F=!gN;8WgZ{;oy#6I` zD&Z^mhe6QeRsCrijQ6kWc3)r-e;b{_^%)`p*>e-5II1190Vde5yDHJMH!q)D--a2& zk1m8DBIeke7j_m}k;Cc4QM25c>*quTH2s>`gI9<5%tH)6qT68YH!QAwj1TCi!Mh`! zp2-N*S6~!*s?hFqSd_8V0leqUE_)J?p#VDP_21Fde+cBiST-Xo3)6qYX14!^&Hu8g z|G3ou2ABWMvW5R&mMvrc>$iiUlew*pvZ0M5ov^Ky@xLY7Oq~A^ZAO+avB}Q#kF;j_ zza`o%|DI?w{i8hpSNHj!xzqpcK3SPq{tf#4pUhJ?vCrnqXop<$4iPMfK=AY?NMa-e z1|Ep4mB|r;4EzQU$vc$V}IM+ij{sPDEa7(lSW%^$#O%r?0$Z9y&0@L<*|W$>!x!R%XFyUJK}93(%!6aTIyfx zxZ-#MOiz?eSu$B@cJB89Tvrhl;mN;W(+?`(iZoQ^aWhk?kGIuZ2E+eegH0X(O@GlV z*D9PX41jGbzG1Pj0Ajq&^fTmzwN$TuJ9hJlUXBl)%JW4<=HC(%~&W~Nv| ztEcCx_9L1R2!9&9bFCM&t8az?{OR!nkU9_FmwTWW;7jj~3S1Y5Hp&LUMor(Xonv{Y z3*vO)KH;`yHZMHx`RwPNN+_P8P|BQ&_;&{}$G%Wxpe=_HPiKKizxw~9p}zq0zqs^2eEL6@ zf7btL|7ZEnc1}*Ne^Kjyc=f+j^ndK{KehBfeg9)W|9Z^7k<$MRY$dq=DW(4zAOGu! z`TvHpGyR`a*_l|mnE&Sxy8Krv`zq&GD*O6{wuyZIhH=6eGc4@bS0wuwA}MN=poZ+M zWQeh__?R#TiZ-bFcbz)wE3!3ewQ8hr=>R4Ba_P6`UrlP(*6!N07Kh1CVvWg@z#PXT z6Cvv!@9pdB*zMzIrh&HOwqxEIt{In{`>#}X!#rEY00c9hy}0>h^egn3u1}hvSzn?c zYwJv?gC6f|JB(fllmu#Sj}=!$0ue+Q^Gz67)7tI2;(dlI6+hW(7)W(j@&3!;%I9>H z3cO$@6IbDZ;#(ThRsqmw&1_xp)RSz1&Cppqo(+NK{8G9L?)*>OjUI?+%l7`%2OK)v zaG0s&UA-$LSFsE}3Y$<*$ozu4t(*`4?Yu94jHxU9=J`h4)#jRU74*h~Qg7wQjzIWo z1fo#%9JCLqIB(|c5jbb{XHDq>sdVDO#ca z3#9l*5+}Ff-rS(#nuO&Y6D19w=3=hl1LZ5?^bj*n-=`q`1LV_=rWxwq-0==wY@xjq zZhc|08FF(z?SW|JEb%0`9Exu2wVaidSJ1TZw#YL@&agTuLC8nu?8FKD&dxKh_@No> zPOUKN1L`xVh1^Cks~PlsVVfD3O97(??pMqWa!a1}ocxU|ntpGUixXs&da#9p?B2_u zc~Wf6u`B$wS*|EYp=n*3nY8HKSD|#51cSZHK|%!(wnD-@3I9?e{y_#&?2}(kZ0+El zt*M~xi0>#vfBYNm;De40O2o|A&crk4EyPz-Ge+3lsCfn!4P0bg5ikK&uL}2#d0$S znF5QZ^><&+rFLS$qw+x; zf+Q!f57G~o4;&BMC*PZQ;5Ndq2bjDde1#iH6KTo1jFH{_fN9$Oo0EJqskiqpkuUl; z*RU%v9YuBD1>OySDS+60Thbi4PS9?nfLrh~0#*+$w;}Kot_Sj{4|)&6_xM-jC;`mc zKFogFcYu}`%?Hy5l@GWtf)er57^&k=y2&+>S3!C8IPKAD#<%kuE}1Qo>%^Y88BYI+ z0~1HwwzpO+j&b~>k4bF+h(KcQ5X0fh4Q!oExLtFdu$!ctsGAVy54G^iU$uaIr(mb# zBZ1-j5nn=y+i5piez5LJQ2F-nthe4y0)TfkgTP#WabH+GLLrJiIK3=?N55++omkwP zUtR>=AQCs|ZqOeD-Qe5N*CVn15Jcede$PbZKWHS=L`PMPq1*g?L2^~iIEa-ip1V;78x5uvcb9c5; zrqSDX9D8oE>?GYpzD^fogrA@<3=-cG-~PCbO`x1g!6`m3YAO0$e%NEpLe834D1^N2 z#mN#PAb0V>wMv0(l&QeB-l%eWJDhgl>;G!wZmLpP+_`cZ@Y0VDl342~~_*I3S1KKm&d} zfCApgPSm`Zt|Vf2_T7-W5mNW9Pw4gz)OIQrRQG)Pjp+1(pB8H6e0Go z+Cqwx7~A$MvdPmKQvskPpmYU2>nv= zf;>H3L93kb2NS+&EJd3kT1cb{Ep~9BN^c~#GXEi)3-m#1{OpAU5W2yr4N@woN7XU~Qg$#FqHjMo#_=a+!SAIgzxaBn*lD7P*2}T@ntAxw9*V)_#s&%(bb1s7tZjNzlV-%OQU|kgd$Fyd zrU@fty>^A}h9T?(4t~}rn?R6HkSVptRlsFx0D-8co$C#D9?QQxZAD)j^B!PH1)@a!EO_JCe3a|&lbr}N!(vg}8chI2&^mriE$c8m-CHuIjM@k}~jFytHE za?!8n%t>kkMmcEWL~n#&C*LhJ_{%kAxb7IhLc_+aneFBepwp>O$dvqDnpHt?fUHJ& z5lw+&1x%L#%h@ShjoI^GIq;GCTQAsP$Tx(a2a_pvYs4nn{373re3(xyW(7b;0{S$3 z_?=PBLH~Yt%Nn_wfP-g`PFVfWi$p*#LuL!G8JKd65PZkRUhM4TBbC)^uAixSh!CYz+ zYrm6J1v>G_Bz@k0(4?6fe=Bb;PBz6_FgFM*HB>>xoILS2YbX8Lai&!ukY_*+32+Er zWO$g7&EstPup|Pq*4D7auySp+iA^ADrGK1C_mOR6Ot{+8&{E^vpH~R{egtRRuY)ed z-S39Fdl58ihrqJigHqf34(SfiW^WB-eAwHUrY*%F44td2bb()~ozuA6vnxcnVnr=|33Q_LzofnALW zHRyTJs2s7w`NeBfrDerslb>O>>Q*t-0HAbGcBzbQvAU=XvW9KRONlP~aileeLIVze zy^^fLT9|?`8)x)%G5;;~`;BQt0Xp(ftf67wP*e5PaklsJ#-W(k&Qql21b?RHy&bSN zPK80M^_W@gTLg3_s|jg6YfQUh&^^^F2Q8tENN-l-EsQ9n@m>!k8wz8-4 z&k8DV_s%cGYVvpV!mjfbQ1z?v4`hp#&TNrcVG5FVD9hQAJ$zV@wvsS=91PdRXl^?C zXfuzrv`K1knb(AC%=W!HUPRB+*z;cQ_26C3)z!Mq`PG&PbM469G=L`egY9EaH9WNY zb5=y;nfC#ushr{VN1J9VX3=|a0tE^7o3r~7SBay{l*!n>pw0BDAiZ`3euvdy%x0F_ z{Le3BHXMQ77NWz1xdONJ1M?VX2v`TcE;NXGkk`$ZmxkbB9bW^JPuz)d0gEM7lL_By zRf)Is)b%uSsZ;6Q;ob6H_a3Ax=n|>hjJfXKG2%IfvH1G?FW;Y@Q7&ZLlAR4JZ{>s~FKp{4ZBou3@B$wqJl?H!rUX;ClpJ zqnY$XvU+u_4hbHXfW0M919*LlcKbYS+Z}o!P}k^sO(MVP${GZkvS5_ zZZBEhd{%*OU6^9EGTa#27}}I;0h!yZ+9AsWfe1z+g)+^_(htXtz(ot7*a3^cB1mAi0!dlPn`Xm$xE< zN6fh+8j*$Wfk#Y+u;;8?la;QSzj^h8V8-Z}kE+0(sq3-JDq-mI)Cy^9~x6 z)lI9)6~_}~DP&3a4%Kom1lW(VrQTn3M6eJA3Vy*vp~*u<^9k64eH>>i z%TV(MeBz`m=!@g$*^&{wCLj-o5D3A1siDT!3uoNyI@a|0+KZV!;K~R>{-<{f% zB4gDxyU9(Z#nVSqw6S5vQnoKvzaOMba$$7=b{+qWv~+qH>hnKc=r&#Thd#&Ux4ual zU(NRw0#LBNd)cUaf&22T8_mz^j!#A;1yc=T>`_N2Q{^ve*~Hr`N?D(6D>pe^vaKgn zUMD>~t01muFemUUvP}vacxm@^*VZ97_FIXt?KOXn&&s~RnOO5HynLf zru|78VLffgQWm<9bJyQ{k#oCa$2(vSvSFK_3cq!Vo+fo>u>ROQ<)d&mTr0TP*7`75 zntodJoQ8LDTZXQI^_p>vd=|RaIHTE8S4J!_bK(?>Ws#V4Wc6fEv>XlGOWd0%*lnBb zz(~kZWuDM7m{ba25z&+~q1WL(&CjV?&?K$o&u(}7Gls`agJ0+*?Lqr~ed^`m0ZK0h z*O(EHtf8HpU!+;dlB5E!v$3TBMfvnoj~UAuQjj0ayDG#+4O|>lwd>c)Od9&^fw|)s z-yF~bzs0r#+k>R-jqB@R4HBs~NW+a}8ZLInw$ue6(|0a5EiZw;m6oz9{1>llAd&V5O!l{|BA6 zoVFSV#|MpeI8Uj?)meg|yIN4qIZmB3(%-e1`5WZnILN0t5AVb5wT>uHT4dNarx~+c zrWg-493DN%X^eAcX;WTfFDb9_w}>m%f%SG*1bxX|+-UP7*3g6u0tZTR%h3zB>D%@| zM}_xHQ;c5WS&JWb6@Q-Wi1F{fnIjcKzQT}I_#dz#*`Ok(2Uf7VW=v}Irr0s&m?3WNgHN&&3$BGC{(IG{HghVrgOR_KZnep-Z z!%YjF6Ojnc8des`Aa|Idn(HSk1U>g zD^36X%7I;KRd-$m-2S1M>*n*p)b&6+^00n5VW-uKaOdv4H9W>cp(t_NRWQd-kW)j; z#5h>|zyZaWUwdJ;)6HB(X4A5cqj)~wIRx4mVM(NbRRQ_7>0dqO;PH8GO6>U2mI4P6UL|M_Tg6VuWHRqw~j-tNl6ZHdV&~sQ%5GA zj!$QuOL>C~Rr*C5$2ij2j*imsI8ja0AscG}Xd(8gSK?tH9)XIvwv0z z9nBr#7_=;a3+hGwZhf&d+vZa;%1t5h*C@9tR$gM#mx~_s4>5A!0#{ts)eU9 zx>oVToR0PmUY?=W$JzDN>H$DouFc4N=a#8W#OGyfX|0v6?|xHuJk7ZyH69CdRs#@o z>-{8=;~nSx&+|x2HviiyIHqd!rWvvN$H~@P_h;{HS6)JSl=BeQH$ioGR(*6F$a>u{ z*wCPX{?dRQG_7FkeiT-iF>t1X9V}Vn5Tt25MU?8?##NCLB@*k~Nti!tR*2Zh z1_T;}3RY@-N+9S|exXvX16vLtMuQ@$7YU5kL)c}blAuP+cEwWIPb@LnPKFTj1jxjU zJ`;+6e-Fzm-9wvm*P$AZfKBMGnlN?fD4>BdRww47e@2#Dn?KZBV{*9k-ZHq|VG<5~ z24s)u1N^*{>VF+hArp2U19J*;JNnvL>qO`xZq@Z#Nm z^#r<9rh4pP(?eV;may%~0FYCBdTVr7-*DC; zy+5*J_t>`;+_kdB>cf)WWGkzA>AVu<3nr{AAd81q5Au+gEfri8-AX zy-?G9@n^%PYrww6G565?*cOj4tW>mX&Y(9;a+OLeP>;PE$pnwABT0s=iK&S#`CN80 zN9tg4Z!v#Sq}+>|+%D<)yC;%6Cvsl2n<*l>GCcL#FY1%>l%k}O^d#D|(q3w3*~1GA zjXz_7_jH`U23$hlpR(5Pni9IU>qP-Kdo( zS!$TYqgqaFTP`Q?SR~ne$ST?E_#61@2AT(aWRH?H*X{(fHEIP$S{HS4nFN%_C&yuv zaL1X)nJ0k1H51Cvs@4!%m`38#(@#_DnUe#22FRZ1Vr1O|Uskwl#(O60wLj3(5t=xRpJA|}u2t3R}8PW48a?U>Z;NRG5`UA({?VYGK@ z&{Lp?WbDDnhoucbUCRFX*~Rpb!_HKUWztkM$Zcjm=SubWJ7D`6y8J0p zcQvYdkSTtvk+@y347bark~IjW3A@N#$*lUL$Ai9pMh4~Ng-mZHU-7f83nHs}86(v6 zFsadyt*s!K=sN+}*h3grRKX{Gzhas*mi!VBQnW}QCU(dQ7aQaTT>28!oY5gU=6U`~ z81w`y^G&HQ(FJei6lq%DrPwf9$f3!Q*W&J$76+4YYKE_TuijF#o(_iB*hwsnN`~sl zPY4(Yk*b>-d3#Kz4eyH^>77nWn96zSg#xEy;DjOVL@Ck{X12HY^Syr%L!Szc{IjyW zxvZLF?MfRV;PJ8i%7} zHnrVgv)uB^T@VA#?T|lBIpeBAy5RFn!52D}JKGb73IfCYVq7m6)DmjSbm$ zmF01VQ|iuyQ_G!a5qP`)ea}MnGB%f90O!fUZ+?CCarN^v_v*mslcSTA6Z+-L{oEt{ zh3vhid9%I2uqpgK3AF1dPMt>n0#1Zwlq2VFu`rdal9juhC+^g>j7d9;kmwC8G=q>~ z%W`3AD32aZZ$Sjg3id)R{C*HT!U2>pc&Kbz)dWIP^K7&!7WqmK8KX-3di$s(rUzy$ zR7(pc>*2-@bcMeL3&VDcf4I&L#PHc<#JLgiX8%H=mg3j;gZHM!-@w|iUzO%DX;(EP z=CD`or-vk%t+zKKEJ;<0Vo_3J-Wj)t>ZJ2w;lEx@z2&;)xpBVrzV4I&21R}%nGQAW z+wO?nmYR1~^zle0AqX)m6d2Dg{j}o}&I(R!`xSF+5lq^FM+%KxXL=-|jiLRq5fBm6 zB1jI~S08e)hyQ?zj(?donETQr7d)vZQa&vxth6p-0H~{hui9$rJ(H`p1o8*v72JR;J(4&0Dev@T<}ISrET)l>*(Ic z$LL7>^DsU2?UUtR;Qg0Es_o?X$OjaDQBFEM5EGl^gKk)wrIzJt(o3Ob2B2UP zp;pQkkzTM}c#oBhBJj>l602Le86ko6*lHi^S)19490wy6ykvc&_NruWk)JIBuX&(# zkSsFRx)kBM{{wFzl&IsALGM;g%WV?#$Z|86T<33bQLAtb6cxoz_UQz6{UGh&yq`dm z(j)2t6>uryKzy;Tz+6CyI-_rvZfpgaBG8*vqfWz~Rr9&;2WCGwJO(Y1aR9&4!m&R; zQsrZAh_V?TCm8xh7u4~OR-URf>tyj&wQ{2&nRR{@87MOrwX==JA{D68PgV*Rd^Vq1 zAZw`iiGQ2Q(F_cc9FCw{Pt z_iKV(n>8nEgp78MvwA7CNYSAyp`H(X0(%IXbig98s#ggCBcIEk*K#PG3lx6s0$rKS zb0A4YQXKXGf<09C+v!LysOezBojU|8#M$k()O@Z@msev`U8m7)^0^P^2l=%3XU8G@ zikhmm2GjM=T|up#V89=Je)mHKZISL+-(9ElvF6uOWC5T`=#;4XI6)jMA?Z>fA?2!; z-mJZ7<;0P7tO&|poFtkPu{oSMB2AY6Uq`mf=KdjTl*J++#}*VJx#@a z?j-`Q_g40#?O|{UEf~T-m*09z2!X(*d|Bkg#d~?LAlrURJC1Ja>)=1H-Ie??pCli* z6rN=(+fY0wm=~v})N577k^O1jlT+DrJCFVAV1G0lqRG*unv4Ub)8dC;*aTc(=OY)i z7d#hQO5sm29Op4%?t>axbiL;n%5wwZW!!l*u!0KCGhf@cMKqXY0{uVPf!bDD-H*G@ zEevfZO~=>1UJC*6m??;`&{^2m0^LTe7S2(hA-+GhxE*z6jY<`vee$5)muI6u-c$Eb z9J<7QgzJfV%+10}JR6s-N~5mwP&i@6ipkZ^ogjE{=Az&pFL^kpmnnQkY=MXiN2BZ zYIqL4PEBLJg<+MC9IZh+<#)LvM#wVH2RH>tW!<0QrJB_P5ljb#e(d{t)lX|`NSb)P z=n?xD+$!3TJlTEA@Sjb!jKBIB6fP~2`{Z|9pu^Gc$!=BX+Lsioiw^agY)S=x`Ug`y59U2(T(3nJqY# zaPbNjQ1*l~;&={f$(%E|U8}c=9L3ye8mryc@1Ks|6*egN%-oc`=20eivRp}Lg6<;j zaPs%tIt32G-5(GX5TDmIONoBpByenwZShJ!yfiTfrqZfe%2{Y>5lMu`n>9mNsr{DK ztVDm-_~V?kNMmAaLBxl+<}q(a0|9U5NsLR(=N-uyr4ZwRlGntH3z!C7#4Co9LQks7 zQix$bu2N8(KIifs-JRs>&bs8n8;^I4aQw#Q6+`hXuZkAix)iPM?dbwH4N`|7Z*7&o zG`PFokF>KiQjV%H59clP>V*rf{FjEcG?MQqBq@hr*pVE0U-|g1I&Iy#%t+q;{T&lw zD;K`>{vqqPBai8D>{MBf?t&(kz%aDU$K1GTrCLo_-c!u2N&V9sOC`qD8X85>#}ymo zqxvS74-W8#x+bwh&Mo<6SA3}GH6Ik0T8FTdQNMAHgC6}gmdxWA(^@j?DAfPd2aB=M zW4TAj`+D1z?`dNTl3v{d%F7n0VP}BYO3;S!iDPgSa-dan-z05&k__Fuy*HxwHvRY$ zh0K>iP(x@1t(oRo^F?Ko*(W;2SJX|xL-bAL-S$>H!L8{7$&1D{)$Z$i)RWq~2p}|T zITBxq9!YY_t;vb4Mfq>}Qpk-?xZ78WuA<7rnWgO7j))#TSC$@ij=`RxPd!uGV;ZNH z8`pC^f1^=Dy?NB?vQ*CKvSY4j5E>ntI+jpg=kB=DY_c$ql-?PBI%=wzxW9RjZle2a z4$wCZVZDmDT0a8`w9vaUv~cLHltnQ3_#k4z-Kb%`4~g<~i1Va;H2uVUIGqZ*HSJ8& z0HFerGyd7sAgH&UZjc+B_`c*meo={mx4gj2+X#EK4`!r-I`4CcNX3ri239Zz^LnvN z`QD-aeK1rAx{(Ds>C&kXTJdkVob?LOuPdIvG19q6YO}jlu}f@KtvG75yz0-4myGpH zifz3$ritsa#IR(oLbHO^^v5(c`u9c^Cak?4Ph&^p?bB({k-q*mJ-P=B<*`q0WFl zf1BS;U?L^kQfxd-u9NN)`!xdGsE;e_g}mBQ#9?vBL#B79%$*4xY#dea9}l(|5IZ6M zw#ywPH|4Pzn)QN*8i>jS-SLgVoC$`~-!J?uz0 zZxc%uLpTg?Z2U0DIz|~;)rohSx4AEmm0TgI^xSJ>t44>ebR)DR#vZ5$4ZOz9NjaLr zBOSrBpiF+~xP7y&EU9;7toCXQa{RH3ew?5YkDdptnzo2cPr(oNK<~pK>A_I8&MQG; zqzbMs{R5g4d6um*{+ZFyogHvof)Uu6A>Vp$U^(4w>X?pB`e#Gx?H(Y^Zs$RcIF=Ap zpbZIVOn0C7S+w6R@T*a6K}NZ4QW+~@rz)NJ$c$%j#ChgaZ|OtlIY+J~!16Fm(ZTY3 z=$!Hq>xgP3maYp(q5%DwCTGmLAv>rYp6C;lyRsF%DrhOZ(J8N^25 z+e9Zs3cY>ug=kJ%v$c9VVy~*KU3w%!)Oic{50Y2t5vbpVHERb5I$>(Vzmk|^ zdQd+vq!h-eI;lQ3Z{cs>R)z?J!#CnS-m#fYC~#DXA_reOt>UYvfG#b0ySa{Np$k$M z?4?Udzr-<=;lwe1tyoNYbgJdfqVa96IT1H!BIpMuErtm5ro(X{aQH^yEm6i6ltr*YW<;6+9M`lny6X@x)vl0hc1zIb z1XrD9D4z}0NG3aTjXnuUQW}?wI9r*-i%|+CRM~OeR(3z$A$#|Syq~6iTdLg~x!MJf zUeReHJ|~kttPgpX|2m;5jAlz$2OUGF84;*LgbzF0GCKxMO5pQe0-Gwn6d6kq`=e!6 zzvU;tbt@+D40M-?G_T>iZ6Sm?|L!iHKWpbsG7JY_Ygof@33MuF)BfJ=0elRGOS}CB z{BZ_JzmY!uYgUXdh*9jHli5;0WaE(6pV_j@VCNQXns5!GRbC0wqPc$N!shUdR@y>i&m zU+2wlhk%H;WI%X*uiHc3or>?R%rKz}+)p%?xlRIy_|os#pAm0$Z*|9Y>J3EBLTdpJ zOF11c>l?`T$R*~YwNVa34%fmy{+|A({_2T`(|5-1T&8~dQ~KxK6puNLp7Vrqo}9Wy zh1<|^3#P@kQa#k(uCME-I8VPpOE*!aC@=!KviYHiRdV6@jD+cp9s8N0HaLXqKx1?& z(R*eTjESHi*AS6QVAfo-;+f77hh9q=g*{%D`Z%>{~n?$KFJspgvV;yh&% zJb#v3+;ITD?ce_1!$;9)ya}i9L5FfFbiXAt>sw?P@j6Tu3m|5VA0OmQjd8j06`mLy z7=?aBQVO^6e>I`x5L|`)O|~72Ayl5vwgcN3z57_G3gRp87ThB{yg??i^2pM++!2; zl6|0GAC<~++e{_n3GXvH)H;O1ACg(ivEkP{m33@Tm$-MFT+X<2OlMFR zy4zC5IJ7;wqjCoB&QZw-5Zu~CkShfqT&f%HP+Xfsy2LO4|k0=Zf7d}b9UK-2i9An#EYB{5|zO=^nf(uLl>=0D`i+F3(a@t+`rA9=A$ysZGTSP&(01~UTH8WdkC+DaPKdeIZeut?xK zABE%vl8~@yu5l$^OpRoAG353w4;!CG(oD*?)(oTQ%id;(X2nh4w$F9Gf{n~*;CK-k zx5{FSTT3~?&&n!$379R6ADH3lUN8onsU|o3oCu-3q%i#z%bPh^q`226ZFi{5j|tLJ z?-t=(wLhrTf?hC()+bxF1h{Nf9=C)|4hb6N4n1JcPmQ$@z&RijJD>mLP~I=1+u2nnQ^OT(SyV?t( zal@EZ$f=I3M$TEtmaU1AtK2@>`2Z)h)np%MZ#fXiv zHdJ~^xrFSC6S8)jw@e`}7T;mgT7z_PMp}OKoUM{+bVUOB3JJd9SNyWyPYLN}xl^_Z zix!Dw((xPU)y*W;xAasSgAMNnd6~iGkDr=m`k1)376>>D^lEL0m9Mr&it=jer$N(e zs~hKPw4J?l1E>$Zg%GwXR9Eg zlG7&^FP5)TnQuWR<+d%dQh)orv`zT!U>B?f?mPU)+!7kO5Bb`*pcl*Hb!6WwQf0+v zjBPO+B(ZeIPZD(&?AJA}lS;`#mY~m!mf(xQm=>Y^`R147Swo(i_Vxw8&F{1 z7}q+vk@kFU=~Ln995Xgo$)1_RyZBPtYHiKwqgB$Vu}o2AlV)~w&6TVLtu99!F4-|2 z05c;!EIX5;P+3&hKK^I!mC>z{pzaKQg@8|DH@Vu6B@N>>O65wx`F&F*57A?iW9{!i%Y+@?~v6N;zl8 zp=EPendb0A77cdSKvbb#$!b}~DUgRfRaO5Y2VA-MxX`?2UE0v(ks^R}gt+T}+C;%j%ob$R@o zW;6F_{l@`+WBB3Ml!b?jvrnt{@Y~l#AVWotdpA|&TRVQ@TE@7>`rkBt{Sh<_cwey< z{7({_(njDT_VmW}%mHPA$sh2#XPGF$845N^_iv-Yc>F=*yFju5XN(Q>{+~<`#aMHt zB$Wz*5t;~H4S5tr{fA}W;fgb&$9HH2;ql*nn^)eiU5CTF3u?`59RzgRiaF*{Z6Zen z64YJ94~FKo(VL4u)_1@Z!|zQ&L@=CX)s>FCC0Ue2pC`@}{!zV2!Udw=u6SH<-Jqh*zG1 zIV3t(l-DTBS`_rQ8jwQtzFD7NtfE{o+s zkG>nu5>ryI{b-SREj;glKPbAe_Ct>mHdU9`7rnx}fO7?ZbI>+zW!QlF)hpXrO?Uv~ zIx*W4JWdGN^c>(9-z@3ti!37n2{!-;w9a-=!H<9w_=_LUApy;uj??bpu|~xf?0*Sr zP=uJYCNRfd$2HG~5)I;l3liw9Z89#iz?VtvZCLj#s87l}3#prwXN_XDB~MZ467|4@ z!41V>1rm1)x8VBNOFDP;)b{~OZt>Zhf*60Ak+-!bZyNsKEY^W7u0J!xXoUr^#SIEi zfU=4WS$UrQn99y`Y-6d<$7G!+sg1RXV1zh&GIR$o6S<1;yJ|1A_9M8ujP}FnSSM!u zskEtBLCfU;3$uW}S|Elki3WIs#4^jD$ZlYG0)G@blj=8a#J1)&k0G#TpPa_(ab zahJ{sPHGc>bz>X%3UV2w7+(V~>}kQD%EMM)UL6_N+T^%b@H(rYU@DVi=0XYI#Y9_P zUGZ3OC8VGR^wpIqY z_A~1|)8?228`$YSukRP|6ScUr1LtqVsAu6UhbBbl2!Xf{RfQ8Ul+e=#As)vjXL6{F zIzblg4D;+DE>|FYa<^i#e;fGw71F{fPJ3B*y3V1X4a^K0pw$*x{T*H@(!eBgRE9{I z9@*WM-3AQY@ZB_833-jVA7$KCIqp~K(3JdSEDpe)ktW`|;+rWUvTLR312H<%TNKyq zJUx?MA>4iwMvg-^w#A;NRA1FHHvL#bF9z!)MX+_0-yVAZN%8w*6vvZYL=a!6<;U9g z&tv~T31?Se5|AH#DqY$KMfVjr+>XR0v10hj{c|Tx_Kfp0CH}1|7^mlIWGBimCZq4! ze1W)YhKSY?;_MUyODlt=ZU$p8qJB^1C>&HIbwgm5>%B?Q=GAyQ z6Qxn`GKLaYX(@td3fhR3@ygTZsw!&WQPVG5sIv(g-BxMlqv%XXPaNK@{!ad#EWRnA z>HO)yG~Yp-%-4*x+lr%@NSbjb<2&hKG6RA$C@zV}&kb%`(FC6TlBTVueYO-zu;97K zex-Fq^!)7^Pv=?wTA=WKeFbW}n;r1f)Ynpr*zIk7b7>i9tB>pTwzl*C(**PdH1!?a z2U5P8%3~z(9SdhaEE6mznea>R&-nw@w`3OsdC}JWxkeLRvhP^)rCIa-UHfz zU_R{neKbH#FL3>@R@^srpMA9K^5xgsu|zBLJXbf29hvJ)3u^_(g~*=%+eQ~FG2a8= z4%xyh#rlVC&kKk1y>0AsEl}#cn^)=}Z#&Nxz%{xVJel^9ek8JiPlDkY&OE-!^-GRQ z(Smlvx(pRgh{=YD8zMN5;L4;C5f1brWVc_F%;-DTT)GskUl074LbJ&3EQ$_OhkBj@ zP?v;CjvJUfU_w*)Hf?852^*!cK^D#Ca`i2!4Q3@8I67h->;biCtxzh`6=NC7DfFTu zKADnm$*9kkr|yUZBg|hD;#lyl%#w>i>bF_oK*<4b;6U3~1ygPt&|?!ylWCZ_(Ghb_ z^VUHMfdQ)C@_t>Of+gjT8vJHXDI^DV$8YuE%PzeRFO$$*_|yTyWSU$BY$+EtOm;Lv zlgW7)gc3a!J*m3rHJ(^d0WW8*tOr5ek!?-~e(gD#Ocyu!9w8mU`QEWHVE0qF%SrPV zgJ#rRDust9w%~)UxI+6J^{Xzi5Y$o%vVId{LkcjI&bWdP&$+Z4a(*rW=`I20|6IT@ zdE#MQdXPL$2-E2I=*7A=Od4^=_59qi=9v(1@Qei2Y{syTcQ^82Cs^`$5URIOtHT|R z2%3u-S)arHpW?1P9ICDVlaeO7PPta2PBqdo*F7^zW6T(ZFriYCCdRlchRWT+I7vk) z-3eV(PNh?EdP!HI=z_>ePT_EPNhNphT6=~wF1_!0e*gSD&t7Zq?_PVY?`>T?>hmeI zwGN5@Ypr?OtR0~{9yaJT?-Q2@&tc>4*ytFwU#pbM@>}X9A7$wt8M#e^9_hCDv>R^I zhsdC~(o-|}ofO{`_n5n;p%!iCLw?$uhPGV=fG7p)EBA9gb|{sei#y^7z^g4Zdcp^< zvpbnJ(`RXy#jEnuKP7xC!Z-YM*ZeULdEI_5Wc6z&-Z6H_4#tO#b$Im!5tzLNL2v%d zxPL@7CX&12eaR;I%~_Z?r4 z8!cO*YV@{#)x*?Hce=<*g%#xLpr4E?KDyt;Vj@Vl*wu=H)k!6@XI7b~1y3#BleX>g zR>f3hcC~VSx+*>};v6W{xdh&qNw6TtZm0F(ux2kX*sCm9#GRXm-x>i6^(hUvVZ~j- zqfUYaIo2fAbuuiRu?JZ%l&}Zm*z%Yucx)<9EqW3b!^5-Eh|*^+iHB8y1toT8Dqay5 zF4#w`4a(R@aco75I^H=oUOieFOXd}^v?;^SQ}8QUe0j|D^lNg_=sh1h-{q_kKIso7 zo|b&<64vgh4U&2?{tyv9gF60MU+x3MaLSPfEMK*CGbqwp;VIt)K7)GW7y0wble}~0 z71Qu<(|9!;R*;hGO!+o#lc1k-tAO>I3bAUuhvADK<9D)VqxWiDWq9v|<*-PTVet?z z4&SK+i=Q_rlb$SyV(SbxS@syxRC2ZGZae&zzTLg>^6fM$yMN95*MpXl^3Y9Ts%wf` z+EaDyLUdLLzq(*|AaPGx z#pLV?<*a4eDfG#^Zz(gi=U88P(qQ%Z(_cN^xxxK=nfW@4s$8E|rw9{fbOuj~`>^cM ztdyppsb>3d!iC1?HP7}wY|xxh+I8>`VdBO!bE10Z;``DJlo~Mj2A)|emi<)xhm%)N zcwL5b7Kb@~=~OdC>~YJ8Q`w#AVP6$R! z?qYiOn&nwv-5g$fb33!uUd6RU9I}r$CB||NImI^y(0w|kg z{npDFZ#0rPDu=nYMQ`S&mY>j+7c&<;urS#4CI3UdeehYi9!J*o_Y2#L(+zBY5x%NZ ztL!=RV?PsD)h+fAVHb7947e{y|C*RTHRqSlzpFUaw_XU|)9cdfy;7@!^;zZKH-FDq ze%-uI{61sTPhQ{V^(kTw_x6S~b>Gi#$Uo}ox~R+HebCVx`%mniyYHip;}YdNN*P59 zyH1~8Q*3wTo7X3ud@aY!{*@JktaXR%w|B3skXvE;e7julv$BPm%>1litbKBDbJR`y zRgNbJ&yxGC&r>;O$67T`K0ZfsQ`R_bl0F-`D|U^4Y&j%$h#&OLbhue=_OUrxcrChI zmtPRHU#W7IXhv-2E|m=aqu|eVvgMZpEVqMgHLsfwc{wgG>AO86YlyQY)!)H>`PByrZ&D4dHQ%=UlKibK z@RMeqW5(|}{lE6TIN+~)va8^tv3rbAC#R*qzNRsuCF}eNN@Je4Z}#~tAGIs7Gb)Xn zva)-`|JJB+uxQFk^Q$P&%}REsZFWfN4RLxEs&b<4?)#sd*Ra2=>Zq@L9oN`nY2I$o zQtsqOskOJ6*`Z_@^`)>er4anD&?xqA7!QnxtLha>jo{qS+fy|S?^e;5e3c7b*LH)I zQ(?Hs;^O=bKlBdak%#0>SKQ8J&#}2*=b01Q`ylW4i+Wq954{f!pVz(qiSa;PH>JbE zFfuZ7;0swTisH*z8OG&!(gqw)|1j;m`&BRTt>bgOw4T&-dHm|1zMoUBK6zP(-04GX zqxC}p8Ryc&680(x3ilh)WWZ1r9mF7L!qdlzQdH}858simRR zWrd$~FTy3MKk+EBF64n*v*#b$n8}gP3PZbMUYBp)xWIPko(4X|`uaf2#R1Rmh-r~O zyzSdCN55KK>l9AI*3_;Ew?w{UNdEWq#@2~&PDVIX>0}aP1gwYrPdQXMG90QXM$h+% zQ~`bJj}$tfbR<&90HufeeJOPs`k@~+-dXAKMM-m~EYV@(@#rFf0 zsdHkJE+lamx!26Z5ls^`BDHQ5)m2fB-Lh8Qf2eKs2Zi-{?|i!Q7rd-0ub8Uw`qEd6 zRF6H=kxNTX+n-gteB#!^$I1Ow$Fi(m+6CQloSN4`RdI0* zEA!tPd0iVV(mI7^W>;0SYTM>d>uIbzu4#VgLT?U+l7%J7<((JX5N6JoSmXeWZG4!H#zkRS5?b%Tnsk8j>Fv zeqbsNMmw8?J-t`w4Me7jgNNFYjy*?W3KEt3DWUTfh87E5!Y->A{uWV?T>2+rPg^`c zZ2C}KpMCf0fLk4V`Yl_#2RD~?l=bMX?)?mKeJlg-8#;j&>S0T!4;@e7s}-y|Jf*Cy z?9Qd$`D`sj-TOG{Om^j~_Wo}UWg9#D6h&$!+7l!#fTWQiOac6*5h$tu0?spWl1_}u z19*F77*HW1&L~tKfTROu!-zV=HAL1KzMu@WK~Z(!J&MR9eGidzhWSWGka!?5Dts^H zE(M4@D1Yf#1R(gW?AXKOjYs4`XYVLP9&|2@LgXRKaF?0@+$@N91b9mU4=Z#oxC4M% z=$$M%F(5)7aXf_Y!lAu@k$Ap7PBsFOJ%MLzLa-I=6*&2tk<#$rZ^E`zhyEB9H1Z=0dxrs0ysj$6w5M3{C}u}!X?S5LzV$XCfeF{dgh-?SR$MX{T!0*x zN+kkxG$N4>YmjI(eQ7OyPo_!QA)tou>EI)}kxW|(xMzS1w1?l);WNTS8Lvh5Fuv9V zyDeLB2u%+V>yjyYK;$qSV$?uuf+a``sTs1?%K&Xjtbj{2YCXE5ORT4$Lja5^S^I#F zBldxN)GlbBjBS9$SfVq1SXT)@@87yI5Iryx#_G!R6$D7#FRQBziq(W3muiH19(Wx= zy(IOfjAubJA{BZPdKzA!9U2)JA@Fh}O5E>hO=ai-L;luUGK(Z0Msc-dwI1H$zn3S& zTEiM@4K)HaZEVg+a|M-4wMN@R?WH*}qPa1UQNE)+LZMEiy~O8|pre*hPzq)lOHjdo z%lKhSfJRU=D$oLEJ$u-GJCN2i*s*P-B_cpZ2TwGQUZKk)+87_3w9f}Tgeg_ePDp(Q4q?^r_8pD_DT zOUC7l%cYk-#ZSlc4W(e#Ng&`&VKed)GIi2^?*Xj^oQtl!@CMN){eLd z9f`vi@jZQnU=y6YSH@{!W77c2sF1 z(tz)WlbZ@d0uvKnF!4cR!jQo5P+$#0Lm`2_&>?{##(a?gZ@h|3Br%9oB0{1dRD`Na zBrhitm+QzlXs@rp1p_G9sTk0c^an>n5DJ2G!AWEYMIZc%fWE_dOJ(2*LIuK~zhxvk z4LEd^455-HYR3Qz%BXe#AQT+nM$5oaiZX6o3PpeHw`4K{hIv$fK!$*{7%iiK9e11z z9%II~(+B9Kqh%B-LL55=kilFSH3o%BCy&*Sf{-Cg{pfZGLLF-x0(2hR4#?$Yw^W2QPG>4@Tr3ePW4wL{NaeBP z0+q-0htR3x^g|ekjGslmd^b;lFFat`xCIJ8>JqGdd_*{Os)JLnske&{0LKKg5Iz{= z>~RK09GVFYqy*6f;nKM@D)^z3fP3`WbQ3aN9~_zfcN4h282dPJTm?=Ze*RuK0trwp z>eGoN3fOwNRPcK``1P4;Y{KPm=wvQJqryeOPsH~Xp;HW;;V4AR(xqH06U=`Agj)$z literal 0 HcmV?d00001 From aa57178d15ba93c716e6e95995f227a76dc359a2 Mon Sep 17 00:00:00 2001 From: 6543 Date: Thu, 10 May 2018 13:41:01 +0200 Subject: [PATCH 6/9] spelling --- doc/Server Bedienung.odt | Bin 16788 -> 16515 bytes doc/Server Bedienung.pdf | Bin 56914 -> 56758 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/doc/Server Bedienung.odt b/doc/Server Bedienung.odt index 50c0dd8fbbc6182b844265795d1913a54244a795..2fc0b1374aab9303f3867757555dacf3b7a51900 100644 GIT binary patch delta 12171 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 YQDpxV)%bvc{J21WQ8c)I{=fSBKepQ;YybcN delta 12400 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�?(Cp zzdf^+!Rj~t{s^gjol%VnV6FtevrxMi7pFfUFQdq0n$uoUE@D=3UBTYBs47u%oGz)? zKG^DE1t0An3jCPTu)cf1cdJNUOIhq3mzHz)=`rf#h=rSGLb@Lq@=M&%bGM0)7E9!< z-lTcMe*YYFi)_Ho3k5~Gbp zS4<5fuCRMZ41Pf7&JRW|o3Eh}y9%$O=W?S;NI1}W3hD9X#9m-aE62Z<%X16B2^EhV zU36mP6BN>mqH2NS(F%BVBkeO2=VKE}h@);%^>pLUj0IRI6>%K7ab}Id{+w5@v`kqq z{<2X$d$2mWy;N;-mD0QgUz4s=!g$AFNg-4C3n7!f&=A9mF`_C*WB6yZ?D8}JuxUB!z@66`c|@~x!ajMo?3dCSkH}fA0xOvZG`Bnwb*%aMsYZ3@^c!pqVi zYxu8rVBm(s>+<58`D5x@KbCY(ZKPnQAT8in<+=gRTKaK*=VPijY~Sbmtp`jIz(pdS z(ZNX)le=~%&9lDwZy9L^{7Mi!ysKf&3|VEt0GI?{uhjfDg}~ShmEf71!8tbGj*ymj zZp>LHeo$*qFiyXwGJs?S4;LrR7D`SK=_7gJ@HX`j!gQrC`DafVbc}_o(x7cSu-arf z0IH@okDI58?_eMc@LPI{(|%ALJ+qZ!5#|56ZdP$!D1EO(V!5BnFh?QXX`6*VEa`qq z!Z?x8Uk(H^#&Kv`9otcE3KgU}r5yDhmAwI#a&qvay`0lfV8G@e^APxjE|+3rN4_xg z4%{!nv=ig(lD^;~^CjI^LN**Z#I9}i0!nQ(q;@Ro=rrcEH$1j(=iV`^L6Mz9lZ28l zW7**p^I?G$%fyw2aJBDJ0J}r5i~7xYZ_-I`86Tp{)-8USh;*Xtp}45_p}p`>6_wpT z?uXEIk_nb8a*>x8NjDSk^a=s)zUZg+R{>De{^PB}`|hXYY*g2oE}ZQW6_p`Hz@E#3 zzGE`xKlmGaL!&28TS?-kD-NC!Rnk-lDPW$S6!c0(Uj`esc zm#DSld3wG9x^3>4_MHWGx}O0RW2d4sqSI|kvxUOgFh2PKw?0C-EVSK�UKf9`AE5 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 diff --git a/doc/Server Bedienung.pdf b/doc/Server Bedienung.pdf index b29e05f56be5e8ab2a147e8e141bb23ecda62f4a..cb15abf620cd621b1110dcfdf34c649f6365011d 100644 GIT binary patch delta 24074 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 JidstK{{`gwMo|C& delta 24209 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 Date: Thu, 10 May 2018 18:28:49 +0200 Subject: [PATCH 7/9] spelling --- README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 625d883..805691e 100644 --- a/README.md +++ b/README.md @@ -3,21 +3,21 @@ in restructure at the moment ... # Description -The aim of this Project is to create a deamon for a server, -wich update live systems. +The aim of this Project is to create a daemon for a server, +witch update live systems. You should only have to install the modules for different OS/Live-Projects. It also set the right network settings (Proxy, DNS, ...) -and will be extendible wit PXE menue. -additional: Web Interface (Create/Change/Deltete Jobs; Download Latest Isos; Start/Stop PXE Server) +and will be extendible wit PXE menu. +additional: Web Interface (Create/Change/Delete Jobs; Download Latest ISO; Start/Stop PXE Server) -# ToDo - * general struktur - * split into mudules +# To-do + * general structure + * split into modules * more OS - * make it mor felexible + * make it more flexible * ... (look at issues) # At the Moment * Ubuntu/Debian * Desinfect17 - * no config file (all setings in skript header) + * no config file (all settings in script header) From 1134235acd047c05b4e85e1d85036fa3a22adcb5 Mon Sep 17 00:00:00 2001 From: 6543 Date: Sat, 12 May 2018 22:56:13 +0200 Subject: [PATCH 8/9] clean --- LICENSE | 674 --------------- README.md | 23 - doc/Error_Liste.txt | 20 - doc/Server Bedienung.odt | Bin 16515 -> 0 bytes doc/Server Bedienung.pdf | Bin 56758 -> 0 bytes src/remaster.sh | 1708 -------------------------------------- 6 files changed, 2425 deletions(-) delete mode 100644 LICENSE delete mode 100644 README.md delete mode 100644 doc/Error_Liste.txt delete mode 100644 doc/Server Bedienung.odt delete mode 100644 doc/Server Bedienung.pdf delete mode 100755 src/remaster.sh diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 9a4eebc..0000000 --- a/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - {one line to give the program's name and a brief idea of what it does.} - Copyright (C) 2018 6543@obermui.de - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - remaster Copyright (C) 2018 6543@obermui.de - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/README.md b/README.md deleted file mode 100644 index 805691e..0000000 --- a/README.md +++ /dev/null @@ -1,23 +0,0 @@ -# remaster - -in restructure at the moment ... - -# Description -The aim of this Project is to create a daemon for a server, -witch update live systems. -You should only have to install the modules for different OS/Live-Projects. -It also set the right network settings (Proxy, DNS, ...) -and will be extendible wit PXE menu. -additional: Web Interface (Create/Change/Delete Jobs; Download Latest ISO; Start/Stop PXE Server) - -# To-do - * general structure - * split into modules - * more OS - * make it more flexible - * ... (look at issues) - -# At the Moment - * Ubuntu/Debian - * Desinfect17 - * no config file (all settings in script header) diff --git a/doc/Error_Liste.txt b/doc/Error_Liste.txt deleted file mode 100644 index c90360c..0000000 --- a/doc/Error_Liste.txt +++ /dev/null @@ -1,20 +0,0 @@ -Erorr Liste: - -ID: Description ----------------------------------------------------- -1 Allgemeiner Fehler -2 No Paramters / wrong parameters -3 Wrong Settings! -4 Programm missing - -10 no root -11 file no found -12 dir not found -13 cant create/delete file/dir -14 corrupt file (unsquashfs, mount iso, ...) -15 wrong file (iso has no squashfs-file ...) - - -20 mount error -21 unmoun error -22 incorrect filesystem diff --git a/doc/Server Bedienung.odt b/doc/Server Bedienung.odt deleted file mode 100644 index 2fc0b1374aab9303f3867757555dacf3b7a51900..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16515 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 U&+Avn7z$9y`^?qD{p;KR15j-4-~a#s diff --git a/doc/Server Bedienung.pdf b/doc/Server Bedienung.pdf deleted file mode 100644 index cb15abf620cd621b1110dcfdf34c649f6365011d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56758 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 MR16K7PArxG1)f)vOaK4? diff --git a/src/remaster.sh b/src/remaster.sh deleted file mode 100755 index f8bf436..0000000 --- a/src/remaster.sh +++ /dev/null @@ -1,1708 +0,0 @@ -#!/bin/bash -#@version 1.9.0 -#@autor 6543@obermui.de -#@date 2018-03-26 -#@licence GNUv3 - -##################################################################################### -################## S e t t i n g s ################################################## -##################################################################################### - - -## MODUS -modus_default="update_pxe" - -#CD/DVD -#entweder iso_source oder filesystem_source alls quelle -# -> bei iso gen erforderlich! -iso_source="/data/remaster/desinfect-2017.iso" -#destination optinal -iso_destination="/data/remaster/result/custom_desinfect_`date '+%Y-%m-%d'`.iso" -iso_lable="DESINFECT_`date '+%Y-%m-%d'`" - -#Filesystem (for pxe) -#entweder iso_source oder filesystem_source alls quelle -filesystem_source="/data/remaster/result/filesystem.squashfs" - -#Network -proxy_host="proxy.local" -proxy_port="8080" -domain="local" -nameserver="10.x.x.2,10.x.x.1" - -#remaster_script -distro="desinfect2017" - -#LOG -log_file="/data/remaster/logs/`date '+%Y-%m-%d'`.log" -log_mail_source="desinfect@email.clocal" -log_mail_smtp="smtp.mail.local:25" -log_mail_aim="6543@email.clocal" -log_mail_subject="Desinfect_Remaster" - -#Sonstiges -tools_list="xrdp clamav nano htop nmon iftop tmux dsniff nmap openssh-server tightvncserver rsync e2fsprogs foremost gddrescue recoverjpeg safecopy sleuthkit testdisk arp-scan" - - -##################################################################################### -################## M o d e s ######################################################## -##################################################################################### - -#remaster.sh renew -function main_renew() { - - [ -f "$log_file" ] || touch "$log_file" - tail -f "$log_file" --pid="$$" & - - chroot_path="`mktemp -d`" - iso_extr_dir="`mktemp -d`" - - echo "Remaster LOG `date '+%Y-%m-%d'`" > "$log_file" - echo "MODE: renew" >> "$log_file" - echo "HOST: `hostname`" >> "$log_file" - echo >> "$log_file" - - echo "### S e t t i n g s ###" >> "$log_file" - echo "#CD/DVD" >> "$log_file" - echo "iso_source=\"$iso_source\"" >> "$log_file" - echo "iso_destination=\"$iso_destination\"" >> "$log_file" - echo "iso_lable=\"$iso_lable\"" >> "$log_file" - echo >> "$log_file" - - echo "#Filesystem (for pxe)" >> "$log_file" - echo "filesystem_source=\"$filesystem_source\"" >> "$log_file" - echo >> "$log_file" - - echo "#Network" >> "$log_file" - echo "proxy_host=\"$proxy_host\"" >> "$log_file" - echo "proxy_port=\"$proxy_port\"" >> "$log_file" - echo "domain=\"$domain\"" >> "$log_file" - echo "nameserver=\"$nameserver\"" >> "$log_file" - echo >> "$log_file" - - echo "#remaster_script" >> "$log_file" - echo "distro=\"$distro\"" >> "$log_file" - echo >> "$log_file" - - echo "log_file=\"$log_file\"" - echo "log_mail_aim=\"$log_mail_aim\"" - echo "log_mail_subject=\"$log_mail_subject\"" - echo "" - - echo "#Sonstiges" >> "$log_file" - echo "tools_list=\"$tools_list\"" >> "$log_file" - echo $'\n' >> "$log_file" - - echo "### Enviroment ###" - echo "iso_extr_dir=\"$iso_extr_dir\"" >> "$log_file" - echo "chroot_path=\"$chroot_path\"" >> "$log_file" - #env >> "$log_file" - echo $'\n\n' >> "$log_file" - - echo $'### R U N ... ###\n' >> "$log_file" - - #1. Set and Check Enviroment - check_user - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - check_dependency - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - [ "$distro" != "" ] && distro="_$distro" - - # 2. Entpacke ISO - iso_extract "$iso_source" "$iso_extr_dir" - - # 3. Entpacken der Dateien des Live-Systems - filesystem_img="`find "$iso_extr_dir" -name filesystem.squashfs`" - [ -e "$filesystem_img" ] || { - echo "### ERROR ### Image \"$iso_source\" has no \"filesystem.squashfs\"" >> "$log_file" - on_exit 15 >> "$log_file" - } - - filesystem_extract "$filesystem_img" "$chroot_path" >> "$log_file" - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - # 4. Vorbereiten für chroot-Umgebung: - - chroot_initial$distro "$chroot_path" >> "$log_file" - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - # 5. Setzen der Netzwerk-Einstellungen: - - proxy_enable$distro "$chroot_path" "$proxy_host" "$proxy_port" >> "$log_file" - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - dns_set "$chroot_path" "$domain" "$nameserver" >> "$log_file" - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - # 6. Updaten von Desinfec't: - os_update$distro "$chroot_path" >> "$log_file" - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - # 7. Installation optionaler Tools: - - tools_add$distro "$chroot_path" "$tools_list" >> "$log_file" - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - #addo ClamAV to conky_info - sed -i 's/# ${color white}ClamAV/ ${color white}ClamAV/g' "$chroot_path/etc/skel/.conkyrc" - - chroot_clean "$chroot_path" >> "$log_file" - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - # 8. Manuelle Aktionen - deaktiviert - - #echo "Now You Have TIME to do something MANUALY!" - #echo "enter in shell: #> chroot $chroot_path /bin/bash" - #chroot $chroot_path /bin/bash - #echo "Are You Finisch? Then Press [ENTER]" - - #config xrdp to start xfce - echo '#!/bin/sh' > "$chroot_path"/etc/xrdp/startwm.sh - echo "export LANG=\"de_DE.UTF-8\"" >> "$chroot_path"/etc/xrdp/startwm.sh - echo "startxfce4" >> "$chroot_path"/etc/xrdp/startwm.sh - - # 9. Umount - Chroot Umgebung auflösen - - chroot_umount$distro "$chroot_path" >> "$log_file" - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - #Überprüfen ob alles ausgehängt wurde - [ "`chroot_is_mounted "$chroot_path"`" == "true" ] && { - echo "### ERROR ### Cant Unmount Chroot!" >> "$log_file" - on_exit 21 >> "$log_file" - } - - # 10. Packen und Ersetzen der Dateien des Live-Systems - rm "$filesystem_img" >> "$log_file" - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - filesystem_pack "$chroot_path" "$filesystem_img" >> "$log_file" - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - # wenn iso gewünscht - [ "$iso_destination" != "" ] && { - iso_create$distro "$chroot_path" "$iso_extr_dir" "$iso_destination" "$iso_lable" >> "$log_file" - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - } - - # wenn filesystem gewünscht - [ "$filesystem_source" != "" ] && { - #wen bereits forhanden dann löschen - [ -f "$filesystem_source" ] && rm "$filesystem_source" - cp "$filesystem_img" "$filesystem_source" >> "$log_file" - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - chmod 666 "$filesystem_source" - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - } - - chmod 666 "$iso_destination" "$filesystem_img" >> "$log_file" - - workspace_erase "$iso_extr_dir/" "$chroot_path/" >> "$log_file" - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - - on_exit 0 -} - -#remaster.sh update_pxe -function main_update_pxe() { - - [ "$log_file" == "" ] && log_file="`mktemp`" - [ -f "$log_file" ] || touch "$log_file" - tail -f "$log_file" --pid="$$" & - - chroot_path="`mktemp -d`" - - echo "Remaster LOG `date '+%Y-%m-%d'`" > "$log_file" - echo "MODE: update_pxe" >> "$log_file" - echo "HOST: `hostname`" >> "$log_file" - echo >> "$log_file" - - echo "### S e t t i n g s ###" >> "$log_file" - echo "#Filesystem (for pxe)" >> "$log_file" - echo "filesystem_source=\"$filesystem_source\"" - echo >> "$log_file" - - echo "#Network" >> "$log_file" - echo "domain=\"$domain\"" >> "$log_file" - echo "nameserver=\"$nameserver\"" >> "$log_file" - echo >> "$log_file" - - echo "#remaster_script" >> "$log_file" - echo "distro=\"$distro\"" >> "$log_file" - echo >> "$log_file" - - echo "log_file=\"$log_file\"" - echo "log_mail_aim=\"$log_mail_aim\"" - echo "log_mail_subject=\"$log_mail_subject\"" - echo "" - - echo "#Sonstiges" >> "$log_file" - echo "tools_list=\"$tools_list\"" >> "$log_file" - echo $'\n' >> "$log_file" - - echo "### Enviroment ###" - echo "chroot_path=\"$chroot_path\"" >> "$log_file" - #env >> "$log_file" - echo $'\n\n' >> "$log_file" - - echo $'### R U N ... ###\n' >> "$log_file" - - #1. Set and Check Enviroment - check_user - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - check_dependency - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - [ "$distro" != "" ] && distro="_$distro" - - # 1. Entpacken der Dateien des Live-Systems - [ -e "$filesystem_source" ] || { - echo "### ERROR ### \"$filesystem_source\" does not exist!" >> "$log_file" - on_exit 15 >> "$log_file" - } - - filesystem_extract "$filesystem_source" "$chroot_path" >> "$log_file" - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - # 2. Vorbereiten für chroot-Umgebung: - - chroot_initial$distro "$chroot_path" >> "$log_file" - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - # 3. Setzen der Netzwerk-Einstellungen: - - dns_set "$chroot_path" "$domain" "$nameserver" >> "$log_file" - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - # 4. Updaten von Desinfec't: - os_update$distro "$chroot_path" >> "$log_file" - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - # 5. Manuelle Aktionen - deaktiviert - - echo "Now You Have TIME to do something MANUALY!" - #echo "enter in shell: - chroot $chroot_path /bin/bash - #echo "Are You Finisch? Then Press [ENTER]" - #read - - # 6. Umount - Chroot Umgebung auflösen - - chroot_umount$distro "$chroot_path" >> "$log_file" - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - #Überprüfen ob alles ausgehängt wurde - [ "`chroot_is_mounted "$chroot_path"`" == "true" ] && { - echo "### ERROR ### Cant Unmount Chroot!" >> "$log_file" - on_exit 21 >> "$log_file" - } - - # 5. Packen und Ersetzen der Dateien - rm "$filesystem_source" >> "$log_file" - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - filesystem_pack "$chroot_path" "$filesystem_source" >> "$log_file" - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - chmod 777 "$filesystem_source" >> "$log_file" - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - workspace_erase "$chroot_path/" >> "$log_file" - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - - on_exit 0 -} - -#remaster.sh update_iso #in arbeit -function main_update_iso() { - [ -f "$log_file" ] || touch "$log_file" - tail -f "$log_file" --pid="$$" & - - chroot_path="`mktemp -d`" - iso_extr_dir="`mktemp -d`" - - echo "Remaster LOG `date '+%Y-%m-%d'`" > "$log_file" - echo "MODE: update_iso" >> "$log_file" - echo "HOST: `hostname`" >> "$log_file" - echo >> "$log_file" - - echo "### S e t t i n g s ###" >> "$log_file" - echo "#CD/DVD" >> "$log_file" - echo "iso_source=\"$iso_source\"" >> "$log_file" - echo "iso_destination=\"$iso_destination\"" >> "$log_file" - echo "iso_lable=\"$iso_lable\"" >> "$log_file" - echo >> "$log_file" - - echo "#Filesystem (for pxe)" >> "$log_file" - echo "filesystem_source=\"$filesystem_source\"" >> "$log_file" - echo >> "$log_file" - - echo "#Network" >> "$log_file" - echo "proxy_host=\"$proxy_host\"" >> "$log_file" - echo "proxy_port=\"$proxy_port\"" >> "$log_file" - echo "domain=\"$domain\"" >> "$log_file" - echo "nameserver=\"$nameserver\"" >> "$log_file" - echo >> "$log_file" - - echo "#remaster_script" >> "$log_file" - echo "distro=\"$distro\"" >> "$log_file" - echo >> "$log_file" - - echo "log_file=\"$log_file\"" - echo "log_mail_aim=\"$log_mail_aim\"" - echo "log_mail_subject=\"$log_mail_subject\"" - echo "" - - echo "#Sonstiges" >> "$log_file" - echo "tools_list=\"$tools_list\"" >> "$log_file" - echo $'\n' >> "$log_file" - - echo "### Enviroment ###" - echo "iso_extr_dir=\"$iso_extr_dir\"" >> "$log_file" - echo "chroot_path=\"$chroot_path\"" >> "$log_file" - #env >> "$log_file" - echo $'\n\n' >> "$log_file" - - echo $'### R U N ... ###\n' >> "$log_file" - - #1. Set and Check Enviroment - check_user - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - check_dependency - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - [ "$distro" != "" ] && distro="_$distro" - - # 2. Entpacke ISO - iso_extract "$iso_source" "$iso_extr_dir" - - # 3. Checke pxe version - # if pxe is set - # if (date != date ); then $0 update_pxe #4.1 - # filesystem = update #4.2 - # else - # extrakt filesystem #5. - # update #6. - # done - # pack iso - - # 3. Entpacken der Dateien des Live-Systems - filesystem_img="`find "$iso_extr_dir" -name filesystem.squashfs`" - [ -e "$filesystem_img" ] || { - echo "### ERROR ### Image \"$iso_source\" has no \"filesystem.squashfs\"" >> "$log_file" - on_exit 15 >> "$log_file" - } - - filesystem_extract "$filesystem_img" "$chroot_path" >> "$log_file" - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - # 4. Vorbereiten für chroot-Umgebung: - - chroot_initial$distro "$chroot_path" >> "$log_file" - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - # 5. Setzen der Netzwerk-Einstellungen: - - proxy_enable$distro "$chroot_path" "$proxy_host" "$proxy_port" >> "$log_file" - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - dns_set "$chroot_path" "$domain" "$nameserver" >> "$log_file" - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - # 6. Updaten von Desinfec't: - os_update$distro "$chroot_path" >> "$log_file" - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - # 7. Installation optionaler Tools: - - tools_add$distro "$chroot_path" "$tools_list" >> "$log_file" - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - #addo ClamAV to conky_info - sed -i 's/# ${color white}ClamAV/ ${color white}ClamAV/g' "$chroot_path/etc/skel/.conkyrc" - - chroot_clean "$chroot_path" >> "$log_file" - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - # 8. Manuelle Aktionen - deaktiviert - - #echo "Now You Have TIME to do something MANUALY!" - #echo "enter in shell: #> chroot $chroot_path /bin/bash" - #chroot $chroot_path /bin/bash - #echo "Are You Finisch? Then Press [ENTER]" - - # 9. Umount - Chroot Umgebung auflösen - - chroot_umount$distro "$chroot_path" >> "$log_file" - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - #Überprüfen ob alles ausgehängt wurde - [ "`chroot_is_mounted "$chroot_path"`" == "true" ] && { - echo "### ERROR ### Cant Unmount Chroot!" >> "$log_file" - on_exit 21 >> "$log_file" - } - - # 10. Packen und Ersetzen der Dateien des Live-Systems - rm "$filesystem_img" >> "$log_file" - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - filesystem_pack "$chroot_path" "$filesystem_img" >> "$log_file" - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - # wenn iso gewünscht - [ "$iso_destination" != "" ] && { - iso_create$distro "$chroot_path" "$iso_extr_dir" "$iso_destination" "$iso_lable" >> "$log_file" - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - } - - # wenn filesystem gewünscht - [ "$filesystem_source" != "" ] && { - #wen bereits forhanden dann löschen - [ -f "$filesystem_source" ] && rm "$filesystem_source" - cp "$filesystem_img" "$filesystem_source" >> "$log_file" - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - chmod 666 "$filesystem_source" - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - } - - chmod 666 "$iso_destination" "$filesystem_img" >> "$log_file" - - #11. End - workspace_erase "$iso_extr_dir/" "$chroot_path/" >> "$log_file" - error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" - - - on_exit 0 -} - -#remaster.sh update -function main_update() { - main_update_pxe -} - -#remaster.sh error_code [error_level] -function main_error_code() { - error_code $1 -} - -##################################################################################### -################## F u n c t i o n s ################################################ -##################################################################################### - -### Error Handlings ### - -#on_exit [error_level] -function on_exit() { - #send log and errorlevel[success/errorr xy] - - if [ "$1" != "0" ]; then - log_mail_subject="$log_mail_subject [ERROR]" - else - log_mail_subject="$log_mail_subject [Success]" - fi - - #Mail Body: - for mail_aim in `echo "$log_mail_aim" | tr "," " "`; do - { - echo "$log_mail_subject" - echo $'####################################################################################\n\n' - cat "$log_file" - } | sendemail -s "$log_mail_smtp" -f "$log_mail_source" -t "$mail_aim" -u "$log_mail_subject" -o tls=no - done - - [ "$1" != "0" ] && { - chroot_umount$distro "$chroot_path" 2> /dev/null - workspace_erase "$iso_extr_dir/" "$chroot_path/" 2> /dev/null - } - exit $1 -} - -#error_code [error_level] -function error_code() { - code="$1" - case $code in - "") - echo $'ID:\tDescription\n----------------------------------------------------\n1\tAllgemeiner Fehler\n2\tNo Paramters / wrong parameters' - echo $'3\tWrong Settings\n4\tProgramm missing\n\n10\tno root\n11\tfile no found\n12\tdir not found\n13\tcant create/delete file/dir' - echo $'14\tcorrupt file (unsquashfs, mount iso, ...)\n15\twrong file (iso has no squashfs-file ...)\n16\trequired Packet not found\n\n20\tmount error\n21\tunmoun error\n22\twrong filesystem' - ;; - 1) - echo "Allgemeiner Fehler" - ;; - 2) - echo "No Paramters / wrong parameters" - ;; - 3) - echo "Wrong Settings" - ;; - 4) - echo "Programm missing" - ;; - 10) - echo "not executed as Root" - ;; - 11) - echo "file no found" - ;; - 12) - echo "dir not found" - ;; - 13) - echo "cant create/delete file/dir" - ;; - 14) - echo "corrupt file (unsquashfs, mount iso, ...)" - ;; - 15) - echo "wrong file (iso has no squashfs-file ...)" - ;; - 16) - echo "required Packet not found" - ;; - 20) - echo "tmount error" - ;; - 21) - echo "unmoun error" - ;; - 22) - echo "wrong filesystem" - ;; - *) - echo $'No Defined Error Code.\nPerhaps an Error ocure on a Command wich was started by this Skritp.' - ;; - esac -} - -#check_user -function check_user() { - #check root - [ "`whoami`" == "root" ] || { - echo "### ERROR ### Remaster need ROOT permision!" - return 10 - } -} - -#check_dependency -function check_dependency() { - for packet in squashfs-tools xorriso wget sed sendemail; do - [ "`dpkg -l $packet 2>&1`" == "dpkg-query: Kein Paket gefunden, das auf $packet passt" ] && { - echo "### ERROR ### Packet $packet not installed" - return 16 - } - done - return 0 -} - - -### Workspace ### - -#workspace_erase [workspace_path] -function workspace_erase() { - echo -n "erase workspace ... " - - for dir in "$@"; do - [ -d "$dir" ] && rm -r -f "$dir" - done - - echo "done" -} - -### Filesystem ### - -#filesystem_extract [filesystem_img_source] [chroot_path] -function filesystem_extract() { - echo "extract filesystem ..." - - #$1 = filesystem_img_source - #$2 = chroot_path - filesystem_img_source="$1" - chroot_path="$2" - filesystem_log="`mktemp`" - - #Überfrüfen der Parameter - [ -f "$filesystem_img_source" ] || { - echo "### ERROR ### filesystem_extract: squashfs \"$filesystem_img_source\" not exist!" - return 11 - } - - [ "`mkdir -p "$chroot_path"`" != "" ] && { - echo "### ERROR ### filesystem_extract: chroot_path \"$chroot_path\" can't create!" - return 13 - } - - [ "`filesystem_get_type $chroot_path`" != "ext4" ] && [ "`filesystem_get_type $chroot_path`" != "btrfs" ] && { - echo "### ERROR ### filesystem_extract: wrong filesystem (`filesystem_get_type $chroot_path`)!" - return 22 - } - - rm -r "$chroot_path" - - #eigendliches entpacken - unsquashfs -d "$chroot_path" "$filesystem_img_source" > "$filesystem_log" || { - echo "### ERROR ### filesystem_extract: unsquashfs failed!" - return 14 - } - - grep -v "\[" "$filesystem_log" - rm "$filesystem_log" - - echo "done" -} - -#filesystem_pack [chroot_path] [filesystem_img_destination] -function filesystem_pack() { - echo "pack filesystem ..." - - #$1 = chroot_path - #$2 = filesystem_img_destination - chroot_path="$1" - filesystem_img_destination="$2" - filesystem_log="`mktemp`" - - #Überfrüfen der Parameter - [ -d "$chroot_path" ] || { - echo "### ERROR ### filesystem_extract: chroot_path \"$chroot_path\" not exist!" - return 12 - } - - #loslegen ... - rm -f "$filesystem_img_destination" - mksquashfs "$chroot_path" "$filesystem_img_destination" > "$filesystem_log" || { - echo "### ERROR ### filesystem_pack: mksquashfs failed!" - return 13 - } - - grep -v "\[" "$filesystem_log" - rm "$filesystem_log" - - echo "done" -} - -#filesystem_get_type [dir] -#(String)-> ext4, ext2, btfs, fuse, ... -function filesystem_get_type() { - fs_aTemp=(`df -T "$1"`) - echo ${fs_aTemp[9]} -} - -### ISO ### - -#iso_extract [iso_source] [iso_extr_dir] -function iso_extract() { - echo -n "extract iso ... " - - #$1 = iso_source - #$2 = iso_extr_dir - - #check root - [ "`whoami`" == "root" ] || { - echo "### ERROR ### iso_extract: need root permision!" - return 10 - } - - iso_source="$1" - [ -f "$iso_source" ] || { - echo "### ERROR ### iso_extract: ISO \"$iso_source\" not exist!" - return 11 - } - - iso_extr_dir="$2" - [ -d "$iso_extr_dir" ] || { - echo "### ERROR ### iso_extract: aim directory not exist!" - return 12 - } - - #mace tmp mountpoint - tmpdir="`mktemp -d`" - [ -d "$iso_extr_dir" ] && { - rm -r "$iso_extr_dir/" - mkdir "$iso_extr_dir" - } - - #copy files ... - mount -o loop,ro "$iso_source" "$tmpdir" - cp -f -r "$tmpdir/"* "$iso_extr_dir" - - #clear tmp mountpoint - umount "$iso_source" - rm -r "$tmpdir" - tmpdir= - - echo "done" -} - -#iso_create [chroot_path] [iso_extr_dir] [iso_destination] [iso_lable] -function iso_create() { - echo -n "create iso ..." - - chroot_path="$1" - iso_extr_dir="$2" - iso_destination="$3" - iso_lable="$4" - - [ -e "$iso_destination" ] && rm "$iso_destination" - - xorriso -as mkisofs -graft-points -c isolinux/boot.cat -b isolinux/isolinux.bin \ - -no-emul-boot -boot-info-table -boot-load-size 4 -isohybrid-mbr \ - "$iso_extr_dir/isolinux/isolinux.bin" \ - -eltorito-alt-boot -e boot/grub/efi.img -no-emul-boot \ - -isohybrid-gpt-basdat -V "$iso_lable" \ - -o "$iso_destination" \ - -r -J "$iso_extr_dir" \ - --sort-weight 0 / --sort-weight 2 /boot --sort-weight 1 /isolinux - - echo "done" -} - -#iso_create_desinfect2015 [chroot_path] [iso_extr_dir] [iso_destination] [iso_lable] -function iso_create_desinfect2015() { - echo "prepere iso folder ... " - - chroot_path="$1" - iso_extr_dir="$2" - iso_destination="$3" - iso_lable="$4" - - #desinfect - rm "$iso_extr_dir/casper/initrd.lz" - wget http://www.heise.de/ct/projekte/desinfect/des15/initrd.lz -O "$iso_extr_dir/casper/initrd.lz" - - echo "done" - - iso_create "$chroot_path" "$iso_extr_dir" "$iso_destination" "$iso_lable" -} - -#iso_create_desinfect2016 [chroot_path] [iso_extr_dir] [iso_destination] [iso_lable] -function iso_create_desinfect2016() { - #echo "prepere iso folder ... " - - chroot_path="$1" - iso_extr_dir="$2" - iso_destination="$3" - iso_lable="$4" - - #desinfect - #rm "$iso_extr_dir/casper/initrd.lz" - #wget http://www.heise.de/ct/projekte/desinfect/des15/initrd.lz -O "$iso_extr_dir/casper/initrd.lz" - - #echo "done" - - iso_create "$chroot_path" "$iso_extr_dir" "$iso_destination" "$iso_lable" -} - -#iso_create_desinfect2017 [chroot_path] [iso_extr_dir] [iso_destination] [iso_lable] -function iso_create_desinfect2017() { - #echo "prepere iso folder ... " - - chroot_path="$1" - iso_extr_dir="$2" - iso_destination="$3" - iso_lable="$4" - - iso_create "$chroot_path" "$iso_extr_dir" "$iso_destination" "$iso_lable" -} - -### chroot ### - -#chroot_initial [chroot_dir] -function chroot_initial() { - echo -n "initial chroot ... " - - #check chroot dir - chroot_dir="$1" - [ -d "$chroot_dir" ] || { - echo "### ERROR ### chroot_initial: chroot directory not exist" - return 12 - } - - #mount virus definitions - mount -t tmpfs tmpfs "$chroot_dir/tmp" - mount -t tmpfs tmpfs "$chroot_dir/root" - mount --bind /dev "$chroot_dir/dev" - mount --bind /proc "$chroot_dir/proc" - - rm "$chroot_dir/etc/resolv.conf" - cp "/etc/resolv.conf" "$chroot_dir/etc/resolv.conf" - - echo "done" -} - -#chroot_initial_desinfect2015 [chroot_dir] -function chroot_initial_desinfect2015() { - #$1 = chroot dir - - chroot_initial "$1" - - echo -n "initial desinfect on chroot ... " - - #check chroot dir - chroot_dir="$1" - [ -d "$chroot_dir" ] || { - echo "### ERROR ### chroot_initial_desinfect: chroot directory not exist!" - return 12 - } - - #mount virus definitions - #bitdefender - mount --bind $chroot_dir/opt/BitDefender-scanner/var/lib/scan{.orig,} - mount --bind $chroot_dir/var/kl/bases_rd{.orig,} - - echo "done" -} - -#chroot_initial_desinfect2016 [chroot_dir] -function chroot_initial_desinfect2016() { - #$1 = chroot dir - - chroot_initial "$1" - - echo -n "initial desinfect on chroot ... " - - #check chroot dir - chroot_dir="$1" - [ -d "$chroot_dir" ] || { - echo "### ERROR ### chroot_initial_desinfect: chroot directory not exist!" - return 12 - } - - #mount virus definitions - mount --bind $chroot_dir/var/kl/bases_rd{.orig,} - - echo "done" -} - -#chroot_initial_desinfect2017 [chroot_dir] -function chroot_initial_desinfect2017() { - #$1 = chroot dir - - chroot_initial "$1" - -} - - -#chroot_clean [chroot_dir] -function chroot_clean() { - echo "clean chroot ... " - - chroot_dir="$1" - - chroot "$chroot_dir" /bin/bash -c "apt-get clean" - chroot "$chroot_dir" /bin/bash -c "rm -r /var/cache/apt/*" - chroot "$chroot_dir" /bin/bash -c "apt-get update" - chroot "$chroot_dir" /bin/bash -c "apt-get check" - - echo "done" -} - -#chroot_umount [chroot_dir] -function chroot_umount() { - echo -n "unmount chroot ... " - - #check chroot dir - chroot_dir="$1" - [ -d "$chroot_dir" ] || { - echo "### ERROR ### chroot_umount: chroot directory not exist!" - return 12 - } - - for d in "$chroot_dir/tmp" "$chroot_dir/root" "$chroot_dir/proc" "$chroot_dir/dev" ; do - umount $d - retval=$? - [ "$retval" -gt 0 ] && { - echo "### ERROR ### chroot_umount: can't umount \"$d\"!" - return 21 - } - done - - echo "done" -} - -#chroot_umount_desinfect2015 [chroot_dir] -function chroot_umount_desinfect2015() { - #call main mount - chroot_umount "$1" - - echo -n "unmount desinfect on chroot ... " - #check chroot dir - chroot_dir="$1" - [ -d "$chroot_dir" ] || { - echo "### ERROR ### chroot_umount_desinfect: chroot directory not exist!" - return 12 - } - - for d in "$chroot_dir/opt/BitDefender-scanner/var/lib/scan" "$chroot_dir/var/kl/bases_rd" ; do - umount $d - retval=$? - [ "$retval" -gt 0 ] && { - echo "### ERROR ### chroot_umount_desinfect: can't umount \"$d\"!" - return 21 - } - done - - echo "done" -} - -#chroot_umount_desinfect2016 [chroot_dir] -function chroot_umount_desinfect2016() { - #call main mount - chroot_umount "$1" - - echo -n "unmount desinfect on chroot ... " - #check chroot dir - chroot_dir="$1" - [ -d "$chroot_dir" ] || { - echo "### ERROR ### chroot_umount_desinfect: chroot directory not exist!" - return 12 - } - - umount "$chroot_dir/var/kl/bases_rd" - [ "$?" -gt 0 ] && { - echo "### ERROR ### chroot_umount_desinfect: can't umount \"$chroot_dir/var/kl/bases_rd\"!" - #return 21 - } - - echo "done" -} - -#chroot_umount_desinfect2017 [chroot_dir] -function chroot_umount_desinfect2017() { - #call main mount - chroot_umount "$1" -} - -#chroot_is_mounted [chroot_dir] -#(Boolean)-> true | false -function chroot_is_mounted() { - #$1 = chroot directory - - if [ "`mount | grep "$1"`" != "" ] ; then - #ther is smething mounted - echo "true" - else - #nothing mounted - echo "false" - fi -} - -#chroot_sh [chroot_dir] [command] -function chroot_sh() { - #check chroot dir - chroot_dir="$1" - [ -d "$chroot_dir" ] || { - echo "### ERROR ### chroot_sh: chroot directory not exist!" - return 12 - } - - command="$2" - - [ -f "$chroot_dir/tmp/env.sh" ] || { - #if not exist create environment skript - cat "$chroot_dir/etc/environment" | grep -v "#" | grep "=" > "$chroot_dir/tmp/env" - while read line; do echo export $line; done < "$chroot_dir/tmp/env" > "$chroot_dir/tmp/env.sh" - chmod +x "$chroot_dir/tmp/env.sh" && rm "$chroot_dir/tmp/env" - } - - chroot "$chroot_dir" /bin/bash --login -c ". /tmp/env.sh; $command" -} - -### Settings ### -### proxy - -#proxy_enable [chroot_dir] [proxy_host] [proxy_port] -function proxy_enable() { - echo -n "enable proxy ... " - - chroot_dir="$1" - proxy_host="$2" - proxy_port="$3" - - [ -d "$chroot_dir" ] || { - echo "### ERROR ### chroot_umount_desinfect: chroot directory not exist!" - return 12 - } - - #Wenn alle zwei Parameter gegeben - if [ "$proxy_host" != "" ] && [ "$proxy_port" != "" ] ; then - echo "http_proxy=\"http://$proxy_host:$proxy_port\"" >> $chroot_dir/etc/environment - echo "https_proxy=\"http://$proxy_host:$proxy_port\"" >> $chroot_dir/etc/environment - echo "ftp_proxy=\"http://$proxy_host:$proxy_port\"" >> $chroot_dir/etc/environment - - echo "HTTP_PROXY=\"http://$proxy_host:$proxy_port\"" >> $chroot_dir/etc/environment - echo "HTTPS_PROXY=\"http://$proxy_host:$proxy_port\"" >> $chroot_dir/etc/environment - echo "FTP_PROXY=\"http://$proxy_host:$proxy_port\"" >> $chroot_dir/etc/environment - - echo "Acquire::http::Proxy \"http://$proxy_host:$proxy_port\"\;" > $chroot_dir/etc/apt/apt.conf.d/90proxy - echo "Acquire::ftp::Proxy \"ftp://$proxy_host:$proxy_port\"\;" >> $chroot_dir/etc/apt/apt.conf.d/90proxy - - echo "done" - else - if [ "$proxy_host" == "" ] && [ "$proxy_port" == "" ] ; then - echo "done" - else - echo "### ERROR ### proxy_enable: wrong parameters! (\"$chroot_dir\"; \"$proxy_host\"; \"$proxy_port\")" - echo "proxy_enable [chroot_dir] [proxy_host] [proxy_port]" - return 2 - fi - fi -} - -#proxy_enable_desinfect2015 [chroot_dir] [proxy_host] [proxy_port] -function proxy_enable_desinfect2015() { - - proxy_enable $1 $2 $3 - - echo -n "enable proxy for desinfect's av ... " - - chroot_dir="$1" - proxy_host="$2" - proxy_port="$3" - - #Avast AntiVirus - sed -i "s/--skip-master-file/--skip-master-file --proxy-host=$proxy_host --proxy-port=$proxy_port/g" "$chroot_dir/AntiVirUpdate/avupdate" - sed -i "s/--proxy-host=$proxy_host --proxy-port=$proxy_port --proxy-host=$proxy_host --proxy-port=$proxy_port/--proxy-host=$proxy_host --proxy-port=$proxy_port/g" "$chroot_dir/AntiVirUpdate/avupdate" - - #BitDefender - echo "ProxyEnable = Yes" >> "$chroot_dir/etc/BitDefender-scanner/bdscan.conf" - echo "ProxyHost = $proxy_host:$proxy_port" >> "$chroot_dir/etc/BitDefender-scanner/bdscan.conf" - - #Clam AV - echo "HTTPProxyServer $proxy_host" >> "$chroot_dir/etc/clamav/freshclam.conf" - echo "HTTPProxyPort $proxy_port" >> "$chroot_dir/etc/clamav/freshclam.conf" - - #Kaspersky - sed -i "s/0<\/tDWORD>/1<\/tDWORD>/g" "$chroot_dir/etc/kl/config.xml" - sed -i "s/<\/tSTRING>/$proxy_host<\/tSTRING>/g" "$chroot_dir/etc/kl/config.xml" - sed -i "s/<\/tDWORD>/$proxy_port<\/tDWORD>/g" "$chroot_dir/etc/kl/config.xml" - - echo "done" -} - -#proxy_enable_desinfect2016 [chroot_dir] [proxy_host] [proxy_port] -function proxy_enable_desinfect2016() { - - proxy_enable $1 $2 $3 - - echo -n "enable proxy for desinfect's av ... " - - chroot_dir="$1" - proxy_host="$2" - proxy_port="$3" - tmp_file_344532="`mktemp`" - - #Avast AntiVirus - sed -i "s/--skip-master-file/--skip-master-file --proxy-host=$proxy_host --proxy-port=$proxy_port/g" "$chroot_dir/AntiVirUpdate/avupdate" - sed -i "s/--proxy-host=$proxy_host --proxy-port=$proxy_port --proxy-host=$proxy_host --proxy-port=$proxy_port/--proxy-host=$proxy_host --proxy-port=$proxy_port/g" "$chroot_dir/AntiVirUpdate/avupdate" - - #Clam AV - cat "$chroot_dir/etc/clamav/freshclam.conf" | grep -v "HTTPProxyServer" | grep -v "HTTPProxyPort" > "$tmp_file_344532" - rm "$chroot_dir/etc/clamav/freshclam.conf" - cp "$tmp_file_344532" "$chroot_dir/etc/clamav/freshclam.conf" - - echo "HTTPProxyServer $proxy_host" >> "$chroot_dir/etc/clamav/freshclam.conf" - echo "HTTPProxyPort $proxy_port" >> "$chroot_dir/etc/clamav/freshclam.conf" - - #Eset AV - cat "$chroot_dir/etc/opt/eset/esets/esets.cfg" | grep -v "proxy_addr" | grep -v "proxy_port" > "$tmp_file_344532" - rm "$chroot_dir/etc/opt/eset/esets/esets.cfg" - cp "$tmp_file_344532" "$chroot_dir/etc/opt/eset/esets/esets.cfg" - - echo "proxy_addr = \"$proxy_host\"" >> "$chroot_dir/etc/opt/eset/esets/esets.cfg" - echo "proxy_port = $proxy_port" >> "$chroot_dir/etc/opt/eset/esets/esets.cfg" - - #Kaspersky - sed -i "s/0<\/tDWORD>/1<\/tDWORD>/g" "$chroot_dir/etc/kl/config.xml" - sed -i "s/<\/tSTRING>/$proxy_host<\/tSTRING>/g" "$chroot_dir/etc/kl/config.xml" - sed -i "s/<\/tDWORD>/$proxy_port<\/tDWORD>/g" "$chroot_dir/etc/kl/config.xml" - - rm "$tmp_file_344532" - tmp_file_344532= - - echo "done" -} - -#proxy_enable_desinfect2017 [chroot_dir] [proxy_host] [proxy_port] -function proxy_enable_desinfect2017() { - - proxy_enable $1 $2 $3 - - echo "enable proxy for desinfect's av ... " - - chroot_dir="$1" - proxy_host="$2" - proxy_port="$3" - tmp_file_344532="`mktemp`" - - #Avast AntiVirus - if [ -f "$chroot_dir/AntiVirUpdate/avupdate" ]; then - echo "Avast AntiVirus: Found" - sed -i "s/--skip-master-file/--skip-master-file --proxy-host=$proxy_host --proxy-port=$proxy_port/g" "$chroot_dir/AntiVirUpdate/avupdate" - sed -i "s/--proxy-host=$proxy_host --proxy-port=$proxy_port --proxy-host=$proxy_host --proxy-port=$proxy_port/--proxy-host=$proxy_host --proxy-port=$proxy_port/g" "$chroot_dir/AntiVirUpdate/avupdate" - else - eco "Avast AntiVirus: NOT Found" - fi - - #Eset AV - if [ -f "$chroot_dir/etc/opt/eset/esets/esets.cfg" ]; then - echo "Eset AV: Found" - cat "$chroot_dir/etc/opt/eset/esets/esets.cfg" | grep -v "proxy_addr" | grep -v "proxy_port" > "$tmp_file_344532" - rm "$chroot_dir/etc/opt/eset/esets/esets.cfg" - cp "$tmp_file_344532" "$chroot_dir/etc/opt/eset/esets/esets.cfg" - - echo "proxy_addr = \"$proxy_host\"" >> "$chroot_dir/etc/opt/eset/esets/esets.cfg" - echo "proxy_port = $proxy_port" >> "$chroot_dir/etc/opt/eset/esets/esets.cfg" - else - eco "Eset AV: NOT Found" - fi - - #ClamAV - if [ -f "$chroot_dir/etc/clamav/freshclam.conf" ]; then - echo "ClamAV: Found" - cat "$chroot_dir/etc/clamav/freshclam.conf" | grep -v "HTTPProxyServer" | grep -v "HTTPProxyPort" > "$tmp_file_344532" - rm "$chroot_dir/etc/clamav/freshclam.conf" - cp "$tmp_file_344532" "$chroot_dir/etc/clamav/freshclam.conf" - - echo "HTTPProxyServer $proxy_host" >> "$chroot_dir/etc/clamav/freshclam.conf" - echo "HTTPProxyPort $proxy_port" >> "$chroot_dir/etc/clamav/freshclam.conf" - else - eco "ClamAV: NOT Found" - fi - - #Sophos - if [ -f ""$chroot_dir/opt/sophos-av/etc/savd.cfg"" ]; then - echo "Sophos: Found" - echo "sophos:

http://www-proxy.bybn.de:80
" >> "$chroot_dir/opt/sophos-av/etc/savd.cfg" - else - eco "Sophos: NOT Found" - fi - - #F-Secure - if [ -f "$chroot_dir/opt/f-secure/fsaua/fsaua_config.template" ]; then - echo "F-Secure: Found" - echo "enable_fsma=no" >> "$chroot_dir/opt/f-secure/fsaua/fsaua_config.template" - echo "update_servers=http://fsbwserver-direct.f-secure.com" >> "$chroot_dir/opt/f-secure/fsaua/fsaua_config.template" - echo "update_proxies=http://$proxy_host:$proxy_port" >> "$chroot_dir/opt/f-secure/fsaua/fsaua_config.template" - echo "http_proxies=http://$proxy_host:$proxy_port" >> "$chroot_dir/opt/f-secure/fsaua/fsaua_config.template" - cat "$chroot_dir/opt/f-secure/fsaua/fsaua_config.template" > "$chroot_dir/etc/opt/f-secure/fsaua/fsaua_config" - else - eco "F-Secure: NOT Found" - fi - - - rm "$tmp_file_344532" - tmp_file_344532= - - echo "done" -} - - -### dns -#dns_set [chroot_dir] [domain] [nameserver] -function dns_set() { - echo -n "set dns config ... " - - rm "$chroot_dir/etc/resolv.conf" - - [ "$2" != "" ] && echo "domain $2" >> "$chroot_dir/etc/resolv.conf" - echo "search $2" >> "$chroot_dir/etc/resolv.conf" - for namesv in `echo "$3" | tr "," " "`; do - echo "nameserver $namesv" >> "$chroot_dir/etc/resolv.conf" - done - - echo "done" -} - -### source list - -#sourcelist_desinfect_set_nomal2015 [chroot_dir] -function sourcelist_desinfect_set_nomal2015() { - echo -n "build normal source.list ... " - #$1 = chroot directory - - sourcelist="$1/etc/apt/sources.list" - - - echo "#### Desinfe't 2015 ####" > "$sourcelist" - echo "" >> "$sourcelist" - echo "deb http://www.heise.de/ct/projekte/desinfect/ubuntu 2015 main" >> "$sourcelist" - echo "" >> "$sourcelist" - echo "" >> "$sourcelist" - echo "# #### Ubuntu 14.04 (trusty) ####" >> "$sourcelist" - echo "#" >> "$sourcelist" - echo "# deb http://de.archive.ubuntu.com/ubuntu trusty main restricted universe multiverse" >> "$sourcelist" - echo "# deb-src http://de.archive.ubuntu.com/ubuntu trusty main restricted universe multiverse" >> "$sourcelist" - echo "#" >> "$sourcelist" - echo "# deb http://de.archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse" >> "$sourcelist" - echo "# deb-src http://de.archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse" >> "$sourcelist" - echo "#" >> "$sourcelist" - echo "# deb http://de.archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse" >> "$sourcelist" - echo "# deb-src http://de.archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse" >> "$sourcelist" - echo "#" >> "$sourcelist" - echo "# deb http://de.archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse" >> "$sourcelist" - echo "# deb-src http://de.archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse" >> "$sourcelist" - echo "#" >> "$sourcelist" - echo "# ## This software is not part of Ubuntu, but is offered by third-party" >> "$sourcelist" - echo "# ## developers who want to ship their latest software." >> "$sourcelist" - echo "# deb http://extras.ubuntu.com/ubuntu trusty main" >> "$sourcelist" - - echo "done" -} - -#sourcelist_desinfect_set_nomal2016 [chroot_dir] -function sourcelist_desinfect_set_nomal2016() { - echo -n "build normal source.list ... " - #$1 = chroot directory - - sourcelist="$1/etc/apt/sources.list" - - - echo "#### Desinfe't 2016 ####" > "$sourcelist" - echo "" >> "$sourcelist" - echo "deb http://www.heise.de/ct/projekte/desinfect/ubuntu 2016 main" >> "$sourcelist" - echo "" >> "$sourcelist" - echo "" >> "$sourcelist" - echo "# #### Ubuntu 14.04 (trusty) ####" >> "$sourcelist" - echo "#" >> "$sourcelist" - echo "# deb http://de.archive.ubuntu.com/ubuntu trusty main restricted universe multiverse" >> "$sourcelist" - echo "# deb-src http://de.archive.ubuntu.com/ubuntu trusty main restricted universe multiverse" >> "$sourcelist" - echo "#" >> "$sourcelist" - echo "# deb http://de.archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse" >> "$sourcelist" - echo "# deb-src http://de.archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse" >> "$sourcelist" - echo "#" >> "$sourcelist" - echo "# deb http://de.archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse" >> "$sourcelist" - echo "# deb-src http://de.archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse" >> "$sourcelist" - echo "#" >> "$sourcelist" - echo "# deb http://de.archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse" >> "$sourcelist" - echo "# deb-src http://de.archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse" >> "$sourcelist" - echo "#" >> "$sourcelist" - echo "# ## This software is not part of Ubuntu, but is offered by third-party" >> "$sourcelist" - echo "# ## developers who want to ship their latest software." >> "$sourcelist" - echo "# deb http://extras.ubuntu.com/ubuntu trusty main" >> "$sourcelist" - - echo "done" -} - -#sourcelist_desinfect_set_nomal2017 [chroot_dir] -function sourcelist_desinfect_set_nomal2017() { - echo -n "build normal source.list ... " - #$1 = chroot directory - - sourcelist="$1/etc/apt/sources.list" - - - echo "#### Desinfe't 2017 ####" > "$sourcelist" - echo "" >> "$sourcelist" - echo "deb http://www.heise.de/ct/projekte/desinfect/ubuntu 2017 main" >> "$sourcelist" - echo "" >> "$sourcelist" - echo "" >> "$sourcelist" - echo "# #### Ubuntu 16.04 LTS (Xenial) ####" >> "$sourcelist" - echo "#" >> "$sourcelist" - echo "# deb http://archive.ubuntu.com/ubuntu xenial main restricted universe multiverse" >> "$sourcelist" - echo "# deb-src http://archive.ubuntu.com/ubuntu xenial main restricted universe multiverse" >> "$sourcelist" - echo "#" >> "$sourcelist" - echo "# deb http://security.ubuntu.com/ubuntu xenial-updates main restricted universe multiverse" >> "$sourcelist" - echo "# deb-src http://security.ubuntu.com/ubuntu xenial-updates main restricted universe multiverse" >> "$sourcelist" - echo "#" >> "$sourcelist" - echo "# deb http://security.ubuntu.com/ubuntu xenial-security main restricted universe multiverse" >> "$sourcelist" - echo "# deb-src http://security.ubuntu.com/ubuntu xenial-security main restricted universe multiverse" >> "$sourcelist" - echo "#" >> "$sourcelist" - echo "# ## This software is not part of Ubuntu, but is offered by third-party" >> "$sourcelist" - echo "# ## developers who want to ship their latest software." >> "$sourcelist" - echo "# deb http://extras.ubuntu.com/ubuntu xenial main" >> "$sourcelist" - - echo "done" -} - -#sourcelist_desinfect_set_extendet2015 [chroot_dir] -function sourcelist_desinfect_set_extendet2015() { - echo -n "build extendet source.list ... " - - sourcelist="$1/etc/apt/sources.list" - - - echo "#### Desinfe't 2015 ####" > "$sourcelist" - echo "" >> "$sourcelist" - echo "deb http://www.heise.de/ct/projekte/desinfect/ubuntu 2015 main" >> "$sourcelist" - echo "" >> "$sourcelist" - echo "" >> "$sourcelist" - echo "#### Ubuntu 14.04 (trusty) ####" >> "$sourcelist" - echo "" >> "$sourcelist" - echo "deb http://de.archive.ubuntu.com/ubuntu trusty main restricted universe multiverse" >> "$sourcelist" - echo "deb-src http://de.archive.ubuntu.com/ubuntu trusty main restricted universe multiverse" >> "$sourcelist" - echo "" >> "$sourcelist" - echo "deb http://de.archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse" >> "$sourcelist" - echo "deb-src http://de.archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse" >> "$sourcelist" - echo "" >> "$sourcelist" - echo "deb http://de.archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse" >> "$sourcelist" - echo "deb-src http://de.archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse" >> "$sourcelist" - echo "" >> "$sourcelist" - echo "deb http://de.archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse" >> "$sourcelist" - echo "deb-src http://de.archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse" >> "$sourcelist" - echo "" >> "$sourcelist" - echo "## This software is not part of Ubuntu, but is offered by third-party" >> "$sourcelist" - echo "## developers who want to ship their latest software." >> "$sourcelist" - echo "deb http://extras.ubuntu.com/ubuntu trusty main" >> "$sourcelist" - - echo "done" -} - -#sourcelist_desinfect_set_extendet2016 [chroot_dir] -function sourcelist_desinfect_set_extendet2016() { - echo -n "build extendet source.list ... " - - sourcelist="$1/etc/apt/sources.list" - - - echo "#### Desinfe't 2016 ####" > "$sourcelist" - echo "" >> "$sourcelist" - echo "deb http://www.heise.de/ct/projekte/desinfect/ubuntu 2016 main" >> "$sourcelist" - echo "" >> "$sourcelist" - echo "" >> "$sourcelist" - echo "#### Ubuntu 14.04 (trusty) ####" >> "$sourcelist" - echo "" >> "$sourcelist" - echo "deb http://de.archive.ubuntu.com/ubuntu trusty main restricted universe multiverse" >> "$sourcelist" - echo "deb-src http://de.archive.ubuntu.com/ubuntu trusty main restricted universe multiverse" >> "$sourcelist" - echo "" >> "$sourcelist" - echo "deb http://de.archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse" >> "$sourcelist" - echo "deb-src http://de.archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse" >> "$sourcelist" - echo "" >> "$sourcelist" - echo "deb http://de.archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse" >> "$sourcelist" - echo "deb-src http://de.archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse" >> "$sourcelist" - echo "" >> "$sourcelist" - echo "deb http://de.archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse" >> "$sourcelist" - echo "deb-src http://de.archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse" >> "$sourcelist" - echo "" >> "$sourcelist" - echo "## This software is not part of Ubuntu, but is offered by third-party" >> "$sourcelist" - echo "## developers who want to ship their latest software." >> "$sourcelist" - echo "deb http://extras.ubuntu.com/ubuntu trusty main" >> "$sourcelist" - - echo "done" -} - -#sourcelist_desinfect_set_extendet2017 [chroot_dir] -function sourcelist_desinfect_set_extendet2017() { - echo -n "build extendet source.list ... " - - sourcelist="$1/etc/apt/sources.list" - - - echo "#### Desinfe't 2017 ####" > "$sourcelist" - echo "" >> "$sourcelist" - echo "deb http://www.heise.de/ct/projekte/desinfect/ubuntu 2017 main" >> "$sourcelist" - echo "" >> "$sourcelist" - echo "" >> "$sourcelist" - echo "#### Ubuntu 16.04 LTS (Xenial) ####" >> "$sourcelist" - echo "" >> "$sourcelist" - echo "deb http://archive.ubuntu.com/ubuntu xenial main restricted universe multiverse" >> "$sourcelist" - echo "deb-src http://archive.ubuntu.com/ubuntu xenial main restricted universe multiverse" >> "$sourcelist" - echo "" >> "$sourcelist" - echo "deb http://security.ubuntu.com/ubuntu xenial-updates main restricted universe multiverse" >> "$sourcelist" - echo "deb-src http://security.ubuntu.com/ubuntu xenial-updates main restricted universe multiverse" >> "$sourcelist" - echo "" >> "$sourcelist" - echo "deb http://security.ubuntu.com/ubuntu xenial-security main restricted universe multiverse" >> "$sourcelist" - echo "deb-src http://security.ubuntu.com/ubuntu xenial-security main restricted universe multiverse" >> "$sourcelist" - echo "" >> "$sourcelist" - echo "## This software is not part of Ubuntu, but is offered by third-party" >> "$sourcelist" - echo "## developers who want to ship their latest software." >> "$sourcelist" - echo "deb http://extras.ubuntu.com/ubuntu xenial main" >> "$sourcelist" - - echo "done" -} - -### Update ### - -#os_update [chroot_dir] -function os_update() { - echo "updating os ... " - #$1 = chroot directory - - chroot_dir="$1" - - chroot "$chroot_dir" /bin/bash -c "apt-get update" > /dev/null - [ "$?" == "0" ] && echo "apt-get update: success" - chroot "$chroot_dir" /bin/bash -c "apt-get dist-upgrade -y" | grep -v "wird eingerichtet ..." | grep -v "Vormals nicht ausgewähltes Paket" | grep -v "Entpacken von" | grep -v "Holen: " | grep -v "Trigger für" | grep -v "update-alternatives:" - chroot "$chroot_dir" /bin/bash -c "apt-get clean" - - echo "done" -} - -#os_update_desinfect2015 [chroot_dir] -function os_update_desinfect2015() { - #$1 = chroot directory - - chroot_dir="$1" - - #call main os_update - os_update "$chroot_dir" - - echo "update virus definitions ... " - - #BitDefender - chroot "$chroot_dir" /bin/bash -c "bdscan --update" | grep -v "... updated" - - #Avast Avira - chroot "$chroot_dir" /bin/bash -c "/AntiVirUpdate/avupdate" | grep -v " -> " - - #Clam AV - chroot "$chroot_dir" /bin/bash -c "freshclam" > /dev/null - rm -f "$chroot_dir/var/lib/clamav/daily.cld" - - #Karspersky - echo '#!/bin/bash' > "$chroot_dir/tmp/up_kasp" - echo 'PATH=/usr/lib/kl:$PATH' >> "$chroot_dir/tmp/up_kasp" - echo 'LD_LIBRARY_PATH=/usr/lib/kl:$LD_LIBRARY_PATH' >> "$chroot_dir/tmp/up_kasp" - echo 'KL_PLUGINS_PATH=/usr/lib/kl' >> "$chroot_dir/tmp/up_kasp" - echo 'export PATH LD_LIBRARY_PATH KL_PLUGINS_PATH' >> "$chroot_dir/tmp/up_kasp" - echo '/usr/lib/kl/kav update' >> "$chroot_dir/tmp/up_kasp" - chmod +x "$chroot_dir/tmp/up_kasp" - chroot "$chroot_dir" /bin/bash -c "/tmp/up_kasp" | grep -v ".kdc" | grep -v "File downloaded" - rm "$chroot_dir/tmp/up_kasp" - - - echo "done" -} - -#os_update_desinfect2016 [chroot_dir] -function os_update_desinfect2016() { - #$1 = chroot directory - - chroot_dir="$1" - - #call main os_update - os_update "$chroot_dir" - - echo "update virus definitions ... " - - #Avast Avira - { - echo "Avira ..." - chroot "$chroot_dir" /bin/bash -c "/AntiVirUpdate/avupdate" | grep -v " -> " - echo "Avira done" - } - - #Clam AV - { - echo "ClamAV..." - chroot "$chroot_dir" /bin/bash -c "freshclam" > /dev/null - rm -f "$chroot_dir/var/lib/clamav/daily.cld" - echo "ClamAV done" - } - - #Eset AV - { - echo "Eset AV ..." - tmp_file_23421="`mktemp`" - cat "$chroot_dir/etc/opt/eset/esets/esets.cfg" | grep -v "av_update_username" | grep -v "av_update_password" > "$tmp_file_23421" - cat "$tmp_file_23421" > "$chroot_dir/etc/opt/eset/esets/esets.cfg" - chroot "$chroot_dir" /bin/bash -c "/usr/bin/esetrand" >> "$chroot_dir/etc/opt/eset/esets/esets.cfg" - - echo "set timeout: 2min" - av_eaet_timeout=1200 - tmp_var_3092="`chroot "$chroot_dir" /bin/bash -c "/opt/desinfect/conky_info.sh eset"`" - - #eig. update routine - chroot "$chroot_dir" /bin/bash -c "/etc/init.d/esets restart" - sleep 2 - chroot "$chroot_dir" /bin/bash -c "/opt/eset/esets/sbin/esets_daemon --update" - - #warten auf daemon update ... - sleep 10m - echo "wait 10min for Eset AV update" - while [ "`chroot "$chroot_dir" /bin/bash -c "/opt/desinfect/conky_info.sh eset"`" == "$tmp_var_3092" ]; do - sleep 1 - av_eaet_timeout=$((av_eaet_timeout-1)) - [ $av_eaet_timeout -gt 0 ] || tmp_var_3092= - done - - sleep 4 - - chroot "$chroot_dir" /bin/bash -c "/etc/init.d/esets stop" - - cat "$tmp_file_23421" > "$chroot_dir/etc/opt/eset/esets/esets.cfg" - - rm "$tmp_file_23421" - tmp_file_23421= - tmp_var_3092= - echo "Eset AV done" - } - - #Karspersky - { - echo "Karspersky ..." - #gen update-scrypt - echo '#!/bin/bash' > "$chroot_dir/tmp/up_kasp" - echo 'PATH=/usr/lib/kl:$PATH' >> "$chroot_dir/tmp/up_kasp" - echo 'LD_LIBRARY_PATH=/usr/lib/kl:$LD_LIBRARY_PATH' >> "$chroot_dir/tmp/up_kasp" - echo 'KL_PLUGINS_PATH=/usr/lib/kl' >> "$chroot_dir/tmp/up_kasp" - echo 'export PATH LD_LIBRARY_PATH KL_PLUGINS_PATH' >> "$chroot_dir/tmp/up_kasp" - echo '/usr/lib/kl/kav update' >> "$chroot_dir/tmp/up_kasp" - chmod +x "$chroot_dir/tmp/up_kasp" - - chroot "$chroot_dir" /bin/bash -c "/tmp/up_kasp" | grep -v ".kdc" | grep -v "File downloaded" - rm "$chroot_dir/tmp/up_kasp" - echo "Karspersky done" - } - - echo "update virus definitions done" -} - -#os_update_desinfect2017 [chroot_dir] -function os_update_desinfect2017() { - #$1 = chroot directory - - chroot_dir="$1" - - #call main os_update - os_update "$chroot_dir" - - echo "update virus definitions ... " - - #Avast Avira - { - echo "Avira ..." - #chroot "$chroot_dir" /bin/bash --login -c ". /tmp/env.sh; /AntiVirUpdate/avupdate" | grep -v " -> " - chroot_sh "$chroot_dir" "/AntiVirUpdate/avupdate" | grep -v " -> " - echo "Avira done" - } - - #Clam AV - { - echo "ClamAV..." - #chroot "$chroot_dir" /bin/bash --login -c ". /tmp/env.sh; freshclam" > /dev/null - chroot_sh "$chroot_dir" "freshclam" > /dev/null - rm -f "$chroot_dir/var/lib/clamav/daily.cld" - echo "ClamAV done" - } - - #Eset AV - { - echo "Eset AV ..." - tmp_file_23421="`mktemp`" - cat "$chroot_dir/etc/opt/eset/esets/esets.cfg" | grep -v "av_update_username" | grep -v "av_update_password" > "$tmp_file_23421" - cat "$tmp_file_23421" > "$chroot_dir/etc/opt/eset/esets/esets.cfg" - chroot "$chroot_dir" /bin/bash -c "/usr/bin/esetrand" >> "$chroot_dir/etc/opt/eset/esets/esets.cfg" - - av_eaet_timeout=300 - echo "set timeout: $((av_eaet_timeout/60))min" - tmp_var_3092="`chroot "$chroot_dir" /bin/bash -c "/opt/desinfect/conky_info.sh eset"`" - - #eig. update routine - #chroot "$chroot_dir" /bin/bash -c "/etc/init.d/esets restart" - chroot_sh "$chroot_dir" "/etc/init.d/esets restart" - sleep 2 - #chroot "$chroot_dir" /bin/bash --login -c "/opt/eset/esets/sbin/esets_daemon --update" - chroot_sh "$chroot_dir" "/opt/eset/esets/sbin/esets_daemon --update" - - #warten auf daemon update ... - echo "wait $((av_eaet_timeout/60))min for Eset AV update" - while [ "`chroot "$chroot_dir" /bin/bash -c "/opt/desinfect/conky_info.sh eset"`" == "$tmp_var_3092" ]; do - sleep 10 - av_eaet_timeout=$((av_eaet_timeout-10)) - [ $av_eaet_timeout -gt 0 ] || tmp_var_3092= - done - - sleep 4 - - #chroot "$chroot_dir" /bin/bash -c "/etc/init.d/esets stop" - chroot_sh "$chroot_dir" "/etc/init.d/esets stop" - - cat "$tmp_file_23421" > "$chroot_dir/etc/opt/eset/esets/esets.cfg" - - rm "$tmp_file_23421" - tmp_file_23421= - tmp_var_3092= - echo "Eset AV done" - } - - #Sophos - { - echo "Sophos..." - #chroot "$chroot_dir" /bin/bash --login -c "/opt/sophos-av/bin/savupdate -v3" - chroot_sh "$chroot_dir" "/opt/sophos-av/bin/savupdate -v3" - chroot_sh "$chroot_dir" "/opt/sophos-av/bin/savdstatus --version" - #chroot "$chroot_dir" /bin/bash -c "/opt/sophos-av/bin/savupdate -v3 -a" - echo "Sophos done" - } - - #F-Secure - { - echo "F-Secure..." - chroot_sh "$chroot_dir" "/etc/init.d/fsaua start" - chroot_sh "$chroot_dir" "/etc/init.d/fsupdate stop" - ( sleep 1m; chroot_sh "$chroot_dir" "/etc/init.d/fsaua start" ) & - chroot_sh "$chroot_dir" "/opt/f-secure/fssp/bin/dbupdate_lite" && echo "Update Success" - sleep 1m - chroot_sh "$chroot_dir" "/etc/init.d/fsaua stop" - chroot_sh "$chroot_dir" "/etc/init.d/fsupdate stop" - echo "F-Secure done" - } - - echo "update virus definitions done" -} - - -### Tools ### - -#tools_add [chroot_dir] [tools_list] -function tools_add() { - echo "add tools ... " - #$1 = chroot directory - chroot_dir="$1" - tools_list="$2" - - chroot "$chroot_dir" /bin/bash -c "apt-get update" > /dev/null - [ "$?" == "0" ] && echo "apt-get update: success" - chroot "$chroot_dir" /bin/bash -c "apt-get install -y $tools_list" | grep -v "wird eingerichtet ..." | grep -v "Vormals nicht ausgewähltes Paket" | grep -v "Entpacken von" | grep -v "Holen: " | grep -v "Trigger für" | grep -v "update-alternatives:" - echo "done" -} - -#tools_add_desinfect2015 [chroot_dir] [tools_list] -function tools_add_desinfect2015() { - #$1 = chroot directory - chroot_dir="$1" - tools_list="$2" - - sourcelist_desinfect_set_extendet2015 "$chroot_dir" - tools_add "$chroot_dir" "$tools_list" - sourcelist_desinfect_set_nomal2015 "$chroot_dir" -} - -#tools_add_desinfect2016 [chroot_dir] [tools_list] -function tools_add_desinfect2016() { - #$1 = chroot directory - chroot_dir="$1" - tools_list="$2" - - sourcelist_desinfect_set_extendet2016 "$chroot_dir" - tools_add "$chroot_dir" "$tools_list" - sourcelist_desinfect_set_nomal2016 "$chroot_dir" -} - -#tools_add_desinfect2017 [chroot_dir] [tools_list] -function tools_add_desinfect2017() { - #$1 = chroot directory - chroot_dir="$1" - tools_list="$2" - - sourcelist_desinfect_set_extendet2017 "$chroot_dir" - tools_add "$chroot_dir" "$tools_list" - sourcelist_desinfect_set_nomal2017 "$chroot_dir" -} - - -### Handle Parameters & Modes ### - -#wenn kein modus angegebnen: default modus -if [ -z "$1" ]; then - main_$modus_default -else - main_$1 $2 $3 $4 $5 $6 $7 $8 $9 -fi From ab4622e37a8a611c157ae9ce4ac274f0aac0a102 Mon Sep 17 00:00:00 2001 From: 6543 Date: Sat, 12 May 2018 23:05:54 +0200 Subject: [PATCH 9/9] release-2.0.0 --- DEBIAN/control | 2 +- changes/remaster.md | 7 +++++++ script/set_version.sh | 2 +- src/remaster.sh | 4 ++-- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/DEBIAN/control b/DEBIAN/control index 1347ee3..8580391 100644 --- a/DEBIAN/control +++ b/DEBIAN/control @@ -1,6 +1,6 @@ Package: remaster Source: remaster -Version: 1.9.3 +Version: 2.0.0 Architecture: all Maintainer: 6543 <6543@obermui.de> Installed-Size: diff --git a/changes/remaster.md b/changes/remaster.md index 0834916..469a5a0 100644 --- a/changes/remaster.md +++ b/changes/remaster.md @@ -6,3 +6,10 @@ 2018-05-10 - 1.9.3 * hotfix-1.9.3 + +2018-05-12 - 2.0.0 + * add feature build debian packages + * add Doc "Server Bedienung" + * split functions + * seperte config into /etc/remaster/ + diff --git a/script/set_version.sh b/script/set_version.sh index c8f7635..d170fe9 100755 --- a/script/set_version.sh +++ b/script/set_version.sh @@ -18,7 +18,7 @@ date=`date +%Y-%m-%d` echo >> changes/remaster.md echo $date - $version >> changes/remaster.md - echo pleace update changes/remaster.md + editor changes/remaster.md } [ -f "DEBIAN/control" ] && { diff --git a/src/remaster.sh b/src/remaster.sh index b09c644..1ae8b6d 100755 --- a/src/remaster.sh +++ b/src/remaster.sh @@ -1,7 +1,7 @@ #!/bin/bash -#@version 1.9.3 +#@version 2.0.0 #@autor 6543@obermui.de -#@date 2018-05-10 +#@date 2018-05-12 #@licence GNUv3 #####################################################################################