From c893c92235b210d0434b455cb768c57bb7b50659 Mon Sep 17 00:00:00 2001 From: Dierk Date: Tue, 19 May 2026 14:17:25 +0200 Subject: [PATCH] =?UTF-8?q?Remove=20redundant=20index=5Findb.html=20?= =?UTF-8?q?=E2=80=94=20superseded=20by=20frontend/indb/index.html?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- .~lock.Vektoren in der Datenbank.pptx# | 1 + Vektoren in der Datenbank.pptx | Bin 0 -> 138919 bytes make_presentation.py | 614 ++++++++++++++++++++++++ oravector-demo/frontend/index_indb.html | 179 ------- 4 files changed, 615 insertions(+), 179 deletions(-) create mode 100644 .~lock.Vektoren in der Datenbank.pptx# create mode 100644 Vektoren in der Datenbank.pptx create mode 100644 make_presentation.py delete mode 100644 oravector-demo/frontend/index_indb.html diff --git a/.~lock.Vektoren in der Datenbank.pptx# b/.~lock.Vektoren in der Datenbank.pptx# new file mode 100644 index 0000000..2fe7882 --- /dev/null +++ b/.~lock.Vektoren in der Datenbank.pptx# @@ -0,0 +1 @@ +,dierk,dlc-lnx-01,19.05.2026 13:51,file:///home/dierk/.config/libreoffice/4; \ No newline at end of file diff --git a/Vektoren in der Datenbank.pptx b/Vektoren in der Datenbank.pptx new file mode 100644 index 0000000000000000000000000000000000000000..f738af0bd8f7ca64f8c0bc180ed7c47f5c46b5cf GIT binary patch literal 138919 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 z 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%0As8^RCoR+8HCRj-+I2LaY|! z{~K=V{;t9l4~yqkdocjv`{7Aj75k?-%d$|wDoYxT552|ydN4~$7hXiV85LZw{Jd8M z1zgd?fhWnC1KsLA&bbQzkhu(T!}LX46BCiuQ*v_sm)80i$g2IH~LDFT^S*Z#~SBWkJUDo4;o zm)yGGP@SwA1VSODHpybo78vukyUWf_%2COiT{b8>Wy)@Z3sbu-FZ;5Rl7M_%ixC(c z#t=K<_HNg;4G+jmO!_sHm>yubiTI=gvCQlvI)S?DKU|jMN9Kw)CcQd{B)Yjm=S7o@(~e zLL0gvbsU>~$`$g7!+3DhMD8%goQZ^s`ybW%Z=x^#sn}-jJauZco>bD9zM{dmcJ#zg zZK)7b?tZk^Tz5_%km50O=liOZjX=@MeA1yyB~u3J4O79rgZZJ9csW z0wu@Pl(g3+$bjyfm*a737Vl-vqmU_0`3k+6O?Pgk@N8>Bd7M#euE2$H{^i+(!2a=u zut~S3jYLYM5SQEOn}rb>@~+vRFLuR%9O*eDYs+#wC(ZNt4}wkNc{A?i_=oC4RyTyn zj!cu}oO8fO2U9cN2@!=$o%0^blmK~-A7Xt21`4JNJ>1;nPf3dWgXA9MqMeu=K8s z%xZwtL?Q0dNyVLL$!tW*2y#@KLp92uKKmM=ZNVBDeFRpC+NLl!>2U6zzPXE06O%Oc z7Szep@*NJ}Giev6xo^WK?Zw4@exIX$je->d&~<9mQ!j!&uY!TO+Km(>syb&45gqJ`0btMbL^9{ zT{^DcT3%>>Q#pNc?xVhp^6r(tgQoWSGFozfVtHRD8xT2y6YHE?izeOD(UL1NrtqbM z_>4@~=as&l9PvJe057eI+{;C)96DtTXCmDigmh24oCj)x*J93 zF+2gSC=PVA1o{X#%?DvQnZL?F9KvS_y=Z^e%9y}dTl2KF;?%Oz{Q4mI4S9K_zJj!c zEHK2aHzm#Zno{DZ-x!k2Xu{uZj}_VzQAs7!_l?VU5>tdSF#7(G`ieY7pB&e>{Kuogm7j6p4b%B*iw$RTF*I#6@97~YMM5dAy(T2wI2BzM1U(X+6Nh?Hc5 z#d;?$Tz7W}Xt56|6)2!s6zofI+;}2O0{=G;$fn`3g`O1f6f*cd%Y3~ILvB|$A8P3~ z)EJOL48-vvyfdJ=u>RkHGZNH$fQxA1oUnriC2oU(I->H%G5~W7yNjS5ywL6@E?>)? z_&bqeJP=E-sZW4%F$knG>{x!<;3^fT_M754~<#cBGWhV@V&%f}wSFqGdq6G3!s`XUhK;aAdw=-a#z= zn;Gz4|JA>Cy0hWPRRQooPYA>23+X=d79I(3K~^L+#?En3_e*Z{qb9S@ceGMiVj4W= zD(?Xf&0ovhWyUA`4qHtI_)(WY>Qb4Nw7unaNXX#MkU#(8W453ROAjA&Vw`q*AbOkX z8<2L{b3ImogXT8(jpS0Ex0R zkf`RF5lQ&~z-Kfwu;I*GO_k}s6~A`(?8j3en>kL8e@}ehd1({g(sJZA{y?C?3K4GG5@u(T1*pVq zaXg~s=t7t^aDDyvc!REX_bp+_!-zBu&@0df2q*y1{QX(nUwMH0KF95Q1{94kPKC|#jemXObLjkXUT zfyx|z@#3CKo=e9ZX)v)@w(RpV_}4bTihDzEpx+P3(e$&6pW6%p+C^g60*nTT`vo-j zb&z=AHxmeEUH$pe7(Yj55}R<{e4pfyX~}7Pk}odujXFIRyZy!-#cr`9=b4cI5=o`` zrXh@UyZU!F6ZSKZT+(R28vYY#_96O_^gF3Xq6Pm2DL%~N!$RcW42B>5xP3TZ&u;QTUJCGBvgJJ^&& zjlaR}wetf{h~49^2Q6LUkz-4_nY`lJv*kNH%9>$mSVJHd1W6X!mtGacs^d*laY02i z5F3j58~wwJOl_ma@<=w!&#%S)LR9*C(7zT(rRo}(sF`MmVdk?&n}%q`+q1yO*Z+^dY$ zt_QBfmd3jtK*6B^xIaeNR-h3J8G>Q%V-##HXvcw>|L!jdtuc)wL{!J;7NFtn$S}1{}d*m${{6$ zt)gOXC9{MX!HMrn|IIP}=Y>+L7OkSb)dXyb7X-Y7azDezPzWLR30>t0#W3 zw*Pc-rk#RW)^0Te$VRu(lK}P+%CuVO_u+DE@TfuUiU19nt$qL&|89~9B<^c*jGEC+ zUh>{+!9QjEoe8lFu@T7gXYtO1f&z!v>JnL1@_;*!QcVbhXHJPD9GsqtC3b-mNpy$? zSqutHskG@2%>ZIR&j4ifl+&Yef9_Mloo5eFVDk90?gRwk55u%t=q1%N-qjOXUH5R) zD9!n+yWA}uvB#}CL10bYgnGss^61u=aw zVtJJm5=$!t2u4X7O~)%WHQuPf3xWe1C6^PqtN_ zUnMKbVn)&D;i(M!;6!2J`cQ`jt&Fp`VR73eB#uZO6o-S&s#!olay7k5k@9(rAg#j^ zkMbpBTpf3LWW^JF&MiIIG|>8ddxekyS1T0B`VIn-;1h*r&zl3v@_nlEAh+TDO7qBT zVV1|T^9Sbp)8FIqw>^9;H~APef{2LRk#$iyB)^o^Aa8`rc<|rg=C)$3q!&xGb{|+h zh!h{x$VjZ+q=>Jus>S7u$==jqkp7t(dz(~3n^DOpI_hZHxCg-8PNjMJnYB28bD>E{ zXORovgqJyjFS#PqZXT{oeX)P$YvMp?8um#VxZCo#5C`Aw27IEDkHANq>Ge=UN|*d* zwkt)C#o~29>)wDqfEOH)bAfGt#)9!RI8F@NUa(_z=|LoupM+v%E3t^#x`F|MPm!U+ zKpF5*iehy-b0hM1nbTTwd}^RbLMikt zltB>H=j81JNofH3G@AwvWFgm9SA4B>{3Txdkza@DZWqvIXd{} zx0Z*|H=qClV?j=#$0Lv`)UH>`h@g~xI-`qUW& zg2H~=g@gP0e|^Cxq`W(ia9_=%qj!`15%IWV9xN-XZ(JvNcGuqEv^e;WJ$kK-_qjPrwAnYmb`C2eg}&mgxdZjz z-ZkD3AD&czW9kmQP-G1Go$U8Wyk1(!W%OjuPsBottU8$H5nwxPI=qZPSs;rCO5;er zvkIXl3OtbcxK(go4`@%G#)WIo_fnrFgiGZt;nxI+uBmF5CXN=EUXb5;X4AJVRcCaY zSo$l5xPc_Sc?U|Bzjim(tF76z&Z5Tl5}>J-mu{v^8JtDV{q9ZP)?xM`#5EchAamSH@FD&}ieFfI>RKeY_X9Gzd~s=P|Ij(m z6%SxfqF7v7!k5_s|4d^_Rc{A!ZFMHGKA(y(U?m#Bbml*eJ+3*`Y=T!Q^93ov1cFUOOJ8*j9)NWqB9Yg4G`s~y_a zn%q+v;``g=hZjj%Ypsh058dQZbTZoAqE#5ns-S1)sqtlvVtE?EX;G`Jn=n~UL$7g5 zM~>P3(*qe)kM;x0+SWoo;@Eqq#rp4^i(ynowA&i$e#!_FKr!fH=RMDtTazCX5Y@Rr zh`Jt3Cj+SJL~U5V6;_Dt%hyuLQZmU+4ci?`t?k_xxk}nr1d>qFC-XhuEV_$AddN{# z=h-xp2fZYu+v|rd)M7-ymEYpgN{v}E8CPd&BqITv|2cjgc8Rv zmjTORCTyUPZ!0T#5k}Vyfr;W|-{)bbzfnR)V3ym}BFwbDo;VhapHx}1d6COlED2Xj z03*zBu@AULOXmOZ7;YsH1N4@RTp6KRX>KBBWP0is5bXThu~ywdm}QCw zZU7Tl(LLrJUcLY(0gYq{Z(# z4?6xbYvEfVBX=^EU|jS1OK@_c1#Ou8KDmEeMSY1Q<@@ejoRv@84lny|<{(sX93y+s zGWe+br_Y)fsKR6Q>GF3$jbt{0h+HGK)L3%MG%rK>8P{C8K|*&AbkYz3jpV?xe=X6) zob1Q=&q7d0LHJUa5LRwK$n5Q`EnrT*P!*@SZ}G&VnW6$l8h$Jx1!%;)Wtg8&1KGG^ zo(cxYdDvi~3l2YF|GJ4VzTv^JGaAk`l<*zKOf`o67f&$So$MOtG zWsfIf7!oM|0X>JYzyAoN>i+fKD#S(fa%fq?o$)ek6$7ux`sP64@48zj=qM|M!3L)x z4@)rXoSH@9D}Kmyhx%`8%Ay~sUTc|jUz5;Gx^^IwZeZ!ul)C~t<%^68zTmlz8_C`g z3!u`I1|VCzfHfMxrX5p6-gi?SmX7lodLImmM&YLp=Vak`5A@dxVQM_Fz?LdwOc28p zL$+U80Kqz{-j{DN27St2ZdM&l|5_(_`J&Q#o-21|YtVmUD})!ZuW?sC?{AhDSK{cV zjBvsDzzbTs4_kZVVm61i0*J|d3R&%SduGnTNJQg0zVs@1odUmnKh9${FP|kc93PXO zH-lRTXp>dLg&%8q&$^O8$7sLC`I*^|JxOfem!*y~9R7^^dLDtWFx&I5G*5WSZ0=I$ z5np5IHPRUy)8;XmM(bGfrfLq1yrL4=Y_^+k!F#*|G9P@-(lVk~0fe~=%bhnEHWGJo zs%OVdF1k41>&b%A0DC_mj;{AGU7AUD2BhN(K#pre^Gz77E)K*EG*%y@VW6h9$Yqu{ zS8ojswy2)mAK@MIRP9QP7Vm}Wu;zJurY8u811g7J!E?gEDwrib5541pAZ`8m$W-T> z1YPI2UL}%f`xZsM#f;biw?W3i;R+_pqn@UK*=Ks}HvDsU9$}aIY*W+eH1@E2*i&`E zix_UH%@?jgnZ5xk0=>%v6pW0AuK}Xt9*Vsp0UrA9;cVI1{h_`1rpy9$wU`rg$n$0U z+ztqY3AT*WhfTNNqyLP>u3x_q@m_sOAgK@XMX^NA1>qmZS6Y+(j#lSoo|+83=1*TO z9ml(vDjm7|SmIcVt!ZZfRCx{yfb@ok80Iqh zteGJcpD>u7jO>6tOJwoFM!LI|Qnpo0Jf-De7)Yb<)1gz*G1cr$vP}scJD(#p3iQU= z$jHtIEVbZBgRHaD!7*ovyCV0?jrR_fEoT~nX-n_h1BO}NcMnzQkU!os$OERCNXnCV$m>YAV@#!qe%HHcE7mxx3ua=)D(h8#prm>@Z z@Z#=)aR5L8_?$D!TVIX!cp5IkkGK45bU?V!eeJry<+&%4T9|P1XJJeCA;TdPwRECS za$-&F+p9W{eTpfbWwax@keB{9{~o|bqgUP+`Zi5{!Tdj-@SpGYk1|6Eeqof;5u48_1sLc+iwn;>KpMi_i0ZB1CJe@ThEJp z*Bb5MKfAZ%e{n&KemE`1r|-9(VD%=BP}Xn9NhqLSUFdR~o~SZlCIYkH>ir0v-q$j+ z9YuBnmrR_7-jQn{jVPBh`3-S`|P#-Ram@0&6 zOk$7~!H;wY3d2#NkKs>NY4oI&sl*cQ zg8g|*Q;EMi-S3ISmZ~;GM!vr+ASSuWNrzJRd5Ir9ocaM#n#0%;bo6wJCj)dz5K7QLP_QS9?0NJ!hW|_*4pLS@;5(&I3HEWGguEuzS>}QA}xCu+V&;xy0k(heTDR z?>|Xo%92((lnE4|&Od~K%@W@(9_%#b95+5t8b800J}e?_@?Aw;cK+bbZoXZD+x0Z6 zjeaZlU)2Zwemr39rpFr)ej868vq>Bual2=Jp9XIH{t=FaFcSVZ5e$3@m40 zxlMoQ)~0Cd@f7{m5F)XyvG=6+!{GTMYqn4egMh_$6F7kHOH`Qj?H_{6notpA0I(x- z`8w4L!gj^}g?&nX5oy#i!;#s( zO6+BQ3#*|cf@)aKmpHIc0mVE@DFykHh_W(;77gW3Nh7(+1QFagP%Ey^HJ*SzT_`_ zZo?{XnD4pEF7?g|%dD%BtifYg2j@iVEw|B;&P_)cK^fyo;(!s^r+j}Vfz2J|;Hu}F zj%9p|5IP__GKPp~celL+VwBrP;Z+lkSn$s)>Ki;ERm#R5;d2_4qOzu7-u03{R7N7TFAsNi{V<$VP&v&1~TcN>k}w+IgRM|aaZ3GzM+mK_4) z;8jKlU=Z`ddA^Wc6l^_tGQ|@?RFl~vF5PN?8L8dNQRM_M~+GZ=pRA zE!v0ok_0ztMCkKm;I{JTHg5Mb$pta-*f>#XXt zz51O7Af3$+12$!aLc^`8gk3uC(TCkc`oB)AMj#@Oy6#50E zVDp@LV0=`0Q>FFa%#L@7%AxJQx1au&YRVQeaHD;LVc2u23cOC%w%lw2vq|99Reoh4 z2$v6_Q8q_y2&SX|(g+FYCfQn?rNk?H&P*U%C(Xf0L&?RN|5?y|hPwMqHf49YG8y0* z!gi8~d~k0;b@z9?PV%7}x%JylW_OvE|?7%dg4zsXM)jM8r;LW$>S z2V$?Fm4%I#sH~WDn(D+Nc~6&Hc`RNtScH&$14$;8xXM2RHY=~faE;0cW z&GD4Zpwk9v02%&_jtA|$T|gExjI!tRA~A|;4KzhIlm$I>^2;6%IK=#nddYWmYjLQ3 zj!PIE=D8~)g^DtY07`PBl|=ii!CTm77^Ks1c%^>QyZ>V9&+C}E5#7)}Qeutta|K`C zWjB{OFA(urAOqKY6x|-4=UV0$`}rpl%qTxuJ^xOi4~;ian>iUi9`hwW-Uk>`Ejidx z#1+hfHI2=!`vw||Isj5Yt-r<$8eM0WI8r}$&w+g-FZl}&V@tqFzk3Y-@Yqk><(BY< zlIx6A>wR${_g*A%W0P2$wgth?mumw5#b@RyNt8ZkHdV}#)%X9$Y5X0iFSHd+kgM%W z3}ANY>ZrOcUVZ; zsqW3X#2cu5LzHt*aiOtqm zk#mixK`LmWE%)dgAOLyq>-lUN{NwGH>QnGF+GO~LK5O-VdA_NK`D<^Q+Mh3hJ~U)} z2g#<996TNWN!tfpwZ&mP|APJa_JeG{dT-$QfDG&A><84E!~Ktob0)u7@2n&VT2lJ_ z&VWF?#c4bN;*dt*=sX@>dcOhPV|1w~Be;OzSmT7TS`XDvDv4`vUzXRh=gG()kG`Vw z)?@EG>C{u5eI{hkWs#Z=>o4A_qgNorq(=+c>RFUDM`k~j^0E8xnnbVHUajozNc-c3 zCrSL-C!dM<7zLq*UgzzF9Pj(kugEg;cyAKdT(7O>XLg}c^6Z1^$bSZn`_gNXH9aou z?MD16%NHV#BeUf&u3|)KY1$dbUX?lOXh?Oj@2;D2v=&SY0w&~ReVR<3QD(t8e#aK9C=d8nj7EbZB( zSI0~nQtYEp7B|@mJRXJKYB^fW>MlHM_q_T-00Z>RWBBn+7uV?e+pcYO&iI>#d(rF2 zEP3axPnG7!&ZPA(zKMOi)q^!+byX5^N*thm;CE-Gebnmlrz;nrAPeN&N2gDJ-IZeL zA_Dv|$F-lw)veN@;NX8MY0Eq;rV~sH6L`-Ri-=9xbS#R*)Gd zu$z_vPebDi=7zHaelS6}_LMc57Z1EhdNrfp>n%pU9t}h|aM$&2AUaKnpwlfKTCyqL zw1dY4DP8nhZ{VkB)qD+|Cmg2K@&w=oFZYe>S@H8y8RxC^QXE4u5#!WKK4BnhE+76= zdk0jvH>T#c>Bg_ytCAC&eE$WbjDLL9fy?wj-ihhnU@AaaX_BWvV7Nmit&npzpaKn? z6I1X4>IwwZhB$dVsR8}LTp+=$jFo(?LCXeCP>pozNXHg}ND*Qu^ksP^A6@gnFc9kvsYkIxpxMB|uP77zc_W)Xx z0Ud$E<6!!RDn>3~o_n4;?^RKCeN(>nvzG<<-AYqP(MUiy88+a+lwDA#AK$Sw%u?sk zgWme>D$2^5Ft8v0necrk=qy1UBm2Yz9LpQ&;zdhjh1Bi&&b;jBu`%EG!+<^Lh{ulI zn1lTo1?1|rW}Z>~EI?<)PTu?ZaHde%#MZEifLjp1~C+7$W zpY!Uilh7D=3xKY=HT6A8W9&BTAj zznFSeN(2hG&D2#uhJ+<9FV~1gT6pn1spCf#`pCekqlb_bw%4vpA6F?-TrrNgKZXN2m@*uYRKAM{ z!A?Gl*{kKH6GWNiQFC3k=u-IFp;OY}=I~{#L*|yZE&5wr5q8#kX*BSVrAYRA-IIvY z32e}9v0y&HL~lX3c_WrXLDx7z!!v?AzoSMsD?o(uJC;{#a(Pcz65Ib3r$hHqza4te zSdQ?$Y_r9{K>@yy51=egL`rY|Y`v#$uN#h|U=KT~_Hw)n@wWx5ou$Zz9MOwD&U~>c z^VGYv<-vYjWkll$0LVK)l;d)k`^LG}oDleFrBpKl2nb*^^o%4_cQZT=iF7Ex0qmR_ z#0Xx%{UUNFDU`7GB`LpuNb zrPzzKq5M_DBw?3n1vT5_XL86XDXZO==}@5|x4F0CTfxyqa4_B0$V0REn34jbSb!V& z!cQY_Daov6ExO1w+Kl0xjh5GS)`Pgx(qEY>&HWB2YMyVBWByub{GWRYO*mZ5@)zJM`_ z3b4OoI+U~CV?UY5IsFaP5R?8;j(t!J&I6BFTuKJWXIhu%0H!2)HL8DVmZ5 z81dQ4r1y%c8?^~-tE+G5e?y!q>nQrK3z@|Nihn3~ zKZZX_tSpsu?1TR1TxyC!;s3i;9)>{Gn7``6;Me}&T>y*0%?q?0tBzjw%r{R!UI144 zBJs$=)9RAD10HBn;FLvi5ugnG33#+lv}&+?RCbP*0(SM}r72!~7}z~H`8nj)-9>?HfdA1^CJ z<*58rEtvrIq7zllZ@x&FyvZkue5tf1gYShwz)Cj7p??%dH(0Bi8z{Fap3L&vb@t=$ zv9<0B=U~Ptr!X9X2vg;&y1X7p>GjB|>komAmWtDTsdZtTrL<%HzaM9bOk{fl# zR|sqXnIxmkZtnI=a|~q#(?+uVUxX=ka+tM`jyE)yI0gej7aU>_q5=I$+IW2Fr+oty zatI=KM$Qo`Bl35Izpge<9D7we*lo()u>e!Dr7@pRCiCUs17ZKoT7x{T(`?60hKVVN z=E)yNN^9?o@;^8FdnKH`6tpI9m*59Ro%k^PL75bk!DM5nkM`;1e<;Pr5D=yl!u!@k$frrH28 z)`JSqo=PR_%6`(lHYxC&rqRe$_8n}NlEjR5EbM+6Slb|sM@vLrVvC*}Ey5p4eC_#f zNO7`iSNe9v{7nd-0`J+R!<2b?H^lQVz<9X7{gjf zK$i{1q|Y)pDp}GEmx`WmB0xsCE2N+;MnRj`?o@Ek44f5xP$$MwOo?L$ODC0gOk>R0 zw-<81J`iOcz6F>W9fE|T3~fYX{-W^gjrmadRcI~q9Y;*)Q%m89B=SpfRT+GfeoCzk z5#Dm^!I8G@qk&P>%eSDqfQm@P1#LflV6>xd?r!vG8Y-CdTcXN*wtE^Wb3=F_Fe4 z#h4YP>2YCujkuVa<=Xrz^edy2mW2#A2aMaypXqm+--cqYM?_h4to_RZdF+S5jS&9d zMFHvHS4NBjrtAPj_gbJvSyw%nUnP_@hP~x(Bc%@9fZtaG&;dvkYTVpQG>w1?vtQe- zj~if+v*6uxF{Qu7ZUq=eVIhTX`V0!=C+I|QBh${_W2fOi_0GB+0`4<4pdg}muc0|W zee-N(ksOk$(FCiVY+k%daQr49`x3A;9JAq152LE32hK*V{g6=2{@e-y@|%$dhELb$c<_CETk622P4EamH>#i9B!aC ztd&?$q#?{Jt;CW0WR(N~q$Y^{+!7)6W_#!h6My2kI{Hd;H5^t0xk~eNLJbZzL7NUm z98fa7^_Rx>#qowNi4#uadF(HYMh7h!+;iTvA^2Fsnm76H|>ib&8wJF zW8gjfR4u(vAI?pOYHW^o!sYxP*fi#!cp71ZJk+f?_3ZbqKvmy9+>y_ET3OU;ezx*itqpgW$r*uLBo57G) zk8&V3I>@<976oMO8m=fKK{ASdKp7Dx`InW&51W1pqljVeRc9>iVfNZY9da3(;0-F5{Mt>{*$goOU=n{|Gn~~1r-_VIN;kj*($!pN;iAf zFxp9qYPk&bj|UxCov0xXc0J{If-73rMmK@@x@8hgpz-VnoyV(Cj{RpFS2P_Tgjel7 zjIq&Tgj^u3r2nYaeiNCc#$&N+GM5aMa6#J1o<>>_gsdn?X1z(+g`+86`z>w%%#)v!Mmv=wajEPl6<-Gx2Skf;B@!!xOgbJ$Gz-~6>q z<*_#3Pm%!k04-Ez(_*A;_UWY(AMOW2#UF=4l3B{N4=bHo^DPa&6SyCRv$kL)YE-B^ zjai4z`EN0m7S#@WK3KeXw%P0^J}c^j3JW=tN{3DX0S}^#AO(|0Lep?-3mrF50V>5O z1m!>ZKpldmj7ZO)fhRVt{Y7C4mk#EBe6i#(GrdNHX>**C&smL<*kRre-eGV^T@RM| zgcFVZ`BV)*OHEFDT|U-U{az3g?i7zT16G04V&mXRz`G=-^+ak4 zlp__%G57ou$4^mo3%U(^p>ODyI(xOXuy>X#H5Rn5%}*1jr{~i?OOJwGM8SlFmMjA0 zBR~(y7vG95Q`{q`z33>>IWq1a&JRSy6OKn{FKzSf4JWIZ4BcIum7ZJn*4NqF@MKET zePw<@-_Ilzl;M|Q^jWz@nX3g`(S%-}?!}96d?nVO0;FMJZ{Kee6uJwoO#1279nM}h z`OCBhgsA5UJC&EdohCPgcDCM~tu(_UqRWRTf!X0^$7qJlP_PW)Ao1dn5w|0VGwStg zzs6bulpuVmH)$~;G zie+U5RkPF|_AhmpTcOIiln+`b3GIqyD;p-_WnmZnc;}XVDzt9l>&%Y+*thL@UdN3* zLm|ypgnC6=OsO4wxnwVVsa7TT65L87~kG6FC3Am@-`3BeDWCmT1%pKHNMpqrH&sb8{b6fP8 zo0eEu1DnN$L<4cB5VH!S+krK~vklA|8d(;(AagSB=4YK8*d3|8XcAZwW3rGp?pwp> z)m@Hru&_k$$ju{h-|`;`ZLCWyhe_`BpVfN4rvAc}{RJv5W37%&F5mZ|p^RdE2aHzn zE}@&3?In_s{M%deH_1^rW?l}V*F1tWozRm$#ZiWjX7+9v1Q9=tF5=8H&3{i$##7Oc zk{TN#v*=tU0;s6rYS#b6egBLI`NuM@*M1y}$VL2Ha@dt@Zu|&qJduo%wtVtbzFDG7 zol3dQ#$29qlzw`FT@!w#0({3W1oM~ccN-OOGM7m$iLgEfB4!Kpj;IsHJH0R9Rl)A@%!vc8WRqCW8T3^yv!Ywvxf3y~EB)X{q0ck9npx5C0TX=#kk$+iX5642QA_ zJumYtM{4h+?GLVev7O~{bj-(9=?|jIPs~gmeqHluX;I@JBBxu$E# zlgFsS(jAKjKKitSaQR2|V}!F{_UDb&bio~}imIotKCJ4)SX*XlUO+FQr*W>qm0Xgh z@Vc(`#+!o>ZVC9wO{MdL`B=k#Vi`ketlQf8jE}tSu`Dwv%3car(iltHkJcnzr&Rs< z)|I{&l?bP1hDlCLCRe!dLH(bK>teW10zR5@j5VmXjFltOTn=QC-tk$;TH1E5nKyra zy1jAi@HYn~4QJ7(=UQ5flO@3eY&irMbBzZL@%CR%KgGECoKjgu@@Z)qR;;z9irM-d zFSUUjOpOcVjIXg}1wZR{@v_-E?AY(T$@$Kelk3r1+T@L%XSY`cT9L6dm9RZfQf~}Y zn^nP1y&sv>7KpakZe}0jT_^glQ-&ue%T!d`NhHNX=0T!Z zD@QAGy*xws^58wRBM1mlR3)|&SXv5w%|G>hHOc%5Dm+D^RGov#WWUDXoJyvx2*TmH z*s4i9ck_mK_heXPNwwpZK*-+ggaws44IjVfJ9)7vI?;5`+4bTyKhPiF+t<=%yA#Iq z_f5nR=i*S3hamV^%Ev$b>z3E)=xa+8DH%V!xMI@X zh2DuH8auyk%N?f`VT2S?VjICJNT6aV9wNaS;PSP}?Cb%qIf_W6fR@(0(8o^Kp<~Bi zCR=h|Z$cS^{WSL8xWAGeJEJur3{K;_c=c&5MI9@Fzp2n|9=AVQzf)bqZiw!$HFC>$ zU@ud*3aRjxDBJrWB{#DtrYDkaiRD4mdugwjC8wqp??W!#Lh*L5Q38w7{5>PtVmc;D zy{$SV`i1zy;m=p?n|jmx&KL>Is-h^8W~Z#NeXHr(zkj#UDw`RHS5(kzX_>y_KZ`9b zReQpN+hq$D#s1>12#SP>QW_``?39YDD=Hd5@uc*kM@_xoQ17k;BBy-<1 zNpE|Vq&eB%$gAMIr5oe&V$|!5Pgbz>L->u|AoQ-^_Q{cGy^Tt#41T_Xh8@||`--iO zgH<0?`)tLS2h?g7y8$`yh6&9uD>6z1*=jn_`&bKy^99^@(Su@IW{lt?dZUXmY+_h5*@7EWL?{T#jKi?4wX zF23y+=(;>aSPMk&MIX-=dXlIlK{vc8O-Q}Lmg!@x5L@8>$ClDtDxunTDTn zXlXS;M1@lMAu(HxfT}1>db$Eu)ZZoFd-~`3SdnZSb#&oc-_s1(=|;L3hLB*;KYdY( z31$%VCZVE29)m%zbc=YAb>oe@|NPS1d|6)#Ex2L$*6h_0o!QfB7hrXObxO?1_9F|C z20_39s9lcaarxKJx{D34L&(4Z1YK5ITJWswYke)P0)GB9riLu@=!_B!NSZ!x?JW4K z*4ehG+uY&r>Q7oi^S`2d?+=|kOX_lttp>w}|Gz3cyQ2_gzg85;i%Ols$3 zl!(X~x6`qg`g>VX9Rt=Kvieo#_;{7I2dO*#q+(6H5@-~f7}OBh0rg)PUpkTMTpiKR z&kW7HyX8Pxg~gzLT)WB`XNfygu`5_S^~!dfmr%9-3iOpOD08{qKX`mi81B}WFT}4R zlUy^^#iLStRDT))$N|Gg-l8WWso?IL^q|Fy13{1}V`}ogDY?kLYz9}urao)_G0_orRehz*PgB~cW#MGhbaA#&Ksj5C2 z&Zw&D6vzs-8LKN1?1aAJn>@fXlthO5jkK!?Y=lcUIypJ7sv0;ssXeWeN;&JD75?!t|bIOttlR+V)kc|RrCnxHjnb)d8qi!QlzTaVAJ+^HsO^nV?i zby!pH8^$L{dMGvk}_x!>pOj92oad^Ul(^w{Y)ny$~5 zx=L#S(9rlYTQ`2>!svDqKq|7=s;Xv3-`60I1%aG7GMo+a2^$KsM5KqYUvmL`@xq)9 zlTRjQ5L@RPdJ|(VQ3h0PG|ev`Ezj*Xk4GJcbZlN& z|JwN35z`6QJnLCkosMwOay9b-zHbcOzsB(YP+NgstPGZis86iS)Re^8A}x&kxK}f| z@Y*=BN!i8;*D7pp6X@$x1Y1sGEa@@F;bw0c>#ZwOxEkIAC6odPfnU(A8IU_c!4m?| zFOWUXKCiz72)AG*(IoXr6{v}L3HE>sC(h1#OAvv$1;D5tuf#dS1ecCy5Z(uu65iq& zQfbVhsBzp$`}RQC9#&#{vVMij&n73l4(at=UsdsHvoRLjuI`U>so4^h&Zg^2^@>O- zz5c3taeGy%RQ-~E9J zs5No<3V2VwnoGg>-cHxu;aeNc#VzX|{E4tvRelQv`A1A`(AEI3AD@_* zR#Q`35DPbv#|Jdi<+W$dYH|T{Meq+4BQt}ymw6jNhXY3ct}7z!kFPv~0Oe|M^8V9L zRe{%p`y-s|JGwEL%rJRRKycE9TIWSt`fQ)mytazNxU``F4=AV3I;#TJ7tY^X{fM)% zs#3~K%QbH(Tt{36yuF@fc!D5#bwT?Ilc?o2IK~U!hnx0x+^@9qd~;W&vB+5oQ%< zOjeqdY?S^Q+DvS_TFnDZ9eZ#Qb?WP?suci57t=^%Jo2PeC)Nf!(K+a9U}nx9-@7&% z+kZ*|@7HCm9zU|d0HXE5cjV1*+Xq(}cD-K*Wa5;b=)Odri%(dbf`ByOEM1v7w0_sC zAsMk-l%W%9&DzjC$O6QWiLq~n9LHXxTU-q03Xq$RdsmJ9WC(rtJ0qhoT}+JO^pPS$Jmx3iPm5m{es)&31c z$Fet)?F?>nHj=R$)gEZan17gV)sk52imbRS+LlOj9g5bL6Un|)`BOdc!PoOfCBCR= zuFWZy#t61nsc{W7+`|;fk4>&xNvMR_A6mWb;Tt7bYI+{}dp*0p_rjWX;^_%)oazxjK6m;0rSsPn za9kBrY*l71y@~;6Oa10bh_uG*vaSzkimP{r_Y=)I zg_-~Yaf0>ap>cuL%G8HuAB!2l2A8EInSScdNie0bcl~;Q7G5jO`}Z-e!AuFBr8*pc ztHFWTU2C#Hbu{{o+=mmI%v85muEl$acud|sOrogfObH$p_NK!_c1&VxY5;FqB>Jpa z65&n$f%XTe3FP{r6Olz8PT?#hg22xZpx~CbS z{6NOgn8@YERRK6aUkn%Hk?r$?8$&Pk3wJn-YBz;tDYJpbbI>r-8;vHPu9L#(9`Lwj z7oJSEG%h%VHdmYlK9}p`_&vlDu)mhwVo}U0Ijv!#meC;PdhM#U{X6tE)42N*yEJ(F zx_jEl)95n43eKfhwd~Nub@QMN7Xp#ci{of)$Nse1RqBmwxT%WC`_a`XNPpvA=zWp2 zBRX#7xPumGV!ctRf70fI&lA3=N^j)s-LvX+dn(h5C!Q(EoN&HttmL$YHdnEL8#Z%q z9y4z>iu^8+|1t-YrET6RzB{H__4{%CO)ZxEEp%w&JtpcHhxK%$1PI~&6wwCSXP0cS zZ9`1!GZ1@|bBmnp!O8c8ur>3|j9=yg_PZjk`UF|UDvf0n;VUx&oY)tH1K+MMTozyI zRrv|>3@!=?o*=VZ>`f6n&R~n1dWy*CGH*MxN>td{%zp~_$_~Golg`h~CJ{jM(Z_7u zJw@P1B?`m#uI0_H!t_ZaQwpxed!n_Rzx|^aN&Ee}*R{iqSmgN1GVtPPkb1Rb4U=3p ze@@904#TZ1s4v^0LiXiyH}{6?EY`^^N6DLc>uzTU?!PbuHAcMYnTNWCq55T-J?++S z$fqBA+?PSvr`XSRaPKBtU>B%?<5Ja+K)@#j@9Vx+B6J%cwgLgwow(aRs|rE;#!%f^ zG?gJ28_d1Ewr`*9Zw-T7pTAOAtYlS{J)mj!++7CRrrzgd-DvIO(4}ER-S^%y>O*e$ zc>C2V9v+L({m+t^Jy6Bv{a3XjP_#Sbjym1>yXp0+?fUr#&0`VZ$ z>{Au4d^klK|Hb#`Gbe8%5GAq?l#|1m_5s%z*Pp}q&YtKfo88|Rbc$8@R=awO5d!%) z?-8;IB*&5W??1qt=NW}1d;!|Yo>WYF_sS00UeENJy6U$W6Z5%@%%L613Wnp^_YovFa_}Q?b=JJ56c`E2y; z>1Sd4l8@eai`6LP&t!uu(cV0%8*eN*oW3+~ousgi4X>+(tBj%|xBuIn_Z2Y@ljq^{ zR_zmUH-k*1ZG@TwhTMhI0+}EM+lvNt?G-jOF{MCz)NOB^C`YtvgzOqctM|shE0`kk zrHkDaK}jvPrLdifjTE$04?6|KyY*u7aBXAfX~KDhuNNw?uXcsO4SC09)O;a@D^3l1 zw0v>V%yDd-8qda;3e#v0h-lu$i^VnFXoQvX>$A2<)oMjLYi-m zdCTm*K50oWm&Zn3WQ*H)h^Vi=R1N2*Oh>Sm0 zOxvRNNs!&w@L`eOa*YX26GqDuY>{Z2wbG47L#$ z%~H_lpe{2%qyC?@;hMc@PB(+F%+<<-f&i(va5}#@yr`GMne? zfeaZN(DJy`5rJp@6oc9hdv3ynTa5t}HKrd`G8pY_lg-rrw0u&b&$S%+{-X?Xv_9fi zZJ{dJsWO)0MNcv=^@-&(zJOpYW7}*OF(?Nef^YnyF+m4|w7^QmH=1%#OwCpRM<|mi_0>uxq#x2K5G~*X=C< zZ^aas>LsRcu)w${L8;jmN;;c-%u61-!@O0q;=b;dicuaRq~&&RJT9RyO~6;!b^PqW zWWmpy)7ILX;6+8-gCFhBZAJwN_kc*3Rgg_CV6L#N+41@ zTY01n{o18)@iNml;ZdXaynG@EwEJD5PiP;xhOE{Kl*RvDikSNAg~xR(yNs2(v*snW z26eOIWOiR>9ad@ABnvRz9r!eRo{-nXg&b^5J>~&&{)@&c$D!&HA=0lSw*P!{^lY+q zUfO+``5Emn^Yi7O6nJ7XprBG$3TrTBRg!niv`e1wor=O@ca8!qx6B6mdQ`c&s5+~B zryKFDqd_2LkwehrJi+X^Zvgnd*snD88$weGc#ik7Vu=9ePi}6ytu0N1B*O(fJiMD5 z0d>?O-CJJvQUCU$%H<{WEG5>3q4(tSvfqtCb8ge6<(W+nrS7MqpX5sVU#zWNjNq}G z^vP{>7OHB|c{WRaBNwgOt}?j1#0LGPM~Ql<_E}Q?&QRi|rwj1>S;8ep(`1%TUhGl} zowZ0nGDn>}xM848>1bD=3UT-fT^9!~wIGna=9z%NaK3@njvk*+D zr#CjYW}m(5RT*pjteyphY%j>P45NPBgAku!t=wqzfWA3GiSajjCwW)e1CPE4^;Cb( z-_Z_xIPLdheL1}XzKAq*y3P~it9}d=n)h~ijf{l=UZnH!LfQ!K@N{CnVV?vbgBT{* z^dBRM(-f-qy`QQ$AkBy`G8DPQY9f|<%2IdSECe|*fF}7$3Q=-p(u}nFsEfyU*@WJ7 zixr^vN}IpR7Y*WmeY}nx)+WVjZt3%)-eHT` zGgciM@#%n?j6Y`$Cgv}@kIjAL`6~Qd(#|96KKu~TZu*>?CF0R%Rhxc<^ZLT5?n{vWQ(8A z{lJz;vl5|9OZWOXN-T&u{AI(>7R#h}wRLHnpJ6A(6Vk|CI41?eZm-JYI~95<{cyP) zkb2I`H6=WJvTlshrq$u<2=bz>h^pf1Dt*ZnT( zbx*$}AcG&1^C-bhaJpgj@n`*I?FqR*{}y?TMAvX<5N(NM46Q|aP4y-|rfkya`C{k9 zYA3BEKo-1KdUEu)o&3|Y%%UO_*D~VwF1Hve}1>dMkz=jinA8ot`P^1Fme5ZN3iUZ2R;j9Zi zF@xB7z_fFkb56B>Y=GWIpEy7(m;@)%(shB|;9&34MHu-8SCx>N)-+R)Sv8}e+_)LGrwby?$w&uuwRrtV2dD@qX) ziF*~<%1hF%LKD1to$1oV>PyyEVhcY9BDPic)|Sya5D_ZwD`xg_Va-L%6Mk*{!qn`N zO~n0`vO^2^(0|v!F*i~W$kj)ywqwrZoCewFE&f{+!l=MAFg1)Jngm?8@S7^ImaQr2 zA4q+rDW4M1U9nDeXIhJMKr<6_=~4WMs5_;eBqz9JjbF+9;jm#0!Z-^n1{JsP;ev)O zp&>zWWkXGkk*wesU=N&)RY`*b*FCFOm~)fCa^LHJTXY;$|4A=^pTXV+f727{#0kA) z3)qL$B`>wDm|q+LWY1(Z=b=b2?G9_-`TnA+^)&+BLzp%WzTtAY%>RA=9JY3E7M@_% zc>w^J{DE5}%Tj}77^~l(iHU3;kZ{;N2WSBeVt+A2GY(D~mZ%xVM^q#8Q{zJbm{s6M zs5-VeEk4J(BNd04(Xvg3vEO!S$9XuMmRcq1x??b>jr^TzrnrM=z;w|y+x8m)toKK< zW>}FhOZBFUhz!bR+c&T9k!za>`%VS*gI2NLWqJM%3kI>Nl{-*&cvhT>Io^S-Y61=JRrJQ zDORECr2uRutm(ohc)Ch3#@{^ymt<-jw}M&|D}$shmo z?}(fyAeUMrk<5NvEe)arWvX2_{oQ@&uUiLt-lfK<5_jkj?Va(7F}w#*D#=X_4gaNb4Ek=IsEMkoTKsJ^VCq0)Nr=MZgx+Z zcyKZ!hTvfMmgkfl%kT3@+8&UXso8zw!#e6!)yj6yXiO!$CMFOO#apl!I)1w-JlL77 zzt}U>wm_BS7$88`Mx&F2+3cn7*?#UwE;&d+lQ1?m?Vp4EnREo$#^)n+m=`cMfbl$m zKrGOJ8zeD;*_ahw?!NKxl;9|zoOE%}e*o6SyH zO21e02{5A0Crc0mkdq~APhiQ{ptCU_NniILQwU?f{yQ--Q6EYx55!q+y(&MqsU53& zAv>hgXvb}4gpO7WxYeRNK!%X);km-vGdt<|wZmOz=EJKG#vmRt80Bq0n zH2)`R-)XiE6V`e(!_nZ5895312?{Wah!e6`OZVWxL4#R7O^j3TXFUO>OPUexK zu|oAeH5)j0hiQEssa**TV{MUz-YP*L61~o;6G~B462<5qra-d@DXG)C>x!?rIc}J@ z-%pS-?;7@OTUl#-f;|eTYFRZd16r!`0`f$U7_~|7PfQSlKBOV z=Kxok)!gt>@T~z99yMe|A<}WwN*^|@aft{ytQtf4+{g2kd)_H&sI4g5WLn0*H5)vJ4uXx zF^2oarxXl86)a!rdn5;GOylLLy>!gu6X7FNe}yaj1TUU--+4M*6qC3-IQSLjYQnCm zzZ9`)B?-289I$xC-uPlbUN&C(qF7CeEqC9pVwb%@sMqN^0&yx4I7UK=WOujoCLs&5 zt+2~Vt-Z*Klf&6@mIZU@U08%E}^6HUXTd*{ShOPa?mLpv(PrNiz&WgK&< zp-K-A`j^cAW37_9I;^&;%x~zFdSSHmFuO6iIpeHf!#T*iXJTTi-4BkfHX2PZ?IgLS zdq59W$~39nX2RW|00Mr4ys*a zr`^l#;Q#!_b93K!CB2BS=fcV9^qvpGYG|LBn8uZS;Sgc(!_ekpIH#q|(d!hcriM%k zsC>=Qxa?v&#ci0(=54n+ z{%nudaWti#PsI_o2jiOiE@AuO`x#ANxV7Oi(}smVw)*I(8V`!ueyG_!I7R^4<_^Y; z#LJFG59-gggo^F?GH4u{ZRoNrj}zbSr`04(jy;-I)~D#=YN*3rSQON}Te#g{XkpIB z$$cm9^_tfr36w*1Hv^s`nWo;Q`k>b`Og8Ld$Dv%*=`FBq=jWZ+J3%%Hmf4_aH=Gi}zZar$`i7BV{+Xd3kf;F0` zlUE`iE&l`*{Z4GOb_I~6qySWei1cAN`{%FkrrqY%w?uYxeo`?^cagmt862|!Wjxqn z`mculQZLs4qY9!@AJUa&v=kEIPJG6ig}Qj!OA#(+A0?(9)@YB%Zij;Ufq7IWLDrxh z^F{EGF~rr3-(M6IQHY9iDm|A4nTf>EcmL<}r1!{gt6}u$6y**olcii_&NT)>>D$6p zJnh)zgg=9*CfsPm`AV>o)*t9|D>QJ$YzT;aCBXu@Aw?L3SHy;uVo;~#O0(T$dmw*o zwAip=HJrJVcgQgpEidH%YocIHovV(NGEuanATaJ#4ESvfY5c5un3y`f8`8qxW(oRE zL-u>}v-}5dDE!MnF_mU_eQ^y7Vla4W8yPotP(E4q!@so}u5ACnbPt-$t+%S)`f=WG z-09r|=^dZ@6aWAK2mo1bvs}uw6wwX^001i)000#L z003}sbT4ykX=G({FLP{ZWMwigcx`O$S&ZoV-AKni4lReOe@Qg6QX>ad}>b+-2UmeP>W*ML|*Im+U z%#4v;&(rCQ7DOKiNjZ*9ger)^TQ&7EMc$#&f_b6u$6i5l-l+8D=jcmCHRXmFbaa~$ z^*KhwWRj;&O6sP}waiJj3&~O7d zDQK@@ZI=U;nCFzr3vWYx`hked(@HW=H;sq2aU3&qMFD5as7^7EXJRT~aMp)m&Ivn^ ze7bU=GDNKDGm&0u;G#bxd`geCM6A|n=hRyGwyUd$W0uQ0Q1%*Bmlk7+uBjJUXsuv0 zjiM%<*~BhcAzVd#Yrbn6AAuXTqh?rvZMIs7b_1**M4hBY8-#5ajfaB$RB^=pwx7h?ii2@` zAU;&r2`L5~r&3`EFHjHDMtC|CSgEN|F0)LV zkyR{jWO+ah!lryBYRurG;i?|tf^&H^ABcd6mSKB%G;(Svr84eK9Y}wqhE*`}`qTM5FW*6JwxzHo<$Ld+Vgl z+xk?elLjPU>tJWOYiSih2y2(oeyJES2G>Xt_xvVqn{G+k+*%Q}@0z%(;&@Uio(}hE zqAH;Z8*XaU=Z}|sw0icU|C99PiuVEfe;=T@ey7^=-v?(GFc1*Y|9yb!JDJ-2?_-qV zU$3iTyR1N&k%HcMgB1&C=Cfca!Ok~>{QHs|2@K+%T>4808=XeGy3predc`6Vc{<*v zm^wb(Q`ayt?x?NiCghm_6k3E?7&*r=#~OX5!i`KNVcK+(MgqK-@|+^J0&IU}D}_ib z`Ipjn5=mGMf#Ru+Z8DgXfSRI)%HWPb5SEJ1o69#@Uuuo&e=l|7+03kYj=f;I;Yiru z@TFPzY7%NvrFRXH(w%DKVnhs-wUX7ZwdY`2 zExkJY|9%f%{c~6V1P~An>AwdG>pwuzp0dN`_!m$#A9o|G4nJ$)CIZMd0&scc5*op^ z(ZJnP;xUe#TFA)1GQFrGp0v??19M|$pLBb|a|#DOROlw^jj=5gupr#p4klw+?;Xt~ ztvwK$KrP3r28{%nX1cA&m+5*pe$1(NQ)>bI z(-c-Z&|mW2p~^Tth71<7>xDS^sce-=ha{Nm1)Qa?{0 z(gda80(HU?65VvP-Ix{Qu*p^Cn2uH@YT^#0RFx>^Ivpx75R9!zr~=oFXh@k3gxJSt zr~7~|$un!+rX{98XoN%~`A73f!#&usQ2F!u(tcNa%^l{O4W^{5yM)kx)B zER1rFOEYelFja)B@k%B?F!WEZwTFM4X?GjzB-J;c2R1v88!eoIH8mF>rYyHs)K9R7 za@;uX(y!wI&M9Xe+_@^faR&NyvRJg0`AbA<6MuTvMHodcm?5Bu)n-kp(}S0qhm~Pn zW?<94t_|C!R%N8&MjIUgW>Ob|%#GrJ*fZJ+8JifJra6|R1R@n8w}9>aBfgUefC*cp zZY(nU3kBcQVOY#?fBG59gS;^W?b34_t|B|lTZaMA{lugN`` z714la`Tz8Uz+h=&G2H7E6}axSCem^&ly~MPi$lQHN-e9*M?3tp_;id)gT782kvkAH zg2FfU5(_gvgYDG`+eguB4+wTF=D*^kw6MV)1)l2 zBHf*vTr#ov;-Csq3D@ZC1gY2V6Tj3URsUv%Ck~ecA#~v(>@0vq6skpGxNx;)9#h@X(JO@zFOh82ram z?lVfb-nwY71kN#ol`jaX7^U#lzqHVGB7u5HVE|y5#9(*>Fim0myjYqhBtrY-NN$bu z1A`)NuHNY56{*oDIr~rbiK|t!k@EOh)3@%1v$Yd1zqMjpuE>v}6zBGUjptjn>Ciu~ zpApvka(z~R{*IS9D zt4E>J*e0SlDrR4E4dVSkZJ{ci4qeP&!YwCvS+d~tgjvU05jR|DXNGz1)ax+crhq}L z50@lL;4K=t&wD{Vuo-mCCx;7rWsCC^UTX|%kZG8Lv~Hq~>c&+dqAaLp_{np`Ei4CL zQK9j2S9SP!4r$v-nm=t}$*Xr~y$>FIdm(>&2#z@1Vb-&}^k+oQ(BpPu#(?F5SM!3q z6QQ0Be`?-UJ)rt{ePjGv*mOO14Z|j4&lmhGmqc7 zvC##DyziyTXUX3$zw?Fzm|3p|+TM+Q!`nPtH$}=Ja53LxzIh;MYAjeU5t8*5kZ|U= zxM1ctJ&D0V;xT~?43%P08X5>OjqDpG%aavJz@HL^jW3Y@1n2)i?7sr%_0p2Xk>CDM z9`E1dobCVkL%aQd{2@elA-G$C{zQG8N!;pf{;0x&+&bR^3VlVfWKto%xdPt!_V^q3d=X9eR|7_+s-Y^+;1* zEcToSEh=sD0ZOphq?0XAEld2J_)v~OkU)y6Qgyhv*a~zUA~H$H09!sEvK&jI8cbXw zy6_U!l$tRjedM&3P4(|WyqSY-gj1@%`PLj3_07@mEGLxWpiA~lk>goD8%=MXWt4wF z9+Sjw-9%N9TzLm8RhD*ps*{#;Y=+(`Rwl2g1-!+K<{^ zdw)#VPHbYw(KWfq?tnk_)bbRVD&{ZY& z*0OBdhKkjBC~N>OsUEb$^vw;l+6_0rek0E|g=aP`WK{7bKm$osaxb|1GE_~}TB%L- zl^z{C6`Cfzoo&+jJG7&dh2E^NO#l~WYy?6 zzPquzk^A~&Eg-BWVj(~yC}OdaHWqO}+=C6pLz$F*Vw9z52Hw~)0Ta{-Dfx!$+c0Xv z_NhmWF_JFS#CZnHav`za*zKVJO0`^%2%{8tEH?~2aPtiP{oH)Vg0K- zUX)Sj#LvE;kw$=Kx4_(}7Bt=1)jbET9Q6qqzZ&7JNHnvVA{gV3{Q?De3|fR&ni3I| zv_xVE;m8Q(tk37eBALQ+ST(J2qUoyV9(UtVIz89&0vhYt%H(|7_` z`*-jg4N?z=d9x;R%9{#%`cMm6a?dMFCtWVdGx{i(xEJJm{XA)NPg$(lQT>k1==PT# z`N^<$ajg+WC&7Nu8~gHSve@)yjkI^74QYQpL+sN;=P$=L7luBI2_aqagfbY@TCJHq0jBWxkb zF}qu;k&p2~m*0alzYsRx5dRaJ{d0!@SJ3PZAci;fZB9{W|2@rq{2z0wO!{q3kEzj) zfy(+PzhcUQ>1~+uFx;SHyNVC6Ju9`N%t*%GFQ`j+1(lQVoX1#gzVnzm$M~hR?~Q*m z4@Z{Sto~5-WGlELaD6VhN*15V)-Qz1LMFBx=Fq5gbp}T!Fl9a*I~sQ{*)nSlEbQkU zrrS4hK8zntI@ZzWo!}sgL}qes3*f*7ExLmrh@JB<)T}n=+M8XO5sg6Kj2H|9=ZDOr zX0=&(h(c4@E`7Q8d~p^c+k>ISI$~pc~#f65(cip%uWM??L!YwO!4OphwY>Os zuM*h8n$@DRzZW1iVy-QxE}u|g6S=`x;6ALt!+CgQlKL<$mBK%2M|VDDJw^K%_bfka zC}rrvpH@(eYI)2baWlk|ZPcJxTskq^R5{CH_zwl+FMrU6pqMZ~{s0y%yOr#Alx&Om z5w&1RmLAbD1VbE#tJ2h8NYce7Z8NNGQHzs-9xa7$cX|~Fg}-kDSF3};kBRl|P7TAr zsri!a5z!sgL1gORE~cc_V7P%54s~i{i;_;!rwd-6`x+qP(Iw7UD1GrxW8)rKlGGCO z@iNz6-6RWzc{B}OBt7ZoA_33gMDO&%U+>|wkrnQM8e$$@iO^J%jYi+88fj|8fe4Op z^yj$Rd8@y_CUSr=X5f9FEsex{d@5UEy|;U^dOCyeG)~XQ3QctkSMM%pEYqrbe^QCf z)LWKxUAq4^UG_@XqD=*eev*ojtiakdfR&)H?^V^q&`_^bAmeZ*n+s$~ve8>}xuJ(w zwvi~6bnUxzAjXLDXy#A%eJb5EMM4`}JfhR>H9z zBeN8EXS~A}!+A@^baqyS95GBl{(dy+)?H!3EIcz1m7NQHGJ(YT!1FMqNa&~x(B}d8 zyc2fAY{A~Oux2+0Scob?-Z>FM<4kPnEK@qtIoPa`bp{ zy=OnJ_xSa_#_dJ1R{O|AY0;}NpQ;gWrbfvcGQbbEDd1R}ba9=&=aF!E4A02~w9c0S zwjrWD?@YYLicV3g04?&j(+9$7T18!}<(>;mDn`|1ce;?q<5LKu5bpl;i_QhvWOl~J zXLW<^6sjN3nxf!Vz|Z*mF``Y(-7@aMUw(XpBFiDpTgxoM3*GNn6!L=WF4A z8=98qX%;Hu&uEao*L^xPX1cmhw+~0H*VJV?PGEDisCCm|E_2A1l$@*8~glXHTr{eTr(X3T%t)s!aY=wc~|JN z@B^iQbH4qN@juZ6|4{J1LJxp(e7#6~>wzWWf3FAF|3?q#DBwz<{hF!atY4g!4(QUC zWs0l&{$C4%$PpIYdfC*hW^GLZ+V~#x%3tx+e9w%3iEJF-DZG&LH8fcNWqX#2@yC}Rip?P6)S<>Ye9~G^l}v4&|;HSO2+87RE9$T&57Bh)=0N5(|*>lu(G1p z-7cIgmOQu>#VHlR*tug#j)x#MU#fM!+}`z*Rb2xB&9Z(zCus*=_C%v3POf$EmZ{ui z6k6liol>Fa^ZvBQ5ZW3UXx%F*jr)VVW0h(QZc3F70R8j{9?u&sJ<`m z5PO$dDlb`m2un=pU>#j!|3WoS@hOiH73OJlUu9o!taVtI#{s{CZTXhB(XC%|!Rg%4 zw8|869ryW%o4V6WRWIC!L=?%vMsfH?t#TiQ5A}RN6wSsZYAU$-9YMP1TC}@x+}6{dqRp zT0jmIIzxhbhz}Nff4)#i8je&oX$DkV305Sdr=t);{KHz1-P&Y+s1_&Q2)r98vX13ND-#?LG%TC;SE3z>U(4a-1-*Jlu#o%GgHl5+`p zB10rRvq(_REujb1R$6G}wwhB6QENO^9=TIf?>g(pY9-caLgtfXp|tq&n2EZwQ&py} zFGr!UaE2s^z40>o4TUk^I5iLW%bS8fhq)iw1^DV7N+&t|MA~gK^-air z>8`6cS3d|%UXF*Yk#O|S9pj-4p1aSb&%>#u9+yhWjAYwj!>xviV$)?%?`jObZ+6!ye|h=n z>JOwB5i6dHfgraBK8qBWdTpv3dOcO8(%4M*19j%t3$4qTzms4qbM64Bk5y#^eyCZA z$1yXwb<6^DiVD=c=B~?kb}iyN+^?`TV7c9gQl{*^z+uIKDW_h#hTQH5?_RBT?%YCHhP>tCd&qv^w_-4e(%-X+A z62ki{I<-fw=BP29C+A~Px{DNUWFJ$$>AvJrpNvsqrZAmL>&`P^+c@0X{H{G6b=Y!R z!y|Xje%O)(?+MtSW9Lh+?2C-7&46AzcDdeKp3J`Mag76yys^E74SjWm&!)UH-S^b* z4pI;qSKud@Kk1+xk#pWm(5N13#g`{})QMC0LrJKY;zYQt^Tu;6(EOcvkg-wq=m^n` zMY#=Yad}~DSEC@)%hRlCU0aY_VnYyA5OiKI1B}&+id%yuIi!FK;GKU8*q)V00*#Ge$`Q?+8~DwY1X&aPdCOusJ_>1KRxgD>Yg`mxTr6cTYfPel6U1_X>xhgR ztS^@PH&C}=mUCWK&%H4Bq_1yR(JA%+o#l8 z|7MfG_Tq$T$|kZ;pYq7i0V-K(ks@0pIUGc4c{vwf)}+Ai8)F*#Om+!LuV_*>hxm8EhLEcbTFrP!-{Xx95-zxO%TU71(7h?Ntrv*a5v&~?x46ajP= zf1Ed)VvK7y;aGL#SK6(@w=6C*owxlUD8Fdlby#=Za%BgX7@ViwKYi}x@vUdV+g{?$ z=Q`xV&nucwGjA9b&SV%S$`0MLQI)2a>=Kpjv)G!_oMi-c@3YyS>f9X_Ke8Fa3k5{V zf#e^Ka`{&KR=dutHW**cG@SJE2#b}LPQ@W^iKlWLVU=a0w3(BZK~Nh%k&iKq3g!FL zhc#A;=)f#X%Wg-@c8DH<3m>P>^uEHS#73l}Gk+Nbt&5AeZ_OZ|ale$L?1hD|ZzJc) zWYPmSo9$T(IWWfyD1_yEAY2cJInDgBN_ z2mPUN66Rq!zAIAgAw+#QR#x!*eP^7BB(`fi>H}@hiK`^E#t8KF0lGUivP1erpLzxB zAtTJ>x*+vejp5Kxv#iQ!=oeWf8&33sL$iO8Sx58-TOG;gm*(2m{q*ar+J@!FxNldx zMOw%?yOmj;#c5P~+X710RI%OuD!=WeMpa3h)shBl+`VMlX!VjDA7sg1`jxg;a8jZk zEwXkCApNfk%UrSA1WTl>$tEpoQ;b68!a}HdJ}ZM7(aEka;wQ8eli0pPowJ*h#+;%b z85dvp*TbLpe)Cd>uKwg$L zOwN+0fw;TVmM@^qQG%IKq|YQms{lj39shL7GQ%{KimbGJx&;LOk2ejV9B&OYV1fjH zc1#oPH4BP>y*mfsjw-#x zt4oDlQMsNyP*Rr+N5fM6=(W2~)nf(>(VTu1Ym}OK9mu3fR7fLHEEMPhta@Lv0lg*6 zjjKOQKZC%Pm6?l-R7(BUKnzdLGt!3TzZ)6E3T)4!E$ypto@x-@&|v#g*d8D1oo+2s>C-@?G)wH%$1L&238 za&}}lZrM3b)XI9_JM}j^FK@0p>ggYE9yg9mSgvChENM^Z9g!X~tSnxlG({J1EGwS3 zwzmn|PD%Q0zD+n`?gP|`&REjY)Dq#<*h9pOLoXnhk-Od-u~=bMWE?ZBx|bptt((NH zVD;vBG9Q$1FPBN?YOm-}bmT{@u%E{YZ26HjH$-xN)=(_uFZNjAKXd=hmgsM&LciHr zR`t)B4gJG*R6mi)zJ$Ga%BlzGa_+hkxgn-EB+L#5Ro%#-QC-;XP>Q zd5ZO)!`ux&cw>s1y)`Sv&jUwnmRD4T1Mx~B!mcgwfA_^ri!q%{Nfw%Wt#@VJM zvcMT87gf$7rjGKbx0b8LoOC--?%}#l=7N)2V)#A@cu3Su`fb{Wro)c%^}9z+MihIg zJG=BKWYn@!3-cHhSys=7O`^Gaj*ys7$p1t@{DaN^3IRbtG^IOQE_@`k*hFdCJkFbEycT0P<{=mQ*=$XiLzS;hmI z9!jB!OvHt@9k-k5Oc+vKNAK0IH~&!%`x3{XX(&wMf=7H~jUAz&R~xK(CEw$>1-rEk zAz>r#LF9tMZfBvv>5VS?ZL%N8@W@OmN&}Dcn&XAVmi>eYSdn_kNHEU8`^?EVNimJY zBgaH+(QGO!di2A@^oQ?bdM~K*V0kDqt0y$X?+n74NJ0FTtbQoJ>Bxf;s8DH!4N0WE zbJKQWLQY+olygRWuHmbpF@gu|u*B9d`EeRaqNg2H8L{yTjNPQyw{dL)0ARqkrV67j z)ksC?@nTNn&{7f)7x)UVQrxf;gxUDcXb3_M&`Nj-Uerlhat9{qM&l6cAa5r)QYf!n zrYDRr9I$&#l$4o7nzoWbh#?ns$Rd|NVO>Qc3bulx&2UG-_f%bC{^o$?SN<4w5yc?^ z)?1LPkedp(w{vxKMhccPEOh~RL=A$1=tQ@dcnev0|dGy9$-b zEj<+j$1Ko#;K>=Pv{z`j=rHC*dW|)?ZY{VrfuuQl4%<;bk~K78?)kY>#MQgOBmd!isBN8+VL1L`0PANTA9zIr)+SgFDBz_|{ZYWnQ!ptk%FIo{eh-@Ou0_sd$0x>zE6+%fgk2Qz095IKz7L zwvlokP}KLanT$u9=AQ6+I{cq4%Uq=V znPt&L;biK59MFi^Rn>F9vol*kQV2mk5Wr;nshHY+6s>3-@ z@t(4gz)I)5s{W__m%$gB@RCp0tNiRm?#N!$1c* zWd?tK8YHR}GxB^mRm;FbQ|82-k}zjCeKSF5GGlz)II3w}>;x0kUgpOg^vNTb>dP{f z6Q{6Ay6B!M6>&yWZLESIPe15zXi$j&89%UVwm(ccg>Xm$iYre^)pKcw-@HJVO2Fcg z{j%kK%HQ`e!rg-tIvpa2O_c3%JM!78QXJc4{78MVb`fsjBz zcntrZ*73N|NAIbkgg}dlS5u z60(yelUD=$wqIjDW5ss65P+@WE!^zBX#aQ`R<$(GJLTYQzt*fE2RTm^(F+3!Ps(c` z)1L>BHZHZ!a{}uP?nKBzf5`w?e5-8*W7DAn0$nlB3A5j}e~h226c8NtOiq0}>>?cR zt|W^+4NuBX48r(V@{X%bC@(=#*>o+Dg3KT(P~aDg-=w8*8W9L)yEK$vM63lT9PfHq z=P8)!p)e;rYu*@VSi(55)zPD{zy|@~ZpQi7OZEk&64r}^5SAIH4_j#{UbU2mqLS{A z+E#?i%TH~hf&t=3QCj3vU216>a!SV>mGtPP1yJP&ZwUHb1OJ$sy##hD=dQzhZwLqlQ(P&ifGc;JAbYa{k_`dlPY z<+-ZS4rza}M`lCPGcxA0bOvty#mtw9qG>yXej*0=r09U_g)#p>^BxNtD%2KoePuVp zrw(C-dOpI2M^3`+j8sjQ-JKi6IfXkXj;%vtW5qUO?YaRSzaz>f>ggx`qMlR%F&53r z(Uac93OBfFwZO(C=Nn~*8RN(i;qQ_-(kDIew=v-HQjR4jF^Z*o5{Emh(7kEV>cyRf zHp5YuvPRZCxKr-~yQ;~oEDCE)F)40r>nS~BGD&R^XiCU{Be1L`{RilnIebYVn(BE7p`C^Dfco#2qKwc(25NSa^iXsK5D%@-~ z7?OBV8@nN!6OIb?BWEB>tp%}R(j}$(V5ND5Px1?wU~C0Gfin=JyXp+SHz1eOs;xEm zh?d&^>Cp`#rLgi937U3fhg^*hw&(0KN_;n#=A7cg;86+44DQXmVD=7eqrv`OA3vsG zK}@b@7R$vbDUgHzL$eYqtRod6Jf#?5ffQbvd+_(q;9iVMI+O*HP%b``K)^y6Jax$h zrT^C_?C!&T4Y4RDb#mIbe4SLst?*Z&$iF7^Z3)>~HEVT*kNzo%%Q* zd&Y9=z9{_sabR{JR|Ed_Gd&RoWc)U8A!j657xq99G7W6b&~PC}spMFyT1v8S=>Mt& zSb2{1&b3K8U7xWsrQFX0_GK1F?+Vfi=a^z1j!6$&^grPh3sFnbe)NOJqm>f-|@+6qG$bx{-cO-lD0 zyb0rMJSF?%zUv@Olqz_=8bG`G0aiebI8Tpsfgtb|Iv`c@Y*{nrq+`v=^2EkEZ{DyK&gU(NB7;AR)5h2P?w)-^Sy- z?UbB`QeH%|o`Gh>3&bxjAP60KlR5QD@ru##BQ!iddTL4shxAIW1@v=W%d7%fx*Ohh zF%Qid1);fRbZ)#6?|1Yu>Pv}dq#rf;CpCHdS}R}UJ567grad-&Ib&p>!1eP@p83it zs7d)YiDg%Lf-4v0^25tbecPZv#HN z%J;1G1l`*;T)HssEq3{IG@XjD56Q|exP<6vl;{XJwx3m7VcF+8FH6w2XgkbVetLYj z<-X*CH(-j-rzGtb=v?Qxy2Fe4!b()JmeiElv$S4a3Vktz^azrs9!QYrI9IbAXAm~K zX{k^;`3N;EIDBa*M)nx*fSG6gv2qU?dK{th(-bN0^H}C{^jdL*ddE;0K8!zBjFF&puc+x&4GY0{_g?6e+H?Unf_5RSzAsSk{Bb`&(!TM z%ukD}7%m+8*_hZ$`U zZv5O$X!s2tj_}L#qeWxS@*oPh;zFY2No$`ydSJnf)yZybGFm<`_T^%gESHtXjPSIP ztN01h%;o4u9?|Gj+U0AM>BkNEqlh%gpAol79Bq@J?m5v(5fN0~KzGW$F}yd<$%C<@0xw?AFn+c;IzumD>Hg{Nig zC1rvk_vmF((@iVi~QPVxG(dEbS$`7uP`XxG!6>}m>N<&Ypf?+W+7Oz zl6J2ld29rDC4;$(DNUi$CV3wm8E$1eFD4KsRpPBO@qlCLckyO?tg~oz?lzeV5N~*s^mV_r<(iYu!U&qPo<3&+052 ze2>`;G|EvIY|Of-*b^d7Lz#RHf7sZc)xiE(0G*N;m_kp;p+v12ZN%a}?!(Ka)D0Y5 z^zod!mZie@A*7arQa*m6p!vOMNy%7Vn2^gGjEPx#&p1wXG(WdAeh)q zZK1-KT{7+5B4znIy!M7r}C-Czyxe|onz-EuM1lH;2_2I`eu5`EbM$+bFeEx1PLRYMw5 zk)G6l+bwy78J_vwI`x|>5iF?E5PtvIe>OJ09dL~rW^M=CEj}x_=JuD_-*bp0qDTru z3<(WgfKscr|EhtuV?U5)QL!VL?u}YYH1S@k7Gy4e6w6NJRkg7YcJ(`y>OqYmg5%YA z()bVM&gU&pscx+%9ldrZwQdBF2aWEhFj6NS*eI>8HmOJpoWZ*tHfRF}o_~Fz3a=P&y#W4e_ zJnonJ8fgklUW|zd0(&ZKC}w9#rz#U^RhFJOo@O)rjJ(UC_gh1yDaTyZTr(J<(j~Z* z^s&K-JhFa5q1TT9KLw$UtfVHN!#@p1TEOdaN-DDA^j03CQ}*H$IMFC9(Sjuci}a1c zL3_ZzK$b}khCyM#&%|lvwnigrW#ztGxSHDkT5&qpnP{rhd8%wtK}l`IE}wOIITpamTL&ZT>1kpC8Q3pLl1;-{ejCOM<5mE zcThr%*%WLlX3Oy?%M9O?y%#ZdQm`D%9~k<{g0}GW!00Cpl$YQi4gIKloSYLA=%TNw z-ThrP2@%zVG_?|HK+SCPXQ?FG$D{^PZ6U4#hfm3E!%DS}nF=P{aJIt?cCzfLjp*DF zhO-hHApcIg-_C`#`#1sRXxi0f#!qFQ|;<2 za^%A60tGEt>Ea}e7IZJv*Son_ibViO%Rmm3hyvocMOA3ivvwzgQjf1r;C)~>$fb`*EzBp85pLKA}tPs*g{5d_S;-k-*4;R*#Z>z`?MMLZ2)LL zb*6D}2PJf^z9HSk`4EZq&Py%K-gybV0T8bWSH5|jYkvx02gxIBW^$^Xzy||WZ7-%| z@T4jt*UDmbcAma8ShfO~`QLSwf`+*B+G`HfxU6Ih164tXv?e@5R}s z;%=bH_b0N{l3Cc?>rjBMD5di)vv6V>4WpBR%H)&Lem`c~AuN0YXRMj?C47PZfkF9AjvZ<7 z{cUG%$RQy2ZvA(-4wVBP(W(1_ffkiRWX2!7Q}|$S1TvzW_q24y2ppI}nmqQ98Sw|K z^!(-RO<0h6Enb$v286y$XIP5t*9257`9HrfMha5gIDI4)m>LRFXVu$jT|O+?D{;k8 za4WaJfd1dbv+s7z|D9Cxzk(M2M{WIA2u~_+Zx!J0>KP&9|3i2(|4;dB$_Yo}U(+n@ ztyIMDk8f@ExEwbvzx}*d|hxId?#1ssu!caR;#~?-ak{A1)AA z{p09VrKE()0}V?$++WY_+r2fj`Fa4tt+~2j%si{iPY?LHlaU|(Q3!6`=PmAA_(<_g zIYGBzDhLfZux1@xY{FL@{ z7HC$*)jZmwAnN0f2^%MrnK0vIajmmz;xD#2*=p4d19~c z@|k`YqWIc5wt$cLlNcVvFCM6Y2T($I9O6(|6oN!R@*Il}`Q=SoGm&_x$k|wQtW`Br z5qh%N{BdGAa)(D>!q0rO+ouvtb3712_!R%RFoMLyOBWK%1(qV0T>8=&eiSJX#uT_t zv3)Z`yyJsJmEMlOsvb}#lmtVw7i`~^7L+S;8#Wz5yD+MStkn!C14m=o)v#sJ!0vJ} z^T>2qzxKtoAt5X>a78OPpB!<}2$_9}?y^dv^mvuis3nK6{9}($ydxvwx7FBwHl6Lm zScx-yQiPONs;xQN_NtWKv)qH#_Ny~5H%Kq)J{6Q^<023OY0c`Y4LgFl{(s$j3GG8I z0%3+*Q*2iNGAe-6q{K*!T?VH5lobT~(?v z6tuujpM~hT!rH?(#OFC`n6KC(lqk*VnJ*ndrFogwy=KZ)(6a8{==}_4OW-XL5tXju z)e~zUI=vtmym#QiE$WAnp21F_)#ji*y1S3!QDL`N&$cXdk6zQ|g3+ARz=k?@pZ<>Q zXRS%__0)>_sBm%L{GB%2|@g;`ViR+ePGLhvZjtFn?Zl#OkM zRl5hrX_lCi7o@Idx8#~RHzDt z^pu)_!3^p>wn$Co4C%#5crzo8J$$q3LMObM2y4+%#c8jvO z@i53bfU{IKy*xp8rZRD!6j?xm|6h=3WA?(#dTallFCfleU*4nHfu~n}(9pe$auTN# zljB>h%0CYxd=+%d)bUHsDv4#*-00qCXmRR6ds*ifR>N}LK! zh)_?WpO{pMbF5HZEaj+jd%G$tod_>U*N3#84|VSml*xiz)Iw8SE74VB8;1yzW0%*u zA`zo`7LDUQqZVV*SDP%_?yyPB%5P$J9dOu$6pWW0s4!0hkuX;_5o$3H4K@0iVd*1G zaWEeRX2qV>?CTEV`|_yZpDBjgkL9AE;J3;b?u+vWU0~ORM1=v|Wtto+Twx7HoKNyv zzX|8#>hJloRM(OXL00$6EA-8&VxR(;i69XW;Eov@QV9D0fAFK@CZJg>-F>5r?4=-WV-KQE%R7TaMK zHtBZNi)vp0O=?N(YA=oVtg_dq&Y=WJ$QG8~84*SH5fR$VY6^>bQ1Z;M&^0;P*{PlB z%4VLHvL{*}+^zLJpmojhXIR6Z59{hUYpYMS%2nGAst_2o^A_1-qF!Awbmj(%#tTyt zfTJ!smA;}D6*W`V-76vzEhi^`(R*~ML+W7l%8D+z`Lv5!qD#kqVAtxn_)Hc2>~UMS z@a+P(fj1c1L3%4(!E~uFTCttg=2m6nmN2h*6L{F`AovyZ!J&A*hb$6LsUv6)YEcl` z+SIJL1+;`JM!PqZX_u!BuJ+dH&9ag0eQDS8_NsP{HKNn1-nYbO-#iU`CSYfMltNi$ zJJiXiuCL5^uYF?zdp-`ga>mgOZb6v!{A!Tuu>H{uxwSAIvt#pqm}p2x@B;s_E&pz| zG`HfTV9IqkenISSdQ$Dx`{CySWzfoTXSM*j-rBYcHxDl(6N(Cs6Yh^X4XKB%ZF1lKl1;Tch*r=HftN-lyrA@hja-DNJ=+s zq@_EhL8Tj{J48S_r9nESTS`D$LK=Z@tM54i!gtm>|DNqq7JD%lznSN8?%DI)bKNH5 zr*Z*Ap=!lzA|2198}`nY+FN(mQLA?sbJ8+88f-~eSe1%AUwr&uts;Jf&i{#3gaO-I(jidZ zObW=a>CWw|-wuGlS=l8qjK&?M5O?$ln9D$eN3`<36zSU!gt49K6jd?;`6UY~jXx)_ zK&sBNf`5k0~}5d7QX_({h=58xhB1}_JoXNny>kE8YvO!QqjmP6u(gFq=D4KgUpqn(-( z5qh^OJtdfCK&(X~DcqEfaN)A3N=xwdc@ONXF>o?>=I7y|I2#AkCe&}afpTjmwV>2n z)l9cOFKQISZI*ZB!)UN;?>SSf&BWYY@<;q%|4hBjWBDS3h74m7+62Qu2~|ML6M3nQ z=r4E%r%KcJOm+<$iZsWTCr^x%5)JVEjB!rko|8ou(^%xh zqMisUe79&lf&)E%Lt|QI(qmDCn55VeRT|inTwK7FtSWS;KO2Q71Et=stpeBKvWX{I z$+{AO?s-j8xN5oPHBS9>(S>81>D$R=ex_XYikc&K_U4~erZ$oMN1PA`G@Q7}-WNsZ zox2116Y!84S2RTIdeol7#40`-aEc_fWz~W>7a%ZJqR$2#BCtRiY#VjF@^rGv=^O9w zQwp;%6f^F#mB7`ZB1tSv9$B4U1yalKOc{ODaN=FSPj4|CHEM>oY8@qJ=3#oenjib+J#dVDue&Zz3u*$d)v8~#|;gi@H9c_YrVYI zj=LF&h62R^8f#l49Iiz(1wD;RBTvnt)>9u5LI##;cvF%=DKUQ^bl0#!9WRoD{gKXq zBGO(>aW`&}SUsK~ov(`D{9?}dRJTBfV6qmu5m)g_MlAal^&d7<+96e& z)WCaF_|qyGM!w@Y=63 zwLwRdz2zDx|G{XyuoFEfHoGuU#Rufrl#$yoo4397nIGfu_;{WyebatR{B2-kCwNMZ ziD1d&Sf5P!F1JoPYa;w_5PDfQFZ>W;l#43m9VYr~*$Pc9CY*>Ncgy2VxtaCp);*WSk`i?B(mHZ*%12A<~b?qpcD2dA8!K_RyLRKP_ z)D}cv8y|2`nN4`_+*)`iJg&Hf&C;nau(`XZ$B$7VUs1$#k}4O2eSIRLRHP39OB*oKSu;_ zI;^hm4}+9Q(?{VAl-syWltjQOL6v!1u%B;1!rRI`zbfM`DV;2LJ>JlGIO+qCj!w-z;`1D_BtFzBJU%P@RQg^c?D#Cj z%6erAly&E~pad37_(FS!P%#_mk(<>k|r22Sa` zVqS>CJi{w)wa3$g<3>xKbQz338nMW!GOpQ@-@{`Mhk)NbctG3x6=A^XaAE;vRkfx@ zmF~O&&xwoy&!=C+-I1v;-dJ?wz)Lzma*Os(+n08JDKg-xRes3zU#$v$g~I=dRl$Vp zkmV?7Rp29X&#K_Jjbrkr;u0rDXVWn)`zd$|?PQdphLLy5GZ;fGrzu~n$4((x6hs8Q zF``&ULT5CVk3U!sQ|B#9Ss^j#=FIjv#|K)k5^U~|L>>@FwQ?Q5L6J_704E~cZuYQ; zF6ml*O@c?b{lj5)KI;)lq&EAmFi~k%3UusNJt7qG=w5 z4+ri-rl!A%wRJZsh%a4?INj%qJkvn!p&_H*tJIZF6CF`P)oDM=bG@ir&jx%HgtB_s zl~j@y8_vSsb3qc40O4WfL9&=EpHM7it`NYy6TnHAI(B;sghu>e7it zw5y55voyf=1yhkcK3&W}iqt!$uBi7p#>j|1yi*E<&sl{@P82=1qK9U_X{Kw;8HM z;wXDLSBV>}yXDKk7`&67mdwdE_MIUzWd<~to)gG5bQKAe*x1G$neRxcNpIVGg7o`b zNdwE@(HxhnIQSN&ne|41v77HzUTC#Bzpd^1h}A=HK2`O8`>CN!fEI8Ri;UVlbVBtg z@1sy{m}GbDM^v#hwl8PAZUsAic(Q~mPr6up!!2@wPviI)MS0t%wg^*q@)r>_MKKKd zsi|I6G=7Vp8G!!QhwCxx@-?zCLEL^-62-QZNs!yi-Y9KMAm7oQWap9lZbTT8qjD|` zu2apv((G5!%lQ1r4XMaOi})`3?Rf3Bb^ra{76o=T)?w%lz7hrIQ|^RnlJCHbk;UU? z;1{$t`Qy`gFOCeHTB__`AH~eeK7H=@BBAtXysH*S>UqA8;pJq+x{F_=>S~0yZ$HZ8 z`|h1EH8K6D?|sxXtRvTHCJ<($=kwbX?6m>4a6AqTQ9*$=i?vf;!(DtP7c1JbmhL6w z7Yvc`~RdolB z`Sn*+ri{dvCk9E#s;TC zDq1w=#wW-BO>!3L+lSs%8R7E>=!tcSgC;Vth3dT7GlFKqWj(BRixyechOn07v{JN) z4Gh`*oYJXD!(WD!D`Bu>MsV2GaBaAnz4NQUPiP-7=s$WsgDW3@6-U1%#Y7=rr%}!e zX@d!FG7ef%2W4ZBgcNWj2wE4!8dVl%=x&GoFhp>0;~(xUHeN`Zzl0?G_?X&E!{9TN zm?MTfEL1fZMs9u-gr$5gu5V*p*U^fGBU}L*RIVo+L+{5yGDIj2r9uA3b&z#&$aZ~M zJNf1EispJ+cH3m|71j(Vz~rMQlU5XxGHih~s!Hl{$co}J6o z;DG8YhBJi#_qeg{40lUArOI3a&bi-9>)~ehLrQNl;dBG*I-23_3dwm>k;p<6QF+NV zQAgN@QN<*n30G!Uuy{|tNMyN5@kAbJaU>eb5tX+IdnBS6*%*hHGMbcvmOgF!B!^|) zkVusnI&JscT&9Gdkmw-DN>eh*1dK7tH%$72CS*w;b&q3dr3yoobtu#+V=%_DqnI)V zX~^(}GGs;D=xDQ5wVtk%!G)5Q;bI7+I26x&{a9Jfv>)C~X?QeSNXiqvte7uQ<8U;F zs}HQIseP$_39fQUxoAoHC23MfP@*{oBSdmgE&R>ad1GGcC2jTGCJt7Q)fCD$;w#wT z1352ex+Hh~4^i+~{K07l5f|>hELZIak1?>de|RRw8fL~aN;`~b+MVxp)^WD7eq=7MOn1b{y={r`lia9 zcPla0R1-(kjAEPDBbC3^si|>NLZJ+uM@C6=DuR)jMBxjMzyGTH4h4Xxbzcdb=-C?s+^Y~XF8 zhO~R9nRuVF4A5dC7QYi{qKe9qq)ni5T*_s&Iy+EQ)D=rojENUa4Xy!XeJ91qNiJDR z9^gWX_6y+fV2aYgT+pv3ahE-(7tKN0}+cQ&RMSMJu#2wqWU2kF)a7|pKg#d2qoKHvUB}&{k%IHhl0|@L1TK~9?&V4XE3``S^7}J>#3S$ zX7@5Eoek4rA-mYJ;Q92QignTR))(p(w}1}V1kykEWFEu~;DE7OKvP%RwCe{Qut9j_ zNiZ)0Dz=iQ!zlh_^hD6d%C-t>Qr743Q~jXGGfPPdN8H|XDNA;#*RosYdq!4tzRB#? zW7O!RCe&=SQE}6obNL+@^hgIPvc?pp(WF$u!HSB!s|V|HQt#PuP-U7$dvf6FvE0Qd zSJFTW06BoR*X8RyVn9&%M<_|KeFc-l%JMQ|)oI6q1;3Kvbss(IdI$zf0{;_RebLKv z^_L$%<{`g;S3ge&{~D!L420>h%?a&!zw(02K|ZvRKKEjmVXZZ%>=3j;uAGxuLQ2=N z4ReZ=%q+I|sjMfwY({|Ea>0 zZhs-jR@U<_f98Um`LT>Llo)xJzA5qf*o$hm=B3NasfSJT2@)`xFxhoR5NmF|qmOXV zQg|u8_>rJ~1gM;=FMl9^c2&@Z^5vun684ICHfi~LOrU?n!jwR5@^lg5f`4`9Hz zy}<+kPZmhNZFw(xeL`s!dQ2eR&kAYgNBW9TJ{?*YCIo_DiQ3N@;OE?)7XDxXR|?nE zo7_oOR8OfhbAl(6(4mC?s20p0scrHK`6F1zJf#1k2}ao7rA_rSs$kfZUI)&sg%MVW zi|n54__s$E6>i+DPM-wzl>F1VB2axjm5YhEA{0^s1dN_r1bp!vTMC1yb0akX?PM5= z&90w36rrWlI)7#7cG*5VBE`#MH=_8hlf9S5ew&Lz!(^fYO#Zkf>ca*4!Cl@jNe9QSYgwlZz>mqCv&{-2X0|Ifqk{~agChnT}k-Y@__nDsqz=(m+) z$_&Vu81HA+CCofU@NC-`A!z6~7<;CiDam*_vkjWetlKb=w2YKFl1xDYB5B!fO&)Iq zx)r04(G~jNlKM6q=mCf+qR37!4)==Z)qDJ{iHu0AjmcoiJgXs&3kjR6i9;a-_&=Xs zx>m1ldsAe)OScA;x2A~4Zh;E_#v$(sp@qFH=z9ab58P3~w9tSyN7`v@34(vRHg6Sw*#9DCZK+@Eh zISmsnbyA?c8e~#Q^Hilk`XSog{E#awHni7c{TVY!IHytIL+X9@M6q~E z)1bHGRQjlR#d*#hDO$XYiZxRIdFZk}!$LOr8^3fLgIgRbG;*0ztU(P{DR5!0WCf*n zpCO+c+)d(TS_}!&C-{>x$fE$!dQp)$nRYVC$7LoD%8<+6lszo8c+{W+>8wSuqdF9G zL(T}AdsV1z^ciV3M*@RakW zt`09xa;mwD>{vJI{#K0m)Up1HDnkz2eSQxF4Tb$6nPq81{sFhhv@aHp2pi}74t|A( z^koM?mf)b1UQFzj3F>d}S7rq3WomLh+%gAo^^QW3L1cVP}OQ5BpoOd-e?= zoib&U4VPedyRuqDpMQwtQ@T*bh(vtj5UtYJ)OH$NAk<2$gK4(#+0advXcuRUs&ml`H=|}xm>k7#e!9O zH>xGfLp@Cu8)V}U!jlZm+2R;KBnJ^Z$qSfdDuc5XMs^7*j#3Spl=7{`nKrRkR2VDs z9U{a0sFt0n{UO}H^+Qf3aePD#`L1;(TU3q_#YA+rA1h*w1Z)F@z0h(7bT_) zy=@Z|IsMYIDRy@I2$a-YliymXgnS-3X=K8cIN7B$S>F% zK@tR?6$iPfS61sVEg*zYI>BG0Euljh055cbFwV1&=X$))(hz#0b9m^D!7up4b+=@x zKAEIS6S?7ADVqc0`l8RyVcmmec_IG{7Cr<*Yy+ zNk7uyc|u6}qbg(fF;+^})zhsNBVTFj5pGoi z;X@_ISn?i|LWfMw3QTTmc^1p5M1X545Dr!XVP`DW9WFNH1`E(IJ_l_y7lxwsX->?0 zT|#-!`m`$#j(VfL_w+XpsUY(w$*HC@lQ3V>zpCKI91b!gDePL;Rm3t~(s$HiaGR|2 z3^_!PZc$et45o@(z*glkjB4M zNWK`2goQAZ-=%*K(Zp%Syrbv;of&fCK+Ls2Qm&>EgHE1-)lZ*Ago!MB<{=)&O#Gx; zkdjbo?gNbAj7<&0NKPu%-ZpK*v~91zZN(jQAfc^GfZ|S)y{TLeK6y*Cg*lI z_jbqT2{R~*4_ZSU#hfAw1@L0T;fE^e-fGXFoh_Ah=PDAFg`gbTJJRW$%91MQ_EZZW z)LND4v~PSzHuElG)gaAb815)GI~|)_@1}H4gtvLRica1{*!+(&3wxDHXO*W^|7^-@ z%-x_(K=Bysq}4>`rdDW=AZbxG(wFJ3=6VTJ^2z>^!&Pc#;XQ2gRPiJ zBA;b`>lw4j%?C;9nI&q95N?!6eko-V_~`kD`d&B(MGuQE`MEcd&Mw}353f6`_RU3( zD}-oN&CjqcElKV~d}4%_*WyYwY7qhOjzyGh3d^NJU1YU!%_ z2$j>Z>=57F=3>Xv$7P)I;LIpF(p5F#hC%(a&2!B?6w($m_Bw*uo%fV^o#&KVhB^Io zBfW48Xu|hCOnh4lF{~I`cei-+&K_uzlW zeiJ-@ZkY!3l%f2-&4l0noBysp$jm#sE&cpbDcY$Lp0p}$E{#DSH z5^?4Tbr;)P{-5OsQ{Td0O2jU67p+K}%Zag(No+A;)q!ddHqRY@_sPJG#Km;?>YV0y zfwGtpKofra!jq4f^EF{KZ6A3bB=z|tY>JuF%Z2=giZ`V&U~B`t&P^-|blW&$Sh5nY z%C#cVkUR`X(F+z-I>adUG*J?nTRCOsC74%2gB~})d(laXRky%lG)M;22cxhMjYJ@b z#8Z>xW01kp`xv1o8ihi{YdCk1T@bXdT;=giwx&ok;~~--v z)JKyLqgAa1?=KJ|^-8xQ;5jMIzC;^1V%V991dmZ2Z8$clyhI6> z2StmiU-gG*Ao#PO6PaAMi8XS310SL!g2g^;)cPH zT}ZT&|LMftBh61uCR7Xd^c5501>pc4^g~Iw%BLzJzSw0I?CtN;Ql>FoJ$0qTA{t6g zLNAL9-JjPw^*U~um4&T-w3whW2UCHwHycxq{F7K+3cqo-v407Rz9P*=NOq!;DrCL$YpR4UU@_se{f_m}x*-S)ZV6;_F})j}P}vtz%hGib$f+trKhrHdwI$?(*s zMsL-t^zA8?an>0|w|oMRB!#-mjFHO5w}qVvRlv=RF0XX?Wmm=-hL5IDP9+LzLbNNc z9KxDmD^uar7_-q;1a)wt<0--lO^xkq>XRQHcc=J+?oyr=ZXn{&cwnBy>m4A z{Jr1R@?*spuA<1dVuS#|96I`o8s(;MTv!D3+@+2^XONr^AiUP*i1CR%uh27yGEj#c z5f{n(a(uFq>A{a`&!n_kX5^l~_vy0>P}kK(T^Z3ge+WxB56BlceZ`&%X5_O)BFrN% zmr5#T!mYsKl26R;>Gy8Xm+AY~MoR7T-AD9P#d8q-N~In2flnH=j##$S6LbN) z`7ih~Suz13>WXA4hT*L|>0)X29N{dTEJNaga(xI7o$Uvo_@7~jrY$(itNEe7*Hu_X z3xuU!JIQtN`MyV)0XGEcI8xyvwj9!xqaS!V6s#oj-0o0dyh|-tTtj3d0&qes%q-8V z?{#wcVVG)_JM1G+0zk-11t-qi$cOp*hmGA4n|^fjksK+_3b&p&MzXMT@(AQ|A50>r zoNS`8Z=m3o1hj@He~(p4)Jzh-k8VC?SojYVgY>hT!6>%fb zK{K_kMuS=Aq0OdQDfq!vqk6qzIpFLnzrQ7RXxkAflEEiEw6R0-j1Vut)V5IR^H&SP zQU-HE?AX)Y=3R^4#zlwAJn$teXrNHtDpK7sv|l51AFm(klhn>SRCB))sL9X(R3Q#- zj-LIR1XP4}1vaw4Ng{@$2kHd_fLNzNC(h&KFl(S=rrYzJwBUtC*UR;S=JvC`)wCSN zHZ*EjZ*qS+=2cX@SJ7h)*}@7)HbNeL_5s}U4mF7qk;A()k6w1F&mH0Q!henEHb`zv z#0;X~em!&sDtFy8Gz|8$lGCS)1>*l|=l*}kVH22+RG0-c~iYL07>LsB`0@wd_ZsVZ?xLsbg(^%P33_PGvg%E}HW# zW3jED0yOr=~)l~P;dwasFf#pL_x(b zoxfRW3!+3fH9T_LiL-BX`*!-N!JaG9AhKA`Sv0Q@1IO>BojZvgaK^G+U3H3ZEW7F{ zJujeQCM6>xjRU|A^?XRdh?7C5bU1w*8mmL_!LqR52&J#IlN+UO*0bs&EnaX0LgWGI z?W>8{MJx(zz#BjAwb*Ae0h(aWP4pB!fJ8Qvhh~va0xDmSeL`aqY7+~>SAHgJ+Yl5- zpA7VeV(AxM-RGSRm_Z%Ll`G?-(Bpv4HjIG<6FR6tsK9b!S=&4Hed}QTrLlc{8M$*D z-{1P(sCqd}C*S*7`q)RA)gvnv<0Ppe&R!CnO6SULkA3ksr2}#xO33;2O;dV|cPzh; zGd)QTo!ow7S*hTrncnywn9}RS@c^4AGx>t4`xVFQzyLWHD9!9dWN535wx^rE&dFTQ zh(ZTcB>FkV)ss1kv!8~x2Ii+=IUlKEdyFyi*#6L<$wajyI z^3D1JnI)9KFJZhym&daKXPlKx(oHI+7_h^qDEajbnIgi2vWU;(SP^IySZ`eRYL4C> zt^>lsgiUgClq+;oS$c* zvz$pBU-+{fS3WuH-{?(SggzD6IzN2_`@rkf<3PE`@yuLJQ3~jd0+h(Kw6C8dHk|Y< zw0QztK2pr7(7S@;+o2NyVf8%5vgy|1BTMkY@w_;Xa6jOD!1bzs*F&4%X8G00j@YKI zdiL|G?t*Kz_O~Zi504)lYY%JBp18LiYY*WoN%7~IF?#D5kB5%Q49Bc>Y`$BgL*H}Y zsdd+?vBGoh=s0F{X?V^kp#IXM;CI%*igRy86Y288T2@Lan4or;B{SoOWIxI)y`LZdS58!+#RLedk^yFn3$9%FAZv9!Enc#PmSao|4yP|HKi$t3-)o0X9*9`yglDTK-v-5C(;i1=i zySPlnm~73ci@NF5KiEo5Q+yAbQwV#qN`*ZhOxQYHZZ8(zoxu#s%4LZD-|a1r_lG<$l1nnsr<|NxZWucS1dsS8iob}jEVuk-LT_|U8Er@!%F zCiL^m&@;io^Ygpn7CE~Dla~Sm$AG{9&EdamxVOf`tzLlv0Fj`#&_VD1>*Wo44*<}7 zVr}JMXyu@z>|$eRul4gx*lmG5M6N9W=!X}<0RZ@awFZ6l24e=j^ZRt&ue7(@4TCX$ zEV+Oh&VYUl^+rPth-(qXz}n96uHTzF80NAAYHkS$0HEAx4h9NT{|-=kHa2&)-Zs{f z2nPM)H%I`$&%yZD%NvXcbSmy=A$uD;Lwiuq^&CvCt?p9bHJCyAhE!|#v&dxrvJkE6>{%lF=nF*O#(H41sb@ULkW-g zySbC8;fs5lzk#!KBn5qxUM0Le7-OK}`T5%&ObjgzfB*aIbi?gyIe8Hpo(<}J73lBH zyNCw!9|b*q3qvIb7YjrCyL#}BF_YsP2w@oH=0$pAG%x=V_~nNoqi646X!lQD?BCzq z$%EUwcZvuakPgtr1et>W`{fNr59;I39^H_;b_VpC=$%(eDo|dn88pm=pvzA7Z{44l z{T0zQWobPZYe$EFK!1P3awn;`;bOoCkPat^mhq+@NdDiX|I)igdR_HSRKUd+A|2>| z2NdX*xH+aipz|7kN&gy=e?;%PMAu1gj_Ee_9ddt@{uI3v6ijU`*b+3Rv7meXCg?Ys zJCv`1{z|I7eKXzjw6tsJbo4Kx6asQOTYu-&124fNMj;M;QdgZgsaA@>*PpGV8LmDk_4 zg)f0XIYA|2Z(e#o?mLvPf&SX*ye)S>XfFR9a({vT**?9k%veEnhz7bxt3l6=Z-V9t z+@X98^w+1v+j94Vo(bI{_ZR4&kDj-cH?h-Rd!Nvsc_iLY`vr7oe7hg$QTh#uYe4tM zwA+PZ{{Ts4+)(=kbY~p9A4n?qhQu|X`(xMbN_BsLH1lq#{Q|l(UfmBgR(wO^8qobQ z>UP1NKR_!bH`IOs-5Hne2g0hpA#n}p{#bOo0Kgw0s+t>Wzku$HKlcOmG~JN626TVS zx$SQJ2WYzahT1QnJLAm#K;d0CB(4G7A6sra75)KA>%O7(3+V26a-Hbr(gb?shQ>9b z|0jmr_OSVbgfn_W?l;nZobGQT$;{l)xQ=xHe1H2u{2wIk&o|_LBmKwe`X-XW(hZI4 zNcYdzw@>5!L2_8WA@>{UKTg;;k=!?LXk16Sf5yIj4&V<`=++In-$?&)%D#yNxqn0B zI@0}f_U)9=KS-G0Z^->d`j3') + +import copy + +# ── Colour palette (dark theme) ────────────────────────────────────────────── +BG = RGBColor(0x1e, 0x1e, 0x2e) # slide background +TITLE_CLR = RGBColor(0xcb, 0xd3, 0xff) # slide titles +BODY_CLR = RGBColor(0xcd, 0xd6, 0xf4) # body text +DIM_CLR = RGBColor(0x6c, 0x70, 0x86) # dimmed / captions +ACCENT_PG = RGBColor(0x89, 0xb4, 0xfa) # pgvector blue +ACCENT_ORA = RGBColor(0xf3, 0x8b, 0xa8) # Oracle red/pink +ACCENT_IDB = RGBColor(0xcb, 0xa6, 0xf7) # in-DB purple +ACCENT_GRN = RGBColor(0xa6, 0xe3, 0xa1) # green for highlights +CODE_BG = RGBColor(0x31, 0x32, 0x44) # code block background +CODE_CLR = RGBColor(0xa6, 0xe3, 0xa1) # code text + +W = Inches(13.33) # widescreen 16:9 +H = Inches(7.5) + +FONT = "Roboto" + +prs = Presentation() +prs.slide_width = W +prs.slide_height = H + +blank_layout = prs.slide_layouts[6] # completely blank + +LOGO_PATH = "/home/dierk/Bilder/Logo/Logo DLC Final.png" +CONFERENCE = "Quest Data Minds Konferenz" +EVENT_DATE = "28. Mai 2026" +EVENT_CITY = "Köln" + +_slide_num = [0] # mutable counter so nested calls can increment it + + +def add_slide(logo=True, footer=True): + slide = prs.slides.add_slide(blank_layout) + bg = slide.background + fill = bg.fill + fill.solid() + fill.fore_color.rgb = BG + if logo: + slide.shapes.add_picture(LOGO_PATH, + Inches(11.6), Inches(7.0), Inches(1.6), Inches(0.42)) + if footer: + _slide_num[0] += 1 + # thin separator line + sep = slide.shapes.add_shape(1, Inches(0.3), Inches(6.95), Inches(11.1), Pt(1)) + sep.fill.solid() + sep.fill.fore_color.rgb = DIM_CLR + sep.line.fill.background() + # left: conference info + txb(slide, f"{CONFERENCE} · {EVENT_CITY}, {EVENT_DATE}", + Inches(0.3), Inches(7.02), Inches(9.5), Inches(0.35), + size=11, color=DIM_CLR) + # right: page number (before logo) + txb(slide, str(_slide_num[0]), + Inches(10.9), Inches(7.02), Inches(0.6), Inches(0.35), + size=11, color=DIM_CLR, align=PP_ALIGN.RIGHT) + return slide + + +def txb(slide, text, x, y, w, h, + size=24, bold=False, color=BODY_CLR, + align=PP_ALIGN.LEFT, italic=False): + box = slide.shapes.add_textbox(x, y, w, h) + tf = box.text_frame + tf.word_wrap = True + p = tf.paragraphs[0] + p.alignment = align + run = p.add_run() + run.text = text + run.font.size = Pt(size) + run.font.bold = bold + run.font.italic = italic + run.font.color.rgb = color + run.font.name = FONT + return box + + +def title_slide_layout(slide, title, subtitle=None): + txb(slide, title, + Inches(1), Inches(2.8), Inches(11.33), Inches(1.2), + size=48, bold=True, color=TITLE_CLR, align=PP_ALIGN.CENTER) + if subtitle: + txb(slide, subtitle, + Inches(1), Inches(4.1), Inches(11.33), Inches(0.8), + size=24, color=DIM_CLR, align=PP_ALIGN.CENTER) + + +def section_header(slide, title, accent=ACCENT_PG): + """Full-width coloured bar at top, then title.""" + bar = slide.shapes.add_shape( + 1, # MSO_SHAPE_TYPE.RECTANGLE + Inches(0), Inches(0), W, Inches(0.12) + ) + bar.fill.solid() + bar.fill.fore_color.rgb = accent + bar.line.fill.background() + + txb(slide, title, + Inches(0.5), Inches(0.2), Inches(12.33), Inches(0.8), + size=32, bold=True, color=TITLE_CLR) + + +def bullet_box(slide, items, x, y, w, h, size=20, color=BODY_CLR, indent=False): + box = slide.shapes.add_textbox(x, y, w, h) + tf = box.text_frame + tf.word_wrap = True + first = True + for item in items: + if first: + p = tf.paragraphs[0] + first = False + else: + p = tf.add_paragraph() + p.space_before = Pt(4) + run = p.add_run() + run.text = (" " if indent else "") + item + run.font.size = Pt(size) + run.font.color.rgb = color + run.font.name = FONT + + +def code_box(slide, code, x, y, w, h, size=13): + # Background rectangle (no text) + bg = slide.shapes.add_shape(1, x, y, w, h) + bg.fill.solid() + bg.fill.fore_color.rgb = CODE_BG + bg.line.color.rgb = RGBColor(0x58, 0x5b, 0x70) + bg.text_frame.text = "" + + # Text box on top — textboxes have predictable left-aligned defaults + pad = Pt(7) + tb = slide.shapes.add_textbox(x + pad, y + pad, w - pad * 2, h - pad * 2) + tf = tb.text_frame + tf.word_wrap = False + tf.margin_left = Pt(0) + tf.margin_right = Pt(0) + tf.margin_top = Pt(0) + tf.margin_bottom = Pt(0) + + first = True + for line in code.strip().split("\n"): + if first: + p = tf.paragraphs[0] + first = False + else: + p = tf.add_paragraph() + p.alignment = PP_ALIGN.LEFT + p.space_before = Pt(0) + p.space_after = Pt(0) + # Explicitly zero out left margin, hanging indent, and remove any bullet + pPr = p._p.get_or_add_pPr() + pPr.set("marL", "0") + pPr.set("indent", "0") + for tag in ("a:buClr","a:buClrTx","a:buFont","a:buFontTx","a:buChar","a:buAutoNum","a:buNone"): + for el in pPr.findall(qn(tag)): + pPr.remove(el) + pPr.append(OxmlElement("a:buNone")) + run = p.add_run() + run.text = line + run.font.size = Pt(size) + run.font.color.rgb = CODE_CLR + run.font.name = "Courier New" + + +def divider(slide, y, color=DIM_CLR): + line = slide.shapes.add_shape(1, Inches(0.5), y, Inches(12.33), Pt(1)) + line.fill.solid() + line.fill.fore_color.rgb = color + line.line.fill.background() + + +# ════════════════════════════════════════════════════════════════════════════ +# Slide 1 — Titelfolie +# ════════════════════════════════════════════════════════════════════════════ +s = add_slide(logo=False, footer=False) # title slide: custom layout +title_slide_layout(s, + "Vektoren in der Datenbank", + "Semantische Bildsuche mit PostgreSQL/pgvector und Oracle 26ai") +# Conference details +txb(s, CONFERENCE, + Inches(1), Inches(5.0), Inches(11.33), Inches(0.5), + size=20, bold=True, color=ACCENT_PG, align=PP_ALIGN.CENTER) +txb(s, f"{EVENT_DATE} · {EVENT_CITY}", + Inches(1), Inches(5.5), Inches(11.33), Inches(0.45), + size=18, color=DIM_CLR, align=PP_ALIGN.CENTER) +# Larger centred logo +s.shapes.add_picture(LOGO_PATH, Inches(4.67), Inches(6.1), Inches(4.0), Inches(1.06)) + +# ════════════════════════════════════════════════════════════════════════════ +# Slide 2 — Agenda +# ════════════════════════════════════════════════════════════════════════════ +s = add_slide() +section_header(s, "Agenda", ACCENT_PG) +bullet_box(s, [ + "01 Was ist ein Vektor?", + "02 Semantische Suche — jenseits von Schlüsselwörtern", + "03 Das CLIP-Modell", + "04 Ähnlichkeit messen: Cosinus-Distanz", + "05 PostgreSQL + pgvector", + "06 Oracle 26ai — nativer Vektor-Support", + "07 Oracle 26ai — Embedding in der Datenbank", + "08 Architektur der Demo", + "09 Demo", + "10 Vergleich & Fazit", +], Inches(1.5), Inches(1.3), Inches(10), Inches(5.5), size=20) + +# ════════════════════════════════════════════════════════════════════════════ +# Slide 3 — Was ist ein Vektor? +# ════════════════════════════════════════════════════════════════════════════ +s = add_slide() +section_header(s, "Was ist ein Vektor?", ACCENT_PG) +bullet_box(s, [ + "▸ Ein Vektor ist eine geordnete Liste von Zahlen: [0.12, -0.87, 0.44, …]", + "▸ Jede Zahl beschreibt eine Dimension im semantischen Raum", + "▸ Moderne KI-Modelle erzeugen Vektoren mit 512 bis 1536 Dimensionen", + "▸ Ähnliche Inhalte → ähnliche Vektoren → kleiner Abstand im Raum", + "▸ Texte, Bilder, Audio — alles lässt sich in denselben Vektorraum einbetten", +], Inches(0.8), Inches(1.3), Inches(7.5), Inches(4), size=20) + +code_box(s, '# 4-dimensionaler Beispielvektor\nvec_hund = [0.91, 0.12, -0.44, 0.72]\nvec_katze = [0.87, 0.18, -0.39, 0.68]\n# ähnlich! Abstand ≈ 0.04\nvec_auto = [-0.3, -0.82, 0.91, -0.11]\n# weit entfernt', + Inches(8.8), Inches(1.5), Inches(4.3), Inches(2.6), size=12) + +txb(s, "Vektoren machen Ähnlichkeit berechenbar.", + Inches(0.8), Inches(5.8), Inches(11), Inches(0.7), + size=22, bold=True, color=ACCENT_GRN) + +# ════════════════════════════════════════════════════════════════════════════ +# Slide 4 — Semantische Suche +# ════════════════════════════════════════════════════════════════════════════ +s = add_slide() +section_header(s, "Semantische Suche — jenseits von Schlüsselwörtern", ACCENT_PG) +bullet_box(s, [ + "Klassische Suche: \"trees\" findet nur Dokumente mit dem Wort \"trees\"", + "", + "Semantische Suche: \"trees\" findet Bilder von Wäldern, Parks, Natur —", + " ohne dass das Wort irgendwo steht", +], Inches(0.8), Inches(1.3), Inches(11.5), Inches(2.2), size=20) + +divider(s, Inches(3.7)) + +bullet_box(s, [ + "▸ Text-Anfrage wird in denselben Vektorraum eingebettet wie die Bilder", + "▸ Datenbankabfrage: finde die k nächsten Nachbarn (k-NN)", + "▸ Ergebnis: Bilder nach semantischer Ähnlichkeit gerankt", + "▸ Kein manuelles Tagging, keine Metadaten nötig", +], Inches(0.8), Inches(3.9), Inches(11.5), Inches(2.8), size=20) + +# ════════════════════════════════════════════════════════════════════════════ +# Slide 5 — CLIP-Modell +# ════════════════════════════════════════════════════════════════════════════ +s = add_slide() +section_header(s, "Das CLIP-Modell (OpenAI)", ACCENT_IDB) +bullet_box(s, [ + "CLIP = Contrastive Language–Image Pretraining", + "▸ Trainiert auf hunderten Millionen Bild-Text-Paaren", + "▸ Bildet sowohl Bilder als auch Text in denselben 512-dimensionalen Raum ab", + "▸ Modell: clip-ViT-B-32 (Vision Transformer, Patch-Größe 32×32)", + "▸ Quell-Gewichte: Hugging Face Hub (sentence-transformers/clip-ViT-B-32)", +], Inches(0.8), Inches(1.3), Inches(7.5), Inches(3.2), size=20) + +code_box(s, + 'from sentence_transformers import (\n SentenceTransformer)\n\nmodel = SentenceTransformer(\n "clip-ViT-B-32")\n\n# Bild einbetten\nvec = model.encode(image)\n# → 512 floats\n\n# Text einbetten\nvec = model.encode("Bäume")\n# → 512 floats, gleicher Raum!', + Inches(8.8), Inches(1.3), Inches(4.3), Inches(3.8), size=11) + +txb(s, "Bild-Vektor und Text-Vektor zeigen in dieselbe Richtung,\nwenn Bild und Text inhaltlich übereinstimmen.", + Inches(0.8), Inches(5.0), Inches(11.5), Inches(1.0), + size=18, italic=True, color=ACCENT_IDB) + +# ════════════════════════════════════════════════════════════════════════════ +# Slide 6 — Cosinus-Distanz +# ════════════════════════════════════════════════════════════════════════════ +s = add_slide() +section_header(s, "Ähnlichkeit messen: Cosinus-Distanz", ACCENT_PG) +bullet_box(s, [ + "▸ CLIP-Vektoren haben unterschiedliche Beträge — daher kein euklidischer Abstand", + "▸ Cosinus-Distanz misst nur den Winkel zwischen zwei Vektoren", + "▸ Cosinus-Distanz = 0 → identisch", + "▸ Cosinus-Distanz = 1 → völlig unähnlich", + "▸ Ähnlichkeitswert = 1 − Distanz → 1.0 = perfekte Übereinstimmung", +], Inches(0.8), Inches(1.3), Inches(8.5), Inches(3.5), size=20) + +code_box(s, + "-- PostgreSQL\n1 - (embedding <=> query_vec)\n\n-- Oracle 26ai\n1 - VECTOR_DISTANCE(embedding, query_vec, COSINE)", + Inches(0.8), Inches(5.0), Inches(6.0), Inches(1.9), size=13) + +txb(s, "In der Demo:\nScore 28 % = schwache Übereinstimmung\nScore 75 % = starke Übereinstimmung", + Inches(7.5), Inches(5.0), Inches(5.0), Inches(2.0), + size=18, color=ACCENT_GRN) + +# ════════════════════════════════════════════════════════════════════════════ +# Slide 7 — PostgreSQL + pgvector: Voraussetzungen +# ════════════════════════════════════════════════════════════════════════════ +s = add_slide() +section_header(s, "PostgreSQL + pgvector", ACCENT_PG) + +txb(s, "Was wird benötigt?", Inches(0.8), Inches(1.3), Inches(11), Inches(0.5), + size=22, bold=True, color=ACCENT_PG) +bullet_box(s, [ + "▸ PostgreSQL (ab Version 13)", + "▸ pgvector-Extension — docker image: pgvector/pgvector:pg18", + "▸ Extension aktivieren: CREATE EXTENSION vector;", + "▸ Python-Paket: psycopg2-binary", + "▸ KI-Bibliothek: sentence-transformers (auf dem Anwendungsserver)", +], Inches(0.8), Inches(1.9), Inches(11.5), Inches(2.5), size=20) + +divider(s, Inches(4.6)) + +txb(s, "Schema & Index", Inches(0.8), Inches(4.5), Inches(11), Inches(0.5), + size=22, bold=True, color=ACCENT_PG) +code_box(s, + "CREATE TABLE images (\n id SERIAL PRIMARY KEY,\n filename TEXT NOT NULL UNIQUE,\n embedding vector(512) -- pgvector-Typ\n);\n\nCREATE INDEX ON images USING hnsw (embedding vector_cosine_ops);", + Inches(0.8), Inches(5.0), Inches(7.5), Inches(1.85), size=13) + +bullet_box(s, [ + "HNSW = Hierarchical Navigable Small World", + "Approximativer k-NN Index", + "Sehr schnell bei der Suche", +], Inches(8.8), Inches(5.0), Inches(4.3), Inches(1.85), size=18, color=DIM_CLR) + +# ════════════════════════════════════════════════════════════════════════════ +# Slide 8 — PostgreSQL: Suchanfrage +# ════════════════════════════════════════════════════════════════════════════ +s = add_slide() +section_header(s, "PostgreSQL: Suchanfrage", ACCENT_PG) + +bullet_box(s, [ + "1. Text-Anfrage mit CLIP in Python in einen Vektor umwandeln", + "2. Vektor an die SQL-Abfrage übergeben", + "3. PostgreSQL findet die ähnlichsten Bilder via HNSW-Index", +], Inches(0.8), Inches(1.3), Inches(11.5), Inches(1.5), size=20) + +code_box(s, + "# Python\nvec = model.encode(\"Bäume\") # → 512 floats\n\n# SQL\nSELECT filename,\n 1 - (embedding <=> %s::vector) AS score\nFROM images\nORDER BY embedding <=> %s::vector\nLIMIT 12;", + Inches(0.8), Inches(3.0), Inches(7.5), Inches(3.5), size=16) + +bullet_box(s, [ + "<=> Cosinus-Distanz-Operator", + "(pgvector-spezifisch)", + "", + "$1::vector expliziter Cast", + "erforderlich", + "", + "LIMIT statt FETCH FIRST", +], Inches(9.0), Inches(3.0), Inches(4.0), Inches(3.5), size=18, color=DIM_CLR) + +# ════════════════════════════════════════════════════════════════════════════ +# Slide 9 — Oracle 26ai: Nativer Support +# ════════════════════════════════════════════════════════════════════════════ +s = add_slide() +section_header(s, "Oracle 26ai — nativer Vektor-Support", ACCENT_ORA) + +txb(s, "Was wird benötigt?", Inches(0.8), Inches(1.3), Inches(11), Inches(0.5), + size=22, bold=True, color=ACCENT_ORA) +bullet_box(s, [ + "▸ Oracle AI Database 26ai Free (oder Enterprise)", + "▸ Keine Extension nötig — Vektoren sind eingebaut", + "▸ Vector Memory Area im SGA konfigurieren (für HNSW-Index)", + "▸ Python-Paket: oracledb (Thin Mode — kein Oracle Client nötig)", + "▸ KI-Bibliothek: sentence-transformers (auf dem Anwendungsserver)", +], Inches(0.8), Inches(1.9), Inches(11.5), Inches(2.2), size=20) + +divider(s, Inches(4.2)) + +txb(s, "Schema & Index", Inches(0.8), Inches(4.3), Inches(11), Inches(0.45), + size=20, bold=True, color=ACCENT_ORA) +code_box(s, + "CREATE TABLE images (\n id NUMBER GENERATED ALWAYS AS IDENTITY PRIMARY KEY,\n filename VARCHAR2(255) NOT NULL UNIQUE,\n embedding VECTOR(512, FLOAT32) -- Typ + Dimension\n);\nCREATE VECTOR INDEX images_idx ON images(embedding)\n ORGANIZATION INMEMORY NEIGHBOR GRAPH\n WITH DISTANCE COSINE WITH TARGET ACCURACY 95;", + Inches(0.8), Inches(4.8), Inches(8.5), Inches(2.0), size=11) + +bullet_box(s, [ + "HNSW im SGA", + "(Vector Memory Area)", + "512 MB konfiguriert", +], Inches(9.8), Inches(4.8), Inches(3.3), Inches(2.0), size=17, color=DIM_CLR) + +# ════════════════════════════════════════════════════════════════════════════ +# Slide 10 — Oracle: Unterschiede zu pgvector +# ════════════════════════════════════════════════════════════════════════════ +s = add_slide() +section_header(s, "Oracle vs. pgvector — Schema-Unterschiede", ACCENT_ORA) + +rows = [ + ("Extension", "CREATE EXTENSION vector", "Eingebaut, keine Extension"), + ("Vektor-Spalte", "vector(512) — nur Dimension", "VECTOR(512, FLOAT32) — Dim + Typ"), + ("Primary Key", "SERIAL", "NUMBER GENERATED ALWAYS AS IDENTITY"), + ("Text-Spalte", "TEXT (unbegrenzt)", "VARCHAR2(n) — Länge erforderlich"), + ("HNSW-Syntax", "USING hnsw (...ops)", "ORGANIZATION INMEMORY NEIGHBOR GRAPH"), + ("Genauigkeit", "Implizit via Index-Parameter", "WITH TARGET ACCURACY 95 (explizit)"), + ("Speicher", "Kein Sonder-Speicher nötig", "vector_memory_size im SGA"), + ("Abstand-Op", "<=> (Operator)", "VECTOR_DISTANCE(col, vec, COSINE)"), + ("Top-N", "LIMIT n", "FETCH FIRST n ROWS ONLY"), +] + +# Column header row +y = Inches(1.3) +hdr_bg = s.shapes.add_shape(1, Inches(0.3), y, Inches(12.7), Inches(0.55)) +hdr_bg.fill.solid() +hdr_bg.fill.fore_color.rgb = RGBColor(0x18, 0x18, 0x28) +hdr_bg.line.fill.background() +txb(s, "Aspekt", Inches(0.4), y + Pt(6), Inches(2.2), Inches(0.5), size=14, bold=True, color=BODY_CLR) +txb(s, "PostgreSQL + pgvector",Inches(2.7), y + Pt(6), Inches(4.8), Inches(0.5), size=14, bold=True, color=ACCENT_PG) +txb(s, "Oracle 26ai", Inches(7.6), y + Pt(6), Inches(5.4), Inches(0.5), size=14, bold=True, color=ACCENT_ORA) +y += Inches(0.56) + +for i, (aspect, pg, ora) in enumerate(rows): + bg_color = RGBColor(0x28, 0x29, 0x3d) if i % 2 == 0 else RGBColor(0x24, 0x25, 0x38) + row_bg = s.shapes.add_shape(1, Inches(0.3), y, Inches(12.7), Inches(0.52)) + row_bg.fill.solid() + row_bg.fill.fore_color.rgb = bg_color + row_bg.line.fill.background() + + txb(s, aspect, Inches(0.4), y + Pt(5), Inches(2.2), Inches(0.48), size=13, bold=True, color=DIM_CLR) + txb(s, pg, Inches(2.7), y + Pt(5), Inches(4.8), Inches(0.48), size=13, color=ACCENT_PG) + txb(s, ora, Inches(7.6), y + Pt(5), Inches(5.4), Inches(0.48), size=13, color=ACCENT_ORA) + y += Inches(0.53) + +# ════════════════════════════════════════════════════════════════════════════ +# Slide 11 — Oracle In-Database Embedding +# ════════════════════════════════════════════════════════════════════════════ +s = add_slide() +section_header(s, "Oracle 26ai — Embedding in der Datenbank", ACCENT_IDB) + +bullet_box(s, [ + "▸ Oracle kann ONNX-Modelle direkt in die Datenbank laden", + "▸ VECTOR_EMBEDDING() ruft das Modell innerhalb einer SQL-Abfrage auf", + "▸ Kein Python, keine KI-Bibliothek auf dem Anwendungsserver zur Laufzeit", + "▸ Der Text-String ist der einzige Parameter aus Python", +], Inches(0.8), Inches(1.3), Inches(11.5), Inches(2.2), size=20) + +code_box(s, + "-- Gesamte Logik in einem SQL-Statement\nSELECT filename,\n 1 - VECTOR_DISTANCE(\n foto_vek,\n VECTOR_EMBEDDING(CLIP_TXT USING :q AS data),\n COSINE\n ) AS score\nFROM VECTOR.FOTO_VEKTOR\nORDER BY VECTOR_DISTANCE(\n foto_vek,\n VECTOR_EMBEDDING(CLIP_TXT USING :q AS data), COSINE)\nFETCH FIRST 12 ROWS ONLY;", + Inches(0.8), Inches(3.6), Inches(7.5), Inches(3.3), size=13) + +bullet_box(s, [ + ":q = reiner Text aus Python", + "", + "Oracle übernimmt:", + " • Tokenisierung", + " • ONNX-Inferenz", + " • Vektorsuche", + "", + "→ Architektur vereinfacht sich", +], Inches(9.0), Inches(3.6), Inches(4.0), Inches(3.4), size=18, color=DIM_CLR) + +# ════════════════════════════════════════════════════════════════════════════ +# Slide 12 — ONNX in Oracle: Besonderheit +# ════════════════════════════════════════════════════════════════════════════ +s = add_slide() +section_header(s, "ONNX in Oracle: Was zu beachten ist", ACCENT_IDB) + +bullet_box(s, [ + "Oracle's ONNX-Validator stellt strenge Anforderungen an das Modell-Graph:", + "", + "▸ input_ids darf nur in einem einzigen Gather-Knoten verwendet werden", + "▸ Standard-CLIP-Export verwendet input_ids auch in ArgMax → wird abgelehnt", + "", + "Lösung: CLIP_TXT mit CLS-Token-Pooling (Position 0) statt EOS-Token-Pooling", + "▸ Einfacherer ONNX-Graph, den Oracle akzeptiert", + "▸ Cosinus-Ähnlichkeit zwischen EOS- und CLS-Variante: ~0,70", + "▸ Modell muss beim Export entsprechend angepasst werden", +], Inches(0.8), Inches(1.3), Inches(11.5), Inches(3.8), size=19) + +code_box(s, + "-- Modell laden (einmalig durch Administrator)\nEXEC DBMS_VECTOR.LOAD_ONNX_MODEL(\n 'VEC_DUMP', 'clip_txt.onnx', 'CLIP_TXT',\n JSON('{\"function\":\"embedding\",\"embeddingOutput\":\"output\",\n \"input\":{\"input\":[\"DATA\"]}}'));", + Inches(0.8), Inches(5.2), Inches(11.5), Inches(1.6), size=13) + +# ════════════════════════════════════════════════════════════════════════════ +# Slide 13 — Architektur der Demo +# ════════════════════════════════════════════════════════════════════════════ +s = add_slide() +section_header(s, "Architektur der Demo", ACCENT_GRN) + +# Three columns +for i, (label, port, color) in enumerate([ + ("pgvector", "Port 8000", ACCENT_PG), + ("Oracle 26ai\n(Python)", "Port 8001", ACCENT_ORA), + ("Oracle 26ai\n(In-DB)", "Port 8002", ACCENT_IDB), +]): + x = Inches(0.5 + i * 4.27) + # Box + box = s.shapes.add_shape(1, x, Inches(1.3), Inches(3.8), Inches(4.8)) + box.fill.solid() + box.fill.fore_color.rgb = RGBColor(0x28, 0x29, 0x3d) + box.line.color.rgb = color + + txb(s, label, x + Inches(0.1), Inches(1.4), Inches(3.6), Inches(0.8), + size=22, bold=True, color=color, align=PP_ALIGN.CENTER) + txb(s, port, x + Inches(0.1), Inches(2.1), Inches(3.6), Inches(0.4), + size=16, color=DIM_CLR, align=PP_ALIGN.CENTER) + + items = { + "pgvector": ["Browser /ui/", "FastAPI", "CLIP (Python)", "PostgreSQL 18", "pgvector 0.8.2"], + "Oracle 26ai\n(Python)": ["Browser /ui/", "FastAPI", "CLIP (Python)", "Oracle 26ai", "HNSW (SGA)"], + "Oracle 26ai\n(In-DB)": ["Browser /ui/", "FastAPI", "(kein CLIP)", "Oracle 26ai", "VECTOR_EMBEDDING()"], + }[label] + + for j, item in enumerate(items): + txb(s, "▸ " + item, x + Inches(0.2), Inches(2.65 + j * 0.52), Inches(3.5), Inches(0.48), + size=16, color=BODY_CLR) + +txb(s, "116 Street Fotos · CLIP ViT-B/32 · 512-dimensionale Vektoren", + Inches(0.5), Inches(6.6), Inches(12.33), Inches(0.3), + size=16, color=DIM_CLR, align=PP_ALIGN.CENTER) + +# ════════════════════════════════════════════════════════════════════════════ +# Slide 14 — Demo-Hinweis +# ════════════════════════════════════════════════════════════════════════════ +s = add_slide() +section_header(s, "Demo", ACCENT_GRN) + +for url, label, color, y in [ + ("http://localhost:8000/ui/", "pgvector (blau)", ACCENT_PG, Inches(2.2)), + ("http://localhost:8001/ui/", "Oracle 26ai (rot)", ACCENT_ORA, Inches(3.5)), + ("http://localhost:8002/ui/", "Oracle In-DB (lila)",ACCENT_IDB, Inches(4.8)), +]: + txb(s, url, Inches(1.5), y, Inches(6), Inches(0.5), size=22, bold=True, color=color) + txb(s, label, Inches(7.8), y + Inches(0.05), Inches(4.5), Inches(0.5), size=20, color=DIM_CLR) + +txb(s, "Suchbegriffe zum Ausprobieren:", + Inches(1.5), Inches(5.9), Inches(10), Inches(0.5), size=18, color=BODY_CLR) +txb(s, "Bäume · Wasser · Menschen · Gebäude · Himmel · Nacht · Autos", + Inches(1.5), Inches(6.3), Inches(10), Inches(0.6), size=20, bold=True, color=ACCENT_GRN) + +# ════════════════════════════════════════════════════════════════════════════ +# Slide 15 — Vergleich +# ════════════════════════════════════════════════════════════════════════════ +s = add_slide() +section_header(s, "Vergleich", ACCENT_PG) + +rows = [ + ("Merkmal", "PostgreSQL + pgvector", "Oracle 26ai (Python)", "Oracle 26ai (In-DB)"), + ("Fotos indiziert", "116", "116", "116"), + ("Indizierungszeit", "~26 Sek. (CPU)", "~16 Sek. (CPU)", "— (separat)"), + ("Index-Typ", "HNSW (auf Disk)", "HNSW (im Speicher)", "Full Table Scan"), + ("RAM-Bedarf", "Keiner", "512 MB SGA", "512 MB SGA"), + ("CLIP zur Laufzeit", "Ja (Python)", "Ja (Python)", "Nein"), + ("Embedding-Ort", "Python-Prozess", "Python-Prozess", "In der Datenbank"), + ("VECTOR_EMBEDDING()", "—", "—", "Ja"), + ("Extension nötig", "CREATE EXTENSION vector", "Nein", "Nein"), +] + +y = Inches(1.3) +header = True +for row in rows: + bg_color = RGBColor(0x18, 0x18, 0x28) if header else (RGBColor(0x28, 0x29, 0x3d) if rows.index(row) % 2 == 0 else RGBColor(0x24, 0x25, 0x38)) + row_bg = s.shapes.add_shape(1, Inches(0.3), y, Inches(12.7), Inches(0.52)) + row_bg.fill.solid() + row_bg.fill.fore_color.rgb = bg_color + row_bg.line.fill.background() + + colors = [DIM_CLR, ACCENT_PG, ACCENT_ORA, ACCENT_IDB] if header else [BODY_CLR, ACCENT_PG, ACCENT_ORA, ACCENT_IDB] + widths = [2.5, 3.0, 3.1, 3.1] + xs = [0.4, 2.9, 6.0, 9.15] + for j, (cell, col, w, x) in enumerate(zip(row, colors, widths, xs)): + txb(s, cell, Inches(x), y + Pt(4), Inches(w), Inches(0.48), + size=13, bold=header, color=col) + y += Inches(0.53) + header = False + +# ════════════════════════════════════════════════════════════════════════════ +# Slide 16 — Fazit +# ════════════════════════════════════════════════════════════════════════════ +s = add_slide() +section_header(s, "Fazit", ACCENT_GRN) + +bullet_box(s, [ + "▸ Beide Datenbanken unterstützen Vektorsuche produktionsreif", + "▸ pgvector: einfach, leichtgewichtig, kein zusätzlicher Speicher nötig", + "▸ Oracle 26ai: vollständig integriert, kein Extension-Management", + "▸ Oracle In-DB Embedding: Architektur ohne ML-Laufzeit im App-Server", + "▸ CLIP ermöglicht Bildersuche per Freitext — ohne Tagging oder Metadaten", + "▸ HNSW liefert schnelle approximative k-NN-Suche in beiden Datenbanken", +], Inches(0.8), Inches(1.3), Inches(11.5), Inches(3.5), size=21) + +divider(s, Inches(5.1)) + +txb(s, "Quellcode & Dokumentation", + Inches(0.8), Inches(5.2), Inches(11), Inches(0.5), + size=20, bold=True, color=BODY_CLR) +txb(s, "https://gitea.dl-cons.de/dierk/vector-search-demo", + Inches(0.8), Inches(5.7), Inches(11), Inches(0.5), + size=20, color=ACCENT_PG) + +txb(s, "Programmierung und Folien unterstützt durch Claude (Anthropic)", + Inches(0.8), Inches(6.55), Inches(11.33), Inches(0.35), + size=13, italic=True, color=DIM_CLR, align=PP_ALIGN.CENTER) + + +# ════════════════════════════════════════════════════════════════════════════ +# Save +# ════════════════════════════════════════════════════════════════════════════ +OUT = "Vektoren in der Datenbank.pptx" +prs.save(OUT) +print(f"Saved: {OUT} ({prs.slides.__len__()} slides)") diff --git a/oravector-demo/frontend/index_indb.html b/oravector-demo/frontend/index_indb.html deleted file mode 100644 index f18e2ea..0000000 --- a/oravector-demo/frontend/index_indb.html +++ /dev/null @@ -1,179 +0,0 @@ - - - - - - Vector Image Search — Oracle In-DB - - - -
-

Vector Image Search

- Oracle In-DB -
- -
-
- - -
-
- trees - water - people - buildings - sky - street - night - cars -
-
- -

-

Enter a search term above.

- - - -