From 96b81fc89d1757a830b88f8fe07043eab42a9621 Mon Sep 17 00:00:00 2001 From: Linrador <68631622+Linrador@users.noreply.github.com> Date: Tue, 5 May 2026 14:05:56 +0200 Subject: [PATCH] added log + bugfixes --- Icons/69.png | Bin 0 -> 16972 bytes Icons/anus.png | Bin 0 -> 10839 bytes Icons/bikini.png | Bin 0 -> 5971 bytes Icons/blindfold.png | Bin 0 -> 4336 bytes Icons/blowjob.png | Bin 0 -> 20149 bytes Icons/bra.png | Bin 0 -> 6624 bytes Icons/breasts.png | Bin 0 -> 6847 bytes Icons/buttocks.png | Bin 0 -> 9989 bytes Icons/buttplug.png | Bin 0 -> 1834 bytes Icons/choker.png | Bin 0 -> 8690 bytes Icons/cowgirl.png | Bin 0 -> 16095 bytes Icons/crop-top.png | Bin 0 -> 5639 bytes Icons/cunnilingus.png | Bin 0 -> 13097 bytes Icons/dildo.png | Bin 0 -> 2554 bytes Icons/doggy.png | Bin 0 -> 17444 bytes Icons/dress.png | Bin 0 -> 5414 bytes Icons/female.png | Bin 0 -> 5265 bytes Icons/fingering.png | Bin 0 -> 151019 bytes Icons/hand-job.png | Bin 0 -> 5957 bytes Icons/handcuffs.png | Bin 0 -> 7043 bytes Icons/high-heels.png | Bin 0 -> 7292 bytes Icons/hotpants.png | Bin 0 -> 6046 bytes Icons/lingerie.png | Bin 0 -> 9619 bytes Icons/male.png | Bin 0 -> 6751 bytes Icons/missionary.png | Bin 0 -> 15878 bytes Icons/other.png | Bin 0 -> 7624 bytes Icons/panties.png | Bin 0 -> 4661 bytes Icons/penis.png | Bin 0 -> 5152 bytes Icons/prone-bone.png | Bin 0 -> 3253 bytes Icons/reverse-cowgirl.png | Bin 0 -> 10937 bytes Icons/shower.png | Bin 0 -> 8242 bytes Icons/sitting.png | Bin 0 -> 8415 bytes Icons/skirt.png | Bin 0 -> 9171 bytes Icons/standing-doggy.png | Bin 0 -> 19319 bytes Icons/standing.png | Bin 0 -> 23010 bytes Icons/stockings.png | Bin 0 -> 6480 bytes Icons/strap-on.png | Bin 0 -> 17489 bytes Icons/tongue.png | Bin 0 -> 5404 bytes Icons/towel.png | Bin 0 -> 2032 bytes Icons/toy.png | Bin 0 -> 3952 bytes Icons/unknown.png | Bin 0 -> 6395 bytes Icons/vagina.png | Bin 0 -> 10659 bytes backend/__pycache__/ai_server.cpython-314.pyc | Bin 0 -> 10380 bytes backend/ai_server.py | 244 ++ backend/analyze.go | 2231 +++++++++++++++-- backend/assets_generate.go | 326 ++- backend/assets_sprite.go | 37 +- backend/auth.go | 33 +- backend/chaturbate_autostart.go | 22 +- backend/chaturbate_online.go | 16 +- backend/cookies_crypto.go | 3 +- backend/disk_guard.go | 4 +- backend/{ml_embed.go => embed.go} | 24 +- backend/frontend.go | 5 +- backend/live.go | 12 +- backend/log.go | 266 ++ backend/main.go | 66 +- backend/meta.go | 132 +- backend/ml/detection_labels.json | 4 +- backend/models_store.go | 5 +- backend/myfreecams_autostart.go | 2 +- backend/nsfw_assets.go | 13 +- backend/nsfw_detector.go | 23 +- backend/preview.go | 70 +- backend/rating.go | 736 +++++- backend/record.go | 2 +- backend/record_paths.go | 5 +- backend/record_stream_cb.go | 15 +- backend/record_stream_hls.go | 18 +- backend/record_stream_mfc.go | 20 +- backend/recorder.go | 116 +- backend/routes.go | 25 +- backend/serve_video.go | 7 +- backend/server.go | 363 ++- backend/settings.go | 17 +- backend/split.go | 28 +- backend/sse.go | 11 +- backend/tasks_assets.go | 16 +- backend/tasks_check_video.go | 26 +- backend/tasks_cleanup.go | 4 +- backend/tasks_regenerate_assets.go | 36 +- backend/tasks_status.go | 288 ++- backend/teaser.go | 6 +- backend/training.go | 286 ++- backend/training_label_loader.go | 8 +- backend/yolo11n.pt | Bin 5613764 -> 0 bytes backend/yolo26n.pt | Bin 0 -> 5544453 bytes frontend/src/App.tsx | 118 +- frontend/src/components/ui/Button.tsx | 32 +- .../src/components/ui/FinishedDownloads.tsx | 550 +++- frontend/src/components/ui/Icons.tsx | 1234 ++++----- frontend/src/components/ui/Modal.tsx | 2 +- frontend/src/components/ui/Player.tsx | 142 +- frontend/src/components/ui/RatingOverlay.tsx | 861 +++++-- .../src/components/ui/RecorderSettings.tsx | 237 +- frontend/src/components/ui/TrainingTab.tsx | 1283 +++++++--- .../src/components/ui/VideoSplitModal.tsx | 18 +- frontend/tsconfig.app.json | 4 - 98 files changed, 7988 insertions(+), 2064 deletions(-) create mode 100644 Icons/69.png create mode 100644 Icons/anus.png create mode 100644 Icons/bikini.png create mode 100644 Icons/blindfold.png create mode 100644 Icons/blowjob.png create mode 100644 Icons/bra.png create mode 100644 Icons/breasts.png create mode 100644 Icons/buttocks.png create mode 100644 Icons/buttplug.png create mode 100644 Icons/choker.png create mode 100644 Icons/cowgirl.png create mode 100644 Icons/crop-top.png create mode 100644 Icons/cunnilingus.png create mode 100644 Icons/dildo.png create mode 100644 Icons/doggy.png create mode 100644 Icons/dress.png create mode 100644 Icons/female.png create mode 100644 Icons/fingering.png create mode 100644 Icons/hand-job.png create mode 100644 Icons/handcuffs.png create mode 100644 Icons/high-heels.png create mode 100644 Icons/hotpants.png create mode 100644 Icons/lingerie.png create mode 100644 Icons/male.png create mode 100644 Icons/missionary.png create mode 100644 Icons/other.png create mode 100644 Icons/panties.png create mode 100644 Icons/penis.png create mode 100644 Icons/prone-bone.png create mode 100644 Icons/reverse-cowgirl.png create mode 100644 Icons/shower.png create mode 100644 Icons/sitting.png create mode 100644 Icons/skirt.png create mode 100644 Icons/standing-doggy.png create mode 100644 Icons/standing.png create mode 100644 Icons/stockings.png create mode 100644 Icons/strap-on.png create mode 100644 Icons/tongue.png create mode 100644 Icons/towel.png create mode 100644 Icons/toy.png create mode 100644 Icons/unknown.png create mode 100644 Icons/vagina.png create mode 100644 backend/__pycache__/ai_server.cpython-314.pyc create mode 100644 backend/ai_server.py rename backend/{ml_embed.go => embed.go} (61%) create mode 100644 backend/log.go delete mode 100644 backend/yolo11n.pt create mode 100644 backend/yolo26n.pt diff --git a/Icons/69.png b/Icons/69.png new file mode 100644 index 0000000000000000000000000000000000000000..f69b6156cb30a194ef403bc23a924e770dba2ce1 GIT binary patch literal 16972 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�GG+ZXKidZcX%r$CB^dqYlG;E&)DR; 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 Z@YbP3XOlCZf@V;%>zX|+1` literal 0 HcmV?d00001 diff --git a/Icons/bikini.png b/Icons/bikini.png new file mode 100644 index 0000000000000000000000000000000000000000..039068c5720c5058b80e2cd9848f5a44832003f4 GIT binary patch literal 5971 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 literal 0 HcmV?d00001 diff --git a/Icons/bra.png b/Icons/bra.png new file mode 100644 index 0000000000000000000000000000000000000000..51ae372f40db1c9dd35aa123829c98b1183651de GIT binary patch literal 6624 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 literal 0 HcmV?d00001 diff --git a/Icons/buttocks.png b/Icons/buttocks.png new file mode 100644 index 0000000000000000000000000000000000000000..9f3e5159d4d85a6b428203f78b54c1270fda0c8b GIT binary patch literal 9989 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 DCx2CK literal 0 HcmV?d00001 diff --git a/Icons/choker.png b/Icons/choker.png new file mode 100644 index 0000000000000000000000000000000000000000..820a41988653a4f96abf23a0db55fdd92d305afc GIT binary patch literal 8690 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 N|DL8&se(n|{{UAi`OE+S literal 0 HcmV?d00001 diff --git a/Icons/cowgirl.png b/Icons/cowgirl.png new file mode 100644 index 0000000000000000000000000000000000000000..b893a6451453b2b745d3c239beb3922f5212365b GIT binary patch literal 16095 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 NS>u}eYgKFf{{fK5S84zN literal 0 HcmV?d00001 diff --git a/Icons/crop-top.png b/Icons/crop-top.png new file mode 100644 index 0000000000000000000000000000000000000000..9d9342a21209ddc77400642853fa1e473aa2f9fc GIT binary patch literal 5639 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 literal 0 HcmV?d00001 diff --git a/Icons/cunnilingus.png b/Icons/cunnilingus.png new file mode 100644 index 0000000000000000000000000000000000000000..93ecb1f5f7e97018dd661beffa5409c5702ef3d7 GIT binary patch literal 13097 zcmeHu_dnKu^gfln*KLz6n~Y=?LPC=4O~_uMtgpai7&UIbqydyL;U7$QEoFI(;(mq|cyq<(w)$-hjItPlQ*$hMkLRMI?~Z}N7>4|Z8MCzg7z0D3 z@vh=+ZEutHsb@xUOVij}_V3NjboNIW^%Yyh#MB)h47nA4Z8wpL&v{alosb-FnD97d zJm3BMPTZ#?rqvH>eP1Q|jK#^c6;ZM3p4MiewC|VB6c(eD`$90SLsw6ZzTs2{NKniP zjsE*JaQ3SzuRzrqi;Rp+5{ugWGV-qgwiFpzEQNU~1-v2q|8M>;V?g%k(Ml0oiIvsH zN+iill+H{fi3L^HJY|d>p~$+Xv^Yq!rntE4agz}rf5&xB{w6sEg{Gc2ZCaYi^2~)( zaIlB`ty@>6rKM-*(YMvyd9*pIrDYCZAwkQbM|8yXv z6}hspv4Iv)Bo1oPP}Jx&6EgeLpT2c|QW%?@j33#~y5?r=ce3C9tLC4u+oFm}j+S{+ z7t2;4IhiEYyYAp19FqAT_eZC7@-E+UaNyG^dQN}s+O<-HXZ;G%5y%H}T)T#s9&k?k z_T4*Y-r*8e4ULY8igcl|Zgb(Wh^{A#i;HFp9VM>2%Vfhpf8zI6ISiytadUH%ic?5l zfs~WP3Tk(`N+K%^DKaSXiBS`UWhAvr=#7j>%n&XJw@U^i?XYdN22FP0|8?mXv35J^$>MM z;+Jr<#6_P!6BgxX&Uaq@u^_MuVL9jX(XVtv2arjGXW8 z>exfBz zv9;x*k<1p>X~xAGW>%(G>bf8i9wmcUKF-G{(es8yLCAZHv}?%?9%AmlhhUKQ#;Ef= zb0}9gDc0hSqY<+ct$n)6$wwy14re&t@b)da!%QP1WCmI*3!a{k@fc&H>B3**JzH*z zt_az9#l(cc+OHZ4pM&#DkaK(zs<&=ogpx4792^vatNfQMPWnYUA0*weFOCLcxcT@f z6X@GVMyM|1Ob0}+V#GfjGu5W6JQ6Y@D{RQUb5DwPds|5w$C!LNsS-;Rf ze*Cy=U?5DV@TEp>Sc};UJ-$$_{1@^W!6hYvfk8oYfB*8F{zN^lFaQLgOY_~io1K$N zoj_j%C3kp!vK}5CjYtop!9KLIf*9nxf(2J0d>`q(X4=r#;%?o@&pHqzU2E` zzuX7hv#8zdpb&7fe>^fj*$-Gq_0nOLlQY$;jL=Ax7YaD%eJ^D0TkiPyc)~t%YbDn{ zq)&XP#+{p-;=b#Op4)TeS1rU-T(>Py3H*kk%mJsj^_<9Kq<6SYd>n;YSy`{5B10ah zNIu(P?|4m1lv=E+XD6zwtLrfFl{QN`1_?beg#I>7loErSKVeDZF@ArV3@@KV{#%ddMXRvcjLQvUWMt%UCHG=JUiWuaeZ7&M6AA&^oh4qE0hu7DlW)ekKUi2;nCd*& z(c251Z_?7DU%kTj_&bbe*%=)K81PA*-m#H`7sLDcbBlk!`DvuRal_{F9|10mO9DtT z`;Wc66N!?~8p7@EE6^=5IoxWE87eWAGhYeaeJ%sHf`WjM2^iP1^GRHbRSCZK@RQm2 z7pkqD9dgJAauU;swfAtDXvT|0!*P!opl8vF8?AVI+R z`&tGu2IEbS=7ktJ%nAd3s1kl`saQrSk7W|y;}ru+Dk{8t{J#e?QAfMhvpP%b(_ED1ZI>C1m|gPf=Of9nDa2)3=>sJfp2mac#1Sgo=s^{dTIW zx3@J}jCsc8y$l;0V|;u(`nUB^?troP?8}V4%2MK386ZaEv{^&p4L$)aD?je?yH)xW zs&P_4rz^7=a5Bfk&@{9s7Z)RlSB=79_9c~hzB~K9Y?udNYE4Z`i=3EAdW=2g1;oxG`Oov#bbS)?t9JW)?yUyF0o zx`LylV~{7DccN(;fv)Z-_PTm|dpj1AdxzT;!5o=7&=#zezkCsiee>q3L#4f#n3&34 z$)LD6N^?A6Vd3S`l7R9L6*yO}n5~V44HX+pnMdS3LV|%8*&bM5FKtvmCh8L_k@Mlh zJ(at6QR0^|WRI6E508%UQXG2#vKxF3I;ve4kShV&T5$nIv9hsgwH3v`=UGx+O{1@` zFO<@UCjVxAU0No^Gu6}7)Ko3)RCF|m%i=#SN{ub`fK6LhH!Cj>_t~>&U44BaEoP*i zHIM0{P~+p{XzMWOc0rk$XnRz4_qT7&Db9`2U%&n%nsB_!PR?@U28}`}Az4DW0f*D1 zss{ldia=FW^-X+y#OKd^kg2z`hHhmIef;v}i~qPTTpC!`$A`J3ii*Kmeka6LzJgv# zN;gr0{zOoik^Yv;pyzHTpS>8hvR)LPEF&1;b2A!n!@y|JqGYPva62D#CRJ z8+=H9dCmAOPt{3i7c@=Z6cyWJFnP8_#c*S*u5^*~oMA0K-r%!I1KsM+q96@jjx{@X zAOlbzdi94yuj#~8^*HSwK}J07>Fssh_@xht!3NAMQNURK?pEj={h}^1_O1%nu&^v4WGeRTm(s>e18_7T}k)b z_X3h5I{Br#xVU(EC=2IzUrG$*ect#+I@cEoLQlJj*GgL$oy;eRT zFQ5yoG3szOXr!yZzjAzYQ>Ui3Hq-r&CbT#L3QlS45P6n0`NdtDwPCyA;o+ND?8WWJ@P=$!)-!pb$d_SMKS~PMm*#ngai%`4HoW zkV|=OwDrXEx@`Qa;cO^A*EKRSn*H-9OuyV3dSBX-|Jv|hptMhDqm;69a^|+?6mEDd zlUi8b&&~FU5aGJO z6xwca+t*im+V>w3;G)V{MSB#p9A=?TL*&PgSAnO!@3RJaVJk}a;pS8PCr|!ljM!!9 z6p~R=1~bV#|EQi)>EiAl6iKj&%h}m##uaAqpU%-VcD(iUshG(1>n=NscRxr!y95a2 z$+$Rr-K_bR!(=5RJgN{4;aKS$FXT{ZduW++NMa&2f)NO{fYQI=cPy&&SuYeS3a@S= z3iC3y#rnj3xN@2EjO^M(1x05xqr#m#A*H;KHA>M85l?=Y-16}7^7i)LLfv%ZCiMJb z4@aB#`Lp8V#~eI7JT5EWIX=jyLM3}6PXch~$rvcHFh3t?lkSJ&)ommKj0PfOxxbcF z?R)g4)IO3TLeX}nQ3je@XeV<(rtI*H{|W!;POl((!;_1Tk3px9YGs8wIES82=DBE^ zj}uR3R@U6+=D>AtH(a7HeHmI8b*>wwgcNU42zRfOxar;ltR3giwGzfX9Hrwno`}glFP!VPjGtX!04cAoI z$rbP1nM<VG;}#nm8v!2$&0}G{Jrdf$Z6_xI z2zN;xpS?YDx;~o?B#`PLTwX8rCYn!HZW``-W$6?Od#>H6-~Fxzjg!i{oL0*7l-~ZQ z@9XO}{kU~ibbtq5Gcp(hau?E}MDze9*Vg7;pi6+B1ho!dEV@ZriO~L$Wl)3Ayg&W?qf zTjfyODhy7H8x@HK+)715L&?oeq#u5!H<3Woz#w#IN5r;b0wuHR!47yQSif}%I6G#P zQqbex1hd`*{=wBfbg_C590^d~=Ip!g$Uw_NxAWa@m)l;iO3~ER99;8a;g09If`gOw z_3M?KoE)@UWEmy;PIU|ge;`$}G8l$n)wJSlXPKMBW$;rt{nVDmNtWi=^XB8BX z$Hza)D{efGw()Rhjl~5J?BGiG#SaJwK-6Nn%|KiCJFb)^LVb4f4C6Xay-Ej3rPnlg zBqStOj~~y&%{2#{|6}`V;8=djARmNH)PW8m0QqR{d$jbtj=(EPE!3ppx#iy9gQ0Sp z`{p(6Pbv)7rW*)m{0y`^f`Zy*0s~q)4?J`3F&{|DBIfFny03W$D#~q z;J$g}|~KhV;;1jI2pnT{r^!&)xL-TE>%VcW@Oz>72)AGCwGC1^13 zrTAySK`A^dYVz{9PyeN_4p!Lfs^ok>_8AU1S+Al`8xj+flau?FDn%mLct{SZDSKo^ z^s~e?406$Y6ty%ze+h!XXIRPbj#C|#U>MwOB@et)_H@gS;f4#w&D4JD#1?4ZK%ZSl zjlIk_em$cRwJj|rsJOa4-(Dg}Ax^&H@d%M97Jvob|N11hfZwySuwVj!0;Lq9ixNsw z^YR$JFY!sIaInNQAUHG>4OG(H+&u4pM7Ev1eejecCnqQNWYy-aFk;55^3oHZHuS%B>yOh+UE4kuU`g@hLI5VqIOuzj#J9gvRpI z#vMX6bVEi8XIkT~4g4gU${9_MpWKOhS$sc7%X09e4=F7z-Y`)N3BwIiEUY6St!3l1 z)PK_qGc;#Mbg9kOCz?Q4WB_fDyQrsti~@+WjyzAn!N#6nO8jHd`~q{&QFnu>ni>Q% z(!A{Kk~hr$Xn>2Vpow_U(axIu-UrU{jSXY&;7jOVw7i=^+$j) z+d(rZZ!ueDafciD1O%?Mog5EH-}aQ3;Z_gtKSSR< zL)KWc!H>7S*DFR#d{8&6x=3v+4A?nRztl-G0z8b5QzPlmO^N^2ezaI$JWe>JPvw5o z3n(fEuKQ_}2`O=qNJd5sfQR7nU_&8=`Vd%@R=EL`0;e@!>Z#h=pX7xk2fEwWH9AVt z8b+cFe24C9U3InD;no}^56G4(biDAeYmvhGVJ3b??48;wg$%*xKD2?@Ca2rF-5!gP9eMn+9-Q&ln!U57!^jRu&( z*1vyYRaFO1Nwgdwfb)yp6z|0yc|e(kELp$%@Zohb9b4_w$UuW4>*^{}jWqjqgqo7i zm)VW*01@ii2o*B~alu`Gwl76<)8l>Vm0|wFe#Lp%6muNjWa{DdG203;|4im*A~(YCkW;pXMF-!Zo~L>xpw z^H8wk*o1@zf7@&V!va%;u&pD_VY~aYfPlbz;e|WjQY4sxFrr1oE@S)fJ{F~Ooo&Ya zY;wi~_q#sN7xe(1bSI|7dVYTPIoR-?kKoGC$`8(Y4g$n+ z;_L01#xqh%$}44KSW8Pw0X1*b!P-Nf8>lrC2;OQJ79x6ahi0zy&n-Fk#tHYVH6L0k z0!|4Ssf0yF;-*S@Iqe$!L(GzmI{w4oDJ6!!CT;2Zd?HK($~pI1RcZ*Ol8+VPSBOyunJk0#4`u5lxxhn9A~>f2^~x9>`L z1TE(M`}fV0l1YOa;!6#R2JI?TRKhz)O)m&QJe>Akm$vhVKi<1T+h7{SlzJ#Yc&4Xi zmnSOdpYQ#R@;^Jy0R7TsC8AgKqOOh}#itj3_Z??zYwKm@XoilzBb(+I=YBwGDPJ{X zZXNx(Xg)iTyUOnBvGMUC(0bpieL9X=q(P(6 zWsZ~L!66|8_o5O~QX+w)j9IN$d64lY$xpZy&cY9#@-LFwaO>-xia!ri|kFgY`SFa3;M_GE1nSkIli zckuu4LlT+3pN9w3lfzb(Rxf^T(>U z=|O9cmdrRgmz%Hr1QP-p?`6O(Za%SO@b`30{UV&3rr7ynQzsgHs4Jakh>LW1`9^qo zd0UVE5OFybF3Z3oT3SvH+(Z>8w_qX7!}Z0*VY``+S^%VWr^Xwk=czu zfn*Zc>j0KTU|3X@4%AKPQmtchEc>1hH(2n@VLNlAHCPL70H z&_q#52^$0f7*!$Q1J6}G;9UTvc7C?m@hz!b2xfCBGZUe;60KoObP?dMm`5;lf!+#@ zpx{DJO*J(3S&7UwU7V3X&N&ku-~5jn>XniLnnraP!8pM3aEnIz;#7NgZM?j@a!cBE{ssh+0I}RzaYUYcxB6_bCs1Es|928v zF*3F@@!kGCXX`v{_w=koNWuarla^K>qttm6v;QF`pohd%%V1w0(Nyiz)^IX5VY^{l zgbHDnsy^8`e=o8mNyvDU62CpQq-AqCnPbe|&5e}ahrFz;3_L5P zrxi>}mQk%(C-Hkf#kj9syRENJJ9A?t6zI=T&OK^ES~o##Vuo;lpDgfMqNe*+bpY4! zK|~DBoj2xXh&xUIO3e&{WInDeC{X=uSVep^h2^$#r==x{>0GsznRA0S%CFDG9 zbb7oxEyc7Rr@{^r^R=Y=Z?n_GZA~8M`g@tz?Z2A|3J7$79l#9AGzKKR;*%%&Q)|>} zR`yIxOyRFyDIo{n6cC`O{9ttf*|7RP8=$>_>(|;pb>!)ff?n$Pe+^ z{E^SSpWd+$bKj-fFk|^xBV9vDMdi$B%IxH~*~wc#VWp*|(Fj{y(JA(&$012yXM zgfkNax_jK?$Pt<~&~Jj2^}xQsDWK55YTVyTI17N12zks}$3Y%3`}=q3?5x>q8sSU# z68PFTrhHuX9e7}>L=2E}OIw=~q??_cou;8-Bn)@KMnqoVC-zzE@g*GZofxX#JFn`l zlvhxg`~92KAv7`3CTMjd`W8GOm<)4sL=rbelGI?;!7C-bh#*zQ2h|!X^J3K0^mSlh zpi-*G&!0aLcXjor-%D^g$r9j3i_3Ij`rH3ue5`C?2IjrS54q!(ryHaYl~Q3q6rl(X z{3V!p9CyZ-BlPhV~A)p*xg&pV`~TM?w!{xdcYK;9($k*I50t>(6(WUxpA+k1s7s zr(m4`i50RNRzO>4>h!^hJ2^SMQ88kP4PPap0Y%p~Uzlzx$zA>Y*7n6Zd3CMHle(QV za?l)vbfUP>MHNA77mu^EOG?tl$jM>?>Jd$JmsQu*SuS)qlTlE(Pt6^kog7#Kkbx2d zOJ55iY|xWU%Y%1{jq8NGHW(KF{E@JAwzI3CgLz5I@{lDd3PlWY%+bP&SH;TN={ehk zeH3_6Q7wU}=}fwQZLHFf9$MxCY@@WJLn47?v-#T9nU$NR%lL4LJB(d*;AEwL*KLK2 zx75;Q8Nv5^BD8P--2%LxSRjNJL7Oa{ZipK(Rl7IZz)6Gw(;)E5B!QN2@{KbBBLjy3 z9zuQe${g&3l-drVCrw^==zxy_>lj02mRvA#A%j^Y;x=Gl&_!W`Sph1C3Ty)C{sOR2 zv$gn+LfEFi7nhhAC7U``s$Z(C80>l&la~ZmC(_#xJ0+APCO@5{XmnK=mTjgxH=5xB zNPP)5h*H??Rg`xv?N;Nvhz+r% z;1Wlmj5j7i?gYBYuELr7?-#oCzbf72E# z2}mnWHE%-Lc0iM3Tm_F?B+1XY<}ZxubJLEQ5x+F7hQ5Wf#YDf`I6K@RaKx@X|6#-p z?=9GO;K9TIIDA|xm4^^!koZKN9(8008D}`Ux=~~EW-4tDj*H~tpPYmV#{f)Mz;1W` zl1fb9J1{_kSc*Vm2J;_snU6b-vyYWjC6khgk-(D0LTAi~Alqb#Y13+dHs{GFt$g9< zyEMBiKmH_yjh>yJ3O)JG?y+VYkg>428H4x-h*s8;p{AxLWR_)ca;oy|)pxIXj%N-A zp0M9BVI31yO`4(4-mhSp0b=$OR#fE04oT{Unzc0wB+|>;by*o{>0sloej+AmTnbLL z>Y{a}JFH}gKMs!Tj7xPL2M~nM`v35NM26(p!&L6f#jC1>EDWl~0*VXqmcxu1M>$)H zHMtqxA{6YHhK7dT%lcu1CP(4nMZlM#r37MHFn9B){}3|QYU%W35zO4>+Uvg!Rn^o8J=Z6Kz?>Xk=ZH?J zIdVQjMKMZgj42ictFQ;^`96-N%Fzmu^*c7(Uz0?(Nw~SIUt4x+%!23H#ug)uFDDlO z8zs2ufpp!itywMl1HFO+OHVy<$Y^N7^B?A#FLuRBqzZYl!9Yr|UWoC>Cw2RwULkn* z<5R;6m=;X$MB9Pm8cE$04R-F#_C=g7GMvo;{Iu zbAaifCU+c^hmwnn&_=_7Z2j@yOTHIpFssg;g{?I2KdFykfoNE)*W3Ua#a$CCdbkD* z&mCOueuK^cg9iH{iD$Kvzy}~$ANuMLz4pVug(blpwF;1NdS&zc(&vX1MALDw z0RUA**>rI(Ri#m>0Ow>5^v843bdq&{bz(CqSVkY|rQGvA_%_s#+FxGQroleft zFWzY6wgQjdf?=`f5n2jD1=_wHh=s8GZ$40{600qm55MS_8uFpqIy&Z${^SCsy{E^C z!+c}5F#~GHL#0Y7F9*me=xw(HBNge{|AgbhHt}ITf1{dECN74vI7%sP! z4`{Uf8@M0R)D#d@3l%+HZX@iouLgon_}6-PSQrkchA%$cz3p3d#o}UDSPa};fISWu zkOwKwG;Fad;Ozt>a~7}~MK@{-OVs;4#psBB7M)x&ta7@eqr(X#AlR7h4r}byt5-2( zeD>QcV`QSq*p!T}e_393K&|B&_V3JGOhX4F= zy#$*rWdOeqC{rL-iN(Q&vG_%nBR?#1Am0S9#B#nZ*U5XPeB43F$cPVF_^GbegEawy zx*Jyj54x7{^G0~`wC%c<&Q}D%ImdJ5}A`L$R@EUkC02!!IGAPw3(e_EL@%Y$*&x zM!~K^2cpP9RD+omq0IxcUnwgQFKFGP0Rr!gpDB2Fc?H$g5z5L=FArw0$;-|)10fUPR^fkW`+U5|I4z@8Hs zaLn9ue=i?)NTJnLs3B7rqoRNOpx}we2ll_Uz5TMJgc&M%Ze;~Fz_8*~_2qo+Dh$j; zf8Ht_flZ0bFIogemE=$q$iVf{BdXo!jJwBn+K(P(g6#>jDVRqG>J&P9%uc-q*9dmx zwuc|ypNrs1t6z9fG6}nH5A^iH6~fM&VN>r-a`Gzz>hGG`+8%~kH((M65?@|V@5b@& zO3;HWB^K7q$kLQP*sOw~pCuS#|2t=grLc=if9v6?XhvwDPE)n!TeB>%sDe=8kf{%^ z`hplSz#=KN>}=XD32?k+XIIb{_QHSy8dP;%@6|-)#q!Shj62LopzvgD%RNa=hj})D z_+Mzc>B<6lg*jRy4$dOFpmnXRt<69qkCod|sqsiPCx)1$iVaT69+GGSX0 zTnlt=4L`6%sC=+maFIm<(8l&hX1Tci(ncyNis{fQcc_2pDFyL1KPELo^iz zQP9(oY(}@XBC1tU(c?Dw{7%n4HD=krHB+7gw**cBC`)Wh8@X^-pt~{(hf;>RRi1Df*wgh1!ZhC#!w~i3|^7rrG zw^mDh$^tI@!M+n)+46-3ge-`HRh8j5SqXG7w5dr>TBhNn)-{$y-jCWmAGJ*+d7bkm zOkjWv97kJ6=O@t;{l_8gkFdD{6@gQLscGB!bMHBR$R#k1aq;oxU0mpa-PawZN+fa;cn&i@F@}91WRiRLF0#S_q??V6 zEvwr`S{!MANov?RTKaO7d0P3aawdN7wDOCkLHiBcQGx5oPA&`+e|WKz!#q)|x>l9W z*RNvz?-0i=hA086Y$%Is#$_wQPY%3jJIyYbzhjB6EH+1an~#GhTcDcQtHv@iE#br0FH zTq*cCsw=gY4J(TXtgEoUtqr3AQev?^QgU&@f-=oFKKsx${XdH>c$FNs;sPB=>Nyw>;$~GdgXpH U7_9{VdkefQSXo#1@q9 z;K&f*1Luj`e2Jjo3bHjf2C9ePU%&;Aml56w0P4~q2e)~_wICUHJqQ4xUH=X)W5GtR}9f=|s}? z$5|1iwa_*UV*;x)TUs$!RlI`F-d>Svj5kuTd?k<-Q*wTTGrqA9xw03f5j2!@rt5${ zdBFV87(Ha=b@l`|GVZ?habt3!9nB?yx=buj`k&&DaVad4r_xc4pe|KAwf38w9F&)r zw>EUc1$X5N^OqBUbTrBSd&Gs&;o*zh+uH)bJ|2lgF3xqtc6-*(Cu-iaXGF~gM)+jD;}w<62n?uY;A1j_l)?@<{3uI87|RH zN>W!RYJNtxcUbYo{xSVJ7-G0aSNJ*gaAGw+HC0$zMy9hqM&3gFZfNMGkPyB61`pQ9 zq2=Y}2hKdeefCn!0y8~!piQKxPjg|3&A{Gxxw{+EOxe?d8Z4i68pAKT=RD5o3u4_~jc!hC^u%p^W z{1a>CyTQTp1iSKwXdRtc1=P#8Vz`pjt*t;fdTYLmAMP!bg#kCwvZZBZyE00zsw{wB zV%>~aDR(L!Zhd*L3`ftCvE*keFG3TsdDhyG2c4o?Xf#>^XhJ|#lv%H9w95+H{R(5q z13=WlK37#$74`!dT45-ZlT-n|asj8~!RT;br65y!I{gqmkH2F2`}@h=PC-FBG+m<* z*!S<>$((LMxX$?KXpDkiJCmaMsK*VN2t{n4qdn@8l##JSp-`Kbf6M<`(+B~9rY(~; zChGe$^V26!EO`!~#iJbKs)nO2*ppD3>o+iMie!os!}1!-|+ zk!W5(8-qEfq@<*6U;v(LxZTCKyuRLBSDT%h8W+d&Kv9r6_HAc}w4x715rMK>OK)7X z3?hF>GCSQId;2n#1H0qKeR?u#v$N^~W-q|eMJ1T*%J%t*-GmWRTwkAsL5ivc-PO(Q znDM1cTk7-LvM|0_E^10jpj94--~4%R0QCjwJ z=Z5US2|G;&gu~%v7cA3ras;`#xv^40|70L7#2ITMj|cf$TU-BCVD2x}IWz^#_GVmd zerRKB8>4_SF@!QM!&X03b%{y5D=-aV|F*%%ucsP?qB_BZo^&HckTUVq}Vl9E6AJUY=5 z#p|t0jtL#E_tRwcIoX1dd18PICE#0+JrIT{bZwdnROI>8wxgkY{=5h(GnpOIzPPAZ z>GVpR`MfvSqr1Diy%hhLJixQTCJnbYfUf493*{sU%7nJeQ0(@t=^rLC}L=Ywo1(|!OT)O(81%4K1&j*RDDKo)i*ZZ;RKPt@EBeC9*V z%AnI@6jpXJ#7@bTMSLOhkiM;qV~ee|6fUCC=z$uaQ-3=)%gaW#^)Q(_t$Sv^zUp9| z5*mGB`QK{5x^V@;;OXgkk*1+6Xf|a3QjtdWeJ?nlnYwzrgheMf$A0Z-C%~BA?^W%SB!RobhI1UCQrpK-5 z1<4AJk2g=3GxGFAq9HoR3M^OkpS@1h zG+|=_2D@roTTjny$##yKh1S#SUDCedqAmrY#gr0YHwXqAW0RA~PYYEXdt>=U$%?vv zjtjki{~im4e%zevSh|x@UVgeQ?es_)Wp91HNk-DtEMdl9>X6qtcE($4tKoflsrPXe_R&Ywq^=hpg7 z>A`u^C@`=w@;@C(a-Vmwx1T#rnq~_?AhCb{eFF{|bk%NOpJ@q%8@#Eff{x<*+3drR zm&s?dK#FW?K0R&D2VC^(< z?F6C9k>u^ob^J}`{YhUv7K_y$I4lW+WrO6^-*0(ZT|MsTD5{7Ga&1C)w+UQ}s%qBD zOg~xF*eJC=+m`NCL7ntX05Q)R9E=})tlw4b-10IgOc@!ctE>B9d70FfRV-7Qlq5jU z%fs((%wF-IZZ;|{E!||7S&m>donJ5Rah2c0|Zgu3JVpWhY4s~wBV%hdz>uDhzFEDYo{^2(SB98y$QXR}-MB)XUYI~z^a nD7|~MgRwW!x@7wQ#G)1^SfEkzyOjBuGD5OaQI5T{SGHt@P$VQPNs_GO*kmVJ$vF0wy+`Kv zdA~oO-@m`VzTd~=^zNN=pL5^$>wb>wd0p2_l&-cKDKR544h|0KEp-(=9Gr97@JES| z0Dh7YFGdA_o%7IBQ^G0iVqS!Q;Mpo_DdOOiyu5g9jt~DPa#ermfrG;mf&4l5a&FTa z2S>T`mWtv%ACuKFZ=bu?M;A6+R7XDelN(l{`K-S^eR?f1N9vAZPbTi2fIB-kM?*rS z=*gZDPUBsoiO-6m!^ip)zoylo8>`kD{(x;?f0?9_Njv=QmY=qJP+>mZPMyxh*L$fR zUE663lzcRgc_@?!ABl3H*~2K@J!sOxC@gr0wUr2ksquL^!rnxMBv2^*QfatF$YJw- zk~@q-^o}c)Qe+CB6cI2C7STJxSw@^lTI2E`dvR_mq7QmR+*DVL zjEyO&s6sY22=Van*oA~B&Ye3Kr_N15h_}L~7&(?b=}A#mCa!+FI_%pwu{4Dsvb?;! zAKl%`zP{38jHLcPqDom5*RNlXjE%jisd>%9!h(WY> z#dWF?-*NaGWv))9s%q;c8aleth=(ynMS=t*^iSit)XZ0gswo*5+F6w%jk6}diHf9< z1RZb64iuTbEVb=c%DYz_@gQ86FRZ>^;nk~GLQjtI$fsd z&*rgE7k$;B@J5baNyO0W8|+W>^O;m%Fb5Bs22lqd?gZq-rqt*~ZAjA6)3M5gQ*h6$eT$w$C6=-uwNeSf-zPbF zJgct0Po*;_!IzeH@Sw2BQTXaoaN=mTgxDTm8;fGR` zl22$zf||zd+a*@*RB5vN>T^aJx)*VS$NB8R-NvaL))clFW3a1CSUMoZ6A8$%m zXy*1!71f_MpPlY2U~Uo$>bh<3dV1qQRNb%Ak!AmwIexeUua#ESZ$|8XL316OzY|A3H`5+S}W^9&DJ) zEOXZ=H?+ISq?7sYueG#9)2*)k`eh|DwKaEpsN5xU>|`V|Fne;gVtb)`X0jpF%NygX z1rdFExUBOwL&YaNBwx+(9=Qo->A98Z0GJ{Ud(P6H%_`DHUXv%(cb$uPu zr!%^L?_SvLWC6tjeOMGJs02;VpFd}wrW&vln})Of=&b#TA)MkS)+W2k&#&ZHWf>!7 zTKOtC-@pSa!jY!Z(0&Il(%0AbM~6p@&=r1um0P!jV+*NGAawXDjb3yl3vQoo{>13< zC-MmhtnD}{5I(v{to`D1UObnqY&2@5tg-QYweN@5Lz3`QJ^p1~L&Kj*tA>vrU0E3`pof6_&K0Q7CJ6v{kY=*n$ z2CSa8wl*R8`tzP1U5s@yCs#HFBV#L^23hdvm>3m3JrOkKc6@yN-`_dNWhKC6UAy+> z>f!FP?S68RULK8`n;Rhsi4{CqDtNM$6&3GnyG>)ToJvx(sZLbNQA0T|pU4QGYI3ne*9Zk1IQh&a8mxNxU2-F#Nt64Ntw#PU zvmWQ6*zggOv!w2u4~*N9TA! zp-(9AFnVKu-*zNygAqTMrFYTuVCLn-=3;IpI~NzOVF4{q!s@9%{`qsGWAex|tvOuE zrx&r}TTRejp@I)+Xlb=9^-ow%)CEErzhRvId+8j1q6Q@!+sih#pz|-~_kzAHGL|^d zqIy2o8Jybkpz${hF_VD4uxQ@9Ma~4k8=&AMfmy?rbJIjOQeYy3K2M5k8=3zrD z#M&2J7k^)N#C~O1=sF4g`c>q0Vq(_UuT&a2ujIeo=Zq(WppT4?X z*LJum+~}dtf2gWrWME+U@$;vOmzRXQhsPbLNuNJ!{2AbXcMo}G-Q%B{o<2`UM+b3G zQSHyp&W@v~7)(e;rl_QJ{#C-!d)w}enjq(lxV?9ip1P{pl+a24{rmUn6Q7!s6AFsz zJ6%3_vB#@3PSn)YP%tyceE-glcj1CEf8y877Zedn|AT!}^$=tvGczji;&A5EZ&$lEm`7|^n zRRg_(UUtv<;NYO=L|4gBv7uc!Cnsm9YL`6V^q};`9KGc>5BuMk_=5k6%yl6~_ zONF`~_vMRbz`wcV2W3mQG1j77sxi&}>z&H(?jqs59FkDfD08*b8>d?`Espk9J5^hq zP}0&2+Y5rAKTwL`ap&RXm~ zrvaf?;-tjPh;Pf=YhQLS6(Np5l6(A@M&|KiRYP$v?9B|C4nnj0?+|If9YW~P&YSnK zsDjU*iR;hm@Oia+F3WNZ>biP`ynV}vM0K)&@zM_E&cGkjubEBHNb8ldK3R{1NpTZ* zX&2jePe2H;eKSOjOmo8tCW0nHc9(6B~9mM zKKUL+-3CiR77^0dDqyV9lp>mo6%kC6_8@=)J-1>;%Yjj9c%%%il}_;EG-RV=w4`>r zOw{qQ97Z!z8Ng!J^t45qoNwb&KFhC^C(VZk_!v?i^-Fez#quiX=`%#0h*bv0}UXn03At~+V< z_u5!c$z`P#DBOw1{}!|(Qf7Q+e^453gi6uCw+b=F9xN9ru-No`z+h-$RQq}F2Xm9JuIZJ5rz~pW~oVC z|CgznJXSU~?=Z=!j2B zYQ+$iT!m}UH865Gfp5)lQlhNzsIHLB+;~2QJzf@?6*0m_@*}E~c?j2{Ts=`4gY zpj+t9%uWn0ylZIq9EPUvW?hP~7^I8M{YiTKqpZ3)f7n(E{ z-Jp~wQ38GFxP*kzl@&+GTjO_=D^DSK(qtY#SN-peSisT9We10p;=(XuSCq~K=TpfZh;@|`X22xT`-~{ZK!vR^7}D2A3kIl;Upa$9fiW0>~k=+=@|Xsp`zkB zuhrpjn2cB+K1|Wg?}t~9eHkE}SQi|2+Gq}VQANRjq1{fdtpz)eO$(cSzd^z*MN#Xw z`z$$`?x;=b8gZ8wd}!#~Bd!d8Xa3F!$CfV-OE;&Z1snPjx=g+lU@!y`8k#7T*ephR`beZT=4NKV;O|O^cYe<`LTO)WL^1o0Wp{==&08neO$%av z{-0Qp5{iWOu&OE<$B8-?%eL`wB5Kywk6KK33=N6P49C`b@NhyKaAH+)AwtvAm;vkY zR;*&o--s_e&Cbn9?@&FbNn6#udpBC%|J0`A1OAmOSNH^TC%+NE@yO);Zy|T8otLex z(qmyr`C1{=%8ulq7mA?-lVjc!irU%|P#*l>01Y9Q&~DWT8FhtZm`_rY4$ukNzb0#x zUo9)lqn7QjS}NA-{EHv;siqdG-iHjC>riMLD)B~2Q(U{%3I`Ivnmh?aBN!*kj#+{j zRj$*23v3ai|N0oAw;>OtjqOa~no$MLrAwDqI3(`t>OQ@4m&dZ@xnNv+dVdxgHvsa9 zCtNA`Rd+MU|AD=pYaz_z1V6ZjDX>>cmd3%c7U29_Dd=G;y;TN|x}dJw5Bw{xT6 z(MM`tZK)mYq}BMhev~lgioF>)H#ax;pw>@(JSd2jm#s=S@7_>dAk(<7t%TRwG27D8 z(vb2BF@A2!lOrcwG-tu5!a`L;L;kS^$K0A4Ie-ru*Nm&e`nI1vmSI5#@9yhIGyoS$ z{{L3yW=I}v%wDMhq{QMt>uA&o7UEsN9M29n!LQ5t8Ib(no|*g zz3zSf-K1C(#tDt3Dtf#+d}(TG$`Q-IwY?peoZR+Llt)1N$uYft(P>7)z8E^Y-@XJo z*Ov#I_(;E%Sij?nxdXMsYxOW1wLRRE)gVX(DNvAavg4NZnIx+WGOFQYQYp(bZ6AB?qwuj zZl81iVp`9N#yHNOSjGY^flxR1?_V037ANkK7%p2D{Oh?VszJ{>ehIi5B|SZ=_u1K4 z%>9*-a&lOW`BjG31<(?v7cvL2oi^Udf~JjCj~!O+U#EwZl0w-cW0A3w?0W?8v$3fu z{>_`nckkGDRO_!*%UaT_RxKngY7Z zZEukZn5m^Ddm36=PFdNDj~+cbSjY@=oo*&dlX5$cP;P*Vh>3~c_1X=QyGX*p^{0my zQ&JclI|KmJVVxy5vcqH0@c3fY*wU>G_U8%6m?K^4PwLv=_0;&ToA-ad|EZv?^P&oj z`qxhnsDXQvO2yyn1O^S5JTA$7{;yxZBE@}c%N;tKvOqGt6!X52``Oy^9vmKW@beSH z(@=4B6{_-F41v4ByAW}MKM~`QHF10#FdB3g_~S=KBW9&_#HG7&1-o8sJ)Sk`*fL)0 z52Ti+m9_O(l!-ea@Gzp6W-ZSXDWLT2BJeewEjj)yawlS}~yu7g04+?}LuoliI(;lZ-J^2;jz&5&@lu9NNsbbZKGF>&0^q7`AChtJCqy1*T9P)C=Qy=f6t;O z3V7bx`T5~a^>+`hsRjfvb8?|GHl8e`dpGp=C!)~zfpdETEn@{+8sYRX4M1uVDs^*j z#KpYxZGT0;KPvyo7Wh1Z_?y2xbSYnqZ->%@?Z=sorH@qw`2Mw1kk9C5gD*9*Hcy^h zhax~nNA!%8iHw(*7lV)Uw=b6*IO$>W;$9Od{?Kn9)E@c+jh*3y)&#CV|I5L9w-VzV zy>?a$H>eBH9akjQN&AR*M9tQ#K0EfzaL6;{vog*#3x?(+`iiXM9 zsIqbWiUCa;N+?AWq49xB#k8P-wTEs#wq#v#gZ=x)RQVKes-=rJC>aT&Ay+LweE8rg zH3_H@fk#-|%;{8@y0x8!y6vqkU|*Ty(#MYdfA%Jg0AUSC&GQMg2}3o$ z9;Gb;fFDz9T-KpQ&$>S$4}%_oa5R7%98(6Bl$73fjzKQi+Co_+`KXz4-rIYmt7Npq z^1?vj2@$OFs^7KJ!a}n8(<)ZL5?y%=l;YyzK#mKEh^Cq(by-;8r976nPs__CKk5Wg&a}ps{u9gTRybp>_FlIiWYvMc z8bk26r7PdwS5;Llwe8(K?5d6JVStWxkAK^grZOZX;SL%d4T4Ga2>S2o(YozzCn`q9 z=M17It)K2>JNb1(7n`izA8+zsuZ_4!Cs4e~ROPeDIsYrA35%rw`2OR^4?7W@`4z{J zU?~B3a6yAj_bv3C<=6V#29;UzDOiYWiZh zdl_ayEG;iXY%9-%B{0ISZf=jy9Y~@cp0e@uyvP3cC6yhE<-itE5t%k;6LcOPdrZVY6+At; zu+eXj&zQ@Y`1-Y3-^bWbpFWw9FI*E8)KSmTT9@8m>s)6Sj!@xj0Df#pq)69QLYI#Q zl#L=|OB50VF|w{h)_)U#AlSGBlPcsA;|4}iRM(l)zZ6n zlQtLgNSGwPv>)whuv4&ebK`*u=NOG#EwtsSjVUe&I9Lh-9i8O@Pj0HHjZVo4i@!bQ zHZIh?l+x1D2b*ndB@TlE%yK?Y4Qx{t6%`|+qa84hRcz&~dKki#IG&L({7mwV2q`t^ z?*Q2@OZN|SW+n+osnM~5qc4?k8&!`LW|GhZLt=8|EHaUj69KpYug%eEv}_Zko10@p zBCtpZOI~7Kt=#ZP4Tb`*wb6zo-_EfyT%evy+aJaNVW|J*LGXtU+^L=PW ze3^;}v_EGl3NiCWE{VX+MUsq+jEcD=^pME<(0p~;3?OaSl_6nZQve#>bagH6od4O< z+&m40ni9-HPJ6anTKj8bZqT&GU6Y#LDTY$8vNj~G{;Y7D0V4F*e>XOj!C;W-y@c!NLnF^<)ywtz-%=N_&&{LG3k+e2PB{=&n z1E-EpE+^FGZ0ghcGV`hP*via=Y6H>Gn90CcRZF(R;D&ak={yXO0QuPxcom%JlC4-S z(-2cKF-4!9dJ|AlQ4M)fL;WZzDe*a6yyCUb9S=%rMxYlzw9#G|CnqeUU)XHV$AZSj zjGiwjv22?LF(EiYt&NUd|36;z24KXl^rH*Ns0p~MIOyyNvy3Mp@LeIv$&w)>Zv3P zh>k$wKfSO$6?r)4Mb+A$1jC~PSqS!yn&G)57O#hV$Bepa3YCBu@t%JBIhRc6OTos2zU^-H9S?uk_4L{K@L`a+E<{-UbgJ(j1vc8zbv^L;n9d_|$4HGR1CvT;J;sgrnC zzdaZyq(N0X0!)5j;3V*Qd2M%AQV4Aqf^z#oFyw@J=>i$E-PiL~Wzc4j z84KdAw^!JSvA>RzoSfWqd4MI9fV2@rm!4c5swyBoR(=ithAXC`_E#zzyIh3DmZ8?nT)1;9~PWSco`PSY-!#s%8yVDbw zn$(;Iv+uwYZ;tzWxE)tK&g@KXw?f=0FmiHoa=wlE43+x=Tp_TV&Q<49b6`<`P=9Yw zG~PMTFdOag@|&NZA1H0-TUuJus+6|&_Mo`FoP-9a(w$K|gc*Z@vVvJ8RkUv z14*B1ir%?wuRDy1FxV_4oL11_VgnyMKTBXW|a6+7}e~gg6xHaVRM%BcDI7TU;e6ym;|q z6O1n$i5hnvJcwLcdeQmJPEbKXK{HK?^6X#t_8YNBueA2xEjhxIfD48Oytg*ifsyJS z8DRp1+yv577l!c!29N+yn0xFT&kig>r-SwA0ZkaDc_ns=8|)O{o0@PTBKfXfRkpGD z*x$Xkyx^!0Sb}3?ch_>HW_oSy#q2CM0H=oTZu0(qksns8ss8o?fc8h-+F0HQ&sb|_ z$l>3*b&G8ODK5S(E=+mqIeNeczw)+CH#avHb{ZD*TpdnyI)?)+_QrH{-yIW^R*Yk# zl?Vs0hLx2DAb$U7jkn9vC4>})ta)Eti~|@(Ux7≫IRUD&GSS!X)$YdyelgIL4)o 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 X|Kme~NlFLkZ9=p)_3nI9w~qK91NS+6 literal 0 HcmV?d00001 diff --git a/Icons/female.png b/Icons/female.png new file mode 100644 index 0000000000000000000000000000000000000000..7cd516377d310603c8fab07f8716c3560a17e9c9 GIT binary patch literal 5265 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%0ALmrOqvgt=TaPXLaTh5!Q$aG32tqVSr2$K#=A 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 literal 0 HcmV?d00001 diff --git a/Icons/hand-job.png b/Icons/hand-job.png new file mode 100644 index 0000000000000000000000000000000000000000..42f628a973154b099c9f1084f785ae265439538c GIT binary patch literal 5957 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 Q9-JYx)%DeCRBSQ-1BUEC_5c6? literal 0 HcmV?d00001 diff --git a/Icons/high-heels.png b/Icons/high-heels.png new file mode 100644 index 0000000000000000000000000000000000000000..f6877320b2227ce1f1ed079d6a2dadb46f98738e GIT binary patch literal 7292 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 J%DZ+?{|BTpK^y=8 literal 0 HcmV?d00001 diff --git a/Icons/hotpants.png b/Icons/hotpants.png new file mode 100644 index 0000000000000000000000000000000000000000..954158805322e4e176dcec929e8102f7cdf353ca GIT binary patch literal 6046 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 literal 0 HcmV?d00001 diff --git a/Icons/lingerie.png b/Icons/lingerie.png new file mode 100644 index 0000000000000000000000000000000000000000..cfd905603c89c2bf0eb110e3d6848e8be0bcd9cc GIT binary patch literal 9619 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 deYAXq@}yrprC?-c+5 literal 0 HcmV?d00001 diff --git a/Icons/male.png b/Icons/male.png new file mode 100644 index 0000000000000000000000000000000000000000..ac8e571099c395032c88d2d62c5d73b1320722e3 GIT binary patch literal 6751 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 S-2xwlAX;j=swK+SA^!z-e7CFs literal 0 HcmV?d00001 diff --git a/Icons/missionary.png b/Icons/missionary.png new file mode 100644 index 0000000000000000000000000000000000000000..4003d15c73e89576de7873f0d4a8a853ae9d68ff GIT binary patch literal 15878 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 literal 0 HcmV?d00001 diff --git a/Icons/other.png b/Icons/other.png new file mode 100644 index 0000000000000000000000000000000000000000..a76b77d796bda17f00bc7da59cb96c3e81f0795e GIT binary patch literal 7624 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 T9Ec4O?`AbsbydogtV8|-0H5lv literal 0 HcmV?d00001 diff --git a/Icons/panties.png b/Icons/panties.png new file mode 100644 index 0000000000000000000000000000000000000000..2655c725581995b585a99760f56ea308c764695c GIT binary patch literal 4661 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 z zmVWDau#h^A=7DPU6M&^T*xU1S*9dPC?-%E7$Vyc4xuXKaj!GJOgwfI>2;Lq-ea+uPd> z!^1U>n6%))gRB6*tel*c=uvS0Y$QO3Xu6x|RL2aqBa(54G;CRIe*qvBplKWmS3NcY z%HS6eFbWH6k>Bu9512l8T!tJ6yM4|gm@hm$oDBW|FllRRABQ>M?U4^3tP6$nGBP-y z*(1k7;`Gj^J`z0C~D<DRi3KaawM4s3wP8I_cjIu&H;^a$xlMg#K8A`==>O_t|>n%qj)dC8R5 d|F5ni7IbsUAIsoWdhn|Uf;7EoQh&h%{~wS~y%+!h literal 0 HcmV?d00001 diff --git a/Icons/penis.png b/Icons/penis.png new file mode 100644 index 0000000000000000000000000000000000000000..3c4b4f49fe978a938a034323a46aa8b0482defb5 GIT binary patch literal 5152 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 literal 0 HcmV?d00001 diff --git a/Icons/prone-bone.png b/Icons/prone-bone.png new file mode 100644 index 0000000000000000000000000000000000000000..da81597e8a81aac6e9bafa79acd8c450e1341975 GIT binary patch literal 3253 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 E0)jlETmS$7 literal 0 HcmV?d00001 diff --git a/Icons/shower.png b/Icons/shower.png new file mode 100644 index 0000000000000000000000000000000000000000..d2cb98da9a14930ea75523038dc09982e78f8d3a GIT binary patch literal 8242 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 R;GYs8s*0KlUt#7U{{urC6OjM_ literal 0 HcmV?d00001 diff --git a/Icons/skirt.png b/Icons/skirt.png new file mode 100644 index 0000000000000000000000000000000000000000..2857ec48ab23de28c91f60633f4e228507d0ef93 GIT binary patch literal 9171 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 Z{wrKg{9=qZz>7E#eQgu11`X%f{{ea;tIhxb literal 0 HcmV?d00001 diff --git a/Icons/standing-doggy.png b/Icons/standing-doggy.png new file mode 100644 index 0000000000000000000000000000000000000000..88b9c9a3879615ae9a7cda9b764cacbe5f478ddb GIT binary patch literal 19319 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 GY5xaj;i|R( literal 0 HcmV?d00001 diff --git a/Icons/stockings.png b/Icons/stockings.png new file mode 100644 index 0000000000000000000000000000000000000000..ed9937d3b55de9f89ac8e83fb7591f799d6fe603 GIT binary patch literal 6480 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 Cy~a`i literal 0 HcmV?d00001 diff --git a/Icons/strap-on.png b/Icons/strap-on.png new file mode 100644 index 0000000000000000000000000000000000000000..17371a605b2d102dcc67100739fd929b99decc4f GIT binary patch literal 17489 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 literal 0 HcmV?d00001 diff --git a/Icons/tongue.png b/Icons/tongue.png new file mode 100644 index 0000000000000000000000000000000000000000..5f66fc2399560d4560843ca43f81b1ea522c7ee3 GIT binary patch literal 5404 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 Gh5i?J2o+fX literal 0 HcmV?d00001 diff --git a/Icons/towel.png b/Icons/towel.png new file mode 100644 index 0000000000000000000000000000000000000000..eda5cc8bdfc75dcef5c2a8e57c144b29fd4be9bf GIT binary patch literal 2032 zcmeHIYfO`86fSa|0u?u>Tun7z5(Pm-2go`oiaNQ(S%`(N6{<2QSfEfSrNu4aC5Xt# zg2K=#2-r$H94*q1QW$cRn+T->LcLJ1Ep2H_i!BBAE&H?hV=h_tZ^`rKyeB#D$$6i1 z-sim<5f);%)@dya2D3YMH25TBH87Z&g^d-o+c1*w8Dz{zCqsf@tN|A(L}e)Ps`<YuTQYo3w$j{F=%9w1KOvuzNsRSZ( z_@M}ptYFZV^um?pC4zRQUlDpFWK!UKP*J}LA4{A=aPl1jyRn)GU{nL=8e%oKCr zC96{HAX0_RdYyk^xH{B)Q7fjH)LkIH>v~46NgYDf7JKRuI02ncU0q%TL$=V;UlkA! zC|v@w8)&t*?-h+=UMY@FdBr94Uw8HA84LzJOW9O!Z|L1Cn7f^$>G^IickG4s848{u zSTPcoQkpu7kSi}j!@}%ek^{WGyoUM*2Dq7&@Inb`nkAR<7pIt+Vw#AAvua*3%5_5_ zTR8IQJsuvT5EWxAQF2_|JuXo^#Zuj>Uq_)(nyRa-WpiV{DiE~{2C>CZtyhV~tja=k zHy{!gZwpBzleqyFXfy}9kx^2LON@)d1E*b?tBT88=)2-Z7fjkg;^QlXpMqBO6GVAk z<5Z$3rGQUeX#z&UZ z1>!IBBK!LKY;#QfGWTe1y0^Et0;%TONk)uMf86a85I~C_jLlR{0dS-#1;nPR-*k{I z@v6>3=ZuASL%cM}aq2s+?e^()n>^KW7nppLrnN-Q9)iw_Wn*_rG41X@=wP&>{x| z7Gppbg8_}mW2mv?J`WS?dc$W2Dx9y1?Q^D!LuB_$v5d?qN{w62e4Bng*%8yd3J;nQ zV|GuUMfq~9lUl(m2WhX-VDuj5800Cm-;3c(gUuX!SJIQ z(_MYjssM34mL0WB7XV`PHrIW&-=uYi)qNwxWN?>*d@wy$P%{a4)|$C)bJ@`6r;6G6HKUPAMi w^%ER|h(&fKR-vp$yZ#9qAEoPqfcNlUe&}iNvp}MtUmAAoa9A)a=*;)O0}1I#b^rhX literal 0 HcmV?d00001 diff --git a/Icons/toy.png b/Icons/toy.png new file mode 100644 index 0000000000000000000000000000000000000000..919d20d1243d89d4b66d4dc6d7cf34b3aa5cc62c GIT binary patch literal 3952 zcmZ`*XHXN|(hdX=se;nGND00`LhntAKqvtOq#7`^7etyg0qLO&gf2xoBE3kjhTf!y zt_Uc-L#Q{t_kMrAJ9p>o+2`4_yJzOi*_n;d)m9@XVI%qnr3D2A zjg5`d)6|hD=UkTkg&bIy`rLmoSeMA zzW(RWpL26_H#av73=ENxk;KHr_wV0NNJyxwtJ~b%eE04h7Z;bcwe`@@P-SK1vuDpX zHa1*cUCYbM_4M@m`}?J(rSIOodwhHhgTY8hNNQ_qRaI3rG&E9DQoOvpC@3g=e0(q% zOiWD7j~_qG%*>XTm)Y3ZOifKkMn+OoQ`ydAA2nfv0&CANlnwy)!VDQn=5g#94US3{kXlQtNcvDjoK0dyUjZJTFuY-dFH8u64 zM~{Ssg)J>DCnhFVR#rMXI!H-L#l*zEeEHJT(-R#Xy|uOF?CgAXb)~Pbe|>#@@7_Hq z6#D!3Z*Fexh=>SUTH1ku0W=z|tE*d6Q*(B9CL$stBqZeL=QlGmlaZ0}_3PIsPo5kc z956F8zk2nmrKLqtQ4tP@OG-+Hg@r9FEYQ%s%m|GU0q%M;^M-?!^6nP zh?A4^{QO)_PEJrzaCdk2`}gm%vab8>Rl*4Fy^`rf{M8yp-Q7#OI7!EoY!?cLW;pSuA7 z6y1Lmuh+TwCC>ZxS$4vvAT`A zIv;=-M+gCoc!d9Smj;e8{RiV34#0~C{Kt=v!w@`t02R)f;M6{x;2*yu4*!uCIQ`Q` z|7ZXItpETJ0C;}~K!A$@3kieqa{gWSPYz+uziTDq@E^g)Rl@%#QcqF>hyIfV0fYaX zVv5p}`oEA`0sy2^>dJ}+UKTrx*Z^8I%bk6^P(T_x-jBQZTIBT9NKkxt4l{|Xi0Xr+ z+&&KCAO$T=Eh^>cF_A(fF`*2*m8oQl29?rB4OnSG*?8`x73Ca>(+-yH_$1RW)=y6Q zQbu|-Smx3%^~@Q&y9-_(PO!B-Z9XD~KTk&dkCmr2e>CDeBS+c2fuvxOUenYY!v+a7 zK+b61cvO43Z~2#-6K&8nj`Pr2gf#!GjpFbFA--`n=um>?-yV{qrUoxu=h&I0$yYyZ+l5v*rbUY|faE zih~<`?h;9Ch&^MLit#!Mhr5f~q(No3B#)h8Bw1AcoZM*(UotB3$7a z%JSK}<{WFm6NVOiZ=NNhWGXG@#m`fkbm}702Tg00Ln_mxD$>3)R%B%`dZ(|Q8_SZj zM#DJ13XA9o)gV{h4{9clq97Vs`jqN1j+n@pknE|U0b&pw zS7*rzgQb{PrGtQjSSVe)^0gmB-m67OGrQ{N9-FRB8ouPS5whmiNDLut>oQ!_(asQh z86S!^H6Q*QOIc$^P;OQ-kkvWL%Xo4f zR&V^U)~0&ROyIr_T|4v|>W8mvIiwXK%W`^YId<=2^GERHFn~uvCZ;joqH35+zSAl8 zhd8y#-E7R{ASwV@{94&F>B|Dkd^vwPH%EnlVfI0Z93hI@qrBtz7elcwVZF)sEP+BE z;7O;yTA3T9?wrBS@4k40<6YNK#Gr|fLbM{=ksT3LiLe6JC|2@;_s+;_5eF`VA?}9$ z*sZ-B>2;wE*{(#X#F4;0W{KF>ZhtN8%8jtO6^BpGi20-<4^3$`o=+y%e>so_BH)<< z{!u<>Vyf4ztNt?!1stwwx(C7w)G&tIuVhKs$wpRsEv2I-QE&04#WTh}N?VTuu1WEo zZbi1KJ-CfVO9V-_k&}{%`CG1&?G1V@ZXMrVw?`Il{MlYbc}s^(pxbj|uc`CYr|bm} zN2)pl5_lXkmNXps2v~D2*>^O7Hx}byn$v(TXlHb2B}Kyf@K>hi#|zXE{

%-uzG<15fFFor2}e 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 DFPu-< literal 0 HcmV?d00001 diff --git a/Icons/unknown.png b/Icons/unknown.png new file mode 100644 index 0000000000000000000000000000000000000000..e71773a11c167321b2631354af159674a7ea4a1a GIT binary patch literal 6395 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 Do)9;p literal 0 HcmV?d00001 diff --git a/backend/__pycache__/ai_server.cpython-314.pyc b/backend/__pycache__/ai_server.cpython-314.pyc new file mode 100644 index 0000000000000000000000000000000000000000..aa8d7bce11f2e674d7a7cac57098103f1204456f GIT binary patch literal 10380 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 str: + env_path = os.environ.get("YOLO_MODEL", "").strip() + if env_path: + p = Path(env_path) + if p.exists(): + return str(p) + raise RuntimeError(f"YOLO_MODEL not found: {p}") + + default_path = DEFAULT_MODEL_PATH + if default_path.exists(): + return str(default_path) + + raise RuntimeError(f"YOLO model not found: {default_path}") + + +_MODEL_PATH = resolve_model_path() +_DEVICE = os.environ.get("YOLO_DEVICE", "") +_CONF = float(os.environ.get("YOLO_CONF", "0.25")) +_BATCH = int(os.environ.get("YOLO_BATCH", "16")) +_IMGSZ = int(os.environ.get("YOLO_IMGSZ", "640")) +_HALF = os.environ.get("YOLO_HALF", "0").lower() in {"1", "true", "yes", "on"} + +model = YOLO(_MODEL_PATH) + + +def scored(label: str, score: float) -> dict: + return { + "label": label, + "score": float(score), + } + + +def best_score(items: list[dict], label: str, score: float) -> None: + for item in items: + if item["label"] == label: + if score > item["score"]: + item["score"] = float(score) + return + + items.append(scored(label, score)) + + +def prediction_from_result(result) -> dict: + names = result.names or {} + + boxes_out = [] + body_parts = [] + objects = [] + clothing = [] + + sex_position = "unknown" + sex_position_score = 0.0 + + if result.boxes is not None: + xywhn = result.boxes.xywhn.cpu().tolist() + cls_values = result.boxes.cls.cpu().tolist() + conf_values = result.boxes.conf.cpu().tolist() + + for box_xywhn, cls_id, conf in zip(xywhn, cls_values, conf_values): + label = str(names.get(int(cls_id), int(cls_id))).strip().lower() + score = float(conf) + + if not label: + continue + + cx, cy, w, h = [float(v) for v in box_xywhn] + x = max(0.0, min(1.0, cx - w / 2.0)) + y = max(0.0, min(1.0, cy - h / 2.0)) + w = max(0.0, min(1.0 - x, w)) + h = max(0.0, min(1.0 - y, h)) + + boxes_out.append({ + "label": label, + "score": score, + "x": x, + "y": y, + "w": w, + "h": h, + }) + + if label in BODY_LABELS: + best_score(body_parts, label, score) + + if label in OBJECT_LABELS: + best_score(objects, label, score) + + if label in CLOTHING_LABELS: + best_score(clothing, label, score) + + if label in POSITION_LABELS and score > sex_position_score: + sex_position = label + sex_position_score = score + + people_count = sum( + 1 for box in boxes_out + if box["label"] in {"person", "person_male", "person_female", "person_unknown"} + ) + male_count = sum(1 for box in boxes_out if box["label"] in {"person_male", "male_person"}) + female_count = sum(1 for box in boxes_out if box["label"] in {"person_female", "female_person"}) + unknown_count = max(0, people_count - male_count - female_count) + + return { + "modelAvailable": True, + "source": f"yolo-server:{Path(_MODEL_PATH).name}", + "peopleCount": people_count, + "maleCount": male_count, + "femaleCount": female_count, + "unknownCount": unknown_count, + "sexPosition": sex_position, + "sexPositionScore": sex_position_score, + "bodyPartsPresent": body_parts, + "objectsPresent": objects, + "clothingPresent": clothing, + "boxes": boxes_out, + } + + +@app.post("/predict-batch") +def predict_batch(req: PredictBatchRequest): + paths = [str(path).strip() for path in req.paths if str(path).strip()] + if not paths: + return { + "ok": False, + "predictions": [], + "error": "no paths supplied", + } + + imgsz = int(req.imageSize or _IMGSZ or 640) + + try: + results = model.predict( + source=paths, + imgsz=imgsz, + conf=_CONF, + batch=_BATCH, + device=_DEVICE or None, + half=_HALF, + verbose=False, + ) + + predictions = [prediction_from_result(result) for result in results] + + return { + "ok": True, + "predictions": predictions, + } + + except Exception as exc: + return { + "ok": False, + "predictions": [], + "error": str(exc), + } + + +@app.get("/health") +def health(): + names = getattr(model, "names", {}) or {} + + return { + "ok": True, + "model": _MODEL_PATH, + "classCount": len(names), + "classes": list(names.values())[:80] if isinstance(names, dict) else names, + } \ No newline at end of file diff --git a/backend/analyze.go b/backend/analyze.go index 440c7ba..4eb0a38 100644 --- a/backend/analyze.go +++ b/backend/analyze.go @@ -3,11 +3,13 @@ package main import ( + "bytes" "context" "encoding/json" "fmt" "image" "image/draw" + "image/jpeg" "math" "net/http" "os" @@ -22,7 +24,7 @@ import ( type analyzeVideoReq struct { JobID string `json:"jobId"` Output string `json:"output"` - Mode string `json:"mode"` // "sprite" | "video" + Mode string `json:"mode"` // "video" | "sprite" Goal string `json:"goal"` // "highlights" | "nsfw" } @@ -49,26 +51,98 @@ type spriteFrameCandidate struct { Time float64 } +type videoFrameSample struct { + Index int + Time float64 + Path string +} + const ( analyzeSegmentMergeGapSeconds = 8.0 nsfwThresholdModerate = 0.35 nsfwThresholdStrong = 0.60 + + // Sprite-Modus ist aktuell deaktiviert. Analyse läuft über Video-Frames. + analyzeMaxSpriteCandidates = 24 + + // Video-Modus: schnelle Vorschau. Für bessere Trefferquote später 24. + // neu, falls du später alle N Sekunden willst + analyzeVideoFrameIntervalSeconds = 3 + + // AI-Server nicht mit tausenden Pfaden auf einmal fluten. + analyzeFramePredictBatchSize = 32 + + // 640 ist für YOLO meist deutlich schneller als 960/1280. + analyzeVideoFrameWidth = 640 + + // Lokaler optionaler Python-Inference-Server. + // Kann per Environment überschrieben werden: + // AI_SERVER_URL=http://127.0.0.1:8765 + analyzeAIServerDefaultURL = "http://127.0.0.1:8765" ) var autoSelectedAILabels = map[string]struct{}{ - "anus_exposed": {}, - "female_genitalia_exposed": {}, - "male_genitalia_exposed": {}, - "female_breast_exposed": {}, - "buttocks_exposed": {}, + // bodyParts aus detecton_labels.json + "anus": {}, + "ass": {}, + "breasts": {}, + "penis": {}, + "tongue": {}, + "pussy": {}, + + // objects aus detecton_labels.json + "blindfold": {}, + "buttplug": {}, + "collar": {}, + "dildo": {}, + "handcuffs": {}, + "shower": {}, + "strapon": {}, + "towel": {}, + "vibrator": {}, + + // clothing aus detecton_labels.json + "bikini": {}, + "bra": {}, + "dress": {}, + "heels": {}, + "hotpants": {}, + "lingerie": {}, + "panties": {}, + "skirt": {}, + "stockings": {}, + "croptop": {}, + + // sexPositions aus detecton_labels.json + "missionary": {}, + "doggy": {}, + "cowgirl": {}, + "reverse_cowgirl": {}, + "cunnilingus": {}, + "prone_bone": {}, + "standing": {}, + "standing_doggy": {}, + "spooning": {}, + "sitting": {}, + "facesitting": {}, + "handjob": {}, + "blowjob": {}, + "toy_play": {}, + "fingering": {}, + "69": {}, + "other": {}, } var nsfwIgnoredLabels = map[string]struct{}{ - "face_female": {}, - "face_male": {}, - "belly_covered": {}, - "armpits_covered": {}, - "anus_covered": {}, + // Personen sollen nicht als interessante Segmente auftauchen. + "person": {}, + "person_male": {}, + "person_female": {}, + "person_unknown": {}, + + // Falls dein Detector irgendwann diese Varianten liefert: + "people_male": {}, + "people_female": {}, } func shouldAutoSelectAnalyzeHit(label string) bool { @@ -97,13 +171,13 @@ func extractSpriteFrames(spritePath string, ps previewSpriteMetaFileInfo) ([]ima b := img.Bounds() if ps.Cols <= 0 || ps.Rows <= 0 { - return nil, fmt.Errorf("sprite cols/rows fehlen") + return nil, appErrorf("sprite cols/rows fehlen") } cellW := b.Dx() / ps.Cols cellH := b.Dy() / ps.Rows if cellW <= 0 || cellH <= 0 { - return nil, fmt.Errorf("ungültige sprite cell size") + return nil, appErrorf("ungültige sprite cell size") } count := ps.Count @@ -149,50 +223,498 @@ func classifyFrameNSFW(ctx context.Context, img image.Image) (*NsfwImageResponse }, nil } +func addTrainingAnalyzeResult(best map[string]float64, label string, score float64) { + label = strings.ToLower(strings.TrimSpace(label)) + if label == "" { + return + } + + if score <= 0 { + score = 1 + } + + if old, ok := best[label]; !ok || score > old { + best[label] = score + } +} + +func trainingPredictionToNSFWResults(pred TrainingPrediction) []NsfwFrameResult { + best := map[string]float64{} + + // Für NSFW/AI-Segmente nur echte Boxen verwenden. + // BodyPartsPresent/ObjectsPresent/ClothingPresent sind daraus abgeleitete Übersichten + // und können sonst Labels doppelt oder zu breit einbringen. + for _, box := range pred.Boxes { + label := strings.ToLower(strings.TrimSpace(box.Label)) + if label == "" { + continue + } + + if isIgnoredNSFWLabel(label) { + continue + } + + // Nur Labels zulassen, die für Analyse/Rating relevant sind. + // Dadurch erzeugen neue YOLO-Klassen nur dann Segmente, + // wenn du sie bewusst in autoSelectedAILabels einträgst. + if !shouldAutoSelectAnalyzeHit(label) { + continue + } + + score := box.Score + if score <= 0 { + score = 1 + } + + if old, ok := best[label]; !ok || score > old { + best[label] = score + } + } + + out := make([]NsfwFrameResult, 0, len(best)) + + for label, score := range best { + out = append(out, NsfwFrameResult{ + Label: label, + Score: score, + }) + } + + sort.Slice(out, func(i, j int) bool { + if out[i].Score == out[j].Score { + return out[i].Label < out[j].Label + } + return out[i].Score > out[j].Score + }) + + return out +} + +func addHighlightResult(best map[string]float64, label string, score float64) { + label = strings.ToLower(strings.TrimSpace(label)) + if label == "" || label == "unknown" { + return + } + + if score <= 0 { + score = 1 + } + + if old, ok := best[label]; !ok || score > old { + best[label] = score + } +} + +func addScoredHighlightLabels(best map[string]float64, prefix string, items []TrainingScoredLabel) { + prefix = strings.ToLower(strings.TrimSpace(prefix)) + if prefix == "" { + return + } + + for _, item := range items { + label := strings.ToLower(strings.TrimSpace(item.Label)) + if label == "" || label == "unknown" { + continue + } + + addHighlightResult(best, prefix+":"+label, item.Score) + } +} + +func trainingPredictionToHighlightResults(pred TrainingPrediction) []NsfwFrameResult { + best := map[string]float64{} + + sexPosition := strings.ToLower(strings.TrimSpace(pred.SexPosition)) + if sexPosition != "" && sexPosition != "unknown" { + addHighlightResult(best, "position:"+sexPosition, pred.SexPositionScore) + } + + addScoredHighlightLabels(best, "body", pred.BodyPartsPresent) + addScoredHighlightLabels(best, "object", pred.ObjectsPresent) + addScoredHighlightLabels(best, "clothing", pred.ClothingPresent) + + for _, box := range pred.Boxes { + label := strings.ToLower(strings.TrimSpace(box.Label)) + if label == "" || label == "unknown" { + continue + } + + if isIgnoredNSFWLabel(label) { + continue + } + + // Wichtig: + // Keine beliebigen YOLO-/COCO-Labels als Highlights übernehmen. + // Nur bewusst erlaubte Analyse-Labels anzeigen. + if !shouldAutoSelectAnalyzeHit(label) { + continue + } + + addHighlightResult(best, "detector:"+label, box.Score) + } + + // Kombis nur erzeugen, wenn wirklich Position + Zusatz vorhanden ist. + if sexPosition != "" && sexPosition != "unknown" { + positionScore := pred.SexPositionScore + if positionScore <= 0 { + positionScore = 1 + } + + addCombo := func(prefix string, items []TrainingScoredLabel) { + for _, item := range items { + label := strings.ToLower(strings.TrimSpace(item.Label)) + if label == "" || label == "unknown" { + continue + } + + score := item.Score + if score <= 0 { + score = 1 + } + + comboScore := math.Min(positionScore, score) + addHighlightResult(best, "combo:"+sexPosition+"+"+prefix+":"+label, comboScore) + } + } + + addCombo("body", pred.BodyPartsPresent) + addCombo("object", pred.ObjectsPresent) + addCombo("clothing", pred.ClothingPresent) + } + + out := make([]NsfwFrameResult, 0, len(best)) + + for label, score := range best { + out = append(out, NsfwFrameResult{ + Label: label, + Score: score, + }) + } + + sort.Slice(out, func(i, j int) bool { + if out[i].Score == out[j].Score { + return out[i].Label < out[j].Label + } + return out[i].Score > out[j].Score + }) + + return out +} + +func pickHighlightResults(results []NsfwFrameResult) []NsfwFrameResult { + out := make([]NsfwFrameResult, 0, len(results)) + + for _, r := range results { + label := strings.ToLower(strings.TrimSpace(r.Label)) + if label == "" || label == "unknown" { + continue + } + + score := r.Score + if score <= 0 { + score = 1 + } + + // Schwellen kannst du später pro Gruppe anders machen. + switch { + case strings.HasPrefix(label, "combo:"): + if score < 0.35 { + continue + } + case strings.HasPrefix(label, "position:"): + if score < 0.30 { + continue + } + case strings.HasPrefix(label, "object:"): + if score < 0.30 { + continue + } + case strings.HasPrefix(label, "clothing:"): + if score < 0.30 { + continue + } + case strings.HasPrefix(label, "body:"): + if score < 0.30 { + continue + } + case strings.HasPrefix(label, "detector:"): + raw := strings.TrimPrefix(label, "detector:") + if !shouldAutoSelectAnalyzeHit(raw) { + continue + } + if score < 0.40 { + continue + } + } + + out = append(out, NsfwFrameResult{ + Label: label, + Score: score, + }) + } + + sort.Slice(out, func(i, j int) bool { + if out[i].Score == out[j].Score { + return out[i].Label < out[j].Label + } + return out[i].Score > out[j].Score + }) + + return out +} + +func classifyFrameForAnalyze(ctx context.Context, img image.Image) (*NsfwImageResponse, error) { + _ = ctx + + if !trainingRecognitionEnabled() { + return &NsfwImageResponse{ + Ok: true, + Results: []NsfwFrameResult{}, + }, nil + } + + tmp, err := os.CreateTemp("", "training-analyze-frame-*.jpg") + if err != nil { + return nil, err + } + + tmpPath := tmp.Name() + defer os.Remove(tmpPath) + + if err := jpeg.Encode(tmp, img, &jpeg.Options{Quality: 92}); err != nil { + _ = tmp.Close() + return nil, err + } + + if err := tmp.Close(); err != nil { + return nil, err + } + + pred := trainingPredictFrameDetectorOnly(tmpPath) + + // Wichtig: kein Fallback mehr auf altes ONNX-NSFW-Modell. + if !pred.ModelAvailable { + return &NsfwImageResponse{ + Ok: true, + Results: []NsfwFrameResult{}, + }, nil + } + + results := trainingPredictionToNSFWResults(pred) + + return &NsfwImageResponse{ + Ok: true, + Results: results, + }, nil +} + +func predictFrameForAnalyze(ctx context.Context, img image.Image) TrainingPrediction { + _ = ctx + + if !trainingRecognitionEnabled() { + return trainingEmptyPrediction("recognition_disabled") + } + + // Fallback für alte Sprite-/Image-Pfade: + // Wenn kein echter Video-Frame-Pfad vorhanden ist, schreiben wir NICHT mehr in os.TempDir(), + // sondern in generated/training/analyze-temp, damit die Bilder auffindbar bleiben. + root, err := trainingRootDir() + if err != nil { + return trainingEmptyPrediction("root_failed") + } + + tmpDir := filepath.Join(root, "analyze-temp") + if err := os.MkdirAll(tmpDir, 0755); err != nil { + return trainingEmptyPrediction("mkdir_failed") + } + + tmp, err := os.CreateTemp(tmpDir, "training-highlight-frame-*.jpg") + if err != nil { + return trainingEmptyPrediction("temp_failed") + } + + tmpPath := tmp.Name() + + // Wichtig: NICHT löschen, damit du die Bilder kontrollieren kannst. + // defer os.Remove(tmpPath) + + if err := jpeg.Encode(tmp, img, &jpeg.Options{Quality: 92}); err != nil { + _ = tmp.Close() + return trainingEmptyPrediction("encode_failed") + } + + if err := tmp.Close(); err != nil { + return trainingEmptyPrediction("close_failed") + } + + return trainingPredictFrame(tmpPath) +} + +func classifyFramePathForAnalyze(ctx context.Context, framePath string) (*NsfwImageResponse, error) { + _ = ctx + + if !trainingRecognitionEnabled() { + return &NsfwImageResponse{ + Ok: true, + Results: []NsfwFrameResult{}, + }, nil + } + + pred := trainingPredictFrameDetectorOnly(framePath) + + if !pred.ModelAvailable { + return &NsfwImageResponse{ + Ok: true, + Results: []NsfwFrameResult{}, + }, nil + } + + results := trainingPredictionToNSFWResults(pred) + + return &NsfwImageResponse{ + Ok: true, + Results: results, + }, nil +} + +func predictFramePathForAnalyze(ctx context.Context, framePath string) TrainingPrediction { + _ = ctx + + if !trainingRecognitionEnabled() { + return trainingEmptyPrediction("recognition_disabled") + } + + return trainingPredictFrame(framePath) +} + +type analyzeBatchPredictReq struct { + Paths []string `json:"paths"` + DetectorOnly bool `json:"detectorOnly"` + ImageSize int `json:"imageSize"` + Model string `json:"model,omitempty"` +} + +type analyzeBatchPredictResp struct { + OK bool `json:"ok"` + Predictions []TrainingPrediction `json:"predictions"` + Error string `json:"error,omitempty"` +} + +func analyzeAIServerURL() string { + raw := strings.TrimSpace(os.Getenv("AI_SERVER_URL")) + if raw == "" { + raw = analyzeAIServerDefaultURL + } + + return strings.TrimRight(raw, "/") +} + +func trainingPredictFramePathsBatchForAnalyze( + ctx context.Context, + paths []string, + detectorOnly bool, +) ([]TrainingPrediction, error) { + cleanPaths := make([]string, 0, len(paths)) + + for _, path := range paths { + path = strings.TrimSpace(path) + if path == "" { + continue + } + + cleanPaths = append(cleanPaths, path) + } + + if len(cleanPaths) == 0 { + return nil, appErrorf("keine frame-pfade für batch prediction") + } + + if !trainingRecognitionEnabled() { + out := make([]TrainingPrediction, 0, len(cleanPaths)) + for range cleanPaths { + out = append(out, trainingEmptyPrediction("recognition_disabled")) + } + return out, nil + } + + payload := analyzeBatchPredictReq{ + Paths: cleanPaths, + DetectorOnly: detectorOnly, + ImageSize: analyzeVideoFrameWidth, + } + + body, err := json.Marshal(payload) + if err != nil { + return nil, err + } + + url := analyzeAIServerURL() + "/predict-batch" + + req, err := http.NewRequestWithContext( + ctx, + http.MethodPost, + url, + bytes.NewReader(body), + ) + if err != nil { + return nil, err + } + + req.Header.Set("Content-Type", "application/json") + + client := &http.Client{ + Timeout: 120 * time.Second, + } + + res, err := client.Do(req) + if err != nil { + return nil, err + } + defer res.Body.Close() + + var parsed analyzeBatchPredictResp + if err := json.NewDecoder(res.Body).Decode(&parsed); err != nil { + return nil, err + } + + if res.StatusCode < 200 || res.StatusCode >= 300 || !parsed.OK { + msg := strings.TrimSpace(parsed.Error) + if msg == "" { + msg = fmt.Sprintf("AI server HTTP %d", res.StatusCode) + } + return nil, appErrorf("%s", msg) + } + + if len(parsed.Predictions) == 0 { + return nil, appErrorf("AI server lieferte keine predictions") + } + + return parsed.Predictions, nil +} + func nsfwLabelPriority(label string) int { label = strings.ToLower(strings.TrimSpace(label)) switch label { - case "female_genitalia_exposed": + case "vulva", "pussy": return 1000 - case "female_breast_exposed": + case "penis": + return 950 + + case "anus": return 900 - case "anus_exposed": + case "breasts": return 800 - case "buttocks_exposed": + case "buttocks", "ass": return 700 - case "male_genitalia_exposed": - return 600 - - case - "female_genitalia_covered", - "female_breast_covered", - "male_genitalia_covered", - "buttocks_covered", - "male_breast_exposed", - "male_breast_covered": - return 200 - - case - "belly_exposed", - "armpits_exposed", - "feet_exposed", - "feet_covered": - return 100 - - case - "face_female", - "face_male", - "belly_covered", - "armpits_covered", - "anus_covered": - return 10 - default: + if shouldAutoSelectAnalyzeHit(label) { + return 500 + } return 0 } } @@ -251,6 +773,7 @@ func extractVideoFrameAt(ctx context.Context, outPath string, atSec float64) (im "-ss", fmt.Sprintf("%.3f", atSec), "-i", outPath, "-frames:v", "1", + "-vf", fmt.Sprintf("scale=%d:-2:flags=fast_bilinear", analyzeVideoFrameWidth), "-q:v", "2", "-y", tmpPath, @@ -261,7 +784,7 @@ func extractVideoFrameAt(ctx context.Context, outPath string, atSec float64) (im } if out, err := cmd.CombinedOutput(); err != nil { - return nil, fmt.Errorf("ffmpeg fehlgeschlagen: %v: %s", err, strings.TrimSpace(string(out))) + return nil, appErrorf("ffmpeg fehlgeschlagen: %v: %s", err, strings.TrimSpace(string(out))) } f, err := os.Open(tmpPath) @@ -278,6 +801,258 @@ func extractVideoFrameAt(ctx context.Context, outPath string, atSec float64) (im return img, nil } +func analyzeFramesDirForOutput(outPath string) (string, error) { + id := strings.TrimSpace(videoIDFromOutputPath(outPath)) + if id == "" { + return "", appErrorf("konnte keine video-id aus output ableiten") + } + + metaPath, err := generatedMetaFile(id) + if err != nil || strings.TrimSpace(metaPath) == "" { + return "", appErrorf("meta.json nicht gefunden") + } + + return filepath.Join(filepath.Dir(metaPath), "frames"), nil +} + +func cleanupAnalyzeFramesDirForOutput(outPath string) error { + framesDir, err := analyzeFramesDirForOutput(outPath) + if err != nil { + return err + } + + // Sicherheitscheck: niemals versehentlich etwas anderes löschen. + if filepath.Base(framesDir) != "frames" { + return appErrorf("cleanup abgebrochen: unerwarteter frames-ordner: %s", framesDir) + } + + // Erst alle JPGs im frames-Ordner löschen. + patterns := []string{ + filepath.Join(framesDir, "*.jpg"), + filepath.Join(framesDir, "*.jpeg"), + } + + for _, pattern := range patterns { + files, globErr := filepath.Glob(pattern) + if globErr != nil { + return globErr + } + + for _, file := range files { + if removeErr := os.Remove(file); removeErr != nil && !os.IsNotExist(removeErr) { + return removeErr + } + } + } + + // Danach den Ordner selbst löschen. + // Das klappt nur, wenn er leer ist. Falls dort andere Dateien liegen, + // bleibt der Ordner absichtlich bestehen. + if err := os.Remove(framesDir); err != nil && !os.IsNotExist(err) { + return err + } + + return nil +} + +func extractVideoFramesBatch( + ctx context.Context, + outPath string, + durationSec float64, + intervalSeconds int, + onExtracted func(current int, expected int), +) ([]videoFrameSample, func(), error) { + if durationSec <= 0 { + return nil, nil, appErrorf("videolänge fehlt") + } + + if intervalSeconds <= 0 { + intervalSeconds = 1 + } + + framesDir, err := analyzeFramesDirForOutput(outPath) + if err != nil { + return nil, nil, err + } + + if err := os.MkdirAll(framesDir, 0755); err != nil { + return nil, nil, err + } + + // Alte Analyse-Frames entfernen, damit keine stale Frames mitgelesen werden. + oldFrames, _ := filepath.Glob(filepath.Join(framesDir, "analyze-frame-*.jpg")) + for _, oldFrame := range oldFrames { + _ = os.Remove(oldFrame) + } + + cleanup := func() { + if err := cleanupAnalyzeFramesDirForOutput(outPath); err != nil { + appLogln("⚠️ frames cleanup:", err) + } + } + + ffmpegPath := strings.TrimSpace(getSettings().FFmpegPath) + if ffmpegPath == "" { + ffmpegPath = "ffmpeg" + } + + pattern := filepath.Join(framesDir, "analyze-frame-%06d.jpg") + + // fps=1/ bedeutet: + // intervalSeconds=1 -> 1 Frame pro Sekunde + // intervalSeconds=2 -> 1 Frame alle 2 Sekunden + // intervalSeconds=5 -> 1 Frame alle 5 Sekunden + vf := fmt.Sprintf( + "fps=1/%d,scale=%d:-2:flags=fast_bilinear", + intervalSeconds, + analyzeVideoFrameWidth, + ) + + cmd := exec.CommandContext( + ctx, + ffmpegPath, + "-hide_banner", + "-loglevel", "error", + "-i", outPath, + "-vf", vf, + "-q:v", "4", + "-fps_mode", "vfr", + "-y", + pattern, + ) + + cmd.SysProcAttr = &syscall.SysProcAttr{ + HideWindow: true, + CreationFlags: 0x08000000, + } + + expectedFrames := int(math.Ceil(durationSec / float64(intervalSeconds))) + if expectedFrames < 1 { + expectedFrames = 1 + } + + emitExtractProgress := func(current int) { + if onExtracted == nil { + return + } + + if current < 0 { + current = 0 + } + if current > expectedFrames { + current = expectedFrames + } + + onExtracted(current, expectedFrames) + } + + countExtractedFrames := func() int { + files, err := filepath.Glob(filepath.Join(framesDir, "analyze-frame-*.jpg")) + if err != nil { + return 0 + } + return len(files) + } + + emitExtractProgress(0) + + var stderr bytes.Buffer + cmd.Stderr = &stderr + + if err := cmd.Start(); err != nil { + return nil, nil, appErrorf( + "ffmpeg frames extrahieren konnte nicht gestartet werden: %w", + err, + ) + } + + done := make(chan error, 1) + go func() { + done <- cmd.Wait() + }() + + lastCount := -1 + ticker := time.NewTicker(250 * time.Millisecond) + defer ticker.Stop() + + waiting := true + for waiting { + select { + case <-ctx.Done(): + if cmd.Process != nil { + _ = cmd.Process.Kill() + } + + select { + case <-done: + case <-time.After(2 * time.Second): + } + + return nil, nil, ctx.Err() + + case waitErr := <-done: + waiting = false + + count := countExtractedFrames() + if count != lastCount { + lastCount = count + emitExtractProgress(count) + } + + if waitErr != nil { + return nil, nil, appErrorf( + "ffmpeg frames extrahieren fehlgeschlagen: %v: %s", + waitErr, + strings.TrimSpace(stderr.String()), + ) + } + + case <-ticker.C: + count := countExtractedFrames() + if count != lastCount { + lastCount = count + emitExtractProgress(count) + } + } + } + + files, err := filepath.Glob(filepath.Join(framesDir, "analyze-frame-*.jpg")) + if err != nil { + return nil, nil, err + } + + sort.Strings(files) + + if len(files) == 0 { + return nil, nil, appErrorf("ffmpeg hat keine frames erzeugt") + } + + // Nach ffmpeg-Ende noch einmal den echten Endstand melden. + // Das sorgt dafür, dass die Extraktionshälfte zuverlässig bei 50% landen kann. + emitExtractProgress(len(files)) + + out := make([]videoFrameSample, 0, len(files)) + + for i, path := range files { + t := float64(i * intervalSeconds) + + if t < 0 { + t = 0 + } + if durationSec > 0 && t > durationSec { + t = durationSec + } + + out = append(out, videoFrameSample{ + Index: i, + Time: t, + Path: path, + }) + } + + return out, cleanup, nil +} + func recordAnalyzeVideo(w http.ResponseWriter, r *http.Request) { if !mustMethod(w, r, http.MethodPost) { return @@ -289,22 +1064,15 @@ func recordAnalyzeVideo(w http.ResponseWriter, r *http.Request) { return } - req.Mode = strings.ToLower(strings.TrimSpace(req.Mode)) + req.Mode = "video" req.Goal = strings.ToLower(strings.TrimSpace(req.Goal)) - if req.Mode == "" { - req.Mode = "sprite" - } if req.Goal == "" { req.Goal = "highlights" } - switch req.Mode { - case "sprite", "video": - default: - http.Error(w, "mode muss 'sprite' oder 'video' sein", http.StatusBadRequest) - return - } + // Sprite-Modus ist deaktiviert, weil kein predict_sprite_batch.py vorhanden ist. + // Analyse läuft immer über den Video-Frame-Batch-Pfad. switch req.Goal { case "highlights", "nsfw": @@ -325,17 +1093,10 @@ func recordAnalyzeVideo(w http.ResponseWriter, r *http.Request) { return } - ctx, cancel := context.WithTimeout(r.Context(), 90*time.Second) + ctx, cancel := context.WithTimeout(r.Context(), 30*time.Minute) defer cancel() - var hits []analyzeHit - - switch req.Mode { - case "sprite": - hits, err = analyzeVideoFromSprite(ctx, outPath, req.Goal) - case "video": - hits, err = analyzeVideoFromFrames(ctx, outPath, req.Goal) - } + hits, err := analyzeVideoFromFrames(ctx, outPath, req.Goal) if err != nil { respondJSON(w, analyzeVideoResp{ @@ -349,10 +1110,10 @@ func recordAnalyzeVideo(w http.ResponseWriter, r *http.Request) { } durationSec, _ := durationSecondsForAnalyze(ctx, outPath) - segments := buildSegmentsFromAnalyzeHits(hits, durationSec) + segments := buildAnalyzeSegmentsForGoal(hits, durationSec, req.Goal) var rating *aiRatingMeta - if req.Goal == "nsfw" { + if req.Goal == "nsfw" || req.Goal == "highlights" { rating = computeNSFWRating(segments, durationSec) } @@ -366,7 +1127,7 @@ func recordAnalyzeVideo(w http.ResponseWriter, r *http.Request) { } if err := writeVideoAIForFile(ctx, outPath, "", ai); err != nil { - fmt.Println("⚠️ writeVideoAIForFile:", err) + appLogln("⚠️ writeVideoAIForFile:", err) } respondJSON(w, analyzeVideoResp{ @@ -379,136 +1140,950 @@ func recordAnalyzeVideo(w http.ResponseWriter, r *http.Request) { }) } -func analyzeVideoFromSprite(ctx context.Context, outPath, goal string) ([]analyzeHit, error) { +func analyzeVideoFromSpriteAllGoals(ctx context.Context, outPath string) (nsfwHits []analyzeHit, highlightHits []analyzeHit, err error) { id := strings.TrimSpace(videoIDFromOutputPath(outPath)) if id == "" { - return nil, fmt.Errorf("konnte keine video-id aus output ableiten") + return nil, nil, appErrorf("konnte keine video-id aus output ableiten") } metaPath, err := generatedMetaFile(id) if err != nil || strings.TrimSpace(metaPath) == "" { - return nil, fmt.Errorf("meta.json nicht gefunden") + return nil, nil, appErrorf("meta.json nicht gefunden") } ps, ok := readPreviewSpriteMetaFromMetaFile(metaPath) if !ok { - return nil, fmt.Errorf("previewSprite meta fehlt") + return nil, nil, appErrorf("previewSprite meta fehlt") } if ps.Count <= 0 { - return nil, fmt.Errorf("previewSprite count fehlt") + return nil, nil, appErrorf("previewSprite count fehlt") } spritePath := filepath.Join(filepath.Dir(metaPath), "preview-sprite.jpg") if fi, err := os.Stat(spritePath); err != nil || fi == nil || fi.IsDir() || fi.Size() <= 0 { - return nil, fmt.Errorf("preview-sprite.jpg nicht gefunden") + return nil, nil, appErrorf("preview-sprite.jpg nicht gefunden") } - durationSec, _ := durationSecondsForAnalyze(ctx, outPath) + durationSec := ps.StepSeconds * math.Max(1, float64(ps.Count-1)) + if durationSec <= 0 { + durationSec, _ = durationSecondsForAnalyze(ctx, outPath) + } candidates := buildSpriteFrameCandidates(ps.Count, ps.StepSeconds, durationSec) + candidates = limitSpriteFrameCandidates(candidates, analyzeMaxSpriteCandidates) + if len(candidates) == 0 { - return nil, fmt.Errorf("keine sprite-kandidaten vorhanden") + return nil, nil, appErrorf("keine sprite-kandidaten vorhanden") } - // ---------------------------------------------------------------- - // HIER ist der Hook für echte AI/Vision-Analyse. - // - // Aktuell: - // - erzeugen wir brauchbare Zeitpunkte aus den Preview-Frames - // - gruppieren sie zu Treffern - // - // Später kannst du hier: - // - spritePath + frame indices an ein Vision-Modell geben - // - pro Frame Labels / Scores zurückbekommen - // - daraus Trefferbereiche bilden - // ---------------------------------------------------------------- - frameHits, err := analyzeSpriteCandidatesWithAI(ctx, spritePath, ps, candidates, goal) + // 1) Schneller Pfad: Python-Batch. + results, batchErr := trainingPredictSpriteBatch(ctx, spritePath, ps, candidates) + if batchErr == nil { + for _, item := range results { + pred := item.Prediction + if !pred.ModelAvailable { + continue + } + + t := item.Time + + nsfwResults := trainingPredictionToNSFWResults(pred) + bestLabel, bestScore := pickBestNSFWResult(nsfwResults) + if bestLabel != "" && bestScore >= nsfwThresholdForLabel(bestLabel) { + nsfwHits = append(nsfwHits, analyzeHit{ + Time: t, + Label: bestLabel, + Score: bestScore, + Start: t, + End: t, + }) + } + + highlightHits = appendHighlightHitsFromPrediction(highlightHits, pred, t) + } + + return mergeAnalyzeHits(nsfwHits), mergeAnalyzeHits(highlightHits), nil + } + + // 2) Fallback: alte langsame Methode, damit Analyse nicht komplett fehlschlägt. + appLogln("⚠️ sprite batch analyse fehlgeschlagen, fallback auf langsame Analyse:", batchErr) + + frames, err := extractSpriteFrames(spritePath, ps) if err != nil { - return nil, err + return nil, nil, appErrorf("sprite frames extrahieren fehlgeschlagen: %w", err) } - return mergeAnalyzeHits(frameHits), nil + for _, c := range candidates { + if c.Index < 0 || c.Index >= len(frames) { + continue + } + + pred := predictFrameForAnalyze(ctx, frames[c.Index]) + if !pred.ModelAvailable { + continue + } + + t := c.Time + + nsfwResults := trainingPredictionToNSFWResults(pred) + bestLabel, bestScore := pickBestNSFWResult(nsfwResults) + if bestLabel != "" && bestScore >= nsfwThresholdForLabel(bestLabel) { + nsfwHits = append(nsfwHits, analyzeHit{ + Time: t, + Label: bestLabel, + Score: bestScore, + Start: t, + End: t, + }) + } + + highlightHits = appendHighlightHitsFromPrediction(highlightHits, pred, t) + } + + return mergeAnalyzeHits(nsfwHits), mergeAnalyzeHits(highlightHits), nil } func nsfwThresholdForLabel(label string) float64 { label = strings.ToLower(strings.TrimSpace(label)) switch label { - case - "anus_exposed", - "female_genitalia_exposed", - "male_genitalia_exposed", - "female_breast_exposed", - "buttocks_exposed": + case "vulva", "penis", "anus": return nsfwThresholdStrong - case - "female_breast_covered", - "male_breast_exposed", - "male_breast_covered", - "buttocks_covered", - "female_genitalia_covered", - "male_genitalia_covered", - "belly_exposed", - "armpits_exposed", - "feet_exposed", - "feet_covered": + case "pussy", "breasts", "buttocks", "ass": return nsfwThresholdModerate default: + if shouldAutoSelectAnalyzeHit(label) { + return 0.40 + } return 0.50 } } +func appendNSFWHitFromPrediction( + hits []analyzeHit, + pred TrainingPrediction, + t float64, +) []analyzeHit { + if !pred.ModelAvailable { + return hits + } + + nsfwResults := trainingPredictionToNSFWResults(pred) + bestLabel, bestScore := pickBestNSFWResult(nsfwResults) + if bestLabel == "" { + return hits + } + + if bestScore < nsfwThresholdForLabel(bestLabel) { + return hits + } + + return append(hits, analyzeHit{ + Time: t, + Label: bestLabel, + Score: bestScore, + Start: t, + End: t, + }) +} + +type highlightSignal struct { + Label string + Score float64 + Group string +} + +func normalizeHighlightSignalLabel(label string) string { + label = strings.ToLower(strings.TrimSpace(label)) + if label == "" || label == "unknown" { + return "" + } + + switch { + case strings.HasPrefix(label, "combo:"): + // Bestehende alte Combos hier nicht weiterverwenden, + // weil wir ab jetzt selbst saubere Kombis bauen. + return "" + + case strings.HasPrefix(label, "detector:"): + raw := strings.TrimPrefix(label, "detector:") + if !shouldAutoSelectAnalyzeHit(raw) { + return "" + } + return "detector:" + raw + + case strings.HasPrefix(label, "body:"): + raw := strings.TrimPrefix(label, "body:") + if raw == "" || raw == "unknown" { + return "" + } + return "body:" + raw + + case strings.HasPrefix(label, "object:"): + raw := strings.TrimPrefix(label, "object:") + if raw == "" || raw == "unknown" { + return "" + } + return "object:" + raw + + case strings.HasPrefix(label, "clothing:"): + raw := strings.TrimPrefix(label, "clothing:") + if raw == "" || raw == "unknown" { + return "" + } + return "clothing:" + raw + + case strings.HasPrefix(label, "position:"): + raw := strings.TrimPrefix(label, "position:") + if raw == "" || raw == "unknown" || !isKnownPositionLabel(raw) { + return "" + } + return "position:" + raw + + default: + if isIgnoredNSFWLabel(label) { + return "" + } + + if isKnownPositionLabel(label) { + return "position:" + label + } + + if shouldAutoSelectAnalyzeHit(label) { + return "detector:" + label + } + + return "" + } +} + +func highlightSignalGroup(label string) string { + label = strings.ToLower(strings.TrimSpace(label)) + + switch { + case strings.HasPrefix(label, "position:"): + return "position" + case strings.HasPrefix(label, "body:"): + return "body" + case strings.HasPrefix(label, "object:"): + return "object" + case strings.HasPrefix(label, "clothing:"): + return "clothing" + case strings.HasPrefix(label, "detector:"): + raw := strings.TrimPrefix(label, "detector:") + switch { + case bodyPartSeverityWeight(raw) >= 0.65: + return "body" + case objectSeverityWeight(raw) >= 0.55: + return "object" + case clothingSeverityWeight(raw) >= 0.50: + return "clothing" + default: + return "detector" + } + default: + return "other" + } +} + +func highlightSignalInterestingEnough(label string, score float64) bool { + label = normalizeHighlightSignalLabel(label) + if label == "" { + return false + } + + if score <= 0 { + score = 1 + } + + switch { + case strings.HasPrefix(label, "position:"): + // Position alleine ist nicht interessant genug, aber als Kombi-Kontext okay. + return score >= 0.35 + + case strings.HasPrefix(label, "body:"): + return score >= 0.35 && segmentSeverityWeight(label) >= 0.65 + + case strings.HasPrefix(label, "object:"): + return score >= 0.35 && segmentSeverityWeight(label) >= 0.50 + + case strings.HasPrefix(label, "clothing:"): + // Kleidung nur anzeigen, wenn sie als Kombi-Kontext dient. + return score >= 0.45 && segmentSeverityWeight(label) >= 0.50 + + case strings.HasPrefix(label, "detector:"): + return score >= 0.45 && segmentSeverityWeight(label) >= 0.60 + + default: + return false + } +} + +func addHighlightSignal(best map[string]highlightSignal, label string, score float64) { + label = normalizeHighlightSignalLabel(label) + if label == "" { + return + } + + if !highlightSignalInterestingEnough(label, score) { + return + } + + if score <= 0 { + score = 1 + } + + key := normalizeSegmentLabel(label) + if key == "" { + return + } + + sig := highlightSignal{ + Label: label, + Score: score, + Group: highlightSignalGroup(label), + } + + if old, ok := best[key]; !ok || sig.Score > old.Score { + best[key] = sig + } +} + +func addHighlightSignalsFromScoredLabels( + best map[string]highlightSignal, + prefix string, + items []TrainingScoredLabel, +) { + prefix = strings.ToLower(strings.TrimSpace(prefix)) + if prefix == "" { + return + } + + for _, item := range items { + label := strings.ToLower(strings.TrimSpace(item.Label)) + if label == "" || label == "unknown" { + continue + } + + addHighlightSignal(best, prefix+":"+label, item.Score) + } +} + +func highlightComboPartOrder(label string) int { + label = strings.ToLower(strings.TrimSpace(label)) + + switch { + case strings.HasPrefix(label, "position:"): + return 0 + case strings.HasPrefix(label, "body:"): + return 1 + case strings.HasPrefix(label, "object:"): + return 2 + case strings.HasPrefix(label, "clothing:"): + return 3 + case strings.HasPrefix(label, "detector:"): + return 4 + default: + return 9 + } +} + +func buildCombinedHighlightHitFromPrediction(pred TrainingPrediction, t float64) (analyzeHit, bool) { + if !pred.ModelAvailable { + return analyzeHit{}, false + } + + best := map[string]highlightSignal{} + + sexPosition := strings.ToLower(strings.TrimSpace(pred.SexPosition)) + if sexPosition != "" && sexPosition != "unknown" { + addHighlightSignal(best, "position:"+sexPosition, pred.SexPositionScore) + } + + addHighlightSignalsFromScoredLabels(best, "body", pred.BodyPartsPresent) + addHighlightSignalsFromScoredLabels(best, "object", pred.ObjectsPresent) + addHighlightSignalsFromScoredLabels(best, "clothing", pred.ClothingPresent) + + for _, box := range pred.Boxes { + label := strings.ToLower(strings.TrimSpace(box.Label)) + if label == "" || label == "unknown" { + continue + } + if isIgnoredNSFWLabel(label) { + continue + } + if !shouldAutoSelectAnalyzeHit(label) { + continue + } + + addHighlightSignal(best, "detector:"+label, box.Score) + } + + if len(best) < 2 { + return analyzeHit{}, false + } + + signals := make([]highlightSignal, 0, len(best)) + groupSeen := map[string]bool{} + nonPositionCount := 0 + hasPosition := false + + for _, sig := range best { + if sig.Label == "" { + continue + } + + if sig.Group == "position" { + hasPosition = true + } else { + nonPositionCount++ + } + + groupSeen[sig.Group] = true + signals = append(signals, sig) + } + + // Nur echte interessante Kombis: + // - Position + mindestens ein weiteres Signal + // - oder mindestens zwei Nicht-Positions-Signale + // - oder mindestens zwei unterschiedliche Signalgruppen + if len(signals) < 2 { + return analyzeHit{}, false + } + if hasPosition && nonPositionCount < 1 { + return analyzeHit{}, false + } + if !hasPosition && nonPositionCount < 2 { + return analyzeHit{}, false + } + if len(groupSeen) < 2 && len(signals) < 3 { + return analyzeHit{}, false + } + + sort.SliceStable(signals, func(i, j int) bool { + oi := highlightComboPartOrder(signals[i].Label) + oj := highlightComboPartOrder(signals[j].Label) + if oi != oj { + return oi < oj + } + + wi := segmentSeverityWeight(signals[i].Label) * signals[i].Score + wj := segmentSeverityWeight(signals[j].Label) * signals[j].Score + if wi != wj { + return wi > wj + } + + return signals[i].Label < signals[j].Label + }) + + // Nicht zu lange Titel bauen. + if len(signals) > 4 { + signals = signals[:4] + } + + parts := make([]string, 0, len(signals)) + var scoreSum float64 + var scoreWeightSum float64 + var maxWeighted float64 + + for _, sig := range signals { + parts = append(parts, sig.Label) + + sev := segmentSeverityWeight(sig.Label) + if sev <= 0 { + sev = 0.5 + } + + weighted := sig.Score * sev + scoreSum += sig.Score * sev + scoreWeightSum += sev + + if weighted > maxWeighted { + maxWeighted = weighted + } + } + + if len(parts) < 2 || scoreWeightSum <= 0 { + return analyzeHit{}, false + } + + avgScore := scoreSum / scoreWeightSum + + // Kombi-Score: stärkstes Signal + Durchschnitt. + score := 0.65*maxWeighted + 0.35*avgScore + if score > 1 { + score = 1 + } + if score <= 0 { + score = avgScore + } + + // Noch einmal Mindestqualität prüfen. + if score < 0.42 { + return analyzeHit{}, false + } + + return analyzeHit{ + Time: t, + Label: "combo:" + strings.Join(parts, "+"), + Score: score, + Start: t, + End: t, + }, true +} + +func appendHighlightHitsFromPrediction( + hits []analyzeHit, + pred TrainingPrediction, + t float64, +) []analyzeHit { + hit, ok := buildCombinedHighlightHitFromPrediction(pred, t) + if !ok { + return hits + } + + return append(hits, hit) +} + func analyzeVideoFromFrames(ctx context.Context, outPath, goal string) ([]analyzeHit, error) { - if goal != "nsfw" { + goal = strings.ToLower(strings.TrimSpace(goal)) + + nsfwHits, highlightHits, err := analyzeVideoFromFramesForGoal(ctx, outPath, goal) + if err != nil { + return nil, err + } + + switch goal { + case "nsfw": + return nsfwHits, nil + case "highlights": + return highlightHits, nil + default: return []analyzeHit{}, nil } +} + +const analyzeProgressTotal = 1000 + +func publishAnalyzeExtractProgress( + startedAtMs int64, + file string, + progress float64, + message string, +) { + progress = math.Max(0, math.Min(1, progress)) + + current := int(math.Round(progress * 0.5 * analyzeProgressTotal)) + + message = strings.TrimSpace(message) + if message == "" || strings.EqualFold(message, "Analyse") || strings.Contains(message, "Frames werden extrahiert") { + message = analyzeGlobalPercentMessageFromCurrent(current, analyzeProgressTotal) + } + + publishAnalysisStep( + startedAtMs, + current, + analyzeProgressTotal, + file, + message, + ) +} + +func analyzePercentMessage(currentFrame int, totalFrames int) string { + if totalFrames <= 0 { + totalFrames = 1 + } + + ratio := float64(currentFrame) / float64(totalFrames) + ratio = math.Max(0, math.Min(1, ratio)) + + percent := int(math.Round(ratio * 100)) + if percent < 0 { + percent = 0 + } + if percent > 100 { + percent = 100 + } + + return fmt.Sprintf("Analyse %d%%", percent) +} + +func publishAnalyzeInferenceProgress( + startedAtMs int64, + file string, + currentFrame int, + totalFrames int, + message string, +) { + if totalFrames <= 0 { + totalFrames = 1 + } + + ratio := float64(currentFrame) / float64(totalFrames) + ratio = math.Max(0, math.Min(1, ratio)) + + current := int(math.Round((0.5 + ratio*0.5) * analyzeProgressTotal)) + + message = strings.TrimSpace(message) + if message == "" || strings.EqualFold(message, "Analyse") { + message = analyzeGlobalPercentMessageFromCurrent(current, analyzeProgressTotal) + } + + publishAnalysisStep( + startedAtMs, + current, + analyzeProgressTotal, + file, + message, + ) +} + +func analyzeGlobalPercentFromCurrent(current int, total int) int { + if total <= 0 { + total = analyzeProgressTotal + } + + ratio := float64(current) / float64(total) + ratio = math.Max(0, math.Min(1, ratio)) + + percent := int(math.Round(ratio * 100)) + if percent < 0 { + return 0 + } + if percent > 100 { + return 100 + } + return percent +} + +func analyzeGlobalPercentMessageFromCurrent(current int, total int) string { + return fmt.Sprintf( + "Analyse %d%%", + analyzeGlobalPercentFromCurrent(current, total), + ) +} + +func analyzeVideoFromFramesForGoal( + ctx context.Context, + outPath string, + goal string, +) (nsfwHits []analyzeHit, highlightHits []analyzeHit, err error) { + goal = strings.ToLower(strings.TrimSpace(goal)) + if goal == "" { + goal = "all" + } + + file := filepath.Base(strings.TrimSpace(outPath)) + startedAtMs := publishAnalysisStarted(file, analyzeProgressTotal, "Analyse 0%") + + publishAnalyzeExtractProgress( + startedAtMs, + file, + 0, + "Analyse 0%", + ) durationSec, _ := durationSecondsForAnalyze(ctx, outPath) if durationSec <= 0 { - return nil, fmt.Errorf("videolänge konnte nicht bestimmt werden") + err := appErrorf("videolänge konnte nicht bestimmt werden") + publishAnalysisError(startedAtMs, file, "Analyse fehlgeschlagen", err) + return nil, nil, err } - sampleTimes := buildVideoSampleTimes(durationSec, 24) - if len(sampleTimes) == 0 { - return nil, fmt.Errorf("keine frame-samples berechnet") + // Hilfsfunktion: garantiert, dass keine Prozentpunkte übersprungen werden. + // Beispiel: letzter Stand 12, neuer Stand 17 -> sendet 13,14,15,16,17. + publishPercentRange := func(lastPercent *int, nextPercent int, current int, total int, extractPhase bool) { + if total <= 0 { + total = 1 + } + + if nextPercent < 0 { + nextPercent = 0 + } + if nextPercent > 100 { + nextPercent = 100 + } + + if nextPercent <= *lastPercent { + return + } + + for p := *lastPercent + 1; p <= nextPercent; p++ { + label := fmt.Sprintf("Analyse %d%%", p) + + if extractPhase { + // p läuft global 0..50, publishAnalyzeExtractProgress erwartet aber 0..1. + ratio := float64(p) / 50.0 + if ratio < 0 { + ratio = 0 + } + if ratio > 1 { + ratio = 1 + } + + publishAnalyzeExtractProgress( + startedAtMs, + file, + ratio, + label, + ) + } else { + // Für die Inferenzphase current/total so wählen, dass der globale + // Fortschritt in publishAnalyzeInferenceProgress wieder exakt p ergibt: + // current/total = (p - 50) / 50 + inferenceCurrent := current + inferenceTotal := total + + if p >= 50 { + inferenceTotal = 50 + inferenceCurrent = p - 50 + } + + publishAnalyzeInferenceProgress( + startedAtMs, + file, + inferenceCurrent, + inferenceTotal, + label, + ) + } + } + + *lastPercent = nextPercent } - hits := make([]analyzeHit, 0, len(sampleTimes)) + lastExtractPercent := 0 - for _, t := range sampleTimes { - img, err := extractVideoFrameAt(ctx, outPath, t) - if err != nil { - return nil, fmt.Errorf("frame extraktion bei %.3fs fehlgeschlagen: %w", t, err) - } + samples, cleanup, err := extractVideoFramesBatch( + ctx, + outPath, + durationSec, + analyzeVideoFrameIntervalSeconds, + func(current int, expected int) { + if expected <= 0 { + expected = 1 + } - res, err := classifyFrameNSFW(ctx, img) - if err != nil { - continue - } + if current < 0 { + current = 0 + } + if current > expected { + current = expected + } - bestLabel, bestScore := pickBestNSFWResult(res.Results) - if bestLabel == "" { - continue - } + ratio := float64(current) / float64(expected) + ratio = math.Max(0, math.Min(1, ratio)) - threshold := nsfwThresholdForLabel(bestLabel) + globalPercent := int(math.Round(ratio * 50)) + publishPercentRange( + &lastExtractPercent, + globalPercent, + current, + expected, + true, + ) + }, + ) - if bestScore < threshold { - continue - } - - hits = append(hits, analyzeHit{ - Time: t, - Label: bestLabel, - Score: bestScore, - Start: t, - End: t, - }) + if err != nil { + publishAnalysisError(startedAtMs, file, "Frames konnten nicht extrahiert werden", err) + return nil, nil, err } - return mergeAnalyzeHits(hits), nil + if len(samples) == 0 { + err := appErrorf("keine frame-samples vorhanden") + publishAnalysisError(startedAtMs, file, "Keine Frames vorhanden", err) + return nil, nil, err + } + + total := len(samples) + + if lastExtractPercent < 50 { + publishPercentRange( + &lastExtractPercent, + 50, + total, + total, + true, + ) + } + + paths := make([]string, 0, len(samples)) + for _, sample := range samples { + paths = append(paths, sample.Path) + } + + lastInferencePercent := 50 + + publishAnalyzeInferenceProgress( + startedAtMs, + file, + 0, + total, + "Analyse 50%", + ) + + // Schneller AI-Server-Batch-Pfad für nsfw, highlights und all. + // Wichtig: ensureAnalyzeAllGoalsForVideoCtx ruft goal="all" auf. + // Ohne diesen Block fällt "all" auf die sehr langsame Einzelbild-Analyse zurück. + if goal == "nsfw" || goal == "highlights" || goal == "all" { + batchOK := true + + // Für nsfw könnte detectorOnly=true reichen. + // Dein ai_server.py liefert aber ohnehin alle Felder aus YOLO-Resultaten, + // daher ist false für alle Goals okay und vermeidet Sonderlogik. + detectorOnly := false + + for startIdx := 0; startIdx < len(samples); startIdx += analyzeFramePredictBatchSize { + endIdx := startIdx + analyzeFramePredictBatchSize + if endIdx > len(samples) { + endIdx = len(samples) + } + + predictions, batchErr := trainingPredictFramePathsBatchForAnalyze( + ctx, + paths[startIdx:endIdx], + detectorOnly, + ) + + if batchErr != nil || len(predictions) < endIdx-startIdx { + appLogln("⚠️ video batch analyse fehlgeschlagen, fallback auf einzelbild-analyse:", batchErr) + + batchOK = false + nsfwHits = nil + highlightHits = nil + lastInferencePercent = 50 + + publishAnalyzeInferenceProgress( + startedAtMs, + file, + 0, + total, + "Analyse 50%", + ) + + break + } + + for i := 0; i < endIdx-startIdx; i++ { + sample := samples[startIdx+i] + pred := predictions[i] + + switch goal { + case "nsfw": + nsfwHits = appendNSFWHitFromPrediction(nsfwHits, pred, sample.Time) + + case "highlights": + highlightHits = appendHighlightHitsFromPrediction(highlightHits, pred, sample.Time) + + default: + nsfwHits = appendNSFWHitFromPrediction(nsfwHits, pred, sample.Time) + highlightHits = appendHighlightHitsFromPrediction(highlightHits, pred, sample.Time) + } + } + + globalPercent := 50 + int(math.Round((float64(endIdx)/float64(total))*50)) + if globalPercent > 100 { + globalPercent = 100 + } + + publishPercentRange( + &lastInferencePercent, + globalPercent, + endIdx, + total, + false, + ) + } + + if batchOK { + if lastInferencePercent < 100 { + publishPercentRange( + &lastInferencePercent, + 100, + total, + total, + false, + ) + } + + cleanNSFWHits := mergeAnalyzeHits(nsfwHits) + cleanHighlightHits := mergeAnalyzeHits(highlightHits) + + cleanup() + + publishAnalysisFinished(startedAtMs, total, file, "Analyse abgeschlossen") + return cleanNSFWHits, cleanHighlightHits, nil + } + } + + // Fallback: langsame Einzelbild-Analyse. + // Dieser Pfad sollte nur laufen, wenn der AI-Server-Batch fehlschlägt. + for i, sample := range samples { + t := sample.Time + + switch goal { + case "nsfw": + res, err := classifyFramePathForAnalyze(ctx, sample.Path) + if err == nil { + bestLabel, bestScore := pickBestNSFWResult(res.Results) + if bestLabel != "" && bestScore >= nsfwThresholdForLabel(bestLabel) { + nsfwHits = append(nsfwHits, analyzeHit{ + Time: t, + Label: bestLabel, + Score: bestScore, + Start: t, + End: t, + }) + } + } + + case "highlights": + pred := predictFramePathForAnalyze(ctx, sample.Path) + highlightHits = appendHighlightHitsFromPrediction(highlightHits, pred, t) + + default: + pred := predictFramePathForAnalyze(ctx, sample.Path) + nsfwHits = appendNSFWHitFromPrediction(nsfwHits, pred, t) + highlightHits = appendHighlightHitsFromPrediction(highlightHits, pred, t) + } + + current := i + 1 + + globalPercent := 50 + int(math.Round((float64(current)/float64(total))*50)) + if globalPercent > 100 { + globalPercent = 100 + } + + publishPercentRange( + &lastInferencePercent, + globalPercent, + current, + total, + false, + ) + } + + if lastInferencePercent < 100 { + publishPercentRange( + &lastInferencePercent, + 100, + total, + total, + false, + ) + } + + cleanNSFWHits := mergeAnalyzeHits(nsfwHits) + cleanHighlightHits := mergeAnalyzeHits(highlightHits) + + cleanup() + + publishAnalysisFinished(startedAtMs, total, file, "Analyse abgeschlossen") + + return cleanNSFWHits, cleanHighlightHits, nil } func analyzeSpriteCandidatesWithAI( @@ -518,13 +2093,9 @@ func analyzeSpriteCandidatesWithAI( candidates []spriteFrameCandidate, goal string, ) ([]analyzeHit, error) { - if goal != "nsfw" { - return []analyzeHit{}, nil - } - frames, err := extractSpriteFrames(spritePath, ps) if err != nil { - return nil, fmt.Errorf("sprite frames extrahieren fehlgeschlagen: %w", err) + return nil, appErrorf("sprite frames extrahieren fehlgeschlagen: %w", err) } hits := make([]analyzeHit, 0, len(candidates)) @@ -534,34 +2105,154 @@ func analyzeSpriteCandidatesWithAI( continue } - res, err := classifyFrameNSFW(ctx, frames[c.Index]) - if err != nil { - continue + img := frames[c.Index] + + switch goal { + case "nsfw": + res, err := classifyFrameForAnalyze(ctx, img) + if err != nil { + continue + } + + bestLabel, bestScore := pickBestNSFWResult(res.Results) + if bestLabel == "" { + continue + } + + threshold := nsfwThresholdForLabel(bestLabel) + if bestScore < threshold { + continue + } + + hits = append(hits, analyzeHit{ + Time: c.Time, + Label: bestLabel, + Score: bestScore, + Start: c.Time, + End: c.Time, + }) + + case "highlights": + pred := predictFrameForAnalyze(ctx, img) + if !pred.ModelAvailable { + continue + } + + hits = appendHighlightHitsFromPrediction(hits, pred, c.Time) } - - bestLabel, bestScore := pickBestNSFWResult(res.Results) - if bestLabel == "" { - continue - } - - threshold := nsfwThresholdForLabel(bestLabel) - - if bestScore < threshold { - continue - } - - hits = append(hits, analyzeHit{ - Time: c.Time, - Label: bestLabel, - Score: bestScore, - Start: c.Time, - End: c.Time, - }) } return hits, nil } +func sameAnalyzeComboLabel(a, b string) bool { + a = strings.ToLower(strings.TrimSpace(a)) + b = strings.ToLower(strings.TrimSpace(b)) + + if !strings.HasPrefix(a, "combo:") || !strings.HasPrefix(b, "combo:") { + return false + } + + parse := func(label string) (position string, parts map[string]bool) { + raw := strings.TrimPrefix(label, "combo:") + parts = map[string]bool{} + + for _, part := range strings.Split(raw, "+") { + part = strings.ToLower(strings.TrimSpace(part)) + if part == "" { + continue + } + + if strings.HasPrefix(part, "position:") { + position = strings.TrimPrefix(part, "position:") + continue + } + + normalized := normalizeSegmentLabel(part) + if normalized != "" { + parts[normalized] = true + } + } + + return position, parts + } + + posA, partsA := parse(a) + posB, partsB := parse(b) + + // Unterschiedliche klare Hauptpositionen nicht zusammenführen. + // Beispiel: doggy != missionary + if posA != "" && posB != "" && posA != posB { + return false + } + + // Wenn beide keine gemeinsame Kontext-Komponente haben, nicht mergen. + // Beispiel: + // combo:position:doggy+object:dildo + // combo:position:doggy+clothing:lingerie + // => kein gemeinsames Nicht-Positionssignal, also getrennt lassen. + for part := range partsA { + if partsB[part] { + return true + } + } + + return false +} + +func sameAnalyzeSegmentLabel(a, b string) bool { + a = strings.ToLower(strings.TrimSpace(a)) + b = strings.ToLower(strings.TrimSpace(b)) + + if strings.HasPrefix(a, "combo:") || strings.HasPrefix(b, "combo:") { + return sameAnalyzeComboLabel(a, b) + } + + return normalizeSegmentLabel(a) == normalizeSegmentLabel(b) +} + +func preferAnalyzeSegmentLabel(a, b string) string { + a = strings.ToLower(strings.TrimSpace(a)) + b = strings.ToLower(strings.TrimSpace(b)) + + if a == "" { + return b + } + if b == "" { + return a + } + + // body: ist meist semantisch sauberer als detector: + if strings.HasPrefix(a, "body:") && !strings.HasPrefix(b, "body:") { + return a + } + if strings.HasPrefix(b, "body:") && !strings.HasPrefix(a, "body:") { + return b + } + + // object:/clothing:/position: ebenfalls sauberer als detector: + preferredPrefix := func(s string) bool { + return strings.HasPrefix(s, "object:") || + strings.HasPrefix(s, "clothing:") || + strings.HasPrefix(s, "position:") || + strings.HasPrefix(s, "combo:") + } + + if preferredPrefix(a) && strings.HasPrefix(b, "detector:") { + return a + } + if preferredPrefix(b) && strings.HasPrefix(a, "detector:") { + return b + } + + // Sonst kürzeres Label behalten, z. B. breasts statt detector:breasts. + if len(b) < len(a) { + return b + } + + return a +} + func mergeAnalyzeHits(in []analyzeHit) []analyzeHit { if len(in) == 0 { return []analyzeHit{} @@ -620,10 +2311,11 @@ func mergeAnalyzeHits(in []analyzeHit) []analyzeHit { // Direkt aufeinanderfolgende Treffer mit gleichem Label immer zusammenfassen. // Sobald ein anderes Label dazwischen liegt, wird automatisch nicht gemergt. - sameLabel := strings.EqualFold(cur.Label, n.Label) + sameLabel := sameAnalyzeSegmentLabel(cur.Label, n.Label) gap := n.Start - cur.End - if sameLabel && gap <= analyzeSegmentMergeGapSeconds { + if sameLabel && gap >= -0.25 && gap <= analyzeSegmentMergeGapSeconds { + cur.Label = preferAnalyzeSegmentLabel(cur.Label, n.Label) if n.Start < cur.Start { cur.Start = n.Start } @@ -844,7 +2536,8 @@ func buildSegmentsFromAnalyzeHits(hits []analyzeHit, duration float64) []aiSegme gap = 0 } - if strings.EqualFold(cur.Label, n.Label) && gap <= analyzeSegmentMergeGapSeconds { + if sameAnalyzeSegmentLabel(cur.Label, n.Label) && gap <= analyzeSegmentMergeGapSeconds { + cur.Label = preferAnalyzeSegmentLabel(cur.Label, n.Label) if n.StartSeconds < cur.StartSeconds { cur.StartSeconds = n.StartSeconds } @@ -864,7 +2557,139 @@ func buildSegmentsFromAnalyzeHits(hits []analyzeHit, duration float64) []aiSegme } merged = append(merged, cur) - return merged + return mergeAdjacentAISegments(merged, analyzeSegmentMergeGapSeconds) +} + +func buildHighlightSegmentsFromAnalyzeHits(hits []analyzeHit, duration float64) []aiSegmentMeta { + if len(hits) == 0 || duration <= 0 { + return []aiSegmentMeta{} + } + + pointSpan := inferAnalyzePointSpanSeconds(hits, duration) + + out := make([]aiSegmentMeta, 0, len(hits)) + + for _, hit := range hits { + label := strings.ToLower(strings.TrimSpace(hit.Label)) + if label == "" || label == "unknown" { + continue + } + + if isIgnoredNSFWLabel(label) { + continue + } + + start := hit.Start + end := hit.End + + if start < 0 && end < 0 { + start = hit.Time + end = hit.Time + } else { + if start < 0 { + start = hit.Time + } + if end < 0 { + end = hit.Time + } + } + + if start > end { + start, end = end, start + } + + start = math.Max(0, math.Min(start, duration)) + end = math.Max(0, math.Min(end, duration)) + + if end <= start { + marker := hit.Time + if marker < 0 { + marker = start + } + + start, end = expandAnalyzePointToSpan(marker, pointSpan, duration) + } + + if end <= start { + continue + } + + out = append(out, aiSegmentMeta{ + Label: label, + StartSeconds: start, + EndSeconds: end, + DurationSeconds: end - start, + Score: hit.Score, + AutoSelected: true, + }) + } + + if len(out) == 0 { + return []aiSegmentMeta{} + } + + sort.Slice(out, func(i, j int) bool { + if out[i].StartSeconds != out[j].StartSeconds { + return out[i].StartSeconds < out[j].StartSeconds + } + if out[i].EndSeconds != out[j].EndSeconds { + return out[i].EndSeconds < out[j].EndSeconds + } + return out[i].Label < out[j].Label + }) + + merged := make([]aiSegmentMeta, 0, len(out)) + cur := out[0] + + for i := 1; i < len(out); i++ { + n := out[i] + + gap := n.StartSeconds - cur.EndSeconds + if gap < 0 { + gap = 0 + } + + if sameAnalyzeSegmentLabel(cur.Label, n.Label) && gap <= analyzeSegmentMergeGapSeconds { + cur.Label = preferAnalyzeSegmentLabel(cur.Label, n.Label) + if n.StartSeconds < cur.StartSeconds { + cur.StartSeconds = n.StartSeconds + } + if n.EndSeconds > cur.EndSeconds { + cur.EndSeconds = n.EndSeconds + } + cur.DurationSeconds = cur.EndSeconds - cur.StartSeconds + if n.Score > cur.Score { + cur.Score = n.Score + } + cur.AutoSelected = cur.AutoSelected || n.AutoSelected + continue + } + + merged = append(merged, cur) + cur = n + } + + merged = append(merged, cur) + return mergeAdjacentAISegments(merged, analyzeSegmentMergeGapSeconds) +} + +func buildAnalyzeSegmentsForGoal( + hits []analyzeHit, + duration float64, + goal string, +) []aiSegmentMeta { + goal = strings.ToLower(strings.TrimSpace(goal)) + + switch goal { + case "highlights": + return buildHighlightSegmentsFromAnalyzeHits(hits, duration) + + case "nsfw": + return buildSegmentsFromAnalyzeHits(hits, duration) + + default: + return []aiSegmentMeta{} + } } func buildSpriteFrameCandidates(count int, stepSeconds, durationSec float64) []spriteFrameCandidate { @@ -902,20 +2727,82 @@ func buildSpriteFrameCandidates(count int, stepSeconds, durationSec float64) []s return out } +func limitSpriteFrameCandidates(in []spriteFrameCandidate, max int) []spriteFrameCandidate { + if max <= 0 || len(in) <= max { + return in + } + + out := make([]spriteFrameCandidate, 0, max) + seen := map[int]bool{} + + if max == 1 { + return []spriteFrameCandidate{in[len(in)/2]} + } + + for i := 0; i < max; i++ { + ratio := float64(i) / float64(max-1) + idx := int(math.Round(ratio * float64(len(in)-1))) + + if idx < 0 { + idx = 0 + } + if idx >= len(in) { + idx = len(in) - 1 + } + + if seen[idx] { + continue + } + seen[idx] = true + + out = append(out, in[idx]) + } + + if len(out) == 0 { + return in + } + + return out +} + func buildVideoSampleTimes(durationSec float64, sampleCount int) []float64 { if durationSec <= 0 || sampleCount <= 0 { return nil } + + // Nicht exakt bei 0.0s und nicht exakt am Videoende sampeln. + // Anfang/Ende sind häufiger schwarz, unscharf oder ffmpeg schlägt am Ende fehl. + startPad := math.Min(1.0, durationSec*0.05) + endPad := math.Min(1.0, durationSec*0.05) + + start := startPad + end := durationSec - endPad + + if end <= start { + start = 0 + end = durationSec + } + if sampleCount == 1 { - return []float64{0} + return []float64{(start + end) / 2} } out := make([]float64, 0, sampleCount) + for i := 0; i < sampleCount; i++ { ratio := float64(i) / float64(sampleCount-1) - t := ratio * durationSec + t := start + ratio*(end-start) + + if t < 0 { + t = 0 + } + if t > durationSec { + t = durationSec + } + out = append(out, t) } + return out } diff --git a/backend/assets_generate.go b/backend/assets_generate.go index c792fdc..e83cb19 100644 --- a/backend/assets_generate.go +++ b/backend/assets_generate.go @@ -83,12 +83,12 @@ func postWorkSortForVideoPath(videoPath string) (bucket int, sortName string) { func assetPathsForID(id string) (assetDir, thumbPath, previewPath, spritePath, metaPath string, err error) { id = strings.TrimSpace(id) if id == "" { - return "", "", "", "", "", fmt.Errorf("empty id") + return "", "", "", "", "", appErrorf("empty id") } assetDir, err = ensureGeneratedDir(id) if err != nil || strings.TrimSpace(assetDir) == "" { - return "", "", "", "", "", fmt.Errorf("generated dir: %v", err) + return "", "", "", "", "", appErrorf("generated dir: %v", err) } thumbPath = filepath.Join(assetDir, "preview.jpg") @@ -103,6 +103,115 @@ func assetPathsForID(id string) (assetDir, thumbPath, previewPath, spritePath, m return assetDir, thumbPath, previewPath, spritePath, metaPath, nil } +func requiredAnalyzeGoals() []string { + return []string{"nsfw", "highlights"} +} + +func hasAIResultsForAllOutputGoals(outPath string, goals []string) bool { + // Der Name bleibt für Kompatibilität, + // aber semantisch heißt das jetzt: + // "Sind alle Analysen gespeichert?" + return hasAIAnalysisForAllOutputGoals(outPath, goals) +} + +func ensureAnalyzeAllGoalsForVideoCtx( + ctx context.Context, + videoPath string, + sourceURL string, +) (bool, error) { + return ensureAnalyzeAllGoalsForVideoCtxForce(ctx, videoPath, sourceURL, false) +} + +func ensureAnalyzeAllGoalsForVideoCtxForce( + ctx context.Context, + videoPath string, + sourceURL string, + force bool, +) (bool, error) { + videoPath = strings.TrimSpace(videoPath) + if videoPath == "" { + return false, nil + } + + // Normaler Asset-/Postwork-Pfad: + // vorhandene Analyse behalten. + if !force && hasAIAnalysisForAllOutputGoals(videoPath, requiredAnalyzeGoals()) { + return false, nil + } + + fi, err := os.Stat(videoPath) + if err != nil || fi == nil || fi.IsDir() || fi.Size() <= 0 { + return false, nil + } + + id := assetIDFromVideoPath(videoPath) + if id == "" { + return false, nil + } + + _, _, _, _, metaPath, perr := assetPathsForID(id) + if perr != nil { + return false, perr + } + + meta, _ := ensureVideoMeta(ctx, videoPath, metaPath, sourceURL, fi) + + actx, cancel := context.WithTimeout(ctx, 30*time.Minute) + defer cancel() + + durationSec := meta.durSec + if durationSec <= 0 { + durationSec, _ = durationSecondsForAnalyze(actx, videoPath) + } + if durationSec <= 0 { + return false, appErrorf("videolänge konnte nicht bestimmt werden") + } + + // NSFW + Highlights in EINEM Frame-Extraktionslauf analysieren. + nsfwHits, highlightHits, err := analyzeVideoFromFramesForGoal( + actx, + videoPath, + "all", + ) + if err != nil { + return false, err + } + + nsfwSegments := buildAnalyzeSegmentsForGoal(nsfwHits, durationSec, "nsfw") + nsfwRating := computeNSFWRating(nsfwSegments, durationSec) + + nsfwAI := &aiAnalysisMeta{ + Goal: "nsfw", + Mode: "video", + Hits: nsfwHits, + Segments: nsfwSegments, + Rating: nsfwRating, + AnalyzedAtUnix: time.Now().Unix(), + } + + if err := writeVideoAIForFile(actx, videoPath, meta.sourceURL, nsfwAI); err != nil { + return false, err + } + + highlightSegments := buildAnalyzeSegmentsForGoal(highlightHits, durationSec, "highlights") + highlightRating := computeNSFWRating(highlightSegments, durationSec) + + highlightAI := &aiAnalysisMeta{ + Goal: "highlights", + Mode: "video", + Hits: highlightHits, + Segments: highlightSegments, + Rating: highlightRating, + AnalyzedAtUnix: time.Now().Unix(), + } + + if err := writeVideoAIForFile(actx, videoPath, meta.sourceURL, highlightAI); err != nil { + return false, err + } + + return hasAIAnalysisForAllOutputGoals(videoPath, requiredAnalyzeGoals()), nil +} + func assetsTruthForVideo(videoPath string) finishedPhaseTruth { videoPath = strings.TrimSpace(videoPath) @@ -132,8 +241,8 @@ func assetsTruthForVideo(videoPath string) finishedPhaseTruth { truth.TeaserReady = fileExistsNonEmpty(previewPath) truth.SpritesReady = fileExistsNonEmpty(spritePath) - // Analyse weiterhin inhaltlich prüfen - truth.AnalyzeReady = hasAIResultsForOutput(videoPath) + // Analyse für Standard-Postwork: NSFW-Rating + truth.AnalyzeReady = truth.SpritesReady && hasAIAnalysisForAllOutputGoals(videoPath, requiredAnalyzeGoals()) return truth } @@ -365,7 +474,7 @@ func ensurePrimaryAssetsForVideoWithProgressCtx( if err := atomicWriteFile(thumbPath, img); err == nil { out.ThumbGenerated = true } else { - fmt.Println("⚠️ thumb write:", err) + appLogln("⚠️ thumb write:", err) } } }() @@ -628,14 +737,14 @@ func ensureTeaserForVideoCtx( nil, ); err != nil { if isFFmpegInputInvalidError(err) { - return false, fmt.Errorf("teaser ffmpeg input ungültig für %s: %w", videoPath, err) + return false, appErrorf("teaser ffmpeg input ungültig für %s: %w", videoPath, err) } - return false, fmt.Errorf("teaser generation fehlgeschlagen für %s: %w", videoPath, err) + return false, appErrorf("teaser generation fehlgeschlagen für %s: %w", videoPath, err) } // Zusätzliche Sicherheitsprüfung: Datei muss nach der Generierung wirklich existieren if pfi, err := os.Stat(previewPath); err != nil || pfi == nil || pfi.IsDir() || pfi.Size() <= 0 { - return false, fmt.Errorf("teaser wurde ohne gültige preview.mp4 beendet: %s", previewPath) + return false, appErrorf("teaser wurde ohne gültige preview.mp4 beendet: %s", previewPath) } var computedPreviewClips []previewClip @@ -781,7 +890,12 @@ func ensureAnalyzeForVideoCtx( return false, nil } - if hasAIResultsForOutput(videoPath) { + goal = normalizeAIGoal(goal) + if goal == "" { + goal = "nsfw" + } + + if hasAIAnalysisForOutputGoal(videoPath, goal) { return false, nil } @@ -795,55 +909,20 @@ func ensureAnalyzeForVideoCtx( return false, nil } - _, _, _, spritePath, metaPath, perr := assetPathsForID(id) + _, _, _, _, _, perr := assetPathsForID(id) if perr != nil { return false, perr } - meta, _ := ensureVideoMeta(ctx, videoPath, metaPath, sourceURL, fi) - - if sfi, err := os.Stat(spritePath); err != nil || sfi == nil || sfi.IsDir() || sfi.Size() <= 0 { - return false, nil + // Analyse läuft jetzt frame-basiert und braucht kein preview-sprite.jpg mehr. + if _, err := ensureAnalyzeAllGoalsForVideoCtx(ctx, videoPath, sourceURL); err != nil { + return false, err } - goal = strings.ToLower(strings.TrimSpace(goal)) - if goal == "" { - goal = "nsfw" - } - - actx, cancel := context.WithTimeout(ctx, 90*time.Second) - defer cancel() - - durationSec, _ := durationSecondsForAnalyze(actx, videoPath) - hits, aerr := analyzeVideoFromSprite(actx, videoPath, goal) - if aerr != nil { - return false, nil - } - - segments := buildSegmentsFromAnalyzeHits(hits, durationSec) - - var rating *aiRatingMeta - if goal == "nsfw" { - rating = computeNSFWRating(segments, durationSec) - } - - ai := &aiAnalysisMeta{ - Goal: goal, - Mode: "sprite", - Hits: hits, - Segments: segments, - Rating: rating, - AnalyzedAtUnix: time.Now().Unix(), - } - - if werr := writeVideoAIForFile(actx, videoPath, meta.sourceURL, ai); werr != nil { - return false, nil - } - - return true, nil + return hasAIAnalysisForOutputGoal(videoPath, goal), nil } -func ensureDeferredAssetsAndAI(ctx context.Context, videoPath, sourceURL string) error { +func ensureDeferredAssetsAndAI(ctx context.Context, videoPath, sourceURL string, goal string) error { videoPath = strings.TrimSpace(videoPath) if videoPath == "" { return nil @@ -859,26 +938,23 @@ func ensureDeferredAssetsAndAI(ctx context.Context, videoPath, sourceURL string) return nil } - // NUR noch langsame Background-Schritte: - // 1) Sprite + // Sprite weiterhin best-effort erzeugen. if _, err := ensureSpritesForVideoCtx(ctx, videoPath, sourceURL); err != nil { - return fmt.Errorf("deferred sprite failed for %s: %w", videoPath, err) + appLogln("⚠️ deferred sprite failed:", err) } - spriteTruth := assetsTruthForVideo(videoPath) - if !spriteTruth.SpritesReady { - return fmt.Errorf("preview-sprite.jpg fehlt nach deferred generation: %s", id) + // Analyse genau einmal für alle Standard-Ziele. + if _, err := ensureAnalyzeAllGoalsForVideoCtx(ctx, videoPath, sourceURL); err != nil { + return appErrorf("deferred analyze failed for %s: %w", videoPath, err) } - // 2) Analyse - analyzeReady, err := ensureAnalyzeForVideoCtx(ctx, videoPath, sourceURL, "nsfw") - if err != nil { - return fmt.Errorf("deferred analyze failed for %s: %w", videoPath, err) + goal = normalizeAIGoal(goal) + if goal == "" { + goal = "highlights" } - analyzeTruth := assetsTruthForVideo(videoPath) - if !analyzeReady && !analyzeTruth.AnalyzeReady { - return fmt.Errorf("Analyse fehlt nach deferred analyze: %s", id) + if !hasAIAnalysisForOutputGoal(videoPath, goal) { + return appErrorf("Analyse fehlt nach deferred analyze: %s", id) } return nil @@ -896,13 +972,22 @@ func enqueueDeferredAssetsAndAI(job *RecordJob, outPath string, sourceURL string return false } + requiredGoals := requiredAnalyzeGoals() + truth := assetsTruthForVideo(outPath) needMeta := !truth.MetaReady needThumb := !truth.ThumbReady needTeaser := !truth.TeaserReady needSprites := !truth.SpritesReady - needAnalyze := !truth.AnalyzeReady + + needAnalyze := false + for _, goal := range requiredGoals { + if !hasAIAnalysisForOutputGoal(outPath, goal) { + needAnalyze = true + break + } + } // Nichts zu tun -> erfolgreich if !needMeta && !needThumb && !needTeaser && !needSprites && !needAnalyze { @@ -923,7 +1008,7 @@ func enqueueDeferredAssetsAndAI(job *RecordJob, outPath string, sourceURL string publishDeferredPhase(fileName, assetID, "postwork", "sprites", "queued", "Sprites warten", nil) } if needAnalyze { - publishDeferredPhase(fileName, assetID, "enrich", "analyze", "queued", "Analyse wartet", nil) + publishDeferredPhase(fileName, assetID, "enrich", "analyze", "queued", "Analysen warten", nil) } sortBucket, sortName := postWorkSortForVideoPath(outPath) @@ -945,7 +1030,7 @@ func enqueueDeferredAssetsAndAI(job *RecordJob, outPath string, sourceURL string return true } - enqueueErr := fmt.Errorf("enqueue failed") + enqueueErr := appErrorf("enqueue failed") // queued-Zustände auf error drehen, aber nur für wirklich fehlende Phasen if needMeta { @@ -961,7 +1046,7 @@ func enqueueDeferredAssetsAndAI(job *RecordJob, outPath string, sourceURL string publishDeferredPhase(fileName, assetID, "postwork", "sprites", "error", "Sprites konnten nicht eingeplant werden", enqueueErr) } if needAnalyze { - publishDeferredPhase(fileName, assetID, "enrich", "analyze", "error", "Analyse konnte nicht eingeplant werden", enqueueErr) + publishDeferredPhase(fileName, assetID, "enrich", "analyze", "error", "Analysen konnten nicht eingeplant werden", enqueueErr) } return false @@ -1056,7 +1141,7 @@ func ensureAssetsForVideoDetailed(ctx context.Context, videoPath string, sourceU metaHasSprite = true } - metaHasAI := hasAIResultsForOutput(videoPath) + metaHasAI := hasAIAnalysisForAllOutputGoals(videoPath, requiredAnalyzeGoals()) // Nur dann wirklich komplett "fertig", wenn auch AI vorhanden ist if thumbBefore && previewBefore && spriteBefore && meta.ok && metaHasSprite && metaHasAI { @@ -1120,7 +1205,7 @@ func ensureAssetsForVideoDetailed(ctx context.Context, videoPath string, sourceU if err := atomicWriteFile(thumbPath, img); err == nil { out.ThumbGenerated = true } else { - fmt.Println("⚠️ thumb write:", err) + appLogln("⚠️ thumb write:", err) } } }() @@ -1296,7 +1381,7 @@ func ensureAssetsForVideoDetailed(ctx context.Context, videoPath string, sourceU return out, nil } -func hasAIResultsForOutput(outPath string) bool { +func hasAIResultsForOutputGoal(outPath string, goal string) bool { outPath = strings.TrimSpace(outPath) if outPath == "" { return false @@ -1312,7 +1397,9 @@ func hasAIResultsForOutput(outPath string) bool { return false } - aiMap, ok := readVideoMetaAI(metaPath) + goal = normalizeAIGoal(goal) + + aiMap, ok := readVideoMetaAIForGoal(metaPath, goal) if !ok || aiMap == nil { return false } @@ -1323,6 +1410,74 @@ func hasAIResultsForOutput(outPath string) bool { return (hasHits && len(rawHits) > 0) || (hasSegs && len(rawSegs) > 0) } +func hasAIAnalysisForOutputGoal(outPath string, goal string) bool { + outPath = strings.TrimSpace(outPath) + if outPath == "" { + return false + } + + id := assetIDFromVideoPath(outPath) + if id == "" { + return false + } + + metaPath, err := generatedMetaFile(id) + if err != nil || strings.TrimSpace(metaPath) == "" { + return false + } + + goal = normalizeAIGoal(goal) + + aiMap, ok := readVideoMetaAIForGoal(metaPath, goal) + if !ok || aiMap == nil { + return false + } + + // Wichtig: + // Auch eine Analyse ohne Treffer ist fertig, solange sie gespeichert wurde. + if rawGoal, ok := aiMap["goal"].(string); ok && normalizeAIGoal(rawGoal) == goal { + return true + } + + if rawMode, ok := aiMap["mode"].(string); ok && strings.TrimSpace(rawMode) != "" { + return true + } + + if _, ok := aiMap["hits"]; ok { + return true + } + + if _, ok := aiMap["segments"]; ok { + return true + } + + if _, ok := aiMap["analyzedAtUnix"]; ok { + return true + } + + return false +} + +func hasAIAnalysisForAllOutputGoals(outPath string, goals []string) bool { + outPath = strings.TrimSpace(outPath) + if outPath == "" { + return false + } + + if len(goals) == 0 { + goals = requiredAnalyzeGoals() + } + + for _, goal := range goals { + goal = normalizeAIGoal(goal) + if !hasAIAnalysisForOutputGoal(outPath, goal) { + return false + } + } + + return true +} + type PrepareSplitResult struct { AssetsReady bool AnalyzeReady bool @@ -1335,12 +1490,12 @@ func prepareVideoForSplit(ctx context.Context, videoPath, sourceURL, goal string videoPath = strings.TrimSpace(videoPath) if videoPath == "" { - return out, fmt.Errorf("empty videoPath") + return out, appErrorf("empty videoPath") } fi, err := os.Stat(videoPath) if err != nil || fi == nil || fi.IsDir() || fi.Size() <= 0 { - return out, fmt.Errorf("video datei nicht gefunden") + return out, appErrorf("video datei nicht gefunden") } // 1) Nur schnelle / primäre Assets sicherstellen: @@ -1356,7 +1511,7 @@ func prepareVideoForSplit(ctx context.Context, videoPath, sourceURL, goal string id := assetIDFromVideoPath(videoPath) if id == "" { - return out, fmt.Errorf("konnte asset id nicht ableiten") + return out, appErrorf("konnte asset id nicht ableiten") } _, thumbPath, previewPath, spritePath, _, perr := assetPathsForID(id) @@ -1382,15 +1537,15 @@ func prepareVideoForSplit(ctx context.Context, videoPath, sourceURL, goal string goal = strings.ToLower(strings.TrimSpace(goal)) if goal == "" { - goal = "nsfw" + goal = "highlights" } // 2) Für Split brauchen wir zusätzlich Sprite + AI. // Deshalb die langsamen Deferred-Schritte hier bei Bedarf synchron nachziehen. // (Im normalen Record-Flow laufen sie separat im Hintergrund.) - if err := ensureDeferredAssetsAndAI(ctx, videoPath, sourceURL); err != nil { + if err := ensureDeferredAssetsAndAI(ctx, videoPath, sourceURL, goal); err != nil { // best effort: kein harter Fehler, Status unten nochmal aus Dateisystem/meta ableiten - fmt.Println("⚠️ prepareVideoForSplit deferred enrich:", err) + appLogln("⚠️ prepareVideoForSplit deferred enrich:", err) } spriteExists := func() bool { @@ -1403,27 +1558,22 @@ func prepareVideoForSplit(ctx context.Context, videoPath, sourceURL, goal string out.SpriteReady = spriteExists // 3) AI-Segmente prüfen - if hasAIResultsForOutput(videoPath) { + if hasAIAnalysisForOutputGoal(videoPath, goal) { out.AnalyzeReady = true return out, nil } - // 4) Falls trotz Deferred-Step noch kein Sprite da ist, können wir AI nicht ausführen - if !spriteExists { - return out, nil - } - - // 5) Letzter Fallback: AI jetzt direkt berechnen + // 4) Fallback: AI direkt berechnen durationSec, _ := durationSecondsForAnalyze(ctx, videoPath) - hits, aerr := analyzeVideoFromSprite(ctx, videoPath, goal) + hits, aerr := analyzeVideoFromFrames(ctx, videoPath, goal) if aerr != nil { return out, nil } - segments := buildSegmentsFromAnalyzeHits(hits, durationSec) + segments := buildAnalyzeSegmentsForGoal(hits, durationSec, goal) var rating *aiRatingMeta - if goal == "nsfw" { + if goal == "nsfw" || goal == "highlights" { rating = computeNSFWRating(segments, durationSec) } @@ -1440,6 +1590,6 @@ func prepareVideoForSplit(ctx context.Context, videoPath, sourceURL, goal string return out, nil } - out.AnalyzeReady = len(segments) > 0 + out.AnalyzeReady = hasAIAnalysisForOutputGoal(videoPath, goal) return out, nil } diff --git a/backend/assets_sprite.go b/backend/assets_sprite.go index 7f1305f..9d2f8d8 100644 --- a/backend/assets_sprite.go +++ b/backend/assets_sprite.go @@ -14,11 +14,20 @@ import ( ) const ( + // Weniger Frames als vorher, aber Qualität pro Frame bleibt gut genug + // für Analyse + UI. previewSpriteCols = 20 previewSpriteRows = 12 previewSpriteFrameCount = previewSpriteCols * previewSpriteRows - previewSpriteCellW = 320 - previewSpriteCellH = 180 + + // Nicht kleiner machen, solange die Analyse dieselben Sprites nutzt. + // 320x180 ist für Positionen/Body/Object-Erkennung deutlich sicherer + // als 240x135. + previewSpriteCellW = 320 + previewSpriteCellH = 180 + + // 4 ist kleiner als 3, aber noch gut genug für Analyse. + previewSpriteJpegQ = "4" ) func fixedPreviewSpriteLayout() (cols, rows, count, cellW, cellH int) { @@ -66,23 +75,23 @@ func generatePreviewSpriteJPG( outPath = strings.TrimSpace(outPath) if videoPath == "" { - return fmt.Errorf("generatePreviewSpriteJPG: empty videoPath") + return appErrorf("generatePreviewSpriteJPG: empty videoPath") } if outPath == "" { - return fmt.Errorf("generatePreviewSpriteJPG: empty outPath") + return appErrorf("generatePreviewSpriteJPG: empty outPath") } if cols <= 0 || rows <= 0 { - return fmt.Errorf("generatePreviewSpriteJPG: invalid grid %dx%d", cols, rows) + return appErrorf("generatePreviewSpriteJPG: invalid grid %dx%d", cols, rows) } if stepSec <= 0 { - return fmt.Errorf("generatePreviewSpriteJPG: invalid stepSec %.3f", stepSec) + return appErrorf("generatePreviewSpriteJPG: invalid stepSec %.3f", stepSec) } if cellW <= 0 || cellH <= 0 { - return fmt.Errorf("generatePreviewSpriteJPG: invalid cell size %dx%d", cellW, cellH) + return appErrorf("generatePreviewSpriteJPG: invalid cell size %dx%d", cellW, cellH) } if err := os.MkdirAll(filepath.Dir(outPath), 0o755); err != nil { - return fmt.Errorf("mkdir sprite dir: %w", err) + return appErrorf("mkdir sprite dir: %w", err) } ext := filepath.Ext(outPath) @@ -111,7 +120,7 @@ func generatePreviewSpriteJPG( // robustere Filterkette vf := fmt.Sprintf( "fps=fps=1/%f:start_time=0:round=up,"+ - "scale=%d:%d:force_original_aspect_ratio=decrease:flags=bilinear,"+ + "scale=%d:%d:force_original_aspect_ratio=decrease:flags=fast_bilinear,"+ "pad=%d:%d:(ow-iw)/2:(oh-ih)/2:black,"+ "setsar=1,"+ "tile=%dx%d:margin=0:padding=0", @@ -135,7 +144,7 @@ func generatePreviewSpriteJPG( "-frames:v", "1", "-update", "1", "-c:v", "mjpeg", - "-q:v", "3", + "-q:v", previewSpriteJpegQ, tmpPath, ) @@ -164,7 +173,7 @@ func generatePreviewSpriteJPG( msgErr = "(kein stderr)" } - return fmt.Errorf( + return appErrorf( "ffmpeg sprite failed for %q -> %q: %w | args=%q | stderr=%s", videoPath, tmpPath, @@ -176,15 +185,15 @@ func generatePreviewSpriteJPG( fi, err := os.Stat(tmpPath) if err != nil { - return fmt.Errorf("sprite temp stat failed: %w", err) + return appErrorf("sprite temp stat failed: %w", err) } if fi.IsDir() || fi.Size() <= 0 { - return fmt.Errorf("sprite temp file invalid/empty") + return appErrorf("sprite temp file invalid/empty") } _ = os.Remove(outPath) if err := os.Rename(tmpPath, outPath); err != nil { - return fmt.Errorf("sprite rename failed: %w", err) + return appErrorf("sprite rename failed: %w", err) } renameOK = true diff --git a/backend/auth.go b/backend/auth.go index c6bea37..c915974 100644 --- a/backend/auth.go +++ b/backend/auth.go @@ -6,7 +6,6 @@ import ( "encoding/base64" "encoding/json" "errors" - "fmt" "net/http" "net/url" "os" @@ -98,11 +97,11 @@ func (am *AuthManager) loadFromFileIfExists() error { // ✅ Datei fehlt: bootstrap erzeugen + Passwort ausgeben return am.bootstrapAuthFile(abs) } - return fmt.Errorf("read auth config: %w", err) + return appErrorf("read auth config: %w", err) } var c authConfig if err := json.Unmarshal(b, &c); err != nil { - return fmt.Errorf("parse auth config: %w", err) + return appErrorf("parse auth config: %w", err) } am.confMu.Lock() am.conf = c @@ -191,13 +190,13 @@ func (am *AuthManager) bootstrapAuthFile(abs string) error { if passHash == "" { p, err := generateRandomPassword() if err != nil { - return fmt.Errorf("generate password: %w", err) + return appErrorf("generate password: %w", err) } plain = p h, err := bcrypt.GenerateFromPassword([]byte(plain), bcrypt.DefaultCost) if err != nil { - return fmt.Errorf("bcrypt: %w", err) + return appErrorf("bcrypt: %w", err) } passHash = string(h) } @@ -216,31 +215,31 @@ func (am *AuthManager) bootstrapAuthFile(abs string) error { // Datei schreiben if err := os.MkdirAll(filepath.Dir(abs), 0o755); err != nil { - return fmt.Errorf("mkdir auth dir: %w", err) + return appErrorf("mkdir auth dir: %w", err) } b, err := json.MarshalIndent(c, "", " ") if err != nil { - return fmt.Errorf("marshal auth config: %w", err) + return appErrorf("marshal auth config: %w", err) } b = append(b, '\n') if err := atomicWriteFileCompat(abs, b); err != nil { - return fmt.Errorf("write auth config: %w", err) + return appErrorf("write auth config: %w", err) } // Passwort in Konsole anzeigen (nur wenn wir es generiert haben) if plain != "" { - fmt.Println("🔐 auth.json wurde neu erstellt:") - fmt.Println(" Datei: ", abs) - fmt.Println(" Username:", user) - fmt.Println(" Passwort:", plain) - fmt.Println(" Hinweis: Bitte sofort sichern/ändern – das Passwort wird nur beim Erstellen angezeigt.") + appLogln("🔐 auth.json wurde neu erstellt:") + appLogln(" Datei: ", abs) + appLogln(" Username:", user) + appLogln(" Passwort:", plain) + appLogln(" Hinweis: Bitte sofort sichern/ändern – das Passwort wird nur beim Erstellen angezeigt.") } else { - fmt.Println("🔐 auth.json wurde neu erstellt (aus ENV AUTH_PASS_HASH):") - fmt.Println(" Datei: ", abs) - fmt.Println(" Username:", user) - fmt.Println(" Hinweis: Klartext-Passwort ist unbekannt (AUTH_PASS_HASH war gesetzt).") + appLogln("🔐 auth.json wurde neu erstellt (aus ENV AUTH_PASS_HASH):") + appLogln(" Datei: ", abs) + appLogln(" Username:", user) + appLogln(" Hinweis: Klartext-Passwort ist unbekannt (AUTH_PASS_HASH war gesetzt).") } return nil diff --git a/backend/chaturbate_autostart.go b/backend/chaturbate_autostart.go index 1af82b3..98d180b 100644 --- a/backend/chaturbate_autostart.go +++ b/backend/chaturbate_autostart.go @@ -298,7 +298,7 @@ func clearAllPendingAutoStartOnStartup() error { func startChaturbateAutoStartWorker(store *ModelStore) { if store == nil { if verboseLogs() { - fmt.Println("⚠️ [autostart] model store is nil") + appLogln("⚠️ [autostart] model store is nil") } return } @@ -359,9 +359,9 @@ func startChaturbateAutoStartWorker(store *ModelStore) { if !fresh { if verboseLogs() { if fetchedAt.IsZero() { - fmt.Println("⚠️ [autostart] chaturbate snapshot missing") + appLogln("⚠️ [autostart] chaturbate snapshot missing") } else { - fmt.Println("⚠️ [autostart] chaturbate snapshot stale:", time.Since(fetchedAt).Round(time.Second)) + appLogln("⚠️ [autostart] chaturbate snapshot stale:", time.Since(fetchedAt).Round(time.Second)) } } continue @@ -384,7 +384,7 @@ func startChaturbateAutoStartWorker(store *ModelStore) { pendingAutoStartMu.Unlock() if err != nil { if verboseLogs() { - fmt.Println("⚠️ [autostart] load manual chaturbate pending failed:", err) + appLogln("⚠️ [autostart] load manual chaturbate pending failed:", err) } continue } @@ -394,7 +394,7 @@ func startChaturbateAutoStartWorker(store *ModelStore) { pendingAutoStartMu.Unlock() if err != nil { if verboseLogs() { - fmt.Println("⚠️ [autostart] load resume chaturbate pending failed:", err) + appLogln("⚠️ [autostart] load resume chaturbate pending failed:", err) } continue } @@ -643,7 +643,7 @@ func startChaturbateAutoStartWorker(store *ModelStore) { resumePendingThisScan[user] = true if verboseLogs() { - fmt.Println("⏸️ [autostart] stopped because model is no longer public:", user, show) + appLogln("⏸️ [autostart] stopped because model is no longer public:", user, show) } stopJobsInternal([]*RecordJob{runningJob}) @@ -953,16 +953,16 @@ func startChaturbateAutoStartWorker(store *ModelStore) { }) if err != nil { if verboseLogs() { - fmt.Println("❌ [autostart] start failed:", it.url, err) + appLogln("❌ [autostart] start failed:", it.url, err) } continue } if verboseLogs() { if it.source == "resume" { - fmt.Println("▶️ [autostart] resumed:", it.url) + appLogln("▶️ [autostart] resumed:", it.url) } else { - fmt.Println("▶️ [autostart] started:", it.url) + appLogln("▶️ [autostart] started:", it.url) } } @@ -1016,13 +1016,13 @@ func startChaturbateAutoStartWorker(store *ModelStore) { }) if err != nil || job == nil { if verboseLogs() { - fmt.Println("❌ [autostart] blind start failed:", it.url, err) + appLogln("❌ [autostart] blind start failed:", it.url, err) } continue } if verboseLogs() { - fmt.Println("▶️ [autostart] blind try started:", it.url) + appLogln("▶️ [autostart] blind try started:", it.url) } if it.source == "manual" { diff --git a/backend/chaturbate_online.go b/backend/chaturbate_online.go index 710d74a..a0543df 100644 --- a/backend/chaturbate_online.go +++ b/backend/chaturbate_online.go @@ -183,7 +183,7 @@ func fetchChaturbateOnlineRooms(ctx context.Context) ([]ChaturbateRoom, error) { if resp.StatusCode != 200 { b, _ := io.ReadAll(io.LimitReader(resp.Body, 8<<10)) - return nil, fmt.Errorf("chaturbate online rooms: HTTP %d: %s", resp.StatusCode, strings.TrimSpace(string(b))) + return nil, appErrorf("chaturbate online rooms: HTTP %d: %s", resp.StatusCode, strings.TrimSpace(string(b))) } dec := json.NewDecoder(resp.Body) @@ -194,7 +194,7 @@ func fetchChaturbateOnlineRooms(ctx context.Context) ([]ChaturbateRoom, error) { return nil, err } if d, ok := tok.(json.Delim); !ok || d != '[' { - return nil, fmt.Errorf("chaturbate online rooms: expected JSON array") + return nil, appErrorf("chaturbate online rooms: expected JSON array") } rooms := make([]ChaturbateRoom, 0, 4096) @@ -365,7 +365,7 @@ func selectBestRoomImageURL(rm ChaturbateRoom) string { func fetchProfileImageBytes(ctx context.Context, rawURL string) (mime string, data []byte, err error) { u := strings.TrimSpace(rawURL) if u == "" { - return "", nil, fmt.Errorf("empty image url") + return "", nil, appErrorf("empty image url") } req, err := http.NewRequestWithContext(ctx, http.MethodGet, u, nil) @@ -383,7 +383,7 @@ func fetchProfileImageBytes(ctx context.Context, rawURL string) (mime string, da if resp.StatusCode < 200 || resp.StatusCode >= 300 { b, _ := io.ReadAll(io.LimitReader(resp.Body, 2048)) - return "", nil, fmt.Errorf("image fetch HTTP %d: %s", resp.StatusCode, strings.TrimSpace(string(b))) + return "", nil, appErrorf("image fetch HTTP %d: %s", resp.StatusCode, strings.TrimSpace(string(b))) } // Sicherheitslimit (Profilbilder sind klein) @@ -393,10 +393,10 @@ func fetchProfileImageBytes(ctx context.Context, rawURL string) (mime string, da return "", nil, err } if len(b) == 0 { - return "", nil, fmt.Errorf("empty image body") + return "", nil, appErrorf("empty image body") } if len(b) > maxImageBytes { - return "", nil, fmt.Errorf("image too large") + return "", nil, appErrorf("image too large") } ct := strings.TrimSpace(strings.ToLower(resp.Header.Get("Content-Type"))) @@ -598,7 +598,7 @@ func startChaturbateOnlinePoller(store *ModelStore) { // wiederholt loggen, nicht nur bei geändertem Fehlertext if msg != lastLoggedErr || time.Since(lastAttempt) > 30*time.Second { if prevFetchedAt.IsZero() { - fmt.Println("❌ [chaturbate] online rooms fetch failed (no snapshot yet):", msg) + appLogln("❌ [chaturbate] online rooms fetch failed (no snapshot yet):", msg) } else { fmt.Printf( "⚠️ [chaturbate] refresh failed, keeping snapshot from %s (%d rooms): %s\n", @@ -634,7 +634,7 @@ func startChaturbateOnlinePoller(store *ModelStore) { } if lastLoggedErr != "" { - fmt.Println("✅ [chaturbate] online rooms fetch recovered") + appLogln("✅ [chaturbate] online rooms fetch recovered") lastLoggedErr = "" } diff --git a/backend/cookies_crypto.go b/backend/cookies_crypto.go index 249a645..a01c94f 100644 --- a/backend/cookies_crypto.go +++ b/backend/cookies_crypto.go @@ -6,7 +6,6 @@ import ( "crypto/rand" "encoding/base64" "encoding/json" - "fmt" "io" "os" "path/filepath" @@ -137,7 +136,7 @@ func decryptBase64ToBytes(blob string) ([]byte, error) { } ns := gcm.NonceSize() if len(buf) < ns { - return nil, fmt.Errorf("encrypted cookies: invalid length") + return nil, appErrorf("encrypted cookies: invalid length") } nonce := buf[:ns] ciphertext := buf[ns:] diff --git a/backend/disk_guard.go b/backend/disk_guard.go index 65412d9..411f07c 100644 --- a/backend/disk_guard.go +++ b/backend/disk_guard.go @@ -460,7 +460,7 @@ func startDiskSpaceGuard() { func ensureDiskGuardAllowsStart() error { if atomic.LoadInt32(&diskEmergency) == 1 { - return fmt.Errorf("Speicherplatz-Notbremse aktiv: neuer Download wird blockiert") + return appErrorf("Speicherplatz-Notbremse aktiv: neuer Download wird blockiert") } s := getSettings() @@ -480,7 +480,7 @@ func ensureDiskGuardAllowsStart() error { stopped := stopAllStoppableJobs() - return fmt.Errorf( + return appErrorf( "Speicherplatz-Notbremse aktiv: frei=%s, benötigt=%s, pause=%dGB, resume=%dGB, reserve=%s, gestoppt=%d, pfad=%s", formatBytesSI(u64ToI64(free)), formatBytesSI(u64ToI64(pauseNeed)), diff --git a/backend/ml_embed.go b/backend/embed.go similarity index 61% rename from backend/ml_embed.go rename to backend/embed.go index 3f83dfa..a8bdd18 100644 --- a/backend/ml_embed.go +++ b/backend/embed.go @@ -1,3 +1,5 @@ +// backend\embed.go + package main import ( @@ -6,7 +8,7 @@ import ( "path/filepath" ) -//go:embed ml/*.py ml/*.json +//go:embed ml/*.py ml/*.json ai_server.py var embeddedMLFiles embed.FS func trainingEmbeddedMLDir() (string, error) { @@ -40,3 +42,23 @@ func trainingEmbeddedMLDir() (string, error) { return dir, nil } + +func embeddedAIServerDir() (string, error) { + dir := filepath.Join(os.TempDir(), "nsfwapp-ai-server") + + if err := os.MkdirAll(dir, 0755); err != nil { + return "", err + } + + b, err := embeddedMLFiles.ReadFile("ai_server.py") + if err != nil { + return "", err + } + + dstPath := filepath.Join(dir, "ai_server.py") + if err := os.WriteFile(dstPath, b, 0644); err != nil { + return "", err + } + + return dir, nil +} diff --git a/backend/frontend.go b/backend/frontend.go index 4700b40..ddf6d36 100644 --- a/backend/frontend.go +++ b/backend/frontend.go @@ -4,7 +4,6 @@ package main import ( "embed" - "fmt" "io/fs" "net/http" "path" @@ -20,13 +19,13 @@ var embeddedFrontend embed.FS func makeFrontendHandler() (http.Handler, bool) { distFS, err := fs.Sub(embeddedFrontend, "web/dist") if err != nil { - fmt.Println("⚠️ Frontend dist nicht im Binary gefunden – API läuft trotzdem:", err) + appLogln("⚠️ Frontend dist nicht im Binary gefunden – API läuft trotzdem:", err) return nil, false } // Prüfen, ob index.html vorhanden ist if _, err := fs.Stat(distFS, "index.html"); err != nil { - fmt.Println("⚠️ Frontend index.html nicht im Binary gefunden – API läuft trotzdem:", err) + appLogln("⚠️ Frontend index.html nicht im Binary gefunden – API läuft trotzdem:", err) return nil, false } diff --git a/backend/live.go b/backend/live.go index 159ffc3..d29f82a 100644 --- a/backend/live.go +++ b/backend/live.go @@ -67,7 +67,7 @@ func shouldRefreshHLS(userLower string, minInterval time.Duration) bool { func fetchCurrentBestHLS(ctx context.Context, username string, cookie string, userAgent string) (string, error) { u := strings.TrimSpace(username) if u == "" { - return "", fmt.Errorf("empty username") + return "", appErrorf("empty username") } if strings.TrimSpace(userAgent) == "" { @@ -89,7 +89,7 @@ func fetchCurrentBestHLS(ctx context.Context, username string, cookie string, us master = strings.TrimSpace(master) if master == "" { - return "", fmt.Errorf("empty parsed hls url") + return "", appErrorf("empty parsed hls url") } return master, nil @@ -161,7 +161,7 @@ func stopPreview(job *RecordJob) { func refreshPreviewLiveSourceForJob(r *http.Request, job *RecordJob) error { if job == nil { - return fmt.Errorf("job nil") + return appErrorf("job nil") } jobsMu.RLock() @@ -189,7 +189,7 @@ func refreshPreviewLiveSourceForJob(r *http.Request, job *RecordJob) error { username := strings.TrimSpace(extractUsername(sourceURL)) if username == "" { - return fmt.Errorf("username not found") + return appErrorf("username not found") } // ✅ wichtig: doppelten Refresh verhindern @@ -206,7 +206,7 @@ func refreshPreviewLiveSourceForJob(r *http.Request, job *RecordJob) error { } newHls = strings.TrimSpace(newHls) if newHls == "" { - return fmt.Errorf("empty hls") + return appErrorf("empty hls") } var oldHls string @@ -501,7 +501,7 @@ func classifyPreviewFFmpegStderr(stderr string) (state string, httpStatus int) { // It also starts your existing live-thumb loop: startLiveThumbJPGLoop(ctx, job). func startPreviewHLS(ctx context.Context, job *RecordJob, m3u8URL, previewDir, httpCookie, userAgent string) error { if strings.TrimSpace(ffmpegPath) == "" { - return fmt.Errorf("kein ffmpeg gefunden – setze FFMPEG_PATH oder lege ffmpeg(.exe) neben das Backend") + return appErrorf("kein ffmpeg gefunden – setze FFMPEG_PATH oder lege ffmpeg(.exe) neben das Backend") } if err := os.MkdirAll(previewDir, 0o755); err != nil { return err diff --git a/backend/log.go b/backend/log.go new file mode 100644 index 0000000..dd888ba --- /dev/null +++ b/backend/log.go @@ -0,0 +1,266 @@ +// backend\log.go + +package main + +import ( + "fmt" + "io" + "net/http" + "os" + "path/filepath" + "strings" + "sync" + "time" +) + +var ( + appLogMu sync.Mutex + appLogFile *os.File +) + +func appLogPath() string { + exePath, _ := os.Executable() + exeDir := "" + + if exePath != "" { + exeDir = filepath.Dir(exePath) + } + + if exeDir == "" { + exeDir, _ = os.Getwd() + } + + return filepath.Join(exeDir, "recorder.log") +} + +func openAppLogFile() (*os.File, error) { + path := appLogPath() + + if err := os.MkdirAll(filepath.Dir(path), 0755); err != nil { + return nil, err + } + + return os.OpenFile(path, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0644) +} + +func initAppLog() { + appLogMu.Lock() + defer appLogMu.Unlock() + + if appLogFile != nil { + return + } + + f, err := openAppLogFile() + if err != nil { + // Wichtig: hier NICHT appLogln verwenden, weil appLogMu schon gelockt ist. + fmt.Println("⚠️ recorder log konnte nicht geöffnet werden:", err) + return + } + + appLogFile = f + + _, _ = fmt.Fprintf( + appLogFile, + "\n\n--- Recorder Start %s ---\nlog=%s\n", + time.Now().Format(time.RFC3339), + appLogPath(), + ) + _ = appLogFile.Sync() +} + +func closeAppLog() { + appLogMu.Lock() + defer appLogMu.Unlock() + + if appLogFile == nil { + return + } + + _, _ = fmt.Fprintf( + appLogFile, + "--- Recorder Stop %s ---\n", + time.Now().Format(time.RFC3339), + ) + + _ = appLogFile.Sync() + _ = appLogFile.Close() + appLogFile = nil +} + +func appLogWriter() io.Writer { + initAppLog() + + appLogMu.Lock() + defer appLogMu.Unlock() + + if appLogFile != nil { + return appLogFile + } + + return os.Stderr +} + +func appLogWriteLine(line string) { + line = strings.TrimRight(line, "\r\n") + + ts := time.Now().Format("2006-01-02 15:04:05") + out := fmt.Sprintf("[%s] %s\n", ts, line) + + appLogMu.Lock() + defer appLogMu.Unlock() + + fmt.Print(out) + + if appLogFile != nil { + _, _ = appLogFile.WriteString(out) + _ = appLogFile.Sync() + } +} + +func appLogln(args ...any) { + appLogWriteLine(fmt.Sprintln(args...)) +} + +func appLogf(format string, args ...any) { + appLogWriteLine(fmt.Sprintf(format, args...)) +} + +func appErrorf(format string, args ...any) error { + err := fmt.Errorf(format, args...) + appLogln("❌", err) + return err +} + +// Nur zentraler Ersatz für fmt.Sprintf. +// Loggt absichtlich NICHT, weil Sprintf oft nur UI-/Command-Strings baut. +func appSprintf(format string, args ...any) string { + return fmt.Sprintf(format, args...) +} + +// Zentraler Ersatz für fmt.Sprint. +func appSprint(args ...any) string { + return fmt.Sprint(args...) +} + +func appLogHandler(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + http.Error(w, "Nur GET erlaubt", http.StatusMethodNotAllowed) + return + } + + path := appLogPath() + + maxBytes := int64(64 * 1024) + switch strings.TrimSpace(r.URL.Query().Get("maxBytes")) { + case "16384": + maxBytes = 16 * 1024 + case "32768": + maxBytes = 32 * 1024 + case "131072": + maxBytes = 128 * 1024 + case "262144": + maxBytes = 256 * 1024 + } + + info, err := os.Stat(path) + if err != nil { + if os.IsNotExist(err) { + writeJSON(w, http.StatusOK, map[string]any{ + "ok": false, + "path": path, + "exists": false, + "log": "", + "error": "Logdatei existiert noch nicht.", + }) + return + } + + writeJSON(w, http.StatusOK, map[string]any{ + "ok": false, + "path": path, + "exists": false, + "log": "", + "error": err.Error(), + }) + return + } + + if info.IsDir() { + writeJSON(w, http.StatusOK, map[string]any{ + "ok": false, + "path": path, + "exists": true, + "log": "", + "error": "Logpfad ist ein Ordner.", + }) + return + } + + f, err := os.Open(path) + if err != nil { + writeJSON(w, http.StatusOK, map[string]any{ + "ok": false, + "path": path, + "exists": true, + "log": "", + "error": err.Error(), + }) + return + } + defer f.Close() + + size := info.Size() + offset := int64(0) + if size > maxBytes { + offset = size - maxBytes + } + + buf := make([]byte, size-offset) + if len(buf) > 0 { + if _, err := f.ReadAt(buf, offset); err != nil && err != io.EOF { + writeJSON(w, http.StatusOK, map[string]any{ + "ok": false, + "path": path, + "exists": true, + "log": "", + "error": err.Error(), + }) + return + } + } + + logText := string(buf) + if offset > 0 { + logText = "… Log gekürzt, zeige die letzten " + fmt.Sprint(maxBytes/1024) + " KB …\n\n" + logText + } + + writeJSON(w, http.StatusOK, map[string]any{ + "ok": true, + "path": path, + "exists": true, + "sizeBytes": size, + "log": logText, + }) +} + +func clearAppLog() { + appLogMu.Lock() + defer appLogMu.Unlock() + + if appLogFile != nil { + _ = appLogFile.Close() + appLogFile = nil + } + + path := appLogPath() + + if err := os.MkdirAll(filepath.Dir(path), 0755); err != nil { + fmt.Println("⚠️ recorder log dir konnte nicht erstellt werden:", err) + return + } + + if err := os.WriteFile(path, []byte{}, 0644); err != nil { + fmt.Println("⚠️ recorder log konnte nicht geleert werden:", err) + } +} diff --git a/backend/main.go b/backend/main.go index f18a5bf..d67bb33 100644 --- a/backend/main.go +++ b/backend/main.go @@ -249,7 +249,7 @@ func parseFFRate(s string) float64 { func probeVideoProps(ctx context.Context, filePath string) (w int, h int, fps float64, err error) { filePath = strings.TrimSpace(filePath) if filePath == "" { - return 0, 0, 0, fmt.Errorf("empty path") + return 0, 0, 0, appErrorf("empty path") } cmd := exec.CommandContext(ctx, ffprobePath, @@ -274,7 +274,7 @@ func probeVideoProps(ctx context.Context, filePath string) (w int, h int, fps fl return 0, 0, 0, err } if len(info.Streams) == 0 { - return 0, 0, 0, fmt.Errorf("no video stream") + return 0, 0, 0, appErrorf("no video stream") } s := info.Streams[0] @@ -512,14 +512,14 @@ func durationSecondsCached(ctx context.Context, path string) (float64, error) { re := regexp.MustCompile(`Duration:\s*(\d+):(\d+):(\d+(?:\.\d+)?)`) m := re.FindStringSubmatch(text) if len(m) != 4 { - return 0, fmt.Errorf("duration not found") + return 0, appErrorf("duration not found") } hh, _ := strconv.ParseFloat(m[1], 64) mm, _ := strconv.ParseFloat(m[2], 64) ss, _ := strconv.ParseFloat(m[3], 64) sec := hh*3600 + mm*60 + ss if sec <= 0 { - return 0, fmt.Errorf("invalid duration") + return 0, appErrorf("invalid duration") } durCache.mu.Lock() @@ -816,7 +816,7 @@ func (h *HTTPClient) FetchPage(ctx context.Context, url, cookieStr string) (stri } if resp.StatusCode != http.StatusOK { - return "", fmt.Errorf("HTTP %d beim Laden von %s", resp.StatusCode, url) + return "", appErrorf("HTTP %d beim Laden von %s", resp.StatusCode, url) } return body, nil @@ -839,7 +839,7 @@ func remuxTSToMP4(tsPath, mp4Path string) error { var stderr bytes.Buffer cmd.Stderr = &stderr if err := cmd.Run(); err != nil { - return fmt.Errorf("ffmpeg remux failed: %v (%s)", err, stderr.String()) + return appErrorf("ffmpeg remux failed: %v (%s)", err, stderr.String()) } return nil } @@ -996,7 +996,7 @@ func remuxTSToMP4WithProgress( } if err := cmd.Wait(); err != nil { - return fmt.Errorf("ffmpeg remux failed: %v (%s)", err, strings.TrimSpace(stderr.String())) + return appErrorf("ffmpeg remux failed: %v (%s)", err, strings.TrimSpace(stderr.String())) } return nil } @@ -1094,18 +1094,18 @@ func ensureFastStartMP4(path string) error { cmd.Stderr = &stderr if err := cmd.Run(); err != nil { _ = os.Remove(tmp) - return fmt.Errorf("ffmpeg faststart failed: %v (%s)", err, strings.TrimSpace(stderr.String())) + return appErrorf("ffmpeg faststart failed: %v (%s)", err, strings.TrimSpace(stderr.String())) } // atomar austauschen if err := os.Rename(path, bak); err != nil { _ = os.Remove(tmp) - return fmt.Errorf("rename original to bak failed: %w", err) + return appErrorf("rename original to bak failed: %w", err) } if err := os.Rename(tmp, path); err != nil { _ = os.Rename(bak, path) _ = os.Remove(tmp) - return fmt.Errorf("rename tmp to original failed: %w", err) + return appErrorf("rename tmp to original failed: %w", err) } _ = os.Remove(bak) return nil @@ -1133,19 +1133,19 @@ func generatedMetaRoot() (string, error) { func generatedThumbJPGFile(assetID string) (string, error) { assetID = stripHotPrefix(strings.TrimSpace(assetID)) if assetID == "" { - return "", fmt.Errorf("empty assetID") + return "", appErrorf("empty assetID") } // gleiche Normalisierung wie bei Ordnernamen var err error assetID, err = sanitizeID(assetID) if err != nil || assetID == "" { - return "", fmt.Errorf("invalid assetID: %w", err) + return "", appErrorf("invalid assetID: %w", err) } dir, err := ensureGeneratedDir(assetID) if err != nil || strings.TrimSpace(dir) == "" { - return "", fmt.Errorf("ensureGeneratedDir: %w", err) + return "", appErrorf("ensureGeneratedDir: %w", err) } return filepath.Join(dir, "preview.jpg"), nil @@ -1204,7 +1204,7 @@ func uniqueDestPath(dstDir, file string) (string, error) { return cand, nil } } - return "", fmt.Errorf("too many duplicates for %s", file) + return "", appErrorf("too many duplicates for %s", file) } else if err != nil && !os.IsNotExist(err) { return "", err } @@ -1300,7 +1300,7 @@ func fixKeepRootFilesIntoModelSubdirs() { if os.IsNotExist(err) { return } - fmt.Println("⚠️ keep scan failed:", err) + appLogln("⚠️ keep scan failed:", err) return } @@ -1341,7 +1341,7 @@ func fixKeepRootFilesIntoModelSubdirs() { dstDir := filepath.Join(keepRoot, modelKey) if err := os.MkdirAll(dstDir, 0o755); err != nil { - fmt.Println("⚠️ keep mkdir failed:", err) + appLogln("⚠️ keep mkdir failed:", err) skipped++ continue } @@ -1364,19 +1364,19 @@ func fixKeepRootFilesIntoModelSubdirs() { } } if !found { - fmt.Println("⚠️ keep fix: too many duplicates, skip:", name) + appLogln("⚠️ keep fix: too many duplicates, skip:", name) skipped++ continue } } else if err != nil && !os.IsNotExist(err) { - fmt.Println("⚠️ keep stat dst failed:", err) + appLogln("⚠️ keep stat dst failed:", err) skipped++ continue } // Verschieben (Windows-lock robust) if err := renameWithRetry(src, dst); err != nil { - fmt.Println("⚠️ keep fix rename failed:", err) + appLogln("⚠️ keep fix rename failed:", err) skipped++ continue } @@ -1396,7 +1396,7 @@ func findFinishedFileByID(id string) (string, error) { base := stripHotPrefix(strings.TrimSpace(id)) if base == "" { - return "", fmt.Errorf("not found") + return "", appErrorf("not found") } names := []string{ @@ -1419,7 +1419,7 @@ func findFinishedFileByID(id string) (string, error) { } } - return "", fmt.Errorf("not found") + return "", appErrorf("not found") } const maxInt64 = int64(^uint64(0) >> 1) @@ -1486,22 +1486,22 @@ func FetchPlaylist(ctx context.Context, hc *HTTPClient, hlsSource, httpCookie st req, err := hc.NewRequest(ctx, http.MethodGet, hlsSource, httpCookie) if err != nil { - return nil, fmt.Errorf("Fehler beim Erstellen der Playlist-Request: %w", err) + return nil, appErrorf("Fehler beim Erstellen der Playlist-Request: %w", err) } resp, err := hc.client.Do(req) if err != nil { - return nil, fmt.Errorf("Fehler beim Laden der Playlist: %w", err) + return nil, appErrorf("Fehler beim Laden der Playlist: %w", err) } defer resp.Body.Close() if resp.StatusCode < 200 || resp.StatusCode >= 300 { - return nil, fmt.Errorf("master playlist bad status: %d %s", resp.StatusCode, hlsSource) + return nil, appErrorf("master playlist bad status: %d %s", resp.StatusCode, hlsSource) } playlist, listType, err := m3u8.DecodeFrom(resp.Body, true) if err != nil { - return nil, fmt.Errorf("master playlist decode failed: %w", err) + return nil, appErrorf("master playlist decode failed: %w", err) } if listType != m3u8.MASTER { return nil, errors.New("keine gültige Master-Playlist") @@ -1514,7 +1514,7 @@ func FetchPlaylist(ctx context.Context, hc *HTTPClient, hlsSource, httpCookie st baseURL, err := url.Parse(hlsSource) if err != nil { - return nil, fmt.Errorf("master url parse failed: %w", err) + return nil, appErrorf("master url parse failed: %w", err) } var bestVariant *m3u8.Variant @@ -1587,14 +1587,14 @@ func FetchPlaylist(ctx context.Context, hc *HTTPClient, hlsSource, httpCookie st variantRef, err := url.Parse(strings.TrimSpace(bestVariant.URI)) if err != nil { - return nil, fmt.Errorf("variant uri parse failed: %w", err) + return nil, appErrorf("variant uri parse failed: %w", err) } playlistURL := baseURL.ResolveReference(variantRef).String() playlistParsed, err := url.Parse(playlistURL) if err != nil { - return nil, fmt.Errorf("playlist url parse failed: %w", err) + return nil, appErrorf("playlist url parse failed: %w", err) } rootParsed := *playlistParsed @@ -1630,7 +1630,7 @@ func fileExists(path string) bool { func validateVideoDecodesNearEnd(ctx context.Context, path string) error { path = strings.TrimSpace(path) if path == "" { - return fmt.Errorf("empty path") + return appErrorf("empty path") } dur, err := durationSecondsCached(ctx, path) @@ -1645,10 +1645,10 @@ func validateVideoDecodesNearEnd(ctx context.Context, path string) error { img, err := extractFrameAtTimeJPG(path, t) if err != nil { - return fmt.Errorf("decode near end failed at %.3fs: %w", t, err) + return appErrorf("decode near end failed at %.3fs: %w", t, err) } if len(img) == 0 { - return fmt.Errorf("decode near end returned empty frame at %.3fs", t) + return appErrorf("decode near end returned empty frame at %.3fs", t) } return nil @@ -1715,7 +1715,7 @@ func reencodeTSToMP4(ctx context.Context, tsPath, mp4Path string) error { if err := cmd.Run(); err != nil { _ = os.Remove(tmp) - return fmt.Errorf("ffmpeg reencode failed: %v (%s)", err, strings.TrimSpace(stderr.String())) + return appErrorf("ffmpeg reencode failed: %v (%s)", err, strings.TrimSpace(stderr.String())) } if err := requireNonEmptyRegularFile(tmp, "reencode tmp result"); err != nil { @@ -1727,7 +1727,7 @@ func reencodeTSToMP4(ctx context.Context, tsPath, mp4Path string) error { if err := os.Rename(tmp, mp4Path); err != nil { _ = os.Remove(tmp) - return fmt.Errorf("rename reencode tmp -> target failed: %w", err) + return appErrorf("rename reencode tmp -> target failed: %w", err) } return nil diff --git a/backend/meta.go b/backend/meta.go index 93900f2..0941306 100644 --- a/backend/meta.go +++ b/backend/meta.go @@ -61,7 +61,9 @@ type previewMeta struct { } type analysisMeta struct { - AI *aiAnalysisMeta `json:"ai,omitempty"` + AI *aiAnalysisMeta `json:"ai,omitempty"` + NSFW *aiAnalysisMeta `json:"nsfw,omitempty"` + Highlights *aiAnalysisMeta `json:"highlights,omitempty"` } type postworkHistoryEntry struct { @@ -141,7 +143,7 @@ func metaJSONPathForAssetID(assetID string) (string, error) { return "", err } if strings.TrimSpace(root) == "" { - return "", fmt.Errorf("generated/meta root leer") + return "", appErrorf("generated/meta root leer") } return filepath.Join(root, assetID, "meta.json"), nil } @@ -393,6 +395,39 @@ func hasAIAnalysisMeta(ai *aiAnalysisMeta) bool { return false } +func normalizeAIGoal(goal string) string { + goal = strings.ToLower(strings.TrimSpace(goal)) + if goal == "" { + return "nsfw" + } + return goal +} + +func pickAnalysisAIForGoal(a analysisMeta, goal string) *aiAnalysisMeta { + goal = normalizeAIGoal(goal) + + switch goal { + case "nsfw": + if hasAIAnalysisMeta(a.NSFW) { + return a.NSFW + } + case "highlights": + if hasAIAnalysisMeta(a.Highlights) { + return a.Highlights + } + } + + // Legacy-Fallback: alte meta.json hatte nur analysis.ai + if hasAIAnalysisMeta(a.AI) { + storedGoal := normalizeAIGoal(a.AI.Goal) + if storedGoal == goal { + return a.AI + } + } + + return nil +} + func readVideoMetaSourceURL(metaPath string, fi os.FileInfo) (string, bool) { m, ok := readVideoMetaIfValid(metaPath, fi) if !ok || m == nil { @@ -626,12 +661,12 @@ func writeVideoMetaDuration(metaPath string, fi os.FileInfo, dur float64, source func generatedMetaFile(assetID string) (string, error) { assetID = stripHotPrefix(strings.TrimSpace(assetID)) if assetID == "" { - return "", fmt.Errorf("empty assetID") + return "", appErrorf("empty assetID") } id, err := sanitizeID(assetID) if err != nil || id == "" { - return "", fmt.Errorf("invalid assetID: %w", err) + return "", appErrorf("invalid assetID: %w", err) } return metaJSONPathForAssetID(id) @@ -647,7 +682,7 @@ func generatedDirForID(id string) (string, error) { return "", err } if strings.TrimSpace(root) == "" { - return "", fmt.Errorf("generated meta root ist leer") + return "", appErrorf("generated meta root ist leer") } return filepath.Join(root, id), nil } @@ -721,7 +756,7 @@ func ensureGeneratedDirs() error { return err } if strings.TrimSpace(root) == "" { - return fmt.Errorf("generated meta root ist leer") + return appErrorf("generated meta root ist leer") } return os.MkdirAll(root, 0o755) } @@ -729,10 +764,10 @@ func ensureGeneratedDirs() error { func sanitizeID(id string) (string, error) { id = strings.TrimSpace(id) if id == "" { - return "", fmt.Errorf("id fehlt") + return "", appErrorf("id fehlt") } if strings.ContainsAny(id, `/\`) { - return "", fmt.Errorf("ungültige id") + return "", appErrorf("ungültige id") } return id, nil } @@ -773,18 +808,13 @@ func writeVideoMetaAI( Resolution: formatResolution(w, h), }, }, - Analysis: analysisMeta{ - AI: ai, - }, } if existing != nil { m.Preview = existing.Preview + m.Analysis = existing.Analysis m.Postwork = existing.Postwork - - if !hasAIAnalysisMeta(ai) && hasAIAnalysisMeta(existing.Analysis.AI) { - m.Analysis = existing.Analysis - } + m.Validation = existing.Validation if m.Media.Video.Width <= 0 { m.Media.Video.Width = existing.Media.Video.Width @@ -806,6 +836,31 @@ func writeVideoMetaAI( } } + if hasAIAnalysisMeta(ai) { + goal := normalizeAIGoal(ai.Goal) + ai.Goal = goal + + switch goal { + case "nsfw": + m.Analysis.NSFW = ai + + // Legacy/default für bestehende UI: RatingOverlay liest aktuell analysis.ai. + m.Analysis.AI = ai + + case "highlights": + m.Analysis.Highlights = ai + + // Wichtig: analysis.ai NICHT mit highlights überschreiben, + // sonst verschwindet dein NSFW-Rating/Stern. + if !hasAIAnalysisMeta(m.Analysis.AI) { + m.Analysis.AI = ai + } + + default: + m.Analysis.AI = ai + } + } + buf, err := json.MarshalIndent(m, "", " ") if err != nil { return err @@ -827,23 +882,23 @@ func writeVideoAIForFile( fi, err := os.Stat(fullPath) if err != nil || fi == nil || fi.IsDir() || fi.Size() <= 0 { - return fmt.Errorf("datei nicht gefunden") + return appErrorf("datei nicht gefunden") } m, ok := ensureVideoMetaForFileBestEffort(ctx, fullPath, sourceURL) if !ok || m == nil { - return fmt.Errorf("meta konnte nicht erzeugt werden") + return appErrorf("meta konnte nicht erzeugt werden") } stem := strings.TrimSuffix(filepath.Base(fullPath), filepath.Ext(fullPath)) assetID := stripHotPrefix(strings.TrimSpace(stem)) if assetID == "" { - return fmt.Errorf("asset id fehlt") + return appErrorf("asset id fehlt") } assetID, err = sanitizeID(assetID) if err != nil || assetID == "" { - return fmt.Errorf("asset id ungültig: %w", err) + return appErrorf("asset id ungültig: %w", err) } metaPath, err := metaJSONPathForAssetID(assetID) @@ -851,6 +906,10 @@ func writeVideoAIForFile( return err } + if strings.TrimSpace(sourceURL) == "" { + sourceURL = m.File.SourceURL + } + return writeVideoMetaAI( metaPath, fi, @@ -951,7 +1010,7 @@ func writeVideoMetaPostworkEntry( return atomicWriteFile(metaPath, buf) } -func readVideoMetaAI(metaPath string) (map[string]any, bool) { +func readVideoMetaAIForGoal(metaPath string, goal string) (map[string]any, bool) { b, err := os.ReadFile(metaPath) if err != nil || len(b) == 0 { return nil, false @@ -969,12 +1028,29 @@ func readVideoMetaAI(metaPath string) (map[string]any, bool) { return nil, false } - ai, ok := rawAnalysis["ai"].(map[string]any) - if !ok || ai == nil { - return nil, false + goal = normalizeAIGoal(goal) + + keys := []string{goal} + + // Legacy-Fallback: alte meta.json hatte nur analysis.ai. + // Aber nur akzeptieren, wenn goal wirklich passt. + keys = append(keys, "ai") + + for _, key := range keys { + ai, ok := rawAnalysis[key].(map[string]any) + if !ok || ai == nil { + continue + } + + storedGoal := normalizeAIGoal(fmt.Sprint(ai["goal"])) + if storedGoal != goal { + continue + } + + return ai, true } - return ai, true + return nil, false } func writePostworkEntryForFile( @@ -990,18 +1066,18 @@ func writePostworkEntryForFile( ) error { fullPath = strings.TrimSpace(fullPath) if fullPath == "" { - return fmt.Errorf("fullPath fehlt") + return appErrorf("fullPath fehlt") } fi, err := os.Stat(fullPath) if err != nil || fi == nil || fi.IsDir() { - return fmt.Errorf("datei nicht gefunden") + return appErrorf("datei nicht gefunden") } stem := strings.TrimSuffix(filepath.Base(fullPath), filepath.Ext(fullPath)) assetID := stripHotPrefix(strings.TrimSpace(stem)) if assetID == "" { - return fmt.Errorf("asset id fehlt") + return appErrorf("asset id fehlt") } assetID, err = sanitizeID(assetID) @@ -1016,7 +1092,7 @@ func writePostworkEntryForFile( // sorgt dafür, dass meta.json grundsätzlich existiert if _, ok := ensureVideoMetaForFileBestEffort(context.Background(), fullPath, ""); !ok { - return fmt.Errorf("meta konnte nicht erzeugt werden") + return appErrorf("meta konnte nicht erzeugt werden") } return writeVideoMetaPostworkEntry(metaPath, fi, postworkHistoryEntry{ diff --git a/backend/ml/detection_labels.json b/backend/ml/detection_labels.json index aad8492..9ffa529 100644 --- a/backend/ml/detection_labels.json +++ b/backend/ml/detection_labels.json @@ -10,10 +10,10 @@ "cowgirl", "reverse_cowgirl", "cunnilingus", + "prone_bone", "standing", "standing_doggy", "spooning", - "sideways", "sitting", "facesitting", "handjob", @@ -46,8 +46,6 @@ "bikini", "bra", "dress", - "fishnet", - "harness", "heels", "hotpants", "lingerie", diff --git a/backend/models_store.go b/backend/models_store.go index 558beb9..b8f7bd9 100644 --- a/backend/models_store.go +++ b/backend/models_store.go @@ -6,7 +6,6 @@ import ( "database/sql" "encoding/json" "errors" - "fmt" "net/http" "net/url" "strings" @@ -1035,10 +1034,10 @@ ORDER BY updated_at DESC; rows, err := s.db.Query(q1) if err != nil { // ✅ genau dein Fall: "Spalte existiert nicht" -> fallback - fmt.Println("models List query err (q1):", err) + appLogln("models List query err (q1):", err) rows, err = s.db.Query(q2) if err != nil { - fmt.Println("models List query err (q2):", err) + appLogln("models List query err (q2):", err) return []StoredModel{} } } diff --git a/backend/myfreecams_autostart.go b/backend/myfreecams_autostart.go index 273f6d9..36a552d 100644 --- a/backend/myfreecams_autostart.go +++ b/backend/myfreecams_autostart.go @@ -137,7 +137,7 @@ func startMyFreeCamsAutoStartWorker(store *ModelStore) { manualItems, err := loadManualPendingAutoStartItemsForProvider("mfc") pendingAutoStartMu.Unlock() if err != nil { - fmt.Println("⚠️ [mfc autostart] load manual pending failed:", err) + appLogln("⚠️ [mfc autostart] load manual pending failed:", err) continue } diff --git a/backend/nsfw_assets.go b/backend/nsfw_assets.go index 0f937d2..60616ce 100644 --- a/backend/nsfw_assets.go +++ b/backend/nsfw_assets.go @@ -4,7 +4,6 @@ package main import ( "embed" - "fmt" "io" "io/fs" "os" @@ -27,7 +26,7 @@ func nsfwRuntimeBaseDir() (string, error) { base = strings.TrimSpace(os.Getenv("TEMP")) } if base == "" { - return "", fmt.Errorf("LOCALAPPDATA/TEMP nicht gefunden") + return "", appErrorf("LOCALAPPDATA/TEMP nicht gefunden") } return filepath.Join(base, appName, nsfwRuntimeVersion), nil } @@ -51,22 +50,22 @@ func ensureNSFWAssetsExtracted() (string, error) { } if _, err := fs.Stat(embeddedNSFWAssets, "assets/nsfw"); err != nil { - return "", fmt.Errorf("embedded assets/nsfw nicht gefunden: %w", err) + return "", appErrorf("embedded assets/nsfw nicht gefunden: %w", err) } if err := os.RemoveAll(root); err != nil { - return "", fmt.Errorf("runtime-ordner konnte nicht bereinigt werden: %w", err) + return "", appErrorf("runtime-ordner konnte nicht bereinigt werden: %w", err) } if err := os.MkdirAll(root, 0o755); err != nil { - return "", fmt.Errorf("runtime-ordner konnte nicht erstellt werden: %w", err) + return "", appErrorf("runtime-ordner konnte nicht erstellt werden: %w", err) } if err := extractEmbeddedDir("assets/nsfw", root); err != nil { - return "", fmt.Errorf("nsfw-assets extrahieren fehlgeschlagen: %w", err) + return "", appErrorf("nsfw-assets extrahieren fehlgeschlagen: %w", err) } if err := os.WriteFile(marker, []byte("ok"), 0o644); err != nil { - return "", fmt.Errorf("markerdatei konnte nicht geschrieben werden: %w", err) + return "", appErrorf("markerdatei konnte nicht geschrieben werden: %w", err) } return root, nil diff --git a/backend/nsfw_detector.go b/backend/nsfw_detector.go index f272093..b5dbce0 100644 --- a/backend/nsfw_detector.go +++ b/backend/nsfw_detector.go @@ -5,7 +5,6 @@ package main import ( "bytes" "encoding/base64" - "fmt" "image" _ "image/jpeg" _ "image/png" @@ -94,22 +93,22 @@ func initNSFWDetector() error { case "darwin": libName = "libonnxruntime.dylib" default: - return fmt.Errorf("onnxruntime für OS %s nicht unterstützt", runtime.GOOS) + return appErrorf("onnxruntime für OS %s nicht unterstützt", runtime.GOOS) } dllPath := filepath.Join(root, libName) modelPath := filepath.Join(root, "320n.onnx") if _, err := os.Stat(dllPath); err != nil { - return fmt.Errorf("onnxruntime.dll nicht gefunden: %w", err) + return appErrorf("onnxruntime.dll nicht gefunden: %w", err) } if _, err := os.Stat(modelPath); err != nil { - return fmt.Errorf("320n.onnx nicht gefunden: %w", err) + return appErrorf("320n.onnx nicht gefunden: %w", err) } ort.SetSharedLibraryPath(dllPath) if err := ort.InitializeEnvironment(); err != nil { - return fmt.Errorf("onnxruntime init fehlgeschlagen: %w", err) + return appErrorf("onnxruntime init fehlgeschlagen: %w", err) } inputShape := ort.NewShape(1, 3, nsfwInputSize, nsfwInputSize) @@ -117,7 +116,7 @@ func initNSFWDetector() error { inputTensor, err := ort.NewTensor(inputShape, inputData) if err != nil { ort.DestroyEnvironment() - return fmt.Errorf("input tensor fehlgeschlagen: %w", err) + return appErrorf("input tensor fehlgeschlagen: %w", err) } outputShape := ort.NewShape(1, 4+nsfwNumClasses, nsfwNumAnchors) @@ -125,7 +124,7 @@ func initNSFWDetector() error { if err != nil { inputTensor.Destroy() ort.DestroyEnvironment() - return fmt.Errorf("output tensor fehlgeschlagen: %w", err) + return appErrorf("output tensor fehlgeschlagen: %w", err) } session, err := ort.NewAdvancedSession( @@ -140,7 +139,7 @@ func initNSFWDetector() error { outputTensor.Destroy() inputTensor.Destroy() ort.DestroyEnvironment() - return fmt.Errorf("onnx session fehlgeschlagen: %w", err) + return appErrorf("onnx session fehlgeschlagen: %w", err) } globalNSFW.runtimeRoot = root @@ -159,13 +158,13 @@ func detectNSFWFromImage(img image.Image) ([]NsfwFrameResult, error) { defer globalNSFW.mu.Unlock() if !globalNSFW.initialized || globalNSFW.session == nil { - return nil, fmt.Errorf("nsfw detector nicht initialisiert") + return nil, appErrorf("nsfw detector nicht initialisiert") } fillInputTensor(globalNSFW.inputTensor.GetData(), img) if err := globalNSFW.session.Run(); err != nil { - return nil, fmt.Errorf("onnx run fehlgeschlagen: %w", err) + return nil, appErrorf("onnx run fehlgeschlagen: %w", err) } raw := globalNSFW.outputTensor.GetData() @@ -237,11 +236,11 @@ func detectNSFWFromBase64(imageB64 string) ([]NsfwFrameResult, error) { func decodeBase64Image(imageB64 string) (image.Image, error) { raw, err := base64.StdEncoding.DecodeString(strings.TrimSpace(imageB64)) if err != nil { - return nil, fmt.Errorf("base64 decode fehlgeschlagen: %w", err) + return nil, appErrorf("base64 decode fehlgeschlagen: %w", err) } img, _, err := image.Decode(bytes.NewReader(raw)) if err != nil { - return nil, fmt.Errorf("bild decode fehlgeschlagen: %w", err) + return nil, appErrorf("bild decode fehlgeschlagen: %w", err) } return img, nil } diff --git a/backend/preview.go b/backend/preview.go index df257df..e9305c3 100644 --- a/backend/preview.go +++ b/backend/preview.go @@ -106,7 +106,7 @@ func ensureCoversDir() (string, error) { return "", err } if strings.TrimSpace(root) == "" { - return "", fmt.Errorf("covers root ist leer") + return "", appErrorf("covers root ist leer") } if err := os.MkdirAll(root, 0o755); err != nil { return "", err @@ -303,7 +303,7 @@ type coverModel struct { func listModelsForCovers() ([]coverModel, error) { if coverModelStore == nil { - return nil, fmt.Errorf("model store not set") + return nil, appErrorf("model store not set") } ms := coverModelStore.List() @@ -321,7 +321,7 @@ func listModelsForCovers() ([]coverModel, error) { func pickRandomThumbForCategory(ctx context.Context, category string) (thumbPath string, err error) { category = strings.TrimSpace(category) if category == "" { - return "", fmt.Errorf("category empty") + return "", appErrorf("category empty") } select { @@ -346,7 +346,7 @@ func pickRandomThumbForCategory(ctx context.Context, category string) (thumbPath } } if len(cands) == 0 { - return "", fmt.Errorf("no model with tag") + return "", appErrorf("no model with tag") } rand.Shuffle(len(cands), func(i, j int) { cands[i], cands[j] = cands[j], cands[i] }) @@ -354,7 +354,7 @@ func pickRandomThumbForCategory(ctx context.Context, category string) (thumbPath s := getSettings() doneAbs, derr := resolvePathRelativeToApp(s.DoneDir) if derr != nil || strings.TrimSpace(doneAbs) == "" { - return "", fmt.Errorf("doneDir resolve failed: %v", derr) + return "", appErrorf("doneDir resolve failed: %v", derr) } type candFile struct { @@ -424,7 +424,7 @@ func pickRandomThumbForCategory(ctx context.Context, category string) (thumbPath } } - return "", fmt.Errorf("no downloads/thumbs for category") + return "", appErrorf("no downloads/thumbs for category") } var coverKeyRe = regexp.MustCompile(`[^a-z0-9._-]+`) @@ -436,13 +436,13 @@ func sanitizeCoverKey(category string) (string, error) { c = "tag_" + hex.EncodeToString(sum[:8]) } if c == "" { - return "", fmt.Errorf("category fehlt") + return "", appErrorf("category fehlt") } c = strings.ReplaceAll(c, " ", "_") c = coverKeyRe.ReplaceAllString(c, "_") c = strings.Trim(c, "._-") if c == "" { - return "", fmt.Errorf("category ungültig") + return "", appErrorf("category ungültig") } if len(c) > 120 { c = c[:120] @@ -481,7 +481,7 @@ func coverPathForCategory(key string, ext string) (string, error) { return "", err } if strings.TrimSpace(root) == "" { - return "", fmt.Errorf("covers root ist leer") + return "", appErrorf("covers root ist leer") } if ext == "" { ext = ".jpg" @@ -507,37 +507,37 @@ func findExistingCoverFile(key string) (string, os.FileInfo, bool) { func downloadBytes(ctx context.Context, rawURL string, ua string) ([]byte, string, error) { rawURL = strings.TrimSpace(rawURL) if rawURL == "" { - return nil, "", fmt.Errorf("src fehlt") + return nil, "", appErrorf("src fehlt") } // local: only /generated/... if strings.HasPrefix(rawURL, "/") { clean := path.Clean(rawURL) if !strings.HasPrefix(clean, "/generated/") { - return nil, "", fmt.Errorf("src ungültig") + return nil, "", appErrorf("src ungültig") } if strings.Contains(clean, "..") { - return nil, "", fmt.Errorf("src ungültig") + return nil, "", appErrorf("src ungültig") } rel := strings.TrimPrefix(clean, "/") abs, err := resolvePathRelativeToApp(rel) if err != nil || strings.TrimSpace(abs) == "" { - return nil, "", fmt.Errorf("src ungültig") + return nil, "", appErrorf("src ungültig") } f, err := os.Open(abs) if err != nil { - return nil, "", fmt.Errorf("download failed: %v", err) + return nil, "", appErrorf("download failed: %v", err) } defer f.Close() b, err := io.ReadAll(io.LimitReader(f, 10*1024*1024)) if err != nil { - return nil, "", fmt.Errorf("download failed: %v", err) + return nil, "", appErrorf("download failed: %v", err) } if len(b) == 0 { - return nil, "", fmt.Errorf("download empty") + return nil, "", appErrorf("download empty") } ext := strings.ToLower(filepath.Ext(abs)) @@ -556,10 +556,10 @@ func downloadBytes(ctx context.Context, rawURL string, ua string) ([]byte, strin u, err := url.Parse(rawURL) if err != nil || u.Scheme == "" || u.Host == "" { - return nil, "", fmt.Errorf("src ungültig") + return nil, "", appErrorf("src ungültig") } if u.Scheme != "http" && u.Scheme != "https" { - return nil, "", fmt.Errorf("src schema nicht erlaubt") + return nil, "", appErrorf("src schema nicht erlaubt") } req, err := http.NewRequestWithContext(ctx, http.MethodGet, rawURL, nil) @@ -580,7 +580,7 @@ func downloadBytes(ctx context.Context, rawURL string, ua string) ([]byte, strin defer resp.Body.Close() if resp.StatusCode != http.StatusOK { - return nil, "", fmt.Errorf("download failed: HTTP %d", resp.StatusCode) + return nil, "", appErrorf("download failed: HTTP %d", resp.StatusCode) } b, err := io.ReadAll(io.LimitReader(resp.Body, 10*1024*1024)) @@ -588,7 +588,7 @@ func downloadBytes(ctx context.Context, rawURL string, ua string) ([]byte, strin return nil, "", err } if len(b) == 0 { - return nil, "", fmt.Errorf("download empty") + return nil, "", appErrorf("download empty") } return b, resp.Header.Get("Content-Type"), nil @@ -1205,14 +1205,14 @@ func extractLastFrameJPG(path string) ([]byte, error) { if err := cmd.Run(); err != nil { if ctx.Err() == context.DeadlineExceeded { - return nil, fmt.Errorf("ffmpeg last-frame jpg: timeout") + return nil, appErrorf("ffmpeg last-frame jpg: timeout") } - return nil, fmt.Errorf("ffmpeg last-frame jpg: %w (%s)", err, strings.TrimSpace(stderr.String())) + return nil, appErrorf("ffmpeg last-frame jpg: %w (%s)", err, strings.TrimSpace(stderr.String())) } b := out.Bytes() if len(b) == 0 { - return nil, fmt.Errorf("ffmpeg last-frame jpg: empty output") + return nil, appErrorf("ffmpeg last-frame jpg: empty output") } return b, nil @@ -1246,11 +1246,11 @@ func extractFrameAtTimeJPG(path string, seconds float64) ([]byte, error) { cmd.Stdout = &out cmd.Stderr = &stderr if err := cmd.Run(); err != nil { - return nil, fmt.Errorf("ffmpeg frame-at-time jpg: %w (%s)", err, strings.TrimSpace(stderr.String())) + return nil, appErrorf("ffmpeg frame-at-time jpg: %w (%s)", err, strings.TrimSpace(stderr.String())) } b := out.Bytes() if len(b) == 0 { - return nil, fmt.Errorf("ffmpeg frame-at-time jpg: empty output") + return nil, appErrorf("ffmpeg frame-at-time jpg: empty output") } return b, nil } @@ -1294,11 +1294,11 @@ func extractLastFrameJPGScaled(path string, width int, quality int) ([]byte, err cmd.Stdout = &out cmd.Stderr = &stderr if err := cmd.Run(); err != nil { - return nil, fmt.Errorf("ffmpeg last-frame scaled jpg: %w (%s)", err, strings.TrimSpace(stderr.String())) + return nil, appErrorf("ffmpeg last-frame scaled jpg: %w (%s)", err, strings.TrimSpace(stderr.String())) } b := out.Bytes() if len(b) == 0 { - return nil, fmt.Errorf("ffmpeg last-frame scaled jpg: empty output") + return nil, appErrorf("ffmpeg last-frame scaled jpg: empty output") } return b, nil } @@ -1333,11 +1333,11 @@ func extractFirstFrameJPGScaled(path string, width int, quality int) ([]byte, er cmd.Stdout = &out cmd.Stderr = &stderr if err := cmd.Run(); err != nil { - return nil, fmt.Errorf("ffmpeg first-frame scaled jpg: %w (%s)", err, strings.TrimSpace(stderr.String())) + return nil, appErrorf("ffmpeg first-frame scaled jpg: %w (%s)", err, strings.TrimSpace(stderr.String())) } b := out.Bytes() if len(b) == 0 { - return nil, fmt.Errorf("ffmpeg first-frame scaled jpg: empty output") + return nil, appErrorf("ffmpeg first-frame scaled jpg: empty output") } return b, nil } @@ -1345,7 +1345,7 @@ func extractFirstFrameJPGScaled(path string, width int, quality int) ([]byte, er func extractLiveFrameFromM3U8ThumbJPG(ctx context.Context, m3u8URL, cookie, userAgent string) ([]byte, error) { m3u8URL = strings.TrimSpace(m3u8URL) if m3u8URL == "" { - return nil, fmt.Errorf("m3u8 leer") + return nil, appErrorf("m3u8 leer") } if strings.TrimSpace(userAgent) == "" { @@ -1387,12 +1387,12 @@ func extractLiveFrameFromM3U8ThumbJPG(ctx context.Context, m3u8URL, cookie, user cmd.Stderr = &stderr if err := cmd.Run(); err != nil { - return nil, fmt.Errorf("ffmpeg live m3u8 jpg failed: %w (%s)", err, strings.TrimSpace(stderr.String())) + return nil, appErrorf("ffmpeg live m3u8 jpg failed: %w (%s)", err, strings.TrimSpace(stderr.String())) } b := out.Bytes() if len(b) == 0 { - return nil, fmt.Errorf("ffmpeg live m3u8 jpg: empty output") + return nil, appErrorf("ffmpeg live m3u8 jpg: empty output") } return b, nil @@ -1504,7 +1504,7 @@ func fallbackPreviewImageAssetPathForProvider(provider string) (string, error) { case "mfc": return "assets/img/mfc.jpg", nil default: - return "", fmt.Errorf("unknown provider") + return "", appErrorf("unknown provider") } } @@ -1969,7 +1969,7 @@ func previewImageURLForJob(job *RecordJob) string { func imageBytesToJPG(raw []byte, quality int) ([]byte, error) { if len(raw) == 0 { - return nil, fmt.Errorf("empty image") + return nil, appErrorf("empty image") } if quality <= 0 || quality > 100 { quality = 80 @@ -1985,7 +1985,7 @@ func imageBytesToJPG(raw []byte, quality int) ([]byte, error) { return nil, err } if buf.Len() == 0 { - return nil, fmt.Errorf("jpeg encode returned empty data") + return nil, appErrorf("jpeg encode returned empty data") } return buf.Bytes(), nil } diff --git a/backend/rating.go b/backend/rating.go index 9ce67a7..d423a52 100644 --- a/backend/rating.go +++ b/backend/rating.go @@ -4,6 +4,7 @@ package main import ( "math" + "sort" "strings" ) @@ -58,23 +59,658 @@ func ratingEffectiveDurationSeconds(seconds float64) float64 { return kneeSeconds * math.Log1p(seconds/kneeSeconds) } -func nsfwSegmentSeverityWeight(label string) float64 { - switch strings.ToLower(strings.TrimSpace(label)) { +func segmentSeverityWeight(label string) float64 { + label = strings.ToLower(strings.TrimSpace(label)) + if label == "" { + return 0.50 + } + + // ------------------------- + // Kombi-Highlights + // ------------------------- + if strings.HasPrefix(label, "combo:") { + return comboSegmentSeverityWeight(label) + } + + // ------------------------- + // Sexpositionen + // ------------------------- + if strings.HasPrefix(label, "position:") { + pos := strings.TrimPrefix(label, "position:") + return positionSeverityWeight(pos) + } + + // ------------------------- + // Body / Objects / Clothing + // ------------------------- + if strings.HasPrefix(label, "body:") { + body := strings.TrimPrefix(label, "body:") + return bodyPartSeverityWeight(body) + } + + if strings.HasPrefix(label, "object:") { + obj := strings.TrimPrefix(label, "object:") + return objectSeverityWeight(obj) + } + + if strings.HasPrefix(label, "clothing:") { + clothing := strings.TrimPrefix(label, "clothing:") + return clothingSeverityWeight(clothing) + } + + if strings.HasPrefix(label, "detector:") { + det := strings.TrimPrefix(label, "detector:") + return detectorSeverityWeight(det) + } + + // ------------------------- + // Direkte YOLO-Labels + // ------------------------- + return detectorSeverityWeight(label) +} + +func isPersonSegmentLabel(label string) bool { + label = strings.ToLower(strings.TrimSpace(label)) + + label = strings.TrimPrefix(label, "detector:") + label = strings.TrimPrefix(label, "body:") + label = strings.TrimPrefix(label, "object:") + label = strings.TrimPrefix(label, "clothing:") + label = strings.TrimPrefix(label, "position:") + + switch label { + case "person", + "person_male", + "person_female", + "person_unknown", + "male_person", + "female_person", + "people_male", + "people_female": + return true + default: + return false + } +} + +func detectorSeverityWeight(label string) float64 { + label = strings.ToLower(strings.TrimSpace(label)) + + switch label { + // Personen werden vor dem Rating komplett herausgefiltert. + // Dieser Fallback bleibt nur für alte Pfade. + case "person", "person_male", "person_female", "person_unknown", "people_male", "people_female": + return 0.00 + + // bodyParts aus detecton_labels.json + case "pussy", "vulva": + return 1.00 + case "penis": + return 0.95 + case "anus": + return 0.90 + case "breasts": + return 0.80 + case "ass", "buttocks": + return 0.65 + case "tongue": + return 0.45 + + // objects aus detecton_labels.json + case "dildo", "vibrator", "strapon", "buttplug": + return 0.85 + case "handcuffs", "blindfold", "collar": + return 0.55 + case "shower": + return 0.40 + case "towel": + return 0.25 + + // clothing aus detecton_labels.json + case "lingerie": + return 0.60 + case "panties", "bra": + return 0.55 + case "bikini": + return 0.35 + case "stockings", "heels": + return 0.35 + case "skirt", "dress", "hotpants", "croptop": + return 0.30 + + // optionale alte/alias Labels, falls noch in alten Metas vorhanden case "female_genitalia_exposed": return 1.00 - case "female_breast_exposed": + case "male_genitalia_exposed": return 0.95 case "anus_exposed": - return 0.85 - case "male_genitalia_exposed": + return 0.90 + case "female_breast_exposed", "breast_exposed": return 0.80 case "buttocks_exposed": return 0.65 + default: return 0.50 } } +func bodyPartSeverityWeight(label string) float64 { + label = strings.ToLower(strings.TrimSpace(label)) + + switch label { + case "pussy", "vulva": + return 1.00 + case "penis": + return 0.95 + case "anus": + return 0.90 + case "breasts": + return 0.80 + case "ass", "buttocks": + return 0.65 + case "tongue": + return 0.45 + case "mouth", "face": + return 0.45 + case "hands": + return 0.35 + default: + return 0.50 + } +} + +func objectSeverityWeight(label string) float64 { + label = strings.ToLower(strings.TrimSpace(label)) + + switch label { + case "dildo", "vibrator", "strapon", "buttplug", "sex_toy": + return 0.85 + case "handcuffs", "blindfold", "collar": + return 0.55 + case "shower": + return 0.40 + case "towel": + return 0.25 + default: + return 0.45 + } +} + +func clothingSeverityWeight(label string) float64 { + label = strings.ToLower(strings.TrimSpace(label)) + + switch label { + case "nude", "naked": + return 0.90 + case "lingerie": + return 0.60 + case "panties", "bra", "underwear": + return 0.55 + case "bikini", "swimwear": + return 0.35 + case "stockings", "heels": + return 0.35 + case "skirt", "dress", "hotpants", "croptop": + return 0.30 + default: + return 0.30 + } +} + +func positionSeverityWeight(label string) float64 { + label = strings.ToLower(strings.TrimSpace(label)) + + switch label { + // sehr explizit / klar sexuelle Handlung + case "doggy", "doggystyle", "standing_doggy": + return 1.00 + case "cowgirl", "reverse_cowgirl": + return 0.98 + case "missionary": + return 0.95 + case "prone_bone": + return 0.95 + case "blowjob", "cunnilingus", "oral", "69", "facesitting": + return 0.94 + + // explizit, aber etwas niedriger + case "toy_play": + return 0.88 + case "handjob", "fingering": + return 0.84 + case "spooning": + return 0.78 + + // Pose/Kontext, aber nicht stark genug alleine + case "standing", "sitting": + return 0.42 + case "other": + return 0.45 + + case "unknown", "": + return 0.00 + + default: + return 0.00 + } +} + +type ratingSignalSet struct { + Position float64 + Body float64 + Object float64 + Clothing float64 + + HasPosition bool + HasBody bool + HasObject bool + HasClothing bool +} + +func isKnownPositionLabel(label string) bool { + label = strings.ToLower(strings.TrimSpace(label)) + + switch label { + case "doggy", + "doggystyle", + "standing_doggy", + "cowgirl", + "reverse_cowgirl", + "missionary", + "prone_bone", + "blowjob", + "cunnilingus", + "oral", + "69", + "facesitting", + "toy_play", + "handjob", + "fingering", + "spooning", + "standing", + "sitting", + "other": + return true + default: + return false + } +} + +func ratingSignalSetAddLabel(set *ratingSignalSet, label string) { + label = strings.ToLower(strings.TrimSpace(label)) + if label == "" || isPersonSegmentLabel(label) { + return + } + + switch { + case strings.HasPrefix(label, "position:"): + raw := strings.TrimPrefix(label, "position:") + if !isKnownPositionLabel(raw) { + return + } + + w := positionSeverityWeight(raw) + if w > set.Position { + set.Position = w + } + if w > 0 { + set.HasPosition = true + } + + case strings.HasPrefix(label, "body:"): + w := bodyPartSeverityWeight(strings.TrimPrefix(label, "body:")) + if w > set.Body { + set.Body = w + } + if w > 0 { + set.HasBody = true + } + + case strings.HasPrefix(label, "object:"): + w := objectSeverityWeight(strings.TrimPrefix(label, "object:")) + if w > set.Object { + set.Object = w + } + if w > 0 { + set.HasObject = true + } + + case strings.HasPrefix(label, "clothing:"): + w := clothingSeverityWeight(strings.TrimPrefix(label, "clothing:")) + if w > set.Clothing { + set.Clothing = w + } + if w > 0 { + set.HasClothing = true + } + + case strings.HasPrefix(label, "detector:"): + raw := strings.TrimPrefix(label, "detector:") + + // Detector-Labels sind meistens Body/Object/Clothing, nicht Position. + switch { + case bodyPartSeverityWeight(raw) >= 0.65: + ratingSignalSetAddLabel(set, "body:"+raw) + case objectSeverityWeight(raw) >= 0.50: + ratingSignalSetAddLabel(set, "object:"+raw) + case clothingSeverityWeight(raw) >= 0.50: + ratingSignalSetAddLabel(set, "clothing:"+raw) + case isKnownPositionLabel(raw): + ratingSignalSetAddLabel(set, "position:"+raw) + } + + default: + // Direkte alte YOLO-Labels sinnvoll einsortieren. + // Wichtig: Position zuletzt prüfen, sonst greift positionSeverityWeight(default=0.60) + // für fast alles. + switch { + case bodyPartSeverityWeight(label) >= 0.65: + ratingSignalSetAddLabel(set, "body:"+label) + case objectSeverityWeight(label) >= 0.50: + ratingSignalSetAddLabel(set, "object:"+label) + case clothingSeverityWeight(label) >= 0.50: + ratingSignalSetAddLabel(set, "clothing:"+label) + case isKnownPositionLabel(label): + ratingSignalSetAddLabel(set, "position:"+label) + } + } +} + +func ratingSignalSetFromLabel(label string) ratingSignalSet { + label = strings.ToLower(strings.TrimSpace(label)) + + var set ratingSignalSet + + if strings.HasPrefix(label, "combo:") { + raw := strings.TrimPrefix(label, "combo:") + for _, part := range strings.Split(raw, "+") { + ratingSignalSetAddLabel(&set, part) + } + return set + } + + ratingSignalSetAddLabel(&set, label) + return set +} + +func contextualSegmentSeverityWeight(label string) float64 { + set := ratingSignalSetFromLabel(label) + + hasAny := + set.HasPosition || + set.HasBody || + set.HasObject || + set.HasClothing + + if !hasAny { + return 0 + } + + var score float64 + + if set.HasPosition { + // Position ist der Hauptanker. + score = + 0.72*set.Position + + 0.14*set.Body + + 0.09*set.Object + + 0.05*set.Clothing + + // Echte Kombi-Boni. + if set.HasBody { + score += 0.04 + } + if set.HasObject { + score += 0.035 + } + if set.HasClothing { + score += 0.015 + } + + // Schwache Positionslabels wie standing/sitting sollen ohne Kontext niedrig bleiben. + if set.Position < 0.60 && !set.HasBody && !set.HasObject { + score = math.Min(score, 0.45) + } + + return ratingClamp01(score) + } + + // Ohne Position: Kontext darf zählen, aber gedeckelt. + score = + 0.58*set.Body + + 0.28*set.Object + + 0.14*set.Clothing + + if set.HasBody && set.HasObject { + score += 0.08 + } + if set.HasBody && set.HasClothing { + score += 0.03 + } + + // Kleidung alleine niemals stark bewerten. + if set.HasClothing && !set.HasBody && !set.HasObject { + score = math.Min(score, 0.32) + } + + // Keine Position => nicht höher als "mittel-hoch". + score = math.Min(score, 0.68) + + return ratingClamp01(score) +} + +func comboSegmentSeverityWeight(label string) float64 { + raw := strings.TrimPrefix(strings.ToLower(strings.TrimSpace(label)), "combo:") + if raw == "" { + return 0.00 + } + + parts := strings.Split(raw, "+") + + var weights []float64 + hasPersonContext := false + + for _, part := range parts { + part = strings.TrimSpace(part) + if part == "" { + continue + } + + if isPersonSegmentLabel(part) { + hasPersonContext = true + continue + } + + weight := 0.0 + + switch { + case strings.HasPrefix(part, "position:"): + weight = positionSeverityWeight(strings.TrimPrefix(part, "position:")) + + case strings.HasPrefix(part, "body:"): + weight = bodyPartSeverityWeight(strings.TrimPrefix(part, "body:")) + + case strings.HasPrefix(part, "object:"): + weight = objectSeverityWeight(strings.TrimPrefix(part, "object:")) + + case strings.HasPrefix(part, "clothing:"): + weight = clothingSeverityWeight(strings.TrimPrefix(part, "clothing:")) + + case strings.HasPrefix(part, "detector:"): + det := strings.TrimPrefix(part, "detector:") + if isPersonSegmentLabel(det) { + hasPersonContext = true + continue + } + weight = detectorSeverityWeight(det) + + default: + if isPersonSegmentLabel(part) { + hasPersonContext = true + continue + } + weight = detectorSeverityWeight(part) + } + + if weight > 0 { + weights = append(weights, weight) + } + } + + // Nur Person in der Combo => kein Rating-/Highlight-Gewicht. + if len(weights) == 0 { + return 0.00 + } + + var sum float64 + var maxWeight float64 + + for _, weight := range weights { + sum += weight + if weight > maxWeight { + maxWeight = weight + } + } + + avg := sum / float64(len(weights)) + + // Kombi = stärkstes Signal plus leichter Kontext-Boost. + combined := 0.70*maxWeight + 0.30*avg + + // Person macht das Highlight verständlicher, soll aber nicht stark boosten. + if hasPersonContext { + combined += 0.03 + } + + // Echte Combos sollen sichtbar relevant bleiben, + // aber nur wenn mindestens ein Nicht-Personen-Signal existiert. + if combined < 0.60 { + combined = 0.60 + } + if combined > 1.00 { + combined = 1.00 + } + + return combined +} + +func normalizeSegmentLabel(label string) string { + label = strings.ToLower(strings.TrimSpace(label)) + + label = strings.TrimPrefix(label, "detector:") + label = strings.TrimPrefix(label, "body:") + label = strings.TrimPrefix(label, "object:") + label = strings.TrimPrefix(label, "clothing:") + label = strings.TrimPrefix(label, "position:") + + return strings.TrimSpace(label) +} + +func mergeAdjacentAISegments(segments []aiSegmentMeta, maxGapSec float64) []aiSegmentMeta { + if len(segments) == 0 { + return nil + } + + // Pro normalisiertem Label separat mergen. + // Dadurch verhindern andere Labels zwischen zwei Treffern nicht mehr das Zusammenführen. + byLabel := make(map[string][]aiSegmentMeta) + + for _, s := range segments { + if strings.TrimSpace(s.Label) == "" { + continue + } + + if s.DurationSeconds <= 0 { + s.DurationSeconds = s.EndSeconds - s.StartSeconds + } + + if s.EndSeconds <= s.StartSeconds { + continue + } + + key := normalizeSegmentLabel(s.Label) + if key == "" { + continue + } + + byLabel[key] = append(byLabel[key], s) + } + + out := make([]aiSegmentMeta, 0, len(segments)) + + for _, items := range byLabel { + sort.SliceStable(items, func(i, j int) bool { + if items[i].StartSeconds != items[j].StartSeconds { + return items[i].StartSeconds < items[j].StartSeconds + } + if items[i].EndSeconds != items[j].EndSeconds { + return items[i].EndSeconds < items[j].EndSeconds + } + return items[i].Label < items[j].Label + }) + + cur := items[0] + + for i := 1; i < len(items); i++ { + n := items[i] + + gap := n.StartSeconds - cur.EndSeconds + + if gap >= -0.25 && gap <= maxGapSec { + oldDur := cur.DurationSeconds + if oldDur <= 0 { + oldDur = cur.EndSeconds - cur.StartSeconds + } + + newDur := n.DurationSeconds + if newDur <= 0 { + newDur = n.EndSeconds - n.StartSeconds + } + + totalDur := oldDur + newDur + + cur.Label = preferAnalyzeSegmentLabel(cur.Label, n.Label) + + if n.StartSeconds < cur.StartSeconds { + cur.StartSeconds = n.StartSeconds + } + if n.EndSeconds > cur.EndSeconds { + cur.EndSeconds = n.EndSeconds + } + + cur.DurationSeconds = cur.EndSeconds - cur.StartSeconds + cur.AutoSelected = cur.AutoSelected || n.AutoSelected + + if totalDur > 0 { + cur.Score = ((cur.Score * oldDur) + (n.Score * newDur)) / totalDur + } else if n.Score > cur.Score { + cur.Score = n.Score + } + + continue + } + + out = append(out, cur) + cur = n + } + + out = append(out, cur) + } + + sort.SliceStable(out, func(i, j int) bool { + if out[i].StartSeconds != out[j].StartSeconds { + return out[i].StartSeconds < out[j].StartSeconds + } + if out[i].EndSeconds != out[j].EndSeconds { + return out[i].EndSeconds < out[j].EndSeconds + } + return normalizeSegmentLabel(out[i].Label) < normalizeSegmentLabel(out[j].Label) + }) + + return out +} + func ratingConfidenceWeight(conf float64) float64 { conf = ratingClamp01(conf) @@ -87,13 +723,13 @@ func ratingConfidenceWeight(conf float64) float64 { func starsFromNSFWScore(score float64) int { switch { - case score < 15: + case score < 18: return 1 - case score < 35: + case score < 38: return 2 - case score < 58: + case score < 60: return 3 - case score < 78: + case score < 80: return 4 default: return 5 @@ -101,6 +737,8 @@ func starsFromNSFWScore(score float64) int { } func computeNSFWRating(segments []aiSegmentMeta, durationSec float64) *aiRatingMeta { + segments = mergeAdjacentAISegments(segments, 5.0) + r := &aiRatingMeta{ Score: 0, Stars: 1, @@ -115,11 +753,20 @@ func computeNSFWRating(segments []aiSegmentMeta, durationSec float64) *aiRatingM var totalFlagged float64 var totalWeighted float64 var totalEffectiveWeighted float64 + + var positionEffectiveWeighted float64 + var contextEffectiveWeighted float64 + var peakQuality float64 + var longest float64 var confSum float64 var n int for _, s := range segments { + if isPersonSegmentLabel(s.Label) { + continue + } + segDur := s.DurationSeconds if segDur <= 0 { segDur = s.EndSeconds - s.StartSeconds @@ -128,13 +775,37 @@ func computeNSFWRating(segments []aiSegmentMeta, durationSec float64) *aiRatingM continue } - sev := nsfwSegmentSeverityWeight(s.Label) + sev := contextualSegmentSeverityWeight(s.Label) + if sev <= 0 { + continue + } + conf := ratingClamp01(s.Score) - weight := sev * ratingConfidenceWeight(conf) + confWeight := ratingConfidenceWeight(conf) + quality := sev * confWeight + + if quality <= 0 { + continue + } + + effectiveDur := ratingEffectiveDurationSeconds(segDur) + weightedDur := segDur * quality + effectiveWeightedDur := effectiveDur * quality totalFlagged += segDur - totalWeighted += segDur * weight - totalEffectiveWeighted += ratingEffectiveDurationSeconds(segDur) * weight + totalWeighted += weightedDur + totalEffectiveWeighted += effectiveWeightedDur + + set := ratingSignalSetFromLabel(s.Label) + if set.HasPosition { + positionEffectiveWeighted += effectiveWeightedDur + } else { + contextEffectiveWeighted += effectiveWeightedDur + } + + if quality > peakQuality { + peakQuality = quality + } confSum += conf n++ @@ -152,22 +823,39 @@ func computeNSFWRating(segments []aiSegmentMeta, durationSec float64) *aiRatingM weightedCoverageRatio := ratingClamp01(totalWeighted / durationSec) segmentsPerMinute := float64(n) / videoMinutes avgConfidence := confSum / float64(n) - effectiveWeightedSecondsPerMinute := totalEffectiveWeighted / videoMinutes - // Weichere Normalisierung statt harter Sättigung. - // Das reduziert 1/5-Ausreißer und verteilt mehr Fälle auf 2–4 Sterne. - densityNorm := ratingSoftCap(effectiveWeightedSecondsPerMinute, 8.0) + positionEffectiveWeightedPerMinute := positionEffectiveWeighted / videoMinutes + contextEffectiveWeightedPerMinute := contextEffectiveWeighted / videoMinutes + + // Position ist der Haupttreiber. + // Kontext ohne Position zählt mit, wird aber schwächer normalisiert. + peakNorm := ratingSmoothStep(peakQuality) + positionDensityNorm := ratingSoftCap(positionEffectiveWeightedPerMinute, 6.0) + contextDensityNorm := ratingSoftCap(contextEffectiveWeightedPerMinute, 10.0) coverageNorm := ratingSoftCap(weightedCoverageRatio, 0.22) - frequencyNorm := ratingSoftCap(segmentsPerMinute, 1.25) - longestNorm := ratingSoftCap(longest, 25.0) + frequencyNorm := ratingSoftCap(segmentsPerMinute, 1.40) + longestNorm := ratingSoftCap(longest, 28.0) confNorm := ratingSmoothStep((avgConfidence - 0.35) / 0.60) raw := - 0.38*densityNorm + - 0.30*coverageNorm + - 0.12*frequencyNorm + - 0.10*longestNorm + - 0.10*confNorm + 0.34*peakNorm + + 0.28*positionDensityNorm + + 0.14*coverageNorm + + 0.10*contextDensityNorm + + 0.06*longestNorm + + 0.04*frequencyNorm + + 0.04*confNorm + + // Sicherheits-Caps: + // Ohne Positionssignal soll Kontext alleine nicht auf 4–5 Sterne kippen. + if positionEffectiveWeighted <= 0 { + raw = math.Min(raw, 0.58) + } + + // Sehr kurze/spärliche Treffer nicht überbewerten. + if totalFlagged < 4.0 && n <= 1 { + raw = math.Min(raw, 0.42) + } score := ratingRound(ratingClamp01(raw)*100, 1) diff --git a/backend/record.go b/backend/record.go index cbf9499..78033ff 100644 --- a/backend/record.go +++ b/backend/record.go @@ -1373,7 +1373,7 @@ func recordVideo(w http.ResponseWriter, r *http.Request) { writeErr := func(code int, msg string) { if tw.wrote { - fmt.Println("[recordVideo] late error (headers already sent):", code, msg) + appLogln("[recordVideo] late error (headers already sent):", code, msg) return } http.Error(w, msg, code) diff --git a/backend/record_paths.go b/backend/record_paths.go index c18521c..73a40cd 100644 --- a/backend/record_paths.go +++ b/backend/record_paths.go @@ -2,7 +2,6 @@ package main import ( - "fmt" "net/http" "net/url" "os" @@ -29,7 +28,7 @@ func safeBasenameQuery(r *http.Request, key string) (string, bool, error) { } dec = strings.TrimSpace(dec) if !isSafeBasename(dec) { - return "", false, fmt.Errorf("invalid basename") + return "", false, appErrorf("invalid basename") } return dec, true, nil } @@ -252,7 +251,7 @@ func resolveDoneFileByName(doneAbs string, file string) (full string, from strin return p, "keep", fi, nil } - return "", "", nil, fmt.Errorf("not found") + return "", "", nil, appErrorf("not found") } func isTrashPath(p string) bool { diff --git a/backend/record_stream_cb.go b/backend/record_stream_cb.go index d7b37d7..1d5809a 100644 --- a/backend/record_stream_cb.go +++ b/backend/record_stream_cb.go @@ -6,7 +6,6 @@ import ( "context" "encoding/json" "errors" - "fmt" "net/http" "net/url" "os" @@ -43,12 +42,12 @@ func RecordStream( loadFreshHLS := func() (*selectedHLSStream, error) { body, err := hc.FetchPage(ctx, pageURL, httpCookie) if err != nil { - return nil, fmt.Errorf("seite laden: %w", err) + return nil, appErrorf("seite laden: %w", err) } hlsURL, err := ParseStream(body) if err != nil { - return nil, fmt.Errorf("stream-parsing: %w", err) + return nil, appErrorf("stream-parsing: %w", err) } hlsURL = strings.TrimSpace(hlsURL) @@ -64,7 +63,7 @@ func RecordStream( pageURL, ) if err != nil { - return nil, fmt.Errorf("variant-playlist: %w", err) + return nil, appErrorf("variant-playlist: %w", err) } if stream == nil || strings.TrimSpace(stream.VideoURL) == "" { return nil, errors.New("leere final video url") @@ -119,7 +118,7 @@ func RecordStream( if mergeAfterRun && fileExistsNonEmpty(attemptOut) { if aerr := appendFileAndRemove(outputPath, attemptOut); aerr != nil { - return fmt.Errorf("retry-chunk merge failed: %w", aerr) + return appErrorf("retry-chunk merge failed: %w", aerr) } } @@ -147,7 +146,7 @@ func RecordStream( refreshes++ if refreshes > maxPlaylistRefreshes { - return fmt.Errorf("cb refresh-limit erreicht nach %d versuchen: %w", refreshes-1, err) + return appErrorf("cb refresh-limit erreicht nach %d versuchen: %w", refreshes-1, err) } select { @@ -193,14 +192,14 @@ func ParseStream(html string) (string, error) { strings.Replace(strconv.Quote(matches[1]), `\\u`, `\u`, -1), ) if err != nil { - return "", fmt.Errorf("Unicode-decode failed: %w", err) + return "", appErrorf("Unicode-decode failed: %w", err) } var rd struct { HLSSource string `json:"hls_source"` } if err := json.Unmarshal([]byte(decoded), &rd); err != nil { - return "", fmt.Errorf("JSON-parse failed: %w", err) + return "", appErrorf("JSON-parse failed: %w", err) } if rd.HLSSource == "" { return "", errors.New("kein HLS-Quell-URL im JSON") diff --git a/backend/record_stream_hls.go b/backend/record_stream_hls.go index deeb239..61fe471 100644 --- a/backend/record_stream_hls.go +++ b/backend/record_stream_hls.go @@ -147,19 +147,19 @@ func getWantedResolutionPlaylistWithHeaders( defer resp.Body.Close() if resp.StatusCode != http.StatusOK { - return nil, fmt.Errorf("HTTP %d beim Abruf der m3u8", resp.StatusCode) + return nil, appErrorf("HTTP %d beim Abruf der m3u8", resp.StatusCode) } rawBody, err := io.ReadAll(resp.Body) if err != nil { - return nil, fmt.Errorf("m3u8 read: %w", err) + return nil, appErrorf("m3u8 read: %w", err) } masterText := string(rawBody) playlist, listType, err := m3u8.DecodeFrom(bytes.NewReader(rawBody), true) if err != nil { - return nil, fmt.Errorf("m3u8 parse: %w", err) + return nil, appErrorf("m3u8 parse: %w", err) } // Schon Media-Playlist @@ -354,7 +354,7 @@ func appendFileAndRemove(dstPath, srcPath string) error { dstPath = strings.TrimSpace(dstPath) if srcPath == "" || dstPath == "" { - return fmt.Errorf("append path leer") + return appErrorf("append path leer") } if filepath.Clean(srcPath) == filepath.Clean(dstPath) { return nil @@ -423,13 +423,13 @@ func handleM3U8Mode( u, err := url.Parse(videoURL) if err != nil || (u.Scheme != "http" && u.Scheme != "https") { - return fmt.Errorf("ungültige video URL: %q", videoURL) + return appErrorf("ungültige video URL: %q", videoURL) } if audioURL != "" { au, err := url.Parse(audioURL) if err != nil || (au.Scheme != "http" && au.Scheme != "https") { - return fmt.Errorf("ungültige audio URL: %q", audioURL) + return appErrorf("ungültige audio URL: %q", audioURL) } } @@ -440,7 +440,7 @@ func handleM3U8Mode( ext := strings.ToLower(filepath.Ext(outFile)) if ext != ".ts" && ext != ".mp4" { - return fmt.Errorf("nicht unterstützte output-endung: %q", ext) + return appErrorf("nicht unterstützte output-endung: %q", ext) } // Wichtig: @@ -562,9 +562,9 @@ func handleM3U8Mode( if err != nil { msg := strings.TrimSpace(stderr.String()) if msg != "" { - return fmt.Errorf("ffmpeg m3u8 failed: %w: %s", err, msg) + return appErrorf("ffmpeg m3u8 failed: %w: %s", err, msg) } - return fmt.Errorf("ffmpeg m3u8 failed: %w", err) + return appErrorf("ffmpeg m3u8 failed: %w", err) } if job != nil { diff --git a/backend/record_stream_mfc.go b/backend/record_stream_mfc.go index dc0f625..79319ce 100644 --- a/backend/record_stream_mfc.go +++ b/backend/record_stream_mfc.go @@ -54,9 +54,9 @@ func RecordStreamMFC( if time.Now().After(deadline) { if lastSt == nil { - return fmt.Errorf("mfc: stream wurde nicht public innerhalb %s", waitPublicMax) + return appErrorf("mfc: stream wurde nicht public innerhalb %s", waitPublicMax) } - return fmt.Errorf("mfc: stream ist nicht public nach %s (letzter Status: %s)", waitPublicMax, *lastSt) + return appErrorf("mfc: stream ist nicht public nach %s (letzter Status: %s)", waitPublicMax, *lastSt) } @@ -66,10 +66,10 @@ func RecordStreamMFC( // ✅ erst jetzt die Video URL holen (weil public) stream, err := mfc.GetSelectedStream(false) if err != nil { - return fmt.Errorf("mfc get video url: %w", err) + return appErrorf("mfc get video url: %w", err) } if stream == nil || strings.TrimSpace(stream.VideoURL) == "" { - return fmt.Errorf("mfc: keine m3u8 URL gefunden") + return appErrorf("mfc: keine m3u8 URL gefunden") } // ✅ WICHTIG: fMP4 live preview (/api/preview/live) braucht job.PreviewM3U8 als Input @@ -127,7 +127,7 @@ func (m *MyFreeCams) GetVideoURL(refresh bool) (string, error) { midInt, err := strconv.Atoi(midBase) if err != nil { - return "", fmt.Errorf("model-id parse error: %w", err) + return "", appErrorf("model-id parse error: %w", err) } mid := 100000000 + midInt a := "" @@ -180,7 +180,7 @@ func (m *MyFreeCams) GetStatus() (Status, error) { return StatusNotExist, nil } if resp.StatusCode != 200 { - return StatusUnknown, fmt.Errorf("HTTP %d", resp.StatusCode) + return StatusUnknown, appErrorf("HTTP %d", resp.StatusCode) } // wir brauchen sowohl Bytes (für Suche) als auch Reader (für HTML) @@ -202,7 +202,7 @@ func (m *MyFreeCams) GetStatus() (Status, error) { raw := string(bodyBytes[start : start+end]) u, err := url.Parse(raw) if err != nil { - return StatusUnknown, fmt.Errorf("tracking url invalid: %w", err) + return StatusUnknown, appErrorf("tracking url invalid: %w", err) } qs := u.Query() if qs.Get("model_id") == "" { @@ -255,7 +255,7 @@ func runMFC(ctx context.Context, username string, outArg string) error { return err } if st != StatusPublic { - return fmt.Errorf("Stream ist nicht live (Status: %s)", st) + return appErrorf("Stream ist nicht live (Status: %s)", st) } stream, err := mfc.GetSelectedStream(false) @@ -277,12 +277,12 @@ func getWantedResolutionPlaylist(playlistURL string) (string, error) { } defer resp.Body.Close() if resp.StatusCode != 200 { - return "", fmt.Errorf("HTTP %d beim Abruf der m3u8", resp.StatusCode) + return "", appErrorf("HTTP %d beim Abruf der m3u8", resp.StatusCode) } playlist, listType, err := m3u8.DecodeFrom(resp.Body, true) if err != nil { - return "", fmt.Errorf("m3u8 parse: %w", err) + return "", appErrorf("m3u8 parse: %w", err) } if listType == m3u8.MEDIA { return playlistURL, nil diff --git a/backend/recorder.go b/backend/recorder.go index d01c7bc..db10af5 100644 --- a/backend/recorder.go +++ b/backend/recorder.go @@ -190,7 +190,7 @@ func scrubberIndexToTime(index, count int, durationSec float64) float64 { func lookupDurationForScrubber(r *http.Request) (float64, error) { path, ok, _, _ := resolvePlayablePathFromQuery(r) if !ok || strings.TrimSpace(path) == "" { - return 0, fmt.Errorf("unable to resolve file") + return 0, appErrorf("unable to resolve file") } // best-effort meta @@ -335,7 +335,7 @@ func statOutputForLog(path string) string { func waitForUsableOutput(path string, timeout time.Duration) (os.FileInfo, error) { path = strings.TrimSpace(path) if path == "" { - return nil, fmt.Errorf("path empty") + return nil, appErrorf("path empty") } deadline := time.Now().Add(timeout) @@ -350,11 +350,11 @@ func waitForUsableOutput(path string, timeout time.Duration) (os.FileInfo, error if err != nil { lastErr = err } else if fi == nil { - lastErr = fmt.Errorf("stat returned nil") + lastErr = appErrorf("stat returned nil") } else if fi.IsDir() { - lastErr = fmt.Errorf("path is dir") + lastErr = appErrorf("path is dir") } else { - lastErr = fmt.Errorf("file size is 0") + lastErr = appErrorf("file size is 0") } if time.Now().After(deadline) { @@ -364,7 +364,7 @@ func waitForUsableOutput(path string, timeout time.Duration) (os.FileInfo, error } if lastErr == nil { - lastErr = fmt.Errorf("usable output not ready in time") + lastErr = appErrorf("usable output not ready in time") } return nil, lastErr } @@ -433,7 +433,7 @@ func startRecordingInternal(req RecordRequest) (*RecordJob, error) { provider := detectProvider(url) if provider != "chaturbate" && provider != "mfc" { - return nil, fmt.Errorf("unsupported provider: %q", url) + return nil, appErrorf("unsupported provider: %q", url) } if err := ensureDiskGuardAllowsStart(); err != nil { @@ -470,7 +470,7 @@ func startRecordingInternal(req RecordRequest) (*RecordJob, error) { } if active >= max { - return nil, fmt.Errorf("Download-Limit erreicht (%d/%d aktiv)", active, max) + return nil, appErrorf("Download-Limit erreicht (%d/%d aktiv)", active, max) } } @@ -520,18 +520,18 @@ func startRecordingInternal(req RecordRequest) (*RecordJob, error) { func requireNonEmptyRegularFile(path string, label string) error { path = strings.TrimSpace(path) if path == "" { - return fmt.Errorf("%s: path empty", label) + return appErrorf("%s: path empty", label) } fi, err := os.Stat(path) if err != nil { - return fmt.Errorf("%s: %w", label, err) + return appErrorf("%s: %w", label, err) } if fi == nil || fi.IsDir() { - return fmt.Errorf("%s: not a file", label) + return appErrorf("%s: not a file", label) } if fi.Size() <= 0 { - return fmt.Errorf("%s: empty file", label) + return appErrorf("%s: empty file", label) } return nil } @@ -541,16 +541,16 @@ func buildPostworkTempMP4Path(tsPath string) (string, error) { doneAbs, err := resolvePathRelativeToApp(s.DoneDir) if err != nil { - return "", fmt.Errorf("doneDir auflösung fehlgeschlagen: %w", err) + return "", appErrorf("doneDir auflösung fehlgeschlagen: %w", err) } doneAbs = strings.TrimSpace(doneAbs) if doneAbs == "" { - return "", fmt.Errorf("doneDir ist leer") + return "", appErrorf("doneDir ist leer") } tmpDir := filepath.Join(doneAbs, ".postwork_tmp") if err := os.MkdirAll(tmpDir, 0o755); err != nil { - return "", fmt.Errorf("postwork tmp dir erstellen fehlgeschlagen: %w", err) + return "", appErrorf("postwork tmp dir erstellen fehlgeschlagen: %w", err) } base := strings.TrimSuffix(filepath.Base(strings.TrimSpace(tsPath)), filepath.Ext(tsPath)) + ".mp4" @@ -581,14 +581,14 @@ func runPrimaryPostworkPipeline( fi, err := os.Stat(tsPath) if err != nil || fi == nil || fi.IsDir() || fi.Size() <= 0 { - return out, fmt.Errorf("ts invalid before remux") + return out, appErrorf("ts invalid before remux") } inSize := fi.Size() mp4Path, err := buildPostworkTempMP4Path(tsPath) if err != nil { - return tsPath, fmt.Errorf("postwork temp mp4 path failed: %w", err) + return tsPath, appErrorf("postwork temp mp4 path failed: %w", err) } _ = removeWithRetry(mp4Path) @@ -620,7 +620,7 @@ func runPrimaryPostworkPipeline( ) if err != nil { _ = removeWithRetry(mp4Path) - return tsPath, fmt.Errorf("ts remux failed: %w", err) + return tsPath, appErrorf("ts remux failed: %w", err) } if err := requireNonEmptyRegularFile(mp4Path, "remux result"); err != nil { @@ -629,13 +629,13 @@ func runPrimaryPostworkPipeline( } if err := validateVideoDecodesNearEnd(ctx, mp4Path); err != nil { - fmt.Println("⚠️ remux mp4 decode validation failed, fallback to reencode:", err) + appLogln("⚠️ remux mp4 decode validation failed, fallback to reencode:", err) _ = removeWithRetry(mp4Path) if rerr := reencodeTSToMP4(ctx, tsPath, mp4Path); rerr != nil { _ = removeWithRetry(mp4Path) - return tsPath, fmt.Errorf("remux invalid (%v), reencode fallback failed: %w", err, rerr) + return tsPath, appErrorf("remux invalid (%v), reencode fallback failed: %w", err, rerr) } if err2 := requireNonEmptyRegularFile(mp4Path, "reencode result"); err2 != nil { @@ -645,7 +645,7 @@ func runPrimaryPostworkPipeline( if err2 := validateVideoDecodesNearEnd(ctx, mp4Path); err2 != nil { _ = removeWithRetry(mp4Path) - return tsPath, fmt.Errorf("reencoded mp4 still invalid: %w", err2) + return tsPath, appErrorf("reencoded mp4 still invalid: %w", err2) } } @@ -673,9 +673,9 @@ func runPrimaryPostworkPipeline( } if err != nil { - return fallbackOut, fmt.Errorf("moveToDoneDir failed: %w", err) + return fallbackOut, appErrorf("moveToDoneDir failed: %w", err) } - return fallbackOut, fmt.Errorf("moveToDoneDir returned empty path") + return fallbackOut, appErrorf("moveToDoneDir returned empty path") } out = strings.TrimSpace(moved) @@ -691,7 +691,7 @@ func runPrimaryPostworkPipeline( if cleanupTSAfterMove != "" { if err := removeWithRetry(cleanupTSAfterMove); err != nil && !os.IsNotExist(err) { - fmt.Println("⚠️ ts cleanup after successful move:", err) + appLogln("⚠️ ts cleanup after successful move:", err) } purgeDurationCacheForPath(cleanupTSAfterMove) } @@ -711,14 +711,14 @@ func runPrimaryPostworkPipeline( } if _, err := ensureMetaForVideoCtx(ctx, out, job.SourceURL); err != nil { - return out, fmt.Errorf("meta.json generation failed: %w", err) + return out, appErrorf("meta.json generation failed: %w", err) } attachMetaToJobBestEffort(ctx, job, out) assetID := assetIDFromVideoPath(out) if assetID == "" { - return out, fmt.Errorf("asset id missing after move") + return out, appErrorf("asset id missing after move") } _, thumbPath, previewPath, _, metaPath, err := assetPathsForID(assetID) @@ -763,7 +763,7 @@ func runPrimaryPostworkPipeline( } if _, err := ensurePrimaryAssetsForVideoWithProgressCtx(ctx, out, job.SourceURL, update); err != nil { - return out, fmt.Errorf("primary assets failed: %w", err) + return out, appErrorf("primary assets failed: %w", err) } if err := requireNonEmptyRegularFile(thumbPath, "preview.jpg"); err != nil { @@ -859,7 +859,7 @@ func runChaturbateRecording( s := getSettings() recordDirAbs, err := resolvePathRelativeToApp(s.RecordDir) if err != nil || strings.TrimSpace(recordDirAbs) == "" { - return fmt.Errorf("recordDir auflösung fehlgeschlagen: %v", err) + return appErrorf("recordDir auflösung fehlgeschlagen: %v", err) } _ = os.MkdirAll(recordDirAbs, 0o755) @@ -897,7 +897,7 @@ func runMFCRecording( s := getSettings() recordDirAbs, err := resolvePathRelativeToApp(s.RecordDir) if err != nil || strings.TrimSpace(recordDirAbs) == "" { - return fmt.Errorf("recordDir auflösung fehlgeschlagen: %v", err) + return appErrorf("recordDir auflösung fehlgeschlagen: %v", err) } _ = os.MkdirAll(recordDirAbs, 0o755) @@ -1053,7 +1053,7 @@ func maybeDeleteSmallRecordedOutput(job *RecordJob, out string) bool { } if isFavoriteProtectedDownload(out, job.SourceURL) { - fmt.Println("⭐ auto-delete skipped for favorite:", filepath.Base(out)) + appLogln("⭐ auto-delete skipped for favorite:", filepath.Base(out)) return false } @@ -1066,7 +1066,7 @@ func maybeDeleteSmallRecordedOutput(job *RecordJob, out string) bool { removeJobAndPublish(job) return true } else { - fmt.Println("⚠️ auto-delete before enqueue failed:", derr) + appLogln("⚠️ auto-delete before enqueue failed:", derr) } return false @@ -1292,15 +1292,17 @@ func publishDeferredPhase(fileName, assetID, queue, phase, state, label string, func runDeferredEnrichPipeline(ctx context.Context, outPath string, sourceURL string) error { outPath = strings.TrimSpace(outPath) if outPath == "" { - return fmt.Errorf("output path leer") + return appErrorf("output path leer") } fileName := filepath.Base(outPath) assetID := assetIDFromVideoPath(outPath) if assetID == "" { - return fmt.Errorf("asset id fehlt") + return appErrorf("asset id fehlt") } + requiredGoals := requiredAnalyzeGoals() + // best effort sourceURL aus meta.json nachziehen, falls leer if strings.TrimSpace(sourceURL) == "" { if _, _, _, _, metaPath, err := assetPathsForID(assetID); err == nil { @@ -1337,7 +1339,7 @@ func runDeferredEnrichPipeline(ctx context.Context, outPath string, sourceURL st } if err != nil || !okMeta || !assetsTruthForVideo(outPath).MetaReady { if err == nil { - err = fmt.Errorf("meta konnte nicht erzeugt werden") + err = appErrorf("meta konnte nicht erzeugt werden") } publishDeferredPhase(fileName, assetID, "postwork", "meta", "error", "Meta fehlgeschlagen", err) return err @@ -1356,7 +1358,7 @@ func runDeferredEnrichPipeline(ctx context.Context, outPath string, sourceURL st } if err != nil || !assetsTruthForVideo(outPath).ThumbReady { if err == nil { - err = fmt.Errorf("vorschaubild konnte nicht erzeugt werden") + err = appErrorf("vorschaubild konnte nicht erzeugt werden") } publishDeferredPhase(fileName, assetID, "postwork", "thumb", "error", "Vorschaubild fehlgeschlagen", err) return err @@ -1375,7 +1377,7 @@ func runDeferredEnrichPipeline(ctx context.Context, outPath string, sourceURL st } if err != nil || !assetsTruthForVideo(outPath).TeaserReady { if err == nil { - err = fmt.Errorf("teaser konnte nicht erzeugt werden") + err = appErrorf("teaser konnte nicht erzeugt werden") } publishDeferredPhase(fileName, assetID, "postwork", "teaser", "error", "Teaser fehlgeschlagen", err) return err @@ -1385,9 +1387,12 @@ func runDeferredEnrichPipeline(ctx context.Context, outPath string, sourceURL st truth = assetsTruthForVideo(outPath) } - // Ab hier erst die langsamen Hintergrundphasen var firstErr error + // ------------------------------------------------- + // Langsame Hintergrundphase: Sprite + // ------------------------------------------------- + if !truth.SpritesReady { publishDeferredPhase(fileName, assetID, "postwork", "sprites", "running", "Sprites", nil) @@ -1397,7 +1402,7 @@ func runDeferredEnrichPipeline(ctx context.Context, outPath string, sourceURL st } if err != nil || !assetsTruthForVideo(outPath).SpritesReady { if err == nil { - err = fmt.Errorf("sprites konnten nicht erzeugt werden") + err = appErrorf("sprites konnten nicht erzeugt werden") } publishDeferredPhase(fileName, assetID, "postwork", "sprites", "error", "Sprites fehlgeschlagen", err) if firstErr == nil { @@ -1405,7 +1410,7 @@ func runDeferredEnrichPipeline(ctx context.Context, outPath string, sourceURL st } } else { if _, checkErr := runTailBlackoutCheck(ctx, outPath); checkErr != nil { - fmt.Println("⚠️ sprite tail blackout check failed:", outPath, checkErr) + appLogln("⚠️ sprite tail blackout check failed:", outPath, checkErr) } publishDeferredPhase(fileName, assetID, "postwork", "sprites", "done", "Sprites", nil) @@ -1414,23 +1419,40 @@ func runDeferredEnrichPipeline(ctx context.Context, outPath string, sourceURL st truth = assetsTruthForVideo(outPath) - if !truth.AnalyzeReady { - publishDeferredPhase(fileName, assetID, "enrich", "analyze", "running", "Analyse", nil) + // Ohne Sprite kann keine Sprite-basierte Analyse laufen. + if !truth.SpritesReady { + if firstErr == nil { + firstErr = appErrorf("Analysen übersprungen: preview-sprite.jpg fehlt") + } + return firstErr + } - _, err := ensureAnalyzeForVideoCtx(ctx, outPath, sourceURL, "nsfw") + // ------------------------------------------------- + // Langsame Hintergrundphase: NSFW + Highlights zusammen + // ------------------------------------------------- + + analyzeReady := hasAIResultsForAllOutputGoals(outPath, requiredGoals) + + if !analyzeReady { + publishDeferredPhase(fileName, assetID, "enrich", "analyze", "running", "Analysen", nil) + + _, err := ensureAnalyzeAllGoalsForVideoCtx(ctx, outPath, sourceURL) if cerr := abortIfCanceled(err, "enrich", "analyze"); cerr != nil { return cerr } - if err != nil || !assetsTruthForVideo(outPath).AnalyzeReady { + + analyzeReady = hasAIResultsForAllOutputGoals(outPath, requiredGoals) + + if err != nil || !analyzeReady { if err == nil { - err = fmt.Errorf("Analyse konnte nicht erzeugt werden") + err = appErrorf("Analysen konnten nicht erzeugt werden") } - publishDeferredPhase(fileName, assetID, "enrich", "analyze", "error", "Analyse fehlgeschlagen", err) + publishDeferredPhase(fileName, assetID, "enrich", "analyze", "error", "Analysen fehlgeschlagen", err) if firstErr == nil { firstErr = err } } else { - publishDeferredPhase(fileName, assetID, "enrich", "analyze", "done", "Analyse", nil) + publishDeferredPhase(fileName, assetID, "enrich", "analyze", "done", "Analysen", nil) } } @@ -1500,7 +1522,7 @@ func handlePrimaryPostworkSuccess(job *RecordJob, out string, postTarget JobStat }) if ok := enqueueDeferredAssetsAndAI(job, out, job.SourceURL); !ok { - fmt.Println("⚠️ deferred enrichment enqueue failed:", out) + appLogln("⚠️ deferred enrichment enqueue failed:", out) } if postTarget == JobStopped { diff --git a/backend/routes.go b/backend/routes.go index 6a4e204..3df0824 100644 --- a/backend/routes.go +++ b/backend/routes.go @@ -3,7 +3,6 @@ package main import ( - "fmt" "net/http" "net/url" "strings" @@ -33,6 +32,8 @@ func registerRoutes(mux *http.ServeMux, auth *AuthManager) *ModelStore { api.HandleFunc("/api/events/stream", eventsStream) api.HandleFunc("/api/perf/stream", perfStreamHandler) api.HandleFunc("/api/status/disk", diskStatusHandler) + api.HandleFunc("/api/status/ai-server", aiServerStatusHandler) + api.HandleFunc("/api/status/log", appLogHandler) api.HandleFunc("/api/autostart/state", autostartStateHandler) api.HandleFunc("/api/autostart/state/stream", autostartStateStreamHandler) @@ -100,13 +101,13 @@ func registerRoutes(mux *http.ServeMux, auth *AuthManager) *ModelStore { dsn, err := buildPostgresDSNFromSettings() if err != nil { - fmt.Println("⚠️ models DSN:", err) + appLogln("⚠️ models DSN:", err) } - fmt.Println("📦 Models DB (Postgres):", sanitizeDSNForLog(dsn)) + appLogln("📦 Models DB (Postgres):", sanitizeDSNForLog(dsn)) store := NewModelStore(dsn) if err := store.Load(); err != nil { - fmt.Println("⚠️ models load:", err) + appLogln("⚠️ models load:", err) } setCoverModelStore(store) @@ -147,14 +148,14 @@ func buildPostgresDSNFromSettings() (string, error) { dbURL := strings.TrimSpace(s.DatabaseURL) if dbURL == "" { - return "", fmt.Errorf("databaseUrl ist leer") + return "", appErrorf("databaseUrl ist leer") } // Wenn databaseUrl ein Passwort enthält: verwenden, // aber gleichzeitig safe sein, falls da Altbestand drin ist. u, err := url.Parse(dbURL) if err != nil { - return "", fmt.Errorf("databaseUrl ungültig: %w", err) + return "", appErrorf("databaseUrl ungültig: %w", err) } // 1) Wenn URL bereits Passwort enthält -> nur verwenden, wenn es NICHT der Placeholder ist @@ -177,7 +178,7 @@ func buildPostgresDSNFromSettings() (string, error) { plainPw, err := decryptSettingString(enc) if err != nil { - return "", fmt.Errorf("db password decrypt failed: %w", err) + return "", appErrorf("db password decrypt failed: %w", err) } plainPw = strings.TrimSpace(plainPw) if plainPw == "" { @@ -190,7 +191,7 @@ func buildPostgresDSNFromSettings() (string, error) { user = u.User.Username() } if strings.TrimSpace(user) == "" { - return "", fmt.Errorf("databaseUrl enthält keinen Username, kann Passwort nicht einsetzen") + return "", appErrorf("databaseUrl enthält keinen Username, kann Passwort nicht einsetzen") } u.User = url.UserPassword(user, plainPw) @@ -200,12 +201,12 @@ func buildPostgresDSNFromSettings() (string, error) { func buildPostgresDSNFromRecorderSettings(s RecorderSettings) (string, error) { dbURL := strings.TrimSpace(s.DatabaseURL) if dbURL == "" { - return "", fmt.Errorf("databaseUrl ist leer") + return "", appErrorf("databaseUrl ist leer") } u, err := url.Parse(dbURL) if err != nil { - return "", fmt.Errorf("databaseUrl ungültig: %w", err) + return "", appErrorf("databaseUrl ungültig: %w", err) } // Wenn URL bereits ein echtes Passwort enthält, direkt verwenden @@ -226,7 +227,7 @@ func buildPostgresDSNFromRecorderSettings(s RecorderSettings) (string, error) { plainPw, err := decryptSettingString(enc) if err != nil { - return "", fmt.Errorf("db password decrypt failed: %w", err) + return "", appErrorf("db password decrypt failed: %w", err) } plainPw = strings.TrimSpace(plainPw) if plainPw == "" { @@ -238,7 +239,7 @@ func buildPostgresDSNFromRecorderSettings(s RecorderSettings) (string, error) { user = u.User.Username() } if strings.TrimSpace(user) == "" { - return "", fmt.Errorf("databaseUrl enthält keinen Username, kann Passwort nicht einsetzen") + return "", appErrorf("databaseUrl enthält keinen Username, kann Passwort nicht einsetzen") } u.User = url.UserPassword(user, plainPw) diff --git a/backend/serve_video.go b/backend/serve_video.go index 70c076b..53c0dc8 100644 --- a/backend/serve_video.go +++ b/backend/serve_video.go @@ -5,7 +5,6 @@ package main import ( "bytes" "context" - "fmt" "math" "net/http" "os" @@ -178,7 +177,7 @@ func maybeRemuxTSForJob(job *RecordJob, path string) (string, error) { func moveToDoneDir(src string) (string, error) { src = strings.TrimSpace(src) if src == "" { - return "", fmt.Errorf("src empty") + return "", appErrorf("src empty") } s := getSettings() @@ -189,7 +188,7 @@ func moveToDoneDir(src string) (string, error) { doneAbs = strings.TrimSpace(s.DoneDir) } if strings.TrimSpace(doneAbs) == "" { - return "", fmt.Errorf("doneDir empty") + return "", appErrorf("doneDir empty") } // Quelle normalisieren/abs machen (best effort) @@ -202,7 +201,7 @@ func moveToDoneDir(src string) (string, error) { fi, err := os.Stat(srcAbs) if err != nil || fi.IsDir() { - return "", fmt.Errorf("src not found: %v", err) + return "", appErrorf("src not found: %v", err) } file := filepath.Base(srcAbs) diff --git a/backend/server.go b/backend/server.go index 372b234..4267c45 100644 --- a/backend/server.go +++ b/backend/server.go @@ -9,6 +9,7 @@ import ( "os" "os/exec" "os/signal" + "path/filepath" "runtime" "strings" "sync" @@ -82,10 +83,333 @@ func buildStartupNotificationMessage() string { return "Die App läuft im Hintergrund." } +type aiServerProcess struct { + cmd *exec.Cmd +} + +func aiServerAutostartEnabled() bool { + raw := strings.ToLower(strings.TrimSpace(os.Getenv("AI_SERVER_AUTOSTART"))) + + // Standard: aktiv. + if raw == "" { + return true + } + + switch raw { + case "0", "false", "no", "off": + return false + default: + return true + } +} + +func aiServerURL() string { + raw := strings.TrimSpace(os.Getenv("AI_SERVER_URL")) + if raw == "" { + raw = "http://127.0.0.1:8765" + } + + return strings.TrimRight(raw, "/") +} + +func aiServerPortFromURL() string { + url := aiServerURL() + + if strings.Contains(url, ":8765") { + return "8765" + } + + // Einfacher Fallback. Wenn du später andere Ports willst, + // setze AI_SERVER_PORT explizit. + port := strings.TrimSpace(os.Getenv("AI_SERVER_PORT")) + if port != "" { + return port + } + + return "8765" +} + +func aiServerPythonPath() string { + raw := strings.TrimSpace(os.Getenv("AI_SERVER_PYTHON")) + if raw != "" { + return raw + } + + // Windows py launcher zuerst versuchen. + if runtime.GOOS == "windows" { + if _, err := exec.LookPath("py"); err == nil { + return "py" + } + } + + if _, err := exec.LookPath("python"); err == nil { + return "python" + } + + if _, err := exec.LookPath("python3"); err == nil { + return "python3" + } + + return "python" +} + +func findAIServerScriptDir() (string, error) { + cwd, _ := os.Getwd() + + exePath, _ := os.Executable() + exeDir := "" + if exePath != "" { + exeDir = filepath.Dir(exePath) + } + + candidates := []string{ + filepath.Join(cwd, "backend", "ai_server.py"), + filepath.Join(cwd, "ai_server.py"), + } + + if exeDir != "" { + candidates = append(candidates, + filepath.Join(exeDir, "backend", "ai_server.py"), + filepath.Join(exeDir, "ai_server.py"), + ) + } + + appLogln("🔎 Suche ai_server.py") + appLogln(" cwd:", cwd) + appLogln(" exeDir:", exeDir) + + for _, path := range candidates { + cleanPath := filepath.Clean(path) + appLogln(" prüfe:", cleanPath) + + if fi, err := os.Stat(cleanPath); err == nil && fi != nil && !fi.IsDir() { + appLogln("✅ ai_server.py gefunden:", cleanPath) + return filepath.Dir(cleanPath), nil + } + } + + embeddedDir, err := embeddedAIServerDir() + if err != nil { + return "", appErrorf("embedded ai_server.py konnte nicht extrahiert werden: %w", err) + } + + appLogln("✅ embedded ai_server.py extrahiert:", filepath.Join(embeddedDir, "ai_server.py")) + return embeddedDir, nil +} + +func waitForAIServer(ctx context.Context, url string, timeout time.Duration) error { + deadline := time.Now().Add(timeout) + client := &http.Client{ + Timeout: 800 * time.Millisecond, + } + + for { + if time.Now().After(deadline) { + return appErrorf("AI Server nicht rechtzeitig bereit") + } + + req, err := http.NewRequestWithContext(ctx, http.MethodGet, url+"/health", nil) + if err == nil { + res, err := client.Do(req) + if err == nil { + _ = res.Body.Close() + + if res.StatusCode >= 200 && res.StatusCode < 300 { + return nil + } + } + } + + select { + case <-ctx.Done(): + return ctx.Err() + case <-time.After(300 * time.Millisecond): + } + } +} + +func aiServerStatusHandler(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + http.Error(w, "Nur GET erlaubt", http.StatusMethodNotAllowed) + return + } + + url := aiServerURL() + client := &http.Client{ + Timeout: 900 * time.Millisecond, + } + + status := map[string]any{ + "ok": false, + "running": false, + "url": url, + } + + req, err := http.NewRequestWithContext(r.Context(), http.MethodGet, url+"/health", nil) + if err != nil { + status["error"] = err.Error() + writeJSON(w, http.StatusOK, status) + return + } + + res, err := client.Do(req) + if err != nil { + status["error"] = err.Error() + writeJSON(w, http.StatusOK, status) + return + } + defer res.Body.Close() + + status["statusCode"] = res.StatusCode + + if res.StatusCode >= 200 && res.StatusCode < 300 { + status["ok"] = true + status["running"] = true + } + + writeJSON(w, http.StatusOK, status) +} + +func startAIServer(ctx context.Context) (*aiServerProcess, error) { + if !aiServerAutostartEnabled() { + appLogln("ℹ️ AI Server Autostart deaktiviert.") + return nil, nil + } + + scriptDir, err := findAIServerScriptDir() + if err != nil { + return nil, err + } + + exePath, _ := os.Executable() + exeDir := "" + if exePath != "" { + exeDir = filepath.Dir(exePath) + } + + defaultProdModel := filepath.Join(exeDir, "generated", "training", "detector", "model", "best.pt") + scriptDirModel := filepath.Join(scriptDir, "generated", "training", "detector", "model", "best.pt") + + pythonPath := aiServerPythonPath() + port := aiServerPortFromURL() + + args := []string{} + + // Windows py launcher braucht meist -3. + if runtime.GOOS == "windows" && filepath.Base(strings.ToLower(pythonPath)) == "py" { + args = append(args, "-3") + } + + args = append(args, + "-m", "uvicorn", + "ai_server:app", + "--host", "127.0.0.1", + "--port", port, + "--log-level", "warning", + ) + + cmd := exec.CommandContext(ctx, pythonPath, args...) + cmd.Dir = scriptDir + + env := os.Environ() + env = append(env, + "PYTHONUNBUFFERED=1", + "AI_SERVER_URL="+aiServerURL(), + ) + + // Defaults nur setzen, wenn nicht schon extern gesetzt. + if strings.TrimSpace(os.Getenv("YOLO_MODEL")) == "" { + if fi, err := os.Stat(scriptDirModel); err == nil && fi != nil && !fi.IsDir() { + env = append(env, "YOLO_MODEL="+scriptDirModel) + } else if fi, err := os.Stat(defaultProdModel); err == nil && fi != nil && !fi.IsDir() { + env = append(env, "YOLO_MODEL="+defaultProdModel) + } + } + if strings.TrimSpace(os.Getenv("YOLO_IMGSZ")) == "" { + env = append(env, "YOLO_IMGSZ=640") + } + if strings.TrimSpace(os.Getenv("YOLO_BATCH")) == "" { + env = append(env, "YOLO_BATCH=16") + } + if strings.TrimSpace(os.Getenv("YOLO_CONF")) == "" { + env = append(env, "YOLO_CONF=0.25") + } + + cmd.Env = env + + appLogf( + "--- AI Server Start --- python=%s scriptDir=%s url=%s port=%s args=%s", + pythonPath, + scriptDir, + aiServerURL(), + port, + strings.Join(args, " "), + ) + + logWriter := appLogWriter() + cmd.Stdout = logWriter + cmd.Stderr = logWriter + + if runtime.GOOS == "windows" { + cmd.SysProcAttr = &syscall.SysProcAttr{ + HideWindow: true, + CreationFlags: 0x08000000, // CREATE_NO_WINDOW + } + } + + if err := cmd.Start(); err != nil { + return nil, err + } + + proc := &aiServerProcess{ + cmd: cmd, + } + + go func() { + err := cmd.Wait() + + if err != nil && ctx.Err() == nil { + appLogf("⚠️ AI Server beendet: %v", err) + } else { + appLogln("AI Server beendet.") + } + }() + + waitCtx, cancel := context.WithTimeout(ctx, 30*time.Second) + defer cancel() + + if err := waitForAIServer(waitCtx, aiServerURL(), 30*time.Second); err != nil { + appLogln("⚠️ AI Server noch nicht bereit:", err) + // Nicht hart abbrechen. Deine Analyse kann auf den Fallback gehen. + return proc, nil + } + + appLogln("🧠 AI Server bereit:", aiServerURL()) + return proc, nil +} + +func (p *aiServerProcess) Stop() { + if p == nil { + return + } + + if p.cmd != nil && p.cmd.Process != nil { + appLogln("🛑 Beende AI Server...") + _ = p.cmd.Process.Kill() + } +} + // --- main --- func main() { + clearAppLog() + initAppLog() + defer closeAppLog() + loadSettings() + appCtx, appCancel := context.WithCancel(context.Background()) + defer appCancel() + // Nur eine Instanz erlauben: appLn, err := net.Listen("tcp", ":9999") if err != nil { @@ -93,14 +417,17 @@ func main() { "Recorder", "Die Anwendung wird bereits ausgeführt.", ) - fmt.Println("⚠️ Die App läuft bereits oder Port 9999 ist bereits belegt.") + appLogln("⚠️ Die App läuft bereits oder Port 9999 ist bereits belegt.") os.Exit(0) } defer appLn.Close() + aiProc, err := startAIServer(appCtx) + if err != nil { + appLogln("⚠️ AI Server konnte nicht gestartet werden:", err) + } + // ✅ Hier: alte manuelle Autostart-Pause beim echten App-Start zurücksetzen. - // Disk-Notbremse bleibt trotzdem aktiv, weil isAutostartPaused() - // zusätzlich diskEmergency prüft. resetAutostartPauseOnStartup() fixKeepRootFilesIntoModelSubdirs() @@ -112,11 +439,8 @@ func main() { go startGeneratedGarbageCollector() - if err := initNSFWDetector(); err != nil { - fmt.Println("❌ NSFW-ONNX Fehler:", err) - os.Exit(1) - } - + // Altes NSFW-ONNX nicht mehr hart initialisieren. + // Das neue Training-/YOLO-Modell wird über trainingPredictFrame genutzt. var closeNSFWOnce sync.Once closeNSFW := func() { closeNSFWOnce.Do(func() { @@ -129,7 +453,7 @@ func main() { auth, err := NewAuthManager() if err != nil { - fmt.Println("❌ auth init:", err) + appLogln("❌ auth init:", err) closeNSFW() os.Exit(1) } @@ -138,7 +462,7 @@ func main() { setChaturbateOnlineModelStore(store) if err := clearAllPendingAutoStartOnStartup(); err != nil { - fmt.Println("⚠️ [pending-autostart] startup clear failed:", err) + appLogln("⚠️ [pending-autostart] startup clear failed:", err) } // Hintergrund-Worker @@ -154,18 +478,18 @@ func main() { defer cancel() if _, err := refreshChaturbateSnapshotNow(ctx); err != nil { - fmt.Println("⚠️ Chaturbate API failed:", err) + appLogln("⚠️ Chaturbate API failed:", err) } else { - fmt.Println("✅ Chaturbate API geladen") + appLogln("✅ Chaturbate API geladen") } }() } if _, err := ensureCoversDir(); err != nil { - fmt.Println("⚠️ covers dir:", err) + appLogln("⚠️ covers dir:", err) } - fmt.Println("🌐 HTTP-API aktiv: http://localhost:9999") + appLogln("🌐 HTTP-API aktiv: http://localhost:9999") handler := withCORS(mux) srv := &http.Server{ @@ -176,12 +500,19 @@ func main() { var shutdownOnce sync.Once shutdown := func() { shutdownOnce.Do(func() { - fmt.Println("🛑 Beende Server...") + appLogln("🛑 Shutdown gestartet") + + if aiProc != nil { + aiProc.Stop() + } + + appCancel() ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) defer cancel() _ = srv.Shutdown(ctx) + closeNSFW() }) } @@ -214,7 +545,7 @@ func main() { go func() { err := <-serverErrCh if err != nil { - fmt.Println("❌ HTTP-Server Fehler:", err) + appLogln("❌ HTTP-Server Fehler:", err) shutdown() } }() diff --git a/backend/settings.go b/backend/settings.go index 72a3c8b..daa7b63 100644 --- a/backend/settings.go +++ b/backend/settings.go @@ -4,7 +4,6 @@ package main import ( "encoding/json" - "fmt" "net/http" "os" "path/filepath" @@ -114,7 +113,7 @@ func getSettings() RecorderSettings { func loadSettings() { p := settingsFilePath() b, err := os.ReadFile(p) - fmt.Println("🔧 settingsFile:", p) + appLogln("🔧 settingsFile:", p) if err == nil { s := getSettings() // ✅ startet mit Defaults if json.Unmarshal(b, &s) == nil { @@ -200,10 +199,10 @@ func loadSettings() { // ffmpeg-Pfad anhand Settings/Env/PATH bestimmen ffmpegPath = detectFFmpegPath() - fmt.Println("🔍 ffmpegPath:", ffmpegPath) + appLogln("🔍 ffmpegPath:", ffmpegPath) ffprobePath = detectFFprobePath() - fmt.Println("🔍 ffprobePath:", ffprobePath) + appLogln("🔍 ffprobePath:", ffprobePath) } @@ -212,18 +211,18 @@ func saveSettingsToDisk() { b, err := json.MarshalIndent(s, "", " ") if err != nil { - fmt.Println("⚠️ settings marshal:", err) + appLogln("⚠️ settings marshal:", err) return } b = append(b, '\n') p := settingsFilePath() if err := atomicWriteFile(p, b); err != nil { - fmt.Println("⚠️ settings write:", err) + appLogln("⚠️ settings write:", err) return } // optional - // fmt.Println("✅ settings saved:", p) + // appLogln("✅ settings saved:", p) } type RecorderSettingsPublic struct { @@ -505,10 +504,10 @@ func recordSettingsHandler(w http.ResponseWriter, r *http.Request) { } else { ffmpegPath = detectFFmpegPath() } - //fmt.Println("🔍 ffmpegPath:", ffmpegPath) + //appLogln("🔍 ffmpegPath:", ffmpegPath) ffprobePath = detectFFprobePath() - //fmt.Println("🔍 ffprobePath:", ffprobePath) + //appLogln("🔍 ffprobePath:", ffprobePath) w.Header().Set("Content-Type", "application/json") w.Header().Set("Cache-Control", "no-store") diff --git a/backend/split.go b/backend/split.go index 4f0912e..323f278 100644 --- a/backend/split.go +++ b/backend/split.go @@ -378,10 +378,10 @@ type normalizedSegment struct { func normalizeSegments(raw []splitVideoSegmentIn, duration float64) ([]normalizedSegment, error) { if duration <= 0 { - return nil, fmt.Errorf("duration <= 0") + return nil, appErrorf("duration <= 0") } if len(raw) == 0 { - return nil, fmt.Errorf("keine segmente übergeben") + return nil, appErrorf("keine segmente übergeben") } out := make([]normalizedSegment, 0, len(raw)) @@ -415,7 +415,7 @@ func normalizeSegments(raw []splitVideoSegmentIn, duration float64) ([]normalize } if len(out) == 0 { - return nil, fmt.Errorf("keine gültigen segmente übrig") + return nil, appErrorf("keine gültigen segmente übrig") } sort.Slice(out, func(i, j int) bool { @@ -445,7 +445,7 @@ func normalizeSegments(raw []splitVideoSegmentIn, duration float64) ([]normalize } if len(dedup) == 0 { - return nil, fmt.Errorf("keine eindeutigen segmente übrig") + return nil, appErrorf("keine eindeutigen segmente übrig") } return dedup, nil @@ -474,7 +474,7 @@ func uniqueSplitOutPath(dir, fileName string) string { func normalizeSplitPoints(raw []float64, duration float64) ([]float64, error) { if duration <= 0 { - return nil, fmt.Errorf("duration <= 0") + return nil, appErrorf("duration <= 0") } out := make([]float64, 0, len(raw)) @@ -489,7 +489,7 @@ func normalizeSplitPoints(raw []float64, duration float64) ([]float64, error) { } if len(out) == 0 { - return nil, fmt.Errorf("alle split-punkte liegen außerhalb der videodauer") + return nil, appErrorf("alle split-punkte liegen außerhalb der videodauer") } sort.Float64s(out) @@ -502,7 +502,7 @@ func normalizeSplitPoints(raw []float64, duration float64) ([]float64, error) { } if len(dedup) == 0 { - return nil, fmt.Errorf("keine eindeutigen split-punkte übrig") + return nil, appErrorf("keine eindeutigen split-punkte übrig") } return dedup, nil @@ -555,13 +555,13 @@ func splitSingleSegment( onProgress func(ratio float64), ) error { if strings.TrimSpace(srcPath) == "" { - return fmt.Errorf("srcPath leer") + return appErrorf("srcPath leer") } if strings.TrimSpace(outPath) == "" { - return fmt.Errorf("outPath leer") + return appErrorf("outPath leer") } if durSec <= 0 { - return fmt.Errorf("dauer <= 0") + return appErrorf("dauer <= 0") } ext := strings.ToLower(filepath.Ext(outPath)) @@ -682,12 +682,12 @@ func splitSingleSegment( _ = os.Remove(tmpPath) if ctx.Err() != nil { - return fmt.Errorf("ffmpeg timeout nach %s: %w", timeout, ctx.Err()) + return appErrorf("ffmpeg timeout nach %s: %w", timeout, ctx.Err()) } msg := strings.TrimSpace(stderr.String()) if msg != "" { - return fmt.Errorf("%w (%s)", err, msg) + return appErrorf("%w (%s)", err, msg) } return err } @@ -695,12 +695,12 @@ func splitSingleSegment( fi, err := os.Stat(tmpPath) if err != nil || fi == nil || fi.IsDir() || fi.Size() <= 0 { _ = os.Remove(tmpPath) - return fmt.Errorf("ffmpeg hat keine gültige datei erzeugt") + return appErrorf("ffmpeg hat keine gültige datei erzeugt") } if err := os.Rename(tmpPath, outPath); err != nil { _ = os.Remove(tmpPath) - return fmt.Errorf("rename fehlgeschlagen: %w", err) + return appErrorf("rename fehlgeschlagen: %w", err) } if onProgress != nil { diff --git a/backend/sse.go b/backend/sse.go index 4b67b62..5549b46 100644 --- a/backend/sse.go +++ b/backend/sse.go @@ -117,7 +117,7 @@ func publishAnalysisProgress(ev analysisProgressEvent) { publishSSE("analysisProgress", b) } -func publishAnalysisStarted(total int, message string) int64 { +func publishAnalysisStarted(file string, total int, message string) int64 { startedAtMs := time.Now().UnixMilli() publishAnalysisProgress(analysisProgressEvent{ @@ -126,6 +126,7 @@ func publishAnalysisStarted(total int, message string) int64 { Progress: 0, Current: 0, Total: total, + File: strings.TrimSpace(file), Message: message, StartedAtMs: startedAtMs, }) @@ -145,13 +146,13 @@ func publishAnalysisStep(startedAtMs int64, current int, total int, file string, Progress: progress, Current: current, Total: total, - File: file, + File: strings.TrimSpace(file), Message: message, StartedAtMs: startedAtMs, }) } -func publishAnalysisFinished(startedAtMs int64, total int, message string) { +func publishAnalysisFinished(startedAtMs int64, total int, file string, message string) { finishedAtMs := time.Now().UnixMilli() durationMs := finishedAtMs - startedAtMs if durationMs < 0 { @@ -164,6 +165,7 @@ func publishAnalysisFinished(startedAtMs int64, total int, message string) { Progress: 1, Current: total, Total: total, + File: strings.TrimSpace(file), Message: message, StartedAtMs: startedAtMs, FinishedAtMs: finishedAtMs, @@ -171,7 +173,7 @@ func publishAnalysisFinished(startedAtMs int64, total int, message string) { }) } -func publishAnalysisError(startedAtMs int64, message string, err error) { +func publishAnalysisError(startedAtMs int64, file string, message string, err error) { finishedAtMs := time.Now().UnixMilli() durationMs := finishedAtMs - startedAtMs if durationMs < 0 { @@ -187,6 +189,7 @@ func publishAnalysisError(startedAtMs int64, message string, err error) { Running: false, Phase: "error", Progress: 0, + File: strings.TrimSpace(file), Message: message, Error: errText, StartedAtMs: startedAtMs, diff --git a/backend/tasks_assets.go b/backend/tasks_assets.go index ba88410..c83adea 100644 --- a/backend/tasks_assets.go +++ b/backend/tasks_assets.go @@ -5,7 +5,6 @@ import ( "context" "encoding/json" "errors" - "fmt" "net/http" "os" "path/filepath" @@ -462,9 +461,10 @@ func assetsTaskTruthForVideo(id string, videoPath string) finishedPhaseTruth { truth.TeaserReady = fileExistsNonEmpty(previewPath) truth.SpritesReady = fileExistsNonEmpty(spritePath) - // Analyse bleibt inhaltlich/meta-basiert + // Analyse gilt als fertig, wenn alle Standard-Ziele gespeichert sind. + // Auch "keine Treffer" zählt als fertig. if strings.TrimSpace(videoPath) != "" { - truth.AnalyzeReady = hasAIResultsForOutput(videoPath) + truth.AnalyzeReady = hasAIAnalysisForAllOutputGoals(videoPath, requiredAnalyzeGoals()) } return truth @@ -551,7 +551,13 @@ func runGenerateMissingAssetsJob(jobID string, ctx context.Context) { doneAbs, err := resolvePathRelativeToApp(settings.DoneDir) if err != nil || strings.TrimSpace(doneAbs) == "" { - finishWithErr(fmt.Errorf("doneDir auflösung fehlgeschlagen: %v", err)) + if err == nil { + err = appErrorf("doneDir auflösung fehlgeschlagen: doneDir ist leer") + } else { + err = appErrorf("doneDir auflösung fehlgeschlagen: %w", err) + } + + finishWithErr(err) return } @@ -759,7 +765,7 @@ func runGenerateMissingAssetsJob(jobID string, ctx context.Context) { }) finishFileControl() - fmt.Println("⚠️ assetPathsForID:", perr) + appLogln("⚠️ assetPathsForID:", perr) continue } diff --git a/backend/tasks_check_video.go b/backend/tasks_check_video.go index 8af6cba..beb71e9 100644 --- a/backend/tasks_check_video.go +++ b/backend/tasks_check_video.go @@ -243,7 +243,7 @@ func finishCheckVideosTask(jobID string, err error) { func runCheckVideosTask(jobID string, ctx context.Context) { if err := acquireExclusiveTask(ctx); err != nil { if errors.Is(err, context.Canceled) || errors.Is(err, context.DeadlineExceeded) { - finishCheckVideosTask(jobID, fmt.Errorf("abgebrochen")) + finishCheckVideosTask(jobID, appErrorf("abgebrochen")) } else { finishCheckVideosTask(jobID, err) } @@ -271,7 +271,7 @@ func runCheckVideosTask(jobID string, ctx context.Context) { for i, file := range files { select { case <-ctx.Done(): - finishCheckVideosTask(jobID, fmt.Errorf("abgebrochen")) + finishCheckVideosTask(jobID, appErrorf("abgebrochen")) return default: } @@ -369,7 +369,7 @@ func analyzeImageBoundsBlackness(img image.Image, bounds image.Rectangle) (avgLu w := b.Dx() h := b.Dy() if w <= 0 || h <= 0 { - return 0, 0, fmt.Errorf("invalid image bounds") + return 0, 0, appErrorf("invalid image bounds") } totalPixels := w * h @@ -403,7 +403,7 @@ func analyzeImageBoundsBlackness(img image.Image, bounds image.Rectangle) (avgLu } if count == 0 { - return 0, 0, fmt.Errorf("no sampled pixels") + return 0, 0, appErrorf("no sampled pixels") } avgLuma = sumLuma / float64(count) @@ -421,10 +421,10 @@ func analyzeJPGBlackness(jpg []byte) (avgLuma float64, blackRatio float64, err e func spriteCellBounds(img image.Image, cols, rows, index int) (image.Rectangle, error) { if cols <= 0 || rows <= 0 { - return image.Rectangle{}, fmt.Errorf("invalid sprite layout") + return image.Rectangle{}, appErrorf("invalid sprite layout") } if index < 0 || index >= cols*rows { - return image.Rectangle{}, fmt.Errorf("sprite index out of range") + return image.Rectangle{}, appErrorf("sprite index out of range") } b := img.Bounds() @@ -438,7 +438,7 @@ func spriteCellBounds(img image.Image, cols, rows, index int) (image.Rectangle, rect := image.Rect(x0, y0, x1, y1) if rect.Dx() <= 0 || rect.Dy() <= 0 { - return image.Rectangle{}, fmt.Errorf("invalid sprite cell bounds") + return image.Rectangle{}, appErrorf("invalid sprite cell bounds") } return rect, nil @@ -519,7 +519,7 @@ func uniqueTailTimes(times []float64, dur float64) []float64 { func inspectVideoTailBlackout(videoPath string) (*tailBlackoutResult, error) { assetID := assetIDFromVideoPath(videoPath) if assetID == "" { - return nil, fmt.Errorf("asset id fehlt") + return nil, appErrorf("asset id fehlt") } _, _, _, spritePath, metaPath, err := assetPathsForID(assetID) @@ -529,13 +529,13 @@ func inspectVideoTailBlackout(videoPath string) (*tailBlackoutResult, error) { f, err := os.Open(spritePath) if err != nil { - return nil, fmt.Errorf("sprite open failed: %w", err) + return nil, appErrorf("sprite open failed: %w", err) } defer f.Close() img, err := jpeg.Decode(f) if err != nil { - return nil, fmt.Errorf("sprite decode failed: %w", err) + return nil, appErrorf("sprite decode failed: %w", err) } cols, rows, count, _, _ := fixedPreviewSpriteLayout() @@ -558,7 +558,7 @@ func inspectVideoTailBlackout(videoPath string) (*tailBlackoutResult, error) { maxCells := cols * rows if maxCells <= 0 { - return nil, fmt.Errorf("invalid sprite layout") + return nil, appErrorf("invalid sprite layout") } if count <= 0 { count = maxCells @@ -567,7 +567,7 @@ func inspectVideoTailBlackout(videoPath string) (*tailBlackoutResult, error) { count = maxCells } if count < 2 { - return nil, fmt.Errorf("sprite enthält zu wenige frames") + return nil, appErrorf("sprite enthält zu wenige frames") } res := &tailBlackoutResult{ @@ -641,7 +641,7 @@ func persistTailBlackoutResult(videoPath string, res *tailBlackoutResult) error assetID := assetIDFromVideoPath(videoPath) if assetID == "" { - return fmt.Errorf("asset id fehlt") + return appErrorf("asset id fehlt") } _, _, _, _, metaPath, err := assetPathsForID(assetID) diff --git a/backend/tasks_cleanup.go b/backend/tasks_cleanup.go index 94bc8d8..513c286 100644 --- a/backend/tasks_cleanup.go +++ b/backend/tasks_cleanup.go @@ -493,7 +493,7 @@ func removeDirIfEmpty(dir string) (bool, error) { func triggerGeneratedGarbageCollectorSync() generatedGCStats { // nur 1 GC gleichzeitig if !atomic.CompareAndSwapInt32(&generatedGCRunning, 0, 1) { - fmt.Println("🧹 [gc] skip: already running") + appLogln("🧹 [gc] skip: already running") return generatedGCStats{} } defer atomic.StoreInt32(&generatedGCRunning, 0) @@ -580,7 +580,7 @@ func runGeneratedGarbageCollector() generatedGCStats { doneAbs, err := resolvePathRelativeToApp(s.DoneDir) if err != nil { - fmt.Println("🧹 [gc] resolve doneDir failed:", err) + appLogln("🧹 [gc] resolve doneDir failed:", err) return stats } doneAbs = strings.TrimSpace(doneAbs) diff --git a/backend/tasks_regenerate_assets.go b/backend/tasks_regenerate_assets.go index 0f2d7c2..d17362f 100644 --- a/backend/tasks_regenerate_assets.go +++ b/backend/tasks_regenerate_assets.go @@ -85,9 +85,13 @@ type regeneratePhaseTruth struct { AnalyzeReady bool } -func regeneratePhaseTruthForVideo(videoPath string, assetID string) regeneratePhaseTruth { +func regeneratePhaseTruthForVideo(videoPath string, assetID string, goal string) regeneratePhaseTruth { videoPath = strings.TrimSpace(videoPath) assetID = strings.TrimSpace(assetID) + goal = strings.ToLower(strings.TrimSpace(goal)) + if goal == "" { + goal = "nsfw" + } if assetID == "" && videoPath != "" { assetID = assetIDFromVideoPath(videoPath) @@ -120,15 +124,15 @@ func regeneratePhaseTruthForVideo(videoPath string, assetID string) regeneratePh } } - // KI nur dann fertig, wenn Sprite existiert UND AI in meta.json vorhanden ist - out.AnalyzeReady = out.SpritesReady && hasAIResultsForOutput(videoPath) + // KI nur dann fertig, wenn Sprite existiert UND passende AI in meta.json vorhanden ist + out.AnalyzeReady = out.SpritesReady && hasAIAnalysisForOutputGoal(videoPath, goal) } return out } func firstMissingPrimaryRegeneratePhaseError(videoPath string, assetID string) error { - truth := regeneratePhaseTruthForVideo(videoPath, assetID) + truth := regeneratePhaseTruthForVideo(videoPath, assetID, "nsfw") if !truth.MetaReady { return errors.New("meta.json fehlt oder ist noch unvollständig") @@ -143,7 +147,7 @@ func firstMissingPrimaryRegeneratePhaseError(videoPath string, assetID string) e } func firstMissingDeferredRegeneratePhaseError(videoPath string, assetID string) error { - truth := regeneratePhaseTruthForVideo(videoPath, assetID) + truth := regeneratePhaseTruthForVideo(videoPath, assetID, "nsfw") if !truth.SpritesReady { return errors.New("preview-sprite.jpg fehlt oder ist leer") @@ -329,6 +333,8 @@ func runRegenerateAssetsJob(job *regenerateAssetsJob) { videoPath := job.VideoPath id := job.AssetID ctx := job.Ctx + requiredGoals := requiredAnalyzeGoals() + primaryGoal := "nsfw" setRegenerateAssetsTaskRunning(file, file) cancelDeferredEnrichForFile(file) @@ -390,7 +396,7 @@ func runRegenerateAssetsJob(job *regenerateAssetsJob) { return } - if !regeneratePhaseTruthForVideo(videoPath, id).MetaReady { + if !regeneratePhaseTruthForVideo(videoPath, id, primaryGoal).MetaReady { failJob("postwork", "meta", "meta.json fehlt oder ist noch unvollständig") return } @@ -409,7 +415,7 @@ func runRegenerateAssetsJob(job *regenerateAssetsJob) { return } - if !regeneratePhaseTruthForVideo(videoPath, id).ThumbReady { + if !regeneratePhaseTruthForVideo(videoPath, id, primaryGoal).ThumbReady { failJob("postwork", "thumb", "preview.jpg fehlt oder ist leer") return } @@ -428,7 +434,7 @@ func runRegenerateAssetsJob(job *regenerateAssetsJob) { return } - if !regeneratePhaseTruthForVideo(videoPath, id).TeaserReady { + if !regeneratePhaseTruthForVideo(videoPath, id, primaryGoal).TeaserReady { failJob("postwork", "teaser", "preview.mp4 fehlt oder ist leer") return } @@ -447,7 +453,7 @@ func runRegenerateAssetsJob(job *regenerateAssetsJob) { return } - if !regeneratePhaseTruthForVideo(videoPath, id).SpritesReady { + if !regeneratePhaseTruthForVideo(videoPath, id, primaryGoal).SpritesReady { failJob("postwork", "sprites", "preview-sprite.jpg fehlt oder ist leer") return } @@ -457,7 +463,7 @@ func runRegenerateAssetsJob(job *regenerateAssetsJob) { // 5) Analyse publishFinishedPostworkPhase(file, id, "enrich", "analyze", "running", "Analyse", "") - if _, err := ensureAnalyzeForVideoCtx(ctx, videoPath, "", "nsfw"); err != nil { + if _, err := ensureAnalyzeAllGoalsForVideoCtxForce(ctx, videoPath, "", true); err != nil { if errors.Is(err, context.Canceled) || ctx.Err() == context.Canceled { cancelJob() return @@ -466,7 +472,15 @@ func runRegenerateAssetsJob(job *regenerateAssetsJob) { return } - if !regeneratePhaseTruthForVideo(videoPath, id).AnalyzeReady { + allAnalyzeReady := true + for _, goal := range requiredGoals { + if !hasAIAnalysisForOutputGoal(videoPath, goal) { + allAnalyzeReady = false + break + } + } + + if !allAnalyzeReady { failJob("enrich", "analyze", "Analyse fehlt oder wurde nicht in meta.json gespeichert") return } diff --git a/backend/tasks_status.go b/backend/tasks_status.go index 39c3cc8..e4fc307 100644 --- a/backend/tasks_status.go +++ b/backend/tasks_status.go @@ -47,12 +47,26 @@ type RegenerateAssetsTaskState struct { Error string `json:"error,omitempty"` } +type GenerateAssetsLiveStatus struct { + Running bool `json:"running"` + Queued bool `json:"queued"` + CurrentFile string `json:"currentFile,omitempty"` + CurrentQueue string `json:"currentQueue,omitempty"` + CurrentPhase string `json:"currentPhase,omitempty"` + CurrentLabel string `json:"currentLabel,omitempty"` + Progress float64 `json:"progress,omitempty"` + Current int `json:"current,omitempty"` + Total int `json:"total,omitempty"` + TS int64 `json:"ts,omitempty"` +} + type TasksStatusResponse struct { - GenerateAssetsJobs []AssetsTaskState `json:"generateAssetsJobs"` - RegenerateAssetsJobs []map[string]any `json:"regenerateAssetsJobs"` - CheckVideosJobs []CheckVideosTaskState `json:"checkVideosJobs"` - CleanupJobs []CleanupTaskState `json:"cleanupJobs"` - AnyRunning bool `json:"anyRunning"` + GenerateAssets GenerateAssetsLiveStatus `json:"generateAssets"` + GenerateAssetsJobs []AssetsTaskState `json:"generateAssetsJobs"` + RegenerateAssetsJobs []map[string]any `json:"regenerateAssetsJobs"` + CheckVideosJobs []CheckVideosTaskState `json:"checkVideosJobs"` + CleanupJobs []CleanupTaskState `json:"cleanupJobs"` + AnyRunning bool `json:"anyRunning"` } var ( @@ -86,6 +100,268 @@ func anyToString(v any) string { } } +func anyToBool(v any) bool { + switch x := v.(type) { + case bool: + return x + case string: + s := strings.TrimSpace(strings.ToLower(x)) + return s == "1" || s == "true" || s == "yes" || s == "running" || s == "queued" + default: + return false + } +} + +func anyToInt(v any) int { + switch x := v.(type) { + case int: + return x + case int64: + return int(x) + case float64: + return int(x) + case json.Number: + n, _ := x.Int64() + return int(n) + default: + return 0 + } +} + +func anyToFloat64(v any) float64 { + switch x := v.(type) { + case float64: + return x + case float32: + return float64(x) + case int: + return float64(x) + case int64: + return float64(x) + case json.Number: + n, _ := x.Float64() + return n + default: + return 0 + } +} + +func anyToMap(v any) map[string]any { + if m, ok := v.(map[string]any); ok { + return m + } + + b, err := json.Marshal(v) + if err != nil { + return nil + } + + var out map[string]any + if err := json.Unmarshal(b, &out); err != nil { + return nil + } + + return out +} + +func taskFirstString(m map[string]any, keys ...string) string { + for _, key := range keys { + if s := strings.TrimSpace(anyToString(m[key])); s != "" { + return s + } + } + return "" +} + +func firstFloat(m map[string]any, keys ...string) float64 { + for _, key := range keys { + if v, ok := m[key]; ok { + f := anyToFloat64(v) + if f != 0 { + return f + } + } + } + return 0 +} + +func normalizeTaskProgress(v float64) float64 { + if v > 1 && v <= 100 { + v = v / 100 + } + if v < 0 { + return 0 + } + if v > 1 { + return 1 + } + return v +} + +func taskStepLabel(queue, phase string) string { + queue = strings.TrimSpace(strings.ToLower(queue)) + phase = strings.TrimSpace(strings.ToLower(phase)) + + switch queue + ":" + phase { + case "postwork:meta": + return "Meta" + case "postwork:thumb": + return "Vorschaubild" + case "postwork:teaser", "postwork:assets": + return "Teaser" + case "postwork:sprites": + return "Sprites" + case "enrich:analyze", "enrich:assets", "enrich:": + return "Analyse" + default: + if queue == "enrich" { + return "Analyse" + } + if phase != "" { + return phase + } + return "Meta" + } +} + +func taskLabelWithProgress(queue, phase, label string, progress float64) string { + queue = strings.TrimSpace(strings.ToLower(queue)) + phase = strings.TrimSpace(strings.ToLower(phase)) + label = strings.TrimSpace(label) + progress = normalizeTaskProgress(progress) + + isAnalyze := queue == "enrich" && (phase == "" || phase == "analyze" || phase == "assets") + + if isAnalyze && progress > 0 { + return fmt.Sprintf("Analyse %d%%", int(progress*100+0.5)) + } + + if label != "" { + return label + } + + return taskStepLabel(queue, phase) +} + +func liveStatusFromJobMap(m map[string]any) GenerateAssetsLiveStatus { + if m == nil { + return GenerateAssetsLiveStatus{} + } + + state := strings.TrimSpace(strings.ToLower(taskFirstString(m, "state", "status"))) + running := anyToBool(m["running"]) || state == "running" + queued := anyToBool(m["queued"]) || state == "queued" + + if !running && !queued { + return GenerateAssetsLiveStatus{} + } + + file := taskFirstString(m, "currentFile", "file") + queue := strings.TrimSpace(strings.ToLower(taskFirstString(m, "currentQueue", "queue"))) + phase := strings.TrimSpace(strings.ToLower(taskFirstString(m, "currentPhase", "phase"))) + label := taskFirstString(m, "currentLabel", "label", "text", "message") + + current := anyToInt(m["current"]) + total := anyToInt(m["total"]) + + progress := firstFloat(m, "progress", "overallProgress", "overall") + progress = normalizeTaskProgress(progress) + + if progress == 0 && total > 0 && current > 0 { + progress = normalizeTaskProgress(float64(current) / float64(total)) + } + + if queue == "" { + queue = "postwork" + } + if queue == "enrich" && (phase == "" || phase == "assets") { + phase = "analyze" + } + + return GenerateAssetsLiveStatus{ + Running: running, + Queued: queued, + CurrentFile: file, + CurrentQueue: queue, + CurrentPhase: phase, + CurrentLabel: taskLabelWithProgress(queue, phase, label, progress), + Progress: progress, + Current: current, + Total: total, + TS: time.Now().UnixMilli(), + } +} + +func liveStatusFromRegenerateJob(job map[string]any) GenerateAssetsLiveStatus { + if job == nil { + return GenerateAssetsLiveStatus{} + } + + file := taskFirstString(job, "currentFile", "file") + assetID := taskFirstString(job, "assetId") + + rawPhases, _ := job["phases"].([]any) + + for _, raw := range rawPhases { + p := anyToMap(raw) + if p == nil { + continue + } + + state := strings.TrimSpace(strings.ToLower(taskFirstString(p, "state", "status"))) + if state != "running" && state != "queued" { + continue + } + + if file != "" { + p["file"] = file + } + if assetID != "" { + p["assetId"] = assetID + } + + return liveStatusFromJobMap(p) + } + + return liveStatusFromJobMap(job) +} + +func buildGenerateAssetsLiveStatus( + assetsJobs []AssetsTaskState, + regenerateJobs []map[string]any, +) GenerateAssetsLiveStatus { + // Running gewinnt vor queued. + for _, st := range assetsJobs { + status := liveStatusFromJobMap(anyToMap(st)) + if status.Running { + return status + } + } + + for _, job := range regenerateJobs { + status := liveStatusFromRegenerateJob(job) + if status.Running { + return status + } + } + + for _, st := range assetsJobs { + status := liveStatusFromJobMap(anyToMap(st)) + if status.Queued { + return status + } + } + + for _, job := range regenerateJobs { + status := liveStatusFromRegenerateJob(job) + if status.Queued { + return status + } + } + + return GenerateAssetsLiveStatus{} +} + func snapshotRegenerateAssetsTaskState() RegenerateAssetsTaskState { regenerateAssetsTaskMu.Lock() st := regenerateAssetsTaskState @@ -261,6 +537,7 @@ func tasksStatusHandler(w http.ResponseWriter, r *http.Request) { regenerateJobs := getRegenerateAssetsJobsSnapshot() checkVideosJobs := snapshotCheckVideosJobs() cleanupJobs := snapshotCleanupJobs() + generateAssets := buildGenerateAssetsLiveStatus(assetsJobs, regenerateJobs) anyRunning := false @@ -302,6 +579,7 @@ func tasksStatusHandler(w http.ResponseWriter, r *http.Request) { } resp := TasksStatusResponse{ + GenerateAssets: generateAssets, GenerateAssetsJobs: assetsJobs, RegenerateAssetsJobs: regenerateJobs, CheckVideosJobs: checkVideosJobs, diff --git a/backend/teaser.go b/backend/teaser.go index 95026cd..01cec9e 100644 --- a/backend/teaser.go +++ b/backend/teaser.go @@ -159,7 +159,7 @@ func generateTeaserChunkMP4( cmd.Stderr = &stderr if err := cmd.Run(); err != nil { _ = os.Remove(tmp) - return fmt.Errorf("ffmpeg teaser chunk failed: %v (%s)", err, strings.TrimSpace(stderr.String())) + return appErrorf("ffmpeg teaser chunk failed: %v (%s)", err, strings.TrimSpace(stderr.String())) } _ = os.Remove(out) return os.Rename(tmp, out) @@ -377,7 +377,7 @@ func generateTeaserPreviewMP4WithProgress( if err := cmd.Wait(); err != nil { _ = os.Remove(tmp) - return fmt.Errorf("ffmpeg teaser preview failed: %v (%s)", err, strings.TrimSpace(stderr.String())) + return appErrorf("ffmpeg teaser preview failed: %v (%s)", err, strings.TrimSpace(stderr.String())) } _ = os.Remove(outPath) @@ -461,7 +461,7 @@ func generateTeaserMP4(ctx context.Context, srcPath, outPath string, startSec, d if out, err := cmd.CombinedOutput(); err != nil { _ = os.Remove(tmp) - return fmt.Errorf("ffmpeg teaser failed: %v (%s)", err, strings.TrimSpace(string(out))) + return appErrorf("ffmpeg teaser failed: %v (%s)", err, strings.TrimSpace(string(out))) } _ = os.Remove(outPath) diff --git a/backend/training.go b/backend/training.go index a7a75b4..0a4b76e 100644 --- a/backend/training.go +++ b/backend/training.go @@ -4,6 +4,7 @@ package main import ( "bufio" + "context" "crypto/sha1" "encoding/hex" "encoding/json" @@ -394,19 +395,19 @@ func trainingNextHandler(w http.ResponseWriter, r *http.Request) { var startedAtMs int64 if refreshPrediction { - startedAtMs = publishAnalysisStarted(2, "Aktuelles Bild wird neu analysiert…") + startedAtMs = publishAnalysisStarted("", 2, "Aktuelles Bild wird neu analysiert…") } if sample, ok, err := trainingLatestOpenSample(root, refreshPrediction, startedAtMs); err != nil { if refreshPrediction { - publishAnalysisError(startedAtMs, "Aktuelles Bild konnte nicht neu analysiert werden.", err) + publishAnalysisError(startedAtMs, "", "Aktuelles Bild konnte nicht neu analysiert werden.", err) } trainingWriteError(w, http.StatusInternalServerError, err.Error()) return } else if ok { if refreshPrediction { - publishAnalysisFinished(startedAtMs, 2, "Analyse abgeschlossen.") + publishAnalysisFinished(startedAtMs, 2, sample.SourceFile, "Analyse abgeschlossen.") } trainingWriteJSON(w, http.StatusOK, sample) @@ -414,16 +415,16 @@ func trainingNextHandler(w http.ResponseWriter, r *http.Request) { } } - startedAtMs := publishAnalysisStarted(4, "Neues Trainingsbild wird vorbereitet…") + startedAtMs := publishAnalysisStarted("", 4, "Neues Trainingsbild wird vorbereitet…") sample, err := trainingCreateNextSampleWithProgress(startedAtMs) if err != nil { - publishAnalysisError(startedAtMs, "Trainingsbild konnte nicht erstellt werden.", err) + publishAnalysisError(startedAtMs, "", "Trainingsbild konnte nicht erstellt werden.", err) trainingWriteError(w, http.StatusInternalServerError, err.Error()) return } - publishAnalysisFinished(startedAtMs, 4, "Analyse abgeschlossen.") + publishAnalysisFinished(startedAtMs, 4, sample.SourceFile, "Analyse abgeschlossen.") trainingWriteJSON(w, http.StatusOK, sample) } @@ -494,6 +495,35 @@ func trainingLatestOpenSample(root string, refreshPrediction bool, startedAtMs i continue } + if refreshPrediction { + sourceFile := strings.TrimSpace(sample.SourceFile) + if sourceFile == "" { + sourceFile = filepath.Base(sample.SourcePath) + } + + publishAnalysisStep( + startedAtMs, + 1, + 2, + sourceFile, + "Aktuelles Bild wird analysiert…", + ) + + sample.Prediction = trainingPredictFrame(framePath) + + publishAnalysisStep( + startedAtMs, + 2, + 2, + sourceFile, + "Analyse-Ergebnis wird gespeichert…", + ) + + if err := trainingWriteSample(root, sample); err != nil { + return nil, false, err + } + } + return sample, true, nil } @@ -627,7 +657,7 @@ func trainingFeedbackHandler(w http.ResponseWriter, r *http.Request) { if len(detectorBoxes) > 0 { if err := trainingWriteDetectorSample(root, sample, detectorBoxes); err != nil { - fmt.Println("⚠️ detector sample write failed:", err) + appLogln("⚠️ detector sample write failed:", err) } } @@ -703,7 +733,7 @@ func trainingTrainHandler(w http.ResponseWriter, r *http.Request) { // ein Validation-Sample durch Kopieren. Bei mehr Daten solltest du später // einen echten 80/20 Split verwenden. if err := trainingEnsureDetectorValidationSample(root); err != nil { - fmt.Println("⚠️ detector val sample ensure failed:", err) + appLogln("⚠️ detector val sample ensure failed:", err) } feedbackPath := filepath.Join(root, "feedback.jsonl") @@ -799,15 +829,15 @@ func trainingRunJob(root string, count int) { if sceneErr != nil { sceneStatus = "failed" - fmt.Println("⚠️ scene position training failed:", sceneErr) + appLogln("⚠️ scene position training failed:", sceneErr) if sceneOutputClean != "" { - fmt.Println("⚠️ scene position output:", sceneOutputClean) + appLogln("⚠️ scene position output:", sceneOutputClean) } } else { sceneStatus = "trained" if sceneOutputClean != "" { - fmt.Println("✅ scene position training:", sceneOutputClean) + appLogln("✅ scene position training:", sceneOutputClean) } } @@ -826,7 +856,7 @@ func trainingRunJob(root string, count int) { detectorValLabels := filepath.Join(root, "detector", "dataset", "labels", "val") if err := trainingEnsureDetectorValidationSample(root); err != nil { - fmt.Println("⚠️ detector val sample ensure failed:", err) + appLogln("⚠️ detector val sample ensure failed:", err) } trainCount := trainingCountDetectorSamples(detectorTrainImages, detectorTrainLabels) @@ -860,7 +890,7 @@ func trainingRunJob(root string, count int) { ) }, "--root", root, - "--base", "yolo11n.pt", + "--base", "yolo26n.pt", "--epochs", strconv.Itoa(trainingDetectorEpochs()), "--imgsz", "640", ) @@ -871,15 +901,15 @@ func trainingRunJob(root string, count int) { if detectorErr != nil { detectorStatus = "failed" - fmt.Println("⚠️ detector training failed:", detectorErr) + appLogln("⚠️ detector training failed:", detectorErr) if detectorOutputClean != "" { - fmt.Println("⚠️ detector output:", detectorOutputClean) + appLogln("⚠️ detector output:", detectorOutputClean) } } else { detectorStatus = "trained" if detectorOutputClean != "" { - fmt.Println("✅ detector training:", detectorOutputClean) + appLogln("✅ detector training:", detectorOutputClean) } } } else { @@ -892,7 +922,7 @@ func trainingRunJob(root string, count int) { minDetectorValCount, ) - fmt.Println("⚠️", detectorOutput) + appLogln("⚠️", detectorOutput) } detectorOutputClean := cleanOutput(detectorOutput) @@ -998,7 +1028,7 @@ func trainingStatusHandler(w http.ResponseWriter, r *http.Request) { } if err := trainingEnsureDetectorValidationSample(root); err != nil { - fmt.Println("⚠️ detector val sample ensure failed:", err) + appLogln("⚠️ detector val sample ensure failed:", err) } } @@ -1735,7 +1765,7 @@ func trainingCreateNextSample() (*TrainingSample, error) { framePath = filepath.Join(root, "frames", id+".jpg") if err2 := trainingExtractFrame(videoPath, framePath, second); err2 != nil { - return nil, fmt.Errorf("frame extraction failed: %v / fallback: %w", err, err2) + return nil, appErrorf("frame extraction failed: %v / fallback: %w", err, err2) } } @@ -1809,7 +1839,7 @@ func trainingCreateNextSampleWithProgress(startedAtMs int64) (*TrainingSample, e framePath = filepath.Join(root, "frames", id+".jpg") if err2 := trainingExtractFrame(videoPath, framePath, second); err2 != nil { - return nil, fmt.Errorf("frame extraction failed: %v / fallback: %w", err, err2) + return nil, appErrorf("frame extraction failed: %v / fallback: %w", err, err2) } } @@ -1914,7 +1944,7 @@ func trainingExtractFrame(videoPath string, framePath string, second float64) er out, err := cmd.CombinedOutput() if err != nil { - return fmt.Errorf("%w: %s", err, strings.TrimSpace(string(out))) + return appErrorf("%w: %s", err, strings.TrimSpace(string(out))) } if st, err := os.Stat(framePath); err != nil || st.Size() == 0 { @@ -1932,7 +1962,7 @@ func trainingPredictFrame(framePath string) TrainingPrediction { root, err := trainingRootDir() if err != nil { - fmt.Println("⚠️ training predict root error:", err) + appLogln("⚠️ training predict root error:", err) return trainingEmptyPrediction("root_error") } @@ -1947,6 +1977,172 @@ func trainingPredictFrame(framePath string) TrainingPrediction { return pred } +func trainingPredictFrameDetectorOnly(framePath string) TrainingPrediction { + settings := getSettings() + if !settings.TrainingRecognitionEnabled { + return trainingEmptyPrediction("recognition_disabled") + } + + root, err := trainingRootDir() + if err != nil { + appLogln("⚠️ training predict root error:", err) + return trainingEmptyPrediction("root_error") + } + + det := trainingPredictDetector(root, framePath) + return trainingPredictionFromDetector(det) +} + +type TrainingSpriteBatchCandidate struct { + Index int `json:"index"` + Time float64 `json:"time"` +} + +type TrainingSpriteBatchRequest struct { + SpritePath string `json:"spritePath"` + Cols int `json:"cols"` + Rows int `json:"rows"` + Count int `json:"count"` + Candidates []TrainingSpriteBatchCandidate `json:"candidates"` +} + +type TrainingSpriteBatchResult struct { + Index int `json:"index"` + Time float64 `json:"time"` + Prediction TrainingPrediction `json:"prediction"` + Error string `json:"error,omitempty"` +} + +type TrainingSpriteBatchResponse struct { + OK bool `json:"ok"` + Results []TrainingSpriteBatchResult `json:"results"` + Error string `json:"error,omitempty"` +} + +func trainingPredictSpriteBatch( + ctx context.Context, + spritePath string, + ps previewSpriteMetaFileInfo, + candidates []spriteFrameCandidate, +) ([]TrainingSpriteBatchResult, error) { + spritePath = strings.TrimSpace(spritePath) + if spritePath == "" { + return nil, appErrorf("spritePath fehlt") + } + + if !trainingRecognitionEnabled() { + out := make([]TrainingSpriteBatchResult, 0, len(candidates)) + for _, c := range candidates { + out = append(out, TrainingSpriteBatchResult{ + Index: c.Index, + Time: c.Time, + Prediction: trainingEmptyPrediction("recognition_disabled"), + }) + } + return out, nil + } + + if ps.Cols <= 0 || ps.Rows <= 0 || ps.Count <= 0 { + return nil, appErrorf("ungültige sprite meta") + } + + reqCandidates := make([]TrainingSpriteBatchCandidate, 0, len(candidates)) + for _, c := range candidates { + if c.Index < 0 || c.Index >= ps.Count { + continue + } + reqCandidates = append(reqCandidates, TrainingSpriteBatchCandidate{ + Index: c.Index, + Time: c.Time, + }) + } + + if len(reqCandidates) == 0 { + return []TrainingSpriteBatchResult{}, nil + } + + tmp, err := os.CreateTemp("", "sprite-batch-request-*.json") + if err != nil { + return nil, err + } + tmpPath := tmp.Name() + defer os.Remove(tmpPath) + + req := TrainingSpriteBatchRequest{ + SpritePath: spritePath, + Cols: ps.Cols, + Rows: ps.Rows, + Count: ps.Count, + Candidates: reqCandidates, + } + + enc := json.NewEncoder(tmp) + if err := enc.Encode(req); err != nil { + _ = tmp.Close() + return nil, err + } + if err := tmp.Close(); err != nil { + return nil, err + } + + python := trainingPythonExe() + script := trainingScriptPath("predict_sprite_batch.py") + + cmd := exec.CommandContext( + ctx, + python, + script, + "--input", + tmpPath, + ) + + cmd.SysProcAttr = &syscall.SysProcAttr{ + HideWindow: true, + CreationFlags: 0x08000000, + } + + var stdout strings.Builder + var stderr strings.Builder + + cmd.Stdout = &stdout + cmd.Stderr = &stderr + + err = cmd.Run() + + outText := strings.TrimSpace(stdout.String()) + errText := strings.TrimSpace(stderr.String()) + + if errText != "" { + appLogln("🔎 sprite batch stderr:", errText) + } + + if err != nil { + return nil, appErrorf("sprite batch predict failed: %w: %s", err, errText) + } + + if outText == "" { + return nil, appErrorf("sprite batch predict returned empty stdout") + } + + var resp TrainingSpriteBatchResponse + if err := json.Unmarshal([]byte(outText), &resp); err != nil { + return nil, appErrorf("sprite batch json failed: %w: %s", err, outText) + } + + if !resp.OK { + if strings.TrimSpace(resp.Error) != "" { + return nil, appErrorf("%s", resp.Error) + } + return nil, appErrorf("sprite batch predict failed") + } + + if resp.Results == nil { + resp.Results = []TrainingSpriteBatchResult{} + } + + return resp.Results, nil +} + func trainingPredictScenePosition(root string, framePath string) TrainingScenePositionPrediction { python := trainingPythonExe() script := trainingScriptPath("predict_scene_model.py") @@ -1987,9 +2183,9 @@ func trainingPredictScenePosition(root string, framePath string) TrainingScenePo errText := strings.TrimSpace(stderr.String()) if err != nil { - fmt.Println("⚠️ scene position predict failed:", err) - fmt.Println(" stdout:", outText) - fmt.Println(" stderr:", errText) + appLogln("⚠️ scene position predict failed:", err) + appLogln(" stdout:", outText) + appLogln(" stderr:", errText) return TrainingScenePositionPrediction{ Available: false, @@ -2000,7 +2196,7 @@ func trainingPredictScenePosition(root string, framePath string) TrainingScenePo } if outText == "" { - fmt.Println("⚠️ scene position predict empty stdout") + appLogln("⚠️ scene position predict empty stdout") return TrainingScenePositionPrediction{ Available: false, @@ -2012,8 +2208,8 @@ func trainingPredictScenePosition(root string, framePath string) TrainingScenePo var scenePred TrainingPrediction if err := json.Unmarshal([]byte(outText), &scenePred); err != nil { - fmt.Println("⚠️ scene position json failed:", err) - fmt.Println(" stdout:", outText) + appLogln("⚠️ scene position json failed:", err) + appLogln(" stdout:", outText) return TrainingScenePositionPrediction{ Available: false, @@ -2099,7 +2295,7 @@ func trainingPredictionFromDetector(det TrainingDetectorPrediction) TrainingPred grouped, err := trainingGroupedLabels() if err != nil { - fmt.Println("⚠️ detector label grouping failed:", err) + appLogln("⚠️ detector label grouping failed:", err) return pred } @@ -2197,7 +2393,7 @@ func trainingPredictDetector(root string, framePath string) TrainingDetectorPred } } - confValues := []string{"0.40", "0.30", "0.20"} + confValues := []string{"0.30"} best := TrainingDetectorPrediction{ Available: true, @@ -2232,31 +2428,31 @@ func trainingPredictDetector(root string, framePath string) TrainingDetectorPred errText := strings.TrimSpace(stderr.String()) if errText != "" { - fmt.Println("🔎 detector stderr:", errText) + appLogln("🔎 detector stderr:", errText) } if err != nil { - fmt.Println("⚠️ detector predict failed") - fmt.Println(" conf:", conf) - fmt.Println(" error:", err) - fmt.Println(" stdout:", outText) - fmt.Println(" stderr:", errText) + appLogln("⚠️ detector predict failed") + appLogln(" conf:", conf) + appLogln(" error:", err) + appLogln(" stdout:", outText) + appLogln(" stderr:", errText) continue } if outText == "" { - fmt.Println("⚠️ detector predict empty stdout") - fmt.Println(" conf:", conf) - fmt.Println(" stderr:", errText) + appLogln("⚠️ detector predict empty stdout") + appLogln(" conf:", conf) + appLogln(" stderr:", errText) continue } var det TrainingDetectorPrediction if err := json.Unmarshal([]byte(outText), &det); err != nil { - fmt.Println("⚠️ detector predict json failed:", err) - fmt.Println(" conf:", conf) - fmt.Println(" stdout:", outText) - fmt.Println(" stderr:", errText) + appLogln("⚠️ detector predict json failed:", err) + appLogln(" conf:", conf) + appLogln(" stdout:", outText) + appLogln(" stderr:", errText) continue } @@ -2341,7 +2537,7 @@ func trainingApplyDetectorToPrediction(pred TrainingPrediction, det TrainingDete grouped, err := trainingGroupedLabels() if err != nil { - fmt.Println("⚠️ detector label grouping failed:", err) + appLogln("⚠️ detector label grouping failed:", err) pred.Boxes = boxes pred.BodyPartsPresent = []TrainingScoredLabel{} @@ -2382,7 +2578,7 @@ func trainingWriteDetectorSample(root string, sample *TrainingSample, boxes []Tr srcFrame := filepath.Join(root, "frames", sample.SampleID+".jpg") if _, err := os.Stat(srcFrame); err != nil { - return fmt.Errorf("frame missing: %w", err) + return appErrorf("frame missing: %w", err) } // Stabiler 80/20 Split: gleicher sampleID landet immer im gleichen Split. diff --git a/backend/training_label_loader.go b/backend/training_label_loader.go index c51a28d..8bb91ec 100644 --- a/backend/training_label_loader.go +++ b/backend/training_label_loader.go @@ -50,12 +50,12 @@ func trainingGroupedLabels() (TrainingGroupedLabels, error) { b, err := os.ReadFile(path) if err != nil { - return TrainingGroupedLabels{}, fmt.Errorf("detection_labels.json konnte nicht gelesen werden: %w", err) + return TrainingGroupedLabels{}, appErrorf("detection_labels.json konnte nicht gelesen werden: %w", err) } var grouped TrainingGroupedLabels if err := json.Unmarshal(b, &grouped); err != nil { - return TrainingGroupedLabels{}, fmt.Errorf("detection_labels.json ist ungültig: %w", err) + return TrainingGroupedLabels{}, appErrorf("detection_labels.json ist ungültig: %w", err) } grouped.People = uniqueNonEmptyLabels(grouped.People) @@ -69,11 +69,11 @@ func trainingGroupedLabels() (TrainingGroupedLabels, error) { } if len(grouped.BodyParts)+len(grouped.Objects)+len(grouped.Clothing) == 0 { - return TrainingGroupedLabels{}, fmt.Errorf("detection_labels.json enthält keine Detection-Labels") + return TrainingGroupedLabels{}, appErrorf("detection_labels.json enthält keine Detection-Labels") } if len(grouped.People)+len(grouped.BodyParts)+len(grouped.Objects)+len(grouped.Clothing) == 0 { - return TrainingGroupedLabels{}, fmt.Errorf("detection_labels.json enthält keine Detection-Labels") + return TrainingGroupedLabels{}, appErrorf("detection_labels.json enthält keine Detection-Labels") } return grouped, nil diff --git a/backend/yolo11n.pt b/backend/yolo11n.pt deleted file mode 100644 index 45b273b46165267f2d4c90df94468b547f43cf67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5613764 zcmb512YeJ&)b;^UF%}SeL+ptKNJ1Jmii#Rg92?dULLh;VuqP7`brr#7!HT{2-h1!8 zckI3Q-uw4F_qls_+~s{=KJj<%|D2hHqGz{my?S*k`may7zTIYa zv~`r1w-21q7&i`>Hl=Nc;VX38_doy5>XA-$D;KxG2F?FDSU0G@=y`7Gx z&eYOl*G3Pwin%h##HYK}gZyyjhc24Om*{(TmZi?a5Xzo>#TCVJf)bi=n3Z-KiT)frR_SW`E zsowL)E(^V3TB9{i#Y?O+)u*YcqpeLZ?kw5WCNx{~gzZ|J;*!*gWl^fH>!4wL*Tjk3 zd!-f{S01|-dui`zZc;$*0#8{y`iB5mXg$}2c%ZZq*jko zYm8lquO8pnG-XDkO=y^A%?&Lb9aB0}Yr5Xo8r%Cn+qG?Nw{4xVt8!awXT!v%#fTZOxsja%Ze)S+*(e zu%?y)$T+_VY2O|rubQo7_vTa=GN82)nOBL-8=Ov6mA3Sr-_pmuy1GSaQ`53a3$ma# zld6kSLt1pSw`|do-KwSEE-gA%Tes+7Y}2AxZ`-1v4sB7yhP5a*!&?-A5iN3YyB4{y zeT&}p4y9weBY1;SBMT=@!iDK2BRblrm!x*Y``#&?+BxyQ>;3y4rT0BLliDRp?dsq6 z82`R^%fIi)zwh1s``*L9?>+td-pjx5z5V+h>)-c2{(bN3-}inhX^8Li)c%W%yWVug zgp$+&c-sf2Qw@o?J+5@@QgC}lbL*s*IMwJoXy}St+d4}cteNu?vo2QxN>bzhhg~qM zJ3FjldPPa9skGFU$4+EH-*F%!GCe8wX}Y%`ene_G`bM0>GDUy zbR;@6sW?h?`6DsiABh?HBXN*F5;OggIM^SFL;R6A)E|koKN5%eBXPJt60`h~IKq`n z)Uc+O#`gB+w$9Y-`XyY2?&ym1#yRzU+>TS44Ldb-wjSJ^I+D)LO=aA%=!~s(LUU?v zeUJJcb5mIt%4v-gCa@;YtM6XleQs*Ln|Bjh+ZtKMQ%A{q^w<)F67{>ib6Q6ys?Ra= zU5&%=)9?;*eH>fgt-jmb)NyXGN!HOdtuu9eeRuax{XPxI`R3FDx0D>*Y#p7c6UO#O z-$)3qht13g_l97Y){I&-p&_1uRWEg7Dc=hJ#i^6J#*giR7maUEom`xl;~V3qmi7*t zS~8rp3y3Lt3R3jcbn3K3ik@ED(%3S-1zFWHp+#v^o;sstQhlE|btbZTIRNIdSUTD0QBc^RuZ7qSS>gse&FVQWvR*i+vB5u!l?aqRZmc}cYOo9zEQp16sK;EQn$Da$n`P3(Neem zr;EX<+tkJFzKc89#hvQnt~hmfl)A?)jO|@hv92M0&7BQ6@J&;2)bCYSe$tKVXrB}& z-FIsap!c#e_4;6(dMHXg+@(qLNGA1YlzPlhn#cX5c_Ke)p7fLEDL-kR z_LJrrKWU!zljb=;X`c6!<^?}#Ui6dZB^OP)F%fyxWmrWPVuG+HG$Sux9=Yw9@uOe- z{))d`#!u~-ilw7#YU-7d+n#&-ZeM2l-R`ouapFX*EvZ-MxuCc}G~}YowX!qy+B{?< zdqs&$y0VkI{$u z7=7ep^s$f8Cq71>`WSuYWAwR?(HA~OU-}q*(T)7ly_#lC?jUG6xxroOH3 z=4fK-JDm^m>^7b`tvU6*o390@f60|>09Ufq4~Pnvz4FwLEnL)oN~eBKc>Ig^_*Z%S zTPF2;l={Pa{HOQ$ue`^9dyoI|9{($ktsBOW)7G6>#zJmAh;CK3C5Uceww^?{HrtX! zw>;ZYz|xleTd;)L(%`i9a+chAgDvCK!a`APC9t|)t$Q7>O^<; zVrvj{Cor}qHFpkUYZ2XPjIB*{XEL@9(Vfg#Kca%SE>XejPgL;MBPw|76BWD-h_mba zw9KjR-=ej~Hl$5!jBP~L(qbEvwV>E0z}cKK-4=MgjR>6928pxWMq}WIvA9- zDrc>REGqJ~RztJvzZT^CuLH9GA!ybAmY~?Sf{bkIVBH3kwQZesD5PHkY#6w-<-bM0 z&W6LPp+1H)b?mK)DEE7MnXomBVfZCtAm33vkR6RetByv4 zV%r5WvRxrteBE!k&#k)U2Z?h9arHADHIPW{KXbu>*W8BsZlEter%K zH6|*oT||X-I#FSrK~z`|A}Xvifu%a}o?dPTa|5cs9Rf((q1+h$AhR^Ly1&WnFrxG6 za8Sl(K}L22t@3F$Q9jKf2A__kCZ94y`81a(pRz>xG><5s<`d=9QAGK4G*LbsLzGX) z0&^?Gap1Ha?<`@3Sm4xT4RRB%!cM>jE)hLrI}wP9!X=`=JBziG_$n!!Nhd?q{5u5{ z+o_O|offR8gR*vpvz`f=SR&4%>Y{fxC}ZciozA6I(L0Z*=$%gt(Yt_}qIV%t(YuJK z=v_=y^e!PPdY2Lvy~~J--sMC^?+T)#cO`K)CYqKA{*_@@(KeT1m}^&)=efTe>>9FP zBCaLpmx$}ACYA{NrNMu(U5^c6iMRnu+HQnQ)~x^ zbv$kd#dZf|WOoMZU7)Pp?X34e{%4JF$A7ThOS>z$_ksKX_X9b=186nCgP_A-^^)y6 zb#M9wkniY4AUk>qtvXr=itS~{$XjB zV8-5d=64`{^1e${^1eq5$@@MvCGQ7BCGUqsCGST>CGW??GPg>6LR9j8N>uWGMpW{C zPE_)KL0r65!v7V}G`+&U#QhGGvF{-x`+-(X+#iYZ z{U>7Z{by?O{THHq|CK1;eoTCMl{o9N zkcqOl990*+yqjC$i(5<(5Xd-r_MIQ2F%N$v26_E1Rt8QO@N%>rD%0L%0RJg3K`jE!MZspYg;($ z0LY@US24&2((VQr1o8uv135qiS`APMifu4tWL3dh4a!=Lv(`f9%3d9~uc4{wKZCewGAk?Z6PBY3RzJ0Dk^Lkt?o?^2lj=6Wp5`CI?9#3ouS574;k4gNMH6w12eXZGw%xNlXnbJ$-5gdByU7b$-6sI z$-4(p$-5^}$-5V^%$2>piAr9c#{1;mhp6P;m#F03kGK$t`+uJt`?K7swm)7|eDx!L zb$+zFls^ie(v;W%*cavTKs0GBza zA5N6dvxxHf2%>zRO_a}bi1PVJVCm$8xkhk#%Ro)rTpIId^;zyNU*-{=FY`eeI|?$g zqiK~d#}MVqvBcoZan$6?@kIHufGA&1Aj+2$iSp$nqI@}-C|^z?%9m4#^5ryOZh1Q$ zoVGKZC7jit>D0pdSuxno!UimFvv5{_HV`wsw7ysF!p}K;RsO=yxlrf3`F9>Dw(}t) zyC7IE1ZC|aXT2CQvAkVE)kW`8P{uBEJ6%qzqIU&R(YuluqIVTFMek~&qIV5Z(YuzY z=v_xt^sXl=dN&Xiy&H*&-c3YB?`EPd{PfCQ__>8Pzr5W__7{F`Bm3p;c5;4syMt zZb+PT2kRpsoOC-w~C(-xHO*KM<9?KN6L^KM@z!_gbvw zZE`r9{~0e!+b@ubH2jr)soecWbQAV>P{#g%jO)EG^0^y6 zRq#G{C(7p@MESe~Q9k!1%I77C@_8wud|n!uD|fxXX z0dd6nDQYkGDXJ~cSJm&ByUx7=R3%bxP;7l5BU>?8`+~BzlC!Q1nJ9OwP<7E;6_l~n z+)k_0s_3mjRP@#)hUl$DP0?GMsOYUjRL1lpDthY@6}|pMMQ=T#qPIR#(c6Hi=xs=x zjf}x(thsWx5pBNQZA|v%ZWFREcctWfxhtc(sB*U{HiUAw8I-hb4w=ZaEu30(c*<=6 zHef#XiESW=6T1&Ca05B9%hBq1RDfcugp6!(uvUSxR_&}ckVWOLvchUY+FM{woR~Z3(DG1XB`HaD|f@eh2^fY(ni3nv9<&Gv9mao~Yz)A}V<&5b@dPVwJltckvdV!CNz4hD+d`xeo=KY$7b^=G*!n`OD$! z;iHBB;ln_84m^O@wrvt#>Hkuwv=+V}ok$sPLUYRQOILDtspq6~2>+ z3g0P2h3{0N!gm@`;X9o;8-HTz`Uvk*u`_7%pB$b^_7(LkvahITlk*kz9IA_|sOMrs zsHo>bN!$65iA1}=sYS=9#xBGLO!=X)T?At77@Dz*fvg>upw;oX6cpQKkda*;tXF`t zcBQjk1zB8CYwc><-2m5s`~cSiIly&jHNf?t*lvJ~?8acd36!;)o%I&TTt&SVTvSo( z>^7J+*6koa)*V2ObthVlbr&eMyCEaH2eP1|4jyFp((2yyeIVb_{Xll~09tkQAPA?` zkT|V|EU2i1%k2?bT}6EqgpP6*^)aZiJq{V!6Og{5J_*EmwKG2r>67;vqLTMnVo2WS zs401$Cn|YgAS!uZBr17dB9^&|x{#>keVM4_eTAsxeU+%>eT}$y*GEt-m&jMk{{M5e z^7zZ2!lA4K``CsDrq zMU*dp6XnZ4MEUYBQNDD;-7vY@-yNK`9?lYKKW`}i@6Ba6t?xFt!g^u@Yd=ocmINaE zRr~R0Z){8PRagl8-@r>l)uieLiftLl$V!5BSy0xNbJpb{6QzFzsxErHK^g1gc3P2E zMXxVW(OZcaqPH?NMQ;_NqPHqh(OZqE=&epv^wuCMdTSCDy|svn-r7V(ZyjR3^uyb^ z){i!SGQBR@UmEXE_N9M4a=!GhPc>2c!zY3pU_&VV8$wCjMv#d-+t{gvrGIdxZGsId za-|?&L4K@lfE;UEv>IzDD7Imckqw6| zEdA9sf>!sYw*&c(wgcDtY%MDtY%K zDtY%ODtQkeE?(*H8lS&*a3EfWOWlx(G#tmiRPGvyZo-ZS;ZipwE_KtY3ENDR&l8Ek z=SkG$a|=;Ew-V*^WTJeYLM(I3T^mt8PbJFdcA|XlAj;=yz+AaYfzxKr63ShtQ;X(P zt;N{DayKZpE+CG0Y5lDFak|Dgov)I@>Nf+b66qjNY%?JvJ2+Sm0cGt_XH7#U%H3g9 zUGxqI;r0=?(-E{Pdb5d&-W+0x-jUQ4y$n&&n@d#mvP4C19#PSoPgL}dA}V@E6BWH< zh>G5^#M$-ZaHcye_etP!wE1#(JlU7K1!Q0DP9W#Y-HB8eRqjs0hEVQKhLW~ZAQO3Z zs#A*&Po15H4VaI!Vmlqgi9IW0X8<{|&qS-^aTW;Ix*;PwCs@w~W$ip?Js+~D+*J*- z3ut!(TnO?5Tm<9*7o*hxmw;ls6f&~Qg7tDx)~;~YD3~?b6cX2)moV-8IawZ=Dfs@r|@yfJ4 z2bsvk=h>Yq-U~!GXI}*2&JxJT7SgIY`!Z2(zd{Udze-JRzebeXuM_3=8$`MNCQ)v` zMU>lb6Xo_hM7jMgQEtCS96329SKfz~whtf^u6)Q{OM(2uC_txHt+`V$qt^@s}J`b33q1EOxl3sq|L8H z8?14bm+(Bq{Jjy}1T^ka&YX|FK5N_9Y)@sP&m8jZkXm90~f7CH8vb(jWq(~$J!3av9?F6v33CAhHXgPunk$b z64lyHw7NIFGst&T4`fH9(5j=+Al$GGi5s>d3s<5#8$+vGiFN~_qufdqLB$Q*khozR z(yv5&0&&B(Gw%)Qlb2uH^2xgoF(mK4)ResY5tY3A6P3IN5S6?K63g85Y9K0k#}Sph zjYK8yc%qWGiMY5|vGXV16Y#RMHA5!Sa3cFsy_-aI6Sf7Eu~x{)Cex}3JB6qT+eQpN zPo*ZG+llhIgD9V;5#@7=D4&fepF4^2IVQ^IE~0#%4$RfN8Q`=Xr6x-pDk{i-h5(+-ci&Py`zbW-Z4Z)?^vRucN|gCJD#ZMEg&j-ClD3A6N!r6NyLIL zr<_ciFL$SqeYrc8?91J0-5J;r%H5ez(smYPBG1ltYSG~-w{x%o^Ra(y z=Ylw~`)BMtASd?uXmva;0L6A8WMmfw>&2j~UE-{lLKc;~>I%Dzb~nJ~AV0trKn`#v zS`Ba&D7LF1BfBP8uLWi8I%mBeGFR?y02h|K>Pov2W{q_d$d7e1kYn9~R%6`?itRSY z$Zm%$D0kI^?G9Sqo4ym|JGu+Vj_yXQj_v`)b}wXP_dynvyXq>tpH^4y9sr@ET)BG? zDy~jL;_5V{FL#dsGxn%6KL+WO_i>_<_X%Q1-Y2Okd7mOGd7maKd7mLFd7mYgxpMa$ zQOWx}QOWxPQOWxvQOWxfadGcF?wZ_;iisL6l#qm?3;`kXbS3*Arr|k=82_^JPrxwl8YWoTsS|;t> zZDz$J(Z zU{9g~xFm5l{sPqH3->|YQndLG>Xs(^D%y+etLQT1d=)LBx~M9;EH;EHx*U|WEf1MU zwH2INbcAZGH#T6J&%%8sAl8dn8Cwy^deIlHj>k%%*j9#&Y?WYL6_mBroON}`;woBe zYtZfnSQF$2SPRGj)<&xV)&a%V4>GcKgS9^>YwJ1d`jELQx&gSTiq_eNFl(%hKz^)^ zfgEcSv>K}vgfnf($To#6sG>E4Y%^Njo8BDcJK6%sjs~DrM*~5z4T6lU9I~K_)|6WX zt*(kzg3wW}iVlVvTNPwv)sVi5)&MhB>&$hKK6!@_mAqRLL-KA#P0718QOUavQOUb4 zQOP@$SmvteFrt!oI8n(vf~e%(j;Q3_p163IFHkR+%-74s`k-zH^zO@LwT*<5`=D+| zaN2f)Or-J7P<_R$C%Oqg3WOU{AaUWFR!#U_iHg}6Vu;yp)D*LbsF>|eRLu4uDrS2U z6|=pFirL;o#f;x@_c7atsF>{wOk6P74{F->r!jxQ-~jHf>VF{7`O*N&*f_|@8fld; zuq3WV{C@5oTx6@&?Dtd<#6}?%+5WOR)DSESsiryTeqIV=w(aR7Oy}3k1FH2PP z<`EUW`9wwUC}O_!yASG)rp=!~A4B$6u8$@A(tjK|U;2-ynkfC@gSrLS5K8|EP||iH zWFpT_a%$1xskD=^K}GHqkS}tl0$JovL#yL)Iw-a?AR{|7SkD4w?QCZ~2ePR2*9^9E zX?IohJdhvYd>{w70IdeN5QO_gAS1gtST6x(?NVpG3^G^xF9#Qv{+cSg0%nbMCCHC; z6_8_HjaFk_1B&fh$jGjPEG+%ic0H}`P2T|W9o-0IM>nBWM>m6Fy9F|`TOkWee~sNn zt1JDtgV0f~^xpwBwmTssy9?5n{=0!0yT_UDh4jgLA5qDBKQScl1Jsnf4-%EU4-u8T z4-=KVj}XgT>3@`{`UeDS)!Y; z&w(=bJY-}q(5eahB2hlSL<~MJq$ZzVCd%hmi1PVWqI`ahD4$;^%I7zT^7&1oe13~4 zpWg=N%H2EQw7u&rq1?Ua)S~%RYwu$N%iXxxJ^qGWNCG=^I)Vy>E$%-gm?hz3-_hdOr{qy&s8+ z-cLkD?`NW-_X|eqt{LkVWOLc95+=yQ>_%L4JTfKn}1XS`E+_6x&LWk*yr8tAMh$s_|#oLDH=Ipkhj17g1Y#6PYv%`sUdjv7Ky&W~Vy**KG??9B>BZ+c*N21)` zi72;sCd%!4qTC)ul-r|;|HrrRa0haU?SdU~En`a<1n*++&k#469t%}}UqN0~2 zhUm?srs&NlDtbo|6}_X0irz6qMekUmqIVoo(L0`~=q(^BdM6Nd3mu=kbv(`k;p>o)_&Q{;UI@b1A)WPN$l|4{+Ag8p4R9&Q4{#Zf16+<)16%=$ z?MleVt_s$xL0P-TS+9l6EmhZni(4QFRgB=x(|eoa!b|yP-A-lGO`CD z{ZjQ1Fk=rp^COTxc^@Szc^@N&tK-ER> zM^MIoay$J@tD^S{QPKOA7^3$ZHAU}tqN4W)QPKO8sObGgRP_EPDtiAA6}^9nie5K7 zGulV5JF%eL^`Om{yCulJ-1Q{;ax(E&bl&WQMs$DuvKVxm19+qA7C{g z2Us1g23P|W+nSJ(tre_mgR-`cv-X3`mAiGph2^fU()z=!vDO3mvDOE2tPRj=tPMdp zp@zf>HDp1#s~c>a(CXfFDadzJ24qK@qE$zmfp8x+B<`bzEGTz%RW^WDSMCOa&{3}3 z4T2h5Ib>uNkiOhi0&yd?Ggm?S=(kzK)cSCBi{sOTB7;ENKSwE40ZlYQCiBKxv8ot!UwGpH`A>>Y#+q3q3s zlD2~(6M1%sQ;W)8jU9>&n3qFwN)6%!ADXelfSllmqt)@41&Zwm$jD{~>l{$lj&#-x zWO3Q6wYjvr0kR-Jz&s!an2%Ni90iK)XvoNp3D#plSv$^IkB7{ay#?T+vR7v(z^t)O z1o^Q}0&=XA(Q2$yKzJ@6B%aF$nJ9alwfOZ0JDq0tuFnAZp3Vfar?b$ir?Ww^odX%! zxsZvvr=H5~JepnMJ0FCea)s{#sJJHt68D5a`oecH5Z_L8=1U=c`d&s<`d&^9>3an= zrSFwQrSDZlrSH{5rSCPwGFSMnB`STdBPxBbCn|k!AS!)tBrf(>C3s1q1&{5woA9!< z-3*yX#9P>x3f`?mH)U@FW$boH+<{H2rtFgZyo-g zFH77y`~&p)Zl?SQitQ)J$bJsiUqD&=)meXoOe{seQ+4tC1C+5p-A;ees`&j)RQ&!S zhWPzUP4Vlt3{dgwPE`DQ5EZ{Ah>BlNqT;tCQSn=fsQ4{SRQ!4o^H1?~cY!QJn_r4b z$o?*nWyyXiT8^Awik7FESc=>SsQgS}1#AdQQEw<|>jRm{v=yCNe1IygFSejm_Q!>3 z5Q}dAjI9i0(Om_t4#=vY*j9s#Z1rGW1C+Hjopmk9|Extyfx)&mH@Fej0r?U70Xf3D zXf;BAP;Bc#Mz(&iZUD;KhR(VXWNtCq7@S;;G+32w0=ot)1^L0sfE;X7v>I$P5YC+; zaqbLRv>H|00Gi#~9tiS14Fa;KaCd%irMESfAQ9kcWl+XJCb5(DDaM})VmQeK$ zbZYUWs+im3P*QSs{}Dt<9h@#`Wge$$DH-wdMScM!3l z>dmChSG|MDzUm!9_Eqmta=z-NsV=JO9fl2|>KzUxZL=T~nRbLziw{tp&Bhi@?l~Yo zxsL>La%a%$fXoHOmW7OLUa-ywW$h?uJsPsO>fv$m$8duyAIF0H2*&|A!trP|!U9li zCqPDaVz8bB%G$}!dJ1H&>YWNMs(N^&{AsXju+u?)urq)h>`b&8>?{zjEJNa}h>(R< zue`#}rP;mh^FY3*^MUN?0<`MsLJ;oUfW(~}kcCyRywWbA*;TzuLFg%0^)7=N+vSjv zT>+`>xs(X8;Hu_8;Q!`n}}tu>fKCK2H!$d z2H#3l2H!?h2H#Fx+^QFDBX0RI_tm#M@cOjf37JUByV$A9-`zwveeVHf>|RLRl})Rr z@BKtM{{S&K{~$Fv{}55mKTMSKj}YbjqeMCX7*WnYPL%Uc5as-nL^=NyFmVF=G}N>` zLu38~_F3*OU!Eg6U!DhL>;=fkUZhpNyhM~Q3yHy(m#N8@SBUcERib=(jVNDUC(4&M zi1Ou4qI`LaC|}+t%9nS5xl;ZvIBoAaODN^FH4m2 zkD+UVd;*H?Q^?3Z3)as;S^L6Szl2Pb@~^16_BMwuUJb1S+RPd)d5)s6k7>o zWXlHYa-gg&@2o38E~1oITW@Y~HL(xKkFX+;BlJb95mo}>PH9NoDIKh}f-^ z>S-eo9%c<0*(Q)hrM%8cX?CT&41}I?rF>JUv26w!+2)YGly3pV-O|oH5YlJxAfht3 zoES2=f|@e8lBf(GOjHI}5tYH!#4=aPYlzC=TB0(zj;IVCLR1ECNnG4goTOGOvvw#bW5XcvAP`zLYex{}^LE7G^Y+x_^A1G$Jd!A%cO=T^orv;z zXQF(rC(7qhMEN|LD4%x$=BnPVVBEUlETQV{=G3A|g@=$w*y5|+?m!&!MAh4aFH2Ot zJ)tX?_5#JWH)Le|)jL`D0cCApXWb7nQT6tx>f(0*C}Rh@of>FW{KgR#zeZw+-*{?@ zUlURBn?O|jnu&_vM55w1iKzIs5EZ{xqT)B1sQ67G&JI7m;r?uIqs>>nsbpXE+R47^ zb&&H_ZyMD_oxrBBAyhqsf=63JCNeE{YViRow=QhawPZ&N>e= zSM}zDi>e+T`+gMc8tiD0AM6+)2Rjz620IQE+wqW*Er2YndKH811e)F3J`v=5Itj?0 zPDZPqP66R^G$bxZLl#!OiYhyuW>@vj0HLQ`)jJbvY-d46b~dE1dglOflZG>&2kA5T ze4;Y=0%FME3#loCFCr>~FD5F3FCi*}FC~__s&^St8GJcW8GHp%8GI#C8GIFSajRZ9 zf$hRWEA{9~eH(5lzTL4@{@Wdk_iebVF|_}BM~z*>_rcHOt_7s+I>mK&D*Fcnzs`b%{z#S=AA@E^Dd&Ic{fqfyoac0-b++8 z?;|Rj_XBhF^Z{_%9(0yaPakq>@pP@Whp~lUhr_dVVtWJ%(y4TGx9+*`!#&DZCcY2% z7<47-V;d3C|W9@c&fmVg^MWRCZ5;25uAvJ~Y zWuij(3Q-|^m8cNDMpOu2Cn|(*5Ea5Vi3;IcM1}BeqWe+=oX22{S1gh1kTv!U>1)r z(CV0c35xA2$jH79)^9*r`_@^%gIq*at+nsDL1X*?%#HCQm}C5eR%84OitQK3$bJph z-#}UW-C6&D%+=LD!Nqm8&i;bk5BE1PH{3s94)-rw4c867DIQyQNc;dKWMO5+qpX*p zS#P~3FxS_TVD_~XTJ^OwD7IdZku3vRSX(R0t%PP*TbBi)t6Xhe4r*-6Lq@g&q_3^L zfp`#~Gp`8gQ@Jlusk{;~r1Hwtl*+3RmCCCUmCCCTmCCCV%Uo?;gQ!$qlc-c)i>Opy zo2XP?hq#bw{C_{)2L*KLd;wjougCR6_r8AC+PYA3Uyth#PTP8riKJd1sxP4%5Z(OW z5R|cvAaSP&t(yOv5EZmiVhCCpH3e-`qJp*=Q9;|BsGw~@RL}+x6|{jw1#J*fK`SRJ zXcfT3MTJVJX&X#q{-Qz^ch_=IO?1B0fbjK5NL(tXRlW=%%9kyP!I!P5$(OB(@?{&M zeA$*LUxpIp%P^vR8BUZhBZ%^4JEDBq9++DWb^xbsq_c$OU`MAGRT?}Md?#$-a?q_i zl6_|=m;qc4@W1ZSsOL+)#!q-gLD%FO4Z`C}AaS8QSjT{}wwtp?kcstRcd9Oidw?>w zr`u^SS{1{+iHaeA|2QAReW)ph`w|ty{fLU;{zS#_0HR`eAW<=FAS#CAh>Bq&Q864( zoXtrzhr-{C+eE8B$(}&=w`nw!{em!&oL>+oQB5oe-S9yc{>9dU4PilOg@R{hLniWV zic^aZQ>C?Gi?4W7fjCHblX#Lgm=&)Btq#gGP;4p4$ShbpL0OBPwF|O%LBO-tr*ng< z>I`6RjDx@&VTb~ci^>q}OeI1QfeH{ae?O4djj)N>(5Nhmrn%#o1 z0EDh`3&IId@dJ>Mk(~tT7lf0689T+9Plfckd>T=?d^$1IgEOcpm(L_Bm(L<9m(M0D zm(L-Vxdq`|qH_5>qH_6sqH_5HqH_5{;$kic$uG@agx96*V#q{NUc$~)1TQ7J349p{ zcWFc7$~mo?z*iFG^i{;*^wrel^fg2|eJxQ=Uq_VF*AwOR4MaJ8BT-J@M3mDv6Xo&+nriGyK3zYY;otrEP{7J!BKZbaF#EEck!j8rLhR!4P6O!4+sx2 zfyCwVV7(udwFjK_LC8cAe2A)x;lrSeJ>qtHlvc&?F`{DlI5EWV32KVrlSIYvDWYQd zG*K~phNu`mOH>S>BPxc^6BWZ3h>GEh#MyB4KSl5*T73~*NS?=nHrHMz`y%)XIbQ@{ zrMjph_!>5ZBKSHK+=>F3$hSA0T6~!5>@95Zv;1u!4w5T^?|?bW-$ko~@*XI*_aP(u zAXq;HW$hzp{TQ;i2;%YRpKyaJ$)~{F7@vVT#^-1?#uuR2zJ!eIt6=>al(lc1^;^hX z5&RBZR0Q!5_3vT#!~Fov4fi9M!~KL-!~G1xNjM} zgTxhdTII?XM7c767+e`hO|A?g%9V1WT&W<+l}e&q8BCNbRYbW`O_VD&M7dH6Oq`?F zK~38b8uRDqTXJ{#vK7(!vNb4U+dxLPEv@opC{ex)BL-iFQMp3;cFr485ZGpSX*iH z>(XShUzetk{kqgf&aX>TsV-_=YR87KE_Faj+cd~TqNSW#e0-|Rum#0(Xl$Jz93I|8 z9Rpc*yU^-@Ob6ld*pT=k$Y7lb%G$xsdI;nqR;6k?lpEX#X^GFQ zOd#&mcILAoeFmRHR0f|*3>kbLHD&PmL}l;=L}l=WL}lE+#62FCi*}FC{92 zFC!|0FDEWs%pYT&9KJ4h1zwi6Dk0^DRXAd@E5t-$s_9YpzjCs97%1XE0 z?=@mU(R-aXU-aG}`=a+I*%!UH$oZo8Hq}KHy?3x76uoz$;BFMiM54X#)Z*h)ZXaNa z=JtmmKes;ua&CW&RtMx05bi#K#N8*s`Z)-9pE&E6ki|t0&u{;V8(j7H8sta#2FMY< zMXM3M1K}}!ka$dAu>J_bWBQ!+XUJU9`vqK7^ze-LUt!l^zk&QR(W<8&ApEX6WMn-d3yWSA?kAzy6}_cE=qXq9 zmWGPU+K{-c4e5(s2{2>JI`eXnK7*GhDuY)bh79gaO&Q#Ws0?0_s0{8)R0gj^EOSL~ zWuh{86{0eDRiZL@HKHdWBnlU zbP-xLYx@)B^LoVK^ZL}}^9DruydhCOZ$y;O8x!U8CPevMN|euKMESfaQ9f@5%oV-O z!D-vVSwhhp;MC$tRc!;Yg+*^Dp6Ca}A!n7Fr8B*9zARt#DxfNrDna-Gc1ZjHd$3l6 z@B{45S__#ddUaG?_=bRRgSXphD_Rx4t%(ZXHpCFVZK)}ILx~FCFrvaYoT%`PAS!&@ z5f#4ei3;BiM1^l8QQ_N>Sn#y6ooMq#Z)dVEdi7*q^hS~MMQ=3KMHRhWuptz^U7_G+ z6v#xP?dH_t<5Oc1wqQoi!lSl9oZGYTY!M)<#GYt%K=uOR<`YQVd=jktfN=APv+f7E zh@w|(`*VXE;Q){y;XoiqXh5qG#(`pMgp6!_ur`6RHo;k&A#+7K8QXAzabM-Y|4 zvx&;!Im9wo^o}GdgEK^B@LZxYI7?Ip&m;bSJ;TR+VQxNNmbRlH6S;Ua`%=+6hUjMP zv7n3{2N~J%v})EaAj;KXt@7m}qI|iS7<{>entZvGC|@ok z%9qQD^5qJme7TY+U#=p`m#c~L~I~_v|UeQ{<6aj++DuhNOZp31j^XW zkdfU&t9-eYC|_{p`?$obXiL#m0@ zD12e=BWwt((Z^8mL=nhDrhV$v;saD^pJ5A1<VSL&!ZSo5 z@eGk*{T760h&b!_kj1MJp5*=mH@Fdg1o;tu0&;|((Q1TWK(YM_8QE{a`a39Ve>m%( zkh#_9FL2Rngr~j#4Z8;W2jmC)7s$c7t&kh6I|x^xA#nv7vS>A`ww^S*x4k6D_p}s{ zJuQt^Z@U)=kJ*F7WA-46R-+nQmS(paEeAqRxz%WSsQ9`gWMsV|{c6+)hzIRCb6-fG z!7CA!!7CF(2CqU*8N4b{8N3=%8N51C8N3Ej8N4P@8N3!z8N4=88N3cr8QhP!*r(v( zy2HA7S=#zTCUS8-_NA(~KGDtE4M4b!8#1zuXw|IUm?)n&AqJmIsmbRuqI}+zD4#bY z%ID3A@_7rQd>%lQ&jX3_c@R-PmjiQEuL7L5N@odGZ?IE~CsnOgVT-SN)j%BbMAfU| z%Mw+u7P@k&4iwuE$jG(~)~!HU+uB*TflO4rZK=BW4F%zTZMV~KS{1($M8$7AVu;`N z)D*uRh>G7xqT;tBQSsY}sQB$nRQ&3Rir*-r;y0S8`0YY0sCv87=BwTqvafo(k$u&R z$oZks{^t>D7FJ2 zBReoy8$ekb=d6v8#Z?baULVg5u6#6s{0I|(9HAMlMwkeSZ4xA&#uu!upsY=H)+vy= zs@DcCs(N@j`&8I9SUboM)&b;T)6i}dvC z^>h#jkKBXAuQEawR=t`^JA`Ie^$rE0r(D%bLyhe)$jAL{gr>PF4O+B)aK)5(xKmLq>KAt(v~466O49#Nhnt)a3jbL^*#ZQO=)5 zl=Ej3<@`BBIe#uu&Ywq=^XC)g`~|?o3G9VX({>S!`4iZSxx0M1gy?*^6qK>cAn{x1 zw91z&i1Ou1V({fEYVzf3qI|iAC||B6%9rbi^5uG>e7S)rUv4DImz#+455n2_$M~RBxW5f`@$EhiPPY@NqCy9#RQ$)q@X`OM2^8DUkdgfYSyakv?N^%J+x`vYd-@&7p8i0qp8f>kYBVISMne{r@;dv6W>?Dp z1)-;0Deu;suk8+r+pHmdDPIDZv7XMnB&5&arHIPlrHLVfdr?ycFGExYmk^b~%Mz8r z%Mr_5DPNwb3|@h#4DL--2KONRfulZt_sT7 zYLIxM2(6m6YY^r0n#ADqTGZt8+C=%h4pBb$Bg*G>iSoHWQ9iFnl+WuE5Kxt*$LRs5=nieC*e#IKf`;#Wsh{Du$}zb%Q1-&RD$Z)>9B zw+&J8+m@*K4J9gm!-xe{Z#Zqf>Wv`#s<$24SH11Y`Kq@A)kRgkk=PKb-i}c4Gck~f zOxxM1#RsU|>aj(Wdlbk|?$JO_?p@I8fb0sw4Ihw^?G~&NC~Lbr>mHEBRSyqT-;*0$ z`Pd8ON7x(45yqm`2>XEWSU$+e_6yeiL0LP%Sr3HFRlNpqQPsmk*T=!G!5Tq+u<<|+ z)`V7rO#sE#3>n!($ik|JCqhr6*}d%+kngD#$et#nRZmkuxEu|M%h8a9Rj;9*g&dx!D-nf8nFf z=0IucYQu*OZ8PK6rp^KF?E|KEOz3KB?i?__t)pp5$?jvu>`-DyVn2LxmqC-ZxsZvu zkcH~2?mVKa8uLN8p9C_pqiI#uIEJX0A4?1|KaQGWemqezUqDpMParDhClVF&lZcA> z$wbBc6ry5&Dp4^%4VXA@J{>9^m`!8;y!lM-t`+1gqVwf!5T1?=i3b7FDqqec%9rzr z!IulD$(IX>^5r6;e7Tq?UoIiamrIHAnD}lKcL9x988QH7B`Wh%} zuRH4-kc(JDYVA#Ka3j10@*}(r=W2E*ry;r*k?cv_BmP&_5}#{TtniXYskVi1drMNnr8R5zXAE4z6G+U@6f8J??JKs z02$ejkcDeVUAg^4vs*)c2BD|i8uANNTN{ zf2b*i|0ODgyY&Gog}W1#!aay(ZVg$2s1)u=R0=OiR0=OeR0=OmT!`O%{J*~!nEV<@ zFT4y-&W23nVhQ_F-CLIErtNZ|j4cm|??}?BY1^A9pZgGl&nr@s&wYvVc_pHJUYRJL zS0T#hRf+O>HKKf8ohYBzAj;=8fw{W37C3EdJ4>j0>o~P&QsEKZ{jkM-7mmLax-JwP zbXL02-Fm3>_2)~y#?rSQbmi0fpx8EmjBLYT-3XMmjh%H9$VBNYrRri>2EqdY-Am zsioD|zB;n6eM88;_H9Yd*S@W&E~@rzjSZppZ3883+d?MtZKzX=4^yQL!xk=2H~_jwgJeKmmD*EqE5s}U62c*w|_Ad6~XjZL80)xc&Dy2{nSiBNIv8xq&P zA$<*O1>#iQnWsSdTy7&Om!}d#F1J%tE_V=>%hQO;*#1}ZJ$&!y78bfz={bab`bi-`R+_Kc-%H* zB6knrn5vbB65TvcgYax^NL)LoRr7onQL#CK7-BPQ#FO;pIw zAu8nO5*70Ehzj}nM1}kUqC$QlQ6awwnD`UpVyJ1mgvR`z7?*N)rO#zV=gZ}wj9md4 z*_E`)m#c{Kyoh2-_cR01UhS%Di*b=^Weiszf7A>{@uZ+9-Qp{Q|yj*JUfj-|&{(C{O-3J-j z{lWSGC~FTo>qC%Ls)9xfReU1ArtxbmQ#xlQ=PqyEq*O|2bfz+-UV|lc@M1)%KISvM|}5T11ciD#Vz>o*`g>%>{VgUl_p z--8R6+KNHt_5o2tG>u*qO|3F6eFJ!?|TQR88x~<5*nCjg@=qk6=_JE2T#UXK{IHX@{mjvQbC(gVy zq|fDEMCI}_#E{D+)RfE15|zu#5tYl!6P3#=5X;rGTH_aQ2mS0pNz`x2GQD-joe zsSQ`^SH|nowhCk-DOY7@DuSyK-2`48l(97+BU_VJP2jbNa(ZoIaC#kTa=IT;POnRp z)BTBZdOf0?UY{tZHz3OC4T*AkBchz%7?>-9n}E|+>MWrMmN~U>c2x`-Y@1?BD1w_o z!BPKD5!{?FO%%Z`pevyUfMOd68QGv5Q~c7cC`8;xINhy z!5zrH2#zG@i{Oq_7gYpz!iG=;cZQO-ddNh+jdE)7VXCsx*y3mTF2LL@-xbVRJ_fB0 z%5I?8BFM;g57s?ES=-ZD_kvtR5v;boxj~g=EHF35K46ZqFItVUA1Jo{AtO5=SPukc zt-)ExLFS5JBe=K-*4TL1{cugd+;9`X9IhFyhMNe&c|Ii0^C63hV6C;%thYWHnCoi_ zn0>XORbNvU%Hc`1ehq(AfF#KG~ zk$7F&GLVU+oXgHs1hYgpf#-qn+c}Vt9Yw1q@X9vA5WCi3y5<1 z1frZiktnB6BFgELiE{cBqMSaJ_<#I-D^B5uyUz>kH0+J@_|wtg@;YR~<1^WlJU)x) zJU$zQ%j=N1yiTh;K94Am&nE_tFQ6umFC@z2i-_|0Vxm00geZ?MCCcN=i1PSyqCCEW zD37lMmX7U-zhD~UxZSRT`oI4TGc1mq+vC=b_7b}qJH!8L(4_5Jc9cK&zYePR|9YbH z{{~RTZiI~NCR*kH%|!Ws3o-bAD>eCl8&Uq>PL%(55as`!MEQRgQU2del>he-<^R1z z`F|g<)cwj?YRYuGpBwnatp@;j7$G<2eR_ynbxa>7I-ec^;anUtvd3tZPmdGj(-Xwt z)05QX(^EwG^fXaEJwudF&l2U+b42;{JW)QqK$K4}66MoNz}!;45S+G`oh2;guQ;`6 zjlkcquVM>};H=nQ1EO-db$gcnczK<#%YSq04XE>7VR;i2+gp&4y&bIYfU@?kv%UwJ zSjOL{>f-kSC}SVGoj#&f@%xyl_4Ey&2$ zhAdpg%d2c1n%yei4}`9AtN6N5W9ttY*?N$E6<;5S-=%cs4IzChZ$wloZ%hoSya_d> zaw$=%Tt-wXZ%R}uZ$>P0lWlXNQh5uaQh5MTsXUOVR31cJoK?K|S|KhJHaA+yP7_$} zDqnQ&}J zZk1y@5uIZ@gECeR8QCaW<=AMV9NUE$9NU$e92-NFW4jUMSVWX#yA$Qu9z;2|CsB^= zMU-QE6Xn=gV6Nux15Vq%&Jt?=eoif}DAl$I(k57#qjx8udvtpYC!r|d(M&0t*s%GwFedLm@5 z+Mfh2uJ(0yGVB`c6p$b6R3HaC4Xp+{9TeLckdd7USy=1wNd2>Dc5nM^knianAbUC& zt$I2Sgr9bY#810J7FPO-a=VabSLrVTp{HD>zZhz4mq12#DWtFTmjUtEKxe)J(r56M zL}l<*#E`*PQ~Q6Ey#?4*)%U&+wpiG$*t|B!8Zw=!8Z$?!M6w}<2&+E-FP9@?p8KDS`gWkgtw~^SGzleX}I1ARpTyX zDejil!}T7aoxN9>oxM+*oxNXZXCDyS*$0Jo_93C2eOPE`9}(KwM}>CwF`=D(9CR7i zcQ0dy#}nG8BK{;$iKmcFZauBNcIz2oa_d>B8qXn1@w}{d>jk0RdQq6&dP$nydRb_< zUJ=@@SA}-#HKE;lU1+!75ZbLbg?8&Lq1}2LtQYZj;7YukEV+okm(-Rb!P)}vvxg!+ zekz_92$I6C+AOia^=!Ru!1Vk#r7p~VgzBO3F;tFEkfr!ETR($p@p-a-fov+`UrJ5k z`wFVY*Xc#y$m;NYD|Gn26Xx)JFU{fmLFn-PD0KLK5;}Z83mv{+gbv@YLWl1+p~LsP z(Bb<-*eK#@b%{S^D~kAE;^Jo6zr{rn|3};?;{QrLj(Ontktd8iv8%tiQQZDxM=s(W zX4moQh-^x~XD{3My*V)SznBG;Do9riFMS3X&(HWNRm=7BeL4jL6m^ z&N2-%X-BGtGeboWvw-TMGh6pCD^!lzkfoSCTjzjkF=w*Qg{&9xx#5-~&PopRV0UNp zLPcluf$D62w(e{Js2mF-OR*5LrHJ>6g=J2Eb{D8IbO!ejwxuH8Q|JutC3FV&7CM9b2%W)wh5thlUzyieVijal60WL7TLW*^x0q zJ2F;iNA?ujkr3LEy@Yn8EVLuzgmz?ap&i)=tj}`$!j;%BS+XPhC$+VT_K5@7qmL@% z%W)vc7;nBjRnhwzpH&V*otTE;!4PN9$Wk1VtrMVH9Ga|$A)BVTs?-#}!=Y-_(u0==dEYbo`DLI)29q9lzs+j^7DF$L~a;<9CwK@jF@A{_@l* zG8XgPsp8_p%4ys=yQ?=o92fogGSvR;O4o#|LM<8tlrHJ&TLdLLK9>fRAac#C<2i4;GWW51dpX+XfTjn}e*0>3K(cR5py}Mgrb$2UUcXu09j@yx} z|Bh@w+p$c+oih7RzYDClbvLZG?qTb;?uEEJ1j*eY$oBJH_wMn4%xS)R5TdF2eD@G4 z4-Z80@IYiS-#rRecRWA&>p`d%pSih%^trew8!rY?ePafd;Fo$9)BdX#~%yr@h3ui{Hf3$e+Jfz z-{){8zDSl_{JuUe+wPJe}oR;zd{G_ zKcNHIVGhs%>?m{qrw}@TQwklxsf6u+&M>u%MfICTTvWel#YOd-PTZ(|(@ULH_3Olr zT>WN1sl<%Prd*pTsjY{oXUxnVpUlnzafEcKrZcF)Ju6!uk=YNK% zIyZ6>wXavqqaEpVd0wdKVLnhj%+J<6EC6xhjpW2TTNj3E(Ir_ILDnnZqHt^F>m7?> zcV~-3MQ2NZ>TF52?rbTj99@y6XhXKty*{zD%<0cw1}a)w7F0{iv2{z!L);F6Q%2hDo+nY^7KGtQT2L(T!c>MKFA`4`wE@HD+_Z9uOiJUysFSC zyqeG{yt>dSyoRtXRlR;fr|_CWr|?=rr|{ZBr|>$$|KTiuU0z>_^^i?T*k6sf;H@uA z<8=e58XF=@F+f(2*NudBc4J|7b`xoKc2l999VoQ3n+fe~NoZ#`7uwk^gm!jIp`G1I zXlJ(ueU^_LHJo$uBbryj(+~SPHSW7zlvDQqzaQx>pKhUzL8(#Sc-t+uL2Lc~V%*rh zhVC&o-R``lad@ZLmX~ssXgfBQ*dEyw(H&5Wi0&v%5giOwV+gVoLuGYDcM>|H!-P4a zJ4WI&wRAUh=)L-orSE=*@5QYuGVtuG z4nud}b(hhDhmDER!(*=~r&i~}9>a%?*<zcm zO3P;l_U66y+p1TJebD}|TM~wi8NGL>wa1JeHnhy0?7Wa;yB{0wWJfj~+XGOGV|$=5 z9oq`To$N^NWS7;)cD&HX_7Gt{wiBfJ*d8kMu{})aV_Oya*d8wQv8@SxY>yE7*iIDs z*d8hLu{{bL)R92#97luP&i>ti8ApD$6rt^dj)A>S&=>nm{bRpPu_xVMrtoI{h!);g~^x8 zATHb^S?@Wt9K`;_A@y{~z(AM}Z7vbqOi zu^%Lh{bcL?5R3gJ>x0OqGs1_YrT{(+vDi;~(WA0DfR70sz{iC-fKNzs0G|{(fKLe> zz^8={;4?x8@L8b)_?*xId|v1Pz94h}UldMAi~Tgdyn9K;;*9WRadAfYinur{}9c?T*^eBK3h;`1I`ACdPVuG}M8 z=_gx1f>`M%SwBIxo)NNK&ZpXuPOUzJiXJ`()x#HT-NTmdMCA#KNbYq(7H5Q0fvoY9%+nx? z6rNV-6rN6)Q+Rr5PT@{Mr|=9yr|^tIr|?X|wlv6Q7CMDz5jurC3!TEV3Z25U2`A%> zFntUjm2Wtoowu>R53(s2=Tuv+dvgiXu$>!XeIF$2`^f5HJD<=#&o9hAFCfi6FDSIn z3kmJ>!b1DpMQEQF5!&ZPh4y(dp?zLlXrGq=>veBQnALrfCD*;KNo^fey`qghs(VAq zu{22X=(6AazGGn-z0Hcgv{@F_sk9taj^&Z1SRq?iglf?(Syw_fRlV*~Q}}v7)##aC z)Js-}ueZ?Q>m$tJ>nqLSTUqGvts->zRuwvYs|g*x)rAh<8bXJ!pU~l3Q|R!mC7dwe z{^noxuPs|q^wtpekQS{amH;P_=sgo*t>$4*ly$w(*u_3Z4(FP>7_4xFTjo9O{ zy)jgb?M*<9?M>PGfDDAnu^F-yrEJ|Cs>K$`x+QWFMXyh6r5&kyYz-AX3#g5537+EiRL*Uk;*Efb@cV|06MQ6i6b+$8GcQza<#|UI8c0sl; zdMpMqQs(q$?+O(yjRMuuZfxDs?oc`QK$c=OvVGC(*)7J%oQmF9h?eR_Z%E25t?i#u3O;OqA6F_ei1LK1!I~ zK3baHK1OJ_j}_YOD8 zmDBYSyK;swxpF4NQb5R3oGq(eIY($$&J|`?&XZ8KxK&^85^hJSLx;U(teYsO;U+x0y)6v~9OZ+5Do{sKKYD>9e zftUN(qv>e%}4o%v+uGa&qwc} zRN{SPQ>J~8)Yb#kJw9X)#j*>xzCbFwU8?ahsIvPBTOW{5A=daovc^xgegUz@PqKc6 zY@Lr-Eaz+ONIiT56+L_ls)z5`x`*!}*7!lP#!t5X1hK|Xvi^ds&qu$)E%OoU>HLP> zo&63Ko&5o-vp?Cov%esos)*#NipZAvs8{?ebNaLYgNl|qa9Kw!b!6+7rhxeACX%0S zB3tI8-Z8bzX+D|;qNVzLG%YH3v>>^o1zF5Toj}(3N#+@mMF!6#bOz5X%o#k3G-q&U zp)+_^p)+_kp)+`PVOttwa|oTma|)foa|xZna|@lp^9Wxa&}H%-u#iu}=jCmz@q=v2 z#rf5itKI^_G-?-wSmOuD8b7jn)OHct=S76s=S8L2=f#Bfd2ykAUP5S}mlWFPrG)mm ztI$5T3GMUJLi@Z7Sg(4^!mRO=EV=3}pVZbt)hAY9Pf_(&1Uck-K4TY+{Bm^D+cxgf zv3|?hO6bm|?hu#hkzA(F)?N^c{3L51WK-4aD>cP$Wr#(7(u-D=)$v(h5b@+d#IW>TM`4 zs@?!`QS~+wH>%#oQYTgQHepAudYhuK$Pcn9(>6jCN;CH62R`?1Imq`}>fMSegH z?k(B+fNTY^$PbcRU9xo>h(&&qbvtBh)nm1s?X@HIume=|up_7*2D5b!Lm+MyM{=up zwhn{1RXkaTBkNUf1l&^fSWssd?CxwNRCKm0sLn>Qb!WRlJXI0NQx%czs~!u2jFvh5 z*<+xhrLmw|+LNtY3Wy8fNPeq{Y+veI%L`(Imw+||d{2*E62U%3T{XrJ_ zN#+BQMFv-d&ftTDIfDghX<3u{GUzY9>N1~0|ma90N4<7|r;%H=3jvs?s zRMTUHsTv#yRpWSMDNc~p)!;;-V|kJ=$MR%pj^!yr$MRI6V|kj;u{>SqSe_wtEYB1= zmS+ha%d>@!z^p#$^;*z^(XNmOosm$Bi?(|Wm2 zMxGHSU!H}y{T<2e@3PvL7liiZMPc^kC298MWubj}MQC4M7222Ag!biip?!HnXkXqG z+LyP4_T_D`elqe7%Vl21n7OKQtp#{xg^vqvW*{kVt@Qi(Yk$@j*5sP{G98}kwR z#8fFihPVM9$qn$?`WeIx@X7iGvgvH(OQ|V@BcG0Rm|KUaBeE&irbue*A?g`Zvd6RTR8TSNP7P|- zorbNC$g~ij7m$2j$kt8}cfcp>jL1oxj`WI|v?I;yGeboWvw-TMGh6pCE5se}NbZ2o z);S>VfKS%BkoD7%x#8B+k=`*6c6T-}RCG2UsLtkR>&_N{xDf}*jX21b(~&;0u*~Vt z?gAApEdr{gMcKNg#USp0M{)-|vgLH7Z!9TuIvrUGqNV!jNLN(ufJbr%JhC_)Sq9_| z_+(xVS)}mtLZ|Qw!koe@N^=T#6FP-g5;}#u3!TC}gl%b%^%OdVdkLMwy@gKUK0>E( zU*Y7Qj*QA5!dB*O+z5|s%EeXHmh0YX!Zd7Ghqw_Q$&K)`df2Whw9jh^v(IZwv(M`Y z?en@q`@EjeKKB>e=k|$+-cV?t2MF!+Mqs_}Z46gplVr(tZ_}i<3@VoR8OR>h zy?MBf4syu#A#8}h2`TAqR`gBC=BQ4kEueC2i7drd*}64Ui$Te{4YH}~Z7Vf}Z#$?O z+ou=pAgjZ-qtM|SEX?5>BF*6&Ds=dE5;}atgbv@%LWgg-(BT^)boh1=I(#FA4&ScA z2?K@{pTSbm8zoy&^mY>$MQ?X;QS|l@H;Ue9sgo*tW7v_4-dL1M?1^kjv`A{}@#z+O zvBzV(3>9O09H_CqH(MW&eIPzAAo;kEt@}f@I3QUMM79<^R!gdAN2(qNK}8P-gX&>C zTla7XRE`PAQXHDChe5TdChOtIdeN)FEk%z7m5#vf&L%=dXGenS>?pSG>}aSQ#~@2_ zEV6ykV@;dmWKMtf@lesy37}d!k*!-g2`b0QNERhRwl8|Ud&a3Ur=oWnL`(IecRDJ+ zAVu;EQe;u|&H}4(b~2xXEHe09p)>eAVb0+5r8$Ey5ITb|6gq=15;}t~7Ph6LcZtv$ ze5ueGe3{T0e7VpWe1&kbi(d0LAy@LwN?e6(O2@0!oa^2-!ZdKNg{pBKvJ}_L>VbQM z&~D!-%x>Q#&2HZ;wA;4`?e?ugyM3F`Zr?7n+jj`<_MJkzeV5Q~-!07FgxrHxiF=Vv zuH2`W*p>T*$(0A7YCMQ6#Y3{%m4}6Piv@aim_37v%xDp>HOP-ECNos4k z>lL4}N7K=4Tt){Oj9mwGu3r=UTyJZ-Cin&V#57jEgt#{a$-ODr`VGXrDaraBvS~j0 zUTTWp4^TCJOfULLR>$vWq2u?9Fvss#X^!7-LdWlSq2u?5(DD0I==l95bo~AnI)48M z9lw8tj^BSmUlZ(Hzb4pW9&E*Y)KOeq6P!X^%tup-8}rdrQk&+Z{7uNz?8x)cG$@sr z7TJ_(( zM}1;;?MOY$0Tn&W395&=*t&oWFiivOXUz2)E8hePbc)?rdSG z=&TE<&K6*&Hi(-}kfm4#*?vCi z(=C>jIn77QL9|q#kCsQ}=5{1EweyiEs`Zyy)Bd4GN@RlXe;&8JNOSmh5juP$ zg%01YLWggZ(Ba!n=bollVI((yr4&NBz1XAWuz6>e82pKC|QS|l{7ez0`MbX{5>XA&u=WT!aTTwhv_M15$xl z6cowr;MqDJs>LD6Isw^Q^jPufQ0+)P90nCVR6+G{I9vBngUWFPlDko|^+>1|MK`25u>OEDCijc6W9hRCIPcsLoDc>&{Mu%5f616elBFie9fcMdtKpp9&Q%od&9< z)7iSEGoW&ui7drg$d;nlJI4KW&>4J%&>4KCuq_q6tAx(rtA)>x7g0_3tEp z$sKiakrUbuPdtFIy5vEdbD^!i!kfpd? zR+oZ1gbw7L!W_uEq&bjx3mwRNgbw7rLI?6bp#yop(1CnF=s-RwbRZuRI*<>8^-B5( zT!}}MC0EkNlG-{_`^4kyQ6)XT98ZAckuGQSb0vLJZ)>`f<|%Y1=+hAE5FtzPY_>iJ z)#CYNeF522N?(+k;`b87N<-;IugL27y()D4UK8f{y)Mo1dqe2>y(x73-V!=~Zwnp2 zcZ81LyF$nBJ)z_GzR>aeK-g~0zYk?Qe83a~rZ_x45*MZPV{uVRKM^-d>8DaBRZ2f& zM=qtGqwpJ4WK*Vnnbg(;)Hl9j597QaKS705G5S^G8&DPFTedzR-$DH36vZP_mSQ$!QA%eAt1(A1&xtHDcrKwccy3|N z;CZAugXa}GgXa@EgXb4IgBK9CrBb?}&>6gt&>6h2&>7rC=nP&&IC3{gDvkz~p2dHoKRlCJkoh!p!CRekK>k_M?76DpKm;$sq#AR|Mm&s*yfYuZ` zKx+wefYz4g0Ief*fYuc{K; zUpCdtJx2}{CSNv#s!>AnJabv?%N9cWvZXNlvXwOZvbE5@3=-OxZG`q^TcLf~PH11Y z7uuH{g!W}ep?w()*5}9}a3zK&OP(WlN@`09W=W@E?9m)Kq#Qeg6o{rDKMdE~8b5v* zfjTh_-(8?`j6{}V*K8dH)nd0~-5uF9MeZRrg>N)ejWOv(V`X*t_7pmNASu#q&7{F`FqX@?8sB(p(xyKj%-S_YEoN|PtQ10cBCFofQlYY1l7YyY~91jP&rOP^1ID!Jq@bG z>B)KqvOYzg3Aav>z2hwG?(A%+=k$vJqnbV(r5mdBv zF{qX2%IMwa3lWHCiv3v%r{nXg9{ z8GM7#8GNHKXYftZoWVB>ox!&Vox!&Xox!&W+tL`jUFZzHL+A{?Q|Ju7OXv)~TR7Q2 ze#qZ*-ox9tNRDjE#rxEji{AahG-@A!xJZuVBDt&{wGRvJ^CQCS^P|%2^J7B${J79Q zKOwZwPYUhxQ$qXvw9r03Bec)Y3hncAV7=%)4|9b)S#r^PF{$kbRd*KGd5Jwm(R&%> zkT(^*SM;_<(R&rusq`AegUpeocq3ciglh3tvc8RMDthloP2qbN;s=`PMeob%@O>b3 z_&yZo@O>oB;rm$V@O>h5_&yane4hy&zR!gY-xorM?@OV>_m$A$`&!tp=zSwwQS`nQ z7e((oaZ&WX7dMLD4^k&p^nPSVE_y$qRN`l3Q=$M$bfF}8mPHMaj? z>jUy9RF1!prT9Br|AA`pZ?gV}Y$&|9@%F!8Fidm8Eie7it#+gm# zRP<(tik9X8)zX}7-O^l8Ip#)|Vjg6>qSt-Jo-wb?sp!oI(NewW&5v4+1(2m!5Lpzx zg}`booXlO2MFuY-bOtXf%o)6xG-vSQLTB(2LTB)jLTB(&!nRcOx(c1aZ9-@8(n4qO zGD2tYvckzOdd=T+F2_47u{^RV9am6uu6rvA)4=TpaXB4Xite&{;Pw#O?ViHyb}wmm zySLD8_YvCdzCydbve0g?BDCA93hnl4Lc6`X&~C3G%-?hNL*ptrvdNXT^b)(WwlKM} z4#ZV*Bv;90wJZIFc4d8Gc4Y%;c4b4MT^S&>D;o*z%Em&wvWd{HY$~)X1BG^FGof86 zflcS&o1=1}T*k&Z_?CLPec4KweAybR#vo)VwvpAoY%8=c+X=HT+e@=AI|%K|jzaq~ zSZH5{2<^*Ip?%p&XkUg2?aR(W`!XD?Pe&u*O6-y>c{&=I)Yfv>D|Tg%rXzmwH40=f zHvQsjH@&UtI@Rvz6Vq7P17hVMBr6AH>sY83dnRijo93gvq^9_lA%4G^UbMHYj^92) z$8TR@j^BRL9KZdAj^6=7$L~O)<5v+neg_F1zk`L2-*}lWi?2gvE9Rra z#Km>0s<@bs4i`7(qngyF`6z$Sc?3K1d^8cI5=SDNGVQ3OwjQ9~aWs17+g^l&<;9?oFv9?pcy zaTbzaZD#8^P%X|)*7K0{`RIJObw27F7hrd17eYm67lG>RVz%z=5~v)PBDsMZ*?vA^ zftSl=PJi|lP|?zrpjx_$ty{Vp;>n3fo}7qmKOc4L7T3v~=A-K&TB^@SH=vf|MkK5J zAdC6vX0RH!B=fDvB7<)eI)iT)<_x|=nlt!Lp)>d{p)>eyp)>d%VOttw_X?fC_X(ZB z_Y0lD4+x#X4+b(kA;t;vh{ta79S+*hsdU?_mR{T zzmFk)p_yLvsjQCQXF|vCb779(7t$QRFNKcZS3<|{YoX)!jnMJ?R_OSBCv^P27dn1F z2pzv4h3$Uv^^ivOIi9eA|nf6ywTMtn8 z_?tZp$$mUA1=8T|SB-x`4etNg`hawpUk9WkvJ_JwZJiRT#Z<{UHL|tpvAoVS+L3yg z7Aks}4pa}*vvpgYpmNNBEX9o3IulfjnUi%EWWDNjhFhv0>+j5p-JQ(_6`jovsf3kWln$gyin27e4tvIpRHS30ODqCBsXg#TdH2~SXky%^}0Z` zRIhrApq67%WGNOy7FBO?uo_Dw^ODFSgO?IIgS!fI2DeFb1}`mi1}`IY1}`gg1}`UU zOI2@qp)+^|p)+_zp)6gvaPqFsPx6s{`o-7mjcfLk_eE!SIxVhAvvNld{R#S_ zvnNoAUdW~d@2$NqrG12{6!e9vu`;q0tH|n7u&U63Tuqn*xwUWK7g6AY%cI0BZ8%ia1M>gf!9!YIIM15m4dl>2C%P|I0 z%@|*ev7ld6t?47LpAX|$mqhMd{NImQa6+P?^s)qyEx`zXy za#WC|I4D~WhH5cBSr0+hi|GWorI@nB&7s)c*z0m%%5faB6vrdm7t@ux#|bj0VtOJ(OZ8%U5-PWSBf0Gx zSrpS#LDmRL=F^cy2A?5x2A?U+8GM#BXYkoVXYe^fXYjc~XYhH#wp2{d7dnG45ITb| z6gq=15;}t~7EazJ4a(*mjj}meUv*wW>-DPHEiOf?f7N*zT#3t(P04%(YEd|^6sBQ+ z6;zF@kz5m()x-W;p@VjvFbC~=X%5;ALI>?ep@Vjl&_TOd=%C#qbkJ@UI%u~E9kknp z4%!`H79>>H%6Q?pC|SSDp93Tq#$xjY|{vp%wwUUzh^) z0K}DYBv;C1b$}igIzW#IbATR|<^Vk=bbuZgIzUed9iS(L4$xCV2k2>`1N4m00eV*G z06hmbU1oV6m5b#vHhg(eFZV3@k}&!5GQ{oVNNy*W)xNwYv@fpom^1jf%d?2(hAA+OwS&DF61|6oj?u}%x&ecri2;U`k>4Naa%c(+sd=GGsJD>$vPWy5_4s*m|Z*E z#~fh2k2zuWF&A6+F*n4GkG5f8%VR$8w&080HK}UNNA@w7TW1egm!vUp`9Kmw9}gj?Q{vO7s1V8 zE}ADxE`nPowPkd%+R0Yz$whE$6ps4;Qv?U;txZL68+0eswh*_NBe}&qTX%rC#XMOD zBb$og5UDAKLm_T4PcIrKt7Evc&@mh?%rP7x%`x0X=opR^I)=Ln9m7#V$8a~HW4OD} zG2BDw7>*V?hGT>+MR2UFMG@RnTol0&7e#O{aia*9rB12{j$=nIf_tNIlR2^}-}X&v z>tX5^`?04O<@ACwBjZRSXBGtbuX5Vx5p>jY$L5oGn4L$$+|Zu-@JAu(~^et-CuB z;#PAcx0)l{7eN*;IYnmw>8FDAwoZf9*6D2B))^2tnCSe-GH$z-;N0#DN zSv`ht6WZ_Fh1u^rq}lH~h4%X{q5ZyFXut0f+V6XX_WM4e{k~slzaJ3V?+1nbM{U9q z16=)i2#pKr$R<}F(M#;gqr&9MV-Oe8kz7cZ)vi1#v@1^uvnx+avn$UC?aH%4yYigS zt~@WaD=!G`%8Np~@{-W5yezaUuYgVG=&z!3EnUXOIr{5*xqW#WN$QoJpz zeR)S{U)~jFU*3~uU)~qmmk)&Yo3Trndw)lDSW>{+zFmu^oOht-=9K z;p-@L_@)p#d{YV?zNv%`-_$~1#>$UfnMSr^UYb^1%uCaWi+O2!absTUBz02r(hTg# z^U{ncm6!?HlxQ<2we|S)j#=14vFyivDiDW9-wDhLs_f3j)(2#Es2p=3OEG7*&IQ$C z?qr<@If+@RPt2W;Gk8^L z&fwLA&fwLB&fqnK&ftE+wlv1p6gq>~5;}v|7CM915jum{6;AGV0*!O>^>|w)`Xifi zaecMrqPKxCjoJ;NY79V@Vk22SYBv_z=S_s!=S`*A=Yc}|yqVBGmxT6tbD@3SLTI12 z6x!#lg!XxBp?w|%){EXYa3!`)mR$6WDj%+G=Bc!JA?E+O}WO~uAvO0XDgbv?s!W_Qcr8#_i2pzuB zLWggR(BT^^bollZI(#8?`1TSyd}X1-H%{2D=8ru=@1V*LGr*8WJ}TO6=%tu{_L}%qNQ^{wRA39w{#xF-P}m- z=0>&@z20%5%&F*I1kqBx=v|Cjj!TfGxD;6wy~{vW-bv;wkVOVxDRc&3CCnLowKQk& zH9}|bwL)j`bwX$G^}@DP^llJ3gKrc%gKrW#gKri(gKrT|cF|jlMYhs+mbdaY7U@AY z<>KvX%SG=FVH&k}Le;nnS&F-5^{Bl^XrJ#DW}okqW}ojD+UEy^_W41feSS!2pC1<5 z=SPJ0`B9;LeoSbe9|!A2?+LgPPbNz)dQT;_bx`$*r`e;T*N>lCf*f*xW62F$<#<+a zYZSfbP@PK8L*;k@S&A34^(CklFDL6O$flzAs?-#|*Pv>=o?i5ZtPbCsLWl1yVGiHh z(j2~bgbv@kLWl1?p~LsS(Bb<)=lRA6`Nl+vBV81E{h6 zBU>MkpP+L5j4Z`3+4?I~i{Fyy~DLI7>!yH#f3<(d*egW|KJ;z1bmJsu#UEP|GnVvJ`V6i=sC- z$g(@hJTJ1y;Q55k;Q56)gBOtI3|>&^3|>g+3|?614DKRqOGR%Hp)+_y6}*ePG6F@u|f~BDHpq{Ef>8uVH&kdL)BOYS&C(4^{8D=XrGrC zW}jD(W}jCS+UIUU`@E9SK6e+|=N>})+*4?udkO7xZ=rqe1G02_ea(%&sFheb8FSrR zMK8B6s|u4Zt3lOR9a)MsWVJ8-g!W}kVfJM$Y4&App?z6LXkXS9+L!f&_NBkjzN{~_ zFB=H$%Z5VxG5~D4?647PB{r6^aoJ%Lz1+TRDonl%gsQO_lGS!(wJ)0s?aLOz?8}zY z?8{a{`?9srz6=uDmu-ahWm}Q<&oy(j33NgpOZX==hBjI(~Z#9lw2qj^DmQ$8SHO)L<%t7K}Hab|`n2p9uZJLep9oUDkBhN+?P%3dKvMJLJOKR%@ z>KRq`P%8VC<8Vktw_i1Cpo;DhY<)l`LghFTS&E~w^=POT$0X~q$Vtpbz2Z3SNIe`6 z6+N5)s)rNVx`&e>?j=ETFG;qZ3f1DYWIY{OpN-CdTW6!*aVB2r z+2~5ta$JQh#ns4SHo696)tzL%4q0UI^+IRx4Z@tkH%fB`-z0Pf-z;l;ul-b~iF zkWE$ZZK)}K??BafH@)aRSslOkg^u3`!W_R3r8#~d2_3(Wg^u4RLdWk@q2u?N(DD0R z==gmhbo{;)I(}aX+f}`oWEEJbHz`>MwS+GmwH{n@iYMN6}TYH1F(ZfQ=4d%2O^%Z+Sb^?LP;d1Ovi zZ(fL&>Q!$()N;&^EX4xIqUtROvg%GUFN`cQxQoykyofMo@S@V3!HWr!Al68 z!AlC;Qq@~Z=nU>EbOyHxoxw{Box#fpC%5Y5M@^0VseS^xEbnKf9%NHeF0V#i{#FpC z;kzPKjc&+NtR$<4Z+D@c?;*_2_mpPmdkO7)Z=s#&ES)JpV|v2g;sre1De))FRP)`qIF4zd*M%4%QM6WW*l!tBfX((KCyLi@6z z(7p^1+Lw)l_GM$Cec424Up5ummw`h2vKd$}yF5#Qa)H}ir)~Z8bi~Ic9PZc8zyx8 zb{6LN4VUKljSxD1y9gb>kwV9BSE1uKO6d6QCUpFE7dn1>2pzxC!gi&6jBG_IA1f|O z`JUpUl!v%c%J-5wsZw5MM=s^#P%5!EvMJN{Nowl>>K*&C#}#WosHj-`gQ{2uu=N2s z5aRA^BzI?L>%kCrXD90+$Vrs)J~2T%QcXM*Dtb5!R1a0Q?%{BVhlwCdaYVLGglchQ zvL1!3m-3_G)>7U#j=}EEj)jWOjsw-%@oe4M2~assM3&+tWcyOiGv`m1IsMtEKt)TZ zf@@|vMA-}gVneonJ+{Z z8GMn@8GNxYXYeJ`oWYk0oxzt0oxzt2oxxWK+fpgNQs@l6O6Ux}TIdYEM(7N_Ryet( zd{jPxy^gn4;(BCLF5aNFT=i}grcrwnRE?XFrMN{_kJ?*>_W3qp_W5>c_W2H>eZEs@ zpYIad=evdW`5vKtzE^0U?-SbR`-S%T0kB^69)v6LP_pEz_i$2M1{F`Me}p|n)q51= zkT+Gm$Mm+Qs`og$bLk1F98V%k@l>`x4b|eAWPKLdRP~;dn&S67RE-zXi(Zt~@q0<= z_`NL5@q0y@r-`hgR?;WAz_pY#A)q792qUyab zE~?%K;-cz(C~j1}kEBkj>V3?PT=hOdsl=zqrcC=RsjUa7dwk9w5AH9ZVsL*6YH)wW z)(7Nkh#NkTrT8{mzk_P=eX{<5Y^{1c`Ts}lNaf=vsOaHmP(A#@);;_RmE$*LDSpq^ zKcHItnXG>y>s9Y>xTWf`IKV&H-PylT(b<2XI_to1Fx**3h?U}ztQ3!Isd~L)Dw)%t zJvCIcG!3Yhre*7vrh~W~jpTAPvZdZMsj;JvZ#8UL2lVd z=Gl-%2G1^Z2G1eP89b*nXYgD?XYkxYXYf2iXYjnjwp8`z6FP(E7dnF%5ITbw6gq9T_%O|ko_&MRYof=EWjpr9Jb2WYuGkHHGT$rxwzxe1LUC@U8A5RP%Ieh5Ooz@v% z9zLwxDHh>{+;O%jn@TK(Y#I%VqZV~{31O-mOG4aHf-FT>SzR~UgpT^s!W{Kwq&e!# z3LW+3gpT_1LPvcCp`*T{&{6LubktW8I_lkpj(QKUYnnqw?cmj;dt%||ld?BXo_p&Z zo<{lzlRJGOem;rh=aaJ9omGW)XEkAVXLV_IXAPm<=_j;1YYOeoT0*@8!-aNagwT%cBD5nTg?40Dp&c0|v?IF-?a1yz zJF*8@pV&vkl^ByO*^#kHZJjsz#GdRaCiVcSYE2XSUV2;8#9l_9n2OFgs2qDEOR-P3 z?hDmozhvDX*)*{qAT`DBK&Tp(^rC}gb^Hz%I)3AYIev#obNnU<9lt|`j^ANI$FC}M z{0(gc6W9q zRCIO~sLrlt>&~u$%5g1{h31j%Cw89Rf4$7<&%OaFTDlQbOEd~p)>e#p)>dip)>eN;p9&2BY#RI?iKmfGiTI2f za>;vEn1<|gP&J-Mmf{6jJ!D@L+ToXk+2NO^+2L1&cKB7H9ezz{hhG=k;WvbK_)Vc5 zeoJVF-xk{8cffkddl#<6d&!bZ-up>y8Bsj+{{!|ECGSI!McTijh4HsF6J_TOW|=AWqqloU&)@3{Wj* zOxBr@lPGz;VrK0~wPO~j=%F*H9%g0h9%h5eF*~vpb7bqBP%Y+4*13`Ok~a_BTJn0w zyx85@d{EKZ{Gd8pfUP@Q5aK>-B==b(TS{J^=pu9avloGimKFuo(qe4g(&A7#mOz$b zNn}gO>l;hSoJw9-h?eRluML&oG9vjcBeE!Y%YxNdE}54{78$&P&>6ghOF1g$KjSKyl>BV0=qkV5-K`- z3RGuLvvp_BK-^M|EX8xk_EUJ@Uh%xl>Cb)vDq4CGR7)?hbxSWp<#+|j^FWa8r|`bL z<29Mn6#hCyOZ6%I4b*bHi7dri$YKhA8?44V$^0&|$l&*c&fxcjIfFlt<_!K&=nVcy z=nVc?=nVcu*p{a7Ple9l&xFq4&xOw5FNDtEFNKpkg%_V%zT!QV_!`-ih~KCo7rk$V zX~=#DRpWaki`mHPA^W4y4*w*~4*x984*w#w!@mmc@NYsp{JYQ&{~@%)e+upJUqUvT{prcc&R$flAvgVYqi86oZ#NiUjNR>yA^q2t$CnBzCAG{mj^DgO$8SDi<5VG)y!mA-O5OtEqU0?oE=t});zr3^Sn8xo zUKe)clD7y-B^E_CW!hp%Z9PEz!jU~5*-Jph$X*iE$X<%A4@g&tUpON9g=4lZ1Jz>L zWL*x~Qu2E6F#YAVBh`)-prVHrLG{p$t$SDrDo1x@DSBjUPpB5XlC?LoUh?|D?Mq&d z6}v@W?Cxx3sOW4JP@S#H)}5^em1A`zcUmLcmAoE20luHi>CavhDq30#R7-2KbxZ3& zpKC3FUFEp!GC5;}vo5jumn6;5u+YkX?ij<<1n z8rhVKJ0!JzF81K*^*gE;e`*;F5~-$7EkpFS#;2B{s6GNaLEM&&EXB^*IvlFSh-BRb zIf>Nl86&kL9phc0;uwztb&Pjo>mGK8%CQHM6Y6Xo1Jz<|vhInjr)Iz|MSDTjD5qD9 zlhvhYZ=nz5KEiw;_m$=Yxu4Jna(|%@o}p~b-Xag>jY_z*NH;M>m;G$b+XX$Iz{Msoho#^P7^v_ zrwbjgGlY)UnPB~c%UN(G&Q6v*^_`>F+L3dG$&vG*YMhVc2aU4Ykqd=(U0WXXhz*}WpxPe6FP+V3v&n`kme9RD0B!P5;}wr3mw8ogbv}OLWl4%p+oq%&>?(6 z=ny_BoS-M79Xdb{UP$x!Q!*BV=V@^rgq~K$haoY<&x=#oNjH4ssI3vQNCL z9jREp2NgZM52}X`*t&-gp>lkLEXBv!`UzBvPm}dCWW88^4!6$Zed7!4?(9pb=y7g?n6e?q5lhsD60!X2eKg{KfYg{Krc zg{Klag{Ky_rFncBp;LHTp;LG|p;LHzp;Ne%aB}DI;-kw9yr&W~BAXI%CN<=;H?uH} z*;$}!bVl-%Mp->(XA|1t*@fBRIi%U)IfZt3E}1|CPT^2`oA}s-xV@YHw zmde(yP%YY$b!lW%&09ulir=yjm#fo@mY3D>TS4gfttia#>n6?dTS@5nbr(8*J%o;5 zPod-2OX&FZ7CL@?gpOZdq2sr*uyMYSO5Q566(w&~aZ&PC6Bi|Kb#bHQts!+%C9fYl za>-j0r4nl)n=)gP|?y(pjsNn)-CM}m18)v6eEx= zC9ikvB6BKvBOzLgkkyVnD6}IF39};)OS2=72<^zD zLOb%9(2hJVv?EUl?Z}ftJMxs!jyx^2BhP?!N1lZ%@m#WGN1oSf?Z^wliDX zAE{QJ?zGO7uw$+g!cDGq5b_yXn%hO>!)D9z?JwlS+XO)CAFoh zvSh*U?4hdmo1z?lfJId;K6d`8xAB>CdOnEpNSMD+C#KoqZ-_N%kfr!HTmOS<(P42} zJ0hFTz^0Iz!Z#&Ujj7U$rk2&=n?~sHO)Jddn@*a;H@(o|>m+peW)M1jGYTEPnS>7C z%tD867NNt}S?KW1Dr}U!bOtt?Y(?3dU0j@j%^@zz-kjn_*_%u1aeQt)e&h)wPweV1 z{}s2n*^$q{=0T~%yvU|fH(yd)k59LlpFN(07J!OLXhBeu&_Zl|Ko*9|(FIwGMY45K zs1}PQ>*C1PX^zz&me7tg%`FKPJuC&PhpuehLmR~XA4u;1$kt_{S}d2W%OmU4+zN2Z z85j#htccy6b%Tn|Rsz*oced`V2gGyskUVD(+5QZSN6Gh=IsMsvprWO|pjuj)ty@|J zD#xnGQmlq-e+ITv&sbgNbOyEtL`(HEuzslAyn!smTFBxIY;BOAEhh82$RdN+6FP(Y z3v&jqFU=XefzTPeq0kvTKz*V<0Y2C+nWbrivF*Q~36RxJI2`G)`8BZ*QT)w~sJ~ zZ(nH+-+n@eZ-1e~cYx60J5cEGRfG=TK|+V`V4=e|Ug+>0B6P(YSYLc#f^0>_J5*f1 zMlCKXURB(vc!x`!)QMh=9l7Eifx^{kWK*IYnbg+f(>so055sX_IgW-jum^I*8q~l( zmaPxSaZovqN0#D*Y&{XG#YxF}GIA0XuTPw!9jS*?p`wS=K=p7sTla7V#DlAmJh(br z&xUGoPO_ehtXI7A;MR)QH_pfI&Mtt8&MpMi*+p#K*~JhK*+cS>J!Jce$8+N^lR5p_ zmqSHMSAc5iO15t4Du^Z1kt`2`Y+v!ZcZ+LfP8IJuh?eRV?|Rg7+<+{_jmV%!#A8&EagL~`SY ztoG$?p?!Hrn0(?OZs{&q}vVNntHBMQ-MfI@w4&p(2NN)Pb)*qo- z{FJOeBby5NFH%$Zeub*>TYAy&vO0W!2pzsZg*kkGNptxA7CL9zy2F*-KZ9P8SV`lcaPR#-pb*eL{IyEa>ACTD~?x99<4|TTA32_f~ zvd)ccE#Ry@FpqYmN;of6^e`W&9_DB39u|OD{SnFPkJ-8~REsXjx(Kpfz!!yE3OI`s zEQZ~kEe;i(Edi>tCE2>OrJ!iZMF#g3I)hgh<_um%nlpG+ zp)+_jp)+`Op)+_5VOuKT{e;foHHFULwS>;#wS~^$b%c{!z>8DXb$L%E)J!_sN2jdwmScO6M8@ja|};;Yd(D9L3f>91U?T8p*ZjY&{O*T6D6WfUH-%6XBMM z$K&r$!tTyahKkNk0oB>5Y~9&uP&rOVmf{R#`-;b7)z6eU{n=+hMN4OcYUv!dZs}Zz zhwLGF$R4tN#p}^ME|57@ybB>(s#m;=P|I;KvJ{sfi;8zCSdGh)`Eq2D!B+^K!B+}% z245x38GN~5P&w{Fmg3%Qy$`Cz z{mJ?OauV6uGal5AbeJE4io^UcsKfjSTlerNRF21xoKk1&6HqOlOxCB6_3V5ab~Sni zs>ZYF70=1)YV^F&$MOYXK9(;^^RawM=wtb^(8ux>p^xROLLbZ5gg%z93w?OW3X&y)9c&jouL#)#zPuQH|acH>%P5QYTf7K43@lPg6cb=kheNDFZ&%yFK%L zB21R^2#bg;e@=3sp#&B6Lw=wN*#bg;e^I#}Nc9jxz#4%QDs2kS?n zgY}cp!TK4jf3NTh%;o81$ur+?daWJ#U6>sC1FFWKNN)L%)sFlvv?Korvm^gXvm^fr z?MR0uK|9h>Xh)_H+L0-Rc4R7{9hq8aN2U?lk!iuE4`9=wR$}^O%)WHe%k9ey!sN@0 z5O+)?OEI&o_GK2Ked#RBzRW7kzRV`HFS85n%N#=cGN;hK%q6rha|`XuJVN_2uh72C z2i8wV=7%e>K(b^<7EEeued!eov4{FHeyVaT45s=rzWxEMi{94w0JaF~#8fI5g;-b- z$-;`+x&%~X%62CLWgffp~Kfr z=_NOB}?tTZE)1SQ~RJ1f0R7*qH zx}~8|Id(#pVi>ah=?KrV-&y8#Ix-xhrTXc}2vnX&jpTXM$l`QlSFjqRl6f~|k-@tQ zoxytua|Vx=<_sPqbOw(VI)nEVI)g*lmd4m#LT7MU=nNhwbO!G&bO!GuoZRQe7azd( zP>WyaR-3$Q}ssFb^b8(Ua9f_F$nM9xu!eA0o{TPY~MSLxpzuFrgi; z3hnUWLOWa&+TkOFc6g%D4j&2DE8bCXC5}#(T=9-cYRiaX!GUAhqcf_mtbY!2ymbmS z-XFk@*V`H^Wt@QOJUS6#6-6YgC}!&^P%TbP*3*zp74LMZDST%@)i^V~=&b*bw6g$@ z>WKP2cX8JicXxLQ9?In+0g4wQOA?6nW`hSP#c6Sh6xRZ!NP*%lP^`Em0kWG-cG2SA zQsDdlXLdFz^!=Xqd%pI0ZhmuS_TD>oX6DS93#GF7mJ((0EhBo1Z#hG<_*M{Q@vS7v z;#)viLR-rN;B_8T>$*N8@cId!{^_$R3TinVhQe zeq`{!raW5^;njFQAprkrT+=kPZ6f$_{nRzLBL>|Odj>l|?AX{d_!-EKy%T?Bh3o>s zSsGV3OM9hzKya28(tWsotnu)9`u&U$PdEVbJmDaaPdJ3X@(I6!Z02vc!mGn8Jp!6y z9u?Bxaa9`c82BTNSHHe_9CG=v6ClsSP6GL`Q}`<%_6Nvjp2pSBJcH{;8n1zQmSXYR z=Rlr2od@zx7w}i!=_1HxUc%MSyo~Ed8V}yj6bp@a6@)t}jTeU?zD12IzD13zN8?=s z!saZ*H*oc|;6$Qq!FHmz1v?m$EjWoNTdCl1lGSqUg2vLHL{puK0)^rLxyPBFa2JCVKPy zgdv&dr$m|OXGEFj=R}$37etxomqeN8S45fT*F>4;zlbu=e*@D@S>GTSYyKmIUcL90 z$z@*N5k+3!gYZSYip-0Kt0ylOqRdNrqBk!Y7?OF(NR)ZWM3i~SOq6-aLX>&QN|brY zMwEHUPLz4cL6mvP2~-L^7dY0;EhOHICS$t)QviQmoW$~3K%Hpd)l*Lz(D2uNWQ5IiiqAb2D#MCvbn6g%-%%i}o zkv&t^>ST`suR%^#;58ZiuRViWi0~@#+6cs&b#P77Y3hpL$Mw_LtcMt>r|N?|da41C zda5D*$_i-&vYCx>^)s7zrA+oGE7O&k6@#*(o6bl938-zP41>Ofi ze1RHQe1RHQj{@%xoMa9V;xBOZwBUh6*@6cVy)D?EA=!chh_VF-5@ibxBFYwQB~}&+ zd@xbA;9#O`!68K1f%DRl~(RjF1M805Lr5g_k$ z6o2KNeh1miW4QX6$8r5g<25!ChGYxAM3gP~GEuhRD@56XuM#T@jTc9hEjXSiTW|tVw%}_-*@CYV z|F;_NUwZ~O@XJ^;5!W=$(Jq1?HAj2{-oXdSJ%c153M-AeaPnuV>LM9ISqUj1oJ7PG zClS5Un;@J-6w=$ce%w0osrWmL5Y>Da+&C>tjo7V zS(opKvM%2fWnHGL1eA5D5kJsI7Ro%@C_UMujWUou+9)GARU2hu@V~TCW<-2&Fgy!H zuu$WgrV(W04dmdLohY<-4iGHVxWYnBsVuMDL|I;Wh~Dzb%aAOud_-AZ`H8Z;3J_&^ zeL|Gw^(j%7S3#mIuR=swUWJLWyovzTwn0%aEYw2c9sG(jt;|RXqR2=|&?K`IuJDAW zRA!_MQD&qp(VLNS49Sd?C(4XeAj*tXB+86bBFc}1K5&T%i)G^y4hAJj2KIQ?W zis1owkKnkh+V21WUG0ZlTyibUNg zmF4G0l;zi*=q8hFQP2J-b7h`eTcIB`VwXN^&`si>ra&BH-IQl zxbv91$93xqN}A&tWIKQw zU_Ndf{>sOV2ieT8aP>1M;QHa*q+tW|Yl`KoPXwxaO#<^?lkr#HYYNC_PQ}&FoQCU% zvy+Am&FK`2*~ttLZlz`?-yjGl4qV~HfvabBG7E@**hPrv;Oc42bBVGs&m(#p^L&P6 zV_ra%jrlvGY|IOZvN10rRunZzRebZz9SZ zZzjqd|45WM-a?c){)s4ayp`E-fTxJE0RJG$0z6HW1$c%i3-Bz_ z^Mw!ZHo`dyJ?if~*)t2eK=!D=i{w=GcZtFOngv}(gjf4rK_J$=iffv-7AJxqS5ad# z9x-xGngBu#aU0mD;0kWBixcZrPuhapWVkQZx6W5P*A3mv`%m^{-O#ykH z-~#dqZv2%`xCz21rE$e4rM=QSAbe6SsR1^+UafPpUtoSiJUgkmpV>fV|U7{FQfl1+tm1arHC*!u3O~hfk{i zO|j5=Z$P+{(t7_Oh$Dr#;z%K`9&2vG9WS$EVWu6NYWuA)=WuA)?WuA)>WuA)@ zWu8kAWu8kCWu8j`(@bGYBZx2H387c@m1T07mvTgrm+~OEN#lxdbxUaAshUaApgUaAviUTP3!UTP9$UTP6#UTPC%Ug{8KUg`ps4zCA}HR}tBHzN&1 z@FN9*FT^)Q40JfR5gGx}eC4uOY$G)0&r)ZwO%RmbqA3Vx5OKvBM6a|3Xo~40q%Cnx zqrqD-D2lH&2)-L4QCmu7@wFq$;%iUz7N0LeviLd>W$}GRl*QMPD2q=g%Hr!pl*MNd zW$|?;%Hr!nl*QMTn7WJ=+X&q#^C)mXvSN9+022s`k8~gQh(4CGeAfKas3Yk z-oOlEgwTXmkmm`5fqX(R{>mqWfN;JLS3h%zS2`3l#S9bDa9ouFj{twHz#E#8kjsZf zfjkfU63B;{_$wb44YHXwT>Z=#Tt8Cajm%*bi`O0w^4w_zkarr1zw%C_KsIwUu72hi zTt8Cajm=n!g#sT7!kv@?ABUjL9FHqLC5@{`flmNVGQSq$iMV=N@Fb#a!IO#J7CeO^ z*@CAMWec80lr4BVQMTY2#L7Z}e?ycl_*3wX83!e%8IAt>9?W)RLG;)*kfUg=MuDdtuo-G*x#jkldaQG7c<@ZAuJc2X*fZx>M( z-)^F}_69~kbCvi>F&`ycq$MsX&`~xwvW1j|j zI`$bLJN8-pl@)RhWHZm>>Stc?N-u(@n3sg~GOizMyvB9RD~u4T<0{DWgg79d5Rbp| z2?-#4_6}Ek_RcH40m5hRgw&3!(s&N=M;fnjT{8)C`7kHQ^RQ$fAC`i@@?kEJ&2;1H zXWqp1LygzCo_UL6@!GdRo;%$E@=ka0SKjF!$Y%bDtDkuv*AF!wzVZElVxjRKf^a9L z@g5#NFwNYWvB(sP}QIt}tjfxRvT^1*L z>#_txvMx&!WnGpc%DOB~lyzB#DC@E;QPyQSqO8mEL|K;=h_Ws#5LQqsnBD zHmXAQXrrp+RBcp^!T-`m)e)gS($qVBx^(G+28Wq7ApD;`rxOqs88|ds+xDHZnKh9N z=T&OqPpnxR*EEf$4uYP+vMy0*`+A^BW_?`op$|%B`8FiV@@+))mTzN*WcfBB%JOYW zl;zuuD9g7wQI>BDqAXt@qAcH*L|MMAh_ZZJ6Z?yEH*J8iW?Nj-I%Q`ret5*t7-@4EG;lhKgUv1d-+thGvIM4hgJODI_Sw zD%yL!#*NLPh(J}sIV=oBwUQnm-D7H~l?eQml@|%JnNhgHWdv9J`==3_>4gR zFy!DHk?32I2vU9>q{q?_|WI%jISA^p+J z2AFd{Nby*uu*f@wne)V*=F4=RXkVWX(~U3}h;-k5knVNr{bG7&K_I|CaA-hegwG&T1>6$1be!t9IB9eU1IDEDyy>78u2bfF$GwCvsbh${%e-TF{U6Gp9 zBJWyvXdQEXP| zyyqp6>N4Zlka_DXsR`3GhN~iBoF}1b4Dk#PFcVULlJkStxF&vg9as4pH&Tljhm@S)4awlk?J<%(Bwob zzQe!(^Dh5*1}sl|@C-`##Bct@Rq5dSU^Z8w=&6Lw2apV*+U=bc4T-vY;NVcmA5xTq zqR6nw+O;EU2(|u*QZaysn2*7F`WVqBqWyBg_{N;q^J-2ZRQW48%LUq{t!$_CSBre8ph;-r0~MJd$IR zNc5W03_|((hni7g{^&)2QI=8sFd!z{{F}i{;w5aRe`tjHhJwr8e7QL)<0G-y9km5nL)9{{*^eYK+J!o*!VvY{9fpkV`&4)C@AyGo0I#bDNog z!8{@u6d7!0WH7JzIVT!cGZO{*gdjS^YK<~8Q;=W&K61F3g~0-%jI3eSs1Uw!R?0q+ zkA$W%voZXsxW_1Kfaz~$r=Xyykl;`jg4N7HQ6cX@7lpyj%t={cA&UtQFs)%>{$?)9 ziin@$SwR8*!DeoXii$U~g<8!#3>Fi=ijE1j1^Ocwc_}L{el^$(jSjF{&3qJ` ziNdkk%%Y5_C>nY|q|Js_U5t`S;;zF(Bdn!@!~CP8&Ek|+mNga=WtL#Dig@|Kk>*gd zB*Rrj?F@|wMOBodpqi}ms7Umm(iBve^%*%l%q+uj4f$aI2>frBrKG0#iGLJFpmG${ zl9hmJ8Xk(4Se~-l;%AX)*}+z`0wr~1rJIp~fstXMW<|>Cid5{Gk@$KJCG}*LN7_oU znO3H#zIa|#=%`WtW)%t=2tiO}M2yX>NfCXxk(MzG`A`~#5V+LSjJ?`?~OnzNa8 zC}|;dnr)a_mmwb!ALbv0j%?PWq@{R+@W>dn()tv%5=l%e^pMqTKuK#+Ktrt~WqW8y zSsPKwf#?#YqCz;jH=?wyXgcAcfo9}zs?Ej}wiAVbMi*f=VYt00Nn50UH1$POihMSKNO7_5fW z;>@#J0ueIRUiMHRC@&En#~u)RSVW^9e`Z3eTKhs!O{_g1vjo( zaN{~8m}8n&sZVIB;-qP5va>YKyKJ7#SET$3#EgfCFl1cyRP6vpa&uc#9|#R90}9 zbzopvwAlmVX`W^jWDPTWdLJ7S8E&l^<{uLrg4DP#)^`7T>~Jebp6HsjYgezS2IDB3 z`8jS7Bbrj6N%a;A9ncH1&Z6Z+*#<`W+d|CV|G$sv!yB-$L{audXb8(MCP37kHQe9q zhoF3DOcaU-V|;%h;d~-8$`%@q^`mJH5VCB%5r^P`qPo6-FxDK1YntjBgrInacx*Vz z!}Nzpl${*D15}WaVP+tMA5B$)DD~E|6`>)brZ``=MnwjOM4N*lGVa4$R&QY1DCe5hIwCaMHW2C}29jx_ z;YOKIji@H5(qRxz6%RlpfsxSz!%TCm5U{!f!|pk#C?P*IU>TG zD?)s?sIW*|v^fvqsiMrIaa%Om`4GrKVpwR?yJux_@B zpD+|=)-tyt2M5$5w@6cbBBm}@aA^dj5gni3YB9Z znrNW^Nb_eA-7-LYIaV~Q;r?cLOw>S+THnd|mb@eW>zx}HPrUa5yTl#tF6Mtrgl_bt z2nh8TN@h0`h~M)T%m^yS{6*Zjgp>;@NA^A9X3jKH?z-$1QjdL5sIw@l#(m-zl{|@A z5kn&bhM4xPGpz#{99f63Vo10$nGV&cR}_vwE{vK6I9V$i{?+}tre3f?n4y8u=2gh?5n@~` z^)7%PdE_-Q_+u@A5wcS2%4R&GeSL0f8G2@FZt0yjO){jy5}IieL>gy-dSw=!>DoI_ znl$09y4J77B-cce7P888kOO&7Z{P=BeG&-YA1$=Op>y(uKy3$&`{Nf%navo&>+Otz^7Slfe7%WclzsC*L%V$EB)RuX+s zs73QO!UN1ZlyXx@x4=S~LC**~U1mKCTpzRP+4UT-*yYl5!)ljT&xakb0{SQVr+PuX zkX~3Xq8HVR>BaRDdP%*MURp1sm(|PZ<@E}BMZJ<*@9N26{uik=|HuqBqr>>CN>Px({|cTIsFzHhNpVo!(ye)jQ~)=^b@l@1z@gXT1yj z47%xldUtF!_0&Jtd+ELPK6+ohpWa^|pnstc)CcMQdVn6N2kBOQupX?3=%M-$eW)I$ zhwBk~q#mVzshfJVZqsA*Vft`=gg#OqrH|If=&|}(eH=dc^OZh9|5~4@PtqsrQ?RWy zO`opM(7(~Y)o1Fnu*o$?pR3Q)=j#jf@AQTGB7L#GME_o2sxQ-*>nrq?`YL_3zD8fG zuhZA-8}uLajrt~iv;L#LMgK|Ps&CV`>pS$H^_}`IeYgILzDM7y@6-3|2lRvbA^lhV zH~p}FL_ezkt{>Bn>nHS+`YHVn{j`2YKdYb9&+8ZTi~1$~vVKLss>kW^dV+pUzpmfV z6Lq`p(35nho~)e4W~A4Q44RQqGcsvLX3fZ=8Cf+Wn`UI!j2xPgQ!{dD zMsCf>qZxTMBcEpE*Ng(1@rh=9su=|}qmX74){G*WQB*UEX-08uHEKpl%_yZAr8T3B zW|Y;8a+*T5;= z&1k3@jWnaNW;D@^rkc@AGn#8g3(fG+jFy_wN;6t(MjOp&s~PPyqrGPMYDNdm_)If8 zY6dnvJ86cY8J#twi)M7yjBc9Yry1Qfqlaen)QrzHqnBp%){H)y(N{D2X-0p|7@!$n zXvRRz7^E5gnh~HGftnGd8CK00tQoWhe5)BVHDi`$%+`!KnlV>1=4r-!%~+rr-)Y7|%~+%vi#213 zW_+(1OEqJeW-Ql?6`HY9GgfKFYRy=q8EZ9Too1}pj18LcgJx{hj7^%cSu=jrj4hh+ zlV)tyjBT2+T{CuQ#?P9uQ!{pH#%|5{MKktj#$L_Xry2V-4T{CWIMxtieHN&A9Nt)r*jAYG7(F~VnxHaRZX57+@+nRAlGwy1} zJ7-8ILsMv1UBcjHjCMOf#Nq#tY4OsTr>{F1P z#yib;uVEj@&@6_A7%VOlV7V&u0N1uVuV7UNTkQP5%(vKWOeMiGlq)M6B~7{#%ZZ!t<*j8Yb(w8bc6G0Iwu zau%b!#i(F0Dq4(67NfGosA4gyT8wHIqq@bYVKHi2j9M0>w#BGpG3r{3dKRO;#b{tL z8d{7-7NfDnXksy%T8w5Eqq)UsVKICx_$Qx?Ru-eR#b{$O+FFcu7Nfnz@U<8nEXHRR zqoc)uPeCV(VOWgL7Nd*B=xQ;#Sqwjm(cNP7uoyip#^)BJ7xuvar-Asc7%c8_u<-Tq z%XmOr6H(LGXKs~9AHRPp`1-7W@_FIB9p3r+?5=QSe94$RzCMS(YySJ>Ej4_7j#lfo zaCL_TzCOn`{*d9j;N8AHC;LXtboAKe>vM|#yhFG9zCNe*;~O3=+u`eT=3?${KQ6(2 z&Yt@H`t0YD`+S|sLd_Fn*;Ym9#a7(cb^_kSG+%&4*SbZjfY zvU%NYS`MhU@RwE{4M4}F*JbuU z0DLj9*6sJb0Wn<~#_Y)tm{Qe}Ixd)+ZC4qRSRZ#-=;O7$%gOuC1wM(xiYlEuTubBh7C;E@*|+<wNw53TMB*UVTr`&_yG)z^QO;Lq>3vKJ|R z5Abx|+R*rVfR{shW{E<5U3ni~H*2etzCKqoKW%o>Q5BH=n>YVh(N?eKDI2(>7bfyo z^DUbC+8+oI6k z&{06&+G`K)Lp5FX-=FdCKYs@dnfG+|=AD4>ZT1Ook@u_SF}@LCnEl6x&gX>eFXE@> z0}S69l&NtX01aLXnwVBHYD8F>5Z?LgZoT(Z{2PG&fA|tJ`0dCG>xZFsuFlUq&A)ja zLcg$vgMI}pENAOJ^BG`SVu_K#rva+bUR`;D%qan2cptxXD?V|I3Y{{HYMNt8_Lu<-zt%+(#6QWiE22Z&eB1vpr-dB4r* zDOV5Q{%*`q&`4KLmJajxs{(+^t9)V<;7s6?R;Bs_&h=~E?gbkE)wA}948QfEWKv!9 zBf!PZP0!Z<0dV<&-&jBNl&c9}@2l753gE`DpZ9-#9)J#vb^}PMF(A1=pCwu!3qdsA zih##QI~AGEoIY8QzP5`ud^&jFXU(PqUS6&>zt{v{pEyhD){(ah6IM_?05Y_mm~^f- zAgjfZ?jl-mT-Hr%wiLPq$X03i!_K&KT=vtqioO36kgw*JuwC^5g{@UDAN2%(>P633_*28_UkzgVzz>^`CRGGobylXtZrWhar~|x1#~X`4;t^SQbqpuG80p zyM=ED7~^tXPUs8hva(y7Urj)d>EEBfg2omnG$m>|Zon@?o9<~2==COaQAae1)F?EA zNT2SIP&=2o#i&>LitJ?ZdhgR~!{j3szJjD*A;_Q)d1Wys!5GUTC-ddiq#_Q(eU+lj;Ifi~3NAduG{(ksE$&hBq+pH5%<}3R&}0}r<2E-Km3#I= z06Si_zW~(x<*xzuo(}17Xg6R72Mm_#-mo??>_3ZNhW zoeSmAn~6p!uYw-^>F%`r>4cXpBU0PrDtS_wxq8j|hR?nMh_MbWAwJi*7hkVKb;oCK zTo_{+AnVY*-;AvU$US;_rrc;h@%bVae%l2)JU;*Y+M~{N0esSM#m2Gu0ma%>TQ_P1 z07G#7d4m8Y@_ggdB0YgN*OCBCUk+UEM@f^|O&mNrw z6f4}cNyrX>H*txe$WQ#|KvKH;@Y=JErA=IR#O54R*FwV4_*1l&RH)QAL-lW}K!VXZ z;_x^?=f0}mj2XFw;DggSu z&(JG&0idTZCJ~1Ky$YaXea0xyq&F+QW#7BoERT#PsV7moP4~-o^B0c6-K>&_tCR9QEIOp_7J2nHxXB*S^ zcM~wNZ0_^p69H->6hD1(e8~nZOf@5lN6Rmlo$YyM%*aYkwpC2jF*^p#o3^V|W;=kL zpz~jhVv(^yE__*a$Zgi?@>*J#8Eikx`#jyZjE#Tw@z9L1g#c=@6wg&bEIY_%=CBoD z%XjNn=7V~V7xRUI05N+i0l=s;ZAMMNFAJ)d?Ys}Ld-24T?z{lZDKTFHVDeo1+*ZJ^ zkJ}Bu))R23%uUB9eEGvZ7cK;|zpI&5{PBy)S&p*ttA$3qnpwr4$&+iyKj#qTO>_S9 zdnX6=f<&wah666Q`{q(MD64oZkN#gO@c{8f8CDv7?F0E_pt7tp;4c{yE925?356LOlM)^Q1# z;Z*Ck2$B+KJFd!Q0jMQ#Lec(X5*9&Gr$V9Iz2?rusFzT9Z?28E9x>{Ax5DQz?j)32 zvZ=|%Zvn+7z|>xr5^4f0d=juQAG8VTD?v>Z6B;%+i-|5Im~)R@zYEZ)&M?ea0Mtj} zsFVb*i2CzY8#?AK-x3E9inbkq)6GI-0Yc5U0W@#FW9Vx%n*^$j3h0ap%4Cty`lpMH z+n`@0w9d>m8KXFogb_UR%!Ce{gN}zpEE!Qv37uchz-9+P%_>*c z)&TzNVUS>b4Q^(8(_&+TBb_1xh%3K6s(UtWI)N(@DAJumkg(6BYC)eyVEeXJ) ztoJoQP5BbWFZ-<91Pp%(6AsNd9C`$xR@n&?<}bnfr;YMTFxdROeHFINEHSIV95 z$S6wce==hNOP=u*B#9H8D##obJ}vGptiJLrcJl=)#2% zNT_4h?FIai{`YOm7XwaL{$hF2tN<|uU}sd*xdb(xOSmAWR*3S#mCtKreK!S?1R5R2 zF=|fiP%G==%BDQdGHl^$I+t+e?X%tORzq^F<%sX{Uk0ctUqbw2%+Z#ml_cC>06h%J zjhs}3gk4-r0~|dttGx|y@8KLDKr>tPVL*!L7yu4vt6l)^zTD_jIXghy4?|LdGE60i z1yD6es41_rcwr8z9K8_mjx$9Y;B8C_6c_eTg*BoPB<~A%ty`iABx(|PjWeWnXbIQE z+$0!~Ve_D&qma{UwEhgw0?2l=LDv$fEq{s7p<t@{3NfQP?W234DbeC861en9D~&Fpbb=G-#{ zyw+aWBOy@+ooi~&bWPbwugz)kRl8j8kVefLt|^nswO!HoehyxRr~~6@(gARWT=peE zOx=qD61mv&0o1> z86+$g0JY$}uJV2zMjYe=QEG*D9cv62wjfbUksBIKxhSX`YNCHb8N6{O>l18B`}!mn z61E3Gg=+gytpGJdCF*r)AcchHpe<!+ZlOF+~(V;JVeeB9;X#X_p=U7HUqRfAG zOv?7I8V-pv_Su!0-rgmtX;9zdi0b)$^UNoq;OxpqY=>!Nn;qKF9(uo;I|y3LK75i1 z^-r{OS%#iFb=wdkuSW`s5v2q;%Wt^$=c>s;sdOg4|1$(Cy zwgP@FF>}!PXu#d25aWkkmAsuM`7a%iyy0vY{okRi zT8?b%JJtMpG$b5rGQ9#66LEl&C!b*@1}JB*S!Bf_K-KwFm4Lb(s@^$J5TGUpj)r3Y z0TMN(a5S90?d0?hkSI%&qk}M1K+<^>mjCGiYEXAX{25ijf~MuLacp@F7&+$vEZTrc zS$|y`0OjTQ>OOTiV9Gx#t#RSbmrxK zA$d{c)YfD)V+U;6IoqL5lQ^B8>Vky!SL^2hWfyR~|1)#P;b@sj%0Q5W&5VMFQE^Eb zE7$vRD=Ie$c5~QZ0ZQE`!TN%c7Lq(h&*C8`09*d9fP!~yc2b6=HwI&HQpe%N z7Umv9DBJkAKOX{moSO7F5(*?qSa_3f-%z$wLyMKyBK_y`iEW88CIZ1WKBu)iSuvnBHOM+n~ z#}2gcq^Y#u1OV7r%*lYc!W2iz)-E|G8USTgPvRnOFW(SlQe(ytszqrD>HrSue@o5v2Fl*vuKG62qRI=lR9H$aWBN!%=|Qx=kot4plu(*O|HXmX#9P@YN37N4Zneo5R&n)3!x z$`+p_Z2P4lxpUytrDgX3*k+3@1UxP}83tBDWN6#qMg%TrPV^(+v z$U6ngTa>EvljmP#@0<@%h}vo#ph$z1KZ~^i6#Fqt?Fx4R*jh&C0~8l_7XS(u9SVSb z+RQ(9XPO2aEg9u8oH;R5%JTv}*Qr*6&Qe=fKkkbXbE=&!XQ|)6U+3zjI*fL>!cVg)kS*0&PY!llEbsu48 zC2bUkjbYI0P7E;}%QgYj3qOVi0}yHJ02*@E6;Hs9cDbia6SvCWjb7=5K{vxa){Yuw zoQ?0<`{c+D33r5gj|8-Ay!lxpW*K&KOoRcggtZ3Hnj;y;3#ZyEb*cf#>D#W+qk4QO z$FWZ_lsK_5fQ1~O6E_~q0O)r6<~Bg>usXZ^!R0L^em=p^Z}85X`QKu8)DDM}Hoq+G zA>r;^k(_|OtmcXUHKlR(5mq`zJq#>4Ju87*E>MH1fKA=aE1QTSW}bqf7BKrg1_Ac3*}_@_P-}H3ydUyTxdVx45v7=hbLKOeohgA;D$i*E?52JPn-NxEe|Zjp zt&h)|RR{Agc0G>aKfM9Wj|#efcMX6_wCiyK^w|j))4&xQ zzt};<5`-F3jd9NJ{b)>MnkU?uC3q|jPAHx3ug*iFHkq8VI%{O&VGwOjSaZ(jqj`-Ba2fLPP8VXHkVrf=)RSN<*9qY* z9sdR3jA;D;Wv+E%%L0lX61Apws*&1>E!eCJHX{o5+?p9T0Mr7(dFcy##>yBgooWf} zR7PH>*w+}3D7n}JaFfw>2_UvtMgSaDj+Uv+rlqXCPMQj@vejWDsPCky0L-{xIt94J z^qnB~hXFUI*LnUKb&EF*ty2Xt!*^mdgprWonG86^`YAIc55(RSqhP4K&K4zn0EScY z0M^|B1knN*<*^z&8Pk6*B=-w467aBbjS{ceQyw~>Vd(_mSXCQy8>iUf><&qeFYc6_m4(-PpFUHo&dSnu-v7{#>+%ZIag?JR&6bpHzg<)`9&$2G$iU!P<( zdryW>K>KV^R>>ARaG`r9!|9=P`pJZQ9l!a+0AQC6rATOe)x8ESGdc6X$V(-k0pJIN z83*AgUN+}{rpdZs)2msJ5S8^Eoy`E*1GCNPj&e@UGraxOQQs0glmBF8^hwUQ<*P0C zrXec7*c1YYc3p$unaLz$hV$iglut5kej|PZh++-`aHszK)wDndv)vCM5lflT02W;O z{s3hJPgXOKWVMHvT*-j7AQ#e9>C>NNA{> zIvY@%+i~cXsX%YCCeYZ)oSXV=05rX|wn%1G^kaQtF)+`*2*ASuezyVeAXqjPT_#zX&XcJ>>TQ8!U_0l|WQ;_~1I6;@ zUlPx}C0Y6HC9BCvGBze*nnYsE?yPTT0K{A%44}3olezHi!xpYKAd|6og$4r&ESLkn zW$RV*jbzRjcCh(HU){H((5C=f3;1WUWvcl`GCXwPy9tTdP2+upl3??T6@^HNXU&+b z95RxXdt9=bW+cb{N(&GYV`r#ZK8!ob6ROfS2~cy1hc1)mHcwnmU{2f!R`xD%ZJ_dFnb1Y##lWD0We*z$DP5`yTh6 zF<1;WI@V_BEOe37C1$q?8|P)`{DQmpeW7oh+^gTnprXK`kx{2t6ZJ_bc~?WNu`ZFNT8QmPy`d06d?L?tBSoExeZi za8n8UgK9>Z1d{1}SR)%G)pLEGq0l@4T|6>i=9?_`kcR;1fBHSu!@9gnoiP~Clj$@x zei>lnEn0X1Fh}$_Ma{b9w?%NR1RVD%kT2r_K-}=CkvCTWj)_T#uTP3HjHSp^GLXQ8 za&TQf0G(`xR0UXDVo1ibQj|(dQ8tg1_9a(ndx8-~rw{!EpedE@Xn=6Us0?T&x(`7p zWB`o?*-;uP%J`9@4A?1Z_dlgeCz#ZsT~gFCB89W}bQq#j7M)0$&~gu8-Rn*;WdYWv zd-KDDp#VB{=DGrK<}8YRb^xvC_kIRofA`u(D8dxF?d+mt8;x&Y0=W6w50i)#G)SR2b;4Unl&58i(%C6$^_hYhdbyulAdPZ0Nq+XC<`FCM zp3F(WoQsH3u6HSg#1x28o`F4uuaj^TX+EV_aYumi^iEM@Q3^JmVW&hCy&THf0r1%f zE(=|fqSm!3O@b9LRNxqd~Ivh=6G zRteh=B&WNx?D;D=@|0k+;Z}Wvu7JU_xu*&cE<(_?DatUGLa*G&PavVEZObzNOyg0h z0J^>JWWI!N7p7(@>~NDF1GroYss*6y<*~y6HOo%nSn}gGNVqxuS#toLOsDf#%DpP( zP|{kAoRFx^gcM~4OW}gWIv!EVPuK-V*<1yS`1-i2pDtj%16A!(W3@|}C|q>$c#R>* zg>tJ|6T_XWd}cZ;0hFqA`RtG1k-j)2m_EZg1Q1RQI-aG>=PANk&GxL;94T?T`(ir+ z61qxP^aDH*W=6pKAB)3D2>`<{1}fapt7NEEE3xCN?Zp&Y<>s*gs5xVba-2w^^(yfO zqJ9y(0Ju-Z3!DQ1gr3GDT-a(EkURj;Iq!`>zMBhZm+S4R-|;I~Gd=6wZ_fcl)@^{M zdzw8x{~Z8D5&iy0K;t$AfBYR);G(U@DqSsh&5(Wt;jgovGZ0KL8n%m#3b8f^!tZ6%l5TXWIiyAsnb7mp5{MJIBpPUKSd z6_*+UT~6 z?5<6TFdzW9t>RvkIP!w7=Mo+ddjOoO*Mc^732n;C zRedlOPyw|zLZP|f3m0AJ9{@Jp_rB;05MDL|0Y7e~V>m#mQ369zj4_rYNa8y~7{Fs_q>Fkin4iQ2k!2?u0Mdt5wZ`wxal zmpVz|Qce*r*lkiKv_h1chPl)hgiH80u}+oY$F-Uc>xCg%vH%^T4L~`TxRg3|t^AAr zp@^dIZRTkJI%nnD1W+3VuJ~-tqt?VjqIR5I&xCE<*T=0Erozx)8-t4*=6!6&BeC$I z3kJ}4d;3Esrp85mxz(@aWX{___D#&jJEYZ>Wo(tL<^uU-bOD zj5NYL7lbGaH{j|4@_#y@@po?k@SDQo8KC@N-9^9Wei9_g*6vn|Gq*Y!c+Sa4{=D85_UsPFSv3S65+RnR_Decsj5}q0lasvFmx^4zac49WpS-T=rV3P zkRIFzP@{vJC07TX$PH7&q~l`&N_o2J2Ay*;Ba&b=Vdi1uUEI4y}P-iKLG0j zcU|!xpwPj=700v(C|54Ga8XPL$rn%FIu1hNyZbEX-Y1~)RQNIZ1JnTIRvyT1btb~C z7WZy(eyc310DD3DQg)*ILwPg=pnPduYG8He;f84n?u^Cp@Y;N6#sZw00qCWkkbqy| zL{;S2=8(`0pw%>hSQR$|C_f9g@{xAKU^4RWMTk-kGcLH%F4Kh`N{Z2n4jcn|6)H698)1 za?>KP@FgV5H11ZTp1Y^8TOvvvMkxeP?$d5%4skbK(-w|`h@w~BiUk0*@Nugl(k)IA zSrMhSf8A=xcH_+0y4MDxgiq)ofN-4|2cXKl0@dW^Db3F@{JGWA%-#Iqh(bPdAyHdB zZedL62nm+YScw6I?W{3CY@|UOyOlqJ8;7J|V~2!is+M8&baxb+BY+NzfI459`cQ9{Lxe*D($If>1j~@;w@N(%d_`w# zXk)iJY2t?6c;*VW1hy5wg8<>F9Rg4%6Wu&<5<4CewL(no=G+QBf}zBXiE;Vb`IyGz zXYN*J9=DnjyOn3GOBqDHO3x*XV71V~mHE@9_GVpTbD|6GtQ?5ka3?rE_Z1|)TEL*6 z2ViJCVF{r2db-|eR!8zY=$0m6@jT}Dh>ascS*@)EP)D+ zYllxCXPODgXZzrA8Vm5YRpqVf#`u`6`Im@Nj-zh)hP^#?43gMZFiy1qC|^+bxNm+a zJgYb)>PV>@etX94dyuF_mK&RZFtk9T&e^%uio?C!bF{}ToN@{vjdEpoE9Z8%+W2zw zkmzQP4r+So#$g8>KY|2jK;Y2?fUhCe@&Iv~Ei>T!T`n~M;v@~n0&!-sQ`#u#_CmLN zL!zdaZspAB7So?hh*Hi$;igIg>{BO&4G+@h>pbxhbTcABY{ z)j1%yIymeWj^~vTb%sksz8H3g@1|Y~}0)EAwF-re>q3%K|pGAHp$E1f~T}b{=yE0vp|@ zW*xwRme}&_4>-}}!2Bp`Y~|ML{$)Hj^&z1L@soD|oRJy#0zbbg&ex*AZ(4+3AD}2* z{Qm?fZ~2>a$NUwexm&rvdcMJ9{U1KU^GKLZA4}8eL^aZGSDVL&)$0GGIwN>iZ5W(a z=9Y^%TzN4$EBsB>(0y6>fuMn3;TgXzhXKN6ZV1kX3irI$0PcugMBT>G<$C@SfHLI7 zsm-={8nt54FylkS<_3T}q35mv_6zePzQd=s|7qc^nB?HwDbfuCrwb6Dsil=3N&{@HSX}B1`?E$M*?o~Q3=W@o1k1a6BcJW zv-(B=qSRC(0ekIjFFuSH@x;g}TU9G>bAIkXv2hH&- zb!PFp(y!NXGPLX&DB2q|j?B6a5Eh5>05u=KAv|L{Lqb1=wif{6s649s2EH}`LoYyi zt=-^8;nSOtsM)~{W!=A_*7`TFaRg64q`{{tif=#{ya9VKzVHBez!rHLpiW5NP!`if z=v_=o;YW+}5Ljvec&vU*ZGh^^i8uvzVh>6+ky@kQdw@83k{zI0OCtTlZF3<}U%5zB zMVF|Kx+dbA5;eDkBaJ$_o2Z;}5|tr2k>^^QVwRD}Jp$VS0R0$`&jY9#U!pp`oC@Md z9u#(>+Hy$@e?$W-B=pX!j>1gj*^QGqMMU!NhG(NAGxt;XP3t z3mF6u`@-n~^t|f+8o-ZJ^nD0WgG?e1k{9d)2~QxbLOCZYLtvuXq)+^*yH!i+jVN`V zBT+dPB(5FHhJz@coxbS+;4D$;*3bZnIC0izc>+KUdWlNAC#qu#iR&sXSnv*QEDouS&@P?v{6g`m(DNoOZF*i!9sK zflIqEaF>Jx?mxG-LL=FQBL^l9cH#5p1Hjg1^;Ko@8c%6Ebpn(_Kq5bBksn$j_37%Y zs$CrtwJUE|J3c8m1 zq5*ohzc;(2#bn3YtTK*wrSmT{)TAg{j(#C~v8X!#_GCYNl_;k>_W- z+e4yu;q3G}yZsv^>JuGyHNm&j>@w&IqLgoRY7?ExLyO}P1*;|u;Q+NLv8$bU``~q5 zr)YT*B^(GF0;US%Cqexj-!tgCF*y2~cc zY7*OW0RVg@z;|&m0-cw7B0Iv~S`MH*kL~a-A9Hjie=c^Z0LuBvu8in*9!L+Swo$HW zcA*LUA%QxBhdO{CmimY4f?kxh{{nc^C^v5VbDq*zgQu&rvyLqMj>l3+@?WOy6~7Y3 z{m%jFdoXr-2lrv|a%1epQGoI!v)?S;D`YAAsX9PxSN>;q&a2XI!<~gIP8Wc3EplWZ z!6W352v8V(%rysWc}I!di3?P6Ou41c$8P5d z?lD{OD=~RzReJBtZ$-K0Q6eTBcrj%uPd!wlY^V;Q*f0lh@G}TGF|0e(QCElBcXB8j zvqOAJ$$~WApDSNm2fb(mFm-e+=9hEY0@P_yhuTVV@KZna79lEl7aH<1fN&Cn{&CQ8 zboFt7^1N|$=hwZ^036~|6gdIvc%Fmxc4QVL^V?%KkqF>7Nygp;a8LRW#uNwEiEkZP zXgJi#REPN5P60BUyX5U1$FArW76Ss*6kH)X)?^1m?K-da-A93)ZI3PMh`X#^C1Bmae zF-p0sI>aQUHYD8a?8@H6^`Y@8Kv^|Xk2CQz8e=aY%6sHVIo&#FkG5hgaHvnpIn+m1 z9BQM_ASNydv@?dV8a;zwS(xQiO=7z^`;RDb3~e}or&7wJe>phI%-R~D=Ee@?s_Rf|D~CE0 z?BJ)yEYJXsmxr*xT>+pE-Ef#U9Ks14{nWuxqA%|(yc|XXo(=B@Hz?TSr%weA~jfHSPpUAjA`bJ0}D=SmW;Q?j8sZjWzBGB#?vvA-Fb9 zA4!n@<|=CC@Vno*?~eO@|GmL)jDB~%syYF3_O4pB)?9Ob>50Gy zM;A#PIwmnOBneIZ(DcC?R{2WeEL{?leUg|;n8XF=BxcAZQG)5}34ENi%PL|sPf}@m ze*iT1f0xGxfTjDAs17ysCPr9jB#D#gNgNF(alD$u_46c(dYa+QO;RCkbpYljCUH#b z`pHVes2kR#{o6UlPJ+_Z4>5@JT#Z}Q*nHH6k;RHD2cYD`5Mm{9V3x$OdJ^l4B&Gd8 z5>YG}gT*9Z(IFfFM9C&MI|A^n-}Q5-fppDIOmQ8|)sV*Q$t1-+!t;~Fac`1piow^N zq#B12LL{jYAfCD;P9r2SBR`4s2S(yfJ_ z`p~#tIf-*$Nt_W(I@$-Bt%mp%bI_BBY1<|pM)+h*q9ph<+-j3l8~h*u4)Br?!|gj? z2_wuwNK#qsY#33`>;Rfl$yflUrza^cOAU;iqn4mQ0jL4AjfF<2hi)iPa=e!T zU{$2#GO4r~U_?naGyx!@NV%*uq7?*_xoI{TB3siQtj83WPm`5aCenS$EFzN3CEsM# zR)EJZSry&!BqVcGRqoTmP_p6(|63@Wr{&0ahK=NaR6)HZ&QBmYJM%ET{IIm#G`9M;UhhGEC zR4u&#Op^T2iTYoTV5F8YF=~d8?Dro`dG!GnEKKn55Vd`sh2cQHT8@pnx^u*n#yvWsnCQ%dJ3On)=KJj zbg)jqTbH_A6*vKA(S3ge0L#;*hHG`i)RDS*B6XBSdyX@e5C7rhKXr1H*Hl8U!JkA~;-Aspa^(0Pv#!I}pGPeS+Qy zYf@QoEEQ~C+#E4dfM~_ozEh!y=y9(OKprI+1i*b2sTp*mSjyj@K~ut4nL>?}Zpa{{ zyw$0Mlz*spevL-7?oi5Kntq=03c7A7?=kg&q#VKk_)3t%GQTMowIXN=_kX8wM|cXe z_)^Ykncozyq@*0x5@acHdZ$R?id70{lT%1qCKmBliheyUDVs?F4JS{D1$CS{uLXh|7Mtj#l+;-qcLNG11)5hj18 z^wRgwl%cwbC#9>_C{AfZjg-T&xYyQKh~@z}qmjZFi4=}YQdl-E#iAq^u$b9*DK$S3 zT@E9m{XrG{2tf3jmWY8;8c{5Sb0vif9x2e2%QOooaY}iTEG-2PNW1=3051|5$p=tY zA5W~ z-d(JL(&*0Lar~#SG^q0<6_Rm6IQgJ*@2QaDmFnUE|Kvs_P0dQT?2LYz5pU;RgCn|Nq=WMhW9E?=ZWJ@PW=kCBZ==7#s3;hz%ZGrnUfFG!zT@ffdsr73fj!`G`W}U3x=;ZEm zXDQ80aF&38_&B^N&Y~nFY5=$?{u4kJt$*$;q2&;qInW=NAK{Uc%YIJP|JDH`+~wwE z7MA0aDqdMFF7QF?Jvcd%bNr1OO|wL-QDqK9mJUHFsKo#znCo#5;2CY4?9o z<2flHBAj(_f1!hmVU8r-_T=ESm*XjTKV45_G04^{cH$d!JR&&^ytxkMAvi9PG(kU% zaHQ+Fszq)b*EJu;aZNQ6U=7412Q2Rda78m@9LFi0JOv}Cw1ltYyyEm@JD{%8_7%d%qkLNk16-hJ$NY4!XwvfxX4i zOBcu;{ggZ_M)HC7E=I40i&;=gjN7{6x2c{jsisc#`*3j zrS&Zx++gb9SJ=VaNJn!*TSv#n_A1k&H_<()&#cyteJlHD2Ldb64N|{k#(BlYiHE~JD+iO7C5!fRywU%%x|215wVMUVq}pfwc0sB zY@cCWk60R0({x+2eSCxCZW8Z~o%LGnOjERT#mi2-AqtZ11C{0}0N3g5tUqDziKh6V zv6yP5CCBV67;bMyqUi{P>>TphTc~p#BaJC%90m|ddf4CQbFpQ=tTAzlZ2uvP-F6G!P&5=P2uwJkeIBiZj_gd+V;+X49avxD%r;k+F*qH2yCjS5F52^r|#Rfaa?DMg}+DuUVIyib=j1F8umKdDs_JY;GC3= zI}~gbmyu73Eu2*9TLVl}Btig1{p$?CQX;mgS})PYa!@v=iP%`k#MW1971%gKXX~Mb z4Q#5cfDOc^bW9NT*xKrDEE^au!FTbj+L~%r1{+6Kwh$c>+bR=Na30pw&@Cahs>H*> z+ig=NjG+LYiq;IkeO0zHy5rAQP-(ehs+iI-0N~n{tq`5YIOuJhld|QY-601?GSaW7 z2ms3+nV&S#)KvXCU9A>VXc~?AkLI|TDus*Wd}V;FO;ktKTn^xhdvWO>{R|l-}H+b#cvA=;;0l zv9Y;WH8v1X>^6Y8ic$x_G--1ZWc@2`!U$!Cp5fs)htmV(0YDeT4~Toso;M%?@C<-^ z%}u_InvJy^g~^!;v%bzVnk)%ma-XsZ9}N)f@pF7MThjE_jmD-zm z4I_M!mmE+@*3OkmD~CR%cs@uhNOsJTA#~Zhh!JMyN#=OV(z;ts7EzQ0tfBbMc@==A zDI_&64~ex}1Y2?lb*HIdwHW6#HPcX!Pc4jarotGfi_HdWF&eE^ZXRp6+tHxfb$T2M z#+OFp{zJ&ju=^PCB}tk+^@|TdNV>_YLkNjE-d|GSeUaxTzIz83w;h${gMfGj8~Q#a zdyNNE@`kYqxlWHPtpE0cs7PqjZ+Va-J?93Y8y<(~l~thXaU zRqppUPFZ<~+5&J|OLk_G$FxL(+&>U!=`c*G+&C^;lCy78Ioja&EV+&<zdIaLg9^5K_YhmN zV&B(b{V4=~kHg&_be zks#Y>?IYPrcf(2!IwfnWxTadE8#X>p{n6L=1Mn42GQU8wyMts#p=6$&9L-OJKPNpa&-0ooKz`fGJusk%$(>GjjDT{1}V`Y{qnS`cLb%6zEh=1XT)cG<^ zX|n;znJmfMyI>(HLG+8e>+x|`b`>c^uR<&?QWc>Z;FBs`0x%0n;LlbX(Sq{%+3;Qn z7K;{iNxc0SBTQEpq=PZ!6h@e;Cf-rQTt|$s(3TLoZ%QbcoYI(j<4=xh1Qc_I7Ha`# z!HU`9Ihk7_9u==u8#DlE`88Yu@LUI8;)UiZh!>hRDAXZS9&4DzCX_^Ub&T-NFP^{{ za8PAhqhEXh11j`_(;DbN_q_!0Q0HX?*X;xgMhG&-$%$83+||u~f~~>?`2@L{GzFQ! zXl#Rm*(lmnBs`;T@jz7EY&Kqg7qNH)5}40boHhLG`l5^hos94R3<| z|-7I#uiOMrgbB|>x|GZ*^4*w#)EBYDmtjC89sres^3R)Sek zqBFHZ_+o^8p+q}vWFXp7V=|Hpf(2PbTWyFS+G#r$m6^%(8pb@4TX&EvRs`WU8vgyQuC|Jl&)YS}YVI>J~WaLF{ zCG0^!y90Ab(`X<^#} z!J;<8Pm72O>hGv96>C^VO88L&@j;BRM1t@mZ%6u4{K$dr9{_))!A*c#akJ5sHW(93 zO%P?N)g6}z;e(Fey7vH-F$!(wrL=diV6KqhtfDBYRJQ& zO9<~`O8EwO0I+|XAeQG%Tyq2|O`VAaU@Ie$OS5Q&G7hHSPcE%tE10(~AZDJv=1NR` zmrQjMfGlKni0hKbq<>Tq%Pt^gQFC~)DB?=Ys?v{rzHce(Hss# zCA+Xk885Y{putLc1~mjHFAMGzYvcZWDXpFtB1jkt;SJO zOQqirH@_N8QZW+si)Ns(3?U(`VcB`(u$DhCSeVS9oNcT5v_>n27+hjBVzsom5eHe> z(g(06l8kU41911Uv6-T!R~U)bg5(At*#3rF*jT1oS1_Wy zn-OLh%inB)Hr&Bd6P87Z7*7@4mnY>Y7S+Af6=GQ;fN z5`gn)24Bey?xZou^&$iPOGlF;N-+XTJrRK05Dg{M-i}6Sr``j=VtfXdDh<~DFsKWW zD%{3E)e#23GFt{2qVz=a*I*Wo!3|hO56b6V!Bj^r=wm1$=PDRsVyyAKD)L~2JqwMN zWEwaYBdmyFuw=T?0LDJ0wqvTH(yRigsY?Y09{~oJWDL%I8I`F3_&pYLN3x;PB!L)V z`BsC~{S0>YG0JJ3M}u4F3}4dNpl6k2{?DueD6T7K23I-_=GYmOZzLL@K~^-wngejt zkHI7ZBa2o7H_|I%YpltjeY_0b+1@*}tmu0t5xRgR`xZP2?^%WTJzIUh=UdWyz7xGy zG1o9GPS%dL@0F(>_WAcWwXyDdZf1JVLeTFoDZOT_;ck562i2Z{zv^H`GY05EA}a`c z3|45@n0L zPiN?94voUgFZr;SN}&t)eEAH2_u)8%Bzc~d!;>JNK=X)fpXF2CKP%NA z-T@=5At#eTc&M2UBV^lL_BwzP3qZsyf79w&k~0YMhVrAp)E&*zk~g(ntGuqmYk8a0 zHj#gq*R-FOysA}E zlBcPosRX7@>rQ;hd?I<6if7np&ar-8tpFTst0hsK(d~IT&h&Av6yS)lH2IyA`;!pfvKfRK7f9*>WctiGOt`fWO9L# zg`_`1e?z82%K5sTL301Ty3n!BqC#ciXPsDR{+wc*qu_&(H4S|JL4o%MI@6b zrAh_##>bUA4`KyL9q^RXlv8xRQclsLypn>wWD`?Nw3HBDfj~1x*bzjk-c9;tGLuVA z+%OcI0gX`46{1hc{1nMufpQdh!Yk;_9jkTxpj8<+l)z8A(cbP^=J)EX`;6r zs@(`Al(SLb!W4HTxk?}`_9^>*KofICtVyeCu)>yPdlku+@{;oT<91>(q*d$n#Evc5 zi$(TPn=eNC=meop%Vzlgk;NW*@|@hXmeNj|V(_AujPICT2Qg(4Tu7Z;3 zb&`8pWn-0f@G*}J(eL_ zfYVjewov2Da(vvPj4}X}btrAHbxAY_@w%&QlU5n3t9_fLO1VtJnp%(;E;a6 zz!9^oiL6(Vb+kt71<9Ja(@H8LMFsj)0{DJM0LafZY#Ra9woO2DLZ!NyB4ChJR0IQ1 zLHAKgu3pPZT9Qh#-=Sn*HyH^1kGI$GskAi}G>c6JDryI&*lt0x_N0Vk06JbV#euuz zoQw1&X&HLh$ca0n6(Fs8HDcSx?vNnihAsSf{ z#;gOc;^QFax>Y3x1ZykGlGKoyfDt!p!$qP;mePJ&vV<1#l6-BDoV$_5l)E<;7gaAI zeOxDqWnrBKmP~Dy1*u;e*CAPu+!6}{6rwJGKLGL*tCMzs{MwaA=GMBuvXIj4q{aGX zB6DlMAIZI7@;fDDjWxN+eyAe=88F8!qY+-rEm<Aq4s*`bqFG;-EEdrm)puLM_)^^ksixE~%kgT^V)2U;IrgRQSs)mZ%v(PcOAR*dzs0X=S#w>YCE}%z!C&pA|@l<+xRsMpUv5fNg#R zQ^Uj`!-xe%Q(9_NaMPtw9^un4l~zJyQ)NNIVR^sD6q%V)--F-|aiNH|LosqkyL<~W zXCIGuM^NFuE#6#l3*NIu+XHZ)imL+mGf9=wFN)J%;+m%E30Bk-d_xu&v<|x9XjxoR z{>b<^i_?os#DeXIk&D!;`P+X?>7zvO-CMAKf~&grlQxMFr?k3@P}%Z{_&GUWVa*|;AYLQ4Mc56)S)&{pCUd!)^T~ziB{d#J*wpI{|q(mpKPZ@p z>Z;PQ*|2NPV&d0j!>1Hka4GSSl-DkIB8aZXFR++g-oJkZz*2#N-8uzJln73e3LmW&BDgJGu-%Fv5`I(K zql&AfH~_a~2{tGdMS|W#j}B8DoCx)V(l3*_u0p9B(vv_OFk-ohoFtUF8X&u(PXlDr zuDXI5@q)$Rg(`vH{L*fYiP1Btu3`ab0z6hneId$K<7HQ>3m?qT?=1hq{NLRjt}}x zJCKR$008FCI`3-34QDJ-y56I&ZXPa_W5WT45YPD_fO4P2Bkc?&&v$I&&Wg&W4}c{O zoFpDcf2dOt*2@AgZOh4qNKSUNb@DIGSzhUyVKLWkomP^)KzQTiB&Sm;gkfWM4xnDA zAOPkXI>|M3Xf#H619VP@>qFz$G@|UK0H$$gE$0@T>>1{2wd4wi)2c}}PKY1lImgF2 zS?YuzsbX+C;qTu48sY(mjl{8o0shop91bq0Irt=XtkV6#ju~2wz|miI#^F=k!R+AT zw8M?Q?e8$fF}a;J$Lx>P)dHFDpS4}O{jf66#K?Bygf0MBfrcWt#Q?Lk>5Y9Px#r@~ zx2pztY}$5Mauj=tG>F|o^zWYm*r3;5N_9J8B#(9pwR87?&92BW$d>=5vmZ86hb|G1 z5w2F+I7?|eMuNjRFtv{)k*fkIVK9GyE!x1?wgwEk9f(+Li&cgWKyjH`0YJ_PJs|+2 zl-MP}VC5hK&{Jg)0N9|;)<(Nm+PH1V){v-AgRq9llr}a)uvO&7lmI2~h&AQNMSLy* zU-xWm24!RKLmR8h+Hz=TEgKv4*wSkTjQLro$V}dgOeU(EiqBXCS?<4;7%0FSC5Q>Y z-P+|SoDuz$$+iHnJBQhc zJTG!%B#k29R(XP8gq@yEmWnsI@8_$o5m;#UL&Rb>(EYe(D2(Tt;J`9Nz&#mu=wtNH;TCPPJQ+2W#0bX& zCZAI#^HfZKN{J#CGCAe)RnH39oj1W0r%FuRJy7SsNLm*Q=Q_;7I!-pZGs$EQuBrTN z=zFIE^uE0SIjLxbDBV^4$*z5r%^cd>_{(M58*7N+9D}5ynVC%E=Ky3~h0ps##%bJw?NZzXp^lOQh7+Y7|0>o&@-j zoTr8ZEJxF|*JlD+PeKx5i9EI?_aRBX8%ou0jFZvTyfL3FMJV}}2Dsl{&Lwee`u)tI zm>wIfoIMpTm}dwatBkxfK)6yJ0SMD>a+2?Tat3jr#$jr@7O0opB`>Euw(coN|5DZy zlYAwVd=r#R)0E?sZ59@@=&l^8yjL*7>`XZV_9}P@(HwS^be#xz5q$_CttO)E5*uQK z)!yVlrBsd)A_V%=1IfNIvbPe6!-(34uxCn+(j_Y;N+v-{CR55zYR|=DdPc_Jkdn-g zbX6|elME~N7TFGt*l|t(;*FR20DyZ1gxUy@;oSv*@3je`Y)+yfSumo6;c;Hb7E0tD zpeZrtz60O}D%nu0l}aYQ$cCLr6bNe?Xu`K-4b;z7HSqDV7bCd~mq> zLrBGjSlv=F9i{=$DWQt9EFvwLA1SM961L=?R9B^dg2I9+_&9e$OLe!yW-giFDA}7x zvh0WSB}GE|PQA2Ekc2^Uo0ZKll9qnwmR6}O<7;3lE$i;CO(!Hf!Af^Ubix{n;$Q6~ zpd%2e*hHN%Qe3;p%Mw)f+lLX=vO!+~8%|4hr(FjY zuCM90(-cu15oXBz5b__G3_!gbKhwL+v`Cqo96a4I0y$lza{#id6O4c&o)aL)pZ5UV z=qZ(FB>h@4QBe)IMVX1(4Tb<@B*G@*Uh$b^BRdh$ZTGIWkkm;KQ^&p`QpukM-?Csg zaq&?b+K3cgClxFzD;y-t7=Xnl3|vRyQ5UARMixQ`RDw@EfwbezxEomWdL2E{01&HH zqBY_v3>d287bTeTC?0F|8u2Hwy~bmTW#k2`EQp8N9N3j8R{o3Au{bRW%;sG}_2}iK zDeW~NShhjjQ-T|qx~F<50m!JU1hzqOM=MAP@LEcQBgPiDJ;4BY0>H8jf*O6FzQhQ3 zP6|FNg}!BDiu1$7XKsj{U;L~@U;$hyUoGt}&QSHJ8m1`s)*icrU`IZIPB;h!VT3hT z#ZTH7T%6P)pI|>^aZ1a62&!bL%uiZBhT25wD`4p_0n@xMxuApEbyghIH9kSYg4ACw zkkv;A9{_vsiUYK{oTd>)HUv-tN!U)s9+H{EB|?y1Q~%chyR<~1P-JZSE@JxFz)2v` ziMqc5cD8BPE3Q8QeNzzZVv@|Py&A)0r*-WwiM5X zR0l?&1)LNW0bT@$O+0fvzuTb7xg0g4;8sk*2dn6>8BL;}7UC9tArW#AJDccDwZ4%6EX5(1Eg;zPOLWyfnXV25*N9e* zb>&(+Q-5o3{J_qt<_*wENlpWFP!%QsGLrE^_#`^Q*!bg70xI84YqVp%z=H+WJw{qD z!5PvPpyf|c97BRaP`#>g2LL{E1^dSeb_ExWRlI^V+`cbZ`^}Zst54Se907tj>co{2 zECwq=xydT6Zy~L_K+ywhVKKP;L!A==(mD`oX}?XuS|g&mHcu8+bZ@613gtyajIIuZ zDkPMH09aIk2-w^lcHahd)Xsz-TzV11>tn9woZ{E_*=O)|Un&|z>~iL0-GE^# zNr=`MQMQ^{0aQY?0sx2NCO2K1&9$Ac*$7=xnNMI1^IpuV(1<)uxha;BGrfrTyA>m) z^qy~iNtk1VOjAbUur@O*f+M0M(&BuDf4j6ZF^oGp?*d$O+rf>ui zl;lo1IabrkCAYfCkz|}5k2R_+KN(=K9sdr56LJ8)dmu%fB+mZVd9ui4(%S`k~v{5}G04#zn*_ubH zPB;3~TcS&%#d3h}bq|bePFpIrDap2quC9C5HI!Vhk@d;PB^rx)KbQ4j^>Ynzpk%Xm zsTA1|@W?vaHc)c2nXIWAg)vowbSxVHFn3y3)1K;*B)XJTL>i^4GWizJrL`h47%Bs> zfU{Iaa5%6eZ@;cPls_3~-^7#>Z>kT#mbQ}H#w3^LWLeU;KoBC!QtJabZn- z*%w`jv>Q{}WvaC9UzMy;`W1yq7xiR`$i?^jOv2CMqLpM)w~NBWnQ+OjYOaeCt6NE> z)ld~bCoj1clmN&Ry$rqi09@~rxwMm{%t^+Ubaw`)q|OHVaydOHb3p&S^8t)-R#38v zs?0I^&%wLt7scvvGMl#Ll&qU2({yxLd`@Q6@tfolhGcHJ;1r_xSJ^e;3}U}6@rhdV zSJ4O)gwlvcpHy=grao$+De)14`~Gy2eo%7r0LmSr7XZ4XV9o@0oHnN0;!A3&??(V!njuEl9O1>930ZZslR z0@jet=bj${t`a3{4Zs!UjR9~OE68U=Tq%of?=6ie`DFk$pBLz32T=hd7nJcN04tyi z$|U`|03*~>Ona{&p%PMG7H6p;rzimR!E8zMl` zZ<(V0OUwQPDD!9<(L7sm>NJ&7Fmgg$po`?aab`wanY zWboApQWS;hE!e9iUBq5hw!sL;8)DBNWSc-ET7gASv8@Mf1rQ@t%{ziaK0&%(wQ6FD zZ7ap@FJ>DUQHfMc#c6?F!7@gIbZk|$PqJC3*U=iS8!DIpAe43e3{34%EIk5R`BktC zvuh+;d!GsFH)?37#oBF9>>!Ve{1{<5d9j@~fWjEj#sWwVsGA8!)FzRRz#{DQ=?Ul} zlptT1J%~wMQ{?JEI@}_n0_mFpZ2mwLC;%59tPZLXJ-!}E%PnkJjqWd;DFPiJwYShN zv5~&!djGLlH5bwvElw;p(6!T>)(k-CS&pW(K%G#ORZ4B8@yb|9U96|pZy%b{GSz|= zpai#v2omxmT^qsm1s73`ZJfm_)k1(Zt4M5lKEO)S_NQNFTJ~f4AxI0-c0uyKb?NuR z;=2M4+ikt*t^AR6dfLz$MOFNIF^8#w&E{N66HB!uo8Y2`_#qMb7}{x<6o-*~833;K zx|nZ^=$sG5)FQ3oEYdVA*y=?r((*cD;b+ReU~yW0hPzb6!VKh%iKzt-{)XNZzIpSg)H8^u$Vo=U0EG=$rclp zs2J9y2~|u`R|Sl?0BN^UPHBS5P7=^owk`>bG?pE=tBCQ`1w>~P-!uj5bBQski4jv{ zTB8uS6M&i(fUiwxddQ$UW2aG6+DD4T{?IKhxK)YYB=H$CeQzT-q7Do{!i$=5!kYG(Q zms&@6?Zqb8@>O(Yk)SU67Acg|d^Y@?t`sQkw5{)V6}r_(M8?xMy3iGMZ5Q8ahwOI$`Fx&3J~chD|rkW`P>ce(*%^j2|ztn%m4`GC?zxszq}nZ zqUjl;p7uo%C}l#pA5#_%Me1rlXhE{7g=y2{?i-;*rD^A9=7u0ir^Yie!m@4xeZ|nP z#7I@95Y zTe!F=i+mdu<(UD_M$96RHJIrBy(|GgCqRiA0I({YOZp^@N6OCW!drVXh;rHrSx^&C zqlfr-8E64cr{kuK5_|$+F*w1uTH(oJOrE*{Qz(`Eg0xsS_=qyh8&4yqa-L1Nds8(6 zi`Bol9YATS4AG0v6-H4SR%68|m}HSr!M9^k>IibRr7?x~1ebb%lADo;^&kKR3%3ab zw26vf?Eq0+Nnc=!?Hz?1hY-b-g*K*&_SC#G^!QH}m$L^a*|3Lqzn>)%bHk(%I+Q7-z6wTLTg+GpgXFIiKk%9^Hp z$(m-O>-GLyR?EL!8UL^zB10qZfC$Pr6lWMr^XlQ&bE zhvh*A;NN6;Q&Vn%Yn_q{n)02lp-9!VS{7^A=Rv;Wwn{WQhS?Bh$!Fvs-~>p9>*kM7 z0Jx4RS;IyCN{&VSF~xT}SIah=FvyFV>*Z>rW~W+t7^Xx6aPUdKN61~IC4)mm?$8?i zk^^12k!oM%Ftu9yyvyZ%;NF5~TPh;McK{sKNR|$ee3qVM}Cu?Dpg*E)nN`A8>$;dksy6`jsuHzWW{j@2wAlgxvOnpBuRx@AX?;*`!5DFpDtaFP=5Yyj zT@(g#LZRm|#dbI1FJ%CX5iSP^D)^Jws7qn+Np)&S!bqBE;3ITnw|R*X)qYCvep<^? zn$#et=*2JUri3+Vclq0zF(PhqiRwCRr0dW|dQJ7509+XsQM*|V0N4FmI|&GKT_UQp zpkh(bW&)~m1Hj7b;v%^oG@%ilS{G>zO0dyMjsG1}>?tppnkCL?|7h{kEozyLq?V=){&lhD0P!DTj$z_~EdY7Uf_X?#o4Y8xWV0j?dwK0NfXzlUwG;O}kb*Z3^ zkxii1O`%P4gVG!UNNXBmYdE3!W&W5Vz3d1IP}g+FNsf2ttLxRc6GLXCVuWq$#flG< zPR5Aq!o_>_QsThT6_stZUAlW|cNVr^6s%b;<`O~QfltlR(xM_9t{j#R7*X7)kpz_T z82}rsi<#8KLKz9ybw*c7#0+{ScGDEGfA9_p7W@@6$W724BTSVSNRI@EVMlV+ucv@< z_JFR##5c))4PlTBxQ|k!Inybedk@ed#r6OSTsiT;WQ&#Dv5sm(C@V!KTtU* z2LtpYlffYX_=_s%5Yb1IGX*#Ae{~;OhIqCn784;x@m`Sfu?F1GHDHY6VO}PMcL~Dq!r)OcP#3DagwqDFL7^aP$My z0Q)@(<+7F&Q;nIBqf|O`VZ?f5ImFcd1Mn`|1T~f$8!)A46!e>K3dJ~Y`YzIbV3Sdf zqshH#WGb58=oxDo2x}Hv+yoXmmEHrOr3x_v0J}N}*4q&c5Jx~~V_ zUYyc&HF@zStlBGaG75_0CLAC@*S@I)G$<pxQrW;gsz>{gbO}cV^ekLV1&v$5a}Z zfP4Q%r4^|6(yK>zvpjUuVLf+2YX3^7wF0L!gCOu8LE8me-U*iH7lBaU@T7f1HFstq zpu%DTqjM&%e)Bb8pHt!cf@Fa)#hv~x$0_EcuEz24JB8;ln&7-xK86OrO$5or2}S1he0TH&qDe z2v8Pi^ewYXl3)^}P$bqsOnFh|-UI;O5q3GWn8{J>{2;tl&X*R0@86n^5-(1KvOSvc zB6;!?G{vb=7D;e*=cTpjxjqF0XYb?ql;=uZ8)*9~vkBbC)&L$#KN7&bb^V{lj3%JY zbpTfA7NsFjne}IyYILdJo^&+DDb}m3tTrHR=-WV^0*P@f%ZB| z0eY+<;6vPN0OFI9E0J(hQ6NomK9-F-1viKZH@bV%BTDF z($Z^AQ`&|_6rhup3IyyaDo6l>x~>HLG5o_G6S&=?*7d3Y`OA?!292-;XTBWt18Ah~ ztcJNi1LO@P=QRM9Xb>#pAo9@WTk7jId8w|sixz8JA(wC`Ud1o@SW2g*uEQD@Hy1gn zjz4Ltjr}bg6wdSGp7JDX?Hb|f%1A)Fp^HS?V)#4Sp(JpU_W%@Bc+rq z7-3?nOTp8jEfWp9=E50{tk5LJV{CAPhQZDdU#)3`I~9&CgQfHg7A`l^ejs;z7|z8Y z=KEnW9+7p%FZ3zx_GT!tP<(NQMAoVEp8%vtSM(zR9f}xyi7?)4X&{4ZvWB5Es|Gm^ z!1ovpq{XR+iGZR&5g>tpivaJGKqdiw2{pKqYrIpbI!v+ngTWUT11&dD5yup}nHjXh zO}U1Vzi!M$7Ki|G+{*#Hp540B5$upI(b5+P6GDH(2+If>&vO!Y10z)B$~}~T>dPgd zjv@jSW#D`_p6ez=g9IVF(9dD*2!n6O2FsusOaT50u)^tMP1HA%f9VjE9Vfo=B-5}7 zO_K?zhzfw&!bY+#@*2eDkykPGXxo^1<+}j6nT8=H%eRP1W?EOOaMj29Sm@ns@G8fBuepn z3XNzUi*Z*)oHU}_!3-|@8o!{~sb(Qe-6Jk$f&ciFW+oe~WntV=)`VCCW%Hr^>500z zm?AQO>pGw^h^Es%0V6ClZ}8>OKy#YXTsAHf2?Mudg9&2>+jbd0OBi?L!qjE0=Iolf zOeVERR~na<?%L^QDsSab3ig*yQ3V`(ri%Q*4qesXif8wPh38OOB?qH&a(e-OMG%71`P{lana6AG&Q;x{9pl8%YMKA0Ho1?5W?WnuyOEZ==uk9XoT`Nh?WiZt^H~$ z9}G~NVTzqLjRV7pa)A+6+b}4i@!mlrx>#&*-=)Dicm_$0b{>y4a3@f4l(CBnR^4et zvosA>+c5TM7gl2r_1x31jy3U(y}O4Utb(Z9;L@PE;vS%w$3xS{%b^O)~KNj zy}rlKiP9NkgS(gw(1*HVp@ zq*+7zA(vT=Fa2Eohdfb9(o~fswG3?}vk%B^wOXcHDg}mLI%~De8JL(QN9N%Gz5baQ zIW-SJr$(>D=6V2Z9W$p<%F$Jiv1QDu+t%Yn#(Mx&;ulr(!uCBUFtb?DxH^EcLl^>3 z{Kz@KAMjAlDUjcP>YnQWIfkyhb_)T)ob=~EmXyI(3%D+jp2A)~`~Adgr>m_5czL@@ zzRp-PJIQZzpQ(sTX5XKadH)t#qjo2}KeI1Xz2E*xYk(8W>+Z~i5Oena*E^hEZvl4I z&(owyX@G4yYMi~^mh{(>aEz>I*|_#zgln@G#3U@a{TyIshN6F(MF61X1n~@j5eHt+ zs!nSL|vx`>z7{3(T?(952^!t>s0U*os>n-l!2n_#hsj}7l1VAka zR1gjSTVx5X(F@>Nvk@!1BFz;3N7Vgi(-B>T-=Wnu0Cq48KeI2-ug^MRYhle|SZkacE?(PSeHmyxB z+cN<6lMNqQzHG*tcu2zgELhyG+hl;wk7e`>Je}dKYjw3pJOto7YPjWXz`ExMkHV{2 zSG~zP3Lq%rQ!U?Z0OeBq|Iq9%KuIl38D4OA)u82w8pCsD*%FpG2q0sxEVq7HZ?()y zJv!3Ej`MOB2Qjl=53`)F6@-!G3o(Vd_XK!QI`4q66#zFUO*$Njr*{^M5zIQ}-=y;k zgb}k2&e^vs8!qaz;{Po6(Qg4jRJHK$n;!$9zJL*b0sQ!;&ASyP0T$Ii9?!mL@F z%dWVG4Pw?L`{E~#eE_tl6?+OWFt*#=+JyjmW;lPp2d(MQEzo-=vTw7#Ke&3*wpf6M zT4HHd?Lhzllq)dS$FNUX7a zIRHg#7tR12iw^(er3Bdb`LDnno&d3(+Rg~*01&b7_{|pc0qDv*>L|dnem{)<@eRPd zljhljB>-j=>0aR1?*Yb-y3j8r41kDK#S;Mfm0gpy&J%#H(>{0VRREyP{Q0iYhS8)5*eKiRtJ)o%d7wX?qc?mGbQ)uSwdwE;@KeXzXc2mn${9laGGS7dC( zmA3&heaJWaP)4gI%o!tN6Y!9Pz3h6vnTba|jC{Lm;E@PBf2RNP>39;t_K&Mt@eFRQ zVcWd3+{=RRJ#6`JzfNq5uRDzDVoUMRhK;aHI(`>1P*^w7q(>2ar(w;a-O_c#R~c5b z}_y)uH(i>Lfh;A2E_;RJVo0@ion`l@0Vy#J4l!>Ag?a?f6n=5TUpxzKa=W zYHiIQh9`5z-nSzUoWp}OV@qU6$82~GXDn%#H>EiqKc$Df98cYhAx9JI+@m#}hlM8> z!!tIcap|_93!D zEsl})FHZC+j=*AigY`=?^?VFasd@JuQ4IjNHF0`g^#EBd)Bf#ubIIu80B?&#ls|Y2 z;Ng`~w^J(tkSKKBH2}wg^A`@E2N3h*$&pLl0M@SF-}Sqn0OmEG{i#(M0B#nV)^|_2 zdJkSe2ZxHzx(9)R)}*ZSsedk zPmgoI)0!54lpjzk8lcY7blLi52M7qc6}NL30GV|CbrT@_j?wRev1W?1bLfik*#KVV zEKuo)6X4z{JRMyDR7$e~z<$rUZu3?FME=_T#1#j?@fZ#w=Xj2Q*mwZ;!I+Z8eb?xUW2~0R=G|!pCfoyf zIL$(>8wzVv5n0PD?dL&}5zR1F`Sb6^pGa#iZ@*);`#yG$o%*zinN#+pe6?StC^ zlGDwrcH&2X8~Z!_o_;U@r6e0(1Bfr`EVZaSz=o?opT0qB7S34TH@^*FQiUOzJ3I%V zXm;aqfc9&@Ym!_Fph1&A{`Q;&K&R-SX8<01rw8x00-yurv@0PJDz)`ZD^a6-kSs`NaLV&f6GKAj3n>%r?^Um{vI7%jt z+qHduXS}%+$;)&z-rR|8@-?{ncoIO!`9dSS@a9e|KjB5*A$W5qmhwH6xEF8kL~fCt z@L^d;M>V{;6W)aSte<)X;DMP^>onfn372+W{xdV)+zBc>jW>5fbgrRgme87&r)!$Pz+9gREf&xC{wX%<33ckWc<)1N{EgB-4hsWt+y1_C!UzCX z9v|<_zG8BX7^`KxdbzRXj=wju;>ojEGyZ%T9JaRsSlE4hb{c@a;Kw)1eE8;byxrq#99b~N_cege(9Q)%GzTc6ejNa;dp^#b zedR-~@m9;Yr&Tv@4toG_TOH>Br#IDpk_~U}IOV~PH+S5Y^nZG-z}r3UhXZ?lzK1t= z+|+?#L*4uUhPbuL)nf?&v`hDH!<#$K8fLV9i8oj6`~G-y$9X>g5#bF$fpvYWAD9Nf zo^@m2f6g?$PJOFoY*NC#(z7Z8+~^y9=3;h$lZ7Yr%YnCBb(c`P!q^Sdio~p>H4B4Y zHT`upz{JN#{wa>Pd+dN!3zzl6+dY;&h{o1W^}GAp10xmVKTHUm1K`o~TG7!j0rKYG zbnH-5t7Xh*U8x%L&!js4TJmD#p?~hk*<%5&JW8s6={~^G<$GV`tO3CHkTGlQt^HR0 zi;=mp9@l>B12C?u7+LZHK;PWw^7ZinAa)$dWQ++J*RTDXw*ck6D?7{M%^g$n_sko{ z9stPs!~NPv@aB$I6+OJUqhE`OvqByLJcw>wb}ruB(U&?Ey>JyJBwy7mlCUQNvsHAL~JD@M;(8e+~eWz{;(DREKfHAeX<97p~vSu>eoh$nBLTw9JPGY2?iHMOLm~ z1JM2Rkq2c%0azhxWYNnXdRM+-wT!Tr-xPfkyZVT`tLwaJ)CC|RH7V$(I{;HlM-08_ zaX2|1BTf9zejM}z03PoUfp2+4Mn~qkQ}E>ue+-wc41WTgI@>t+5BMsFZ}NWKwh+F- z;ggpvTDt{b-0%+4|DhMYui@N0IXvH~5&f$Vwpxb0^UM=_24BjsYYP+JHoEcRWS zig)l83}XexVf~J+I{pk><*-oqs_BMfha6UV?yn7O*cgX?{A<#}>H7hg3o`WZq2u|N zWA_`nxrXE}0MsfNn`sobrXfYAG;N$R!fF|;u4t73$csG( z_MgECyMhX@JPoik@6E0yu-gnCI$_k-=;i>8ALe@&lplbF{03*-*>1Q6JISEOIc@tc z%>Xz>Z;wB~#s}4F{$>DBS9kAQ03EhZIrrCefXdlRWE+PEU{JmhC!2pnOfvB8FFjVw z#SSp=n(oLN7`rvnZOu50%+DO!(;ct*z0AgFd&(O6Xz`TPi8a+D$KuwzDOVOv^%)2*j zI1u}kdNICWSOKf0_s8aiJ7@h30O8%{9IBBMZ(P@hgPmtfv;tULrB<`@u>fpX)HUbT)7@K{ zR!f&lYcss)*8(8CPs5Spe+Q@&INv#Uz17m0>PqVbK;rpaIpXkwbRNE}<;r7q0DQXq zSmHYNx=v5a{Sy7CJph%Z-s9iisndzhM>5m|C@_Chy?iNFOUD~+{=8DIEx^K39&M{8 z0g!-8qb*iThtCIg^zZBdI2!iq?a2PHt#q8FuZpFz^*|z?4$ky7*IK1*qnv{?*F#Sw)(c! z(wdwpqwyHGUbFf)w%SpBB{LO$|%mUF&2?XZn%f6|e2-s3 z^Mo4j@)X9`)V$oSaUL~uS}o0}v!e4NfV`h(G@Oa=qUpR<89Q!0ZnZQ)zGCoM{BxR& zK9g(e>$z4-N9&L)V$fW{n8k#C3Hyt zn*;ZFSuORFKDL|u3;xOV+W+|5V#j-{CFClIv1D%$67tj2gu2)dEyLn(&pA8BYN^}t zw?AUjW2#PlN^IdTUz^1iYZdF2TIeqJ!BEiCYNyJIWGq5dw%{gZd(K>s zS1)K##N8$dc(elQroQ~KDL(F3sNIL(e{Ey6c$4K_`zBUPxwF|lhrTahwUkxi;W(?s zgEs!up;k+&ML}m5`wi_s9-{5waKu9MiA=m`0%i>AL(c{x@v! zxN*b!(;qsw&eLL9@CVR;|NS4DJ6+whKeS)(alOk2Hwvx!zxosZ^Dh^ga4l+1g?Z-~TEqq;k%E$ zZU1H!I(QY`7gps{xdMlLE1xgX|3HfhPdw-CvsJOVyB%IqDadp1{tLeS3)GLVTH(5< z*moo-#H-4l`%$L?PVcD^-?ZZRJ^S{w587MW*DF`>jD!-q?^Qa!w|+u{pf=HEwk+_O z9k+Am;lOgS)niZk9^RT%dhxa?Ze^nFdv0v2Tsk4LQ&~~0X>mK#7 zWLvjM+uN<`T<}F)k@b64O^L|i85Q)Z{8|4Y!5)=UgQEjWSMU!?h-(u+F6LeQq`hNy zTXt>R^CVvGdLEZQ=32bRUJ;)=Zeo1M&Q5_FD#Qnk-M8%E#r@v}7N{5!Tq~$m#md2r z62~0se4u>LzKV;2+xRUmzc1kYuC@E#?nxzAn1E$Hjd;4$s)X!~ax;E`c|8x%Y~F{iKeirRZ9$lWJ2y2O_4zANI(c!YY^jLYrg9+TO3=H@(p zh0D+On&FukQgAt?!F{oZ*b0Co3{7cJTKbK z%Pr71`lMfnic|NTON>a^7#vV#T&0;Y9trt(SKFN}(KlgJh1yj|RJQI}lXxs)(~ifx z-^G>=tWwb@xLIu0z4dozc0cCX$M=e7(5~=Z&wPf(4~j3gW2t)y&*|=KVkgHwE;=y2 z$8P)1ewz}byKS57S-^dGbnU1mF<0WZ#pT*jcvq0mCSUKEH9?WV9b!hsH;?m(dFeIH zCvsb{@;!sAdGA;qxn<(kpL}wct`wWqFK-zUzjfE!oxjA7+ubeRf45IU&OOfp?p0VB zG_XRsDkCc#3a(grLh#^SB@-UTSoSVRytpTK{Oi4OvGit_I6cs#SH^Vd=)eEdo9+3Z zZ+3-7q3-|Vn?0_cQU7wi=ayHE)7NVinlscRWMs(MdJiq$q4Ppx>n^m=pWp4ywe;@T zRp`I}{?E^ouIzvL^Rcy*{-6E=SwiN9X0PK_`;TgiYxNGvUZ-X42@U4gZdEsP!;^K3 z)}3ytTf?lE$&#&xQL|M@yUN=wf7R$vcV6u_b$+RHu0dSwoVDoh7ZsCSJOqC?`tQI0 z`{hj+`d|Nk_zTwkpZ}U+;kZ0fBfwK9w&LaNBQBQ2+9O2W0o}8E`Xb zb-%r- zanpX~cg1Jo-%kJium1gbLjM2$`_tpkr2o_mJ+>muMHol51x+5y$uQJCY4@WiJWRyASHqs+G(iUUclV$Z7uTZZxk)_HxJqB$) zzS-Y*s8^?*$+2#wA9!?eE9KqIXOdT-Z-D!V=ouS+DtW)uGw;L=PhzY1ERO6Hxh~H{ zk7Icg+<)_`8k@dkLUcvXqfy&RXY<$=`FMT3a&B4sc$A9pb8i*>bbH&pxpx+IpY29{EdD2lsAKahq30^zhlRxpLvBJL0#r zi^(5Y&#y;et6#F)`88*J+O7V>tJLnZ?(?FKc&*>Cr&P|EoH5r5wOrS9=fQHzx6~^Z zT4IEIuPwv8GDg&n_|bFzh6)}#%O?2^-(1=Aa`X=o=9XHUZlzngb;9Q7?jxcWl-sbm zY*d!byCY}2ukB|Sf^EnfbotudSOuX$E-M2WMT=9NwH432HMefEy+?tO}y zCE7+_j;prW-97tqTg2zBq0zH8<}0$OWS^4L;tu*7TL;G!^*!Si>3t)ztmhKXg|VsS ze)e1tJAI?geOgqn#V~t%?Xr8r5~Y04Z63Sz?WWEV zhUdHJU!!lunUP&e*4VkATvG(bf6K=c87IMG2bCFj>>2y1Xctw|K z6482RtF4tcUHAKcC^`%OCbF-MBSl)E)Ek*eM(#`|X^SjYytupD7I$|mi^CSJN5Q_J(#W}l@U--p^rInt-B-85L z64%VW(IF$H)UM23r`x$rjl{E=9%66ocHwmFEk73G4d7{&A$PQkivkDWg$ypx%@`+N53cH_ry~2-N1M3o7zE&b(APKoEHRyz9|k&-mABAew)8}7I*-%$t&OE^R?2Tlm6K5Uyt`eIT{^;?$|Z=CSRZ1r)x~dfrjxJP zHbjE@t2zl8f^Fw++y4;m##}|lstc9#L`L*D#mWD0ek1G3P%(O`+J`!Tx~1ptSS{X?L&Q><&R5np=I<=S&d>&| zzXvDCdE83vjK0r3-ZLBNrZ?2yatSg0jHB96sj{XM$Ke4dX+fmL(rkW`+SGWOI9O!W z;fxtw&Zt;Di*Ka&XD$+Me<%2cET($fHwss^mGXbWQ)_*CBEA4C#BRf`LA;_zdJp6D zl-T~}XX{(`2R4|gXAhDS^%iI;`l@~iKP+e|9x6Q{86LELBENBCGDX=0HW&NM9y)^kPR3R~sF0$b6bY)yJ;*uOJ?xjb)znYAftpRkvyVm9 zPCCaTot1w;MKcr3FWio#DgCkG_J;mrP8MHbzE{6m#+xItTUZnS6ZN4IMEgsbRCB=) zqq!PfG7PFSUD4wCz(VXi)+F#$2S_Xv;v?lNW~!b>?R4K4YrsG38+2aG^&ChFIlp=5 zicLT@Fe|1u_0&*oo#A3ChaGFQXF{M7DF!C$fAQDsBe>C?&iZqu3U*Np@&nNntQ@(Y zx`G`RZ$$603E)8>PAPzsL66Xb@Sa{mELg>kOu8?Zx)%D(W(pl`>wt z&d(Q$=s*$T)*TeH6yL5>_$%!=%fmeTqQD&yNrm!YWrN(=(F>U_v_K?BF+Gnv0?sjI zrE~oJmDzZ0g9v^Dd#KKis_xE2g#D3nRGv}%8NXcS1K-3R(x2li370-nNJV#4P1pL0 z5AYu-K(B#wy#InnSRbJ!H0>1=PJ^K!fqIPJWg^(=-XWISXmMl; z+nzoWY=cD8lIo}Lp}!Je;7qa;*+}hbe86rS1Eg!nG~x_CF}R7zr+Xt2?&FD3FaWj* zHysvv7W@P5#8;!~>>0cQZ0*i1X7EjTX|b%ZU37r9{$5HB-wkaj-5{!gNB)Y;UbY!N zi(DnNm75xSk}kqO)rOXBTm;=y%utfd#sxL(hvJrcvt8n%^5$i%nNh>~7QbSg;UBx( zh3Z3rxKF1AgTy9jzvTgS+UTPGi*2R))Ai+ z3M~z1Yc2VQ)IDdK^M6!|{v2#V>r0<--^z*nrTkX>Wh0tS@;kJ>#8I*B8l7LG_E*!< zNQ##F!aSj-8{r~j2Bel@hFj+bi#!OwQt1QdX|q$d3NNWn#pAU{j=My=vJsrXe3Eq% zXV$5^{p-|$SVNWfbT(cjTyyP}5~SmD7a%5Dtu%e z%`Q>j79>-cnJM(Zf72%kC1f1e5iRR0C@2NSF&(5RB3raeaRe>B7VCkHHVB()EfuSb zMUQ5Rf(OZe3p<61w9m;lElK(pN91VZD8;)gINs*(kvk{PCoh@Z>~Z$44wT-6eaU%i zc_IVjE71=hq>g33VP}yINo!oVCgUi*lsSrZ*G)Vl=@>Vh^7xyI4YcPu2k^GkQ1LBQ zpQ+BQ)T&93X+EJowx_^{k5~IS_b^|aij^I7c9{#JUTqExUvP{2iBt+e=?7 zu_+1|D}2D)f*v3rdml2>UalOezED>4{gDx50UXY)Pl>liglC?0{6ldb7@Pb|UL;+| z+7p&wv>6Xo>ZCLUrg~_)jxq~B?MyC2nM&MNJtFO-@dhpJ2~Y`gchEu}r{8l1uq0d$ zPQrKO43c_EB=b>psQonRN1q~ zJpwEM1AM(oJ@wpkz85X91?a;6jc=0&z~1;ZzJc1s@PV&*bN>|EE~#H}B~eVA@45$P z1Sscj;Z)oUHv`5cl@L#;k;I^?*V$3F=Vq$n5l^rSh~9!56hH%%S#ugK%`PlDQIyDc zrM;Eos6tn)<5lsKjn~z^$Od~^3-QWEs7LUP)Ea0p1z-Gp)SD(+@mX@zg~Z zkn068$YjaGq`0oCo8{lU+r=APCFuz;$kN7Sj3>T2KLf^jTsGK|az*Dx%Var|````N zpEkpN%D#qAH)|MUk#L1!f8cc)0Z_&lbE--rXKd*pK3Jh}wSOrb#&>)ahSI;V?KFW;ORB`(MkW(orRBy= zrz5=E9c5;@5?uC;5u4n`vr3PVtKlq> zcOrwFvE~4EHJk;Wx(86-=QHbzhU7bQm+}9r4$BKy$>9U4@#v86-@Bl zT)&3cNX#|lg0Ur0+FAIIdJm3=O_}bh*Y!v08hWR4LmVS^)@sS;rI%PiupN3{ig$fP z{?s(Nn^u~!c&a!?L~q5%;Nc6orLr7KG!(|c=|wN7GPWVoMm-lzr>(BP=_+_?Xq7}b z_o%&X4g5>172qF1-PDhCEqV*{gV-&N+SoDlNSMSsv0wD9#xsA3V+S~BFI+!Yyrb^s zR%zda`pUoV(=oT5Z-_tpu#^sNq~_so z<&)M_wNKhXgJ+wlYEA=XsIkRz9SnALm8?*3XCr0SB;%FDoAT{o8uEbSsUy-swr)yq z_`#Y&$LJ4uPW$MnB=5i*%dJpX@{%Hq%#;_2mu(-ha`?#6LIc5>*9bZQ!<_{AT3YYfE$>EtitxQ*?KKzHhq1I8$OA}LG zDYW{V@j)z+{l+2rCWWOQVh+fM#7jy=&7xM)N_z|s=Prj$aeYQtVSPy5b=tVB-I5nO zbC}4)m0~ZWjaCundD4hO@UU7#WVCYn3TXi9NE_|h;LJ@LN0Hvg$aCyY@}$Vsq~?g^ zIfY4`Y8zgX@9J%PCYN?}am4axg3Yv4cZx9>`oI?|weW@WC{8o8tBlZo_XRMA)~WpF zwVq9-Fs)iU@GHEeSotN+JckGu;z3sarK^Z=sB1QGF|i0vP`CRT;WrYR$0z(BgSA#(m^4eIOMpgj>~@xy{r7xV+ru7-h&}hM!SiqUAW%n@|{~zCo@c`;2EoOX_^Vmx7Mq5sYFnuvZ+;+K5TX zXNAe&Gl0rywKu*JE9RFV|8ldW1Z7Ua>Z04+$Ur|Z6^KHF^_hrhw0peuhm_3TH4Yg& zFn~qFj&wfER`X#gVzW@u=v~Dp(LV}@U}45`-%Epyjp9<*cEV? zBK68r0eB|2NyfuFT@|gV9_OBn70Y$jR-^|g7IBNY!?umtt2M*FqtjWti-WT)ela0= zI@;FL8kB*bu?ev?kXIYF7!#E1>Ns_nTqGW$rw0qv>DpU)0N-_GYvG?t#fhEpE?|v& zFIc6Xm5PzsWDVp8^itP&Qu2|zunRe_jMAc$9ObNp-$v&L>N`f+8}KpOMXkAE1X)W2 zGdR#nxP-qH>k>Q6NU23&9ypVeTDcegJ^4O%d}FWRc>4@4A_4PbZpF-PO^xQ95l_ zvD>W{MWyz-S{e@uK4W!#+5U=BEL4$e)K*h<6(ggH8DjwPJT(~ zpifb+U^(v2?(S$0Sb<2Fv#>YLG5O0)4?GaKCB^FhiQlAFa$7<$=c*F3o|>N9R7%x; z@o8`oSp$}K?6UtQb+C;PTTr9&+c7#dQHwLmt5@J$Zm(Q1yq0T=LEn3QtbYXYRx1;z z936qals3a8UmLwKm1ZrUw}u{FJkFd%)|C3m4?rh|5NE2x^##u9%nuBGo*zyGKhcQ-J=HZDF?mc{I9`aB0j8{|1_U^`N zub5PSx)i{p^?EpqNz!$63Bl6B159RVLI{ z@Gy)pmZW}VtElG^n#QyjJ(fU1BwiBiruyV-aF_5}MYww86cttXt~=r!ryS)Q>XEQV zzGG8$X1!}+=r68MZfVW~>n`kTq*EJZM6KxR#J;0bHMi0$rJc0Nc?9HZSEU=4<)F5F zmkj7W>uT%~If^pe7xpi2c=yT4|Xb)mA~*e5m&E`kk2MO`7J!1<0%#_8;G#3B2W za$m^1Vl9iq^-^CTmt}77`?2qM2WA@g8?($+$uZZ{-t<}%D1M8+H2@zDDd%t>$OOr>D>&Zl8njz~% zaGLdC_(bXK+6gfqN*xDvV}jPs3MM$%WMQM(#fS`?w2zi+#0_M>#kSOU37C= zpAvUVTe0cFG=07{H)oXpu*6eo=&zu*`*6x`dNh^7t+V7LHFYwM7HC;(uhh(>f(>1f z3b2ow39|8X#5~4^BTRx=33XW45G&;e>MLa-78~+%tArx>I~E&QXt2&x#7eUVqAQEV z*X$7gtKw_He;m0byI7geBu-27p-kF>5pt|n%h330@_(R~(LVGQG_afi9{G~|a6Jhd zIlI#~zO?be_ZL&z_B%R&Jtd`i$|`v{ZOk(_N`Cb}JS2TK^OcYAajAFgYQBx#fcxP} z9}9nS&7}=`k?n81p43nU>JrfoTFR~QU-%Vdd8#`o?-A&k1jYPigvw7QKUFTHjiWpA z?KBoUp=9!L;w!nXT)lWUxa7*JwgwPBky~UR1nQHo@#DU$-&NWf z$Bk4@2O@Zzw>SEpUuU$y)6|_*C8DLH2X8NU??ej93H$Nc@vX%9^n0|g^gq~&c}A6| z!;dg?@3jotVecNQ?XCeL++*Y#rG0CMY8C11wCtqkYE!cg+=A>tuEKN3wPH+Lz#L%O zd&*-wz!c%JuU+aoDn`#`E5OF+NaQ1oVuC4&@KxZm8I>G`WhjMgU+^ld#Ptc()CTEa ztXbT53D>`y8z@#8C?6v4=i-k0Nw_OBf0&VkH%)HA9U&5ZvL-W#v0>BKLv4SSEuN-`xN zE|wg|8`9+)gl0Hq=U-q0fe~Cic!Nn3SBPcs){+YjClBfq(XQ2IvV*0EbQ>vAJc`J| z3O&vf%m0tPOx1THoK4Gcm!UhD3yTIC-`P&=GfNQ|DPPU2LIlKWN|dV&F9f>yYWq&g z1csrE(M)SdJ@lnZUsJldt|zs0{Vt{}aD7GZEG|>~>EN)+#^i8+R+$>eH)oDYNqCyQ zE?%Aeg=z|le0Jeie1b~(PvgJnL)e2-hPX<)%@9he{*t~(yw%I&SMUaj3yBJT!QjzO z=t9RE`Y=JuUx_o)XL+ElHh0I#iUasTBD?-KV0Bu+8@!jchcdHw=Z{MH?cr_8iAA--y03Y81X9(#G2ej{fIh3TmRvnge@X0k-WEOrbqssDkfq!f0Fv=z=*8hD!) zHse>A0q_}(#(zbvSS#F5jTNVG18Ju$>D6$!s=n6G{9kG%dT_}Ctg|TS+tJ^p@nAJ^ zi%A2f`CaB+9&Dn+k4)0*1JzYk+JPmD_0{#pF6(;#N7L@+o$p-2N^<7x0oL3YH zwj+*mdzEHvOW*gk#gg0j1WPG-KDV_3THgps963-+6lZ}-YJa^gsTyCjQLfMQ=FlWh zarR8p0#gkqeiDDKWQJ9!NsdXdr_#c(nxnk=;y!;!3z$A^8#)?Hq3`o|V*s4>jh^OjEfDkU}FW2GNh57`1tvko} zRK1e?19eC}QYwQCxs;No);0!-@tWPpk%k-D#&(Aw?!})f6O2RBxim)3)6OADID-#h zXMw*QsnDx6c6jt|!frH^O{~Y|!&39)%jkR4EFR3))lp*}_YD3}pNkXd zsMJhYJ^zAsiGNAl^VP)uRgMuoJrAUs&MTmuI1|=p@=Tx?rWWaA)gG?D{fo%k_-SpG ztCurJNh@e1?Zm1oYr{Qzd*-dO9v$dt#&;zpxd;2h`IUPOJ5!nP2Ph{DCH^2Ti9Y(d z)2%O6o5K(IBIj~ZFnY?TKsVwMwaBqt8Z9J9W5tTW)(nFM)q~6kCeK?5o~JgIGzelu zQ&$hIxUjl*lAmj9>i%Jm^p^)WC6Dln^q+0EHVTOnkMg=PRDI3vrguwqh=;CrMQQZG zz*BxPR)Jbv^nsoS28c!Art&V~ncO+Q5$LI(1G^M$eGR%?(oMGNsxl74T8nP$UK6`o z{i3vzVu`VGFfqlfQh6ZbEM6hCCw9>{#E$;HT6Jft^dETW{j=z*a}0ch#UbZC`5aAD z7Fw%+(mog&la(^U*H-&8CS==_zuUbIRtqJ97Wy6Sr<2k?svN>=edWsqpX)7J4j`75wk%hENlmjIb>7`y5TPd4kh0N)l4?dT92N4c9RnZ1 zLSmx1l&Wp?Ra&^8(h(xdZ?uo`uJ`;N8X%pJ7D}7(pI}z%R749k22CAb>GI%&a}hHS z%rq4A54pSEKsqa5V%I8T`G1kx{4`m@R=ILrF0!J&l~>8_rX*}TkldMB8v*x+<=f7GsWD zzl?c^m&SXLt(DnDgZ0*F@5PnWL*uL+C1UNfu!Q30Y)y=$oWcz&UN{r;I@(#^1V>>P zq+{q7+uN`^a~^5Me8CePI%yBK#GeHI0WIz0sB2V1@+9Wa3n|mZgY(wdlA6Rifm7^a z*m)#q{kG$!u%;vx?jgTY6IiK`LU5_RHdhp-;o@Yetn8DvncLA?MV1_ zOR11ODi-sz6iR-@P|5%}Q$6OajM?3LS2r=r+j@{)tWDTyQnYKk(MQQ~eY4y^ws~ad z1GI~FL+FowAj7YOqTih<*bHo%wXu=ngZfqG7wjCssTe$6qf7p#SWkSx4c`x?Jz)zw zIS1iu5NEk0T6~x3P1a9*J=Y_8ABW=GA%Sc|*rXv;j^ncy;uB3$z7Dra{nZ}&|KJ$$ z87FB`(iEE++n7zaUIf2s>k^@KUy8wM1{RT}$uq8QMbPyBEYYjOMev>aJb4s#Na>76mYhrFyqm}-!~xr}yh`#`?4Oh$?tZv{ zwP%ipRqO$-S8@%@Jf$2$D<&Oi#Op(O4;O3jHq zz#o!*mcR6thU7r-A&ymiMd3Sg++SpnQdLD{b}A>dXjdiJML9`D%W2}n930D|hv5wZ zS#-1~7FfYN+iLnVHX5()=waz?sY;gD2Ey$^2kJV%M{BQKaRj80<9G2DwhI}9Y z#zHe{yswV?i0zW}Lt$Yp-zsgswi174wi2iK8=8M98^q4~PUQn!YIbt$pyn{8>2}N} z>OJ-q^rt;;X8_pxgPwR^+yM7Ze2jWU*V#mp2|Gb5X2;aPOy_U(Y@()-rL5yv!)DI+ zjtq8yqb%2adto!@B(0_#r*$$*{O721)D2sAU)LC`o`6DOw~J_M3A#AZIO*^DSTCUlBn&>0B3oH=;$qL)9FMx z=uL@f#|>5TUol1EFG8>^Uh9X>F;a8Mp6k1HAmj$+XJm9{xP1gayq@G(VG zsQm@w`1Q^W{-&P6bS?Eyq7KpBxL~!RC2FjNm+Q%QjF0eldu5}mJjJ(E&yk0_+5keR zTGa#XzIbG0m@lg69wT1&b}=Kc-fX^*uKtu8z- zXF66~uncqgw+1t@%|<^h##jn#kR|?x-dR)z9Bl;ohisD6m}(zr%zVeokbA-`7U}g9 zGk~KgfmlMWmlNpM`eS&{(lT}zN=bF9P4NZD!^IioeMd|%8yy0B>etj}&I80xY6boX zKTJ%PQd2vD0cxa?VQj3tkT>OR+%5d7Hd45w^7v5cn{yiXH`UziPZdai>#wB$gqK1w zwiroDs|ELo-KB}>GKo=Z6|7D2rXJFliQg0u}HS z@&)@%K(W3K68n#TABvDBieD=p6fY14Q`wpT#|pRjU*!#IlrhErQ!LMlRAplr$fK{} z>!ite$iEmfFeT+B_XKKMmi|^M8~7V8#wVl|Ng_M~I}xf@0cOF*`0cb2R5h-p@-Meb zoaIeWE)syb=kL0Hqw81B;=7C60uUHGEP0#S|Z=^ ztmM7u5m$d^jCN4%NOcx=hdY?wauS>j%NvJO+^8*jY2Z_y=7U(vBowvWq4r_y(DCjB(O;t*TZP zc0i`eul?mft6&B01F}v#lXn%Fft1BDrV_XjcB&u1c}Sr#N6(U{i=&wxtm5gCG8-w> zj`4>RwkfFEM(#i_P;)KO%quCKU<37?8_A8{5Wa0)H~EefHb>2IW@(TukJg&;by6Bp zcfFlC6h6e}v5Sm8Tpe~9`Hy%*eWFa44@heP$|YXjl-nd(r5xgKac=Rq>-`j18Kr?e7v|s>`$b`Op>SQqNBH5Q!hb#VwdEWN{Rke{6!sXmgv0_ zci?j&54_-zd0N~TzfyT$M7i$JUGyEoad1rf#k4ZLxl6`va(ztm^$YzeawPQo(+bvEqo2W2)5CDxQN%c zp|FB-MI*#n^pLQ_Ih?3nR46?sX0F)){>|-YzruIqN9unToQFrGad5JE12$v=`WAg7 zs&X#0rqtJy#w0^dqqJJmK5VU+q?(u)`67=c@8Kb$30H{GdLuJlEAL8E+ZR;N&#iJ~ z%_*0#p_f)mtLOR8^%^^ezKv;ukC5xY21+Sqpaxvo_%)*KiZdzatjnb*DebTXe7Ace zmIGzbj(XTD!i9xmViJ;Qod-{L7R?jkNruLCH7 zvGGz%av8l8wD#TvFNg~8ubfe0Q)o>)kNv966O@GbDg%p?#1QtWWSrUoed1iiRzj;% z9%MH5*jPbiu4zJilV$0+wTfk`bj0YZ*O2<~GuTgBz2FWzz}FVfB+}p`&aJV?21!s? zI>ynL^&M)FiAXlLEiakLQ!>3iT0G#GsYEL)&}SGU4zn-EQjmAjWOud1w)$uL z(=dECMj>N9OBF&*xa`Cy&WijBZialFnmlaP-SVRvYANcM5{V}ug{ejhZd%2G~mU=Gl)a#3xc~M%FzR)bf-mU*hA97^m zZ6Si{G=HhsTJA*kBmd5vXM_?~Z}7WLruNU-D{KLsRe%p7x-i`wxm+7MEpT52q+n_3 zoZ{{y|6yKI4qF4{C%j0Trc9@=1UG@V$p64<*x$CC-Y9+xX2DiS!_ZwM9t^?nc+cf* zqEvX7<1LGn7;!6+r?xZh;ork<*$nBP(FJDNTB{(pvtwOg6PB&_#PY+S+IR%^%b@@o5Ql+6_$!>43mM}vEBFd7xt+lF(Rz@Ucx7bm4OfR_uTHj z4$?GPpoi)^wd3eYcmaD(Wvn@7GP2;SY2(>S!Fq5HRnI{6yOuRPs}}OLunn4u{e3QNFHSDecda~xiyE7ED;UTl3>L7S<4PYyaC zJD(fT>J4voa{~YW9rk$vQp=>;MnsKuGN~skHeUfw@N)?Qtbk4sUjNn&(&);!)HmvJ zf({{gVVEWyEY0-ocD^M~6-F?f_0q*HSlN=xQF>Fc#LH+A^nu@WBxV!spB1I^ei}r7P0Fwsm4W6%=~H`mh#uX$j*cBa|V%< zi8y+>Hk^zi;{s0SD_ePY8ama?$fYP%|N(Ut~O0cHk$mRnlmB zVd|UYQAR3VsPx31*#?n_a)f5&LNz7kgT<<^$7f5+_;@iG=8;C>Tdeo>Li&c1YE*EK z$Ceq@u~c%6bO~%EHd@apgO!N<#Y{@!8Sy)=NoC<=#wlj0BE8Y(rHZkv^@!yXC?vll zUy!&btwH5@n1TL_D1HG}IRhXz;Xh#yA0k$WMYc7HfCW_B6mo3-7!Wizigc}M| ze1-DplZ$U5h7U20I$p;9UR*CY!idw8;8AQ-ATR&6xrrRfJn?`0CF@jXk42;zoflzp7A0|5vEyT7;J|7DEMVTR2ubEId#*8!Coq z-JNAt-9!l+4PM92N|@z5s$RuI=vY@4u?6dv@>XkR-3)rkIpN);p71YLUs+P*)|M7G zDu@6rm35BlMnmHlVXk90qpU2zznY_o!Ft+;bR*uHA@2mQ(IcD-o6jCC9_booX{G*8 z&*d6R-;reDp81KiQ-2u0vbkVsUIVt5>qnS?(YTA;QScrN@Z1eBh3o0{<|O#lKc5+b zmUmAg3(#_@i`BKTt~uT@QCv`^Ksu>ZRPS<29oyEQO8($159$LaZUDEwUYwEg2)=`> z!hBSDW0XP5TfaO5Y!CC-WP#p>kIab=*|9lPQE#dg$) z<$tJ0$$I`^kfdB zi|^RZ4yw+B`ARYD20-vz))L#0Dy2DzU@>8qug@I`zEj42j zauM3c^kRhx3Ik!t<03s%Na$NAFyi+^vTSG`tq}S(XaUQtaTZhFr+*aR>s><;MoV>D=uYeog$@7OD0z%g2>S+J zngLDE)v*|!(Hu&t;#b61(A=9&3794PE!snH+bby#lUhnGG=Qu46Kl=Y^9i0`$1Q=klQj5L!T48P z9GkBAv^&Bt>)%+C^GU}eZ$mapWt5YkLc&^Uzfj3}Uh2xUGXBucCFQsVqxaFa;=|lF z^hds|+=e=sC{f#aV2PCnid~3u+%~KuvQ9F=8Dt<)pZLwb7)x?Zr+auZuqdP-zJ`b7 z-$s+bV_epI5uJ%u%tY^9-+kBdKswB0eDI@hRe0*WV}B}Crz9Z@?I%63pz=&hX;2_m zH_s^#sd%<2;gfz7V!_`?GjY6{U-&>4^q1;a#7Y0H`MedSR``L~kDN~%ry996#8t{b zM`MefvxCw6aqKuYB2*EURkH9o=KX{jU^3NQ`V+3lzd2s3P1Mt3DYSf`nX@T9kC-Wb zgI;$}YK`N2j77N@+^mmRmns)sjIWPzK&VeW(dy|9y`7O>nJ%J}e{uOm{id{3E z&ADQ|-U z^n<=@?;s_Z8!zo%3+khN3$s9F_5<5(?OZ8KX`@`hzms!UP0Ox~msU$52iQNbs`|XN z)1Kq@{^~2xSVTcx;eZqYH69) z0)GXjYoDDj68^MLpsyf7xe!!m28G%ie;O4u0`NpTC=%K9UNzRVqmpYSK0^Idw>kba z7ZK$=1GPwfP5dJ{L#(WibMa`vL;6ar8Pm(1rG3IifZpOgeHG=!TSzV0^UiJdVrzZhJGz|FhHt3WqPDA< z${lN8tc4l(j@hVsd;EvQqkK4PYrsp3khh7m0? zu%)lGP~WjoiIrZspBqDvsnSSLsQhrG<3-s1GUK@3`de{3Tg(=fT__Jmil`OZ(xO6l z!wrOS9w1D&0vg^3oKt?L_A{!RF;dOMiQJ{4+68|~hv5&ZHWsIO)dA8>Jpq{^+_T?L zJxFAUbA%DLkA=MpF5&ekTS;!n;&wA*mp?9CCcPJ``c);19GLtXneABOuz91TKV9!b z5A+$ZDm=@zHao1}%-srYgQLh#xjyBm)Ih%@KSx`*e01-^48|q?ZF>-SnrK6>l7pnJ zLT7chx=q^UU+!LoAZSxhzd$0F5jYE0W!sR7Yi1jx1Fe^o_TEE6{=K$)0Agjuv04;9 zkU5F>Ru5y{CDvNQ)kOH)y9Hsb3jyoAYm4xU%oO!{4uuz3$;g7huk<6LGvk62r1HvU z+gT|An~Ds;(u?Eu)P9@%U%7A$G8ksj9l6@>kBPISgUlplyfezNoyfw*QFZy+Nz<9PRIcjdI~3g% z-PW6IT2jb-&$OiaddEuB{B5XXxF63-Duq{&4iwj*CsK8(2Y4lHdT@|gj#GHa@5 z#R^;??zXEM7!RYl)~Z2%jou>7;tJfHd@KJvatPYJ&BdlMS47p}4Yaow^DUHJ%opsA zFT&antZ;pop9L42tCAX#mz9sUcg$O{p48V$x=Q(LgUJc?km1FJ!9hjm9kV=>y!lDp zNgp^I=IKLB1am^aZR)WL;xAzs-3(SzKtTN5Av#=lj4Hs8vQq z8|5@|weH5T+}Fy$02FsgX9=D9B+o(KSxQAtm7gH%e3>8tZIrT*xUQ$-|3gO5P4N+? zn>tBc23^Dj{Q2Y;L^OHdKGi>!?r*6>^~>ppHTRazU7>$6W)y|9z1#`axe=p(+2)ZT|C3BI-nPrjpOYf1P~f}yJsbI5K~1Kdf*n}nTA9)|Ugs_S40H}cuM zX>`yE$?jxb+c5lUfTM>~TOF!e64t37N>w-zx4S#KYuZpQXEK|kyd9A^AUwPxBa#O;PITDTSOi^gm^Ud^- zv#hP~3)p`~MLDow?Q%X^Do_u@lj^l4^lfFwk0g^mfS_R&PuO<5D ztQH6JXW6=>7A9r{)Qwfarc*<~q@ahsXB^-gMz%xJ#HvC+Xh`%cK*Y1WEyqLSAqR6P~A<0KYcYM znNQyIm5=z}sx~nnXtUsdx}8suKXU8zD`9T4wquuX4mVQ2sD7rFdjG}C!Ii>6W3*8i z3eQsows0+2jjAD^Kw?h#2V01>B>k>qF5Yzoy0xq7-+bM0o_Mkvl-_B1bR$@ z&LVd#VI4g0TTU$&C*8&*zPhbM4z)hN2UQp>Q@E_47=j^2x> z+G+ri%H`bQ?0p_w$qhi4C=J62 zUr8SWtG}~NA}X1A#xCH+dSQiPFR7Np%U{B_VZ-Bd9m(SRzz%7Hu$VQa;BlUoXhr7`LTxJ&sFN>sw6w|j>xF6_7WDQqt! z8Lz_x?=^ZWF4E5?x{9-c>n#^-FblKfVcY_!-?! ze@DLta`RtfosoD;9-E~`fUU_3K;>|vbgGt~IKH+Ur)`#>V;k2Qw6n{iFAmJ z)>W>$)Jj<=^j5AI&4_3A!^BEwhBIB+PsS;;j9$iKb}%&+?de~OKSXxm6>u-L2kkAd z=g#;W74%hasaB&C9p$>oL=_&h{1cUifrJb4Nx3H$>7R{c6x??;1|3UJG%7GN4hEY56hbig68ah98!OL>3 zNeI!F>T>H&f#lYG z@BPqUJEtqvUFYom{GJU%?I?u3?pojsXO>9wJj)0TI;3Z)W$2yZWt0ZQIjSYOo!Y4^ z!cOA3AQ`Vk<|WoF+J|ScZPE8>2eC}-d!_A#6Qx0_SkT0rgtZ{cq0sS(uW3mh+_!@=3V~vRM8kXOm6sbMsaLJNcQd zO)m{j#|C-I+1A?sqAp4^6stlXV98VZQ7}Gl9&lqbFj<3C+-RgkQpeF~sxj)pAI6ts zf%LlQGP;j@Nd3e9YSu2U%}(Jq1(VG$`~ox$s^LpBd%1?7GnpeKB~7(b0UOok>uY&} z25nvjczxxgo_2nugg**p2@G3ma_aZRVO66hTkaEkHt4A@zuuP(e zImDih|Dhj6_fU_iU5>xy%Xp|~mV91|ltyYj*0+;6_+Ds{S% z%G?GqT3gM>BuEL;4l-IIGB1e~@MxwP3Qa3qMW6JB$pkes&JkOiKA%Q1;my1ErW!53m@G$e78@yM3u4mX;Tr|=#m zst+z|N4&6i)E;5gT~=LHJ44*@Y}D&Z6PCQyN5d`X3+Pt(FP7nk6nt@K8I3V(M;kv+ z9kpp5zCQ*EmSZ$%xK%eeCsi+Y(lzpu<+aW;>S$vHdYQbO*p2_!Rhu8Lwuer$QD6dJ z$bJvj^vUigMTh*4L5?lbF+rJxJ;i(RJ>;Wc0%lVSAd^Z{`ibfC^w@IPK79=pW!~EO z*!?X(Tzt>kHCyl+-cuTcwasdZJf!zRd2mhi6_!m_SDTQBpjyfecC7S(Opn^)JExtZ zueu`f!gWsrhqaNy3sj(U*vWK%#)yl<-I|F{FAOc2!M+yaj8d|VKgmkuyz*rl*_I6g zMH4U}wJRPE`Z|-SSR+Ylq?QM_i5PFZvP#=i+*eL-NkXyHg&ftVu~u@uvLIxK0Ywcx986Mo&_zH>uYo zDur&c^nd%SrmU|pv4yq#|GfU6)?e?xU;p{Ni}#M+J7ZhDU7hxx*vyso+}@VzzZ*&( zwlgg8WAcLCYxnqf9^0X89lLGRp5)R_JM;Gs*m7X+jXjfhR^4mvrS|^k`p>rix$=Ls z{`&v@`hPY+>55GaN{ZGS8y9V^?P(0iZ67xN*zrE`opNzU-3@B#mXgz3uWlYKP1_z- zT5-p9U)HwaiEB4C-!iR6vkebQ|FizV`7=)bkJjJdzh8eob%MIZ&SW2v;Uvp$XPeWP zJQ|bE^rgzVbJ%pUfSJ!kxi`9-u+h{A&scgOZCIpPJ?b}i7wRoth5pa_kJVi{;D5CK z%txG{HsFS<4m%Y*cZsMX^~B~XJNe`0 z_6&)B?u_e2M~_6^s|ue%(j?DjY>~u`K0q?+EK( zyjTmNjo<||gZ>*Y&sJpjTW8S%DFfAG(v7ERH*$7DEA#=`#=Tgm9+;MAL-rB>;I*xq zDndn2-?25=*8BVjYFUz8NBV(?(_YsozAG#H{i zl)FORxu;MW`T{)^YUD-epLv8vtY^(`dM??N?W2`}UC?s0QPdH7YSi91-9Lb83;j}1 zUP&n!&*mVt&FT1Lbggha{E__B(SfWc^h#i|C+Nk}1y@UHouqj#I9umdH*fn6fGy@N ze|2@7dB{i(j4Eoa{#5Cp*h=1{js&gbaIGxiC7uYY)FFI<{G<4t|B-#URUJP`Trc>? z9>KjKW)lOs#oQWwF3;hdubGk_>=Gn|qc&S{kvu6_)z_8mNOmMB+q1k|=pb)<%H)2> zmdQV|V>yh+vC-+h$Ud%Y;()mb8E6q}-M~50>)_=z?q$?1@fBTO80+1o!NSkZ zU&vL#Ztmrv*c{>L6Mqm>g-qJ&aOW*Wmne)pH0r)GX?o*XLvV@G{_> zJVEga6OqB>a@&VMD9AE~Qws9pf-Zn7zUo*N?wGPcxvnR$i*TH& zz~|F!`16lf=ioQ}Oo#4z(|Kl# zdRg7g3`akJao{mpdr3XV$|)Yk7b|*hcy-eLL9!^9ML7!uys?QI4R4vckO`xt>^6_igKYHG!?Fy!AuOXkA4t||T+@Kf?Hu9p87Vjlc2)tlao?V=8X zrpTWRW%o!?XpZj*dI^8(S{Rr>Ue_~yWmtygA&%#k;RDUK z8!}3Us4exO<_|K?8|6Lb?Th326U9GOMOznp0)L3_llx-l&=V+xZjja}VMvlvQ!Fp9 z2E(ACMX}U=Y?ZWBKLYMz^Dvx0=w4oai@k~CiLI(S5c|fV?m2dge8mD*3w>p(eAu^x9la?L?bfpK4!Bb@dxPmA&O~LqBBM zq=bB`xA|OI?QSo}L1hVxx~AvGl0{2lEYvG4#HL7P%^u__R-hL11^P>OTfr+&@L=>U zkjcgCk6A{IfM#SqWEPScTAE7xD|^G0Zf*oF)n-7ushZe3M}ht~crA_B!_;T7pIy(z zmr5o)*>{``YWovsxP~Cu6K$pb+ zM6E|wc<)#Zs7KYm3UB-mImNiIkEUnY&!HvMbK*t1v*4Yls~#dWlSYE**e&Q)X{hl7 ze`dM07AoCxhoTwUX3#Q#6)huI;oqqT%5Hr(wI=URd_EQxv4%3GIO(|h6V?|lKuh&V zsv7n!_AZVoeXsyK!|a{7m#%I&nU3fp{FW*}|6n^oGxi(#5g=$jvJ4$B*syb6K$l$? ztJtK`+=-(8!V9%1c(QnVpc~R!jo==Nzk>p%ftW=7iZ`|uU`tRDSwnVVVLBgdCMs3> z=q3D{V{ntzSRaf6p|LwnA3WS&%hAvB0q!O) z5-FO7lyOaqC5O6sE)n-U66hp5iB3#xx1sY3pw43?Wxa-0cdM@#n-i0M# zQB)DRgxlu+nH{Osq+e+yE>ml$-wP{yE>}HhB?e%llOg%*P#4Ij%E@JL$(?{~_LpyJ zKEWBdT6Sbe)kd=Hivi&US|Qyz0G22SHxE4nqh;B=9?l(YXw1v zbi#I9(Bs3{2LXT3r1yZufsV#>DVh3%-2r37((E_dR1l>*^)gf@>0I}col=5Fjlx&!8}u}NqSQ)kMc6WjiVNLka<*yXO^KRl zbtG>fCyQ$6W0lI-8ZpMa2B(mttqxNEAmW~4)kdChxl}D*G8;>v3B0GDw++iP$y5UP zTWV0U0a}sZP&@nn^4%go09>t4Ux;fPY#7(4B+RU*j)(hUvTY&l;8is}aW3emy-Tz1 zHrkW@7N5^wPU=IPFDT^Jr6)20>3;DD*TVu5R0q#Vm_*G*_&By6{1vGOeIO>d%c4$V ziQdQUrYz@cmj12l0W-a*?u1RewN-d>ud0<>s7{*3|!&1fA)q#tSndAkzraVfJ9@9eLcwe zwvTv&>Jh?YrLjQaySzK0pXn7+<#gFq4ct@Wf`mRa!IBv_(^t=DaBmms_JN)RN!~ABE8Pd=2ZvMP|D)d5K=G&{M*?I&$Hrcl~ z@Dln&2ElKRZ|c&@yCovDrxZ__+Ruer)+7A3>yucQ^or9(G(BDz!#XN6HaoaxfT%!SzhtD-(w| zqS{g!=v~)-Eh&!kw~#l_6|(hN_J?4KiE8t-o=O!kRvn3_W8q3VXsb?9U)y6yBH<8xP0i7sNK<47?#*qO z|6OL};y@$q3UVW=k+q-vjD=&z#3tC4a?Pi^6~f zVP36e(5^QRTvc-5O?qcJ8!?jB2X9iko(B)aZlMXFSAHin(IRAS)6=kF*7Mn>C2EzC zrl6|ufPG6gHP(`?X@_1Z_^@CiSXr1~xR&fBWsuE;rNM35M>PRN0+gStb~EeAKkE~W zw`uplCvd}CkNh*Zj;c;{0j>1=%yrVs7s3wepZr1MHIV0QZF~W@sAToI+!XzxUN>Rs z9q6iWLyD}FN^6f3&y(9?Q?d0R8Gh;9L*|n&oCZH$I0|&3o|FT%r3kW~Tx^7(`+N?q z20I5I6U<>o(Fde%c1S1_GtBXboUg=6KBQv)EZ+oh(8R3nrPrd5U-|mF-D#sS(iH=n zcr$sfJe^sZ(9>2)3=$WRx!{Lo#Askq1|~7n#$vO`Bi>n9m=hKf&}Q0Mezx;fUJkhx zsjK#JpQWCmlcbwQC{=}QU1Z1m%T%;jpE-k7k!cF zIBkaelG<#KFIZ{5Lg)z(2yYxi4v6c(Y^Lv!XO8>x8eHe(A1Yoks z3HuS%Ka{%fYM=~fuAqSX3PGcA7S2`DVNy*?hjsJGxs263hq*7uoeh}%9(1y9ie&U%2huEl>9sut+^qHnjew3VB+u3~(Un*Ahb`s?@n9rTIvB@)F)%Rb>YSg5w5%8@*jC`FT* z(k!7hS3>|`w_d&Yk?WY5j@4F&ZfXX6RBF5_)rUW`6>Sx;FZ5^fsY?|F@<#p$scOV* zv2t*WeA4oXgkjT_9b^T%nk?dmZ9Tdf`$IcPpLWlHLfDE4t&Hg~Aj``O&`h!l8G~lT68uDbVwGwcqs%(w4%=apA)Y%2&{^6T=US;5Z}~i3Zr4k?5iy^@ z=w{|u^;XG>l9eD)JBP8{9kCPT!@D?0*ETRY(8s(jw{{K+^5p%<5YS=&h$i}h&hRMVN?B@YuXW&fdhpCb0A0Rh{Y1UwGmv52lYHmWc0s@i)a?eCoe9$ zj*NF)RNUSnv4e?(?8g3sjv}F+Bhh`|{;D8ht)=oOJ<_I+-7*Ro<_o)58KW4B%_KBOFx-iiV!hD z-EUOVDVbsawUS*Wj$2$CWfhbLt)^|bpi6ph8Dcptlr73RY-Obexd?8qpE8fcjKJa{ zLi~<1oC;im^3l8T55N|>B0k6Z8*QU9so`P0xEkbVq%uTEXM^Qz2V;k-6>KwvTLt!lBjOM5UE4A2XR$o{6BlZkMUN^O?m1j7{GiKk-b;8YqVzyE&0@`G85gB3 za;NxYcY5>&bg%!LGLRmbpA}O@szgM9Vz2^UA-@VxuKCz^Dol35vjZ#rN5~pnUA$uP znDqtJ6}cBZR%%grK|J6isP^D`(5qK4Rt}P7YOL5R$z9-n?1F9E)DKR2n zpz06V`gA_L-*Jef{JBa~wG;V7sFah*dzty8nBOdGN@uw#y#aX~zsg5P__$`_ zerT5d*SS)MKtvbS@PoQ*;BiF4h9Hkqe6cGVVL#T?F}&Id3_Q zrWqBb<>(tel=#(1peSc|@=e(?d>b5r3DWJE=HAJsV*&91`N7N$cJ?<|{~SH-c?ZvB z7c!f)g7}#vp;wix^cyzJR zF|M(_n?6sQg7n8i-G!b6I92p>rc}=T#d99IfKEt|tDHclSrbm0>9v&KgcwSpz6FNq zC$-&@8yv+Rd&js+c${oZ|E}L=SkFxTv)+@a7yeY~=IR2svt>fgHi}`~*MTwMiZ3-fc9|ej%5rFN8kO3G%TNt^80If`7Pw$WmnvHx$c} zr+b?dN8Q(%S=gBTJo5#<&e~7z4|HU95-mA_#E8ZWt@JHv1l?j*82@S%nc@x&Jac}q zwWYt|+X;yll{ZLfpgHq{Y0aOIa-Bb@O422KiRm;+bpbO@IN?3*7;XCK1o@qon(z?R z7oNJBb9K#%WskFE+*z)_w5dEN*x8@xbaI-}2909FEOY${EJ5qC?k)MZR@r`&D~1WC z0U5&f^{P}OZX{hdc9&U+=g8s(qmi*+sCSNd;*zp$a5uwg;B*(T_>l3-O-G!T>^h&KSv77$Ja=zC54yB{z zyWel0V4im3Oup6teWZD)S$c%;jIC6^WsEX6iNo~)fzSRnx%E9$7>U~MDyI~PtJr46 z@BJ^)M#1{dhEg}ZDIbnTd*by7)3U(Wd#VBc59OCYeQlrb8O;!RpjqThw$N3ao{`lG z`c(+ESjt|YnLfxh3+H{I{F8#SfmxtaPJ`5AQJlU5|IId6Sqn0)iDbLQ0KbeV4cyTa z;4HYI_P12k`~r^QbroGdOW$Q8z(D(YvL9&fJO);vRXyRsnkYowXNFrwiA_X#Um^{g zy@SUM1za;+(yjO{{)h6!q9iFMtpS$>CafE1&eG1ptK{K&@BD}02q?h9)%8+X@Tn=P zmm#P1>v9|U!`?Ex7^x-W>bbyFy+2n+yU)#r;>_{1Q)~yr&}r5>fKC6RDp?9@|L%t5+}CZQfH3VYjWy_U`y0;j5fFZjW}bn`I5jm!5EW zt~S^Lydt&UJSp@+y6eY<0xN0vD)=w_f~Gw^xEp{5r{f24qosp<74HHo-)pthY^C=0 zS}(9MdXCmttSnneTYSBbaKW)}z-9iqctSe_O(T2B@nXF-9D4*Gp>@LusyO&2c%#6^ zoyN1Nb!;Y4KrfSKN{fkF?tG>xUQ?_p94fnXN7s&tgEO$H%Ae?< zlI7+gxk^c@VY6G?2&RkW$zKCK#Ou)#d6C#Jox}6VYVKpq8R@DxM99gVQ2562I~C2e z@y584-UQwqm8FG!`ZC-$jCkw-#DaZ{C9S`ve3 zn&P42<#Xy$Npg8LNh&9g2dZzCWtr9;(Og60fDoVz^tN*m?XOu+84lt-W0mIa3pKxM zH+)ldpE^M7Z)Pe3eNDA2?J!r~9S&0c$En6zsaPdpmeNF7=(Vps?8_j3m%UsS$2mON zO84iYDM*@8$aElo7gm#>3c`!7V!E14pi&6b$@3XRXU+6SboH+q&g68GD`Gk1F?AV&pi>xU*h7o8UPvqf^R)-O9m`vl zgswEUgAQE0c3wuobiqP(HJmRewG&c;4G9LU(AEeS{Aq>lnTB#jdKyw6IqDo7JKgE< zj!b_i?`BroBd9g>%(!dHvZ8(kHlb?CnRuMxp@ITcf4ZANQohOD%S+GOd&fn<$5%^YjUYA(UY|NVbCZatGOexM$=G#_%mueet`< zrj`fbF>Mh2%q7sHzyj5Rj(ibu`bcPuD(?TQom7qIjj{{u2rD(xTvM zJwodroJ4*%zhI-O0aQt#kKKhd$L&~-u^@6Q(Ml@Dmr#g|_NJ^}L2-p;p@A=Yl`*!9)jgfIi$lR^BVzDR9Q^xBOPo z#13T;5+d~`*JA^`(P~Adio6{^8)#u!(mT;HWFhLZe3iG59b!lDRZX)JxmEOr7EP1s zEW`0g2Dr{U5T2fY{CTB7VK%*d-fM@5H^)+g4U#_P+52zxT9woC}GA*4!9UxBzHhd zsjU>Et#=nl3GlVJI^av7oRXpS(e_GRY>&`E+Hl&fPmkDT5PiX9+m34_uZ^wSL{Bt?YgeeWO-c#{HGe-_U9H8igaF)lxOQGSL}^ z>EEh7bFj1-s9I?x(KlxrzF*xXqK-?dTm20hT=Y=i<1f4MzLHyA4=yKumw0nO(;r(| z6z{$e?{P1afAeC*?bJ=q?!IK)6Mvn5AcP7ptor44DuG$Y=kPPJO=Mr>8~V3892-Pl z!LA7n)hE6x>Ue0H;7lkm8%krUHHAOw-t3`q6}ei0@u{CBRxv~wNl_Ej`;wo5onLJh6m~`*;2Trsjz=wTR;KP zw!(DpEO8E!Ox85-Q(y4jbbXtZL^W;7tc+@E2sK*1Ea&=vmm|nlNO$QXmISIxPN!c< zb}k_vIm_bzz<eMFLMKhE$%}oLT}anw#8+QCX9}Snb6h0V@GYB%59FmrA6zSq&7PDql~UNqyo!(a*BW24nd8QPsgF zv>RK2D$U+VF3asIoi?vw>CiQ7qq$2R;T)z&FhE*^b=o{K3H^*F1*aS3v%9d5czFL{%vnDAokwC-L(HoHzw`3E|52l1FSdxE3+Xwb?e5st7ia^%Ev|tEp^uYrB>F z@aIZ@k_3MSCnKWS4UU_1kK)r*^O(L2%r=tBSW_idyDmwI+ybf!(N6dsIwy^@by2VQ z?~(Ookt)ZPDLX;-yE>*#W@ccT(%mAolZ9T=5zv-6h`gm<*~?3rTe>khGk8&i52M8+9fT;_zy$&kGGy1)X1b7*?#DM!Ke9QcrK~1 zO{FGi5|SA^p78L6*|}aM4I$Cz_BM72622YwsQH_z{VZtqh;&{>q)sn~lvN`{a$$iirtAIaA0z zRQS!_TTTk}SFfv60_i4eE9*$n6n_>D{{ zq`(;eT5tnI`Eh7^NtziV_S1jTLzT?+UilMzS~(=_ikhV!iJ9rj310OQsv=IyzaNtk zY>AlScXOC{5+;q@UG$!3%(w0>(GHiN5n~^*gZ%T%D4+{1<6C`$z94cLNGs7A}r&NeG5FE>!c7Yb01MmG9f87&kr1$U_pUu@+7e_rd3s zWik#v$ZPmIAV5rG-yz459a38(Mrg&ki!%}u{lFYg{vcY(A9*F#02^=#$^{qn0cHxZ zS`qT^VKvxnDT@0>Zj&dvd-%f5+thhDRr~J!1Qs|OM6*m4CQff+gqwo^4EfEuVt||N zN-)Co`^4u!J#H}=LJzS&mKG!lW^4BMJoyLJpS^_bR_=3oq+-5P zN{~*mNm37dwGrkj@2jZq)pFDjb*Ob$_k}IH5q+NcRs4(WBcCDPl8@#629dqnVvLg1 zILebMn!fSDnW$-en+?Z6^uD^`k;q+_cnNa>GuPW!`x!z&8T!|8A=N{KaD~uGa zk$Rzgh>gSmC{w%NBV2D?vqi-E`#4i*qb(d11zC{tC;yHjIVPGb* z4-&vjY#4DeZd*QPYF3BwFTIa8o4e0DteF}!#=8|_^r{I4{0jY1zo#`oVmgX1_u(vcpE7}(iZS;>% zV22s;uEe4oI>Z@b{y?5)ZjSwjSZ05${UP)Y%)vJ~hKNQ9fut?OMS!L3>H(xw_nJJw>X*x`S0V)XCpi zJlLEs#pzRuHW0sMol$21)T-5YH#j!Kf8DhNeTfcmzOr`FFQnVfmeL8eKE6_(r&h!T z>=@V7{OWwmFA(*-?o#!_Cr+Qxh`a(vi+bV}?0}L+KPRsU0~7aX)wB*uz~&Wm%y_H; z_Fm8CyIW_X-Hwx@Q|>Pfc3HG9{ZJvOn{14CZqWm=z-6;EfIS_D0Kr8kG z$XnmUchtWTt}lsZ4aZAswk903%%^xUxGa42)Ul>ghk$w_BmJxI<5B)9`Pq9&UB{j( zY=>`+%RrobS@(F*QzHa6W`Oom@qn%h1ZqX{1ry0g=Ue>`_&D)Hu58v&dWXid7vY9c z?aA$ul>{$2VkFRr=LKCz#^Pbs5201W)%KOhAZnyk1B-DdlRry?yf?_XwkzssoI&Qx zH(aKE-W*`g1rLPZ3>_UTT#&=n-`$6$c&RU_E6=c4fyMc=>Fv%&YZoh!-pQ6#5G|ju zjnMz%1_AJv zN4*W%R^kP4%QwOiMJ4$I%u}?o?yo*dNDzCX!_f8!OZTQ$k#n_;Otx5}o-Nv9%nT-b z_Hya+O;a$-`5#L@wN0?t^m@-jugM|wSNn3MsWgPVPvPWAG?h$6WsFl8;f6TfbAo>C zYLnD4e+ijE+>@KH_iQL(>UioWynqf8eTj1Xzr;sZSKrh!uU|FGkO75_4ndis=8J!Ypk?|$wkK*y|{$@ z8`=PLn72mOsX#PYiRt387+GzK@lx}Pz1)MA6o9w+UVVYD1(C&d)S~c0wK>u?tdjc4 z(FiJ%1{JId&Tw6FZllYSrQv?xRsNHYL$-)4uTuT<`g1LjUm(AjMNYxisD=5vU8m6s zJN2~GkW02%Zhu#K;!kK1bi+z&HWC}Lm0io3B==L(i6$52 zE9IF1R2KB2sE>S`8W`NhjmwX9ZYn=ro=zr0H8DZ(QfY7$F$ONRxAndD&aQMZ=2iR^ z{NS4QP$x>1JG!=l+Td@Ywey$kH_A?OEy+@8iCruIfrMdAL5$iC?TmiKM(G2s`A+Mc zN2wR+aA{%DFwYe8gtCT$_n5wb4|nsiQVtpk>Cjkx!sr@d)*bY=jPX z^#Lj7li;M_aqfU|P&?^sfu1P755|_@pqHaVAc-_QgD+q=JNuqv&ROFR0@FXfJi;aSmr8^_P%@``n}BGUf8(5&c`B12mF7No;X< z_WVO_L~{7DzSSkk#fRWB8=XZn@OruXu;s4zT4S7}hnS5kqI7koo6H*<#i5N=s}%^1*u_pPlfyWJa}X z;FE8^ZL0|Jp{_GXO{1K)x9E+&KD)7d1X>Zh#$M8AkzIM_?&8cOk=q29_u zZ6aHFXiF9UlBCEH%chy5(P8#4!jhQbytA-c;snh{U1ezslW?{P^Hs{Ex8e5#CoEdN zyPob{pjE_X!{zmAT%NQt?vV_uE2^t<5y~h>6;xBH3eqt-#qtH@N-HcUvO9Q0Sq&E% z{oTlUMmRLsohU%8sG^3et zNI60cNkr)YK+Op1G!&05ijM>}wBgbP-vV9`>siFK%$CdYNC)H|zNK0vw7!@G-Om_E zPD@)V^`j?^h>vdEE0bk48i&2|hfbWuLA z3%ajfH{K!*ylp|K=J51M^nsvznR8)$r0soNH$5qIrDeMa^RsvZ{IBRXfmFVnK3acC z6|faJ!k)}@f|uw6@pA<3Ut#M{T%!o(Zrsn<2-kO{mUe_45?$sYRu3z#G1uH4{A+y$?FaeU zah`etTF3$WA+!kz=XbTOlbX<+{XG0e{snbQ3s=9OMzD=(%Uwmhz#rr9$OQD2Jwa}& zoaWlC@2pjFb+G)OCq=L7#Gi7%s$=Pf*0ngvCCcrIs<8vuiZsN=# z!sBJb9z<1%lyY9ged=sv6(N^m!rw2c*8?DA@Q6Pf2qu|t^N)-vmfATdXZGr}` zRVMh_y7Rr6u^#@8KBMp}7NfUP7F&!`1JE_Ehc+cXCR3qch%3Oc@mzn&?MMI3R!_XV22@npgew39cr0QJ^}*ATyAXU!W)UG=HDk)NmEvZjx0 zx45F^j{4Rwf)rMV!V3tkdt5CggDR9kOvJ)vK9LTY7JWykU7 zlsyQOm#(E78)HfxnaDOgAL`=z+e#zWQJ>T8`P$SMIl?s%EE87Ke<-PN3WEQcNQWmJZ`xUHyU`y$gh7Yd+aB?lkqrZ5s20y6nBG z2~;O^4fv6D)A2{)XxCWsvr;*qv%kew5;}EByv@9px?@$yTY-mxeTiqVhVU495owvK z*p}D=D$L!^BKRx0Pat0`m*6b27xB(LNo2Dk2%J2_%*E#V7nLi|#L%l(l?4sU2EbL< z5xti^JE|!hmv@{!XNyewXD*|c{0LVquiV-ntx@;EIAqvWo6bySAkPxLnKBYc*r>_hhi&qI16`!nz6Udxrl&aUwq3~vLiHLK=BZUPBK4IzLx zX1>AM=x8@i4)H@~o;VONkr5 ztWt0?G~6Pd`daf?`pJZE<&ZcPkWkSh%}Oskb9ZCUQq+THM`r;qDF#cUU+(&;Gc- z?BjUew|~JLX=ZZgcU`~p)Yc*_6EN=pJ9HK+M}_%wVmpe5i6v60W&1*q>!9teGz%>t zR?#hh+uui6Yz~VA@FbxV28tDgy4T2I4$h3O!79Rn$`PxE|xc2N~N%Ug-X$*$S~>` zyw3AO`6r(a{ElA+9i|NIa)jo3tA5O%3$-!J2NzkaxsJX>wSK{95a%fynwz%*sQIIe z(V_69=gd4Q- zxK~y?XfHj*N_{Hft0`DaNT|dwHR@+O*m~|ApgpdJdSJ`t3ud12H-7~?BdrRx2F;R6 zt++$r$Wjo&Qx+|%Q9>&DclIz}J$x)w%IskLlsZvO5@toNXK&-HpfvZ2xYhm&w2HkY zi-RUA<_R+I@YafDIpb>Lzf6o@i2aR5$Q8(hoXb}8oROmOw$w}Uj&D2t%eDx6gFi9; zkxKX)XofjE)1R<|$#lq68A^>Eg4pbnsE~}A1DFmu?NQ3#3^;g_Y6>q7-Sp0;ywo~z zzSNe_0$Uscx=gy}D~^>As=6jS)3jsM4&S(Vi?pr9VY{ix!|G_3|Ozm;qH)CI-$3@meGKnnevOp=Ynj6^;aY>X*q?P&slZyNJ4tmnWBd z*DI5x{l?3f!`fY{wcJ0hA~KYw9BcL8ahK(7W+O0Go8tRmGTb$3a;6`&h?yPt%4Wk; zKuF0@&v`pI5x#HQPu~!@PvSiG1obdtY)pHpkh3QAP>h4#F+4;d%lSC7DLc@$Q~cXi zksF~@EV55{XY5pJVkMZVNzsPIv*)Vtu8bqLA#_QlPX51&JNqG=j@=;+Q_Ho*+GDOE zHVO5~f8tu@7HCmcQnXSzsn0QIT5eMaMYT*%B~37+xW`uWV+v@m?l4B-cHbEL78gN& zl}6gGMs#uP0OgbqWg-e@n|XX=%qjm4wt$}b5IqJS#PpL+(w8~Tm7G_VSngh=e+5B& zl8;oI`b$cKXs^*v9!1;aW`RWKYjq9YSG=cm#%D7Gn8*n9eD7O5L-|HD4zlq+VRLY$ zqn??nuLI2iX7lHqq#wdVL3bkpUk`6)^68oWqv@^a9_#`P^JY7e>B*jZ%3pGQ-4Q6~ zov9v)KEx=l6m=@O4o?!|z$H+ho)Uav{LUFD@SYMmeLPL6zbpzH%+GVRik-?-=gwkB za|}6N^AR)YcKJ^rTG<`Ijr zqOL~z$J`Rui8Tw~>bf9jVo#WGak?slteBm|5GG7tp>BakN_Fv!j2?V1I!D{2^o4#~ zGsI2UN9Lad9bJfRVL~vUR#vl|e)4iMOgQGLWS)wu2Nf|NL3@}aG>>x2*`BeE#>^7S z(k=@NENi9L7AD=54?$zK1JOODkR*HGElKMepLa;aP!G zo;z?$B+WYGhJ)t8q4E?#wG9$u!I{_r!J4j;+#zEVwt~87T+}{V-IiKLe`{BytL_S5 zkRO~}aTQSJAB?i@ch7)bEi) z!gB7idDC+O%a#DoJ!ICtqd@K>3R}L=Ce((@!3yk@4 zikw_9PRfzfImTX2eM?_~_etBBEappAh`)~`L@e%5Y#v>Y*T!RYL7JzHIfFU~wxHoe zAI}cYZ)*edNp@p;RU)rsP@Sa9%yiQM=ByqQIGnk1FreLOphHCw&b-@df3ffs~q_qpSBMpKA zHNYNpG}vP6C(VuA1diY+GfdYNyV5A*qtyUP$yvs{Me4(?p+od#ym!(G<_BCX5T-V? z@3i`Dv}uP&AWyON*b4t@GA&^p(T$i&*D`fJ8X1EB9Xz7#aNSe$^^HX5)JX0jHB;Z} z=#RX2lnvgo(qTKj6YgoIyS`GX`MV1iNF33Nc&>`Ppdmp?jl*h-rE$0NoZp^1-mDzj zf}5f3=25zEdJP=LlIg|L0E^fa7y95mDu1_IR1ESD-CXYFug^Q|Ob>9t7g3a?c>X4=|D!QRSlWhJrztidWths|@LmdY@yyZIa* zOGKyT$qjvX{rAOv#&L6tyoC8F{X;g=c=dsMgI}VCST|dDtR3G;cqBG;camS|L%?8c zcKm7RoA<1%j`Tt!tnYOTPd4`ed{bMw4@a*|Eg6@D9aR94&N$RF{&HAwW**sDieOLa&)t&~S7;S#41W+V#OeII{K|S4gfhxX9ZAh1%#I^R1~)4Ylr-(T^1}irKRatwKTOnevSSQ|7g?m>97AQ{#Wh)Isd4Boi24} z*6C8~Sv`*)sN17np*nhO%v{pSKU_#a-t zR|T(v!}9Ob z4c8S?nppHMD4}Ad|NQ?e-9r8={#)fL|MSoP!?H!U=H4>5>C>D+rE^DI2y>iT$<(6z zbL}j0{1Mt@D>E23mfLT+0PZu{>;?83)14d7cB9VF&;BoeY^(i5o&W0k|1a?O{#Wi_ zi=$WLzq}7d6EAXV=%xoLn5G>C;)jRB|^ z-oNPw+92}={5$w2B&w_UM+)QtR8O@vIH#w!U7kv+|Qcs?ydnqTK@!$Hd(Yrdt>)45=#h z)Pk8_8_M_4>M<+%B9@m_bR*_4QE>eom>K+|lrqmyC)D!#IT6vX<^Qm@7?y+Wz9G~~ za*ol$ES&!quyKc#M9U-aiGQ@ZFpdcW*e?18<_IGRindny2u8S{^hN}9#wbEoOrBr0i!}-Z(teW#*c(-V7oq7@^J68t7^!0Ji9Sp1PLck@cj}$ICmIf3QbmY zEYfWjr?+DPizg`ob2F9*DtSs$1L;%PBVrV0N`v^2cOBhTyJt2q$AGo^Q0W-WmoJ^w znkb8=xJC=Vv*YM8$P?gQ{eg(m_sg}=&%z$D8uX6zLNQcXIA})DZ~c_G9n#R3a)XR+ z!9)r%h6Ok4tw3+JiTPSuZ`j={e49+f%)pPa1>$)%BY$XcvKXl}CDPT3awoY2ZBcsp zLzsj&;%DKPEFa!Osz|~~@CH1`%JRL5m6b#Z>N=wxOi9vTD%k_`i zl`m|&6PxG_XK`(WQo>>lClW4lK8hmE^nD3C*sBE)Eh~jVknAM2ix2WG*jHS$z%>1- z5iWitzT@M7h@QoUNo(+bQ%@-MJiW_C>d$4OAR2?@l%)&DypB03{ov~bim}hhm!O&?t6ikeYIUp- zjm5X7r)iUj6Ic~yH}!(5?i&VH!AZ8gmY*V1n3}L$Nh<8I*znorA84q2Jy5|jM{YpM zmd~uDJIJYef7QX?(En1CH5X`RoC1x=>GBYV$9gLnN7mtIy&6^ap59bH>4y2*yFR%MK)(<=>^>iK1MZAfjK&WyF?&7v}T) zBid@EC_0~gsCAK9FV595f3gTxEO0k)3A~eU2MB71_!KN8ss$Ne7w{TH2-cKHUxz&> zikmj6F?w_L5-`=ADoze`^2Km7!B99WVgXv&KvQ1_Ezt&vVb~pi_uQwztqjTArC)Ie0(*rVHj9*$QgNq|-k?4<#Om)B ziP?t6Y5U^8V{Mf<{TrD9U)KDfgL|fX%JQ);%TXayT2pPNx|&_f4%FW3wG9Wpf|_eu zofLL_@SeP%YA4sQEoG~-&(IFaTk<^V)!gw9JYgZ)tPUP%C)n%W$5xt){#C%fP zxvFqe$pHJD9vL_%HPJliJh!a(CNzIHktQd|k>HuX5WS4uli{PM!<&?D%J{e#UMN@= z+#{7?A8CD*snm8>3Qz?fH7gllswC~h7&E3w4|$t@!Dxq6XieNmU2e2cFER!?` zTEulIP@ZZId=~ZPpy4-rI9aI{o-9Hp&)uQ?DDQ-ULE`!T;n8Dl#eH~RS z^Kz&q)|bBSwTJHKbaZwX`o^rrD}o7tSEF4Ny*6-4nygmPs^>q9zDL;t&yC6OdRq}? zw0<4@%n-4ULTz-I3Q?J0v$7YWT(=af2~51wexh#lp7l$$k>89Aq55Du{MV@Bw!(al z>j-O2x&jxn0JT*4>>!b2Mu7B#OX>*zpj3xzZkaYVn_WPn=Oi|Winj9D%j92X|NIYu zLb%|Kb&$kf(897eoWX8GQ|YqG0<&C1M{$pstTk1t5PNfK%T1B(#0_YHo+^Fi=7MT+ zxW3n7oTA`2(#_>d=w!4GE#kjmjiAA7q8vu8(AR)Bj<-ygxFrap>48h?P--y$lKn^X z26xku>=gN;GE14^yRWTqB3P<_Cto#VcEV_7clK+kIGbbHBZfFn+f?HrmPB_%d+UpQ z3?eGYW&wMVxu$*c-6m`nRq+@$GUk-qs~u<0(R&F$^-vw?vSFOIm}o|vqz_Z?@dnIP zt_D3QXR9{UR+<Gk`-qyw zg{g0qs@MSOG*`xr3njF5I1eUjr`gAP!~7WGUt?jg8C*mE#EYd|3E2q`XmnK@^p0Lh z4ZxR-_pt}@P54Q=zPLi_cljEW3#wBk?3l9 zfrjfj`FqW9?f|z2IY{k8PW#Lv9@Hr z4%XQ&JDhQ%1GV@t0_q9Yh4;3Yp$X1ia&E9Od?YYfPIk7;i^5%j&T1KI5a*=kz{Suz z;yvgn)d??Wo`)y}XoULC499b{0n~`341Esuk^4dy&iM-(E9_@^Htq+FhPqhqu{h4NodC%;z7-xrwiwTwBdB{!dz4QusV(u%wPOlhTSaP*W z8r5yh)JC?k7)*ST$B0SH7Wyorf;j3J(VnctRh83M&yyBWC&I%)DY}i)(j_tVKtOya zj`dA|TH)i=9(qmlmoflEIR;_5l+*H&J~FpRUFg+pCSHj63KK#r^Sm%#siidM?h@U= z2yKwPFF#J*;xh4YlqBvjv(Qe#tt{<@K_7jG<^IYt3!|h^->AkvVy37E0(AoI8A;`| z^Xx_+3QwiFla?iq=`B=Mqb(cBp8Rj1KrR>mEXO5AlIdm{BZ^)ob*F=B$<o48Q zP}HJTzH~jIMp6rKM9Gdwq|W8-AqV5Xy_sY~cRTiu*AgKOV;*~w@k?ZbOi^#6i)2^w2DUVm82OzzkabU#h~Mf`$?#l++n{xj1=KXXhw#Ac z#)pgJU7Io~;i44nODWLvG-P97WpEY7QQI8#7*G&Q9pYK+d7WXA2|S(c$yf?i80&77 zF;`oJ)MC7@k5UVl^CNDomsZ7kW|s^O0p${76E2BgB*oRA-a*zTDk?RpQU32@ODaJ- z6C9Jh#y1Z6oHNpXUMUJkS((B#e2V`ByN6f0+&qOYMgL1>pkhw6Ru}CIL-G|%&bksrGv{+h@LpsFKf*V{>!Oc3ZscC|-=^x~;ZSW7 zI4%R0yl3?kMEw`GTX#zhvP!DI*dvgJr&41aw^k1!j@mYwTY^q%H#XkZ+o{PN)bhq; z7IPc`9k8K9dFBm$g49cV^BxXVr-M*YY^C&(NX=_Ur#k0q)k3-6XYm_^SnqJH`%(@K zxNK-a*>>b#`OU~l(syMn3ApcNCh}yUFBei|-lTV;)$+F}x9O`GYhxou+XG6?*c@yz zzLzSgtn}sZ!y-?qhH9G)SUB}ru*UJM$O(F04-EX1{1n<`7hgG*X6d`f2vvdzwN zKd=Hlq&85F8dn2(P_|jdeFW|#)-KJ`3&MiScMFYH}Z z1{p2bo-y7tNQ;@StiW<~j#Q8fQwE?24?`T(~FbG4A9%1sJtR;UdQ8RL|l z)^jan+~WIjr@;rPzLw{HjKvs317oTETrr{pa1zma2I--aFL}@ZwpG%)|eOAao(5xNSV1EeB$DfbFsC;a0&XR1))u{YnpK zXC-!o`nUqDD$SEugD>Ez*-red7FL#FznL-YeEo0tLU%*WXMal+*2Axh+~QsbtAQ$s&5gb44c{Q*nZF@%6tlKpfE*D`&KFP15KG(H#`Z=4Q%h|>rUm~N7wGyD(sDX_tJKq_H|!CU0L zK_vUR7Va;Dr-@z6Lmr$f4DK_h*sbOft4p4%ueW@$yXo5STdW>kgDMtnbYODS~*(`@l9OiN1aoxwB;-} z+4#$O7M&ll2P zP!6B3N8*RELef*=q}u>LXmL=KaW%3KI&BMEWcPCO?km|x-xSl zFao0!b~z_OJZXw5c1bH_pOX2>>Owt`1bIC*hj?lJvAY82g~!riFdrMBmsEBO)+QZV zAnb7@nnB|9T5EF9S7J(xVYH>ea?&cBr?TP1X~*vRCyZz@C& z*1xH>=_!GYh9kR!)-bfte5vx#8%UXfm_5;HkY9+Zd?)Cuim$zOyii=!9O_a%MiQfR^hiXDPR(@ zCIRDCIVO1`KrQ)_(gv zEdO-4+7yXHHi~IDR&Ey9E4`&Q7|%AGU~a4Dl$KC$DJF3yk%sKl*0^F7LU-kMP%WBR z&L*mxHDO3YH_MH%!o+(r-Pk5tRPw+)p*GdVQCOpxq3z~I;+(<#;b6h1rKlGfEZ)?E>m@sa?9#0Jfvd`)0Z*BiiFy9aziNVqY ztfT4`F2$9x{V2F-IQ$ytf-{6Ku@-g6tXgnis)OYwHPd%Vi-ij@m6;u`v()66l(n0D zd&!Y2BJe)=4D}k`N_%ELlu6AUmy9n_A8TK7Q+&gqH0-DIC04+vNmrJ~TKC;)tTjkd z7_H0d2MR*HqAW|Xvw-d>PQfkbF*aMYaT$@R7IWw#8Yz$GAF$D`MdS@o$8xc->IB_OsWMiOG-=eJSpu(Je z z%X&SkXJ8PsQn*OJa#h7g;J*_+`W)Skcci~7F$(PH;jF>r=X?NjLXW@`B0?BM&Wb-r z9h7S^leHm8anEDh)0`ADjQz02=-zTaxww10PGje?TPc3ua%<0^hcF4j9cg)O60hZr zB)DUQa>rqyj0zsb7Dn$vw@_r6`{GowIhf|!ntLEPE7T4AB2T1V0_7rk_g^{R@Uy;~ zLJ{>Jxx01=9+Q7KRGTX5>1}Vbq>a^o?5PydPg3*keVp?pmvAR%z3%^95TT9EM!-!1%%j*zw~yQvB4CHaRs)7lp4j?E71 zDSl1|5_+EPk_`s0;_7ObOoZj6 zQJOt)OpOoJqO$RI$~E?VSxA4QtNSW5$u!LG z=6pM6xpmvRYbI1I^+rCUhpZ=WWK6C2*+O^sPH_(Y$hCy-lkv#&4m=lE(>1L(p4M`4 z=LW|muw+$9=9#M_eFAfu<>2bb5{pXKFxUsIH7W8I))y{iPL^EsA$nfu6xPst$T?9@ z!#0`mSTpRf7Ev%#zNdwSRxx9lZ^%FZnY(!bserk()SSxsldb3x<+|bw>rNP?;Bo!o z)@XxhB(8_!jAt+xAvkT3aIAAZ|1-1=^i8#3ssa)_4?p3^LwZOzbQk;;D--DND~SfGj@mT*ByF;6({pbzj29rbk(4Qep*(|m5l=2-QH^fAE z9+7VtO@rhj6sz^q%4JuN{A0eyIdUA)hKpi{vh(RjAV>@cO~E+nJ1?@?Y)7e+Qe7y9 zwdWV5bytQsUfE_FjioDrFx?G}Fy5oNd_Cxq`IMT=O^7Th%u{)GRqhVc?N}_Y4lQsF za$GmE^y7g^(l%*O**C8F`X%6tuLWW?MaHT32odqsEQgfQ-NEZ>Ri=!|3pJc0)f{q( zewz4*l}@@O{V@Bu{*4+QWl+^P@iOs)wdc?_$oLrls79CNN_x;vo_zFHN}R$ zz&_zd2%;@ff_1|6=})EYg#Z8Zj|izCH==#(XrN5PwC^ zA=asl1taz;F2%hezA*Q>@pxHrc5sUSol(j>h|dr5_#D}##!CMv8@VR#JLJt6nEsPc z4GgfH1FFqQb)*Dx4woiPQYRbtz^U9n#C~5T-huzN*_FS@ss58pS>Yvq&HpbtR30SF z&}{yp*c|mpY%zy|4`#T)kx+S{V$Fj^07|#hR>OS|U!aCJ3r|aEg{3G*vAOaTs=abZ zxC8RDTZ8V}Gi9OL22=uzz(FvB?2a}@9up-03u06v=D2=Vt$?IawJXLD&4dRrvfhtJ zj89krJ|f~VQQSySPm7NO4V|xrZ+c*3vrvRRg(D!|!&F-7m?HKG6vrwFQA!JO05kCfuE;x%EL@3KODLS7j=)3i>Mux3Lef^%2)z_ zrW5fwTw83p9v}Odx)}5m-AgU-Yu+Vz8Kw~3N;{@TMcrrmCETPWs~yi-Er(LPA>WcR zv@q=u;lcV*&7>~;(0I4D7CWNu4xE6yPzbRUGRV>5DZBN&*XmpSlgeVMeWvhEEM;xh zukloZn`w6PM!?TyOZiy5XNuHfJ)q2tQU@J%F2NxY$oA zZgCFBiH{x2#4PSPgL*GBHjBa&86)I(R1+M3>%EzN!WN4!(gz6xcBUh-(d4v|V%gYz z@JehD6Xj2(3xNhwVX-6IpD1niFq;Sj7)V}3-x#@;dF-;19qdm1$%!;a<&d#`mB}&l z<8N~{tqrz@=2EmT^g?Q{)yH%UsM_xoq&k#P_8HezD;hPfG7L_9%KgF zGACOrB-E5k_~MkEbR&6;e3Kj+JA!_SuadUX53KIoLE?kgs78`q3 zSv-dXxgL}QRzusMqM*ZL=IWPxT;kxUj_Otzf=|_Zi05j z@00q-&5eoqtCokns&*a;VvmBK1Q&hVJnZ!9KD`~`L}pp^g<_nwrHmgV2T;0n(zwSh zEHXp9<(MtF7t{-_XS(8Bv66^{tumWsccWXG)ulw&{m@qNI@kj4IC+cno#cNm+y+yz zjl7LXghI^ zyieVRb};R|6R|1zNlXdwQ2%74ITyQXAU8eTq2F+vZ58!P;N+glOw`65VjeKhg8PFj zj7rkJV7esA8|cQd$Ag;-{+LJOCo6S?tAPl$3^NX&77SQUy8~A9@r`XC{xB+;o&W}B z6aEyQkxyaARi_pnGs)G*?w}SW9mX%>NA>bxQS28cTPiAWOozB5panxBjpUbHOVToi zVfFDTxkbR}z-j7r=&0Bbe->(F?y;yyG13bBhL-5@_{M@&YNmJ{SrK2@JQr2qV>QLT zFgHu>Y|&x2GMOraEp}ehr)fv5v+n8a9dUo~rR5&L)ftCU72QB#N@4moQiT-db?8~E zYo>7bWZC=22`kxZgmNE_QOZ;GGM7Rnsrn+Govu#B?Am7;)fQX--?qX+9JM%qof$4E znJ!{wc=zd>nUB^EQ-g62I35o({{*{fb*M5iXVh(=Yv`sqHuE5PK`2)?gYRRR3%+QW zOxuelzNFtO!?<7KcWpO3S{o|W&tIpX#Wt?}mp@`(>pCFKvfj&srnQG)&tS(IeW7x` zcBWKtm?wZL8ePZk)rV=fTI>Af$K%ZAWs=U^|z?UfvT*E%| zOM}C;Cs3-p6!D30CzfN&IF1_ONUY^CP{X^30Wc`Albi(Xyc>Ou9+sPH&#XS)fw;^@B^yg-~Hs$*_!g|r@Rs#UPIdPbU~@d3bYIkJyQ#pn~tX{|Rqn;%C{hVIeV z%!~Ll{E#^cc|f9Zt^HM5M9I@{5dEa#RB;0$5BgB6MVt)UK|kVVYB)CzD#icSUjRF` zSl?w`^V%X#L|a`B6#o^oUn%Bnfli|qNn9w zl(XxrxsEbHy}(?fJWM<8J&zRQ|3y3E$E_#y7`ZaljJWG$49u*W-HW}W)pIh|NqRBY zQFrENB7LL*-cIm0i*erzz7{Iwv)mi_IireFRw0b8mI>tynW-R=b(zOeFR8m)AN5#p zhqpaeMIWdQUp_jftlUm~;@SpED21ge{#l+yDkFD7mtqZ#+t@Phs_9}xwg^(l5v4A% z=+={iX;zwcgK=RuwP}(8(w!Z!0#E_VF$WOiuzv2Dawks~m4sHdH>P@vu)jp;3))*5 zX&z!*kmIS&LJn5R1*=i`M$XJ0RCK!{T730<^M=qzKS;G(Gu~C(Rn?#6E=^J5cOut7 zWGfl4c7c8ARZOSvv49@IXL! zJD#(&IhtzETmnnMJcHBzMg*fvK_JxFyl*b1$IIvCmX4BK8LmDy&h>_x3Qm{8tyQ(Jqu`swLi=^ zYENuqbEL)nmBm8l4PPoWLcc0rHW68a3maR&9$N)-meHSjrG*7c(Ao4JbG@w#wm$!* zMVxCK?4X+10`3rcl&wr$X9}>@QdRmcK4Qgti=R{5%HeNGr^!cA6@rHIJylxUXuQhW zl`&iIK~#4pV5^jg`0=PxptNTq5{6$T>g!WgA+XhzLeJKgko~A6Z3ygT7l|I}xz)<+ zqFlAQgDo_hkS#|kwTzIbtt(G0r}bdA=(o+$NJYh)A3|Q)hRTxsRcg&Vk0P-QkObPo zUG)~|3pzf(5HiraMefGV6-Hnk%=u1>k3-xh;-rtt<*v=OxpeoHjQczQyhjPyr=&6ConsHNO&@m|hqdY3CoLa^5I4moJ9i=Rww*ZU~r z95(`k^o{W1$o-xb#FDgf;5&Yj?ZgDgwvI{Y2l$7y1{|T%z$SV=R88zJ6~*qWBcNEi ziWiq}KuKJIFG;x-_>MinJ6n97NPZq(mpX|jORtd(kg zY@^kqUj&c97T4KaLrleDb%As-y@adizv?vhw9LDXaUFxR`McJJ%MeO)9K@%a6Y|n+ zguV)VhCc{}wTE1u_B?3!GE$?|n!ZNHmFVW0Yi*7k>lj*MYTh8?Aoc_5s0=_?%Re1{ z<-6H{ip(jd{sLIwC8!Y8$u(+QYNB@x7w&wc`Ga57ugXr+D{dmf1NG4v*fH~YRyy2_ zB-J{gAv)YjBUaN3(;Y-{&soJLp0YKJZNu#jbc?!Aw=~CV(b%S7RXv;hTL2djBoUKcwhf9ngu*X;#_Kk|fPNpW{FQvT18dk!6lU%NOkf2n6 z!Pd9km6siQx;Q(2O3A`h7&i`Vbq*0)f=sw*s60jlS_i7j*;X$!nMwssjWQ&l#)Ei^ z+mK<1YAPHews4UYgKpzR*JZ9Bk!|K_Ow0s22fw1GSgqk6=4LX$TqNsr$$|k!xyp#M zKr*dIL}~S@7NC;xim8yV8P}PZhGaX)KTh$ zu|1yKtRO#Y<}CxE%T?C@(aFQYZ)bPTnz& z!Pl_5p7T)4_^x^t@`Ecy>k|7=cp+xd6|D3pORuLxu4W1S&5`OJnY1~;VSPGLIrfpX z2#&Q+R+6Mkcwcm`{v=qYV1P~5$^;iVY9Qq`T;9l*BF}?tsufjDyhPOn?)Z`9TKXt= zPi;cAq-RjWh|?JZ>E-fV&v|gmo10pNd%!=?-!PwD4}*Jr`y9_bJE`yV6t7PH=7vF0 zaz8epEkWL-t2q#8<>Q%3p;tsc)(?s#7hte7CBLaQ6bpD0uq6tL_2hp8%@xPISK=8& zD}pT*N7#zHhASz^tK7D$2l>2F?-%q2X$b@I#s#0CZ^0K5qO}5_xOjab^Naap`?>tP zf?)wVT^S+m25z~4WfN8dzlLI;$lLL)gMhkAFSmDIUWGmiX6S{f6rs2FOSuTzxO`d* zX}3k;d6zF_M#wjzz05GbsFY9|t7-HAawSpUZ!Z|4YhaRi1W#bo)jpt1AXn33lf!v1 zjB1~_%0;_=vfsgI|0;d}+MUQ*xk61wM$>#$92gWkO}!pyo%F#)I}?L*wC-AWb%2U$ zJ?XJvpXM@Vt6}yWi{oT4tg+Yp*EkJbvUYa%M%DDsQqye-!5jhyk3I5=XzC08o+_eG z43JmAIPJF^lgp$*kb~Y*`!<@f*3{jCJJG*al_>A4595!@SLSpL~s5p=tDG z%ZdIS)YcbDI-3tyO7ysISk2QoG7jsh+*Osu$y{Z#kC%(zqhx{u@~q_-iDv2qD&5LQ zzq&ZB6!V=<tF)HQyahqSR4HNTNCR~utqFglx~#9!Lv?92E|4~sWQ zoMSdN+u>47UHuyKmAU7$q|J_uDX5}vL{Mwm8YQ;|G2#MjnX9n!5S?Rlix06ZT8L@M72{^( zjg=a<@#Id|5Lp(+xE512r~tiHNg}qyU!pzWxZZ&piFF|w8C`-+EJ|k{FHv+vdk6}Ok*O*-}o5U;QXTE8t%Gu$=d3j4(6z5g30zR$}7nQzgOdy zFCbH}wBRT6wIhisN_?UFfj(r-h#BN=k~SgB>7Jn$(F)Y16o+5aw{SuJ2y=t#2(A)J zU?VjxsSf><-@y#1E=ySj6oxmh3{In5uAohv?9+3bpD5zkK|(H9BMvlTMi ztvzEd2k!%0_<+R*A*nA;BgK|NSu};GCg??=akwIZ}6}gr&B6BQ)9pPfl-_qYcuW|=35&W0!BeubX zm@mR9YPeQ{`mEj220$6way&c7;7eK*l)Y;5+Tr*a-C_VU7A-$&l(v!Kw9i;?{EmNu z{4Ok0pT{f+YTPbrWbhUL8`JoZb}Y7}UQQO-N?LB9z;O*41t&op@JC!bqKDIuq4G$r z&Wg=Ut(apmIgC>tGRMejyn|-5_gm z`+IWr^E;XK?Ia2u6(U6PZ()r^%-!$Bjbz~vQbbG6h~gO6n}j6gE9D6t^!Uh1gv4ip zir7Hvm(rE%Z+lEnC07Sas>`*3WNTkfu`ZJ2J&ui`nRMKh;=66m)NZN`Ja6;_yha4# zUT>@Te^`6V=qR$VT^ol$h!AV3t}d_YjzaLDgS)#75@c`*3{D`p#?w~SCA*|M9mU;c zaCe8n8QcdrHGj|g{+##yvR1E^{K?u~UA=4XXFvCKd8XN)@>hgxd+)q6;vKq!c17O< zTozBGd~7p3*%)h&gu5ZB`dPyb_t#t%nW--K6)B5^#gVnCy;1);Mel}f@iSTwb__Jf zAfz_=l1{~1S~^(f`zL9M-qzxFa8invW3(cX7w3jp{1Ee(rP%t$`;=Ip|C#$Ymc(?j zAn|mbYD_@1aP*od- z#S$~TRjhrfZDdo0C3m20p>t-J+E`vq(rifNO4BH1p7S%8rhCuUvofzL<-CDTGv7fg zVXxr9IZ}}#w&O==&(Sjw=kHh0fgUT?#eUBZA^w5iItAh%labj>1d}tYP2FvDF5ooF zEuo8gONl2d5jS`*e+KN9|HwP!t)M>OO7Us2E%YAX3~CE_PoI@>q0}O(zbjXTo`ttv z3!Iy@5o8e(B+en@xju!f=?j2FGQdjRSJ9sM2?qG|)&%5tUyeLkjP|!ue|ZxNoBLmp zYZ(KH@Unk3Ul*;S>^A-`6&l-9$J(1?~mX(K<(5SG(?pae5}iWdZU(LdX0U+VI=o8d9(>EcfU>%i0KQMH)93dHy=ABK1gS*0LM>nLv&h_A$L!n@+>L zjWiT0yW6;3FBGFeRpoalAid-wz8PE~ zeFc^IC!iMm7T&@?All(^e1*zW>d4GW4B&pI29r$5N)x06t{K{sJx-Pqwd(+OjiWO^ zQ9;y3yqUiuAJkXvUx@qCc4ULa0czp__rq zY7nwlN_5s1^0nLW7w0&L$HVEk*weO0;vsuAa+IYb)zz_{YiL_aR)vS!`lzf>Mgngm z?wzxO7-X&CJJ0o$wrFL-O8yn;Lfl$!^+q_y zPu!5lOe(x2)kA{i#^@Q}marlY_U+KpJzd1Z{+b{S%yZTuTEUsNb+|*RV9$}S%cF#V zH^ZmOi^&th2V|)<0NLhU!YBG{+F?OYH`+tR`R2h$PiuyWqi*W;8UTiRYkCBJJT%ib zo%u6*ApQ@x4~b;b(QR-=W{jN5e?&KHb@duz9ji)W{wl_$SaqM|sc)zQ&qS)q-ROly zxW*FSeIu;pZiv4~l+f$QgTh?hc3vy^BvgwUPNnK>&2Ms+&a`h6vsWHo+lWoojDCH; z1j@J{_&3m9T*EFw^3XYAMJ(4>otq&#)h*C1wP##Sytm%_pG_HwDQZ{ub>w7#GZlba z$ReHo`n+(AwXpIoaujbf1R*m#S#mCti$xHh1 zyzOo&or$dgH6hyOcEF9bqp7c9YaD{mj2p|zT5DmG)L z@-x6_Xm;+~h;B+lok>%jU1n`f*!_d3RR#6@<$Nxbfmd;LhI8Y4*>^D)$yS!@*mT!$ ze+KBqf1z)Y4e>9aKKg=5RKE(%7r#1AgDgf9%Pu9E>woLN{P&%d`Z-wU1qE0HMk4D*}nPvF{>jlIr@@!_?oEXtm6$L zR@?l}W5hu+U!SLR9=?2D8N&ae{Nk6I##qjxFuy_@qE#xY$;H^0fpp=AFhJgH`h)r; zC(AvMjQp8WU(ZEX7V`lKk*kx%Xei_~$`RHEmaTtzk5n=+ii+n?sDU6 zOMCZh@)#Y0v9=yiE1_?g*)fIQZcO(r6?WCaKyLP4L9b+)AFI>(inN12ZF;EHM+ZAc z0SdZH^h4@~?DqGd^Nh2_3<3>ZX@rOxag%&WYDZKMZTJ{=pXjDvQ<3U!y{o*;w8wZ6 zFCFUc3us%XUz5?^0kdm%yq=O=yfF`>lVbSyOao|Dsfr4izbRU z<<-&8N zq}oy?-35HkRH4*F;<@79gLMTgOLhIf6rq! zHzdh0NYWp4sKxNv2#9m&Yv?a2B&v=qqj}_VTrhO2&e9{5U3#M9t*bHeT<)K<*%nMaH zFj7v!)@9juka_f6xfSw&sIR-DSa~=tn{Ra5Ytz8>gTi^CAZtkqK}AKXFNc?C-%4f1uinYUS;)0Wn5gL}QypO8Jl z(YBn;l3xoahr_e|EA^hZ6FNb7uV<_}U1=dt^?gE~q5$YPAqcaYBKXbi<+j9RXr{P9x(ml~51=_@V%9f(U(ygE(3N0D;eMi~y3gx!)~9Q_ z-x%`oS<-y+KKX|DJ=5qlk_Vzk>yE!4!cw9OChD9%ldrcnoVq|Ya(9MzL5=kOf^$N# zISf=LEM&acQ*H0+A$sMtCRgDRZg?zf9T;tgS~`lseIeOx*M`(y&4%rfGvxv9XXf|PS3^7N2fC0_rE&T?Z4!~E-L7?ui*~M71z!y5 zM&9tLQW(3AdykHT*Q)W<32vt6108DMaSZLlH?<-}ggHT~?CT=Uvu?y*S{liM?vaX- z8IY*9F@13^fq9G5ewfFzAK|2T3fYwZQ81qz?b!}9g2~^5Oe3aY7{55Xg2$vJS%QhV z+IOM-?H<;(!6siPh^tY!I{1rm^k%;eY- zzN6=Xm=Kp1-!X10BtUif8{A2_p|6rH*}j{u=ld+zl9zj~3MZ67{0s3A9P8Z#O~6f| zJuN={SvlIQpS^G+tmlbpeDnPNSRdnl;)+}stmFszRtuqIS6snbFq7rUii;^kqojZH zYj7X%JxFuiXwOFPba5@&Aj1#&ixQS{4xANOfcw7pil=mM%c{%a9>_Ci@v2Z zq5ATvdVO)BILmxj=cacj@;qhYb7{FgYeb@9^kjL4x-;Mvw`18Gx}sCyW75jvX3AyF zpnc=aLcX_7cnWAnT_+nD_kay-Dt=#N-Jh^4LqzD7Yu7UI_HJB7{0 zDKS^T52zcTR_iaJx>`>e!H>e$dLz7*?A!9($f3AST7A8``O64NRfT+a5gruySNLhI zB~`=xoLksWb-_0)`z(t*XN*5M5B6K0g-FKxNEg6h>?jYS!&#qtE~BY(ONEqF;kk&J zy}pBFL%ZLzftV+}XROliNQ}7HciS_VtcOGkIkeYOiOivr_?zD9Y$vH1@S`s+{VASV zs3!%2AW@3eiQ$#`F>?|6Ve#yXi-1ut;r(#O=}iOu!AbtyVYSnV#6 zn;H|{b^IInP5_6N!Q+K6u$eMyBN>RnjgJvOTt<#iBE`E}F+UJm6Lka$C3~uqsKt&& zY@TjmFBc!;9q||XeLO=L3rA{|Ew^;%dl~VH%@*!}V0L(s)3{%{Cw6i;)J)~5&u3Hk zp>V3@t=!J|f;>t8P2P5F1Yw0b#NYBxF&cJJot(?15Z^&4)rm?iu>v$7v`|a5FU)A< zlBu#@;W-1cJ+IB-Xh*|9^L4$CvL6^Gw~hXVcSfUp3$){giRyf@mR`l1Wm}KFPu$_P@@VRpxjkaY>E!k6SN~imAoT`ulVPRgzM+q!d)1(?GQ_CH}h{=Ybv?Y zNwsl78@+QdRXdC9%KjVp^8VvDH9TPB|0n#hx()vK{H7XB52Q?O(jaAXleCm-&Gt54 z+jLXYuT3U3F*Mqc(!EJg%Jaqv&89TH(DYi<+$JZRWT#API-zNxahIksDMV9iGp6Z( zu=jrww~L4$J=?^^u6;M zR^GXL`>UPi?Y$e8?5R_}V0Zue9rr!hetnlzc73}gA!pCY%_*Di)SJ2e-<`SJ2JM1( z{Wt#2!(2)$eYF3*{-4I*=zl-{irdMeR;As`4BP0kpsk7aXXPErdX$&fg?2C5HZ~q? zkJ|q4wyIlC2I`itjpIrpwsdy9E_t%;27MLlUA$GRw)4O7j}sp5{vVCM@&A7OL*v5} zTE_>)^-f|ED%rm$Op6;57a7OJM#NQ%Uu_=~_bOq0Y_Is?_MeGYW5vWru_F^)N#hf9 zVw=Yn#Kk7;vi&#yg3Bx0{*T80{{w&T|DFF8S|R2C;^^rZwMPF#{MX1+gtlUy_X-Zuc3cH|n8GNCI{-f+n!1~Kc0;*(Ai7xS;`{7Lr>YsPb{ftH1~A-I;EGC$jJ6u5JMF{) zeZ8G#b@EGvj_ef5QZ~xFM@HlJpjA;<>0#u^W(+x!^VDK8u8R2t)q+pt*5_lEHbgA8 zB8w)hMmj)e%k#}Nh-kFjGK%W~_E1-%KF8N)2sp$05j$agX#L!`1TCus9^ zugpr%n1m`GhfZ(%R-Bw%m7ka#qFuK6N?CD5S;Hc`7)ln!S57FS{#lpqZHjj;4J$s$ zFD$Af?<#y(@1ho47>?Xxni-e4iqPhsc2H|J)fnQKZ@z6BS8u(!oZr9YoUs&+!%WUy zRxF8uGAxXDlH9YCN@bt;_Z=;N*$!>M1)LDOp1R- zaE=FHhP?~Y%(kbr4caRqCh$;ukhn{^S5!Mu29FaiBQN7uD@4Kq<`BsB53>U1mv05X z1vGFz4%A|9JJuBMBCm2;=%d26=3(aa%+5)O!|dyfNK|FMdmK-k5Ke&(n;R8IVy)}F zE7_nnEE!a^p4g1!dTbnyw^bC&%z%~a7C6YIY2lt42{-CDV4lDmi-VY(*fHai zO}$8oT88vdP6@GrX{C5!jB*&&tE9p-{qwjK_~A)Zhl*c3mXccHnXnh=@Pxetfcgs) z6XUaIQ%4L3i%X>IC0Wua0YgUD+swZps#=n#%^RZq0+v{sZn zRCDvl_=>ih@I}$=|JRU2wH1nyrFB&q!jxHq5?{d~7|8PPg5UUy*ZB_`{o077@`wHW2&e5T=o@TOfu!P_Z>W&EHYa z)?SQA!CWNpdm)dLGhUFJs+=Iq$c`on_{!(ke|T(%^mrZLZ_nRb!WIdzK2+A z^}DB+gF-5xXQD9Wpk~h669s%jykkK;;E0!&%VG!it#rgyrEn-{ z>fEue*ts?GrhAS5?ba`Rs27cT9XChFSQGAv7HigRO3l>{tnZ^$@V&M)3dwwtd@y$Z=;j@0Zd%V+X8)3D7yrJelrpcqeQ5TP>SPVtlP4*E1X$TkK4 zk*|p^elXlyP|0qN+U0dOUPI30&%`^_OX3Bc-?1BqUlM(p){_}(Lh>3 zu)IYo&+P8o9B7zq2#fP2ZtdziS^J4=y62v_D$?f35-YL|3*X8bRHb}XL5|*=KH8VU zuS%Zit;X_1b2k?l0Nr9ALvMWD4XZc5mG7bhy<3Rq*;mbXgbm<0A5*U+`cHBUGRr)R zd8-VLcoVs?ZVhv?I>XaBb3^e}56ruLZTW}Jtq`Zi3Vj26g(seE(G!xhb3c`5S}U3F z%0c0W0ySWRrIoTI@If8VM`BauT3~A3zr-M78P~J^P|vP92NG{@?xCnkjkv?!9DbOK z53v-YW(U>=43U5Oz7UC?>Z*w~*d9}=vL~Xx26kOl*-}>hVALpp>--=m({lBa~>*?Iw|1E#^ zs>wnLjy!J|(~evOv)0vE5KaNCS+&@;@(gf`yQs7xm)q`a*hmd#l87*=z)i?5A%ok&-xPlXhoE;6(}{h^ z0Qj@`z0L?@FBIgz6Tc!I>vZA9l1Fv(=|#cB{q8iN<;WL3ZFwIVf&_>6!iv}##{JQZ z@(2kQ(+U!-3-Wk&hIbS;Uu&(?C`&cexqzh%8NUSlp zL04c_Ru1W;4wGz11Jf$!5obH554J$u&b&5z*-U1;mCdV2Y{lN{m92xi9X>Jhi_SP% zM~0HE9dYgt#C@%-aD-xs#+$)t#0uxyi?`)Z=`&coCk%a+29Vt?tK zS_vJ<`{;-GOKt>-$K`FFB*bwIwT&BcM@S^_8L+JDBj0wX|840zvT68DEPn!8(Y#o@xXI9G!0y63r< zFiP2soN~x4fsIz}+DH1SWx%c-c0>_}|hRjNP_t>+H;+Nl`Qov=qXj9MrW-jQ-ry25go{{i=E3!LGwijbe5vQbMy;8)^Zl# z?Yr)oDPN)8oEze{3dLHC1LE|jhltJ%m`I`=)#h^2qV7n+T2HkCcID_R{Yhv;B+DrAi$A(?- z*K>Ic?>)ohM^r-GJ!6>I1NAEhgvv+=xkOu|*9)(jB8`tclePK6di;ufPkDwF=$@hq z7E;WY>~b723ADr)5_-o1_dB1A^#+}={a}kym079xPj;e0=)bAz6lJYV%y%6F?L1x4 zWaYN_ja;GjLCfUczEd!y4%A)ut@KnunfX3jmzjg@WX94qA``#Hv~nJX7*`khk*}3E zo}9#XbPpo05j~L=ULSoHTQA?GW?>VAYm(k4NHIRB(12e?kfOe5IGj+!I2ODJYqW;@Kg|{o0>+|gq zIb2IQLFB+eZ zk&Ot0FK}+$_|1D+u7XFg17QOgf%FpYOTFM%(i_P@_`OTTaV7vE-bzuSuFA@1WEsG) zJf;S6F-x_)j*Qcmc&hm(a4K0UXlOKX#{HX49caP!;unES>|S_!!4Tg{=SVh4tE8#Q zWaAoilOux8MGEvQ66C#PTC8Mi<@7XUhLnK)Ngl!N)X=OLy;BUu{svyM6}`tYI&UJF zled=qqFvB-3!S*_tR0RacXEaF3jTn*5tAU#X1icD(TVUrZ=@1c_*Hu*M=FD2eu<~} z->???+A-8Th}loq!G@?k*#;ond7m2KT`$&i=8}2d0q)jB4?@B<<-T}d zW{t*1Av>rB#0X*yTQ?*^9Vo%zq34WuhiS31va6YOG#W)+!!nuFoJ!0?VxXQuf(u4! zQ@}~kM}6%Lm4Cwb;OV9n;DmD7cZ>~*z5`UBlHFBQu&T@j@=Wa&gpVk518cP9G%tX; z!Uxz+T(cc_=-gFs2+@1a_)5%S?*t-;+~Me*zm4dXd*43HZNOIAsuFLdmwZ<&PpD2k z_jbdEYYm+~=W;zA`Mb{w|+UQO8((qfVolO*BN# zdrzWch2;{XHUa8}6ylIL8I<573n``one7-H=s=#JR)9BGT-BlzPan zfJ3-C!qzNEIPWvjgDl7RK2bHIFzakEP#T?ePh6{g@qRNlCqq!L*djK_<0dlD`urIF z5Y|$=VX@kcp0?T|-GuNJo{Od;Bb^halh#al7&#X?D0CtIGsdlqt0h}KI|-XP721J5 zv;O4o#@wkr8}#NS@*DcgvN7CFZnTfrh_HNOJl2yMi&%Bho{^Yutt8C#0?z`F7xL2l zlC#?@1gg0*R)hxNya@3)Kg?62b)+U>qiqIT0VeC`i_L6jxLw@+-0qf>ST5@JPmc-V zGq8NzOuWHV=S{wCw9!|}-;56q4D$|FZu%>si{Y($XZ$SrlzED^gYANAkasfP!ds5T zQI~ZtNV;JXc1`D(ca3aB48T8OHw_w5BGyD(#H1q+EkE3+V=AL*gcEshK8W4K;^Cgk z?@Wb)Fe+fGOrC>=SR3fJ*>!jaZGa!m7#{r<{WHb}-SqUNj}>6}eB6lz_^FIh+Ny5G zx-)(3e@1r=`^dL-9hE*S2}FvwDtG~kYsCv&bmGqhs$JF?rlI{8)dB3l79wk;>x@QS z6VjAEC@454Ih@1D6K4*93oJzk+5EQ;1iNUdTzzVoi%_ zBDN4@)7jja=2Ce~(Vx=eGLR3dSqzRL4V()#Q7@Wxo@D#r7v3@3_z2&b!Wg#2~0Gy_i7pj^0b) zvtq<&QqR<7mH_FJn+dO>A(&Nc59*?8#Hq>MdN zN411O1%s14bd+fcokQ-sf# zj;rUDEtVV9A$9|Qko%3FsWW2lNR)rQ)39??f9r7a3cT4=!t$lwXfBg) zZKJ3(fTP7SmS)QIz^>Pt#X`jOPOYv z-LL!s{mK8-y5yA=Bu7#?J zirrrswyh6VHaI$wN0i%WW%CB*g5>vw`8JE$@_pxGv8xy(v_vOc4hmzi7w!{zgTNAF zn!C4qo%s#u&WFhd`MbmpCX$@z{MVanoZtz8TX}|xss)nHAdQSkLRLY$+(G+X@oQf%LxvN=}CN}KZ8evhp0n+M4glr*D8oAZa!UF5O+63T3!19Gd~Cv%LcJQh(CnT=0%wxAApXS1>7I`CC% zBaJa8XaPOpGDqsQfsMRxcmh=*+hfJbtJ{ zzjCj1u82i!X;@K^V~(LSP48??;)}I0c&Xe5Tu|n!EZvTc(XOnYYEA^_a04??nF(4u zrmLmi;j|&{686HGo1(LJs7}5RrIX!Ec$7@IQX%NoCgs<58m*10j#Ni`=GoKKb8?pLo#NsyvkAsCz8-;f z#15)l3qlw2ZgmYa)HqOwAumNz9bM61?$+xy>Nh2n>}T8(d)ZdeI}<$T{I)G>av&Dl zD!c@Bkx+RN)E0DRc-s!|Pvso)C%xF*l{&;k1#a+Nvl=q%ES31?zPS#8j%5alf0+e( zt#L3Bgz@CR>_+l65-C24N!6NyYp@^gE}uf$2cK6r^2>E!stT^;Wh!TVpM@hzC9MXx z(DfQgK@MXM-(C7Vu0e-o-CL7FkHWSV`~}Lj53cWGGC!D(HZG7uJxAo`j+Nd4 zzLnlTt;gsToqV~*mS|W^ohO5ITdtM-K#ld>1%6Kx>>i%5W`)10+&T68mXU)9rP>)pO%L!Q-y1@5}Eq zW9TthnlhH&Vt8pP@Ko?&a-^&VDziPm>rLdwBuu?M|YdW*iW?ukqQ{or!> z3i!^v!43fn+LRm=6N!Gb52rf;%@!Q~fn8O{^>7Z{z`Zg=cWh{lr-M zn&puzoj91U) z%v-%rJVJCM))u~_1kyt`LVCalv`x}N+yx>6Y2laT2BId6!xLgZ`y8?vR8bCc`Nh^>LmS* zB%6+j&&Uf>BmW4Y4rrt0=T<<=jeE#u(t7@6)ObElH@NF`0e!CBx_PGgpNt|KmW-G8h44RKLQBD(` zdGDI6GRjwtL^0od<$r=R4y3j%F4YYjgnT? z+?SaOAy$!WMzdsJev~kTtfvUMusAmFiLlBF2oqh=-ppI7TG*##c-(C0u~t&pMj9!c z(<=zU;sC-DchAgfc6bcB)f%$QtW=^m2u@}V*`3ORn_)%@wH+s(=zITI(-y21Lh}uX zk;r5ro{1t$?8!`PqLvbb_V+haUz;PH9q}*j6NWkHY4&2_3^K&l&$GxErLYi~SEUFET+rE=qoiMWs%;w90GGL5Ocgj!F;j&yiAD0~=^@NSw4o;kTHtN(+ilAr zhw<0AbXzj9H!FgD8u`=qi0JKlN&S=8LqD4sP(bVa`<6OC;DPc3kom<>39%BYNN*xS zr4f-^)yCeH+;+)>&eq226u@N`H?ab31-r<2dV+m|-jQ;GKdd|bK5e|A+N8@UYPJ#G z?914bhO;1nn`~X-oMJWD>KC3=&BT0uOk`&{iat)xm8|?DVmiBuJ5?*3Nt0&#THwc} zrmiD>+day*bV)pT9A@lowz_OiM)ge#AAuYYIvTZWn^ES zXUUO&2o*^(p_jgbN@q;At9noVBlNwV(z|O}&nTSYTZq)LEX9V?FC9CCP*7FxavY)i zbbcWt;4o(=Lrd!=tQ|VqJJg&WgGDXz>OH2J0~{`63_A@yZ>nLLEp0^mQQ1r*vI_Mr zW=y!nKyp6IIck#!ZeC>JR3tVSjWQYKLM`o>*--ZA$VeVrS%9 z#zVH2<#AOVFF@2n5Ac!bN~AqC1^cYMHRghetjQnDHZ71fgm`ONK?FD#H&Vjz{lrc6 zhd2)$63>#9B~z>hmPHL?f}|0qfl6P@D)0CFlQRuj2#$&mrBu)vKS)-=0o9EAEMK7} zVIS&HTv$F*fO03CZgGKl30mwMoI4IZ>u3%*Hk`W7qmp6cPpwGE;X^G>WOU(1U`2W` zeC`lcjEZ)@f_rHRb-3OedO0u@E!4(& z8@Pik2jFh5WAG+wveXg!Wf`3RHhZDiPU}X5V?&re%rq{|*xvFb!i>5MUU~vLRq$pR z#j6&TjIiCd8j6kux{)pTE?g?UjO-FJgD^=VaTnY}9BOFZMAy66qq+^~JF`j+XYP`E zVF51})>+;W&Omi>rLf!E$(T;97UyWG+;Sg9E^%y=R8JEV$GPDJV6}c_+c{&buUxam zCb>p*B)WoOGo}$Yv4&zd^n7NuIyik=r$hhE>g)~TEB6dMv?|gBVuEFh&RO|3?vTS>IZAiMZ90VCCJsh*rEb`^QBqtTVk>&ow!LsV+8l|ph!jJl zc(TZM?%U2#ObE=?tE<0ji`iwklZ}j7Nmh*>6%KpW*t)CT+57l%c{B(o`>C<$9CRMI zuJbHHt>Wt09!j%a z^{{;12+`WpQbv(BwnK17e7@(1^ED?1)+(=<=bBaSg?H2H$2`(-=?dCW|GNa5&iC`& zc2tk9>U+t*Qz|R9te>bc(TMaM&mrDOR)tZG=yualB2)hs84DhwufbT=gDF@ivc%ik z7Na|3S8EY+kWLLaLlnbq-$!jc#Y>wCZxU7TzATCIqBE}FiiH7b@woS}x zb&M9K_K5tU(?e%N!|W{iSk0%0!nZX=Yc1i1AC7DCZ16X3id^RH z>w@;v&%+O6k@?fqcaTZmE1V;9m1^+VnEs|`?jZbk(Pr4A)n7dv&sF>CPto+i8|z78 zDc+jtE1r~LFUg+(;|mC=ST#Y5l+l{raUe~V-w=BdH&UIrn!8`19AnA-g~x?F9^aU$ zuN#ZCI}S)(3uej|C|S)y{T2gJ#WTj0<6mg2uJ2x}Vbff-{AcloaDCtYb(P#TZBRf+nz{PQFQRXRPe}0$j@pD&vrcx?$j6PFgs#jd z^qggn&XgbNhnY24Eng>uV;jL)p0?IEY!#&^xaU2?_a-XZ`vsK3uZ*Bh$~V9#*oEHa z+Dc&eE;3`Shux*W0J7v`l(Eb$M4&1{u*n{ai#7W&pz4p%6w#SP=%3(KIf_GZp>Ia&%%vvuIM|)R_IPYsnvJR zl{<*7)IH>OV+~Lkn_z39zJew>+As>;8lOamAzP6I-TZUZvzGFTN$h6yx}L!}0PxtH z$b-@Mbtl>yDM?PZUT|!+1SHhmRX(e9lwO2OpuZ`cy2cJh`cU@Jx8xb(54kq}!uVZk zr5;sMqJI=<{9A0K^g;29HN+-yVf1E+c8w01U|?;X_s|VJ)H4S$U`y^fV>6{5^(nI$yFrv9Zq`!LS3QLw1c}zMRg9kt|4V4`iJoDU z4KSWLS~q{L^Qw20Y+$A-iv!;nJyiq_K< z!>K@nkn#Zyq;hdQ~I>yp6f3Ve^C?Vl!*;`tw3Hp^47yKL&^M3rxw@Y(kSl$j{`}LW!SmOJI^E1wTow z$ep2#LQS4e&e75yBA4LQz0P6g-ed%uE=`oL=4@1cNk@=pTAB9&{)e0_G9ZfRPY%as z(IrH@HbZxEB|{59Uqel}kF6i~EVnn_2CImqYa@kb&e)PYF<0E<3O|5d;u}qt{(=tq zs-Ud+weYJqN&J`p3-6+v=I-GS2~(_xn1jm>&U1$7Q0$annP^*2GT-~5AV)E2hkdwK z5zfa`#EX0rbSp|*wEP`kx>)SW4}C1TxpgDuIif{4SrsSUL6SWo#(MxyR-53b#};&B(RZiX8q zETl*R@Iom|%&fFBO!v$NuF4F8F#~M*QN5W( z%pY=l_9uS7fD|^7PWGyvMeV7if~&T4LkmJbso-W2eRvP{1mEhLMqG?i)x#TBpu^C) z0uocsR-$G*V)0hi8d=N8@mAda6*0NGv5IiVve7d>CJTl5mGTQWgja?$>hqaVTlMt#>i00?53D?~m{!e|XD&E3fSnQX1w1(u*2*nP%o=t;bDUL&L{!g?iN zf5Ob+XeRUqJ%exY##68JsuWHJ*N~C;TX~Y_hKxCb@CyPYl#o3I9!-iHDm*}bx=G!i z(hUxG7E$4rw@%LT18Jn5$0y>Ec&4adDa zE?x=@F*fmTS87n&Y#1|= z{Jx<*voR#bx?XZ4J9X#SUS+U-nlOwV1(S>1P*`))r;s+hCAr4(MBS@%J{qbXkWr9fs~{U4@s32DTD``i7HqJ`i@kI{;2iRS(#F40 z?ghut-PIX}?er(^ED15=sb%Vjf~}T{!EM4@o3Byr#G2wUGi&|FfD@xk_mES3D7lwx z04`_`iC&1sm;`TRXK_8T{V4rBs z@IFJ%5C_PO)+$sUI@<|Bm54m6R~(6a;+LtACp{-eC)#Ct_SN(o#}gUIX5MU|Y%BTc z|A)1=3XdWS+jg-)fOy)wTw0Rg4hgQo-Q6{~y95g%(pKFitE?pihrxA_!QI^%+Bn{*^Fuy{ ztT1~h?~X}Eg!H!zH*%2|28sJ^B3rfr)V_Q=jOgdY1$Q@7dZ~zdKspV=JTi@{6}6- z4JbxK7s-yG9so1~U2(N_#uo?aA&xm=9xeyXAjZmd)kcC|OjjL|6WT=WCUpf{P;^Ed zPp&OWLdVEUdh^-zYR3#V$bSfM4#WN;_;~$cfIQx*IzI3@a5J?m(4#Oo_sQ z8pU_Ea;w;YJohE7pQH?x25Hbf6w4`LbQ6xQzSXx6zJCJO3JQ{zet!m4r! z{~P~gy&;w*JBsJ+H)vEB-3_Bcret!7j63+#2|8f3^c9ouXiK|DZJ?c7i^_%F7atm0@UTrm}g z-QZgAmn4Ju&>85uj8}>{&!YGJanM2f*t+#a7GslO`LF{OaW_?+F{d7OEYH_S%aLwG zRNB{w0?OF4h&mdbPNqeE5p~G9#@iv>j7(J~sSh>#PJEFc>mi7trTEnHVKr7;-~SFR zQFmK^E4gF@y`%Q0&d@KCFMBL#8!64wDffak+x7)Jg_i-m$paM!$I_kI=5(~_i$c@G z5WhE(t;1=3dnlQGYvUbu`UyE9lme|y+yeIC-=H1#wy-rkncl~2k()>y-Yg~AF(ZGB zBO&b;x-^_x;RLlmJYTJgbQCh|!v%_W6UpHua|_R%!kJ(v4XC?hCG)@G0?px8Annvh zf#2~~l*QixI|1FqpSv}W1&OM=s2cb$r5X8&Is&<&+2v--lh(EKB*}F(KKWueE2S)4 zl0C2dV{PVcK$IeKl=%@Dv=MJce9B8pjkv2+i_jkJ4!Jd`XFH2`D*jkJx99|DsjZE* z$O_Jy>@@zM^PBQe7)#spZ`-S+nYGmBP}oinQTj(>l~H0AeGMN#cXcS_xA?K(zxV)i zi4ttH#S(m9e|^U^$3D7;-<$u(Ogln_{zlm26% znIkjYKKz(%UmWsLate0AK2V%Xm8LEQwg@7d=i2Oi8yp^)O-3uN!$;gfTC=o-s__>+ zqEuNa;b?}i#P8ui6@Lc7xmn3h8y9L=4}z1A2%Z4c3ya<%Y!r$TN0-_yHbk+~GeV5vo4yR(`U* zMI+oz{3B)2je`S&?9nxH-Rbwi4JMkL2+wvNu)}sI+qD< z;dR0#_@+kPda9~MyA2(qB0{cX7~T{AjC~>2`(A)!WD~<|YIRB;qz^78UgE#CHt#gu zcQ9Q#qaGJdhwJFd+Rud47kXMW6||S)M>ok9?r**pQ9U-j|MjR0oj5 zR|4fV&gWOUE89(+f_J6PqkF?`Ea9Zg@F6Y&VM-TlHI)}0K+u$V-2iN(dwD`5rIDPP z`j!lUI+ihX6?u~~&h#cSujnazP&t7lqdjpwwN2sVV|;C;W^rv>p43!oMmI2z5+SM| z&Fdr9ZMxAKx5Ee|c7x?8xF^)1E>X|WzT`gq0-+XNgBc3)?Si_Yt#nyfLrnXE=T{_! z@RC4TD8Y9d>xgB-lOV5n!WIW#0!!fo4rV7`rRQm>^>3lR$|16M=$x`aIOE!1*ecXkZ3|w~84=8K zPMxSc!`@&cZ0DscTNOL)LBjL2U;8W}BRE&*(M$u)eVO89#3Fa2v+&m1G-ZgtK}=`r z755NdNghQH=_p)m3h{3KGs(ONchB4gpb&>06x{LlZUk2B#`avIc|D!^}0iS(l2O0+Z7F-#zj zk*H8L6R;IgRmCj4zoR5x({?;er4~5$7ojE#Ehy`eTwg;^N}vjvgRcv>fx1g+Mgoo~ z>x99Y<BKtxaf%OmHiHs|Hx1O=Jb>EVM>U!@W;UK!zeg$2GjHbz?6j3V%!7u>_pYp`~P&>AYxk20#r?5KB^WT4kiO z@eO$ysD@}Jo8PAT@T~Au`i~=3OJpuW`_PzUUO0}gx+=o5A+ z7>&yftRKZkmRt07b~1kl`%62IEGc|OHH4qCWv#VC1~6WEY`Ya~rtHK21XJ)qf<{y# zI`h};4y=V_q6bkv_Ks#i9wwNSD@t|wro&Fo#YN{8#{q6^AY0c}>s>9$>jGm%TOtRk zRjxwGhG2?jeihI7o0-c?FSy|>OV6dhsbRt#zNC)A_rPD^ujn@_i7Orw*pb`cU zKQ@C*vo}te>v%=K)@Us&eY>UE_ym0^|5K^C!jl2AslQtkf|OIM5kKUzp=WYy@;6rl z+ehcIy+Rogk8hy*w<`~<$!_LY8uW2J3|~D5sYgU#swXuR>511wv0%BR(Y7-<%ufk^ zO|r5tZ9HKmz8CDKn+9@-@5Cy0v-p`FhG#2P*7i^;;h6IYnrT0%{w3b=YRo;PqA%9A zAUYk}El6xv^C8B_ZRO9<(TpB^kv3`xn{wO;F)vg*C0U9DZ$>JHdJ5gcwZT4RMe1*L zD7%;ZF6}Aw+r|pjsRfk^gfZlI{Am0$jb3sJZSNmM9urG3|4G^45@hrpFzmsL$S3$% zmOy7y)qVGo^-@2mF+t~r_-5hBAXPeyy9u+ok8=RIoc`dvOXhO>Y~ata5~xq;DOIM>^`RjOqp+-0~% zLKd1!ey}$uAE}ty37oL$@$IV`IXXF4Izqw!!VlqX-p=Nh{8Vi=v{<~x=4lj^)5=Qh zCYd7lQQKnuECcvmcr~z>*a+2)jFNCLEPOyo6LXd})F|aWpenX4mj9$uSc;Z~dXJs4 zeM?0gE1gc;M#o&6)B2s=44*O8MDvJA@^$h9*<89I=nGqzFTq8g9wt=0PKs zXG}}vyt+(16hlyXFfP^i?vVe^$yAmZalz#ChPo>a40a{1*%$HkHRAGedO7|!c+mfG zQQvj-@i&H%4#f7_T}+n5Yx6UMxV9r2XWiha#eB5YOpC)Dwmt4gOer?s`BV_-nK8nu zk!)0vi+-E%f%jQr9FLV%lteaVreMR@c{bcs^4C>ZA0f`H8xX!pUYG2uoKQ{t5dIgN z0u?80v)S!Cm1M)6N^_`EN-uIeh(k)McY;T-Jw*-Zbmn__jq8qgyjoRUMidrri_fCc ztbH^hSAld_SZruvdMP)c+gmfy{W`HIA-I5YFxT03>TAbXGC??m#Rp3kHdC5tmcsqu zuI@k0KwdX(q!>%tD%UBVD8@n``2)c$wy&p-RDoJ=3)>%3hfEb50kSb|bPjR^slmi9 zRl)+)y(8 zS2hv7h+Oxzz<>NCC(KU6e}Dq$KHcovLX4%c*^vS(D?r@D?RiL-Jv`XJ}Kf zm~cC9YR%3y@OcoWS%SBSmwoTTxMl#G5k|=)(5~=mv9seWZCAHYlTzBL)5y7O7dk62 zl1ijD5Uazz?3wCd_8~92*U5h*0ZRg<z zt@FhbPM!L|P)Ca9`q^mbY-%r8QjAiX6S8U%M)Cut^Yl7`2-|YJVlN^+_qZL2I zm(@qsL--(rSIa|x4c+68!V&6%@~_r`9q353-=^9s`-oq@1+o+@*44Kj<16tk<($|D zs2AkwGBitNXKq8)2u|VF!^vuP(j6p?c7~scJqg@5NYdwrK{nfyzJuJbq$r&oE<70< zhOg5mcZ}AcA>4wHN+!T1`Ihu)!NH$5*#ZuE%!&g0=;$GQ59=&=rL!AoZU00(B<{*% zt?#I^ik&ZIeH)q*XbaMi9#D~ghH{CuQAUSm3^c?S{R#8_DZsZNP@Ca_A{EJnGBx67o%^)e;9oBT;b<7< zdtqDEJnA^_)9gAHb53|4_7T`c%}bz~D;gY|NsNxS>1@xb)8Ya!+4o49WE)6b70ME^ z@(VnQy{|Rz zSJ=5WKew9prF4p|j+YSr<Mf{iMGes|(#Fyl{u?3w>aV zghsMMm6^Tzal}WVv)q|J9p8e8qHmIYtw(`&A8VM0x>C&0HT9R{g)=Cos&i;n-L2LX zYAFrGw)_cEr=&|(s*!$@VIfP4{ev6ClFG%xTk(`=4NnTox>`yp`%w%Dj6}AOPBu+R z7H6q0mM300W-CMa66pLzo4{x7jJ658A1ozI5B(#SP=lJ`W(x6%{sWf^4?%ZP-;1vD z_ia(@=CHeHpzCj;c*aQzbJZlrAm1|ShCDpj%XiXQF%$}vx7sP~tS!zW|KNv zmh57!s*yko0}b?2M6c%+V3+g4A5pk&viM z_;)4V-p=*~x&UuCnlUqJBy?n~vl2ViuY>m}39!z1HVz;&*cP4nQyZ`m6CcZTa^U+Gx1XS z^Ry#;(N{&tEii|+%dNZNO-JYN)HNo!c2{5}rcU z50{Bl*Y=q&kX=-cM!1VnQs|}lQRxc2l3GfXckQJ`K!nFBCTcjF8?LHC;jv_+NHys| zIMu{Q|E4xFTR>@if%Un7;pLq-h=oBdfE`RkrUVN% zRA_@#;F~L>94qXOQwE-8HHbj5tFS$RZ zOEDpgej}7G^|QSKhvh-0If|aR%7>J{(G8kszBoJ){1>Vp?oH8LK#8+|GQNW6fDLq2 zvZ+)6pN9rwACwo;A!sA^SZOQvBqve~`dnI$r7L0OvN#HShteW7gLAcX>RI$+WVG1A z)>rcxPg55LDPeL^nXt}U6WXON7e(w#@PTqMCre%}6$pdXw^FvYpK(U-w^dJluUTGR zfVyliX&bo3p20ZO0o>#*YAkjySTo#Svr=i^Q9lGXQntuGYM^tNkne1p@(Q{O{v;Y~ z*>Va!D0LP33``&^gHBW%s9MTx=jzaX`jos}{^l=-snj_8rDc^Yg?u%oSa<@m9TW3r zhMoC>5Ce6#X*UA!Cp>}`t3N;$>r#KbO;k3ck5Iu{L4Ar2hSJ3Hp&X@Wz>KNrd-4m^ zhkJ{ZqvxWB!5GTI|5=w%R40@k91!_e7>ILFEM%wp_-Dc-?hvnAX^^12V|y1piM+;3 zmH+LiY9DT=||zKjb#C-F!hZ%ZS=O>Z4JEa7+D(G$QLLJ&~StYmIZd zO?vLI@sz%S`Xl_9-XPTEVhL-ha@ZQLVj+>&!QNtLqPOh>@|AA^H)R@-!-74+DYlCA zYUR1_f4m5n3Y$9`s(Y|(oGX(L8lPFqYJRRomg(XNE<~ezWvW|52#v5J)*Mu?R*h%ix$!sGwdVoT zH>EPx%~#A#Fa@N&v}O=yKVrS;a`F%7S*_!`KJq7^$4rWm>W~+47~$pS{mvlQ2swmq zSKBzcI4ETsy<1KV=76C=9mt^P*=$P0a<8&KcuB}W&a-!ei&<36CD?VS-|8RXI>n_L zqs8HhQ%NIk3y+g5*m3+XSxI5hM&x5K@k`RASN=x%X0|)5^JT(+5pZaIB*XRxPr(XcbzQpXsk>+XH8X zwlaPBb)iK3rgmTb5R0a2gf=<;vgnwS__)I3T7r4KkZSuu-G>{KEkf=11N>cb7I>ky zcc3-{U0wccbwu^Z&&CyMn$j~gl3zvIc30t6j(_LFSRELBr{s)<)A#cCRl?*{tXgoHJHES9Eq#8rCb&9t)q#W&TWlbq)hc33R>Ce&?a^W zb=n_*F-J91V{){{G&rQCz*ka_q*rn?dMFvC$ZUjr6xzf$!2eUnLHd+dX)~Z~nt+ZI zV^Url?^9P`XRsJqP436a%O%z8p_Z0kR5NKKYeF`$%T1-3F%|oBKC!(03e;BYr!^vL zC|YXF-qm>tKPzWync8g*E8{v5C@a-PbjQm%LZmrm0(;q1=&Yw1 zTq1d9(Hy=ItUw-9Mxy&2caTxW#*PemVWb^NI*0N*!DJ%a(Koo=T>-Bz_hO?shtwUB zLlYNYQ=W65$d%v)vBa^N|4i0)?6!;oi-}730MOAkOwb`;$+meMw#V9znPa<0l|oC0 zlh`MUTR_Dla2IJ!_?@sjn4tW{9+D;O(=xxQa!^vAS)L%>EZwR9;Sb4wr}z8c@JFjx z`@iQ8olEbU(Ko}`U{r(C4Yo9>)Zj$j_vyBVm+DIm)@J-k-WX6{3L%hXOn8qY3Zhn ztMxB6cBkKLcp~H5t}BfjH=dTUyUy)~#To0;tJH7NFt&bH%^%e*jXez>)b}+yQ+sVa zCSypW$?5;|{JC9!*Zp5Te~th9=O?Qwl`E$1-*hJ}Lc~_8=iKK_-#>qE zYNewCHJ#3+BlKDFB7u>Q?ftP%q@P|$kF}{(GtEEtlRBW?SeMnZb>C>5O1GUPb+&;v zk!nfI_x2JL3n}-^Q^=({YAdN+(j^2I53CS%{F;WZ!t;Gl41BBKF6{@mIkNe z%JLKGXedi=VmpnSg}zh{T!dc+UT+HN058nn2||oPXQL@%)xd7F8{fhcwvIP$gijS@ zVLjln*2Y*qvfX+UgYfs z$n4>Bu@c7pOkv(EAuaZzuP~vWzlJB;wcX##x7>O<{{no{nhL#%Z-u&CgP^tS6klEL zmam>42mRJG0|v2MaDX%@)K%GP){Ki{b9`&!ey}Gwng7Vo(_ARi!F{le>x|J91+9lv zY)F!mWT-F15M!L~DAE>*h87!n%Q_?qs>;vu&*Db@E>KNA|6Mi}4v&Y33qz7#ZqHd}U@138;>+6LTE8~4A=P5t>q2g^YuG?1N- z&Ww_n^>Mv;4|>6O*418zRH)9J7ogwxe-?e(+WC0c>LP-9`xl0iAVTU(1fMHYw$A`SvGZ#oa-;^(dG15t6XyNQIn#~=(Yqa~Mzx9bmERC0i+ti-f-f2y zY;L_Rz2~n4`b*HI??j)i}CEyVnjjj|k z(^4w%6+aCl;HFtI*9A9`5`3C|l}qq_LdW4#xda1-Uo=F_^;~?#n(%ZGG%nD%_awd~ z)JROQK3DsJXQs6wGrv2~!r(Af^;S0|U{~|^CMH^Hng3zFMdz4eK<%V|^tVc;xnlDF zCbq$TCKGR=?`&CweX^R9E5HI953YG`C-F%YxCh)7(>LaDZZfh)ciWl_f7b6Q$hPzd zkk*Q&Dnq5Q9WKQ>!+j`kJ=Wc5PsS-0UIQuAW;m896h@nkY=A9oiDr+xx-u(FDn5<9 z!dyZI1kx>t`;}13nr<0wp`aIuoMlk*0xOho0==dlOdN_vD-Cgli3`prj+hyKGP>Ka zS)7L+HWkXtTr;rC$~As8JV^C{8OSxItgy}B8EbExn$Qv}t($LBv9Zu1qzm5>xbnO6 zSA|K~*414si9*1aE`N5H@Z4bB#vnP5?0|F@hOG zva_(R?%7JOC1^Od_CHHEr48prMfOs%AL%R42hmufIyxrDx;qrZhAQmjr{xbZo5fD- zU*5sM58ZZkgGN~D`J$yMaH<~x1-d5zbFc~CBhXmgkM9r&MNj8pCpeR}612hKSu+;W zo9=93uoZ2}|3 zjzUxY2~bh!4t)|cq%YVuJ_aONkAsJ17xtQ65Ho+}-oi~r89!=%3ynr7a5X#EB7-A~ zr^Cg0lMDllJ)x6udox||pEUy;651l|hbD%|W??0DTdQ;+;u{c|nZa^F&bE?3GWbjQZ2QLF!P zKNGI$x&@YB8JS}&S?}4eb)WN%weGE+e zC8Uf8%_s5a`3149>4#b!c#!fByPsMpcM?uu50!U$l~#NPSyISY1q>9+5`9;Bxi7{9 zc*fe{+&$M;Peb0x&fr^F&mz@z_g7{jSqKStNIVFe+##qdlT+>l@)5i=Ff`)U#w^Ku9XQTA;C1HARiE7jfpNK&J-2#>d%+p$xO@OCf!DxBGzE*%Gw=eGH7-R5^X0KP^Jno2G~ZJ(&;x45y!A!VRnV(z zeMC8Z+rT63ue-5cz9Q=-^aOv@IulLteMGNY7g}&@m4fHGJ^Uu@u4!(dMc`4Or?;~S z28n_Agaf`6`g6kcxIPw9d!|oW5>S ztiB*nMS!_ze;vzVYi52m{c)&<|BGcP^w=7dss~)wu-JK(6rU~6W6S%JS(TgNW59Fn z9hbmar6$<0RUd^2I?B72xvztnMqGEHl%oix# zXm#HWh9VOq-NMz2K7^Yp_mx%Z{=h-*yZ89&S4=5aqrA09NFS$fj%DP1wOouv-3y^X z_zGfxr%D1I{{%UMJVS6I6Rt({<18F)s%ve5N5MDniNt(&U2t92Y+;f~ouwkuQ?Z(| zHh&2gh0Q8F3;$ywb+Dw9FS4gq2&`4>hf9OE$|x|6+o0RZO=bTz?{?3$dSM#fiF^?n z;h*p!cpv8p=Ww#2bFqWN){?8}@^EwdvTYw8W&33>=I8mEFcl0T{2%l(pM_N>Co)#+ zri8lrbYjpC4F7Rcz-h9Y{XW&m_K%~jW0ID4PbEm*Bi&@*DE6j*a?F&`IZjamSPz=#ZC2%TGLK@15UoI(3zwBtNmS>#hx&8-u0L3 z6xEjsK>ak@(Ps9t_?5j?CR^DG>U)RrB?`9l7o=hQ4WXT97PJ@~U>9*Wgs#dov8B8s z*iea81}Mdv&&kR{T#l)|mM3VoW`i{Ynk4iPW0e`9(cwSgpGvt<^KiO%2y;X*q1CBR zZ~{D*JcP<=DcwNut7*0bD!+PG%n^N2h^ z@Q2rA@?V7@)C3anSSo0#?Z~tJ1Xg*j@>zH!#;fz0wnBX=4g4)%mQJ&qWLa!iScb18 zO|=d~v_=Y*ZJ%!MLYA{XqT>V4!4Gka7%jE}^_hB@V15+nh97}we2uNp-WPjJce4F9 zP_BS^f`7hvi616URp-i+nf_8dSCUWB$OZ!2KzuF@V*9cf^Nx=Zn}fP=lCOhMhG|Lg z@JCO3q=)XS&j&y7B^oat~b>{cTr|_ocEk-0kGrLTPNUIm_KEP@U7H zQ$V}N_4X<##=S^oE3o#0XF^x`nfmY84>pmV5lC0;LT_IvdKdm(@wN84izbN~+MGUYVsy2%CifrfKt?-y-G)?a9=e}Ngu=45-^?C54&1wEo? z5-*aE8h2PHBdc6v#A>=_t_SKktOijJK0pkFj=MLYsre%hk}|P!*z4LcH!MepLSl-h?l~ zs#A5TU3g`!4>KRHh*ia6$pYdg+5=5Qe?Z^;t;GY}2&^^LifVw~g<$Lq+OBXEHW#c) znuC#A2P6f0h(5>nqOUwhnA656JxsF1!?jPzvswzMx%Snl?w&_c$v5GsHC96_#F96s z>;`O#ct!BRRoR^U8ya70JAHy^tobJUS!N?!kWR+^_#w=OQd+_m(z2!-==`F!6nlKvPRn6z3==%jY?shUAf-!GsOb( zf^&iklxe{nqyw?Phv6(8mYO`a|0yL6DNuDxIFPJcY~<}Cb@tq$9ig+4cctl87Lu-6-R(k zlIC8;dr;N!#Yhb@7P|?bL?&3ag3o5gQrB>Zx{mskHop2y71K)2!_AUXgBGP&@+%jW z_pXJ)Kt^Qal(o_^u@>mV{(#E{j0`EUt7+uUOe~ zm7B&6HcsM)artaLcSBH_t;1Ik%EN1^A9$hpH`xJiM83}*jJ%X~1V^e3q%s;a?}*S{ znJCAzeq=5d(K!q+?7~x6byuaCT9pf zB%)g^+%1@c45MGLR`#nu#J^%&`nLd`vKyRbrh~qPvEo9I6~LHI)~n`e#xzr=FC9K9 z?^TLTPHm#ESdzGrY!~(=cSm@^NWKZ4_uL@xv0$?@L)r(HNT1~k${R3?d(P(j-sM|B z>)cpkG1XcZCv;%<3*Xd4^&IFEJ{lZ|Zz8{wEeSx0bXT$rIgY9=j1~9r1@5QpQU7(c zFR=ypCEqf9guBl^6CXR#nKkKgQV4Ry6VvUEe5!Xr#Qx%$2;;C|pP;^T|+ zw_%&%i&(7I<$Qq;CtD+D&G(?vc!1KA2-U*gz`g`&LDEzwp|zOF9TYZ)%Bf8~1C_c` z8uk!U;hy{^&2@EB?4wzfdqwXtIpJES;dp1O))d6g;hAiA^@ZFQ(u2~;tq>DgpDcyC zP|?)Gw2ZsJ{j@yu{p)RtFT|eVjm>fT4c=ekM){o7i(jJH<;wirV4R#mR-^{f&7c(} zyIR7?GZ^^S1~$vx!F26+Z=v?O7YVi5J!~&-B=9OgayMzXc?-zX zn1-43IBF}L#a7mBLioT^e;?BpGKbg}Pzx)&?j<)in({07OB?J@gP>mwwRiXO(0<+0!oIPgppNy3Oe|*k)al&MI%8o z5upgapbsYYGGB!{!u!}3(iwR>(8Jv?i!?Y0?q+Y@_(<|x) zF&}QtLU}EX7hnON3N41(BYXV0;!eS%;dBOT>5Ub(74!h+nrs$lyK8_L))Q9^qT$E7 z=4NH>Fn4`+A9t7=@2esacn)2e{%&4nI&U4y%>uRjC^nYpivPm=#7N?)@J8vW+$*T+ z%hykkrc3Lj3jRZu7v`s^YW{;f#dKs-x)J*dPV}{d4N%FL2PVw~vTC#bkuFu7Z@?bTUdNUd#)2)Hjjz0EA~9C`jzFXX$*%a+*Fl@fao7md zWZH@&Fw4FIzvTvSZ=scMi1#hq5loj|!Rnz+E+KvkbPj2YXW&EepSTDAZr&P5Fy+Cm zky%(8{1k7AkGJ$Nbj>UF%n(+v76LL7c3e1sI_@mPt`I2fxO%Ux*9T^!am1 zCLM2wZeUx23IOp`W}Vi*hyuEqEgQ=7Kj$Q&n$#04(lQK5SYXj5`~&{QG}L$%FH6*> z=1}hpQ#>(9BeaIb&=%O~ASCKcuUOu6+Eo?nj@rz$wVhu_?4q)$CeR6DEp}2%OQr;y zV9kiRR9$>u#dc7vf1Ti$yCfE&pHXwU-`F?wIA`&F^8|Tb{2h47{T9x-*9!j_5|IPw zD^oYbge`=6nObEJgi3gJL%X;pLNmrDBL0Dz6Y(N-1I^ab9e0r|bQ1QPs~NJY-My{A zP_dzJ@M(7_=1f)q0FQYW(Iu zY~qvqoOJCYnogAN{xaPvS1mxj=W} z9ao;ICSp=6oeEXQBc|cR7;CA78CC#~bZ^1d=(F8fu@RqX=~-h>18wZ;uj5&zIh;0& zv&7MIhPVNli4P*HnyP72Oeqm%ZNSdOsT-tMz9j1{Bn^LHyG4&?uaqg5Si|zsNPENF z4LAq#vupVRFfM;q@=)`}O(Ycr+lB8#j6|$G zir%h~VHcofHFkMl%#6N8Zd=l0%UAeqeq{Ye+l73|F3Zg*9D=;J0(2sKQ(=^S+-~6! zb1~qSYsx$GF)&Uj!xlrh=_1_Ay3Cvkbu`s12#QyNRf3=0|A-&OE1-wEUp4zX<5p^v z+*~90jCNmP>v><|X8I2`q~a0%VRH-ir=>GoS{UW&;OVX3;_snNaC4NmvTQhoKJZ23 zH=vJDAM#P&ZS1RigEp5o>vy?!p%YB+;3Ikc#SU^OX$A*z`^}@-D!R$=EU=%ClWL29 zNqxY;d z7+HuA75*o*40!$DbYDy>T=fIm0^@1`-6`1T8w$mdhl!fZT63nQzU4AIY}F`vb(w6fIYq`V?SUEZZJUiNGBpl!i7W&?!B5dM1Blh%W7!QZcJ20W@%w&x~v6w~7) znR3c1xo^M(t_Iqn@9=GClD6J#=T~rhL{3PJOC~-*8bzFQi|51z%1*_N^(Wg(Z{j4V zEwY=f$N@Y@w;C*#n?R3~!?Fb%t?}nZq8)4z*c)Co!M*TXF_Dovhp$n4}oId81n_(SZgCpEF>)>ycE`Na>>X`Ku4i*;t9s`VMq`<}^N^Kmc~%!V4dTWafMOKKE(f!ze_T#_(3 zrVyM3Hg>LdFSF0RGHEBfhdaa9!LI>9Y>V&mHu3r4(!SNu70kqS)D1LNA?jjX*pDbp zxL9=|jm$tZp*Xx6mI7y(GyJWf-(W7=wP2gEEfV2BNXxnX)^0oroXp3>qiBeY7LNxu zXzTEn=+4|c-e#3NHAKeh^u7g2f`)|?oJ3fSQztN)N*$1h#1)anRy2>byjc1Qa>8zQmpwX*dSkhRl zClRyyySq!En6`_Uh4$j^fg|R}@H)iiy#@CsyxBjw@8nb}qWO4iPL8-j^>tuONlx`| z3`BzlOp>@jI>;pmNZ=aCW{N%a+{aBF{b$k5zSXAb>>Srd-#e%lWMoeJYTG<`J=IDz zgtmtoLADj2RGwI55hXo(h`4Kd#m8XHiMx0j@>DHnxk9w!KY`82P*bVwQh_5nmv{%< zg!?Iv<%hmZOBGO_dy7s0sInZZXRfFAU!^O(E^stwOWsV)B67qqk}sFAk-LJ9G5sxY zhV`a>LRB?8Hy5joCo+l1F0vJ0v1|=wJo6ZVxyuFhto4*(xB%Y|HfH{Se=U>6F+x@M z8>yP#;VER+mte4o;#hxEc$YLeP|6g~tc}|jSR<54t_rmXWTA(U(~RDH7Ha}FSRrZ; zCyG_Ep)TC_(Vc4Q1s`|!)h17`&3m}fLNRBO1j*}v0y=<@4YzErSI?ehPU#IcbhqHINx7J3w^2+=QL#zrfn)Zr|`3!3zdzJ@S1Ejt3 zQ9Exp6h|1N_BPku@i}Pc$PupE{wM?T?s#E#U%jCyk1kw-Mz^212+{SwtRFyVxlT21IDR@EGNw}&c7i{q>Qa)au z7!P(BuO|m8#u_P|3gVzE@Iden@`KtePUW`1zlrz!82@Xcjqn#(fd1=AT{<+bxBP_b zgng3oc$Vy_JoU%ojn&^E+0qZJ;p=z<-jn)G#IwAw;3IU)`VIbI*@;A1N+3}>^|5$vGMQ;{cXxMpcU$=5S_%{j z^^RnsH!^K;*To%{#oc}JWpU@p^M+5~@S?X#?!CWr&iAYVm3)lycd%mIXZ5CbjLbvF zX*ZbO^d#je>SDILGaPoJuC@DLwy)(Q-OuP>VgTIZzw#68H^5Z>d6|Wqe8*(ZZe$}+Y zaTM?^fYX&y6qNghOKV%Hov?#e+S0s>>m{>_G8J+@NROR0sK3;|qyvFImcz3Z@zfQm zJz%?XJNYU?6;P9y=B$e+gWqHa(7v?Os!6gDI<_NtUcO7NCXPvQ#3y37IwG%LMx;gk zYwWM+TyLC0{bdH?)A^c2ip4AZ*IdtDLK@}&MPH?!8*?p9u{IrAJo4JHr(90G_Q>g)^dQcX95VQ8|yd9Or-Nb^H_9AlaQPg`W(j zA~nbsM2*~PR2?i+8Jh4PT1ZTmC#`D9Zg&ktpNa1*k9BdrYWzS;FB(V>AZs#*a-Q)X zN{lNPdO(&BZour8p>cQ4fhdD$#iRZr%GKbB;H6-5vOTyfqf`g34hekCiE`NP ztSpg4Wl3d}UP@`Yn$$;ak9C#02T*MP5&~ToDlL~%kIR?khN?I0G8VvN&a$DY%H*Yo z35vjif4WLZg0(XTuwGDQR&Z~z31TrUhZszg6cxG80mU=!txB9`B?Z}1`6=E<+<5J< z#7f(V>S`a@H7Y00p`=Soz(=$h7zRJ8_pIC2QYC|Jz}yY&m!cAiJco((0mc;ptOd%Lq2s}w`XF->2dt;B})LHDPo&1C94ehkKE+?Qy2*kip_aH zvJMu5m#uwcGM|D)00gZ7j!{nPyfelbBtP*FGn#AXv2x5Pw56WHtN;$fmD?q6QD6!> z%8_BD##iuVz$9a#*&o(7*@Er`1GTkgeEufAcJ5#9h0=}CKj_8~q;^t0;TJw5xK$Yr z7x2k+9r7~uM(JzRgioEbU=@iCwUu8fwH%ZDE6M-dZ>4+2LpFh4ZSIs@aD$pAKF^+S z{~)wsIxxRd5=q%NA4~x;OjqV5GZXY9KclNwY$FW3K)#}iFbW3ZC#rWs&$3dKFS<|p ztWDR`sO?k_#)r&eoU9@fHHU!EmTkgTUce&OS=YR)qH0>7qQ7WR_= z5Ul(cz5%Qt55U8?2lU}<*t=#I0Rl*1lC5*=Cv*+El)>q;;3sjIng<3UKk{(AE?tj~ z;Er(9-OWkTVyoNuE3lj%N}osccWz_O06}Ra&Xykv(cyae9SY8bw-+`k3^O~>mi$H7 z*m$F*YQ@Yrv#{g^2|7UL2MyI;BOdv;G=j`v9}_O(r27JjkSZfEo#=&(>0Zygvp7Z( zRtw=U(2;yh)xh$LR~6dGDbgXirP7m{48{Tn9mjTOih@Fm4P$2-(>9jD>+lxGhCGjc zA`lYcGi+ids$Rp*+h;h)?Eoj4mK^*ne}#jB8`W~5{ooWmm6_&a{G_b~u=ZDQf-P&&(JIBwaXww) z168=N=NHqOi{=PeNuOXWlu5F?%}1VMzEQFEj3s_ssWK%ky4X|p9{1c!WpD7)4wx6P z)dElOk>tnFCW@Br(Z{l$`AYH|1EcJ%gOTboxsF&>s*kRAsjb%3I3lRe1aYzeNq z`#F^Z!YuSPloBl8PFm(pvL099Y3^wiw^4nle+rDWJXN>iBI8S7_o&~1vifzqx&LN@ z*lp|0xS8IY8iGyZ#(EcX2shrNf_kKvxy)Wb{=v#(`(v`mpV&cpnDN!xF9Ui4tO^I3 z={i8ZQ-x$TdIYEglBq?kn;9C{#FY|?lxE=3fpkX^;$e`Aj*7q z;0~3Q?u63x+Hk3Vzg!AVbWHV6^#ASp0(wz51e>-=+u{61H;t@B*CK}loqS71kdu|7 z;%;fB+*Mu+Q6bUns`h3}GgIAVy*IsV(nAJI`ZuYCc`5&#u|)ePTp`>a{$(CBY8ga+ zlkg#HCg}`EYW4K(Ql$P#Z>ir5x6glBkOL>0SokrU)b`{f#sTxI@vzb=Q+%Ev6RJk{-&) zAQiNW_A=SnEBz0xySAKI!9D_$nBs~15>wT5>6&oezD2FerxRNhAe6(~_zV3m)Sg$D zJdVzE^=3?FExVqr6yF+5CY#I0d~KCgu$R^P_)uvN2 z>Yv7DZLmHQ&NUktz0BoiSWC6m`HXzh`p!29U6PW-kZ>oyDN&jo2^gk6>w?a9+s3j{uRZx$-oq2wqY-BrV6o zZ_-$Z$w_=jImxdrdqrPqmNMqp<3inB2bp>Q-$Do~&z7D~tS(7z7rvJFM<9 ztMAJ*!m|T-+2!m@Vj?k7XqFbhClF^10Y(zT{qF+LWmFhW49z{Sb`ZDa_7#i556F)) zL-KCW8x5aD8@(bg;j2o`@_Xd(%^zDZq;O)vhVaY$>Q*l2`Rc?qiwl0OF1p%Jxy@Fvi*IKPHFQxiuCCVq&125lDbCcD9-AVZkf57n)rr%JjDh2vv zJ;MK2Zrk8PG2b`E>fa!ZTIS~XKSJk)BWfM7tp9&ff-i==C~lT#%K+5DzoWa^CtPFh zI!L1bp?$&&p(xfq*T*jP!2N%{%ln_WdcpM{9%t{-f!jNvQ#w#kfW z*KZdbF1QYDg*OX2gLilYd{cf1 zXvZbG<3*gfhyEjkV5VlVCA4qa1>zjHKm#wW$rZ_NrS_u z&5ite^$}bYh6S#Ioq9r;GVSUBqqe!&z7BR5{>Zzi@7B+2mBLrTKVrVRmeJG66r?oh zh|+SiNG!HDyae^=Q*g7`m3m;y!fvbO%|Ye>cr`pSOsKKOEbRrq3oYW@9-4%XM%oJu z%Y*aGHF`R8lb+@duuFp11KTkxwP#P1o53^ig*qwJO3`33X`#_i3CC3qjZu#T{#dmk zH%foQ=Q?MZjM+5iwwA3|68&T~J{Iv1CcBJT$c|vbY-6bxY$oS2v91G%m#$5;1SO@u z8m4Z^tgA#zkHt|&JfzHI%QKK{bj<%?dgVX#L;e^!UwVdY&IWuAa+yes9++0e-QDZ* z4wTASF4s|F9eu78nJo#=r8asyvv>G~R!u6%sYVB=cT6N+6rNJP_-IGEJWuE&{s>$E zlR1NZC-;|2=52wG;BB)iKMu?mUtnw8&)q$UV{t#RIQl93gKbNX&BR=l$u2k-?jJ8!1gQF|;osB+vjkZPN*lMqt1spV{>ZwaVoaT?!8IVlrh?hjyZU@uZj zsVXSkLC{qiBfo%KGpG2^AjPx?y34F&slk)^t$b(fp!9e}P+zFUqs5VJ@yGD%S>Lh* z(BEWO$<~&;=Dg=( z(y7Fk+yW+(tDW0JzXIo}jkGyZc_spE0Zw#;J&Gt{5eS@SZ|BjW+q%ftmiQ%>3@?uXFHA>{mg?zzw zLdC|>`-nVjhV7We@QUW1^T)|Bl^JtBJKLEFW5QF+m8wsusU=fO$Oi0h1#77zgsd zh7ZM8)*b{ZJNh9Dse!^u^ghwLL>Qd~eo4ReY1%>Z5!I85EW@~(rw>;;haLInLqp}U zicl(%-2-C8`Fd@Au&9T$oI27v|1Q2Qy@;*GOp5mtORP4)+UiE}57SpTr=Wo`rf_LN z4YIbY8sfFo>*C>}TJ7*MtrK#}u3J4HU%)rwypm`sElJvG%_JN~}f3LDboNmNw8@VP)b(0vh9=?EBC}e3?(PjiRzK&E}>6J#vv=B-JG46Bu0`3amGrFF4pZ@H~oQfPu&mg$_{wLXa?^%M>9z{N7u7%C0t^&azav5 zu97#&yAu2VRv%8!5`SjIo~E)b_j}{Sdz= zaoPjg zs_itfBWfVAk^d8)N!E|8t<2Ec=q>nzjwS&BR%1u7IJj6&gU8U?jKWMUJHXnZE>o3= zLd=JcAe86}_UU2^X-0UFm5=Yhv}Sj((}95b^Sjy~n?-3LE>eL8%q|sCB8202}3*Uno`ffNn>ITVCJl;cS&F@HS2BWo( zE<3rHSOQO|!?e#bua7b)C0Va#R0U~BV`P;y(LAay5;J4u6{2x6+^68Ih*+nF(&S3; zp04D+?M~(@OT$gnY?*K-;?IB%XM|JD12WVuYUgqy;51kQ=9s<0`I*g#enbN~7iAq) zID6v##67N#Old~|;!xDeixv6i(8IK2x=`CdS9Ucs-nSJtRFZQ_2LEu>MGjE$wl~st z@(#$3i+~HX$#OBJgLKjF0JTAs-ZD5rtuNP7Hc4Z%rMzMM1Fb;I(C%rcP1Wodvgu>A z;Z$`iPxynPX&X2oZE;*8zBoz>8`MHy4pu5*CajuY&gkp^sr6UB^Y@h^QBUPc$`@sL zs2rSJb{bWKZ9zXyEr;<$3;Hyd;O*Hb(6M-*Mzr%5d9SU z4f^BB)G#T)PG&{{auXX<`3~deV$U^zBVL>dQzRK^5{P8o#i*UE#Al;9-N|1 z(C2FwNrg@b=L*GwfzTQ4HF=rYPrkI*bcNZ?)Iv6gZp|EIGqs}TW2^J1q^BO$jGs<@ z&u&S*0XNCwfnJUzE3a8Rc$v2ej8e^Vs}@l(*)9|beL>xMdf8{L8}TdMZHXm;iGf0L zlvLY4o%{#s!S-hgr8CNLX_t0L&(gnXBemE1D!!!d(=&-h`ioFAXFuyqde#{UHjsXB zjE<%c0mQr5bBNx|tOSgAZ{l0;VzMW=4(2H^XQ}+txKuEp;DhC7_^#I{YlJQbYbr7D z4O~TbB7-HX;#Ock;j{0KB!uj6sM$A+K)*gztE3%Jqo5F%35FrB$?s%YvY7Ix{L*L> zIw|xuP4Z;sBjvcBYSuNQsB7`R`I+D-J(~XPA?6ePF@ zc!zrH(-XO3p0<3J)Irz_?`x>}7hg+L;3R85?Ui4Sy2G#aZ(>s1XFa1dLH`NzE$-=9 zybp5Ma&|kZWz@?kl3RC<`yIos*Tt&39G&G~QkMWq(y?jrKYhMJel=Z}PU zfQtd#{8!nNavgc(|1HKbNm5EwBdm1}ov>NrgPVP0XfsqpYYQr1&mH5b1SU%@mNkr-JIVPfY}Wqb;#j!s@ICgrZw*Hq03~LGrMzVTo|GT;4R4n)-e-QG9OJ zz?aC>(yL$ztf;qT-)TG4T8y2Vs6l!hvdVYcW=m_AIXIAj{&3wyhN?rba`aZQV$}2C z;LsBU(0Ss#(9`%_v0iW>+R67*VjNZ3rN*z!xXc@3A^*bFC2gnky*8oPY&un$<{J+G z@GWF8eNsYKZlq$*Ud=jltdb(?CKaK@ht5*NT@$6cAfCFd{pQwNB)+!b2Qx|e2|CC6 zlmHyAj3>|gUfEOV!=+{lyTF)GJ$Wi)1b^ri$o()02h2UaN^m%9YHOt$Tv5K4;~~#E zKR8>G6nQ6mg>c&54YetDu*01K@8|VgwHb|cEJ4RnJK}eh8R00mY+>GJc|{13o;hpb z1LW8INwOt=Q;9&{+dKJU@CV{FWF)#Te!4R@QWO~q9ItJjH3MH384+^ z#@1Qs=o!)s*F|J!?s4r+%m;G4+ym~G_NvuvCFN51e&b=rE3i?C%PmHBmviaAg$7u8 zW`}-}Ov6yAAmO0nYMw+zAc@i|q`P_nAD|2o&huydHRYz(6vsNXT6DPP{A_jzvsUZM zB(m3vCnB32z3>sBMs}|H7JLuQRo{R-t(sEYlP1&ZY_2!5Cw&uQigx)HIYl@kzjc2X z_WHY%@2KI_WM>aY9zP2lcf8L2LFM}wg|f(}{*v$jIa>T|eGz!=nGC$EEgHv_iscKh z6+~2A%gibD%ToM|Knsy|^;OUC3$X*_O?ZlNQa#N9*6i&tTpL&+x|{=LlbFNC=_=Bb z-Rzo+mMYqwY^5#~-Z*QE&yls{@a);4B^F;g+JXDut341VXPq*aa+X=_Xu;gTry!N3 zKIlB+q43QwE4k8nzL&6xnCt5;T6_kwh4U<#NH!tIt9JpgDBxYVfAlr5BNL%qRJKGk zNdF)=MoME=vW{7c&601sx}*Jt(T)%DH=>#7)<3ZcxxUPF)D$l9Gr)WKg1U|ViETjY zQX=eQ>r2fLpAj?NcB~IsPuhdVV8dic-EfWzmG`^IYSbrmf+R3qeT>kCnh`fV>U$^! z)=@f9Wu-5nNc%5)Wv5R*jqbM;#C1}H@07nTyMihOD|@=3bqX|&CMM^%@VsQc7R*XI z#&fG(iNlE&g?lW8Xt~)Qj3T0-8x`@^@xub=Q69Dgqwq@#0Rqf1)#INTLSme;O~pzM zx3Vr9V&ARzu{QBdj5QFBu^c1S-OEF5;ROAfGP-~^8i={!uEt)J$~YZY1(`rRlx_%r z_y?l}#Beyn)*`{m_vP02pO90DCQ2Kj9_XhGR|e3tR&5Hsp!B%<(h&T&D_JYgrpo^_ z`?Je)mhmOW@;DIkMf@({|PyHm6^k@@O^M3+e=v9k{$e|_^KffY-BN> zb|?$nqBcxF%TaQ=a)oKke@pKUK7=01e}Vea(NGeiT3O7=LOhv>9|SV|Q%GSx1~UAU z=!&qlx{^vkTd75JJ6pt@L!cq&C4X63+77H45-BHJo`NuR=l#c&RQ^p<9kNJJf$>=uP zI&XD#I=t)oyL39X9xaOY$9scwa!lNcz$1m%wz4W*uE%n()b?5lMuhVezzz@I&a=+52OhP%hni_|6HI?@z&MIHKitgO7pJWrNR_*-s7WW`m|DzbC< zsfysfz>k-Bw5)L4m+7jI8Xb6>*-)CAd&Cu~a)AS2N7hH@J>+qG#nQK>8p1B=8}UIr zQ3lVO9UUvtXdBWgAEys9r+sb6iP>EPoX@Fc$hXORFdFlPpzA67r}msncYiOq$J}CD z<^LAW@ukuG&MnG3P@uFiYoe2K<|bc@s}6oD`H4pyCt_P9oyl7p7_Amht(;bwnJ9mk z_b|Dx55#`CJ~7Q!S?-zJz;elF_+p6DNR`<5z-_fHW~hyV6@iGl^x1$>qI5S^S1ziQ zPB=;36es46_D`dahJ0c){w!gsG=$AlZW%i{fNWITGm!*Mo|9@}09}oIj%pUPXJ2(a zit7M}68{oeVl!e8T`#bh7?m(colQ4)imp?1d#bAPaOERZlA|o+yumtGL_JF|D+xrMAx5&;3KW zh$`Tq;|tN0oJMt!ektp*)bLF!`FKnj75#uc4i<-3Bsth`t0#FwOPgd9Pg11D_Vf9xMO_N+)4%yIZUFio8Sej8^vV|Ko(IQcTFl?lweVuXZ@dXF&?5EqsDum!FWD$&43prgj+VBjyuGnl zFqG`1wP98}j;n{AKjEvGzOIHyV;Bl83AS}iLcgQUG*a#k_l478e0U1nPRptx+oZT+$t33S4jH&4YS8atC`(yvBSmUp`0rRu)wslkHgoOO{HQ zyDbjv%cMh+oWyY?eLa1pFgS8F$rmd&ouV(|AbzyxPs0VXKR(s zIB6&Bul8pqZZlbviu@883-i-u0GDvbSDh8}Q!yw7RUl zP=YE%P#XZ`C(vm~N303@De%yzqg99lwl!2ka+W*D)noth&rlc3WqGIEMY|BFfW1?G z`6}xl$rh`U3%dw0@x`?DmL|HCYwIq;-1NNg(4^`946X%x>*sYuEU%Y<8<6Ap9*}`{ zz=q;A9YbQHiQQ6+@j6t7+QmEq<%yZzWNt|2EqY;sKdO`XP%c4hp7%^$_K9}`cb<1h z+oXC~W?vtY|5qt#aC^w0_*`NSJKY$}dyU$5>=u$lqtJO&VFs zJ=bd8Sw~r*^ zds>nt@k>4qiv<7Fw`lbP2Q5EjFXAG5i(JS|;oh-Z$dT?&?%wdTx{)k2zbZKCg1wOG z%mn39ZpGMk6v5VDSAkt#-dmiw=Pw^@Dkn<4%=6N4*`_y;+n67WH2qlt%&%|UC}6`s z9Hl`~Foio+ZjzPrt5?2E(pI=s%aqPy+w~0JI7=IIFijmbJrmhvbeiW+t{alz8N|JD zB`~+CZuTNf7L%$Bl+$frv}D;r!Whw56NA?lx!!1pNW}8BHgx7keI(xT2epyP3-YRG z1DMLxFZaotLmXnJfLHc;%p)?ByOTK4%Ya>07dGcENq^T$cpiA>>hatru3mOg>(t$& zOgU<`n`WBQPHupE4D4FCCBLV#-1_%3^)`2%96>vfE!cLe)$|uPo8IWD=3St&#zFJ7 z;>k?bQsgP#dSDN^5*;hA0lfi6jOLbjnlkTv6A*7`J)Yq?!n|Q#dN+Zycz1U@_C3+U zok`QGInmb>1m70KJ`HbHg&E^1EheNdBO=@G=y#4TWn^qR3N3*;@i&BTLzS+%Tu zAABWFW4HW0$S>p#>Wyc%`xlw$-NyaG?yK*GMR8{MuDMyZvPkB5=`VYsrCk7SIkg4f z!5sjP;+xY>06d42I$Ay5cN1%PZ&D0Z%e_nZUpQI679VFG_qEnmiJ!D_+V0RO?VK_T zEnxtqxO&+ph%Y1sTR?OK514gyO|}|a&)v?;uvtWi6NrC9$Cy>b`>2~92bUwUMC;rh z_#z=rYOeruuU=8E=D(vZBNEyEY!l**x3%}pioZZ1{f5|>lE!4y9)EDhc0`u%=jg_^xqN9ah-2V3M%fN=1F}?Y5QTxyZ)B$CuMRhX9m2QFfWN=!4Xz2*F`L3U zq2u98aI1YRa}I1~-X`7m&R~ut3EmadL+}*)EFBrz}X7twgbZBP=N_)9kipu21p+G@00CoF+HWtBtZW!Yy)l@CK6@uR%TV zUhy=dn*u<70yd^Mm`mPBA<0zpC*;gCh5|d8x|LF|7mi!Lke?lF<@;t$hqTBnrLv{x zK2$#PgPHN6_TUo8W>jXqqpj$}5}15yr%=j8Fh%TZ6CiN`n-r6wkJawO=4Ks3jmrr* z`K?R`_8L0~zvKSFq@%;o;X<;Uj0cq8q2p)20l>JmhiONez&WYE~