From b0e24fb8a37c3404675789735d51847fa3b4e7ba Mon Sep 17 00:00:00 2001 From: Fathony Luthfillah Date: Fri, 25 Mar 2022 11:45:30 +0700 Subject: [PATCH] Use WinampModern (skin name) (#1162) * Toggle container (action) it works but the container is currently empty. * Wasabi:Frame:Xxx : parse,load,init this patch has no error, but not visible due relatW/relatH not available * movable,resizable Tested with MMD3 only * allow unregister eventListener, etc. minor. * make the group movable * trial to move MMD3 main window * Prettier. * speedup devtool: simplify tag,style * bugfix clip-path. Issue: the bigColorTheme didn't rendered properly * del "../winamp modern" (specific skin only) * prettier * +comment, prettier * del dead code Co-authored-by: Jordan Eldredge * warn for premateur bitmap that has no id. * del dead code * bugfix invalid css caused by empty array * del premateur logic (no use case with MMD3) * add comment: clarify that getToken is 0 based. * +WinampConfig files * don't stop on bitmap not found * +skin as usecase * showing main-window, for the first time * del dead code * showing less complainging errrors * avoid shutdown while the skin.wal is updated. * direct show obj (instead of stringify) * incoming Audio: play/stop/pause * + big elements, -big parser mod * parsing in simple and safe way * BitmapFont & Text * okay. just an error (not initilaized) avoided. * +doResize * +implementation: autoWidthSource * show long song title * +api:sendparams * bugfix interpreter: brutal boolean * Seeker: song & volume * load modern skin without thrown any error * MuteBtn works * bugfix transparency of seekerghost * bugfix orphan sys to run (MMD3, etc) * auto reapply regions after resizing * bugfix titlebar.right.width==0 * MainWindow movable! * color! it is now also gamma-aware * colortheme: doubleclickable,bold,header-column * allow handleAction:actionTarget, clTheme:next,prev * close my Container! * bugifx titlebar.getText() * bugfix volume (knob) click. * bugfix volume (knob) click on moved Container * bugfix layer: cropped by transparent * del dead code * bugfix volum know conflict with layer crop * bugfix font-size * bugfix slider moves container * bugfix 2pixel higher than expected. * speedup resize + avoid flickering * Equalizer: showInfo() * integrate all eqSliders in single mouseMove * reducing lock: anti-freeze mouseMove * less error/warn. prettier. * enableGammaSet accept string | null * public function that exposes font._externalBitmap * del dead code Co-authored-by: Jordan Eldredge * prettier * + a note for temporary hack. * revert a dirty hack * del overkill logic Co-authored-by: Jordan Eldredge * del dead code Co-authored-by: Jordan Eldredge * del dead code Co-authored-by: Jordan Eldredge * del dead code * improve readability Co-authored-by: Jordan Eldredge * improve readability Co-authored-by: Jordan Eldredge * nothing Co-authored-by: Jordan Eldredge * nothing Actually I hate implicit parameter, it may drive to wrong logic. But since it just local function, it is acceptable, even still I hate that way. Co-authored-by: Jordan Eldredge * del dead code * turn to arrow function Co-authored-by: Jordan Eldredge * bugfix ticker="scroll" | "bounce" | "off" * Promise.all([].map(async)) ! * Promise.all([].map(async)) ! * remove double__underscore * set AUDIO_* to string constant * cleanup comments * del dead code * bugfix config-tabs, cleanup, prettier * expose _id and _file via public method * introducing new eventListener. works well. * mute console * bugfix mouse-move behavior * remove old custom Emitter * add note of why returning a function * allow BOOLs to do logical AND. without this, the play button click will throw error * loading componentBucket entries * add a wrapper for bucket children * componentBucket: scrollable * finalize the componentBucket * +groupxfade. allow do skinParse(xmlnode) runtime. * animate XFade content * Show XFade sub-page * del dead code Co-authored-by: Fathony Co-authored-by: Jordan Eldredge --- .../assets/WinampModern566.wal | Bin 0 -> 520588 bytes packages/webamp-modern-2/snowpack.config.js | 3 + packages/webamp-modern-2/src/UIRoot.ts | 199 +++- packages/webamp-modern-2/src/clip_path.html | 5 +- packages/webamp-modern-2/src/clip_path.ts | 26 +- packages/webamp-modern-2/src/index.html | 78 +- packages/webamp-modern-2/src/index.ts | 20 +- .../webamp-modern-2/src/maki/interpreter.ts | 26 +- .../src/maki/objectData/winampconfig.json | 88 ++ packages/webamp-modern-2/src/maki/objects.ts | 2 + packages/webamp-modern-2/src/progress.ts | 2 - .../webamp-modern-2/src/skin/AudioPlayer.ts | 66 +- packages/webamp-modern-2/src/skin/Bitmap.ts | 26 +- .../webamp-modern-2/src/skin/BitmapFont.ts | 63 +- packages/webamp-modern-2/src/skin/Clippath.ts | 6 +- packages/webamp-modern-2/src/skin/Color.ts | 14 + .../src/skin/ColorThemesList.ts | 66 +- .../webamp-modern-2/src/skin/GammaGroup.ts | 21 + .../webamp-modern-2/src/skin/ImageManager.ts | 44 +- .../webamp-modern-2/src/skin/PrivateConfig.ts | 15 +- .../webamp-modern-2/src/skin/TrueTypeFont.ts | 9 +- packages/webamp-modern-2/src/skin/VM.ts | 5 +- .../src/skin/makiClasses/AlbumArt.ts | 43 + .../src/skin/makiClasses/Button.ts | 52 +- .../src/skin/makiClasses/ComponentBucket.ts | 124 +++ .../src/skin/makiClasses/Config.ts | 18 +- .../src/skin/makiClasses/ConfigAttribute.ts | 26 + .../src/skin/makiClasses/ConfigItem.ts | 22 +- .../src/skin/makiClasses/Container.ts | 23 +- .../src/skin/makiClasses/Grid.ts | 98 ++ .../src/skin/makiClasses/Group.ts | 180 +++- .../src/skin/makiClasses/GroupXFade.ts | 106 +++ .../src/skin/makiClasses/GuiObj.ts | 293 +++++- .../src/skin/makiClasses/Layer.ts | 6 +- .../src/skin/makiClasses/Layout.ts | 65 +- .../src/skin/makiClasses/LayoutStatus.ts | 22 + .../src/skin/makiClasses/MapObj.ts | 45 + .../src/skin/makiClasses/Movable.ts | 11 +- .../src/skin/makiClasses/ProgressGrid.ts | 37 + .../src/skin/makiClasses/Slider.ts | 360 ++++++-- .../src/skin/makiClasses/Status.ts | 85 +- .../src/skin/makiClasses/SystemObject.ts | 90 +- .../src/skin/makiClasses/Text.ts | 271 +++++- .../src/skin/makiClasses/Timer.ts | 72 +- .../src/skin/makiClasses/ToggleButton.ts | 10 + .../src/skin/makiClasses/WasabiButton.ts | 55 ++ .../src/skin/makiClasses/WasabiFrame.ts | 1 - .../src/skin/makiClasses/WasabiTitle.ts | 56 ++ .../src/skin/makiClasses/WinampConfig.ts | 32 + .../src/skin/makiClasses/WindowHolder.ts | 40 + packages/webamp-modern-2/src/skin/parse.ts | 870 +++++++++++------- packages/webamp-modern-2/src/skin/resolver.ts | 12 +- packages/webamp-modern-2/src/utils.ts | 62 +- packages/webamp-modern-2/tsconfig.json | 1 + 54 files changed, 3250 insertions(+), 722 deletions(-) create mode 100644 packages/webamp-modern-2/assets/WinampModern566.wal create mode 100644 packages/webamp-modern-2/src/maki/objectData/winampconfig.json create mode 100644 packages/webamp-modern-2/src/skin/makiClasses/AlbumArt.ts create mode 100644 packages/webamp-modern-2/src/skin/makiClasses/ComponentBucket.ts create mode 100644 packages/webamp-modern-2/src/skin/makiClasses/ConfigAttribute.ts create mode 100644 packages/webamp-modern-2/src/skin/makiClasses/Grid.ts create mode 100644 packages/webamp-modern-2/src/skin/makiClasses/GroupXFade.ts create mode 100644 packages/webamp-modern-2/src/skin/makiClasses/LayoutStatus.ts create mode 100644 packages/webamp-modern-2/src/skin/makiClasses/MapObj.ts create mode 100644 packages/webamp-modern-2/src/skin/makiClasses/ProgressGrid.ts create mode 100644 packages/webamp-modern-2/src/skin/makiClasses/WasabiButton.ts create mode 100644 packages/webamp-modern-2/src/skin/makiClasses/WasabiTitle.ts create mode 100644 packages/webamp-modern-2/src/skin/makiClasses/WinampConfig.ts create mode 100644 packages/webamp-modern-2/src/skin/makiClasses/WindowHolder.ts diff --git a/packages/webamp-modern-2/assets/WinampModern566.wal b/packages/webamp-modern-2/assets/WinampModern566.wal new file mode 100644 index 0000000000000000000000000000000000000000..87599e222c9246e7497c132f8a8d56b7076649e3 GIT binary patch literal 520588 zcma%h1CVCTw&hoLSC?(uwr$(C-DP*#wr#u1wr$&*{_mT46ESn&n>mq;b8=-y?sXz| z?v?UVAfU*Af1X?qXXSr2{%7$6fDcf!ur;u;$Ct4)HgUA2Q&ENkK)~&>8j}Cb|I{w- zFaRLX6A%F4UxoaCiG}=sVHp_Oxj6rCM3(;!5fT6ih{4R_{9minApihy{|m%_;nLa| zSXumQwLeUrCH`6Izgg|2x|cKZB2M;dXM#*UX#54HzrX=PyY;9bu5gewZcyziHzXo3 zDC6i9DNzTPfh#L~Hk4g3G6jB~J@k{Z@S38f$brEODg|;GuH5Z{;ANg-ohm$-0z<^Z z78jG7scQ<#F5a|-(+{`n=g;nUugR=5E@_&mFljPKL*|#3(%)seDe62v_wQct8V!71 zd(vMQSzk1vE? z=iX5`N_d;?_?8{Km)B+?zT2v5f=XD|n{i?#zw=ZI$X2q%R*7H?fSBperz_uV@21z zrKy_L(YPnvHwFT8M;9%3$;W86DrYJ6%OSmN)64So{`l*O$aSPRhRUtjTjRrI<1$|1 zI1@%}sxHN@@_mQn^VsCIWxMlbk8RU#C1+|UVfvY5ySwog&v>)%9;ErY`vX^P6ZLy+ z^4pmwqprn%8r5nF*Jt|SExO^j+HD!xHX>i|NKEc*I#qvl_56x%rB*a&_tV~LAwTQb z$yQ_|v)e~2@#-cxE)s5ex`zFAyhm=m!_3sB>fKQ5sX+|>ll81}U#-SR-`h)Re7?pf zK?3i~s>z5+=u07I)^j&fV14S?`_4eZ?k+KchiT%vx{Y7XOm$u$}-ysthuM~(^ zEHM;e_)aH_4EH)^qElmnLxeUHQJ68s^s5#U08Oq{y{4i5)}dG;42(VbhCz^FznF_4 zg3udy62|@(urm|7^wwp&6aUC6Bm$djR*xGJBQmA$7i?`+fleQAQ>W`N_vdwoI8DC` zcz)sr_!!B3X8?2r6y2%0pflpg0-ks;%v5$q8^G{W6tNq%S|_uqR+f~<9*(v;(*dgC zA+tL0A`AI?a1l%SOmH|jBm-&mb!E7-ncQdQkvxGZdfud->vAW|wazuF`4pZoW~VNggaylJweRCxRHg^g;03j5I8{uYb^bn+|EM*z2{i2IXxf@1q5iL|ra~Ks!Sx0JY?nXB- zpy#&8V{RS&Wbww97AyOldaBd4qF|`KYW4DED)Ym0(zwhTy!h&BoATP4$=dBR%dA1gd#FtCBSedul)uOBFVIR5}IQu}Nn2kJLfUT5oOz!v-^rhRFrN zWS95J#8A{AFb<^2#DUY?$pz}>vKi^724MD@qobqrGR2VRN(dOHa7s3zcl5DAdfTx< zCRh^tM7*DZFr`Znp0cyKv#61WP{7?@y+LN$xx#ixLQRf4@-S%3ZyGHLX9pkLhbC)f znoCk%nhmp#+X5hONEmQ2Qmv3hmVUw8?F~E7S7WN58H-rWH#K4C?baW4#%Q^A;5~lhT z$Z}UdjX`-dQ|I@kwC_I!`ed+pQ^NQUlt219B7aei#^gUGg3;kD;(MI2=g1k#fIcM> zLLE80%ja@Z{l5N?e+sw<&E+63;JIhSso1{&Q7hP`f@Px{v&g>p`O(77I$Ma6>tyC9 zbRb8%EatTrrkVwv&6RSQDh1|GB<6FwmRK9FBP;Wq?HSzxI@mFp8e#`DM-4z-*(Ebv z8ONj;VwQ?&(wTZlE>{&3+vzQq!3uTA;OQ?JQquylr;@Nm4MWrN=2Rz)1dBfLr;KY4 zu7PXQVkPo^JCm*v>0J~l^+SF-x?G=o=Ryb#)RQ0bzk}@=Lw7LCUsm^TL`t~H_i$J6 zZ-ktsm1aY7XCfN~ah?s(K_1ua?Z=c*%`8C6bq+$0UW_rChAHwJNx%vgkRZfU+2b_6 z2VLpRm#O3mh7kgj7gp ze}|r>-;E4$qf9q}njgeDbnoR4iIB1iZ(+G3@ec}p-(M7ksWiOH!k~h-y{Z@27B0F-xO3j8CC3RubNJ`~~E#ND&Z`0z|p>2l}Ik-1P#cUV- z6zPYgs|UivW3bdy)FstubVx(>?GkN4=;J1Wbqp#LvcbcnFvQkyz2wWR2k(TLmg}TV z_`$HVogR`f)krJVRZaM%su|i9<=L?*@-^iuJ`&e0ORMCxAHZ;5!pdjy7%A~ZXGDq{ z5eS$1zx}@X#Ari=O3cq=UFwXvvQ@)*`%jO8=O+1iX?}FZd)iDX-Bp#ld4I7_ps!-2z)J-JD*=U_Ei4G z>5@Edlk&}`|H_s>)i(Ix!O%o=<(qCB|2XpQ;A6)l-HQ7Llb3>k{B;Aeh5`cs{NrZ- zhfDu|I^eX>007Q^>wvr4SpTR0P4Vyj??qJ^yM6qhU212({F(EGJM6NBg^Jhjc&h9} zv|1kozu6|g-f-xfC5$>Y&EYQzKyiQFn{p4N@}zJd2Uq7@UH@Dg7Cf#LB;?RXO^MPS z!VoQs-KbJ?{lG9AFCV$F3`mTQpYxcLK&GzQQ#?};=`}lTGL1kn{B6~2+V(L)=K**C zmEuUQS5A&g4%TgEhC%%Oi)j^*6tWvIXD`tIv*7n3$GGyUGQ`HIELL8M=-PHz+DU?wYv-?9)NVY87qC@In){2LF0GBKJa!D%hJm;l|7>QrEi_ur2Q zrUwoJBentoO+GsDWUlMMWUFaZOhPA<(AkqKz$I?DjpXh>XKV@Zm9LVr1o+H2!gyIz zWicKkHxqSh1p9l>Vjpegq1giE`Fdt<%U_6i$Qk!eZP--l);#^;EYBGjlv;A+^RmZi zEmd6ED!9>VD?IM@2`S(e%;ETibq!gyw7htnJv7Dc7jX7nBU#!j@hb^7!4)=!zgn~& ztlCk$Wm-h3j#yi?D;7Uwdej)v!*SMK3eH8jl|9x8#dlCVP97oGIDlo;Qnw&}xK=my zB52~N{a})8dKut}1n1l_BT03J#C|nCv7U+3AlgOvE|L=w?Qt`{*T{g6(hU|Z2%iba z5Q-!fdT(L&X^`LX&0)#^?W^NE+wu8UDqK`^Ej^yu74bDTtHYT61^f>K7lX~W(0~De ze|Yxq8JG*3FC$(lDN!XZRsl6b6FDsv z4K)P^H3J1X4fSXC9$NYVQsxc{`tcFg=^4`Q8P3%O%FzMF*#W}d4zBezs_`|Z`7xsY z`Gwv7f!XDWmBqD*!LfzyxrOPzt>vYu;i0AVsiE<%wfU8?{!yvjS+1F3jg@tYm2riQ zd4Y|7RheB;o>^I*RbH`Cb+Juxxk-7xNoA!$WvOXtZaG~^B~?Ws5lIaNK?yBw0V!z# zC1D;hbsjN!H9k4zFuZU-qqpE(r=a2nFrv2i9wC#99#EIY@#!AAqQm)xu~;<-I5u@R z-Ma6mUXM!}dCEinpK`WvgyM>I>~5T?)h*f*6NYc-`$Y+Dz6!povaODq4#~?Uq{Y(k zqZ-hjy9v(k_r+cpXNAx}c6^6s2R-X~~QjMbeBeWvw5{Glb|B(?z9fh^EjN z0!>Z{9APL>=NBePH!yK;XNC$?AD?kR>bCiIF!8EWup%ijmW?OiG`8};HI3YEmM%|jP7@m`) zoPIq<^~*AMWmV9jw!qMiYw)Nz!sM>bf(3<$iV8eY$+-@-LD896Egk%>%heI?vk7*Y z`nCt$imn#V9nm<8FsG*_h4|~oS2Lk|8ddCQFoK%`WAzE_kITZOz=sR zPIuDnXo=nG$;V>qLX`yl-oL-4+0a`B$W6Z8trpeM=F{r~p5IE`{MDsF-U17}8UNwW zk3FR98&0Cg32qz@&6(TvIf5rr)c&FVt)T~wYZ8I8DI*0z5Yv`*=li4L^`e9OTkA=h#qR+!Q7%%bk-BaJM$c`QX&V90_grHynhA{=`1K(X4W``C?80 zQXtc@0sgRv;&m6&t*0RGS_5xyg>S7OW~y)EW4z+o=d)84ieH*k zoat2@uCGpW0<1P>x0nx)H`iO=ZxHMh=SL?e59uhBcJ3G>j`!xBPHZPpdh6^jlwR7h z4B##(t;EeAJ(L*A`VIGR&qA>7rhSbc@hOyFP7Nr*K&<#D3r%81ysE z%`=TmPan%kJyWr3u*_<`io{G0tm@tv6K!OHv4LYzck*eU!5#PbDdqGvuN6)1+T=@fn9jBw(Nt(IW(cna@i$H(2W?KW~0QrCo&*2ef<(g1tN^1lhr z5xBSG8j|rZ(6{nJ25{xAD`b2q6$re8JD&>Y=nMqcOzIn{;J&KUFR2uLknNs*bq7bR zU$#WP-^Re~e2J=CN^CEH%8a-_NU{UNv)x4EW(&GiCROr5-*Ee%gNX5oqOk)M@oubM z;T!_1nnrIcrUPe9VVl()eA{or#wVpDiZq+tc^TZU}EVQ%= z+8Cn@C1Hc!$I0b?Y5(--IO`vrvOkh?_ee7Iyk#;+1VE-QLO=ZqdU7^nWLqYD!XjEr zQU>yMg}KF8uc)BqCJabiu9-Dw_64EMSU$%pfXW)QqcngQmd)e$aEr!5S|t7>>TX7=&?jbd0Uq z;R~3zXb{&{!J1s;_|OV|LK?xiu{tC{@LfqU`kdhSZsK_H1+>)xHtw(p{3dtv+1inC zMtNp33snv^zT+er5kq{Jwccpb8Kb$}t_eJz@dgBVkDSNihbut!Q znj~O2okCJZYrYf}5Lyl2wddZJ4)orA*d1zmH$yf+BhDml3}vHT$sDuT-h0Y~;~&aE zePQG7DQ3FisBX>;fC;_>us{eJ*|bk(x>qU!C)rmtJk<8%)Y@| zQwDc*uivzHjy`zRzqIO{BhDT-0fNO#J6{*i?miX-@7=CsR_E{bd2qtW{aGu`zXxrQ zv27t40(Xz_TWMnvJ|C@I#o-OnJZFl2uf1B)d9G3!TqelUI_^b>Gy*jEQ_qqC{FzKRA=F%93h{t1q!0Cxc z#sW!gz7cxmFvi8}TSuw3@5brmmAuH~m^0_vIFU;BR1v`*s>ous;&N`pR>;f z==U2Y5cNYofH0X%c7N25nSOHZSXHy|PSRsac z+YAmZI{skfAP^CFZUXPq;q8x$w=wQn<(0&d4gsj5HcUiuO;OSwG6J+#Xa9NReqD{Q zC(pRr1>+N;`c$gH&YPgJ!B+^L-rzzEiiDH4 zu~er9E!o3*zMYeqmTQQe@`sFFaZ@5FLWd z#6uBt-%$>n12ZM*c(Wkcz*^l{9D%$&0VkmP7MPWm8^cT>dP72y$0r9+yXOayma*)E z#iXJpnxF}HcU}C=-Al!=&OuRdhH!VT z>E&18$$ellRK&G^RDVXV&WYb%`~q#?Q=qU<8{{sDQV)K*3kvua*s%Oezn{SSmWYyo z%M{)_ZQJ;vEqHR;l*!YOu;U~a-s+r*rU1mx%GvuINlNT(1|gQ-H=1lO4fyrNk1rPI zQHY1(giSF+^F3<*#1gbZU|-D>E=3uigsp<@m`9d*X%49Zw4ie(wRcrqX>EmkUmd-* zEw6UFx8Qyk8U1uuAJIpW{S9?loPM$;TA=3mb0Zauf2=DZD2g2H{Vcw#5F4I!&C%4} zg4Ma@pd&_Vrl8*NGUzJyIsR;MoGDKNN_WbU)F>ON#*{O*yAENEYn`LB9zL8Y(}Y^# zM_@JrrPI;|P1BAjUh676uvRR7&a`xRF@ISM?VVwF34u0PYy*$`;c{wGRn%35BBSJY zSqPy+6`IE=gSm5T4(YCBo+2H!fiImB`{EBnGr`Q2;3<168bHle4&lo={_e#`++AISG_ZY8b?P ziY8$8eO?hSX{`1(q-zkvJ7esp(xfO9k8T`1{c-4eRyTIw{yDKdtC1gC5O7;vXd|?C zQtWHk(P5t(kWb2?O|o-%Q-ogmBbsuu8;+!nwfIIB zC?NXgdW_9WMRid?H($u`gPYf&H{xE9cOguhBXL39&9>rk?LMJCAlOhireN!52_5Q~ zds<)My(c=<))nr&qv_%~^+D0(<5dhMBVC+1UU7MirMe-p*%9XhRgmlS0A@S(Mqe70 ztceqafuO_9s@E?hs`e#jvmtvsj%C}x++zFMA1aib40R?NhTTqwqo7!VqHA||L$pGk zL9W6?RcUTMR(oV^y=8Jcf^3lHVk0+m?of z-`#R?>QN?6d?3a{)?B(e>yf$~bP~}&NGT}8*7N!{I$Sa5ljYXxD2+39unficw=p-4cyQtLUF8x+c?c0C6ESt(pp&iKgx=rF3SK1AR z6|4TySph=x(f6fchR~YJt;d0QTN_BW#An%?{J66|Gl>ih7KF-ROtLX7uh{!yHf!Y4 zf-da4TVCAnGZs5)Vb~MPx%$Xwo4vq2kv_p6JWY#wwIQi>`UdBvDQRUL!^O=3)jv)y zdMLLO+3|~y&!O#1wVb^DRRpQcf~W|*Gb$f;Ci$=?>dvWYU}`e3%obWD zGpeVQvLK=oo_#P@N8mbPWAo?k+7tQq0LK-+*2ouau$*q({|XM=1jKFiZr`5QL1jaC z6T$D`VAy+cHnPno%7bw;TDmM-p@5p>u1dOoUlxSTuj$4dnW#fqm;&j|*L)ytw;B|# z!BoNET=8h(sj=u67*=`P>dvltU|*hoEKMsK_PkyS-F zib7N|1I>zC!PZ=Wmfz{x7LstZ!h@EpGIWx2b2<|7mFynFy z+rT-w;(#x({(k)FgXeZoZl7x5l4Fo(@gI3I-Ki&h zgJK$pH;sFIV~CA3s9~#t*{N2}q$2CT?%8r(QBw*axg{?k0S-^KF|Rx_3XqNhm{KZ| zN_S^dmPDG{PHjYCkw{n5=*?umjbdUO>bP?*hTxE*>T7=v!_|r3kMsh@fFy_o*#Myx zw52b2Z!sN3yNdnvJ18_CaxU+knwF8sxQ2wm3CFe=yuEcP{O%USl4Jy#Zab#Q)HgAV7i#&cQ!1Z{}SOk~&OkT@m`m@KqT2FSVy%DlUommDT=i_-=#>0yWt{c3J5F@?0 z&aRc{QAK~Ptql6Zjrdnc=!Ou7ZFIAN5*tkZv<+wg!8F=t0bc3eX~6S)(L)>xr|R6X z720Rby0_-~uFiC_Xp%L3%LmCf;$S(I5)#s&ha8VJdYV%SYv&na`9#>NKF?= zj(U0!)j$UEZs!(C+i4L+$mhn9?%bP!fAGd`)dANpE47>Jzt@jh@s0VZ*ILN_I8Ax$ z&IiOQ&~9Yz3W*~VPfPl@J za+gSYkad?Dj2+HaZy>hT)&aAxMJWwvudHu}CvD=Gzh%RjCYyjws7s&z@mBF4ORj&Y zM@gwJtAfO`j5f8=S=m|uwDu%*e|mE1u|B~l5uB&?Rvlgjs$_0629>lV@3R$h$B=Zc z?t}eWbSI)&OW54bm+1mcFN$UIf7#h$E+_T4%WhLPBU4urNTtfv(agpUk5E(80eRE1 zzaA?lw3kq(y5_G*7Y!O^wfCy$Y9Vb$qCmYmA6kv8#>PCD0KU~Xp`aBdRTUYSuNbK* zj(RW}5J-+_=#m-LP{V3w@z$3?;& z3GXYVmB!|vMrkACGkA`oa?rab4PUCE5nR#{3YZ3?g>*b%_A$T&A{xJUEGDw90>#=W zVrRcSIl*pRUEW<}7RMbMl({TD)lIi$sciksf~mX-O4@58IgHa@TF*Fb&crnC`>a@x z7)WXu>yxPfaV z@-*ZL{K8OU+IBKw;cB9e5m3xZaBflBYZrJ-gx`rJ z{9wv2WCgxNC$pgpuRDF8*j0rc9`8o?C;rdg@cPd7u(oE$r3j|iD2JO>yP8tw`%;=c zp4(K60w2u8{-4;RuBtCBjj5W+QzT3P%N%NTi5V{Ll; z=d`~!)S~;TJ+25gSiL$|Gl%YzB{F}J3%N1-+a1gq(J&gniCf_+3y^72fnvH1 zyvY`t%o__$Ny-MSx)AKSP>qop#>!V|=rI*O=t3zU0h8mo#;Q{Gk0zp$kdBeFeu6q8 zA?*hhCi9?*Uy&w1^1=m~aq_Z&Zx9*3=jW zHR3UBCR*KG_`t@{*x|LL&e$oJ+_~zjT9B-~IO~pJ$d<<2yJ{LTO|>Bt zJGnR}()#8KG?S>u(H<)$5(~Bh*51ZW3%l4yFwR>OlUS9;M7?2FRZ4%aNFAg|MX{O%l4XwlMcA zT(t$o#kIXLF|skaq}UKuXDNE0Rzvb>$hR{+sOApuz8^$Y#{Mxitf<#c{%GYHjXLj^ zWt?v`UOJiT_1PgX)-lyIgD`DsIWW066l5Q5lZ-Axr$KP?t%s2-5x=HNrhYBg&_qa9 z!S_-CV>Cfc;2w?=a*W4V7?G7_rkztALsgKQT@oI|_#8Ad1Dz|B1uIfKBOlC0Ntjhs z*7%LLB75D`J~hNB;!3F5t2=q?hmr(K6p7OmmaRXXh63^;vidBZkl^m`Y$125-bGCY zo)jPix9d#BzNotN^ppI&PSw7?%Rt#7pT)Ymugl?1*Qw%OamVaeA-b{F%g=tjHT>i!D<6qAVhdIsTukNVf2PTA#Z|YTzBS@Pu9iHXfh)klbm&aXvF(O$5inAcjK} zOCF=iH*Pse3@o&>>dA?YB*=@Im5=(OhA4+4ii3+Gt}NE*OB2x|I+sO-9r;>HAjbKF z)4=E}68P(}-NNlLm)*$Z*ON%5K6}0EV8Cc=IMu(P)I56+rwO!|w1A)NnYq7#wl0D{ zgaM9BhT<~ae*#a0CeEx)+<%_r#0Hm1WGTicFzKLZX_C9TDotGKOB6&Dl^!W3mt9^O z6YkIsQ=S^Asfe|-;kNV0?3zQc&uj3n-+IP9#I5_{)6t|!?6oCwRELaiv{f5s!FnBU z8r&En7=!yiY1BcyI65*Hc1n;ip0NgYG}CjBJ<5$qL&uaUmrMMRBm*HnmBI07Yh@e; z=dABr&(3gkHP#Zkv8&?qIWfK|N0K{(?!=ghpBTiwI5CmwC&psm0*`JAM55XCq;v1W z6F*!Y8=sF&&hASnnP$gvS68bk*W!l~5_ml}(H86pepyH~)&C5Q7%6il9(Sj8QZu@9 zV+$3!+)*cEr*&;40(JF=;n|hM8{lV^<_F&DYeqT;knsgq?BicjB4?DJKTHo46&KxJ zyu$Pk45YDJ>cXB%_k^q{jHqL7WeeYxvm-+)XMcILs!>pINBByso1<5tPDvty0I!!I!K@t!JJr3L{YeM$0B}N+ra5o)d-!XKTB-l8%0#%#S@6tY(xf* z_~7!(;u@QF-7B`^p1ej1F0gKZ`WmlL|)i*0oKgqEgq1%(77VS9&k ztuI-K!rjSM-e-H&mT60cbw22S=NKDWTU!{|s%|z0?M_1zYkc6Cuxf~up|hnij&JfR z8p__aXI4cxxKO*SHW%KZ;eY0!pktMtkw~Izl>5qmLumG?AWTID;Q!Tr01_gy!qtNM z0sqKS{mDwLWd8_HfAhbWrL;BwUn-^P|CdS$;NTzX`M*UeASVC-NC5Kh^;+9?L`}_X>@#^Y!XYcsz?CRj~YN ze0pVca(Qrcp>JrmvwyO=bELUzw4rUVx~Z?CzPqrZwYai9zpOc{ur58XIw_+pDYHB- ztvD(%KP)yo=y$q*c#2POf@eUiyKl6!SA@&2CoN^O9wwICw~hE zUo$%&V{1=COLu*9S6x#l9TP{5zc$geQq{3k)G(D-GnQ7;msK&8RL~Wd(-xJ{5Rq0F zkx~C8EJ0q{hUfK*uFRLMKGUCPBj{MaCpTMkho-!$&~Dh5wt7 zuzw(8!69P8{6q(XMudVxh5msC4EFch1W-frmmmP3p7I|8;l+lUeb%wh@$I+Lmg`#| z#|e%hS|qtbVLHkBS$x%qY+}=egBDkK)~K;hT>~4JSJ!G**Gi;x=4RST_})lD-37U7 zlMD;0!UZT6AOPSGvh$$3_0&ir?nUBdbPc92C)k-oVEV(q2Xe{%d49M8Hv>k2${k6<#Kdf3AmpHpDM5l%Fp+1(3jf`^h`p@SrhT0a*}#(l0%0uXWN) z$@SxSBQU?%Vhq*(xqzb{kzWPYOkk1$y?%*1y5rWTqMXRg-!uqC@dG!O4!vRI0LsKW z(0$v|9MDN$tc}Bn#1~TsX$D0}{NCQ5CtHGg?B?B9$~^N!h)^>K_|y!ff`;M2{fHFX z>QHbyxvy`CR4DLN!LS#U)F}A*1W*8EdSF0x-Jk+?=T?2Taq|R;xTFp?BMqU?@=$;j zF{HS(ASgS@Dgp9^H%~%JDu7<#;Ys*IasF0XNP$>`x?G}U6H-GMKk*tqy#`Bz7Bajr z_%U1g)jO1k7+D3BC@V>vkzs{`B|)4}R}OS?IkJn;dqx^lV!#*$0hYh80o$%ws^@Pl`*mUu5(;7f&V_{J`%a+%?z zJ*=<3=7lbwPyi(u%UmoB=u`o!83k%8`ElnsF`5PUem(OZJ|!SrXqR*_U3U!`IJM$j z;Jyh-Mr|JI=d{xA0kPJHfeZq=bt4yan~;E`bAFXzfw~w_diVh`?*qP|jQW+75z5_+ zzx!#LO(h^1?)UBJ$dA`{sx(d&k|^&o4w+t)cCB=ZAU}uJHBmAQ&Q0bba1D#1cI# z_7(7TO;cnLUMGkkD9F47J9Xcr5F{KF!vY3P@Hjg!G6!!*AdCPUj!^UmUUy&9$w^02 zNDvGGwA~OrFDG<~WaAHua4aDtP(Nrw7}ABeO)M&KUy-0Nq%bmlr9anL)^q67TCaJpS>jPOx#EuSeGVR)wi_RNRR@mDd5N|FjbTu zY)jf*l8~ZKv7%=%J)8p(@@Id=H+>(mD6=GmE!g#BRg#@TG{UiL{TQ+!q6FY~Dek;C zKlIOBEGDu)%wg45%H)U_-cj6}M9LoZteK@m6s5#~uoEZ{Lpa*lem{o(Fm#2epEC2~ z#O@pQs*)wj^77uNtQ$WSC4&9th-t}ri4Di%m6N_Y=}1)33GzkiA{vd-NkwinuhR28GZA!#{W?$k@=#Ow!z@>!skHFQ zo4^453v)?mXSRlLDzR^B8=1X5aF>Z!fzeR-nKUHQmF~kT<}5awxKLi&1cG(TP<#*m zMdu47eXI4Z-81Af!WxJHxwD|se&kTOfX<3CdQ?OX8&sbFMih9sydpVf;j2zW+6E{ z=wx_qgD+!7Tq-a3)e|3XT>0waC_MaZuo+N@9I)6dSw#x5;NnKt=-$SZZ!ymPLjCYY zZXGGl(1ekDE}$}=h@HnzKvEPRL`v37c*0!79k(z*6a4qz6Iv7^m}~6>0m!SN`B|^y ztb_1uB=H0C4Vds~+(L+mOTcno^~lJ3D(JR(JA(UV*ii$q5}kRb&AO>JsX*d{WnsG4 z>wk^u?54jTmGElwLK3qhWqNgAb7@ms*4b{0^*tXgO^;2*RgU3(txQM45C=zMJo8LD zVW8EotS;e9fo`j4%P}*>Y8t4;bJ@viGfbsTe=P0^+G~_;qn>841zaCgSFo-t?|rm7 zv58aQ{5?Msy;wTrG-(FjhIb-pgV^}Q4eoZs?wd))P;HxS+<#;sJ^K)(Z;5}W(kR^c zd_M-R;V3AWZ6wE*b4xJuR1VvVOKv|0#oA)o$-&>D{;002<&C9wi6D83%!cN7fL}~p zfMO+#t6ev*e_0Z5nJ?~pL|G0jM|E`h4WJh{F~=NAHLOIwOEZ?dHN_&RDsfwoqgR8e zwrKlNKMoe+M~)jA6dw}518b7CV3;FlPK~r|RaLwXb9g@_ZEP-n+~*RpM42+l2nsof zxEYt6!;P|~$`_fPX<)vZ(|WS9#PB{|b5&C(T(x3Q@8Lno%t~xhd;iT>qImoJiWjy= zP&dO)9}picmd4SxZbf4BN<5RLB;D9yl?*3SvB;xB-S(h-unNwZ(;#x*f0%uV3gh~f zk(4qWkKrX^=mIi zh8v3EracP0>{^~Wi0C6n1ywht$^FMOPKtzKOiHjd>N$*zbs~96Q)lMhvVDE?};FOh%SjZVs>g%@@GVHgC>_*&4P9`+^X8 zKU-;`xNOBEU?X{$-8I)gpuKMeEjts(x?f(DIaCj)>tjd^{Yg=vXr?z@5p6Cj{G!%mP z)X;|9=!~}>G;Q8Zd4k{qpa#WXv$q|v0PGm2j<4o-(D#Ktr)@(E8|oVP`z2o2-5;6h9rLSGNN0wMowz?^Z^Ca#+{!r-9F7|nAhRe`Rk=EKmaj8RpkN5 z1xwFhNLD`&*@i9hDKR7-ZNpe0rkX;LeiQ!CMx@VYR~=1Hw_#OO=5H`x34HUw>ePid z^1x;5g{DW%zrjJgX}D{4E~dqR6JKhg3Jn{;O|`J(J-QVTx=Rp>C?xz3Wgl95&&?Xg@mn!ao|6i0kbGKP=_YztD9kr& zf8k~Rrp;V)edV|hbY-aNJ&9_mkfH_hTVVtwArkY8wLmk%W2`JG7hg5w^Ui6Oqb3Ai zM*j8}qJbZ|N!5Ummd+ZHK8luQo97dZ*mEt%40W z9wJ1WZ1~vSe>Bkk^-1At#Ofx80y@i)65`{2d^Bj%$8J=dXo{FJ_47RX!+bc{l~Lne z!|3F7&)RA=R6V8T!h)FBIlkYeNg2q`3c7lp8?Xt{N(z=-U1DPiH_f@p^Li%j=C(<; zdt+3yFKRa4=FOhm+KA~x#F|p#s2<8X7-Ddea#5KmtdB=rRPPiY)XZ@o{BFjxh;Etb zV}8WbsSQ%`?s*%#8?N}-eR_0O?1l{BrrzN!fV*i+u{Ou5&PT4>D?7RLGP}rD&YL@l z>Ier31s${No?GtfdAPLd|7ZQO-=bLA1l`={)Zh zvCFM!M8u#xxICCR`YgaxzJSPlNiKVn%YI9Fb49H&6T1t5)Q1Wekl?XBGwcQNaquIpIOn z3gL>XyJ;)=FJxK@F~z)9b=f<6 z6xufuR@Avl7z|H@5d`84!BrE_CXyc3;y23mqJ=%sMmt@#Sglx`7&mVfQLydEncr{Z z%&nZj2NtJty4>OJCV4R;)B&nu<`>K%b|5Ho^0^!n$Q{%EXL<(#_{M`3Ux8$(L*;0V zj@!6x?&~K$!;S8jBW5chYaB@=1PJlJIY<8Z0b=vy&pR=%(;YStWge~WpF4jf1)y5l zTN&PbY~uY4CUw*HZ_6|3y`J{IKS3a=Pc9B7{&A1)N*r>oF4e%&mDe__TP=QF2^<1} zbl6uE>6Vp&XGPK?lZ`Iefu?&ezF_zHAYn&zxgj~plusaFJU$1701zkiPJMhrnVaMi zB7+G&$uYGk_}NrXyvF^dM>>7U6`AXuamva{142Fg{ho92i4}u5VN=FJ|9bRZlzs`c ztWg>j%x}J(NL)vml50mhLFuM{xYwLEcq{At-nivdM9$A?QR8YGy2j7twg)8)ss?Jr ziEWBl>$t&`^b(B{vRCrlR&aEAII3DFH9jkjG*B0AwdzmZd+HV4yP@x|j63zQD75`{ z&Z?rAwkydlfF{bjBr@YmB#S-qs1lQKWPH)}D7zE~9a_$wqzQ|#BQ8Q_X+>C(-A_1{| z+;w(Wvx}!eXEv)DhrU#{-L*x_mQT7(;j$KKbh8Y;LO~4{C|MZC6h_^0k70^ylURx! z*Gm0lQ6l9}^NUJCdn%qmr)M095$@OW^mB^YSDO<3C*RN8=TsD|Hde%S=XiNixuxA=y{9_Lc`ig;K{<%JtZvbsqJ* zwMacszaiD~3uLr__Y|T9Rn{Khis2l`S2s3o|d39pA*7)X9VT z(L+|~fa)j{(AN^KXn~_@)ZF{`ZK^B#9Ee{NNmn9+Kz%Nf6!Ni7UQasLzhbqerxlo~ zSZp3vKO6vCkB@iSB42qTn;cVAFoV;rctBRsF;p6uo9neV0rmyQakdGrJ3$jSI}|mQL@5K zorIG)^lH>Jnl2(i_p)X*V7ueND)QK`=RsL2FbHhK09w=y-*^VO>}HZ$vkAYdAdZ=b zakmEQ_4*$GPe8E0U%L~Zc62FEeB%;~tJ2OMA;QjyIIV0PHy0+3g()+x5|9fZR6>IKRNn za3r>TCVOKc$UumA%wd%)qHoj3=a)HnCGzyo9+clPDgwl=NB_Q}ZMP4B3EJEz%Z;J< z%BI?sGrHxND~KDln}zhoxDP#>L+z$q^bFCkh=%Q)dC!mhhmO_pp#9t_Iy=N|&;c;? ziz28=eMdyfA3ytT8I5OSXPbJwi(Fi0K+W!v-Cb~l;`ys9_1fXnL-*#FeVKdfPV4RD ziihX}TmQBm`o!^NL^uFBb^p2I;FXG*s%H|e!iuq2<^1Df1Dq}L;#DcJt>(rENJ1#g z`TNi3(03zg-h$UuLp}TghSEq+5prJ``iB)IE)k;F-lmj`r5_=O2)_`q|Q&p63df=xRkHF%S6!a`xDY zKhPKLY86vYyj|1xA4RYleRL>KzW4l_*5@x@@`?3ne8;4%r;t=ybV&ou>L!6G4@VF!pA6~Q_gbCcF zcqI`A8@bA^htfl_FC4mjwRf=UR1S@fyk6B+_+kF4y8Pg&`cMa8?zY+T@bq9&SkZHC z_k(YsNbA}TdFwX!k7j+q)R&>KhFG*4BSb;2h>1(ZzSxx$V1DwPmOb##n0B&V0}0}_ z%R}7pzWcSmw!NeG6qn4Q;s+@GC;YwXn&bq*&mj}s8UkY4zJyLYJGlA5;dcsRwBmNE z;k!D{=(A^Ml9l%K;G%IEp#1c#qeY6E6Q!+@ZAW+_QEYe`h#HOITkv&7d7&UR?01MT zDe}$n2nNs)&x-qB6JL87`f76TMPJ?jKOtE}l}ZLgIKj7{HrU^N^G8UXaqwXII2!(v z_rrqk5dyz}xH8Q)L9Bs>_LI(r>Yy zi&;!GP5=<|RN}Uju4xDWWyHv3N4)^CgMOzO;ZME<=`6(nQp1X(>p+dsP0Mb0@Flwa zv&(PPnfT@8BHs3Kq(v!61l-W0qI}k$c;=0TWL)~^c3yCiYW8S7Rh7j62(Ad^*Q2H3 z+QqkkXe^;6R$5`DIY3!n?L)WL&RZ^EtqlOuHRB`cuptnD5CwV1+r84MG>=C={Z7k_ zR3Wm{Z+9f~l@Jn?gsvx{X_IXS-LcOuzt&^||59=};RwftNSkX26T?|R-4lh2X#8W1 z*}be@y%cjCDcbJ!^GiyCtj`^b-79Gm@4l}zm}k0wCaKs%wJAyzO|Zn%$lz{ z6o99?dgE4Dx)cHDm9S}ZWDH_&$kvwbd`H4kj_B0X3=-A|!B%H8z$71BT26k!{Ym>* zldF+d)d<-xBsx;pcve!VPN>>NI{d)FsXP2mGZ|tG+KF@NA^?y-Ka!USyp&#pR_svU zS1w$JNZ4Zv0NY9fN1OpTV+;d?ORuM_1H%a7(i$k3xv=Jgrt_#t=_wOtLobK%BtL#bMl6l5zct@5Kdwdp=ai4ODhQoqvt7wYx)cL;WNId=Ty^)1 z&aS7UI8L_>RK5Gz=G!}L;Kfo*0M$&CM`}yh{yV_j_taAb=xF0HG@QTDo60YzJla4!=eyX|Hjy_7R zCaN{uE=*=>0U!tV=q*43CMv#n;+{9=#@j)ZXh~yq9M@qCAus@<9vVhbV}U|svJQ)N zk{Zo~l>|D>s4QaN5-gdYx~f2al#8*SyzUdYJe~ptpPwsR@IjAP|{QN zrLvH=F_BV8TC}siD<;BpjdC8wR7OltXcdJrYNl4(?M!+H&*egeBj<2CX}bU=byzmH z35S*82y0UFc~xCMoac?5Y#a^ykHb`^Ll=Nae1f_>x55;<}S|w4b^Td z0v&jj{Y8Yb$)G~VZ}#ZAVND{v&YE+cWEoe7Om-30HOd?HKpGuHgB3=#8Ln>q>GKh1 z0RRX$t}(#gBYnbLa5{7WU&b4)Hvb6uK>dAkqX+@K(RgLD&<^VuIC3?j21b_Fk6$eB zb)&XttI(mvHjv}Qu^TZlkyEBxmjM{}Xt7*Rd40{0ijKPu_4=>UUWX^U(VTp(A~2Ey z0@~eFMYne=yMM<7T_pv;ApsbGaDHEYmk~x&!~c{>nBs?~ToQ&pzXrf)FamqP+R>9+ zaac$H(W?P&C;i2t;kjL>5qNIfk*gd)g&8lIsVGPnQtqv<_S>uNg?+O!s5rU7Mylh? zF=|~~vxuj925M$cEB2~B+9uJcSm7FW$4(&_o>zcO7V(?tCL668PP@^#A4@GoKTO`+ zt^rV>1gbCD+D;Fwny3zM|J48#w~LDP`<9CP%E}0V_sL--YOTI>71|Olwdo?NoAe{w zKvEf-fT)hUca99^%H>#R%xvw%PPI;(D%&>Q>*UYBn|$iqb7Nc%76Ehz_-(=V0b1p} z`wSk%wYFp*BF}|2KpR4VblTt1z1F&sbvXWe{VLKF08D$~9ZH0iwGES$l?*;^Imxn~aeq$LDXI#f!B!_$09QcNtz9PSQ2 zNIH#6Prb)&Z>fu5m;9DZQi`mq!Dzw&ClhVAySwEslXdj!c6)0O5pHMVvg&Cx1Y(h? z;dhyqEsgYASv4>2>b>qW&W#_ZbU8&G$ve&*XwIdBa@lh(qu)}B!7D2Id|a$y{Dy)n zg;C(YA(Id~+OimDsP`id6#0#qq7)fjg8~CcR_z$=C4&~dP5!|3S{!Z;H6seZXumnN z+O(i(95DQ@a<+w5vZkz~d#|hnnoKT6aJp|{XfrQ5(R@aWim{_8N~HViH7P~Q>5f=Q z(f%1~2$+POlRhJ+!96jo+dN zwIN>agE59dXEVCq)Bv0uh*9Y^8iuE}V+6Q}(C@c{i&4*^{?5A>I;x zG!OXz6~f3BP2DQ7B#mt+mC~U>#D`9v6GW*MIf2RtWBxw5sT(k$E9p0gEg02?u#{bt z?d|b!gmpHX0S4uFNM> z9XIFgv0FS_l0wR?V=T{5fUOcr31U02HXtNdp-B26m=-)LKfDeVZ?X)UivIR2Por*! zKzh*kjcbfNEoHGN$?hLFz!a0xQ&Rro`|AS{f}0l zn*rgFTzzn`q-fQMwllT0OTdWI4ffc`uh1AjkSgK8+DMdE91)C8jY|HcP?%sE&zp-0zdApn!5)zcC zU}Ww64^qiM2;-6yln*S=_*6U2=-Bu7(H+G=7@^#X=HM_e09}Dgd?#qog`=G|=Nj&w ztUvFU(uRPx(}Z$W@E=j z*<}8EJAWN*59({ymuGgmXqVu^=x}0&gr!^q=mulbP{`G%UTcF!(T#=f)Y&$Hu^3?_ zTbc#GKtA~sm;_D6vCn+6D5h9vnS;!f({4?HM7B0AsALuoCafi`FryvTFa(AkEOEma*C0`;Z*Qb%^P-{x(6K`U*xa?@y6gJt@%~*#z|t9; zsTKK0SEACX;lC=s4{*rw|AAFG{)K@lxtlM{h1I8na_F4VdDg;qW0Y(!;wd*QwrFayA zXl83Bh$RNY1t)G3RP?Mn*ip|}WS_Xcu_D}TZ?|UvFO>Do_N*k~k0b{HD5dg-}c>V#ZL#F{xP*@%f7rG`F{(f!j6F15tzp(*y{b}$HgGS-SOHIA{4dWK6J_}xnuStYlBW&Ch=Gex4LTUShj zS}@SsXozi_qnT|q6BcDj9){6Yc6>pdWrEyAe@Gr~pE4PJL4p6?;mb>*o4FAt!e>j@ zX|lJ=PXJgsut_;H@R^k~+9+jo=$lP*3~{R0eDHLu$pQx!J2$A zypMJ0|3arqp-bq=rI?=W%eoCC1vS(t6GT zddDN%oW+K3k-Sf%rZUE$UGu0pHXEL3FT##)DBJz~@asjz+{DcyBVYHg#sa31N^`(B z&US*y#e_9_1Ze+srIAc=qxm>W_K3B&36ZhGnqoAmwKTRN{oyj<29YE6!bGw&&0R*L zO!51QEvenUWP!nTGE@1DUzdd&`Q+$>GjFgIZ#ObUGqN2wl+lLRwSd#9OMO#YlGz2H z@~KZxpO%DjZ?;VFb^oGd&|0PmfKxrP(QEgQk;>UZi}1{y&~apJm*7&eTfbPLs~bJT zPb^!MNh5jEp>aN1QGhACPP8@Eng0u&ptRKGC3Aa5h0}!WHw^-NW(fTGVf0NtE&zhe$LBNu?DjPP=2i{lubLMn1tAnUhXC)g$)CAA^`_kG2pSUO45nNF3JmRDVjZ|R+P9PBD7dK* zva)3D5sF*MzDB5!%(@Ob(_CbO@Jwf)b;Q)NWym0ve=LJ+Ra)b#Jc? zxBuWY4*bCL7aXwTm7z1d=37&1N;UJ*9<3JJlSSVlCHoVcSk?T$yr< z!ngqlI3d&+r2(j4KAmd?l%IKeV!fh86?aO}&^@hXnh@sRoy#!?F-~fx2J+X>bae2o}y~(rEUA<;==CUbl<9>mXbP_l)3E+qarqX%M9(dO8L#1{S((9 z43&?)kx5OLY}QpVubnusAQ|lBbPeQRhttFYpp_UIF28pNIX@Av4JZ2kVeHe``Dd+b zOgQaJ=ezok6WkoO5cih1$3K60pp?i`807r4S3mXeRy^3yG11L5=~QzIv^uiVe8tGW zAN*>b1up5e^O=16>}rrSO47{1dv7(fL9^Sruzz1P?-9CaAG!9H;_l~$UcboRdi=yC zC35f7K>wY*%sAEBXg)HzdhXEh3#r4u5ZV5fQu*faC%;P6!j*bx@gz2#qiF2~vgIFV zPrha!d3CU_MT{27O_8czIB;6@hBXi)vYoom!t$IOCytjxzto68lZ{+!usgc8+2EAx zI5Bv#YxY#jacqBUeCgFE_n>Cr%a@DNIrw|#+P(Cg{`semO}nQWAm8-Q5n@6^fZXWK zt9uS^7LLvpdvf`IfJN88*K>5B@9E~5o!Hp+5!CDi%-4QU{lYKmhuG$mPJ?P_;rp(; zaeuak?bL<_K#ZZnzoL%yWWLpZ_fO)X!LA>p``^B>Zd-Qy;>~d`Cl8e+P#Q<|g}&PN z{DIHlQc_(QahU;JQQeGdZ9ab3$#|W-D>5g*>S%$X$0}OSeEDd84i#wc%Ex+>A)uHz0zOFhWED>)jDw$iz z9VZ>V`;2r|Z|+g~iPPA3ZrkZuqOwaRr_%4LLSTg?-~c0w&;7~REq`lZ`^V4pezToK zOQ#}>YXcqpFLcmPE;PUat#sVvoQu8pJkO8MEb)OZDSu2uU{h@RJrGZzz*t6Ei`1jNG zWxLU4fgVofv3`qTYv*WXr@7r<_~B>LJJXRnm0B-^gb=C&ufOo%sqA1{ClG1|@ zJx`BqT*BahT^J}(=S;3}&3mf-YAqp%Dj1^tqpF(Oe6H)B)$mZk3iWvHC->)KV#iz> zgv1W7oS+?To)swE{gZFYsx|rGVzYafiZu&&Zv6FM#sz+`r~i#H|(shvK~JvB~GXLo1gsFuAuGj7)25^??#v7m{Dxc{500 zFTsy9$BHvwd1>p8i?zOy?+u6|Apcwr(9__kPV>2>E5r+y^9B7ipS`3_}0lBS?T&R$^*rQLTDEH z?buGWG$q?zMm99(ctfQIq z6U)F0nR~YzCcHp1pGlKnCa{Y(Gw>UZ&$F8p;DKjKL87D0bLrCC!`JHygcw!rE3WpG zi2@FP`t{r7B)MovlSD}z?s})xTIm|t{dxZ6gYAW_W}pmUbSQ}wj5ypLJej@nD`$WB zgHVnQr>pxmIJ?{(CfLFf11OgtuoU#t(m!U8A3oID zCnwkG-+rTr;gC9V8O+M7b&~77c2<(?#9i;*@(jN_`!bwv zWhp3t5`%p2)|!8xS=5HW5aXtQm`}{>1emH=T)R|OT&U$-u5GaD6AEg1?tws1iKWcI&(<(|vMau~JjbXx8d2=7XEdm=&oTB+8Gklf!| zI4|M!?3wyO15&X0XP)^15rW{EW*AjlQhzEaUmCpgW}t~N#ITWad-TxWHw%vN278iy zCErAn=Rm^-%b~N)ap#iXPL~vJr)vX=)x+h!b=JDBEt>KT?iX(;+-~z*Uu0dGoq80u zgyq>*TrRBu!~i7GovRk#tTI@+{_Mny4azO5H~-V0eBouypouIx-4i(ypDQ@`RW}q2 zA)4^s=ew=6{>*k&Ceo=S&}zEcP>CwjeVuNe7@NQHv9lkT$Hk$AjRDp!g9$>6F%Nma z4uSE^6~Lbzzu0r<_Etj%tvVr=M>(-P3p%cD)c(KX&av_uC;r3^9Ciw>5BF!x|mM`+1_A=v7U_1<8v}H^+UeK{Z>@00>Oz z53P1}9lo`#v_`t;k>yh%&~yK-J1+zI9-&8$mT#^%+ESaKphU3PbL-onxxkGObJanU_K>$O=z<2UqTH}A`9olZ_RL-&5BLnDo zb9?X2s}EN~0~i8b9!M@8)gyb?Tj)MPuHEnzOFnuo$XgMHkUDq1=fRKbrNv6nR#F*l zYfum&EU&vaT`a_gFbAMt-kIA!eL8fzKl2CQHG-|yzgjsxb=G^RxET`yLqHE*jZ()o zK2-1H*9ubR=w!MBo^APmcK4#c(6=E00_eCfJU@FN*vw9*{cG_`i$i?*OaMPNWI4G; zP<-jeBY;3<~@oj>QWPrSDDsiHD4ATWt|Vt##G?No)xE>sw$ ze|E7&cw`jcX>BqIf|;4jms%LeaNTOubJ z_WNKTA9m00Ox<%c+m1j%U>*FYgnJ*sM-x5xpw2hPNdMNEeb*xpZj?ym)<;&IysFzh zS4&i>KP*={OD-#5>J(EPkRq-)7nO9=_TU2>3pbaQ_ZKCZ-x2MB1*1*vjtz)JQnodv zS~zF!e&&UV1Fg%8V~aqf?pZm*ZA5CQeWzrZF|{v16dV2_ z0gM1a3>XRWC*_9(2%I>Mg&2~eNU{~g5-E`s4N4+8;xZi0kesb&rq`b`zmJ@0eR``&Zv-mdxV^RKLYacl6_c>O3$D9_#F~vvtNG;_UEVW z*cpV6{P5K6E6ZQP3;6xc-)=kiuFpRDA5Jd4KLhTf2ml;Ei2RStT=*@j`?>F3{`Bd! z8%sHU>ggJG^#d0#J$UN}fBM%~SdvNjH}7mNz&*6`+Bg2VJq*S2i)(Xj_l*-F0Ac4p zpZ`hgtv^`UlL6`ErBg-q`ofIxzFt*bKmHYezL%a}yu(LtJpIY;U(B?gOp=DdF_95S z1q}poL>k?Rd&J*;<~V)+wdcOJ+rGVe!;M7m^+#H7pG@EQqg&tV7hXK{g%>UaRcAME zDTMIoja=e#cNS(d8wG&?SboNyy;&m}FaoCzEhLfx%A%o z*E=g;fB(N7{vv(=FZ2d&A3X8X&tJIQn?*9ia}j6-A(XT)egg}yFRX!ZnX>DbV zEyQE(H!JwLFWq`^SLSACzVw~+#0%F>J~p=(vwN1{Za(Iy$Y8^ueXg2}vf2k7#tkD< z0g%7raSnX;n>&B`wd&5b;SNb)=e0+k{PB&4UViD=r@9-j9(%bJbb7w}-#oX{efsU0 zHfCLd&VT5|7()He|DwIP%I?d*zcFwZv@z3e_jRK`Tg^T2nKv#CXl~j${k@%cUH-|5 zQ;#N9p6aaZW1ud8A()vpF>U~Sj5>Q3X&}r9lhFuPLB<520RQ34EBu!Am2dC<%@?2F zSYrT9*m>jJSD(3j%CG;|ljqO&w!1dC^zYyIEU}Ay~A#canl2Pypm` zcNYZ&1sOpaX%<2Z3P!RD8jlA55atoTZGGWyx1RpOvzysLl2%>b{ql>iwBG&Jjn#+O zTES*#_n!N^Q=fk9#S6RU3a+XX7Rqe}t@YN*VN3AUr5&%UTv-HcMe%{p^4YCSQi8KQ zGxyCCiys|iud6EO?2UB@Zbl&mhX?_JJBXaJ3vi5OAcKKm8Hx}__-PD*M4<6^%Fi3k zeCcmizyH;rY~&_U$hV&U_`84j_VJVNTseJeYpsZji`x9&w?BXwPQ=cs5V&{d z_0D#Pva8*}a1dbt=L+2SzH=Kd?TO};7>ZM~-#otfv2FKySY{4{4i135-+k`UFTeG2eJ;Iy zy>n)3ukMDE$NC(!+}pjKV2a*?*Ku>vc8;ws61N}RiV*;3TUdJValHOc5-7->t+V#6 z6H6c7c2C19I|v<01tkyi5pWk=?k-7ijgf*QqND13 z_6KX<{%3O+YllYA_b$Bs!LPn}4e#E)`Zn9Plgd`_%&?QZwH=7;bsdU9J9Wx>dtrSE zxtJY5p;gAYvyZoLT-+P+Q_iyPncg!emp-_av#Oy>`!No|L;%Wy#!(K>4R8VO5G8

*~uzBW`tB@Lfic>npIuHl?kw{zLe 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𝔗8a`}t)-G+uqUy-{{8 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:F#r z%D6Vu`wjqdy0=?^S>&4~;cH0`xaCU9{jHNf9gdn_ePFpBc*oc@u4bYBIH#hhu?2kW%LH4(gJ1_!J zyH<$((VHy#*4AycOvLnQdnV(8S1k;FgzYL*Je70=(a#Mk0js%YTiK!SS8oC?MQ1DG zW9np#CSbhrnKq--6Z?MBloP7Qc$SMVgEtk%cJbUTeh3Ef%PDg+X}>}*y{tzKZp_zt z&XN?nz>`lfO_}-_& z6ovZ88eb(1 zSvJ@Qb;%G*9vIS>#ReB>+d0>A;nrhNxyN=K8}T|4^Wh-w<;jpF!@wB@)bWHHX9|c?PA-e3CYs?^>bd?#d;VBY7&u$~RrVV`lJ43) zlzV83aTVsBDxQ^ua%DVM$!E^D)4>a!K1v7tNjLH$=eQn9${I-MHE$&rGA&9@aw5vp z7Go4+w8|UJ$4~)LLW_`g9+4TdD+He`1q@`YP(sWsT6wFnb)}8t!SQkd}8=m zar4B>$8(feIzK(c88cWEkf+0hzZ1E0NB0H=Xl8>kEqSg+rtAEIz-;tQ9^{k%>?P!5&PocWWTV`Ee|f z)Bf`oMst~msuBO=c=P1hhEpwQ(>=PPQaI6E8HI=wiSJ#0`C85*>hWFNR901}Er80| zBfnUca;Dqc$2{~hd=3s~VBJD0%8F&WTn76-9lg(t53v(E+!B48B`e3jD-%^c6+`)Q z9kE;WT_tvVLN08}zN#yvBX;4%3hD>+GmMK3SFkQ_R*^RRDmma1+V9T zKQrm9`6;Tb?;&YzHCy=iX4j3h!TdB4JMA5>CHye5cg!032(~;1Ge|-^Q#`PB1*vU@ zkW0J`T5|5W;`zX@MCsCmxCTF?oh6vMyBJ)`-|kqE%ae zhf^fStDEXnb%ARUCyEU`126KvNB<$!CEyhxyfSeUYZW09rlTYwNhPD?ILp z-~BV+CuB*&ak{368{%D(hFL4+22ues8)sb{%CwAQ$s3y0+a=SfdJKV|22VSs-ksK* zvZo+7&Y@ii_l5wxOf$b%oM^zJBIW%oJNJjZo6ZHlgai+2G{6f(IVbTLev@}u4nAQ`1~cp4IL$tu(M+M(}7XdK11Xl%C^&YY$;W4dEBQO8%NP{ zzfg+E%&mAOG85KYrLw=4ZeRvnDdXMpo}S%|4lpX4do4bY3`zF&9N0?54%dc*!Rz3-|cXPb93km=I4emo^QjHYssrk&^<9r;qeVoYyPfA!uWy++0m zZ~r3AnqNdtHBYWYF1vbQ8&7XPioGV2Tbtcc=sJB6jvoN-vF^kCbK2p`@j%QaMnc13 z`iw5_zE}qFYWz~Momq8r3bC=Sb(1lMFZT4xD32+sfPs=Cvjh}KZOO)^Z}w+#)?g_r zv)^^Ap>AA>?s)%|a;A!!DESmj$XRRzloDzvzvXvq%1GUDbsA`x zO@m2@mLC3b4x*BcgiLDxS*Q>c&qIADcJEkVagBpU7h*OOeS|h6X^f%YP}fip$zTXj zupLo<@urtF?Wr#X!=5J*Sdsznj|AZPvcPbQvfdknMDBgPnM2$ugkugSR0c0folRzA zR$;NmuouYpq5NoY0eug|&_zs1g}emE&m@*>cR&7^AQQB$2+ThE(~})dh?nt-*uDT= z&|Z{hbA}1N<830h*j&w%*AaAUmOJCf?#@zuHMu)w;Q3b+Pi8G9u-{KkFAcma&sw&r z@wb%sL1)apDe@>ecscp!$JnC$X69MrRDwU?MAYSwXJ&mER}JrE)U#I&^^CU6x?)hl z4G>FiWer%6oK6F_8P4d`yNMlrjnG_L9``7!4&qQhV|(B#<% zR;D;|tsDKwhuG!QWO2TvYVbv*w(Pz*1d5~k(b8f(?pc(KIue6z3=``EA}EPd0#eI$ zisI4$L)+sT18#ig*q3?lljZXObWkH)dqee9G|^~?zv`9K^2dK|)f0E~LLtu$6-O~8 zePtKn~ZU8HlqCE|Y`i8Cvf{jUZeeVUB9!KHMV4#kS^EkwacLWLhKNX0l zoTq+=(mz3O8rb}8Jm7Bz>@t@72i)d+Q^4YpChp z=Jgp^ws8eB@)PnQYpUp=CmOlu2{!3TN-Tc?FsUo)28+cX$`uVognl4^)v&{gT`7Aj zY*(W4!RrudnKusj%8-6?u9|3_gl7r-RyRUE21hM@*(I7F?G?=QTqKbi@ATSw5 z1{P~MLbt(V8|@4N`e3cc2JTm(@x5b9Ihd?^Qa}^w>nRfArBgd!-$t#?ar*2MT?!ui ztx$?VVK(ycUZfWh2)ezJKUD`tKW+&4>fi3>^Mg2bA)y?pdond?_M>`G zE3Zpf`~u!st!sQO;3ImmKflGNFMWLOXsjHZ;)K1RHfJ50hyQ0ziz`o!J2| zMg6yhxTo8|9i{0kFYAMc@R7>nE|*U8cN^>Vs_+~-k}R9sR{a^=xa|!wpfC^~~m0>g%A*|PXmTHN=u$j*R z{60F%-qA=>2t}m1a|A{tJINkCB@chFo2;(<>(68L(H^G1sxPcF^Cqhp_e>!zlj?t1 zpkN1vJkE7_V$OUNx$wZ%gn#?K{V1P5N8xibOeys9_K?--FWd^!&ba!UL^pNyxJT%l zGT5f`tUfU!k+x*9WcusC#6O{^IYMAq;K1`N>Symfnq()4X_>{OIl>lg`zMH}p5Wf- ztUImIoVs3G&}VBx< z_ou5FC1#^WxHg+dmPcGiYoUG|&Vk{-=3-5UlXxzuy^;ZGT_j!pXxU2mTwkNIqjpTR z=t_OFh}9ZfPnYC5DdF%c8GFnDp91k!YYS!f9S~C+WoCm1EAPLyTFl@B1?IM;#1Xjk zFz$dKRMtjUUaVuppDc8va9!UMmNc`Mnv)fSzBTA!Ijn;qIF71JEg1_mCyk&h%sOtx z0l6qjp6%1C;P-)Sfj2v}t*s0XtW?KIXzzFLuTBMbF1lP)&wgWf~nj z9!{s72s5ZLbCr;937jgA(kwjYUL zoD-LdY|xh3ZX-@RY9z0AdmhF=4IoFL*NwgIaDfc#(S&27ja>UbMe}SG0Rd-fY(MZp zf930%U!bs;xG)*AD zm~TJ!DOU!lzd ze}il&^OMSn);T#6-6z?mz$l^FP$aJWaz{HNt=SS!`j@wC>ll1DQp#nX%<>;j7Hg*Z z;lXs(8yZ6sXl)-WIpKFi%y@~{y~{SA?NlcQk0=>B!n)u6kgv*xct9YR(8x`{-cekz z08c{T>7eb?E zf_D+BIm}xz=ZG&8hjyo)H7d_(U2D;9V#gpqoH~PS4GS5yl3!(pyRwB`VgY(UIvt0C zoV#@WZl!nFql!F6uFVP%r)%W>K?C|p>=4?{hZWwCF$rx68G$RH^Vzv;+MG6d;EP{m z3!52#?L61Frp4+4)doPd3DkT=##C>dz!@I0Mm!9vz=;VxIrnPH2hSh5ZJm7{u*CnUk9-z;t?QE$vb{41S zFEVkCxa>AtrbH}3HUqpIfAWm|xx2`!-o+K`m4Xc0Tv=+b`;iD%LQSQQJW98I-(Efoj83ly%8II68Q!%y=X)tY z?vJZ~DDl2FIdAlf^r*c6{!PFS_m|A-dGdL2iX^2y0=mPlzr@HkJ#L_KL0fXimWcQ0 zN)HPAui+BI$i!KHWm2^5d0J@1<#q+erbVz@Ddl@%TYrh{6%OwcgPRbE?(HNWI2ob# zlcr!nZU_HiKVQz`8v{$j^X<${y$+T)syUom|8(|C3qy-#aWGxABQmhOq^|DQyjhAM z*@wKiXhW3gg%2ms%x5P3omhFb!~IkqR?qCEHSv2cx#gNLV09%#HqOFf6D2aee?6@s zeua&xx{jUr{6jeGM^IfczHymQ1y@X#6&6*veUNeL0%3g%aVDEWwYVCJgo2$v6UIJO zYVN$1tW%DkHhf*;GM=|%Mz2BwUaVo_4RE?J!D2 zUf!g7@Dx~bhV2g)zYGH;lIWacy|S9O$?Lc38D$kjm|yQtnP*tiS#cf+W*&rt6Nvky za=q(ak{IS9&B;dov6WQRB6JDaQJK|4_jS|{I^KSr7VDJa0hQW~Q6X_o!GTngPJw46 zUJG}-iuZvv=WfMBF`=j4*6(L$;VDcUrMUu$t%_ZRu{aZ6XM5m#IY;%syE4P~N`~zn z?WMM#a4$QD3@w|-IHL=SrcrcUaH=Egt)MR3cz0<&wNdfxDSFdK`j{9lH2zMQCW$4I znS9##O5f>6XeqM~jcrw}lNOV?Qogc`zS4-tWB4?ej}xfz(ZwA&Y0I>y-x%Izsh*dW z@Bf<8tL`Jp{b9BrZiLP)}nex zb8q#GPguG-(z$tdzSx+^7kLKtb3nsU+UW>;b?0h|(O}pJ*Xt&!pn`&!1j#R3kbvZm zDqf*(?Lbzn&TCP2*L#v?;AYlo>zwycw3a6$&ET8XSFs$a%*9jA7doLz$iY(UtAmuz z=&l-0y>TgA$*WUoL%1U4AW&0Gky|_;j$GnwGUhqKMAweKyc4pGV3r0s8%1BylBat~ zookNf&xZ7D!fOc=T-F*<<$APMu5_wd`V07GR&!5wDD=A%Y_OQC?pgZ}tj}8Q2Dx?R zN`e$zhwU?Lp_Ij>bmmt6I_ztR{Y*VtjXAXd4Yc*<^xXc(vN@o88_UuW*yZ*HxsRb; zPaZAqKAzrA#Gy{di;5kRFi?*1VnVA`EF*91s z%q)wUnVFfHnaKhREtUnA#ms!$Gjqq+ zse0KdwM*XzUXzceyuBys<*=U4AIS$o_$yAp<@kQB*D1Dc=iyI@G*GEtcPypcD%r!2 z_FkqHXS2Z^O^;dB5ZdzjE{nk>Vs}grDKitrKd34Ju{6uQo_iUu8!A{Ngx-L<`-WOJanb41G-mE<3GVnl3NU>pc)7%v%&XT(yy zTuQPJiAzXVL&w59h&FS4iQmPjfJPhV2ggvkgl1h`I~X1K1)-Ve$*j~axQsTuqmTBa zX9tRe?9}ViOFlbBjB>h5hmW+su>y;X2obzf zUJ0p2Nq~10Gn9qXeFZm7_XaE!7bX%FZt2s<+ihudh4sk$Qi9 zZ!yPww?=-1;2+nX)NWFAK)rqA)M2!yr>}`z&0^fc!SW!Kh;K^TFNELG=OM zn?@eQLyFqA`|9a^lUzlT?Q8N_LqiA%>v6g?(e_cA9>%5*F|R5^#Mo!v{zpMkR=`d) zHpc*$g-Lda9~T17NwZUu#THW)G-`b0*}=}R{Tz&prcIS%FZzXiM#o)xszx7f|*HR`p;;e{{^f2caU;a&}MuXp1fm)jthh)7m$anPJ9;Mf+wsccUFrTFch?*Qj+R zp*Bu$=H+zKEV?2BwWa*tjB(t&b9>nk5il`Z-EVZ5>EQ>q&Qf0Q%j2qNT={`tUL(Pt z`fpCnPcSBYL1k5Wle}fYlz$Ua$0tzI2A~-Jh~lq>L$(=*rt)VD*2(h2Z{%)sqFCn**`>^M6DEr6@?EJED&{A3T_wef|0sOblG=Ge$12 zYeJz6u@Ir?uzVp@T~4Pbb2m8zinJ6|iHOUUs%~Kr^loB7X;dv;$0HLd7|G_+!pWz} zpb%l-w^SbY%YiT)?5&3vuZ!udj$8FbmWZ|OS7)LnQjAL>==s#(?5cpF%!5{qFr@V} zDi!_AS{<^D^+vq?-L)ZvcucXMS3!$9F})+yT=Rh6+Y_Go%LuGgMCO>(ZFmd;q)_3&SZZkcnRN>?w zCZZrInGA(<^OWKqCu5H+u^GFn0Tbv-aUDC_@LKrMKB^bY&f2cA#!y zWR-~;`v^0ALTqcr>D^|0yUD?s@oApACC!WdIq^D#;JLL$LVLuAu8`61F}bAnC1@`A zX4VEQz%nQKzOmtnwx=JA{oDZ>5|#He0j`I5(RV7#(+V4>({@ZUdSLfz4#m_(xjF>K|C){rjsi?kO znVCj45vT_L5*&k?GC$GP{^L*Zk@An0s~hG?VSY_OR9QK=)C% zvFbw*is;oYNw6kxmUsXC`#Tt{l@eJGuSv~!Znyq3H@@dfbbu6OG@8+?oV%uK17(hx426frk z%}Y~;s6OoeNkTR6>Mrz>fxO}Qi|9KT^X>2gQ&Rx3tvImAO)v~vZ{3ySN!La1%k^ZP zKGDs2y!OSX`^B4wBgfNRDE$4En{u{iJ%_uThtH7Kz3)5l0g6{md+_wc1c@&EuSH*7&?-hpVvP}5Og;UH&3JYuXS0<<31OgH_Ic)1z zCK-w^Dj;-83T$Y|0W=Ph{)>M72(I&G&d*5RM=4xDT!xrAo9<#?7`m=` za}M-R)o&P%+xrJ)7VXnYd}zCjUr>qODg(o#KiXj~ej4>KQQNXcjxumtpq2nx^l%$=68` z(e@hDEIIakyE|!I+j}0Xd(UH2*5j$?{Fc+1j!}0x&Gpm!=euP|oPkQQ0;amI*GsGy zVfW2eSR#s4f_ju9SttyvR&k8E(%r+>%PfX39h?RsHczB$9Kp-LA=lPKIjCB@wC_Cf zZk~IkY4Y{?bJj&{M#Mpt)B_$cPcEdo;T%&%o(pdGxG0h&n1yoEB_t1uYyGs@FHWy4 z@}mi5FgJ$z?zYJhv@<@nI&ylP13Kb-X zr&fi*bmB*+wj1>}X~X8tw#uS>J(+4SQ|`!|R023Z@3CH#?C)^2nKj>sAPfKM$Evz_ zv9Dynmx|w>+6IOMu`PKMx;&&+{od^**=>7BLSSrL{r4q0zIP!2= zWMNm`@o3qPRM{RE7$gpA$Ac0BhD517?nA)XG&)=#MQ-n7Sd8=BpG%^hGz_1_*?C=E zLgGw$HtZ9yQDq#|@$M$AIv)zku23ANSPx!RWIs9g!PSAdx9f&H=EGY zw!YurXVcgN^NIJuLpD#QwsS7Bogn=&iSo{dUx7E`Y|!c$@tLGzDhK3JHg-mL;5#*h zm7=ueB-vfe`ABcfEhwhYjP9a%qHwRl2>B405+HEfUNWXTQz{0#lcQZ6gw8W`YnNvm%Eg?n-dBhwdnV z`iO4-_uLFcR!huSiH5wwy+Amow=RKd+OyrB2_!5Nd@D?WYiNJv^iYApNrQ17ETljh zRH6>9o?OJ``|MPEL z2PcigYj`$8BDGzP>YD3`lQj)Pgiw17F~whOX%Fiix-2QbQ!;>CEn3PNK2DWagQ0i2 zU8RUzs@2vc+XV=HI}prx2WWnAsI5xgnD-CIJJ;TlLCzc(Yr{@Z#xj7VXrq=PqcN@1 z8@s3YgbF{w8Gy?!tMevgtHH-El`g!L6hMb`m{sFQz#v?h5ZN)fl?%RyO9`Sn z+wbV-Kn=$p@elA~59T16#3-%KlZ2(}u#mKmGt5z%TrQGikIQ ztdbGbVso3s`2@2L?^8j+!wr`QMouI%u~e#Q=aM#Ofp9$lxa z>xnT#tB*iQdg@1)hb%2er`4rF8${fQjiFk9+Qr%?B{cCR#ofxyQ}`4v0Gbi^jgP|2 zfVkZqE}vRVi3hC+CN;?}L$B}=EsWvEd^OhjLjRsZpF_~Jn{wrla|v%EtTHg>@XLLn zu8z7mBj-xnfS#ls-Oy43G-LZIuU8JSU_WXLj0_m{XOPtdVxB}ZG-|e~Xl@1@m^}qs zR#yhwAxX6AbceZqnu3fjP!TqbBd-CD=JOvral=YeK$?X(J)T2ORS>!ZU8fpzjaH$W z4UFoYHciO{o#+RXmE6=Nas)Vy1dz>-aq3Fhyn5`?Lov4ecDjT$oV>Jjt4>Wa#l^R& zo7#;N|Dp*&bYm<`WMw&G(CB_x)E#FyNXHyyD}Y=DuGFN^Y1yGED4@_Y7+y_h;E*zU zTg4iD+cq!PP7^K&i(3BE5I%8e0-jLXcy4*7vmjW?a0WblvMlFabRw4Zu;K1F_K7t5 zAPCWCHcHhw=^;-)B z2N@PM(NK-X-@&?dlK~T6Z0}U}G`bThB2x>)xV$0NVWXnCE`;CJ|C<)G4o#_|APq4O zh+2WgMrG66CQ%5bXTxV>9pLUn?FvHDQRO%$1QxA`de;PyEn8RuXOU=A3)ZIVbUv|U zE3^D`Qqs~wQ;r6a_U#tLrrXb)WZwJLiBiUn*+Gy4JkvM0;kO_QcP;C?qLyZ@JXnBK ze;PgPpl2Xqunr(Tp2}?8D~Y;o>ew9~!(Az8SDsTClCIc}r<02t^lZW;BStUMeUc-2oiEyf+j0)j4Fh7DPwZoGpsI>UcvOPY}SlDtg0 z0zlOc7`+x6GpRjIkds`pvvIHqv=`ROy?ChvI7r+p$}PiEmR)y!c+8{#&hO7{n4?=7 z9BuT?0hBmWEa`M-SV|vXuQ2>kve*L)vOgM~({`cpT{)@`tz!^k4G=A_Tf~`f+-*VV zPTyhEDVEav5w1Hc$XXb`Wtrb73Wq%7lM$-1VLDGC$dGm9vrl1Hh0q$v#3EztV<%m> z{-Ux(ZJ8C1HpcKyuuMkHo4Vf1W+5(!zj3#xO-NohnjUCwfr;c|mGl3KITn3_p8t#~ z!$u?trLqBm-$FTx0QnprVj`+|d4SLcCL%^3{-x>6C8V9>Mm&NM#YI%V0v1XH%HKEs zE zJzlr_zJ?+at2$WBaJv*1JV&t!Ud@wmQ^Mpdl?+>1jDt%;@e2qYv6=(ORJK7RbEC*v z99FGGL28K!Qb^dZ;}nuFvIbBD(#P^{Xw|dWG8BLp;z9YNDhPiJNE*|WQ)rNMx+U^l zcoo@{Vu*|t^WPg$QNw275Kvi8XxbzK+H3J<^V+#w;ON@j1M-rxp-^~fDuq)bs>j0lVl)kQ%&LiHjNx>{n!Vt^81Us&-TA7sH}t4-U2HF2C|@vp|zWQE_C zxr!%bYB)XChz#q8uBLL89vsm&F`35HG@{V0#}fOg@~nqDM=G_03d1`v?~egS+Fqo2 zJDrcZ^-ymAg)Ai`~9B;FMiI4X@Vuz>8p& z71tdQ^C?p0Iol5dxPXvPaZ40cvSvil2O#;8;!FAlNndqF59``CSBv>;QnO6_T3}V$ zLgh88D%%D^)=$tD(SrS1xO#g{)6tHtS{bRoGNiglJ277j*8 zWsy`ab=Wo73fG76Lg8vy^;7*O%vqa^}43AKQgVv z8w9pJO};VAk2V>Aa$t6s!<*DMehg5poIxZXS?q)n{Y3iGFO80S#7=A=Gfj>bNdH*X zDbKNraTBH9J;h&$)ZP!V(*@xkFd~CV%3f-LFf*aNndWjAk_LbV77z3v{G3ibp~P{I z&s4msgi66`Nmf3?e9G9T-OCMHhDFHD4j@IoN5TzQXA$;>Nm8gH3~0D=iY7v;q4;5% zB%|L67mGuSSPo>1SeYvFh8&~tfGwTt(4r4%)xc#^+aafC!>w0Lpil~>N|h?b&|VJM zY}RZxlExSDrr=A^E-~T3mWNGLK_aF1LDOuh)-KpgM~9Z26#ID^p^=%Z9E`E2 zE`W|VG4eVAr%6meDKY;lg-oOnHlZa%9F(%zMKHkLt}Ma9U0ngJDNA zK0{_e?$J=-;UNDQ_r}6b;Xs$_htN6I6A?MtUj+)R5Zm3zPE2`flnWMFTmDv*C)M8I zS2??uqpr+!yHph<>3BqMWo5L0ffxX_ZC4?=U+f=_^07P}fx;moR=%B4nG$P@w^DLY zTrUiNXn2i3gNj4Vuz@af;2Ur^X;ij<>zno|chhg1ABrFkIM-u0`HyMLHj9NjisM5N zP?wX-nW7}m+5k{4SXogyW~3-{B4b0PPR7#-C`5(bP{3t=pp2Y+{Uxf^AT^NE(K~;P zr-8R%n#9|hfZ`9Agm&$6$X#(pl7I-95AhtS%6?aEzw!}#or5nu1l^FypeZV@%NJ#m zbtdPOxJlT}BzJe>s&q*J0YN`_?K@)#@kGO{9Hv{8lwb_kk)BvimX$@EoLN@Lp?EikDfXZhg9M2G{HC`TL&S8Hb`EZdhQ#sxk(N1y`6E7)I46BP0hpaYB?JJW zs!)WaTR(I1C$9b8p)RIF1}zC(f9kCw8xK)k3Fyo9Pg8worff#Tr2Q6|wn8Nqr?0#H zp{`-ehbL|mF$N}5Q8X-6-;Yt1>i8H);GWkDOug)O?p++;;zAR0K;Z@QN$5g-cT*UQVH>Z6+dIhExK*IbKXYd1y?&kX>SU=5-_}#ZNf(vJO#rUL{m&0?jK* zk-rL|qm07Pgy|8u6Ui(SY2Mo$3zGmsCI($pK^VEHVG8HY5%m;Buo_o6r#ev|bR;_)`48)-eX zgei4u${f%GIH$hACBEaEVc}f@p>8E$6 zheY3PgnvHwAag)c6Kk+SnEuKQ78b0G^p1G?B;hC=dvyjoN4nE01iNnDkq;og^yoE7 z8jxPr?SiXK_+pa$5uHRF(q}4((!`9q=9U*2?$w#uU29U^MjkG@pvGh%qKZoiVsY?a>6U{p0u5n2=LQb}qRCJ07{Y z$w5~yudE7M8tyaoIW^wofUz`z2HHBvA64!9E17&j;Wx4X8k}kq3uQF5;Qi3>9Aj!M*4&4g7Jk@m&@Zw?$3lo^45DaE#takP+RFAdXF_shzSmM(f1N!PGV^Pz~tG`i*7N@ z!4udbPg3#wbvOB5cAc&w%Vd6D(y9hFCD@n#VnNF;(j$k{l;n}pnOBmwlT-aRl|9Jz z;XXHf+b`TNy_fuvT7&AJ9YTh20?W99N(i%J^%y5Lfh?OQxdhk1FBQc*< z32W0;ce0gN_^DD!hn|1LpBXDyNL%t(j5e*|Z)=Def#%1fN{jUN3OCZ6N2GUPV7j&fI!dWaMKV;MIr-) zX8yo4{{(I<|3^|NB*cHlT%GOh%v~&vtxcWG?Co6s8@?$8CWiheU=b4H>G?0<8+zb# zQU48C6wMl22LAX54*?t+5O72T0c2)l15-=e|AFb`e6m&*!VbNG8-}y!w>WQvED|CY z)%cWPAx~?o4BH?{qEQTsiTMsjH!!dD3fH<`iW0@HMnf*<+i%TAH^hB2&6VbSU)_ro zoV~f)k=@aKGoAhP)!Yo4Bp6xv?;jbU0DMqxFlJW2hZ<&$i!Q^CtBv{uR@tfV9c6ub zT}KedpqcEO^%`69Jm-*uopxbG!R|%bo=2qgs`4*Q1^1wrKPtfNbrXDHFab81C%|%d z`OY?7hHBj>fElo>K+93cF2xxrz)W)>hRi2UMfRhvpz)rskSjU;+Y8MiWX&R0-D3JL zC5y%qh0RvA4`*MOQ{|B90V`MCe%jx{WHsuOgTC^ROH<_Via|SF(_vIEHct_!v#~t{ zDriibt2Gy{i>0^D$lSm!Sy%TOlNNU5DdGdX_+_GwnL`5i*>{afOqFJX<1!u+zmU1M z;t#;OYEAcmx#KpiIi+fu!MJClT+sQWo!mK_$J@y(*RN$xB?pE$dZm;~b!wuDKhObm z&Z0t6SXX4A^pE)G*I6#ObartZh?4diJ(w4V;GTX}I z8f4ZtMrvGyWi?$Zfqm_g5%x0k`#mMy){Gf&50k9I$kMmM2a%c~C!fi{C+2)%FQ&mK(< z?^0eVM7LsWJ1+qeTZv4W>1O3S7`=vm*NdZ3$v2WJGvDrf&_6ZgXvcES&@Q3U#|V^N zvU9n7J;CmW@pmJLNwEj`YQ63I!?Fgf4ql6CyAeitK@3K=+0=4vj2!_OGfqbNs*K&_ z&jiB}ZWVcBzh~EFZ`E@`Hr*4-cAQiEexXeMdL(s;Ye-`{&d0}eSBG1u>-m_Xn#%z4 z3UJ6?0Puv-$RL{hIK9-(c9;S=U% zd7_s0BnxNFDl-_@(Nq-S*KxmnL$7eg&e=Sf*IM1)tEpjIT#`{v$)KT@r*+o>mhq8i zGj;(AM>k@hgsB!4=sKiB6ndW(+>Qly@m<=Ic6hJByw8%xwO;Z)F!wux*4B^}>U}+= z&mkVgH(Dbf=?W#+Cxrbg7*q*9|8NZeW?yAVu({M4MbIf_wVY@ zP&AW;pjG=3yEHrbwmTK3D8(7hxFI538?6oyuUQ#*7; z7&Bb{9?u9L9Ip&VcYUt! zA1L}i+{ho*l0o`Vr|?yurGsDaP(_jnG3(eHP_c#gZjd)S_21xZyU^wE=^mxJk>9vn6~ za26e$8m$hPp_Hh>7^y{Cr=1@u+E@{IVkE`o4uT(yfa?eUltlxCd2xD$hl$czHx zIa_&s6%faxH?LZ+2IC&KvoE|3w%opVs5RHJ#e&4@-|;d@gAff16^3(Ek01>yK=#R^M>#RxI10jlz6-ogT76&#cSv^RC}jzmQATexz32bGZU zn~Co7f|QcX2`(iZmd#S5Z8bP6yCv1Hi;4nkslB|XEIXiSdx`3;Ew$W#5eJ$4Ie&X~ zL)-JgEEP+4U(f-C3aJ3nck1`JpAREfMlIN~*kE$e|4F)}>DJjfjFYVcv~Y7~ia~L` zY32}IWp)E1;HZxJj7jT-rUyR8o_2Nz@yx;H)n4Hz9WFLu$ub!lME9wmOwAb+^*13q zta6Y_(LFw4yRAW{&V{%DxM(v})j)ZY9wI%(ySmy>$iijq?d#pf4~f66Q@&}lKAypP ze08!FT$`eXu=Drq)qfZOn}yF5B(nf4^|xh)9Q2Y9^)viXze2xU8S{*X#SGa1U~E%j ziWxHJtR z3%3iClVyRqO5Q7IC;yoa!79#KIPG0D-khATlMP)y#0C&DgY@T?lg@U4vy;k+XO_Wc zVFn8l1JJOm*Q%9JVDVJAScV5;teREf;EB6r>8RovDa}_ebWQ9?ii3h{tC+c=3 zZp%imxEk{HYSL1p+(Yz1xMjiR`?2R#BRn|v?`9!&V&~~KYFl!&fzn|t7^#kLp9WeS zh&(|I@$PIN&U*ziH(ZDay@Cw6^7$Eg#wmtQpai&h$72#F3|zSGi-Lj<lt1x4Ew=BjUBC2CrIMsmX z5MT?_h3z{M!g)664`D8ny{faLP*PJ3wrc0U_sw;k?PG9(;oJRbOQtFB*@xLL)6f2Aw+~qVGN8;L z0tS>@2MxV2ywo2On%-D=R~x@Z@bo?8^Zl*x`C*Vfa|mN^djR({MF0sfe~XE_IBQYk zJ*J;;fX0@%Lx?|gc}32ku`bbPMOZd}GQWmIznFSL2*|%ymX0bqn+WOvf||VBmoUtT z+0Pmwa`h#?-Rp`+mkf!C*8{E2Egq&lQ(j8;gtTpkMWUn5+QmOWPf@4WI z@`MU4)&}GXTt96Dm$jg=e^K&axRGRrE~$UUJzwCHZ#wb#mrGH3R;agkj5MyH1PM-l z)LvFM?$1P&?}>P&amjn|Ur8MMFDr#-UdQ9?``8L&#D~X+BYc{{SIkuh=^#mNsz97` z-9-qHr*h_2$2)elvKzvv6Q0p;15f-%Pe8aD$ke|&9}I(dy=y0gI)pf#gF1S|HD7NS z#QzJ*qLbo}W3Gh#Zph()Y<+eOl&Yr_s6Mt?2EHf3L`G181 z!Lec2c;35TY43${in9}Zx{{>JeBpq9bA*HVqUgZ)#i3dG2TMOVI|g#!HS`VJqL6ei z>1{i+<$e9bb#Jyd0Yh3zMZgsghE3^@g?2pYJ&WzyVsG6vr;7fGqydDkEiincxLpQi z_$Msi?UB5wECqdErpr8n)X7^6Esc3@O7yxC+5Ql##@0hHO(m*?iQHnYYR~R(C%Z|$AX_-F7WY0O_-D*D92xP5 zy%AZpD!L*j7I|WfI0=f>OXAq@wdVT)+Aj=a*Pi0`m;u6YfU?S7+ zih&@Lo#ZuufTz;X$*bsQE8-dFPJBkld38*zMz&Rrel2sFv2(^{-|1v$Y7Fr*lR-mZ z+S=`k8;^9gx!1o1Id>p)r>gZgQ6AO2VSTK*r2T51){LM2yt#``+ivqfJg|=C{e~cm2tp@*o8m1H; zBt(+cZ}D)rTk&8^yZN2VgG;oZk!cXOAJ$#XH~rjNW$GbXb(`rYBRSAHA1zcQ@9gWesz%HB%bDz{U!Z`GD${vT zHH#-x+bR)Tt;0Hv-3z)s|`VqesyVR6-*JRWI`hFX^ zUeXd~O%kmHhq#8>cHA(knla(g$vAIlRp_IwI+vj$JNH}EFp1N;7Dc~jP#?3ZPNw6v z+5_q#p}j1srOy~Kxo|y1-Xf~CtGel=kzZYs^1;sX<*+$kL^6|Cuz zjIhknU61#ywt@@g)R*SCXeI;7jLgvA5yVE&Q2iiAD`7kwdog4?G3W z>hrU^vV-4}WoG3!%1&Z$@#iD(wz4gF&I3>iSkKT`b}%Bh0%Ztq3cA_2eO<IiUxNlVWPPjkS3}kB1t4B!$?7-nco;W z@zDgegT)Jw@2n`q5}0JOe=nq5*9X6xsg~|H@E|JdnPtqHY<`%US|s?jH%H5c-sMk4 zT$*0JHGVFeCOmW*4U9&+*0Y9h9^;gL>S$J8)zfO@Pv&Z;U4>MhuO!Zb%1z2llV#ff zcC{GQqwaj54D#T}l%py&RC9vgJvZw5qU^TlZ(w4;@1%*X7!U)++5`zghSnLG9|%0S54hC3i2=_T6kDwHkQws z0QY2E_CGgltFG(y_Yg==Jci}TUqzLZzvP;s@DfNS**$G}^|r-(Vd!xzwWdq-iCai~ zyb~%FL2t5@`4L^eMs#&#Ni&&ypMR6kS=EhXNE@T~8N^sYD`oArBo)1OiCX7yfCwGF zw^&V~27_?FK-UaU;R-5ywCXyWpXiSwO=W z`Ou(h!=Ru_RuJ*|FYtu%l*ohwsH4N7!X;1(Xc)qoIkrWycX36DiBKuxehP<7*-&F& zdvoJmPfT9MtBE5QmRJeT)Bf5KE$a{XrXCoFO9iWInC+cPBBd&O2El+S#m($9B9iV= z9HHSK@ESS~8aAX9FvhqCE*tG%Ec2Z__+)25q@p_rVIOtJ=1??b=PCwWl@tO=&SoH# z1`KLwmMb`tKyE-7!h|y!mK$Fl;`3J=3_pS4C!eCRcb7lGGP!J_=q^< z=wCufnwJK!{T|H81fwFLbZa)>Rl;1?!+BjVh6v79)9TE>qZ}%H=U0_JU9O5e#q;%7 z1D)ToMlmXwA$!;7Gu5^fZ*^%^=tI*gXqI+nYtm34KOZ4DF&s@T2UcBk-@$%pa*1df z;KSbXO>^A}FI7Q>&AlW#$GRu+%WENfe+$%|#;L%2>+RK#CcF<>uZ4=aKXKh^Ph$=- zU=sG*A$DPXG-Red1KpL;yfeTCmio2J0|{sQyvTlyH3OQ~|2;t201K>#q$W;*8A_kH z*_v%TeOeC{%zTWcr=JnhlPn`v-r?PM4) zz~PANQlHz<@e26z2VJo1*>m4k?SZ{|PkZh2gPl4-*7oxUR+}~d?bj5pkOTQ-CbW+P zI^8VN-gYc`n+H2+6KNOO6Bns`r^)8XSyo*ibErr=dl9n!3Dz1%5g2aO^t8L2XFTSY zU@e4ligytveKr4Wxa5EgcGBEm#m93loTYl|bUN(q$Jx`e=1HqD=e1;W2YL-BNd6zn z8_#(g_oVGPnxNb{aQRIyU~g2_Agjw>V0)6-6vu4K;S;xpwqj2RR4a>m?y0`$KXhy@ zvv;RG?jcNuXT)EZAzw1^rXZ1%rwyo!kDsiUKH|Q7@A>k9^~Y-h2I#(Z14&5#_{RUd zXT$n8ujyjxVqYM03iF%js92b|2H0ZT20%2ff?ObVpjnF69Pn-h`>v9+o8)iXB7Ypr(ukg_w3hyVWS;6mqBw-*)^I`05jyk`;% zkoL1btvSQOhml%v`TY1g3h9vKcKdl-WF0# zddR#c@-_bs*WR}03GbaTcoci_no2x%W6(M)f50rzIyl*!l!?5p*`WhM3qUzf+6D{} zUqrBCFiNN~B(qV@AXd&O$?_jZT^zioAHW{97k-pux^e*R8}@`+z z{?u@R=`q&zVDDpZDcr{;lc_ONYRYbI%YL9jG`-rLSxCMgLJp3VAnlxj;*8_k|E;qy z5_UBOQ-}4#aG0og(>#SwS@{UjGtBOkstST~2fSX3lVDE&`!=v3>c&8aDyvF_Y zu0y8pORrEF8T~cB>o5W*UZteuvOugN$Jd@9%yZ?hKa@G?aICkBy<@rz&pfRPU3aC= zS|!6=`H3*Cw-4CoRpyBW>S%uA##npaTa^-KHtt_ZSg$rc9%g=WlB{FR-Nsf=-OS2f zaYphjtKRP&t34Xs=a~GKb3b?z7C}^+9AKxo#~>EyyxRMjj>J;Vk~IlZ>zf~p8g2Tg zm!+^CvD+OxQvBRWsW;MRxEHSL)&1?3Bt-cS;QordyPqr+m67|`C5&?3nvPxY=d7c6Bqm|i*ZS>9s=H@g0?SJBpY6J9^K zW!d(0DjdL^dVY0RY?BZ=bNq_Da23ySc8nr~ck1IZ`;{e|+~xz`K7a8!z`Dp4sq@~G z7ho|f^#S_FqnLc1u#X1P(*7~=|LjpP{>}LRzViB~Klu-QuYbL?3jw~qApcKIsu(-j z+t`>pSvve{mMZOEzhL_JELBj!sR1CBu0ZmV0+cd;E@LbSMq8^M_xNOf|G?>X?i706 zL;v~tL=+zQyH4iT#aYT?f~T2v-OzO?o7<{+ZX>!oiBmx*+3u(cOjTahU1vukBLBhj zQbUDh#MjVvJ!9Dc%M)Lg{EmO6tgkeoO$Y||>rdbQy4M9jG5@<4{f8j`q~@AC*}K~P zlPmgvS;va0$jIU6Bn`NT1&K8_=1Jd>9o)+#eiyE{ezt`)6!zCmYK393N=Om z9qw^RAfI}_D8D?YPY4AC;wp~YKUQFIx0d9na#$7XzE{YW@=xlXGmvVxTUJ-kj*=}E zW72>*U9*mLYw#s}Abg_32d#ID&kH@6nB~Hi-_4L>TMvQ0&c4pQ{BC-a<03X}kZ0eyT1(sUQuHG)7W~KfZKz@*Lz_vD603fp{1Cdkrsx7#P2PqdHUo8aC%{0&Z9>S zU7R*IxknwYRmQeXUtQ;Wg;!EX%di;OCim1HRu%(Sckwe^G9o;@jqEHoSh#;<PHT{wqqAO~{MB=3yVj{DXB*X7pi5_Yj568T$5m;C+gW*%{G|m} z$)`+_mI5){~P_GFR8=ujhb#Ub(ew#!g(d%*=T4OdCb*633F6p`G9^CLsa?4;+(c(nzc zC_%yVVkV2m_&L8c^>GsdPr%i|R9NUPe+C$l`pV9Jjs?JVT^cj*V;1i@A}Ae+u=NGX z^CL|nE^r8h1Bpviq>qL#0^qSzVEPii2Ic!tAd+HOsK{fN&S`jJtgMan1|O1=hnidp z28T!*LLr3HL`O%_F+!8<+jk1Cu0e>?Y zSNOMbZem;FVNgKJ`eR*xZFlLI006;%@;0`HKq$t+&irrhvHur~14+j;Kl+Qn3?rbq z`~EF3gHQmE5eW9^{~aMb-IP&47ee<}`T$m)1NV?7R|40kdtgMy_lPQFlpODeM_`mW zCof&F)V*&>;!nwzV=}+mFRko67%}QEDvP1 z$HK0;4e@IJIm^k%N97)=@4x@LZfY}St@t)D$Mav;)!B5@EgaeMeCCG&Hq5oQ4tq5> z;Rfh@pcTuZqR3WB!VQCVqX@8pB>}d9mq2RCASQ7cYM1$m0#aFU;?->0iW4c zcK93x>{rC^wM@XH-@A{s(PbSz@I<-ctIV7TY+^T3yWZW`Uq^Idu7Hj(*SW3H|uHCHYsZZ5Eb4_YL#R~q3UP9htf67<7;s~sPCFI@~ zYJ$OurE*nYX6(^nVU@8ajvo~GU!Au2TQ>u}47whW>WEDGyPdsm9#0Vgvj`2%%Xquu zdkTkcoPd1MOzSXUE#i0JgYeUXN~g^%Y2s1WGr|N~lg7tLfPS@~62LHMGV$NhW(xKp+*cZB!$`VJ321 zG=*Htak{D<8UXpTWo>gB0SmyzU1CZU9-zyHBH(_zn4SH~9Cg$N@ZXklF6mJV7x}0I z1z6Nko+6w7009h;4Fd$jL5M}dzl%)8Vgq=)$y)2ka{W4B0g8(J?{=gO;9M>ML7+kf zA(a)+6#QHT_@kci8sWrI3>WnE;{uY$Md?MDNg(~@6Mk>u<#r?Q9v0K2SQiMe0P^?i zRXMm`BsP&{QYePuDmZ|Bf^q!rPp~_yFAoaPiVVY8_{97>wB65r5I;ph#LoyI$T6I7 zB_sU0ivSQDXxok88g>iYo%R{oxcLka6x#Vb+;*W4e`V0kLrImU1{5l+eq2e9UHA(m z5gJe&CgG-^Q+-CJc3FW}`xek!8*&XdGBZksV>$ilemI}oj|s66R?4vVVSv9`IGGaH zuv3=q&A^d)9Z>Z5h|*gZWWA15KfIY)(!S(dTlIF4{{|2P2i{YE>hwG8kmR`>s$jr%@lKlgrhy;#>Lx#n-p z-*=2P*PLSQIOxg-19!6V;i(`T{ zfWRLSm&BLsO+bKXzPpc1yq?JHWVQ3;Ny|Q4R@Lvw&OW?fbMAWXxSrsD#|<4zl`@QK&`de?iKD5)a;psfa~eDfaF_s4-nBSbDrEvgAgm1Rxn6qvE^ zRiAihza^6dH}Foh52HxFrTp5T)-15`yG!6ai~^gk6rkMdk|9TfH1H)#OmDs^&FG6x zt7TtkMzOUfr%?JUg0{^R7%~vd2MTdQRfPs06PCk%Y@*Hm zt8?{Z>8E2udWkkM_!bK zrGDGx77iDy6C+!cD~tp|-2{*29a73R=Y2R(=@TH#Fmpd}*xekN#3S@D@>Ja6D<6tm zuH-fEf}nCtY7rv0C9{gJrpJiLBr8G1qWN@*JK{P0v^~&wjusIdHYa-K`t;c@^-7ltMJ3E}2)#~2 zSpr=!<-yYfw*)kvRII?N`ic1%VUcB><9Rl4F*cXdTQ{r6A?xv`zu9t#vAr=%+S(e`0ACe+GdI<$FL zYOOc@)U_A5M+YTVXALDjC7O03jg;=zB`Et^{l*|@-NWJrn0=ulkqF9SwBg615 zA~Z{dK&?KSGBVJeo2y0o(^0=uZ#9`b;_@jkxwpshX>W2+BT|O#WnuN@UXaN9I1~li zZFdo=o)@@df4ILmMrs~z}Z8d81q+r5G?7|4DL z(P+VV8jlP(R1#LM&|BCS1i3NE7J?I2(HR2TgYZ-#CEOb7CDG9qn58+P{ZeXKxnD3# zGC1T{x1?&Y=%=_SOm2}l0-H~=of6sh9J6(1>o!)$2^VK=qaxbNVTQXulQx0sAaF!} zFAfhoiSojp1rm0CCZuO=YlGn$%IIpn;{EC9YOpdY7*Zlr2l-$N!;2)``u(Kg!N&1S zk{_&zw?4?y3X4Tk$6L5v_Nscf_DT$r8p%;|2rnFPCA8Ypz@N_Dus~rEkQp+u5B`Yk zEd=JZ;h_==H>ex6DY@)#!~S6hNiOa4=kqGT`ZRm>@&{si?K?e<+MTR~Zz=O2GH4OD zeL<#_TP{yF(vP^kGxfn(wW9s$2~(NXbRwf8Txz!p1({>X@s?kDUAlMer^ z&>L|$R{BfoaWQIBBqyU}dP6FQe19}TN0d1#(j};K-U=8+4}#IyfhW~RtrG91U3cF( zCNnsb>*i}KHYW0&v(#L(e!Obz1_$lBo_HSSj4zgPuO1U^e-qCDCOjJxsskhYrnuQ* zHv%V@2&swwSIkNDPjRqDHO0lFyRqB5mW+X}y=Rm)k+5Ooui|AiD)k1R4j@uOQGO>i zN*xXFhgJCd@Q`K`VS)ysGs(nP3Q@??g27(DOP2;5V4*mWDmK}-*Nus;*mWn1l8c({ zq1Eb|oE$|KF3h?9=4KAUYY)g2n?Xg9a0qzDum3K1m?7DLo9ZH7aEKBw9v-vhbO{Gx^t!hgR8Mr+tRrt^%@zVDuO; zbsxEY(f%2C3t3SXQZp${$zXb!5v=rD4$b7WC}9*sycGiaEf!8^rj?e=731OuAQg6o z?D8Xg_wyKmldIo23i9b(EW~4()*9JUh9gdZBwNC>ZGn%oA*3bwmT{g-OPYAGZ1*uy zrarn*X8kicE|};T3;JbfhBv>C>uqdAxFr)CDei}y(GY3Z}wzNJn@rMlR*AC-sOGIxDTPf@@J=n7<;)=QH zbv(G0_wWft@%Zu1c-8vk`WT`z1=EIjYtxIX^gm{+1^ zu|@)&962tOXmlJaDyNTGAJdnUBxl;)e5~x*hXRrrCb2Oj+}gZeHOnB><{qh)h<2vo zAKBsWRk%HHxZ_%)t&DjXo31GHq`HEQNWmHC6&{RRg{08Ms^$>;n?pHbF)qn?wvXpv zT+1S! z>2FzGtI`fQur}eYbla#oNj2&qP%8z0$_V!659$ugtE*u!KPR=wg2Sw^P{v!Zg@>co z$UQk7Eu~CF$&2JoPldbN;^H7GOdmj7ln08-oUz9Zo(V#fp%%=3s;PC}a(<`};B6`a zr&CMzUf;t8i7yshwc}>#qI2lOx%g94R@X13aHr zPZrS;L9#blGSALN+5|QvjDY1i8*pUX#KN_-gVKNb=!GW{`NP#s&L-)yw&1k6P6-K601E z7ahTeDH8NQJ1v*rPKGDK_Jl{Kiuc-U{ArDf?2D~9CD^k&#EuI+bpCsraHW%GE^fODdr=~X}KJ`wlcBN z-FSE^1UKKljuzU;6mcRKx@!Er;ZT;;?;sk!c&1rD$|HoUcKMW4r6=E_&p9y=G6|U? zNGS&{E)&H=tr6i%NIoc{KZiBW+_!DZ708H<fxf0K=q+N5e3m+oFjVoyFlVhb z_r75)&|z}6cKbSVH%63wtmB2}E@tknpemJnV8=&bzgZdc{b)<2oiEHgK($S-Lq=iw+(~a1OVnOecHWlY5T) zn!Ax*oT{kJMjR1YcR-1L8LqgKhz^^JF2_`b4x5O~Yw!TWqi`Tbg)22jBI+udT~$AZ z%s{cp>^FPu}d9JjyFcl`ut_JuZlL*I}gzLYWv!bTJeWxk?;g*4w zriDs!9l-KCMoWd~3>$~SLx9wT(q4*D-^&p>WYG8O&V4T&o-USTfwM*yA+Ldt8n z=^I{@$Y^GWVXRMBNPs@JcWeQf=f!l&Yqx&5``U{be$=;?+inBoilQG2X&b>7sWo^k z*pR5^0^VL#;HdO0W@_ZYV+i_V;5}97cOEY+6dJAt4y4J{er>^ZuO`CJh;BB1|0RFt_Su)C z+tqNh*E$;`)ZR&$xVV9IVkA{Y#<71mRT_>GLt=Oin-vSPEAe~vZfO0_$q1g@u>)S# zgsrv2!*S(%UMh&_=Pds|HxFbV{U@W^*TTE=%(R02di zdnimOIOucX!4=_RgTUiK@NlRzgwv)Y9-(bh-+9`LE@kZG`rD69bD^?NFDj{KjU3YW z+^DQ@iO&5~L0?Jb#}H+uB#4d3WqUmH0xW#2O2XakW5QEkHOAkYlIWGSg@H_7R;3^9 z0WWX6Jp1i=D6^>RSdP9G(pe(+ys=sfJztWC)O-<1Xm=C6=RCs}zl`lcPn5=W-BzR||iA^O`wc*r>TCeRc4;je}8(@YO*3^9EFd%hTTa*I60pu9`T8=_0$o^a}1i!EK= zZg_|mAqCN3Fkwhg21ku}859%<-V1&U1=>JC?%$D9O4^>F74n`!pzs8K>v5X*4274y zot>N+-f5@3%UQPj%j;uyW;xdrUO85K^e-yccWpTqW*;AZrE#B=rQn=klxBTenU_GOO?7Kds1{uWf)?p;O8P@(W$!2?3! zOU;YbFKSeTnrIc6-B=CrQXaA-0V9fWtrOYo&M6#zvr_cM5{cy${R~A7RTse;5;d^_ z{(@SKJTwkzh))X-qv4RgHPkV(zR^0)u<=&zKhtl%%Nkd#qlxnqk z>3Ja7jcJ_7rq#gID%%mHPLiY8p35HnCvTFiE_KG1O-VrsR}GlO@qk)<|SL5mZ@ zB<|l@!h=NgO3Gd_xe#g!Gc0EF?b;Rx*Val$QBVppNkfPbc5zkGi;|5zaBovhl4v@7 zsA_+sGNzhfF|K?V$62<5NgNpPVxyoaOjih>K?-D;MqIK_++ia15Tb=}90*{JV2u?{ zz)BBRFZx8LFJ)fL`c=m#8*jc@rmE-on>Azz1#Oi<)6dl!A1XB z)K-Z(unwNg)?G&RzZdbkSEu{DJ2=TLlyY$OXn;wo$FGyoqxIDBqZBiG0);wRaOw`@ zn#ugI9Mh=HB0w!f>B(~qFa05%qR$eRiga!^9i`8i1*OkhdVkWTuMTtL&GBva7!dML z_>&m3zv|l?%I@x`zB8uvS&`3IwSl4y%q3T}Nc?K-Lj#`*KR~){>bjUQD=j`yzfWyv z{(gUdR>3kIah7wBjT$XE)Y3lm*e>N#N1G?KicW~Mf_(Iq+%HQA*6@aa?RWg5{8^Hz z+LI*(`WWqLk#&s82L?sS!AWkzVNwSS-b)n>uFVe=GAGV%a(jyNutk~QV@D&2Tm4RE zS7+rPHb!EWIEThsR&q=qv*EJmBsmo{A$s;Z7NZ}$`b7eXMPAdou7p!QM(cq~EJ#m+ zlKGn|!piXLeUH&?awz+qnq0W_t#cJk?BaqAS%C~U2F7sA%jcUJelLG~*vzcY4(qoK zzCFGPl)mdnN5VC6`by*<{HPvP%~*4v;qRQg3|)l4`U<>mY)k!SqG#auqqFL8olNOd}6rP_Zne;p+bLYIDpWLySNyGurfCb0G|w&FcP4+>FFxcEE7ni5iDOMaiM2bosR%`*|}xAy1V zT1S`kLeNAotC^ki^hz}uGQE$EsC*U&&W}4CLKLTht26v^>{h<;F^2;CKRE8~eJlHJ zC4HQH@^BKS!{ehGu@r5-l84d#+Ljl1PI1qBcA7}!%Z7fvK6P`mX4D5)7)%UKL>o{m z|7{Y1)`{_uG2?GZKP)zvXLUEV-7)XN@H>fn);9g1{50*!qiIrwpR;qqMY)h?$3UDckSQJf4Mx=Bz^{ zZKj+}ZSoDxEk0(%DE4oYF~<(Nl>kavjzshIE?)=3E!@IG3`S`1>J18(-Z2RXPjTXQ z>0nvzNKKCQPmb*twezBPlJG>U*>J0)eXfAUqn%-GC3xEFX@_&$gSREnHpnw9wGp+V z$hhtu>zsoT1&6z3T=fR!f%hU;y&HUTJB|fitGAWS6ZBD}W&N{#XdxHmlu9PMA4>5p zhszgQzRzdviY7d*H1ppYOvFG)%E_TxdY!wMuMuC5cq5|VMB8kFBksS;f zs27`gyk&v4*#l22BRfFp;D7v*^hs($2Xi!Q7!G&E1S$fNysb?nWtQBLVmK4aHDP2k zt18v6hB2Mwd(S%02U=xFF$uNMMEmgI&qqSbCLz$b`Pp;#ejS|ME{2PY9Y`sK23pP| z%FTg~>h=e!xO~|-6QV5B^zK6)vFu%MKki0qXR=M1#;REb0!oro4Z42o=3!k3liQ3X zDRy~w2#~X(z=xZlmFu*0KX+o4ZEKF<#Zf2}$uw1)K6~+ue{;}S>P7A}6rv0y!9ur8 z#wNYd)+C2>UGcN4;%yHE^B(^M|BWW#U4+e;|Dk8dGh_rZ__u#>eXcX4e1biyEFHMH2jNEh2=y3Fz>(ej7EQwN$*sZ!gkig)OsUti3-n%>*58bTSbY^)=jBzH1E zRv5qQGv?+|!C}GQ!$*bC3Te{wlR7A)g0am1B-)WMXY~tEiTpn^H0zXBV3snwTbtH=DV2B+$djOnFMGqd-VO@24y-5To~ z?(b92po0+Gr*ju=hfT(H`P)Q;RC|;~sk5x`taTeS5hKA&! zRcF%6pkbt8z9ee%O|S%*|nS~J0>VhF-z zQufgFvE!_)Av%L#Kim{_5~YLL&LFoGz66ITgdlA_aosxTBMa9sCK4X;_ zp4iEoaeS;Wf9K(_ODVMQ{>aaIGi`y*4_)8+zTv`&FJzRUPYrB~c2BkD11XORDA&IVNu^O{m1sLq6QPSIZL`*wcEmAVfxZ7)E-$#Uq zg+PBfam-ya5o?SKTgEc4mZKzc-~(^q6oL!z>Z zdGc1uQ;u+&Ob~mS^=Y_z#~9V|-kM((I%N)GM#sANZNijLL!iiil$CNrR?fKzAjm`X zA#PUgKuVw|F3%W3a1Q-|7?QbCT=4qHFI7@&Y9^4S&mf#=lpTg!toyfGoZkRXN; zPfW&gN`^~Zrnwm^v{p}vr@4+*?p%X*>W<+F$G*3iW_o*#z4w!O8%mF$7fipeP`>sj zhJ9V#aTxHULQVsknX6W8^=Qn3Y5g>Y#!Jc3PmR$(?v(XdLtk(d0-O=13tSnH65Gjj zNXOB&5oIhJG*?{TiKsF^Nr@+HQfqg{W(gEv=r!Y2vfg+E zRs5z_MQ|@v271O2fNHE-1;#wQnoSK^F6SQB!n||e*#TBDfZRw*Y8&(KAAN^JQ?{V45V0^ z?fycCy-xji1E%x~F+t4vCGp0+41=F0t^%5>2MD?fh^R#UO8U%^O_Wy>?R2M<0&%lq zj%f7*F)H5zQohGW*LU$67Ot$IDt={bB8tpTX8+-_tJOk2Pd@bwIWI9V zJ_UM7mGEcsfA&>h)q0520%7-0=>5lXjMqOEjw%L%Kk2^>_GXsW|EON_6DS(>zihJp zzqdeN3DS4>AduUYhOB@qS%dPER0=-5zrV}aO?1JVFegDgLcW{3x2|@>4{y_7gwvZD zYix`?F&jEhQ2C>xE3Y0^el!T;H{@^j6@`x5RPtB{J>G1(#n;85Hs_ zTlllP{8gKFqiNgcCxiq?ez);yhU*-Ie4L5re30qA8;3{xwG%YoVF3Z4Vd&F9t-b?8 z{xj@<2oms5f>iwf3SwbuZU6UFW#&H-r1URAQheNIq5o4s?*0gZyPt@z@(Y2HD}n{@ zmUBXzf@HIMCf?Zq2Wv6_mxD86ZI*{MFI7znCVeiXF;mr3p`obyFzeH7DF#>*jI=uoDrI2%f9rCY+PVcO|tF{}EI}VucqL{2q7X+Y&gC)PcX9Rmtrp^?eRVC*7?=QYHJ2Y2BZ$tV=nr2iT3HE^{7x!H*QlHH1C#;xX;J-Pb@Kj ztw?(|^{(9W=y7)kYdPoUy+o3HJDa8a#YyEaAIEh)_26fh3WQ}oO4 zuWcF>TU5{N{G@4?vM~DJjP>(@9rp(??muJyhboc(q)H!f<^OIA_TLM?e;zCTsA6sD zMkeNI;TOSJWIkFmIb4G)zQ57! zyR7iZy?9)O)A+52=05MAWX!)#+*KZR`M!sJKl8AiZeBU|bHlD=Mt*%Y4)bQWiYsKzID>v|275jH^umy^ba}#P5$We55=PYNwGg2#Qyy}aG{QUr#T7A_thUhpsBZxrxsXsYd8b{aIzHfVfhbQfBA8$fus0HHQCNSGkHT}?Pono0_c=bVl;zI66R9rATh@OD$LIrx|0%M=zoU)4`E{e zNti!v)&9LOu9l{5f1gHY|A{bP{u0Iq`DGsTKQ-9jj`{qJ(ai{q&5|tgQi>OeDmTe5 z)lnpB34K!=-D3pGh{!94FiFlvJ4{>!aVc8FSjn`xgS=AQ7ttbI%Mw4@RWPt>$Y>SM z8WEzn(^TFoy4+DM82`1s+*eJ8`&vMQe{C;U@J|Y@0%ckLt=aVdUdrabj~#r-`Cmgj z=qecL|5TVv>CYX40ggO?bnwjN0Uvh?vMOT0Coq#PFK^DzulDy(mX@~;56@0c&bN1t z?(QCLZthlAcQ&^V);IPZAD?rJ>f3t8sv3J|=2tuWCQ55MgQC*vTL)XZMt@E$_72Sy zmbJ_-tj+)07#>>~n_7B#dHLet|MvFw{QO+m&~tr#_xk#JdwajNeOOl8nU-6TkX{s% zm=~FlTUp3ehd#pqhu8kQA|_Hl2nbR?Xc8R~&?XTy=FdwgjlR=ghjP6ND3BYh zxnc_1f=eH68?9->1F6HGJMGTjSvo=y8#(*PWhZbDl+$iG0XG>PVV1QlPHi*KYrIVlB zN+=P2a0waz)DQkpe|Y|U#9b3B!jtZbG(T$%t@&H^Nz;YwC|_#m#a1~B!8Jb5aEG{X z;v=-=?C{*@GG#R^9NZI692d-!p8U(}Ic2H^<(-nm_TN%0UI-mYsbA?VT`n+~2(T<% z>}v+2SJM};KbA%Bt2OX?W2Q#XS$wwFGlQxuXYUpXv22Z0L+7NEU9PZbxKuIzs`L36 zCIv70oTJ`bmNRYG=8Kp+BMXE2+?UPriQvjgjIDTAABQ6$lGIApt%U{%byaa4RhhTp z+y^}E!HY?Tcu8`!_rta!-%+AsoT=r_>M`JE{p-8SmRsY{Exw4{ByymHsH`R z$^V)LS^pKw{*Il0caEnGLiG86czr1d{3PYS84COMatW9@MgL`}oF8?7n*hH6&H_vX zOv}`q@{O(izf1v4RKOrVDq44Uj~m;E0WSbX2#ie4DyRXhq@r!{0hbIE4ASU}J76(c zWrO~aSzEVIz*!+N8L=q^fa6BS7lHWki@Ck<@mH8 zwJihR(o1Ta`~AX_k}^wbn)(2L`G+S1W=a2EnUPl&9Gwo>4KNpAE5N*fsR0jG)O7)- z_6_|8_^7nH9jJ{D0s_`IJeyb2=$gR@Vxvsa|OM|gYhIKTwJV%deY zHqJrKojwk|v~)GFa4o8A3yaOtGjl@5AOyS& z1_7&OWEUQn1&4&Cpl)Je?`vl3t!ZGRX=uyBC1PUjDI%?=ru#)qRzug+5eypH+Bs0) z+~t$dXI^1BJ`s5yL0KIWM{Q$!_D|w6O8OkU5?uUJa;ir8rA;=jApm?ns~B<%NXx4k zyZOZcv{BWuRMWFk*SDq=A~XWVHu+y~oM)Gme+%MwU!IE5+7zNyB+&t94Two4gi$WQ zdcegLchF)>F)R;JzpIw3E_yn{HX)D}G%3n^g^F|QuqZzh5YW4Ofr^7eQEKvUgP3E;l@iRK zS7h>^v1BhML}-?>W4i10*UJ}*1x;+31Oun{F++zcH_JeU!nQG^gL<-T1Bc=|aqfa( z0%tPtj|ZXRI|u}=6#7jAYD>M53?k3!4-GDz?tcaminU?#=a7{@8O8 zHg>}G)M)=`7}Ex9wGcLn2{<7F7q~SHRPZlwSo{cN>rX@GVuJu5*mPmgC93;K)kjc3U-#w z1!cCM3V|TWiTbhb~0jA}Iv=g*gI6OQ|4NP`V~Kz*GVku7F?^d$@VS zpDrlCnh6>zP!nNC-H{xDc$Urs;e#+YCRBBc0_gX%`34uWZH!z*Gbft{JR6(qV^2KT zaLJCnrlu*m>G9~n#L>3G(Af@}gS9G*w~T;1{F?R+J_SC7aiwQHxD#|G(I@R1LCR}TJwaomr_X>_L@HJQrO6k63JB( z$=m3rDj5QT*xkZOe4j&%FPH2_qzh}Et=2EgxZb{VeNxQKDw12G%^m{r9o@%D>7UDG z=r~hG@_1Y5ofO`pEyJMg-yQJK#Qk9pb6Qqe3Hkl0$`v_8=`*#>Vr7-eb1}b+6p0{b zVkxB+C_^sf%g64I_oF~pBYL#`{}Y#dj;e9p01*E`@qfmpNrh0>I(W2p<3z0CWI22p|A(IN)>OYk-FVKmdIF%fJ9N0NVrR2e<&x z1b_kn7XUE;Hv!xL;4rgt22cVp2w)1pBY*_}n*e+OoC44QAl2SI6hN4RXN03yB!Dvj zYA(Jpu3jMkDFE03Z1oI`1E>l>5TGi+M1Z6KKml9=um&g$02Cl{=+{gDX8^wdmI0&# zs0So80099g1F!~&46qpB4!~l7!T^E+fC9k)AU;50fWH9r0dxWZ1HdQ%R)Dhrxq!R} zz&#Kl09FE-5CCEzTLRDw02;t3Kx%;I0NDY=0|5hw1V9u4$P2^+0K`Ck20$5z9G(4> zK;Qv_$I$3J5O{!?0R$c(Cj$ZikiE?>t^+{`h)F>B0pbu4u7E)GSH!A_&`kzz2&l7? zoHB^u-Y+xY=9v5!CX)oLJ^*LPCp*q3D1!@75`+U4CCM}_h=fjlNYePi3q&UAQ=-&J zOVr5T_O2{%LOz6R*EJTlVsckEW=!uH8~P2rk_6AB*~?G&AmXWqa0;>V4~vQsf%*E?z@+H&h4b-BM?i?WgQ=f9Q$i3G(|71eaTF%%UQu!;2#71D zO;`xfR&v2lfxW?vWZkwGRG>W&y2-<8;7~%u_DGnuay(QA`QXrIsRp4|oYP+fXHhd< zAfV68kzvGtkp22}Kqce`?#wKh(fx*192*qU7Tt}~&EIPZ?b`Yll8xq^pYs`FiSFT^ z;%+)14_F~R0d?cXE0VyAu9wi>yQB(wAz|cHJU+F-ekfV;|F9!((1ZF70#(-Nlvp@! z140eW5e!0O1Qv{@T)|(Eo#K~)YPe^N8n|jz;D(hI^wu>Dzp7c#4v7UNdR_9^6~Db=V{6^D`C)Mpr2QRW+6jaAFlWQe)1eSMUc6g zRs~~GMD!7pQ$wqH|IQZz<|o04txaY*TZ24|CUS?|n%<5MiJKbL^F9^@L>Gaxn-hT~ zb0`;LuKH+Qde(>D9Rb3yQV578(3~z9SnTWgL@0uMQ7eD6PY)SeaA`yInn{n4M|1mS zV<-{`e{dirCMQ}cY!LWo8Ibk0?&32*r$2=HpV{?>`fti4IQ^|S1W?K5AM0KJCfVat zhgLuzLqiG%_S>f`6;KltNEWC|6_cv+P=i_q`b#6KGT+dSgP@hFl+382z=)Rmf2ZpR z2B8!z{`f9%-jUJLvAndj+GbaE()&5O2cdq^5)=d^h){Is8{6+h&npaCwDGT5de9)L zUB`zO>Ch7fsGFU8YSyp6E$h#kNR=P1Fx$k2Eza*bIOWNm@A(iOa3*4~pC5Jx3sR%nrXxzGcFv=lt-H1Q??|5Ly%~ka7^}< z21*k?tqN1?@VXcN8>JX)!tw3k;NV%l0(Eh*g_y5HO%S6BCuy zwXL|q5>yC|4h|k}D6V3S50`g!3*A21=$smhkDIUK3>2313!O+#OB)<4-Qxf?k?x=WUDUi!a`rJ?sBbTLPn)FV8AgOWApZh#zt8Fy*3t|>?ofWBSSgLvv zEK_!qm`V@|K0ZFapbvJUlL^;B-CDT0e3th09X-k<)fckt71ezHiL7Q#u!2{Y#D)KT z@3OA_AYCW(XU1aH&3YKHna_I)abim5IH+Fh1lWXTkx@g9D*{)kQH;ZY6Yp|^J?Mj8GRm=b!2?hyKEqY|xGIrsH06tayPY|a zvW(z}OtbOd$<*xVYrX0V=?$_bpj1A+vV-m49cp%ZLgEL=`V_1A5~b%Ar|2KK8E$yc zL%|$SVD*C;Ncfw)yX_eR)TX)H>q0gq41RnkS77AMpQ@6>3o|{7c{w23hKzL{`T*|U z8EuHTfa3$k!=IIUOL|1n88i}hq6~jHfb7P@x33!qbCLF4lsfoi)UYEGa zDtlW)7yE`zn4HaC?pda9h7YlIBgG9hh4SnsjVC<3r++&cVUV2E9t-B9QHRh~_DN6dsCPbNfD- zd$r@yb+RjgpBPx-$>1=-n7LIx9;@ost)i^k9pu%-Jg({S#E0V%4%-;blCFI?Xk>0t zzWlz;tlOF>6-VywYU+T;HfJT{CK7z^vB}c6Hdre(^5jJgUD;}=WyHNcqiecf`J-rt zsF4ic4qWQ3JqSS@e|K#qemoLU8`fw?3YuU|?C}CJZFzpORJo_ zaCB>3f5n%Z)dh@u5226uPR#2`17*)K&~j*0`q`i6&f7-pKe;|sy@O~*UP6Fzo5oam zseJw|RU@<9f+DOCt*~-rb`P1CDDoX+HO=LCLBV<(l{>?s(^UK`zD|{!ua~M^d*KA# zz1_|7FUtw_cK zy2Q4YY>$rX1GNNCkdhnc<{u0^-RvfhH^Ws}*^1eyCKc@xuk!LJUY18^XX3v;cs9_6 zt52W5E*i(?oMOS0jNJIYQHG3Bfj)9^Erf;j->XbczYW#;-K@%)6o$)hFxnp9q|)P% z<(=R{zlkoeo0(dGxMI&1_ZAsAbHz*f@MRm>Ud9h}Hi%eFevln`A>4$0^SZC8zj^Dy zqeCK&(RsuLd+%`d?GU6nS?$MKo=7pHwdb;ehWo(W@k~c4g4ufH%^Aw$c6F+rs?@yV z`0yy$iaAZ=>92=-H}rIzWye1+*i10*)EljFT#}Y=$yVedODd!M!Q~8Iv3^Kf){!os zXPJ?^DV;iJasHwsA~(Fbv`U2@Y7vS5Qq6*LB|_$Rm7jwPh{cXgZQZDnPcZyJ;aaOU`Tf}hKM+U<;-YiCyCC3p0!h86}nw*(wNI@FbbUs?nlX(I@pRrHMDZy?)s;!VE*(u3w z4^cJy+2y-pqlw^Fx7o5m6OD*F#MSV*|HOb50@)_D-bY4Mezt^GORg*&`s@vPGd*F?cGHBQEXb!D@e&3TyF1V8Ps~3Cb(iMi zi$h_Drc(1u(|g;$L*tj+ZyjVs62yIJbFri8E9L(+V`4D`V`0f!H1ttu-KjE(E_c-w zGViq(+U-0~xuF(Mt|bFft*S2`MN^W>$(-qn{liWRT!FD9M0WyndS8{zwbY&&BZ z@GCOWUEiE~OP4P=`H-+xqj^@G!ZX)gr_^(hP0fD#4@$5)#$vOr;bY^IIZy->Q}F65 z{q|JZFx@CvtM~(Ko_Sx^CsGNNyV|3I{F;R_7Il}V)vakX27~e>cSU$8i&b6B_>OpK zpZqp%DaFN>g^)zcP=vfIO7emiBHgJ{{Ce(?&E{R>+%uZrAPnMUG`}D3XGONTHfRn9 z(?)2SYkfp40WaVUP!dzH9rh<(QQ<1wyd2Er&-db?U2HxjcYVEP;J#e?IgHtDAE*!< zS$4$~#|_0t{Q;w4n|Q4WCCuVP6t`Nx%^74N^5WW$>EpE9Rc2lb$0zy*W!?G#^mOH!(B;#%F+K-rcpcDInBVUOFDOqPSr!ed_t02 z&T9p-ZLTQigKc-#ddboTC+8Oeo5{J#O(iY;J9=!-iU<8&$`iVhq@sW!WiVZ55K_;n zfpJmc`K7l>Rf-Xgyv&8Kbm*DyURO)cY~I}dWQl)nJVZ^G(rB*=v)}`xFbw?VdtW*P z&oId$+^Dw^K34MRx&Rwh64^ui?+n%kU2;TcV&CqsVkhD&vhiYT;B7bUzleIj_w|z} zd6S^$gD^7QJJ0^Y$S2WB*R{fmpD-XUEM5|Dsp%#NXQ+LKWOro5<0i+Ip{_W&3VMCz z4J6SYo3njwP}#qNfxV+ucqjY`N+&y{m;=X-XSa`y4B=Ljy`~j%bEg)AfORt1guY}W z(0Ms}uy{C>MLH+r`Vq!Yo44FojPf#Znwf*QH(Z;|igK!UvQh~NH7w^cCyZVt!-I@E zs=4C%16?*cGU;1#gyIJd=3i-=kVw$OzlYgCW`<=I+7>y4OEgUrD!IX*Tp@0Gt?9|i z#=TkMXh8xF8o#k%X{)zXkY|RweiD3@6?v%9iGoWc-!*Rp5njDg*VUZ=7^^#L>lO0U zkx0(qn(G&=r>^d!hM-Y{Vcf$mf-_ooxhB(g7lCabB0HfMI#Q6$%77REnnV903)7G! z@?h%EY9}tAr#I+T$NiZHRN%M{xAEhn60vm!*@(Z9zar^U>(#F*{MdlEPeF`i!8KcL z?R77W-xfm^w4-`&uAo21hf%_zrO&CeEMAYuPW?86S%E7HmFyz<)oVI#@3&?LbE11n z42HyF4%;i>&1G_1yZsr1A~WDSe~La?mwF9p+47}rv)y>g!1m@r zkO#l2$g>5Gwc@XHOsK>l*4Ied=v-`DA5Qwa8=rZlGw<~RbJI)a6&qIPjf>6Y0jto* zvJ`X8)r(=g>3e=IBNGOF{1$Nen$5;L6R(LmY2H_~69KXRkFE;6Cp0h<^4B2+L6X$YyMfMs2xKDlHT8MS!f1+aS`Ed1DulKAO)y@P&e-O7#!Nq zd&-x3ak7;+6{L=ckU}z!?JBqW=FAl?C+L$<2bb{h@>v@dqUD)h_c`xi>3RDuJ2k21 ze?E;yhP51YI^i-%2jqXMwum#wB+WYg(ZH6P7IjL#w+9E>u~6J|W{jDitG26??~S}0 zI^ka}^C?|BK#uT(^@JZ7_BA^$pMLnPSN*b(gP)Yis#V1Bj4Y2+PTNe<0C0G2BDlBl*h!7Qt5Ako@H@2OTAtW!e@=MmFD}GoXWDHd zUYBHM=Hc&T9`&^yv`Ie&d$8hOE=}Y*^B5dY9p*9e z?@LG3TbNf;#>zefG+IBR2?(M;yc6kGU2iuIF59q9snHnWQtKLxvC~QJvPU`yxN$Xv z96V>W0lsH8c($3P28k<|@u_<3L|H6(HLM1LM!FeLxp>L-7||`}tB^+6=eu~=q>1$@ z1{cRXq01Xt!3iY7rBu6j8aDt0hgHKIK6fTR0)&byma!fTzB?XCG3pbooK)3ScPT~A z7&=`sUrlVvCPiKt|SG#}k(4P)hX51TUQ^jBMr-f=bAm~(w1%*ZU>n(lDEt* zspsJ&yXTvpnW=sswZr7Y&q-LYh|H}m6-@NTU*mtHHwmFf(5ilYP#xpY+vDW>;5l8x zhEb6}PS+BKe^wVEM1HC+&D$(k-<_mv@^nL2C_bK4+1JCEb#-y)HMhD#XvhsoCu678 zeJo@yPg>4r_=laH%86?cHv1~KY_6fjDd;jCgabD@T#~(JK0m*o|G9AUwapzAUy<<$ z@*?LYT2FlzQAsedYx%4+f6SJ8EMjl38dQAEN#W_hgf@^ieV)5(^cK90_?0^>C`j6+ zr@_xZbMDqEwd_>?@aC20Y_RL9aA?Xy2dVjFu>CWBSH#oo1Gm|toTb}gr`KfBtu9Ef zJilYboFQIpLmmA6J;7Ua#r0+XwVPo_7qOFa1T=vL7O?D%TIt<` z>UMuuL!pQ=xANuVdW8qy!tz5wjZaWNaUaRxE^tDunA8}9UM9Ce9QN&KWFO_IJVU0V zXSt)?&ZUyqMo??kG_xUbRZk`u+QTGIC-2m8?S9Qxa(`&0!P;*)`1jp%ImnJ+=Ba^17X zd+`*vgcV2+SKGylVy}nnQ!6c2*8+bwZAfxmb%YOf@~aapzbuk4LDxP|4cEFX$#OhT zwk-v~jT~bNC0N`5;?>5R$*2aFu`~YOuG5cXqDVnUR`K;d9Fobuzfp!-Z_lsT&_ZHx z7~nMEuf0l-&rgWP8jRGz8$WDpCe?vV}BMg|Htf|t}_LLp7H3egqJmP3d5JbnlEyNT1wSVn!n_JYL=`IL3A z?B6cMa_)#eP?EeNOo^L$D=5q0(x|Zv4v^1~1L)at7i-p_DeYqA$2m_jF~RijB1pGb zQT(Zw4U0MW#&?^oG)O2|jcSh^L)l7@H8gEYCIINPcM|n|a~nrx=Vc-a3LxJc!XZxI ztJ9jRXARm*@ETKF_$)_tUU45`kH|nUb%NBaiC*aOdKOTl`>i3K?8mOoqfZdrs+89@ zP$*|NhXn);y@%!6>#=xp(Or>KAQJZV9aEddH>`AEDFV#*tvzrA95CSp^D$t-R$V{X z+p~|0Do@7}$0ydpE`N4hN32}{cj>5~*!FHI8t6$-P>I_K`-aZoO8klxhw1I?Q^Gcb zwx@!kp7g+ilb#y<*njMy6tNB;I}s#H#Z^MkWyPHt6sk_*!aSkNN; z7&V|FJE5Z!JCQjH{KS4d>^W-5k>j7IJUHLO%sg0O@l`DF9}b``^SUAs&n!H%^>g46 z?G2rjY_rqx6-mbWxudisT!*Ao^ro&YoOsp9+%ILmEtMkBh#)A)K8KZxG&cLa>0+*l zgM8ybx(O5(Dx|&yLz~RtxUxKjzbuSbm-w<>z#I|(B)u>8Ck7+L34cZ(*-1@w1gpxJ z8V+oTODhM_>PazIlK*D1t^)2eB5H4I#Wk+`kmy;o8tTzsDxK$U^lWNPhQPO=Iym0S zeYc%VJMSl+8yAQ&DOE}T{-mF~&Z=Ys;)0eVI0N-?5T=(V%lGfrgzkPwOQls@V7Mq0 zNae%Q4H^DX^m#@l9M@c%f?VIEHM^k9b&{~#9j0?XUNhdiK`6}OLkcPU4_PP;U(0&~ zN0DC9)>2pq39kGSpZ+$-JWa6tggT*!X#QiWZ8F)%QK%r}HsxoV5F3GuL6SQ{&E>B&%Kms6C#68DhW8T!OTDt2s+6oxJ_ZcT1gql%Ry`AZyim zjvQ20M4!l3;lL4^g9{Jt`uv_>5y5#G3dxo#=18PM=FRaoegyjFCHcM-c)OBKaX$o5 z&O)-!t^ZviG&yeLX3hI9UFBVeLds&HMrHB?;0TJd1e z2oiLY1obWo_5>0kfGu($n!iNf1-}aihGh?EgBc=xMy-0?brn~V=KNz zXOVQ_P}ogL|E#w@N#M~&zTYb7a|{%C_%zMs{hz^j4bJ|Cq_30x#|i)IOECcWKTxTz z22KWs7JC03qEnC)|G$c14*x-KJW`O`634Yzmg`^ckl0CH~Bx4CSdgnTt3R z^^~B1yI%eX!@=lKxaMy`Qm=Xk`NSfk7$=6(l%P#)9H|=wEbpAD7>AbNkMB@1JZcUfLZ#D0p8Vu-ynqD1U~~`Fgtfw*7Q+G<_}l z@vgqaJ@@Gz73#I8QzF66=Me_4i_Zg#78*L`&LW52;1>btF_rlXO0}8{^aG~~svAk* zQF$gUmLr1!Ln{(k!AgK?c!DOL=fKhkfT?3RMilwGA}O%f@14ofJd`K4%DXuVUz;0QIhia5adY?LHCT+ z!pg))uTd@lMsBXoYIYhrmG$Mg2&zANICU|l)P)ZfqiAT{c5bia>snf?r##Y))Z;jd z($D~`ctkraZ0SJ5)W%5h^tJY7D~bBfb{1?z%kRK^M{qw%|8-vTnjn!ZgA&)vzZ#H| z%izL1-iL;GG~dL2bcVtNeu?mOzAg5<=j?`Px-fA*b+|?=`_bl-Ig{60#l9b`LH(4e z>p77=cw9VqAz|nK8L-4{A_lp{?{(Kia`YRDFgk5tBppLbw~3;;$#r6rpm-{a#2?-9 zm|?9i^-9m(ep?3^jk-8PQA-;cNw2mw&0xKs+otvhXE7ke*O3ERnD%9%qo9 zGC04r0rx!`StGOm8y*cEeK7Z%4AALt7KcUf>4bxVa+KRWZ6=!fn8j7#13?`glkkU=Nw9G(8nE=9p>HAL^x{{Q^ z*M8uR$Rr4nh;;;D8y9Y;;T#=pV4@8GQ?Crk9W+;_9aLk{T+@DvF3iEYVVGmGLc6Q! zJ^X9rMRJZd#NP7HKr%NzY6sFwYR;QTLpuyNXY+&D94&;O`i9}tQI^Lga(hKNM$!p7 zShr2{H>GQ$umV=RiZ$90zqg-}g4F{)#(x;}{^vT$f8p8UJ?pMA ztBDF}U*=TTP*hYaKpm8a;EDaFI-B3$0jp;4` zjozw-lL&kfAQa>Vqut035U_mfd`#(#5Bs_82syuw_G;#rv*qneVO~m|3h@@2|*pr|6urN*9F7LzeimPGqP&|BM!TH8}p z{7DQPjIHrX>tcSWZYc%ZRoa@D_cSkd+6^Ib*+(b6l2c_%SP?4W_*oaBNJNP-`K`>) zF3k55H@UEat!fagY8E`&Dv8U(05o;x<|5M?h<^Hmpq% ziqG~K%3WL9Qr9+yE>8Bm&mpfpA)mbiNx*~y1RswH&793Oh7Y4^-HmYR^fUW1Fb|`h zUQl@a!}y7JV78aVN;1x9V)m0VW7S+_3mKGNm zmzKJ`Ug~OVL1={0XjmT4v;^@kG6hywLqaAeTcRtB$h&=P&@|FMK%ftO4l6$JT-7t! z*srh4mQ$+QP_i#axTHopy_%};c`*G2O`Xw8Ff=0ck<6T}F&_dm8m_-NlBC_@WRRul zWocopVQQ01coEC7;VXcA$m4}W1j?7cW%=XIo$ce3mgw*ops0OQM|Ay_xhn;5xXp13 zNASz*TkG4xZ-@pm66qxne1&OwnDyHY>0Upeae{&EJd-y>Fnmuip8gP!@8)^wdKgD(Dg^;Ip#X14>k(wm74Q;oV`wF+zBVCBw6C z5}K6~1n*KkdhnteVa`|>nnKH*HP>5X%dL` zbQ#GffM*@ORw(63t1R1WhX0&5N0jdSz_Id*+RraO2*mMxRVj)M`jb6Br-)97>tEgB z&;-wJ&42WBz}FnuF1RP!8r)~-b42+KclT0!3- zQtwiIa%+}m@=2EZzk7PIO8!*T{tDUu2;2W2(Ekzg|5u?I-Kk6;UOf1Mf_qS-@YDS`TjR`3tIyldqP<|V-rVP`hOhHz}oPqjloy1tZeHZ>nC4vPkPm!TXY3awi_&%tgI z2C#qw$|KzfQi6Eh6?jLzbsCiu3Vr*A`WcJvVCntS`Qe9b3A;PqeL7_Fkd%K|m@o7* zr=-6o!(j7npFn+_Ygy^K)At>yP>zBga|abJ2V71U+>Tj9rQ(BCT4mF*vQHg+heiKG zB=qZdo8B+`A~0~&uPX`l?LW6VnNfrO3!AWiTuUQ6Ydc3;dq)!|6X*XoyW1@7#Dl@; zqb+vBF5ybu$KdZF?j+14JUBZkru$jRX6-4iE_%|H2`W3MRWYYjYabWvAlb0=68NCQ zbE>q-7kzQPGsmQ9Y5nvd?>B8Z)mt5HpKf<*e(ESbc4G<@^4;u&`Bim2La^Qr(1xr9?9n% ze^$N0f!O68VxjMIEc;cCPm9m==S$c6yD(o!*E-+khB<@-gMta_Uq{!w%fpY~?}hll zkDX6D_F_-RN!B-lp~dGI7rLU(mDbLuiOE0vX(3ggM{hj&vFzf3ow9kHx-nwo>cQcU z_s?#Bbs5(}`Stc%&t)mmC(LP@M)f;8+Wxk=aCCiD`QDmw3X`u0stIx$>?9kLI(^^l zeO*&iyOUi;Giernv2Ja=Q{a!VHxux$>-f%ozFb{x{e5?Pd#q+huOL*3tY_Edw3@N5{x?%RC1+zwv!ZoA~X?(MFweA{1R+y44I z_}Xphb-mSWsBf(t8#%T7p~L_5p}t?MFI{E}EqB5j(w8OZygX4XL_6mD$_57-j-w~hp;OZ)8 z(E+%&{+<>4a^;%W2WzIJ{OPmStvt!!Nu=#6(bW5kT(0ZncCD^->UUk|-Za+5CqlJv z^W&#Gg#zaGVH+)d2OJ5Nu>Z47%CW#L-;gz-Z@iP#uD`-N774e9H~OiQQ5MO)vE{OxVvKqd z*CNS554WMvF~{(v;&GVSl1vq3yAW-cj*F>hhw_3u^0n9DZ5%TmFXBJH^n=CvH1kNe zg0|~AI_<2t9GZSJuAL)Fc@bnxYYm2>N0HzH2iUnWXycTY+(&;KY)7BT_$*IiE;rZ= zwF)BJ6}W2l<5u>R<}}`|Oju?h(hMa}k!BX0R{<8Fud6l&JMX0kg~c zb+GHVb~d9dHc-(&YwhZ+@L&4UNup2l=!tRou1XZIr|D5Q;x={CjGpT)vG>BfEv>CM znwteM2V9NO4DMaRFDfVKyNz=+?T1iyr!lp*BL^`7^gquhrbUgDKr!C`n0@d3nYjmo ztz~#tUygZuIY%Dj+Z;e^KmP43sTE{qJfWkXrxy=?<~F3IAf;)n%_S$bZ&`d@|AZYy zas>;;hRsA9;}kI*EbuMy*2@69FpSi$>4ogie2aOQx3(B*L}dawGBzeg-;bmCVgjF* zwwK3~4Hxp-&HcCQ>*Vo_AT~u94B!=Fon_{M{c@sf;?d+U>|fY13bI>bllLv=DkhjI z!L&>FnZn@d?2kt~l=QXjK#i&k)N*U6vkpz-|3W*dF>R>}q(jQnHs84=9!TK3ORM@gv_J8dST{vTin zVGj-joS1a4ACwd|nE^^aZm(}~z4TtYp=~M|BUY)>@*9~MAwD}M@5+NrOH^p{N`?NU ztgbSdL|P^6BCq`v;FtmUup|d1_MUGqXY7QtIy|c!Mn=Y%#P26|^eyx)(J8g!ly9{< z`e2Z#F}|KQ4dSvb%jji3xjP8m*!ake$aZkLe;X)ZWA*kq_XAZ`03bPG8d$c*UiM1r z8#Z?$($x;aw|;Z^qvY;&`*5+>heD#?YZ_iZfRlqG(c=4}iE7|>`disLRAnF3D)J+W z71!{Sux^t5vfwvK6uca6U2y*=jEzw2g}AX*=}U(9{M`cXnk=Q-%%Ww?L=$;QJmoMO z+u#Y#TDC147+hg1mMKN04n?uFZRuc8I&sML%Q#YBbC#V~MH~wYF|bncLC&=bLL|G9 zjK%3|n^QQzD&7<1wU9**q4*7aYx2b~&deWB>TlAN4DBYjpIMn=t11(_`fEg_WqQ{; zR|Y6&blclsbN0;`fu=a0?y_TLbNc%3qemZau%zDg}WunxyF>iVhd93&zO`q#EmXGiOx~z z8v+5xdkr%Zvr&w?jnF)uA!lyzZD4z04Gd2?dhXbeL;N{Ks#(Msywi1N-ZUE4tu{4= z$+693*;IX=ac_-Sf#jF*F7X*HYQwWK#LFP|qh;gKvjR<$VYGT!!|RV%<1mDMT{hz^_+CbngtI7TOt<@O&(;Vh76Em)xU z%_=TvN4XvMph+A2B;71|$MPuhU=3{cqLt#IZ-TT9QhG^}m?L)!D|V%&G}OP^H?X#( z$JG$Lz3xu%@<&Wv9D0DsF>RZU$m_bgvq>jl1=K6bNc9Y_1~>5yO(Wb%EfHW-*cdG(4%js@$OY z*b_k_&QGiezJ!t32!-6)Iy$Dy<9M+(EL;QTUSRVTScOSLXd;qYpX*Pk**yQK}P z-8j8j4sdMF6JPL+)%U zDrTt(pn?gW1FY?SoNy)|%@FJE%5GuKK|GRt*91=zz+Q4)UoETCsGi*(SH7JII7Ds} z^Zrxqa@~^2tRXzUNbj}t6Yts$G-+5f#d57K_eXn*h0+ZYIn|;~&S+?`D89|;mMF!F zm1bd4;g8Dt^0#rE%)QavLp&}$5cLqQUIY8wus+NmX+Qd}nt~X1o4HLfVS&a5R{NB4 zbhpj7MS&4*5Nt5Y^#0Ozskv$1T8iiM3cqU`jB%n_ksVw>NTIBhV$8#wJ6f#|XKH@0 zD!_Du-TIYqgbfj*g%!*5fuZ7Fy3V6NV3APKUScJf8LTC9Jfdkn>@os!H zRfcAxYyG&>6?M5##<4X}goz6qb;0F>P_np6&ZG{oys{lQggOWx{Io8wo0Z}v=yvW8 z3Cj|4B8*-{je0>s5y(hijG3^bST(NJcaX&PE5srkar^z?>}i!r?KG_dJOGQP1c9!R zqzHNuraU;$fko-RT0CJFpU>?C(l{ZIJ7D6b<{%8KNGnpp z=@Iw69^c@cH?`>Raf9ZemV&bFBBN?F64fyY1n5z9yaTKr_ElJFKR5QFC&Ri{J>3B-0=8KdBAX<+)QqP)3coWUfK`+ z1to7r^j!e`8o8bZ{CgVItvJ%9UXl!#gmpb4)zg9}aj;j?GZDU_}`Da*`Oqw#X- zl*i@KE}A$RYt3D%QeLuU#``c3;%2SVDq!<*y-gU~lue;tj!6tcwR_S=b%aCMSY#(l zW>W>%P(xPrb(Vjhgx_Mnls)lSDy_xTDT|iT2f#d43XFc@=!K~NLD$B>uaYvZ-BFP4 z&sLD8rJv8{)@i)13tUfyAL#2S5q-NQRr)g1VF%B$qD^;7YPH#}I~#w+dB%kj=EJl& z7k&ScBKm|DVqz6-rFD!PGm);7ym-Y1SZco%Y9__uW+PdvFt90>{ZY z`jWAo;&wwnzMjv+vR=Hf4?3m00tsaU&v3Tc)ZyBDgn|}dP57w4cWc%Grvb;CS#&DB z^a_2F3L^0xGaEGuV)s?-f1#sKE$7$m`Z##}fD;dO``a&jPtzEE+W1`jebvu66x6z< zuSMcL*sDg#E57Vk#}C?Fv#44XO3Rm@qwolN%k7{;-%-<@8D@|vSge;Y-xkW@*4}f- z4{}au%&sy6L%lF`!4Mi3mh#^$K~T_*C5lz^j`5lIZ-m&M4N*dtt7!+N)jIMnyc}%x zrx4jz4BF=V3ei;rcy}zka8z4{i$eF|^N3-xWSI=>BxxhVQEF}okO`vqICfI!?qByl z-aIp>r!X03Ff)_#gPK~oqijxeLGie2Q?%d?Vq|8s=mlgeGmAU8>jmAqbf0X_P zZ;rKvOMi}XA4@H7(1xV#$^i&ku{O~P1l1k9$v=$2s|xB9#rv#j0n4hQ2k;#~mE@6s+07B_zc|SA0dDVbL+Bz z#9%-XDhWqg(^AxM=u&|*C;5je8H{{O7_thshp?_5lCCrl`D)I_^?m22sc-Mu*yJ}e zkz@s5X`L)63N>uie~u526okTkOwVo;{gEx;QVJ(afNLF?skF-!-pvTWZfG}jK^9Rs z99V|ZN{S)F6&!ie)D3r%WdQjgFTt@UmdD81MZOW%1eFRlSkc;hO%O1d-tV;?2tT6M zNm34~t`DNz#o#)b4CAhYzOGo8OttOn=?2xfMaNbw<*L0^Q8y4ZOFTwKvr@?jtE3q{ z7)a>^8e*BMi`2R=?o*)+z0t|P{3`Y;ltS?Wd4Ey03`?-9b69*1NB0BQo<^2}WuT>n z-80c!LPMj+c^xE!#S+b~Z$;-U8siH;yAvr*N+MflQB$sy5%F&>mAV^bKp@kM+91-| zO16CsW&pNdygUAR9OqCcI+TAR*xcl2_y)lSMEu+n6w0H}ole^~c@$fTq%mL5 zZ_ZNrG0u!o{%vSfatfcKG%lq z;VoNAIxy|0h2wQ`uK=1OGwdK6xEY2mJ&jK_KYacHkzNSwlmZ^z-%QOxwa5n6DHyZH zXwc&1SyT0rhtiU}(N}8abO&v&2gu)((<4x&3(gMQxQ`%=evH$Ghos<}+|-IEu+oUG zAU77YT!ExCqm)siW@zsVx7+_ldtq-`w=0}tqkhzOn7pT`SQJ13KfF+i##44d%9OOP zK;h6{vIIgz1_uy2>wUxI5Kgg(s{{d__Lzin`cmLkFQ*ly-rbqubiIEZ?)1&c^M5p7 zKm{hG2%r73PXKH=-U=$p36SUO3i&a_ZdyOG?D4y(3dRZ5)Lti->afAVB*+}Y4d zt(uq)pSq=$(*GvleI)?FqdcP)i1H$#VE{gnOCRsbYnE1^%#bw?18MUB1gb?d-ey7A zvi=ny* z8sFBxLl@d|Z>T62pWC!su+%02GMG5?Ewy`acR_{;bf#R86LAn}+-Pn3kik0Hq7=iX zfDyAfR1pq9|DAw6hzh4sM0`9{y*xutl`bn3#5tL@P!E?1y>Zlv_r5`D4$jy*OA#F0 z*ex+MZfj~8w2}7`zTEgAy-nK_uP5EI%=F$#t0brnowm1i)9SWqsnLo_ND!Iixp@f9 z@iy?Id>G%vOlj4$8?>Y7E`+&F8mnR1yv73YWDhm8F@>Alw{+m0@y064-227W_Z@n) zB-4SGT6dp&$73LJl}>R6BNuX#j>~_G-{x07L&JGzK7$ym9;1zJ1#R2Oa;qPl8>Ck` z>S1>%Wro9hR?OmO#L8BG$T=$_Bud70mNCJaiXWcj#UYJ9ymop9CS%J25?&@pnn^;n zJ!dU2DQZnuV`Rm*t(_F0UMJbz_ zvA4$g-X z!==U!5S&8w##qsYH|Q`HsJ7DKE&}w7+=MkE8a;af;NMy-76p7H#8=kvS9bm|iHL~5 zKdXexrRqOxj7K?c%0FIxs46sEX|e>$o;h)Y0=S{Ui$ z@lcQbmEoPBRm}R^?(^*S_H4m@_RCK@?nE=)&lpcufENClSNk)q5grB1v&1$cg*na; zB0an$dZ{)>C`B+6YNZzmdb}3(@fbZZVM*m8EeVc)bq7*n}9cD+YY?fWzn=QKv_TL9db0)FZIINf423 z;*PsUc}YE8MrzYSk%05pppZP{*l1T)P1JiO9VpvUPBceA6;=csY!@xZtrWNkl2gR)wl3gY$=;0&>-J-WYU0t1 zwzoGRVFq;YMX}0NGcsZRm+R78+3SS^$_)eEf}M#wv(lGCr@yXkS8{vbnNT0L)^6mZ?XYro7J(C7Y#eZ{RqVH|iHj}uWrb1@EeBoaEf588)0wwUwU!cubdT`g>7zpat`FN1udb~Z7RXK?(m%sTqr zGxM;p^QnYuTO0U(YU+#5jx&{*G1C|@7Ogryaa{J)sv0c?6MB!GXkDG*&P4yS47OFc zGunT4b+@Od`N@@E_v7VckACf>TR0>H6yYj zP!v*U^Ko@JX;Z>+b^7ZNcqrNMzK^-7_EN>F<%p5i3&CiF)1XZYTUkpIa4W$l0|@bq zOKDRJcKZnu!WBgH=7k&tNx4(s8Rn=0M+WV*HiSa=KCbbnEHS?=8Ukpr$Wi4r+673= zo^YXKhuQ0<1W1+CWA>3m{dTu(tG1XO0}1m%bM_HKqtu1SQbGyO*Sjb^_J3|77*gUc zIk76#eoQTiB2Xal!*B>2?2V118e(#J=KpaJSG5^RwyasXb2joaY@-}VU%}218=7+-mvfMyXpfh!0V3XA(QpGzNiEjMLbxAkb+$Nhbr zNJw)owR9nDUfH^S?AaK3kGZ#+Spv7$?Y0E#4$$HfuD8#p&uZ20MSPv!p55;3A2ueq z<&^K^Znx5oM7N=9XTD08m)ftj#!uzw!efI1JwXn+)m|;;CB6Qa71DX4CSbHmxm>+B zN`bTj_~o3s_i+XSI7HRWUoNKIf$AQ@P%MgkL6l%Le z@M6+({1n<&Dk!)k+_u>_v{X47f-!SSHl(gCABA} ze3S@A%*o~;WY5_QZ79AIS*3h=M53~5Ez@-Q!dhE5VdL+;bMH4ayxqj}&KJudNv^)N?wA@hS?rP zF6^)pF_4mMC9Wgg4bN0<%Y)_ZL6NV7jb7lJCLo0OfTWXH% zk>R{XCZXq|wXl{jF&>mZQEsJY3lz;{@VoGr%=G7I?X!?QxaN(UVyGIbyzz?q@4;#7 zfm+#XaAChd*lil>w5}2`v>MKYi)RvT5slj>+f_m4SXEb1QH{sYAc*l+MGlL;mwqX2 zxRWtj*M+#QO~$(ABwmIYPaPNd^IF%t8!cKi;MLbpLUO1*e&x_zgapuG3&R@EV3H*E zbiJ>-zI$dJf_8ma>wD>!6J^B{^C;4~M=$<)d`zIMN~No5!q1gpEgO zr|C{MD3Ry%*R$8o2vD-%bG-a>aS=-L`XWwLVgP>`NbF-Y@CWT)u$Dz<+U_?L@vWe) zmV5aXr26#r?2T35P}e3ukM2kH)6-x5X-Jw6o&K_!lvD}1-Jy}p6ZfG^qi0MFTd1%B z5_=V*yoRA`Kpm`$Y|x9@&A@YRoKKBedWl#iZ@z#o zL?wd}I8qmkrwl7eno3(l#jWgWk_Hm(e%(NXsOnv^L>~ISviTog1Q2Q2G`=f_+UKs# z31xs0Yd0)c6m_&zpyDyQv{N??-nx3Mt>xj=!@$UPGeSt`?6ku>OvLE~h1^{ixJ7cx|Tt z*+n6#u>_<)975SXAxCMe`>E!>1XGmUO@BGf_OzWj%q$%$Hk@ikaGAw@(!o@dY#C1u zGYH*GE>U9>i+Ni{@E?g=rfl@#C?_&h#k@ZqU&6Mh}p3^e5fs0Y5#LIJ~ zn`|=&S^iWomzCl5$6eOt&Y&!Dri>GO656l&LDvOq6&liAgoIX4V=s2ug>FvXW~2i) zaN#~>(lNv|E+9EnbHZeF3rLCYT462gDUd|fX!b`dtj0HeNp)pMSo+G<1d&Evk{p_B zJeFAFQ>Em@G%L;?pGV52GZ|V54d)SE%*7&(wsX_<934$%T;%s(+;Q zVj|qchd^Fxj!V|Vc%c#+6dGBCO)-CRtMEB{diR*g-3YA|ycbjku^q;Lk7Exq!$U4t zy&|4x0*9k@jh^AuMMU1X`o?A1(N1MMMlgK{txG4W!8n*H zcM!}}=V0>4<1g;736G;J(gap7dp3&+E!e(4F z?%A_6_RrxgFuzcIxFuAA%|h6gk-VcbZM-eV zbjYkrrPF$Mw3K@kJ*&CUR#UHZq;2mdTyaHYi&$=wHMBvonn~uftK{>QlEG;ur^oxj zICAckh%0Z^yDq<8LXXx9Zd|;hcW!E$m}OY+G56Y$1jVJ z_7tc2rhTNBFbd)o>MoO9^I|hbVlGNvU(Ouh(9Sq&DRQA7GgNrW-X20o$BG4AcE}EN zSZzom#H&&O)%+e}vEPimZ~{QhK%;53rO4SZ*N`TUr;!T)l>eUVimC?XR6uRP;V(ZA z-$`YJW~+GuUDOIM{sVEKGJvADSu3hAZ0oGxt9ex&Q>8b5k0aYjERS_;A)=o+m!cHu z$^;R#yw6HATEnO+SFD23{Y8yR9Lq4SrfI}MCh^2TDK!^S5jt<6Z}NsRlQ`GWR?63f z($GyRZfW*98@=$9?9ok4X#gfWHpCdBc0W(?h{M~3gi2ut?SxOY2rF}t7kBxFcr|!i z%IcN;PBDai3FQ#GxmEsrtxD$7kUkm3og=M z%AtZP0xCM2F-z>)ZA=-zAvOmh3(racXVbrP+pwcB0tQnegBqiBh~bAhH&sPJWGET? zoKzISugOr1`cO;$eH3J=Bakxym+F*N19Zby35yUP0pwpZ2&0SG3kM1iU2bth!7s82 zufIgQ#4CFu@1m@o=)`{nQ9CLvgAxV;ASWTvCYQ$(CWYrRhtr$O!wnR&jJ>m6rny7y zlBVAyrmG0wSgu{(a?gqNde)WxO4}stW5=lm>;*>H|Hh->$+5ZIqntWa?e}`D`Xh~=B8tcKL0JNW zu>me^HJ~fqH?z|=)mlj7goTkf^+tuLsVtFP3qoAS50OvA!8r+#-6A8%(v z8DCCcasU|&$O(Hln$>Ye7q>=RWi+0IelWZ+L2BiJAC@2b=9Y4#a1i3(-*!z%YMs*x z7!~A$<8N+HVI)X82Q1k6mORR=_Qix7 z@YGhrq~IMv{IKeCub>vpbIk_po`mj(3)t^pEPp^`y`x%ZIWvuatOCv-rJJ5n<3_LD z1s3AC$mm#^NBf&B6-RQazaXQJGjHAVOj{~XT6t9LkO%^A@)ZR}=XNPZfZ!A-ZkCA+ zm54>8n?x$5Ef)F^q5ii-Eomyu$3C`=%=`3Y;?%GlvG9tOakJ4i=*ddOE2wZ6OxL?A z3f!W>1S4`zXER?Ph8Z|Bwf z;FirI(OQ8IU|zhojp+?(20*hc?cvuVrQukUu{|$r`h+Y>BZQJ9_NyC+Mei^pIH@)j zo@qA?wFiu)Q59sRSYayg|6NnnY|TU8ZdeFwa9k#+v7###%lTE8R7mcIg5hXVzEKV7 zDO7R54zkF!;?${DlU9H97$EHLXVIk53;#03UFH)dz#M@^twZ9lbLj{vya4S)>r)yj z&$)iMJiJMjr#Z)z14872@oPllO<^M;eZH)Od!6p?h-|u*Rgwumm*2Y$`1!vU318$> zh}1uS3q@ZY>CgV{CC4lVgXjf0$uXer>l9Ucm2NE3R7MhF$}+bd>M!Eoky<_o8yP?i z7TXk{7Ux83SlEgIkI~!AaWNyomv^Ci!eKYg^5z^7Ph6Km)1c-{@`XTz`~6%yt|b5p4UE2zvF50 zATi|+fVqtkzl)Z$A7d^+38K2$wzQ=G5n6PB%Efs67-gb|9)KnNb9Z5IFuuJ1=40+H zr!FUsy>w#OpGuOiVHr9;SzVF}F|u+2JXV-!C$6SsqJI_eYxiw$U1Frb?t9!0l+kq2 z?2$n*Bdb*jm`BcG=z>8r#E>P}4~ZcuodEbvcuOzv(H1mv)B!MWSb%uovr=8fWtS6a z2@`|1jdA_vrNmfIAjT35b_qRnk6@KE_wjA5L@K<%vOXLYgXfSXN(VUjOCa@c&<|Vo zsOo;;tzb;;4yO3AB3`_*PqReQX@XVM(CF-C!)7uW{_PsglACjG!Zw3JK-#*%qTAO5 z$BJj39J;BSOFESY-vcm-?^`w9_b`$N>fIrjIWp%+Q4^wXQ0@nY>EjP#SR>f zJ8}VHis7RM+RU`IS$weiHH};S=*F_Ah4wrNJqs^C!1u` znY%o47Ff^*6d8j&;=19f(zU4Rb|8q32N^@wOd1lsQ!%4*xbY>dRqGJ?Y32@ z3{bd?ws;QXj8Yr+Y!O5+h9=OLq*k6GQ*%Jh%1aP)r|&;663-N(CMYuVLFeh#1~MH7 zg`Qw^W*%Gh-+Tv|oK~SJV`aKVhkoy4i{n8vw1Cm94m39uqpjNcKA1R46(;}bMS;|EtXJgG7>REU$YVu4@{L@LD@FS_kz~SuJyXIUW!`7W5kr^W zZb@89XRA7NTB|pmwOBU#BA(>6PP!_|Sc;KoBoW9OA zaPDDKQaL6dNeygko2=KDfFu({07{5;&RQNW0bwBH*ljVktHV8mtb>_U-m7s|#otkO zCNU!_M0;&EJK|qkus@~;rEY2#;%=IgukfOoZzKHMVqXkEqA1Laz}OkTxfJL}PF9Pq z2FY2`&rI*1cTLlp-8$TZJ)ObTmgFvO(b5ZAievzR$I^?=hDB2*e#*7aS^Nmv5fdFQ zjn9mh31zvnSSyk}WfV;*t(5YkHwvF)EHkYULt<(}J|?AR?#1aFcZNc^G9i@*%0P8Y z$jQ;*m`B>ztIZ+Z=iESF3~lrH{>-oA`DtVSY0XXXFv@aczzRU?=mW@EL0H~p()j?% z5+e3M1$#pU+hcRWYX8``2e1}9X|CAt?5ghzaCp;&;tTNVIrU4fz*vVB=w~~?0t_?K zkcXVX)^cbE58X0IDLsa4oGm1|Q|KxK?I;7ad`2+A^_XBZ>S?UN6OX80aO$tosY~hk z{(65b?%uMo>sdp?CdI3ATdT!2WO80{ACYeaShpF@d9kxoPjZWUj%SFLu?hfwIawui z4|5}UsnsOU06&ABX_DU4ETLzm$}W-I@T(a_KXTYK zuXQC?o@q$|q^s{XFEVn_4r9JqmwL&-NIC*iL&eU~Q0NaJ!EOB>T^9yz> z6WrQo39~nt(PFXut;E+QXmG*0F12|_p?|}JWYW_d3uMe0=2nv(6#pL1Ub8s-w%Uf% z1(vSbWnvVx8;x@{*ZkO84C1o8&KM%U5UwFa^#D@*#{WkI!PvtaZi^8B;Gd?E|J+Uz z>-V1=yZ)=4#M;=*#L!OP*~spn_MHE(uK!DI&A;m-s9x5-U*M_&zO?dl9btyJ=re(9 zurULxL+zL8f(pc;jUrSesH>U>-Oh9!6EXeiB<&WYo)XIosm#Y7$LY*!aN8AmHr<*& zg*)`tU^*BypNR=A_K+S)eR>2Hf5F0d5jH%L@IFNAqWV1#e1(vB$VyN6zaGQ|UG5DI z=mUn+eR&YFZo0ug{+5veVYB*C!1;DD4vHOc2;0Xj+zyd?^N_lU+g%5%yfbt-a z5d0D)@@}ju>4C59L9K;K{jp1-hh7gHc>ejZH0d7%1m|wwu*_+9=l$=bWpHgJl#6uJ zg6Jgum;rf^ue_q@obbG|`LDQdt^MzSZw=+u^j_VaM}b@XgZWrOznen(E#+X?Q~}e zWG8#%V4?bY@8aaQ7lWrXAlLddu~}I85}Bi9jSas zB$TU~gX?4|@ql)VF$#3IMzj3APwHq_&##n?uJ+I4O}Q!eV-L=PELFy(ax=SMur#Xd zZiN-C<_IQ=9>YwDFHSVcvZQYsOPvy&%L!queHn@*i$~yqmheJ5)_{K~-N-sfr{y6Q z2+e%UQiFid$qM?`6o2WnI=tu0j14qjK`kV;oaJPjb+!N|mQk2MZg@0^L7Qf3TT;vc zGYTrZ{&2Z$H|B*6HbAP#bp#Q5?MaHFF^2Ze`(Su_d%BK*U#2XgdGaKaYL-kCrHr*$ zjVdyCDLrENy>oLN2b9WKe?LTvP+i$&I|<~p;2VR|dxvMisTB6YDv8L`$aV{p_NOL0nM<) zHcV4~3EFs}k*&g)#8RQ9ny-EAu(Jst$k@-Uhbi?|J&|c?tMd9|r6{R{!~m~0;EEBe zOJF<0u{rq7MC6U}E1&n@#o-5A^8S?wfR6H;*7tD(xI3@{6%v9-34_jCgihoL!uSSl zI2)j`kpETBU?DO!{p{S#|MfDJn>L34oR@CYC!`wKt8!$xrfOl+vVE{rj8+H}G+hWp zKE$j+WZJAGb;)99Zw@0QJekxYPb3p7_^0!a@TpY3w=>^I9N$`NY-8GtA9z#^}714P>$KjYv+(~o(L{y6K{G1 zs^{G!*D}B{`nvQama+H>`glSu7aJS?6^^`GBo|m>BLk#bIV?pmb@f3eGp$3JS#ou@ zze2<@@+9V@v{VL6a8wDmk_ygfer(A}6JMqbSr}WoXQva8a~Ggr^4bwNweg>&3yIx8 z(F}|txiVe?!f-XJ)qz2+Cbd3_<(ZMqJg6&xeK>b|X(-D8MhQ3oqiQs~O|~0NDX| zUmqwOa3H$hK>8)iJ~5n%;6knyzs*!dJE8f-AahF=4&_}wW3TH^&a(D#!>~ZM>1(aDB_mVnIX`=gf0E2q1 z(QKcw7q+&JuUXzY43}^zlJ3hm70d)~_dx-q4@E%vRc_o`rp6tSU zxM@si4931c8+_`61vv93+U3Y6V#MS=#Tjc?n~xHyZzQscYV&Hkh121k;R>{~} zo1a3%gf1Z6D4t~AMzYEj#e^ATv4$T_mW=?6kGj%^l0`ABNEb*sGNz<5rUZs$NVKLH z5vdXtDe^~6i5?HB6BQ}bcc6|A4=EoN$v;RWF&G_wv<5Yf5IEHB^>ooPaKMmYmY%;; zqcTPvhNOR7uG)#3gbg^<_4QOGR+BMT1cBlykW`)i&iTi;TjUE1LJB_8T0|_oAU)EV)lM$0D&*vBQZlbUMFc#*g^TL;+=Fiq~?9nt;T*0VtFp zY!wp=BgcDsMp32%7(h%iDFQH6y7<#CY*x+4&b&XsX-DM@d}ZJc7);{WNAna7NUxo|j*J7b2G#KvTUKKSqhfbUpfw zdz{M!{RM$0t{7Jj29F`=%2|!VAHo_XFqos+QJR*`#eQ#Zl7N|YJay{>uM(NawA2w| zPb7=~=k-P$vNXo7G4bV(+Spl`j<)X;YUf(q#^bKsiwR+KK)vc5IC_J_$l%}seffQ) zsLg{2*eGr|EZuqloDn=eep_^pB{9OHBXWa;lAMCIq8CsTUyEeb-qj}JN0E3#eiM^Hz5xJ6kdMpnx*4CAcd_&$bnuR9s*IfdLOk5 z5;#-(0YG&~A^;9!R63Hv}J6rnDE+> zBHe~nC=(FpFpK~4R-Y0san$rxQtRqp1v!2(J07Y<@Fx)r&We|J0nj6V@kMY)1P}z3 z&vy-cV_Ngvmx!#tauVA9{Tq&_l$>nM?WsTPOqx~2X&|@IG|##v%XFGXoP~Cnap-I% z1-4kXn!mE&{|4_={KDnB&-*KIxMZEqEY_9Cl33>PBKV1=ZAl!;Z{mR7b*nnyAa{U*2oHN1~S+E+GRz25JbgNSAEXx3SJ*(y(uiM(t`FR!f*(A zJtU6o+L@(gO1*>fsWsdc@~1JkyY$Cg+zn?g_sb~P=6X*)=SC^+Qq8T^XV3Oq_o38D z=5hSCuV_zD?@=l2NK|GIJM;lKKqtZ;tBH&-bGPs^$Y#RDU{2|iUH9q&EuPaB%goz! zeIxPF>Kfy{WhJIU1f?fR%kV0+WM|Z~y$4InG@SX9dByBTPqV(VH!e7>i2ob_AKGCS zgjhF3>B=fNUfdYA+fMwm2%O0C$s-bfi^?cyUCH|s-jpy{P(Wa&fm0;H>j zOECvF=ZjFN`X_mohEa(HBUeZh;Wy<57;z=(evDJ(1;jaHh?gd$loe`pGD@Zo-KB?A z_fID8kVNIFRtto3!%Q)K>n%*$uli_YebvSn#Lkfr@%U8++|K-Bi~|yxQ=k|(8${eG z2&=cM1!})1atHu)wMh=p<%H8?V_N0cu$oL;>8V>>ryW}NLpjB4B)n19hSLkE?g3*Q z`%idB$xF)QZ~0_y>be57<{s7;W%JMk@w7)S-m)gZvC`dZPU&J8*KGS9Zs*S6B|v(l zGmf3XybUzzMP>JB#oH%rV1TH1-Y_k#dory`ms?ewXWIQBKvu_&rvOm)FUbA)r5lPw zUi2Gj*OG~%D4MaTys$8)#(`UPHId(J2d5ItDkep!$cu8Wyg;tqjP0q{@7B7`4BNpq zQqXPsua{R(j{SCZw)-p3ZN9Fx*j}AeI=THj#W+b+nO^*t2dIim%m$^x;<)Bvv{5)L z6^pDgIGW6&8K=YsJWAqC%&dAtK%wWApbl%bS3N5CQ~gFbx}5B3HWeztCX5=8L@hLYS{JQOh`RtY2E(15%|7b2gdzZ*r z&TO-$Drrm1pR;8!End6qyw6u$FvYR4cF1Af(7B5?AIC9zmf1DJ?H8=56kaR#C07}` zLqg(FCoAss2KMvl3I$W%mf#K&s8|{7e297*)&pk7P?t|V5-FGoJz;%I75XmHjvMwqr47?F?SX#x&68iGn5OUV$V8;@Du=_ZlU2i`qMm@ z?3RK)yOLFNCs{d0YjsiF+UAKwgE!-Eu{uWIYS9S{hfadNn@_4i1?)H}dG_ILy2y5-%!|BoGDN96A*kFa!O%vz zi*kt+0?Bn#Hms)%_Mz-scYYs`n0UJTJ!usmuYnlY)<*Y zs;}jx1;=)5YzeR-%G%a((M#G#spKS6gt?PleKaWRu)D9r?DuG>&6s=t^}oN>Cz5b$WkLvX?g8hP2H z6&%0IA3U4*dB*#52jA$kM3}bbJ^I(x3=)Mel%h)Z0vJV$!}yHEFp=?->}bV9X)Y6! z@x-prAH@xD2)m5ZxqbuyfPaXQ|4fY|3`HcD@$7Izjjvomj8eFl0;SQziSLA zp4AKAdat}JfI{Gbzi@Ha3#{lf7lubAVbmipM{Gq_8@~CxLH0nvQ;2-+tL>*hIrv5| zCo9{IuzSmi`Yi92vq0CFI|V@)=O| zf`28%a7p<6qPcCa011k2W(Sy1QKxx;@^MBssP?Y(m2c>UR!`vtP7FN|jasgAg4T-L z9=q1K_D~?NETLK?z``@YDLW08W{g+Q@OuIVvl0Qm^THE}nOss*H+TYC^%|s`YU-Wc z4{=XFJw143TT&V1Rr$nktKKRPgWX%YcrsZ_v!UdCTv)YrnGIsqI=C~&dAd0o)9O&J zt77)VccZ>;`eJIUKGvRYosz5a7Y@L*g9X__n0n&?6KJKsMAP0E-FocP<#<-dg`UeCfJkEN4w*kf%p(f0u=gL@8sRI1>J_Z_GqN~{^?4rHKxY!#=}5JE?lbdqhaPFPjK{UTt>XTE zj!)6KwD=rc)i7=Z=iHz&3x?a+{ss#!Q8VF`?vy_nm()0QR}GQ`3HxVpNMRQ$h@#SH zoJVT>!zE>+F&2Hbt~Xsb&kDsSqEmp8N3m{|SQK8GyNOxhuAa?vBaSLrWd$c7PW|6v zZD$_xXy*@|eAF5xL)|#1zqnv{fy-HR+~8{Z?xT!;lR;G@4tz>c^$Q}+165{QTHim& z0f(S+wPpLqvil#r{0m9{(go^ucToQ5s75LH(F0ok*)jg3E|Ar~AS4>S4dusxBX;e- zrGMeYI#1FMT6kHOMR>%v5B`oUB^6)K>d}F&qUFe(%Pz($-c=HJ+gP=b!0$EOM z0SYv!7^&cI$k8j|_I@YZ9<^%%fA%s-|DbUXOsZnL6;D#Cq(H1mE$7dGGCWPU`aRR}E|ABFrx(2G^el^4D4^|KNNe!*j7CD0mu~9ho0Ob9 z{p`6G!_-Tnv}Lti{&+@4+mdVwLC-9|b|1!!jp|6Ee(0;LRTF)ETeA{SrobAb1lBB| z6J(MsXa`;}y2E&3o`7Ugt{LA8cbcnPHYeD@D_lT`QlFg4dyM>$tvr5ygziuF3_mX3 znZr(XD}DnOXm%5ph2B$5-~stbe?iCobZTveZAZ{`V-1hyHsM_Mia(NdNDn@PFj% zFU$XN3@%k>tv&) z-re42P<&R|>6RAX4sSV;%ZAuEgqyPoY^iAtRryCB1eV7NX*f4@OFj8@LTayr&*&N< zSvka+RfEuhzjp*fj;Xcs;l8MkqElYWb1{Ajfeg0@$CUQ!rqC4^ardmEg7$hPUmB(x zc-p5K3%qoF1pcUwjwM?D$Co1?W)NRcs1L2QBBSA+CywyEm!JCzv@3uTGpq|DVCIQ~ zI0uddyqJ(Eth&SuE2WJQ%=9JbpglCxwvM0(EdK+u-$bAT!X!%bwrWx+W-J4> z^P{_~IhwM83Z60VB#{7=u~7yMr+vQyu}GydCP|a22s98Hql17m^t@cUXp}0-COO_Q zDlRr#5`d!DD8*X5XD`4XeGTK#m5AxVUZY?@;39}#w`@b=job=$_hhYPIT`tc`ch@C z5N2bK(ZkttIwX^VFlGH|3Y(+0?1ZjF#Pc#m9?!I_`@`%F1KXe?1;O|gdtl1Z=E-uL z;v*K!zx$_{43h{w$b&Uzz7|7uf<<(9OrQ+~{yHMhwWk(8tBf`kyyD9 z-Bn|Slar`oQ}ICj8DENwxn5J-Akkh|QjvxHYr&M@6^H#KFtO4eKx5eD++WKDzor_7 z+GA!`^f~I)+gL&I;(FYtX9;eTCtVDd`ODZZCEFrz_^5{GufJ?!E1S>UcGXakn#VHa zx1Mkag5?7YwdS_YW$S@KD$uezDsJC2Y&;p9w2kf=9?HjGi|(2)m~ka;f(5h}0y4QQ zWpT0U9e9Y)ZJ&(>(1N{A<+?G*BOhc`ERAWP4>ANiLmtS4-G6CZJp0SMCTzhg66^03 z2^#%Bk)ec1W2pK`=KtLPzax`?mC5!0sYAI0$hSBj^#H`O;Z`rl!~ zFnX5!9}<0Mx~Baa2g>j^_xyFw9bQjeuYS>LDof$IrDQy8L;PlP1Tav?V`Y=C6aVK} z98A~9QZ1sH2~#h}Tjo8#xH$Uwb&bFF#o+Aq-|Y_1`>W>g@F{nTTTk3K&A*tB*UlUc z6}k$?dwv@;gx_18E43D&xbCitk!(vy&pJ!I*_%t36_()l=by=s%-vhi9gfZS_hsBC zPF}Ow@8wm-X`53=W#J>kjfZWjeK1vRm^^1srN0xkz^nIo623ghbVFm_1WZQsN#l^H zU7_<(;7CP0873HlixGw0J7Zf@z_Ip`Lpkcc`1$uMym@3qgw%EPXRgDoLVi){`d zw%Cvj&8t)VbH;geqg<4ul&~qC#?K_KSO7ysvub2%ouU^-v_MwPq?IysOyHk@r^QAt zwNe74b2hv>OH8@vV@+f4ZXzC#b$oYCMFtvjE6!8>*yNfS6F491)8s^V7<+mXvotk#Lfc6&z`edL)|W8i;K3Gi0&eki81u>hk>(n0O`iF{4#62=!>J_`fAmaD(6syNldZDUD4O_QLI6P*%7SlN1qPRqyw zTOZQdv?PHO5XkXJPlZc~N#q0!&Ob2f4}Xl_WUNpoGM>EglnM#+4_Wndfw~d=H%j!{ z4=qatLPw2Y<4!sH{T+VwiMH0VP)7PXba9;}TFCN!^37ZK3vbAWZz1S+|b z_KO)I3eBkl2#57Cb)2vNgON6uoo*Tntu;gVY%J9eqS=8-Q@>;^ zo}Zlk{;R*in;kSH@_P_k(sdbD^?E{DuAIWzhbLb^-BYetf)rDJ2b&|~RC|uH6ogB$ z)NTiW6pu17MUU{UPdiYR9;gYewljXBU8xRGK)3!0AlK0-x07Z33+)-I7pr|{#*Ruc zC@=u+ii)Lyj-esL5@4ovW-ib5*^v)WS;`rEKdW0qQd-aw+$trV0Ij)pXH2Q&$C1c9 zHz$Q%&_93bwMO|EjiBZJG~r-=IU2t>{%ik0-;NjDP#^@@a?sz+9c=Xm{+vmH4g|P} z%cn!gqT$7N>(+Jo1qRN(l=P(jut6w!cl=}0 zsnL!^7?ZsGHU(KfFd-f_G&2v-Kms`VP=nj$Hx_-o#iBd;K9AWihq9+AHr)(h!*y{z zfi}Z;=sLxB!dM#y)t2Q@Zvf^XCDcm?BpMP;tQHLo{Oy-0{3-U8!I)rW)bRcNpBc1) zk>4d4lhRB};d@-7ZK!!!o@)5k*nIv8fU`3aowr#0zD^d&4O|Hmc{9YUk?r#VF8~UXA758~UKM|)p%W`-Oh~x2 z0~l__AW$QYjpaMA%y^@(|twK#w$r{5>wXeZ*(!l_6njT5-;+(y|;85^JI*i>7ZlNphz zUK@HxLmA`BB@;t{EcD&a%dbF7SKIrG1+C55JF{ipoSSv6udTmRAKZ8a99P!yJ~P%N z_~<`9`I`*DyVdmtsV7Hx<7c7ZagIN#$v#Nhc~TWU7^BN47^bYm=_(UL0CjNMn@rkM zfwvzW7NH6rf?_$+F=2snIpCm&qkRNhlrMNi*&}*fElmmdCjegXW~)Qg+X8E2{~U96 z=tE2yiTV@tNK?Sp!_S|07dO|tnmnDp311TD^Z;gIPIn*K_l3hpKycG$d43CWreu(kyI&z1{yeRK_6KFZCXEnlE*TjZpUQeEcZ?{Quantz&m&gRle6Q4z zfPPglUDJ2C63deDpXKg2fuHTD z?(}P6n;bWihHs=g*8+9Q%do48bG$GV{r9%z2;(BLAVIrNb>=hx6P~*wpZOHIzdipm z+s*eswUu_Qrhgv{;9nK=-?bH;%TV~gYpWhS;Qugn|37N$|E{Xm$4-j>LsgyB){b8v zs`Zpp`2wz&V^={G^*|sft5CkwsLKnZp-i$=yQ>3@TOlQi%YnS8y3oZ3UB1lZ?^Z^4X8>+!jPIRQtX%sY4j&ux` zr=Fjh9`#Ja#nyUi88U*mo0*bc0obQ^0SJz&=>qR^Z|_=O;{1DB&Yzwcw{M(%ILc$N zr~_o0y?uAgpsY^(n$OcM(S^bgx+i7ZJ{sjrsWn4tKU@g%wf4F2x_2)%@y@tfbbDdd z#y5PtZPL9|RSfO)?i!n!AI8TpkS5qV-!Opx+1P^a=VDW3&rg7}s*{ z@C8Wm!VJ(l6IIlyCwT@Eqli0i(p+9a^wIOYg#-MqrGOfZ6O97>>_PR(Ob147Exv3n ztEjYr+^FypP@}AY+_CUdaP8+@Ge;%O)r6M0^Q*kB7?i`PP$eNoEsKDqnulDw@Uk~7 zaS4iU%6H(``JR>p@Ta^G{_(97b>qW@pqFOXd{XQB^o@EnS%S}M_gr#QU`F(}#JkhNCr#Qe`X)f>4AG&h~H81vGr}lONC|p3lI+@shdE9ELYFVaRO1xkR@OzfjAhVt zfD~9@Yk&DjunyPWq^|yIk}9iR3okckNXXukaqFl~<#qa+V;mf}{~)2M6%bopqJKnJ zZIN8r|B|Lp9=wMU^V62FMJWMsyv&0#&>=lR0xG1f8(9h@Kh-?ZbfN7ruPsFppvJIW zF?_$!x)|e%drps&v2C~J2U6_{8N~l9m}UrA6YgZ^)fG9NtsufByT94Ltx4^I4 z@A2Cc-P|B+k4LAtgVRbM0O}^pe^^bG1i6Ej-2s);G~Spu2ATgEnsn|Z?VsOUcY|{7>nu5Z{Ys@6c68EDS)nXpdtZy z4doLSRtOvly9JRDI~yvxHM~FF=aaW7848)z4Q|L#! z-*ia}WL7<2BBJN5{J8NAt6>MLlH7PGe4xUCjPqv!5{%#Jgi0*avaOx*kz!ow?nte! zy^3@KD#}MERLG*1s_C%o&$>FZ7L#vrlu74e28HnvnU1^B$$|jLp;Ea2I zX8{-u6=H_+GUfW*`XUgE@+kv+#B3!y;^pgNJo1UyN~H>om?`tnfsV;BxQY&WiMfJU zSfbvHI=sD-djg>jAw794q3tz>NMe0G1QK8<{yRV!Yhkck#V%>%_=n zNfxq`zJ_q#b#B5C&%gTB?@?nTLIcTeFnklZyQw`naZO7TlkQZjY>wum3N;kT(1aEH zoc&16+bz3U8i?N(AvBYh_Q#PZ0dB2~nh6Y1Kxp2^Ub~2!Ja&9C`Z}n{Fn3Prx~C%#(Fk29 zRWnFFAmswKpJGZkw(k>hK)9!{0jdmrFH31`b*WTO7+**z}o1h$chQ^n}eyqZYJ- z^JB4_<-IR{`%UxbpxoZ8hPWL?n|&m5ELM4wW5wqY?eVIfOx#OM#*IkmXaW-91J0Bw zakADAi0fg(T6BP}{U|;s70b`jD|ERP>HreR>L4H~m6w{0NnqR0SCL;E^?Yj^ zA5nn3=-~3xSqu+_?WG4&1?0Mn>f!}ZT>shPEP=QSNxLV|luK9VXsTUA_~YM}G2ZGk z3@;i4`jmvLH=VQO$S}Ip1SMO?4u)xUUA7`gcnzlf=Uo9@^U49?*QEZaYV(g-Fb^1x zz6;(?Pf-Rx@H-lh5_c)*HEITN4{SONehqNW_*Ka`tMlX0eOi$x2ynxAGe#Sm4jIxa z>)=tw;j6ayI`@wIC-Se(qeTGp^H)=chF5x&o5bxXSh|rLNO6Ew_&1r1j93GkLU9Er z4)HL6Yg%_uaT7p1fMG6xG{02f6Z--PX&e(Q3kv1}h?8+WCYuTrQz$S+m?Lq-!kY?p z1N`cE&&G2~zKpj>{ZAA=hM{MafIC4Gq3JCB;?|9IWkCAU9uJ>yO4_GUES$9UEGanZXpsa>za`KgByQfM{9L-s(8*>iEBO~)jaZl6Pv&NU?EM^T^hgd~ zD0J}`w-6mXW`e_k-GRq4=6QfBd&o=*JWz3DX$9^j8MLD!nj30xkmE1vR;y#_1!-OMd2 zdd2bQ4kI+rT9rM+PN~2K%qO7--N%XSdo(+1sJ;fsy!u2)AmTlYJ)A)wk;@*+{(Haryw8 zxdfHW@yB|#8+&b=RG;-<57vxqzZfU+d_YPr;H~IdkFIQ8@u7^D(*xuHpC3HPFX)>ywk(^0#sFspJ;;W(Zh?JA(tEu+TF(hxei8b1# zwn3`H-8^TCH;lF%)9FW6j=m_@x#sLCqr-ErnHd9K=L5^RY`9I!L<4?t(r`J9iU)K^ zzjW6b5M3O{G&lR3j?OCMc`elSmhDyXO_+yPa}7V_1&X}QmDp=qpjVg2IBU;&A(s}O zSzcVGM83go+DsC*GwK~5X)dfPBkhcb)k%ucvvAeVB!b7`MAUQMtP2R@L2bledL@mH zu$iN4jP9wF9udOM3W#oUez(3CgYA3uXQz5q4eLFLrW>)hC0=hF|ulc9?a!)cmhX6iuL(2B9APEL3UE^1D)A zq#JrbdN)rBkj-<+If3D-$(Ozct1nhnLTwouhyp6%d-E~NxqgcjDiP$ zf?I%~eKEw}AnLQYT3l{RLQq(&_^*jQw6*_Pb$dY_9)8kcu}eJOwXPN~_4>f@(_iRZ zw{MrvC)zE7SHi99a(qMIwC!EVDl*}6>KHhYsdBnQ(d1iZ*Uc`N%+C*;I!t%1#zDq| zMb^W2=W71W*RSkqFQOGCNB+q}-?inJfw~N#yybBWhWSEl4!sJv<*IX9l4bkYs^{Iy z$L_yX-QUL-`^D#S{N4*JOmC%I=Jf$A!_*x3ICw$GxS>16Uh!oB&cy<1(k;L@U4%Sp zhso^t-d$erNBqm#TOHoTvj?^7{FTghwR+UCC_3$(9bmr>8Jo%rb8AIpZTKZf3b5r* zRuO)WXv^@z28-n*`)qZ*@AC3J6by5}^8CH8=Ss0pwxdk#&&g5BB@lw!UxDP{W8!+&?=Iv1NK7 zv)HfjVQ9m7R6eoh0DS`r zz0#y}?{aTxUnl>hG35n{1;*U27t2XrQ5)=Oo*;OIRdVY_-1|ouu8; zLzVF-vIZJM0U$lVfVJ`Z&Z|Yo)?zZjX+|_G5MarS`>vE^yPN((z{HbWiK@;IU3VORR!qu*f|y zRu}#r#~FQ67b3h>;9BdMo->?Y1e{YaTHs1z2ppbwH2H!j(6FoDfuw7=pt4LK0%5u% zS0KC0LqDC zW>jQ6o-}7Zu#R!00GsVgUpuBm^~vNT7#hLEbFlr~{c&BCSmjA<>{z5H9x=>fJ?lV+ z@P!g9bY^KYBqJZz>oD9}zH)>^kC6Zvqv+usxLAIO} z_Hx?aEx=KzRv(sxN;`89;X?XsOyz?P)JQTdNh$-ud&`LQU{vRu7dVk*vk4<~>PHni zcE;?Xv_cgAI9hKr12gcr;1Pz-$ux^GqbaWG_wSghWcM?`-V}g<0WU*>F9Xg7{u9w4 z{=Q1Y4Y*!Kx2VWi;V{82=$JdGWrby90_9+ejRw+nXXPI+J;gkE9|+Ak$pV>d{uj|r zE46khsv_AfGjVZOpsp3)DVi>dn!~?1ZHo`M0-y^XK^+c3Ab@+YHTmcO*vKha9pJL(z|4n>7WyoviA0auMMc0ApNu`u+%&-!0bFRMh6RY>3-3*+${US8;*iku;HF& z9Zo9CFcc6l6iRa}5=M{pTq=B=^HF!%us?^t;%^>5I6|PhRI@Sv%o7qErvYgiG z8fX|tJx>=U!m%4d%9E23L@O&=rQ{2o7n__t76t_qmx2WYmLSAS0M zU*Ls;vu_|0qyp(b6h_7X=qN3Y_aOQ;Fp^>sJFo0r)Di~BH^FU= zi-c6r0WoYQfK}4&ixCQk5TP{(^xWqK6uvt5K){(p%m zqA@x@O%K2ddwb{fq|B=HBDV-K*i=>oPCN`@;O7kW!}A}JP;oo7gK(Dy#5*86NXXwq z_E#U{HfF>ncy3|`7Q{8UQ0Vnf_3PfD%$CS^5L(=}%c4~uOWVXAaxYV|Kk zS6Qf~5C0M~TMr442FYjrn-OE8M+ik}2tEA#AVY&u8k?`k6dSQJ#hOrr7CEN>dkdhtvZi4dcXxujLvRQLcZcBa?(XgcCqNS1U4py2OM(S= zcei_(`R1L;{Ns05HBd#>c~19UtGk!Bb8yEBO8-F!oCCXkl5iMh-GCssat9bU5WC{J zE^~{X;yF~ux=b5y8s`%CYMFIuqJnpbO36EM&6ct>>_<4bKBq`J+i?w$j z10OS-M#l23vfmw00c`$$M@C$r3yB9ATLrU5gkzF{ZqFQVPARzVI|Cf-d6C#T*S_`@ zKXz?n+X_})8{nDg@6FTX%6*9%vKdD}3W5^x`x7GY7SOttf)SaU3hv<`eiltPU^Af|j0$E5OOpiP~ZH4CA9#*F9#%)ldO5T|(Kx&{^xT@3oti8a@i$5yp{&JT2|JICt-t0wZVsGPQ`@eOgygy$z+SJ;QU#LZX z{yx0nqkBp95!xwhDcmcyA!MWBYSg);D&D&>lT<=qIu=HJkp%nsxaYGg>arfv=4eU3<&^6w(}1#x&13>w)w zyuD`i3m(Vvf;Sc)-d4X|e(sym@p}AfA%==U*STq8V@EkeOJ}=kA%r`Ax%Slz_IjcB zv38X~ph{v`Q zcnpkLsD<=q^~?JzG*1Y7g5{)b;LnNLYT%GQRNBv;>${z%WnqU-p04Pr z>>VLzXG$OS&z^T5Xjrn$8nan$VVB@3KY&5U{l+^fpx!OQHm_u^s7AxmS1!F(H*y7Q(#*}n9G4Q5K|FrL}%vy;2z5Y1bD?C8UuEK1UX;w(9%(kzbPns9e7 z0TsLMu~}s&;Y8~-$J7b3#gr!u3dL z`_0R+@S{YY)m_)(VH3Me8Rs+CF7$f8@k7L+UW-gtJomh)-hd%h)d+bQ8e}Mq4vc%? zBe){Tw^)h0wLm5K;@mIj*vhG$UGMklP{0rQBdihJjPg0?ashFqs&vrs7GQ7m zFhyUJEvbCz@NcbYc1i&nI4NHXL_h8vV@x}YTd!%*G9SnEow%>(0NTHjgfgML?Ap#) ziI?*g9aMu!&=4u!A2i@oAsk+T?dk7_oSUM$#b)bwJ)iitLM1$WH+I2L#H4KIpJ@k164Jv1>s5EZ9+W5qls12 z-mni^9Sjn5PmkWH;Cuwy{z_cmow&x}#;f>A@2E}<@D~!bUiHtU${o@Hqof3h80q@2)2v?th7*w|8Z55j(@8--hJR6J#WRS3~ zMWZ{Ua*6u(mDX+D8My@6=2u0fW=X_G^PdMN9s*OeS-5MV$W@p4$!z#Ga);bUl# z8(xCnno-Ume0B4+A?KDHDq1g0CW~Z5ikkU%o83C8{A6n#pMF zhQXg}4tp!5Q!5wS(3Q^`BZ_w)qOZt+aZTWl6&|dFWSs`Lni7;L+cg$8Big4P6wC6` z#J*dzY?!4wwe6G;ii$<7FkyzA$#LzNdcI05W?02RQ<3n47p&p2>HQ;BBc zCMC_NT|zi+6SUcmz9Vb;Na26e19XRjHE~K@D1edYC)w-1xC$&Jm}(?y{cip;7ETYm z{NvK%N{}-o3SmkxfJm`iT2=GL;h!q4FK^lR{s$+d`kBVPA4(|!3e z>}(HKD9B?u5kmK%%NIK?7~#+D&lWM&h#122MiGlElN_bJO-6$|xaVE0D9(oBUe=L* z;Md~`P-1rQ$!@?_+Bn37C3xTo+gQAfbsu}at=O*S5h87`=l#u!1?aof%4Guhu?KI& zheJ<{l>6-Ss)#DWovX2cqoi+=Q2cMJs3L)&sq>I`5X=41MOz*PvXztDqLklgR}jYC@xBz) zWwt5=0oSzkd_RK^tmTog&}B{3Pk3y>mkWk_9ag;#?f8+1Gs|cpdbi;M}YQ6WK zB)cq(gL+%6MBIapBF($8vH9~zF=KeXOI_=}lhqzo={7f?8t9>C8eSY2+$TyVT+N11 z0&eqeMDL>RV+5^D2CULoKzu#HQ0*9Zmh9C#S6jMXcH9tJco13$0Z-l70cA80i@jKm z@K~D0kQI@x2 z+vtBp9w`wGodJh#e_v=E*WIH4IwXCG4Kj6%3kxUO2JuR@iio2i3?t3OgEHb00#thf zTCX9b0t%Cn6U%>L{L3J>cQ>pjK14MS*5zrVYI|@5=1Q`PDmb`VwdIEpL_Wd`Sf^?2 zpxbQ>0-bCcF=u@!C5IpZ4n$7w0Vd;9j`H&GbrqGMFST#<^_ZU9)RGBh6j52)JaoK* zk=|>)MhaDX-G2E>m+zJ8F?fR^R>Mkc5hgMrzDG{uY3 zSMO>k0vBrFclRtxJEdKzXyL1pd=>D_Y6%~-ZSc}g2APUklg3byxU)Rs3<_pVM$P+_ zDf4Rg+Nl6;*a7PsqyI9{-5L>n(!$wCMq-H`JnwHd4&Y+a`?YEbHNgwC^HM(N$RGTd z0kwbDR*ozNOvVDUR=FvoK0^kb(^7sK^Xs&NuuU7)55dhBI0Zq?H06d5H^}#!953=C z$>W;<+{DT#T!b+0=+V9klLi!wfN5D}D2$qrW*guLF1WGDGn|cP^?iKvy-^%G^8JTH zI~0UFO1QdThGYU3FIG_buHhP5phHTn!|HdCW3`2uOJbdK=I2ZXi?ne1p)bIbu;sz)GQo zaN(Bb@^5hl6E1b~}> z`96zf;0LcPzh2X;pKo`lj8G}=zF>iU<8jQQ+H#g~d+vM*w^X4@Ui@xV(_P~dg7quG zT$A;C3!Q^0;F(kA*<$eKaz9_thh(1gOqe#V>2>`b7z%%=H$V?O;vNEr?QG7u?>Z{7 zb9K5@=x#tUl?|=xudG8-WQ$k7g;d-Ew>orhqg_JwSyCyPfAVDNNI0(wV9!iB?LPNI z5bW`c=<8BkaJP7G+kFDbCeZ^sv3jNYRrqUK+$)o{&fL-(o7ykL;xc#=fs)S7o4Lqz zpEwS$UO`F?PVz+(?+PA(1o^#RKflppA4Mu?m4B5_c^hHVewNexE;{NE)x$>sgg_=H z_D;y#uG@RCR=6)->;kIH^*&;1fGlqVx@28|P+#9)6X`W0$W}{9oUc$N1*qh*J(t5Z zYijY`$NohU@W?)Cv>XMVPyF#k)K8j@xpMY+ESh)X3R0#p&o;I6ONW-^wCJsJ(IU zl~Y%v-(1LM*ssz67s0c)NST+`MCJ1sjNO`m;{1i8Y9D73y3)6h9O}7#v2n>~h`n0| zFh6tHlXL#|c26V%tvF){q7Z_4WbJ|Tds1*0&*AUmldR1~0;I&zG`p@lkYg+S#KT)b zmzShzkSMnqP28J{IS^vD27EYpCR}ajhi5ybIhjihg=d0o8!5TAzLL zI=S}>&K~8*@;BPklBY_|Cg(Fn>@l;6P{&>%yBE69Mm=bm-3&3nS}U|i8t5{;8{6%n z%h$g!CAo(G!kqYxMdnfT8Q8q2Dybl@s;0XJo{CI9+`7f{ou@@$T2tekRHB!@YH-G9 zmq!xHBa~Q4HM)DD$*`lil{6oR4NiYGf@|xO>bhbAP*%Ib5)otOyyE)dz{~pgZMJT8-9?oz;|egYnR z2wGOtxxP_bugb5Cr0R_ro5P_aiauNEb6sKh*HY1;rz6`n5VZ`qYh$<8*v=lN?Nq{e zJ0m`a$kFThxr@=IRX7$cOw|IRNxa)$WA}EMMI99i{M>gyq_?TdFN#q@A?OI9BagT; zLK@X*FVvo%53BXry;~GM>VZZGaB~^8C+8%K`N|WbhgmU4hGDebHRNrZ3h@G!GU}%7 z$yVrh-*ntLn^dheHOqunk$Ka{18_8u{6km0M)MeE%WiPvs%A9W(PS2g?&duX2spDG z0jTkl+0Nv6@&qPFkbu|;1_90~D5=>uO9`u4uT@3M{0EwuOfS%i4nl(w<>bzb7)!_v z3TygPAQeA`C`0o|8a6UYM~sxy^#Sd5Q4_;6YIm3L_zQ!YpXo^_KZRX0(zP1 z`E?TLw})~Xp@D!%{_0T9?@s*v#bKNtWoes**KjS6{XXN4bvXHl-)c^MiFYc1Bvmp% zK@OPuYf*|nkO?O4JGObF7*WV*swGm^#;6AXxwXS<|@*vn`ao&_pmuRbxYQz|Ez zsuQLv7$$s~78_kTZ^z{KPCH*t|NUL8-R&jZ4Ht zH*&oHwpKJTa28wNVj#X1hV*4q2l5< z3TYilYZBE$16JOea-fc(OIF({=a6P%shI`Xiol>$?o;WlRS{#iv?fJ=+WAtU9+*gk zuX_Qr4AV;GiM}a>!!Jkh&cjhwpNa*&kt$ke*{eX-${@o$k8{(}8ZMwCQMFRoe4}ef z9iblQM%fV7vK>>Al#{VSnquEyvCLqFoOlrLwZu+J!uK7M`1^%j(4|Adcq9HA;s!Ug zQ$~|hK&j)8XhhyA(yh^L-#M^Ci2A?R-7c0Kmu4e!via9826wWeURXiW*(K$2*_b`K zw&otAfh0%uYZ0be9rm7O>9!RZNoo}(kSU7DvV1F6=+VTufM{*S=6<)0siKz5wi4}S zuDYWI=NDoP=IbyN>_AHbi&_9eeJ^hY1jVa9-Ew?g(iMx!p3PCyWxUeip>XZ;rXgL5 zg7@fz+Spcoxa6vFwC9sKRfF;E8`Bm;$i)m&i!o2Uqn6@=gTe`gHUPzISsV z_MymN)iW2p zt7~8Ot!o>KX}80Jn2I{Grf6)cG&yQhXt}>{S$^pj>G#N{d4N-VFOC1#ZqeXv%Js{B z`f|Wulz-JNembJ|yQxw9kSmEl*;0R~q2aK=hT$z^az;?^KA%cO7Mo=){T*8)57mZj z!D7IykpWM_pY&UEP|iU;*X?lx4YUFf6jjxtlnbEhR%n2OEe~!APRz`5%VORsk6J+F zYWbM@+^9xCwDP{_`k{{0RC1e7edDLbRFCV?w>nsPx9j`IaO+kpExu@vL$7(#YZ~d+ z!5^i0ZZhk@6XZP_tOSh>b(X_l(m#IQ!|Z-0(#cKsEZ_iuoqh!SG{X zuw)Tr!HscSTn5H5b~z7LsrHRc)Fc$7<`53Ge?mE4qllp{IOWJ4S?B0~+$gCDty=)X zazV;yA3Gc6j;e)_?~1NXaIcwjcT2k)s`}QJ@}zWZ&QUph-k~(+sOh4crr|XMsKUrq zTTb3mJOS8bfKIq_LBZhb?y{_EBNc27qwLlg>FP<;$f-T10CwbAw`>U_mu2BXa}qv2 zOzmK3t3a*Ajm?QzP&fEUk&$5yv_v@X1;3@_33g)s>3F(jgLbwTOM?mZ>dFlc1j(Or zj8v2wXy3VcuKx-MQPdubW?kW?)hxc0aK4H<^yyUY5jgRxw#$=+t!YLe-HJK=@M)ce z*J|j2#gOzn!b#Wy#PEXrO_aa-7F&D%r@k02KmVlZLOx>w$V2aW55H$FJS1Nl|JuHc z)bBDj$B{iAE?c9rpbajx{lzJQfa~Nd>%Fe6_iEpFOST}*tG2o9A{@jTAS_PwJ1T=N z;OazrrWKF6Zn=)RriXuwQ@X+4hjwU^RG z2r(DRvrL1v{Jx_CK_Dto>pTk`P{WIauyaEo)OsZp3|~0qT%X<+qoW(&NwlkDW6)6~ zzHHZ#fqbhU4}MtBW(|R!KE?0ws;!w5F|8$OIFzJ5G$+s`bfOY{B|*Tboe$>FK*v5F zBxJTQZbwl1iKd^k*4p3B5{5`wjs%~R7GH@Y1tUhap9e||Qar?#&VpAmgS$3E^6Y%) zgB+WwF!1cg7goHA>LTt;4R)(55^%pHUP@g0H{ zI|OPc5wkif$f^j)o4JR5Etr)SF^kzL0io2o5HjQ*1Vd(*=14?@+=EF~IxdUyAz6g~ z%lV*X-V{_1SKw|sI^tqc*sITvZ5wR|<~=12Scf)~ewPOZF?VkujU%5?@uiZxsynv3 zBW5{Qh)2alIf{MU@F&A@P?Rs$cCa}Hf^~B`G(Mtg#k%{3QLE}q#)gj|FyWH5v!|MO2b~;W2ZtoLBPB?Pl zZD)oms=*|OrFdH?^yPuAFSnZCJ3&qkFm1&@*dMT29Lo=j$Y(ZC&$ox~YTQRuioR2| ze?y#~?z&$?U^S+0X;6_*+xqF?oIJ`tSWCI2Hj)REZ9UteM;K+;9Gy?X7{zU`6kibO z@T2%c@nC&aI602CMR92R!EZPVw;_Wg30z&_91mK zSuEr?209r5j`=7trxzZ>&Xnv7fhe&sCUmbFd2VPGR+Ybk!);cM5euC4lW*zXla?dYGh(=@Q}i~Q6X^Ebf_9+j2(q7G&IV}+i(tDe+~_3 zC4&Hgp4kjJIyOqhaCjKSJ;f*#w!86j5>Gk%o$Ojl7zw)cv33}lIqJ*!@3Sl4(;xcZ zY>;NcW;yS?y(|5+VlZYKU@`%Fy2>A@lVOwMLlg#{hT1bG_NF1)Q_0aAveX>oP9lLf z$zhdu3dtiuWpX+>+jwA@Ms0Frf*3_eo%Ahp!s~2TV6rSIeb*t^^e&;{F*t@1uTSfR z*YJ|C4?Bz`_sVkH9||PfOLEzFNRpVN_Eu*yF@;OMa|3G7WA`^_oA{(256WWt5JZ^|EB1)pRbsfV&KTjAL?54Lb$w%!LxDmSz350@Wf;4mL|WglM{R9y z@ZAN{huZIY_huS5^z~G7hSYir**&ig1NreXS}nDOu%id0R-(2}v74Mtc}hLV6!!l0 zdyCRURAF_t%Jo(up|8xTMJmgjG7P>4@>}r52e;qaG3dkD!D=Ru?%t=zv>0yC?D_1% zY`6f^6qnOzfQ$*4z(a;-zV02xjF%jB%uF>jNr?DRMW^yT^U3#;N}DO+0@FnGK_CR_ zYs8t(7W4I1W}yA}jXG)Z>$p}H62*Cj5z2;&E0L$+WX6xIo5x3sh%3*P{XId^u~7=_v$-oc2-{M&#KQS-dxjPJ7mtt5e5q|RO{Lq67GAJie{%C2}Ng?D%n!jU5Z)^)rZB|Y=& zd&E9r7^JKT5h&D%Xb=j?+y_rPkC_!j$u7DSq7+4Q9&2xoKJ2z>L;(~licr&@#Xf}? ziG7^wb%D~$k=1*Amaw79QvPhzY1cxBVP?Eb9J~+nL2Cro`H0La3EgY>Qn-NIuP;n_ z%cq_AP#7&#d$o%b>qwJTnshswH1$9qK=VrUq`vh@l55ujHsnte#HfpWJ@Q`rIP_{M zP^@lKx-jU*p;7U`@~VQeL%I1D`kE85j@jI^H_EsGA3~*{SPRx*15gf;$_Wqdj>S}Y zFXv78(emOzmIM3YaNZtj7_`M!r;nf;w6xS-ty&A{13U{4LJ!M)Qh2heDP|pXsO^X6 znFE_Mp&4hE#8gUiERWZg#z+uKCqaZ1{P3&u?-mc2be>~ut>z8Bl}W%}#Dhq$2L_&% z0JXWh%y{FgJS5y$?(w0V#o$)rgvS@dix=Ncgw&&qGn84;@1tB91Th~pKahg@#qO@jjY}@sZrr22 zO=q>Pfa#^xp0P*%4)@mcRKnct+f0`l-klD__eIhmCGKUOkHAgmeb2W8TX|e>s!o+Q z{WkdPdJbbpUkNk@QWH3CPIBC4eUxUdmTScpcAoU_>(^6M~rN&ZHDxEgvU1EmyFr7{?fM@a52$KUi@pu{M&(~10bI! z{@aZCf7=NDVjP(oJ7nGY8cFzC?4ir?N<4$EDKK4k!iW`c$Jb46rr0eO`V z><)c1CirFP;UFnl5i6Ypg_xUaG&`ztNcf%de9cvYKuu$N(yt~FoCiJ$+4P}=>o;lA zVgl8$q`q1k(WahQd0WR(fv1^e;N&E`g9g&y+F{u(Zef;#e{ny%GPHF`UQG>~3mgPVM;i%q<1){{KDav~!NvxqyXds+3 zDC}4z_vThm$|g2xlw)YuYTNQQsFzaNx`7S{jxGH4EcF5>m}6^%rDnE~8HXWa{52y( z?=v7n$<3JbFDX_`@>>mdI}f!?q;-o2siM!vqy|;y)&RSsz9oH3JQ;;_^1 zJGdo|Pao(q#p|$C(Uz7zbfK(|mBtSz$qc9u?LfW4U~)y}dY2v>Ljm7qedd2_)YjzUj}o!7=J#;VPt6L z`1@PvWIi9t{>eD5M`gi!oejy0VcZAl!n!Y!!S0J4FbPf_uyaI)8euf7dX^P23RS2g zuFI6q@d|D8y zxurYcRg%E561{LR;Cha`yl*{qQUg~kvr?qTxR_rdbB*^Q0E)qJ_61#~wXBv%YEfYs zb*R#cHC_N`)R8l85uT;#YDm>{q)vCtvg`<}1;?K!_$kDHX_FDywOWd(nv}ydL74(i z5qF|6@kQzmuC?lo)9$9*Y6)HE;E~0pWDWD+f$mrsDZsSL&7@x=&4Ue%-;-GbB0>lv ziW=9hjtmfISVHOSI`0-QC3nz~EIe~vjNlql#&m<31wWwjqVPh=t5c|O!!!ywy~*qR zXdZfIXd**uV3*eQuA3Uyn=1EJXNkZX8IpTUQH(ZU(WFa!IHl$8hwy+?0h8YP<4iE| ziV@?kH0!)7$pd(j&fJ`yG6V%9!S{8}rv57wGI}^}Bq^5qnj0z%a1f5DLq57I+~j`C z!qB_BLv_UXF+ilAJ!-oHvx*H5Vs*o#n?crjGv;Z@Bh!49ru@xDiV41z5VS$U1Koy@ z=mvu9#2pGl5EMS^lal@V5W1TJBu{0-FnLKz1d1p(Lo$2w_rd(9q}X$ZLyh%K)a0)> zUxC$xS=Nul3}ZSPHWa`a>;WoG4?&=2I0SU6m<9R!fv%YfzK?}pQ|)~{b~5(froEuY z!H!yEuViRX*eeDbX;uio@hm=Z(h}Sc@~hh){)uwPqf{9P?H*`Iej~$&FWQs zs1&ie^ake*b^_7h7qFhzBqWJA?pp-C)Zx5M8|;BwMWduUf^Ye#lwHZ=GoWFHIk))2 zv)6K;ijaoBJo&=z3x1dn*)_WZV=xD+rxVj2nr?oKe+x@$zf^yJ*zKI}%_vZ)TMbs* zpDTuhY!HUv9A&N_q{M@Cc(O8efuOMlUF_pPn+qR+VDm<8+y@quCGw2 zTbfhxDSKcqg&A`ko6Ac;cHzs{9HY(4)1IGcM=(8yJ}#u6(BY)m++YO52;krjXy-S5 zcI!%begc2-yyw8<>CoVSErtO9`m5*t?KBz){GU&w{p5N7Q#145em=B6B>Ebqx#BM4&#b$~o`fSu1iVvqMmgUN-@1D0>FSzl|OJ}%gXL1KZI zKl+lOT+<%ARbzdBj)GpiaXl6!67&&8O+C&+9vajjam9I~eqPF`BjWz}|Lr0+55 z69yU%VF!bSAtJJ5Hwg2-sWcY55k0#qqwzQ0!*%$)b{MT*cFg?3(ad_*Y$~UuW5g#_W}-0*8x)jCrT!(#rP=u=czVEig;iB_N(b~wA5qLD`47;gVoTdUhd zeeg-)uVDG!Cyjom-+V_#xkOVFfjfi@>6QzC^RQ3e8>bUHNtiHMWJ0cg+-7UJf0EzmM5!p{EbT`QTG#wt4JjflZlFSZzp5Z zqxUP#-6J)^)55l0wV>h{w9K!MU!abKbKc-3EEFo3K1;CT6D?1wKEUUh!RP`C@gWSY z9VW{stAD_>S(8b($1B@AM)PnlK`Nl%ZJ8LPQF?gk1i)&KnmBL!-j8SUT9WCcclx;qF$2kcV~OmNEmAf)+jk%Umx3k z3GPK+phS8zsDGoZTwfSmbjN`o1?ej?ClkG!ucB^$#oh4AAIB?gOs2^lFHHl8jDtp? zRzJIhDf{*#N7MJR=YB2|o4QDkqxc(lw`E_bQPg051!v+;k-FKpUobyo$Y50}IT4Ka zH}+79kFo?W1}I-KQt_JwIdx>naJw(-ue?urw!({L7H$@$rjo=epW%4za5bn)#Y)fE z&(AqD_tB^+3|7HF+inSAD&<=fTFmlKww@Muw|oF3qc0ZyV_O3Q{_|&<`HQXpiIu&g z0h#%0q`;TVyz08BKbkj_Tx55S{q+a>MsYKEG*HIYrWIgo{IE7faxZIR%@KebIJAf4z7KIS3BcZm+_VD!dQ=9cS|11#L*qS_YVxoM{7DzcZRY zmdtt4>dKoxj_g{cwnKcWh&s zPnv6nN*zeu?waPd=iRQG((MjM|?lpi?>Jz7vFs8(PDBDutQKj$Ylw15V*tI_xQp##ahk;V3OC} zjDP;VM8261DVexUi*+@AkIe9-6t@RYFxC!VqAY2@|4Q0qBVQtirdEqF3X{?m#$HrC z#TMnAF$99nB4J8h0B@4O7^wr?06fjOPzlt~N42)hD3m+*5YZ&>8?G+*@6RGZ!IKvR zdQ>3-EQl9qjPhiUoCRjvhp`f){6UyCf+jIc8glTr528LQb~l|lUwt(>PF8%Xk;K$$ zqvFsb-I#DF*2O`?Y`$7$O%CS@&^F`@$)%?$;CxaPzMa7Bl8I|GPJ(iAVa5thAt1C4dRR&z&e#AKkdn5R1*-Yc_kN*iGbf7j9iuI8IW z#{>Px_oDfrk1c4FUeIJf(xl5rf$F_$nb<^JwUN|~EGCpN46bhT{7KCbimeAVPDPu+ zaNK!ZpDA=i(bCQOgt+^h(?iFHui$jvEN&H55=Hf=lGtzG9L4AfkKo${ppV$ITsqI@ zT1#R;I%Mjdxh{Jms_Z+gin(n&%NJ>3C9b#cN*mq7D@orBkInPo;!`2&R?}M%2b9e_ zbTpL28F(^__tqugSM3^s5ij*|iOT^T09?y)u>}gf{K2)JN1emVh2zy@2ZG#%oh7~3saxw=Tw~mstI_dH{zDvG=pHKrxiHrOPEFuK`EtX!j<0eNuTU| z8g;Af(y1aRPpl76KKLu>Y1EMhG}tRs*J2o*!brq|w?6R?33 z@r!mvnm8;ZH)YPwy`XWbk@ohafaAP`P|}gon3v0KB^r})Y_BS6VqYR3GLvY@C}f~q zH@N%c@tDTXPjz_X-Cv2z%IwM43 ztiX$gx-O(R#4*WQ0f%H^ovnl1v?I5Xtl(l0o^+J+K5uYDGjfwqr{iwtu#KImFsy(b zO@J6m|DBksH%q-j2rI=to?0lSp`Qfh*g;}^4_3;R(K=1tZAe9J#nv` zVn0DYPSzrfL=Mt+U^lJ_Y{lSuau8Z(H3;p7V|rrfVqB}wmz?A0cliXv)+6akweCPj z{-DS)uau#90B5vj=T-=I9@6FiA`-zaF< z@k!ed4)X1+*nr;-B{~g{4%0`teKL4a3T;q_Ksf8lK8_8}1%bVR!&f2qW}x7URCz@X zw;f6p6USU}XW+hQUG=Ka;!-;xLTLEHJbTi&r^I49ehRw&$DKlRfyBdxS9hl0cB4Y+ zh4qwO;vfB9TMrz4fd)UnW+MtGOnNKkNK!Ra!#p(37>2gf%H`$*Ru@|s?t+y`%}P`F zMDLu6Nd>4)&rm^-;EE9;Mhb08Rz_7xMm)P=598WQ(^tB-LqNAa6V(ak*2y#AW^ktv z9kNA8Zcb!d``YtE@Z_DbDTzjZjG?8>#EP4APOrE!yorTLPQ)s?vc{~oeOKR0e^ul;R>u{X3=n+wiXZR2?OgY*$f=sRJ0 z`LL_354Co~cC#PNkUttQyv#G`FrY^bmSf8nJ17A!wDHKEL6{nYwTB9u>m*DWGt#X= z3nyXFQqGGcPz*G%q=utVsn>jWP26wO@j9NTK7yKEw@$RmuE%f-CLIu?7GT`V@n)fS zGpS5q_hhnZc%ssSw1&_$P}=Aj)C}Nz*Nta_#?fnKHJ1I z&c|pptqpHZ1J8F_w_QW-RdFo0Cm$`Rcig{*NvF+yR2|KO!RMOXtQ5gL#~OekL<3w{ zycd-yUG*v$OM;{aa?4iiT1*Vrj@p<*ma0%*g9k`-1?)VzSnYZ$3FhA7F>pg42HBuu ze6Dv0E2Lbu2XlC9;covdI{E;JWLhuty{}=>xL3(?q^OqTAo#no%1qb_`s83>gE{iT zbOz_LX@;xPh(;D|k6Q3TBUt7P>fOeiohcT;=8F%5$AlX4W;kCqyv83GtOXyhd0*Tl z;t-o~9l%Y#IKyAvZl`WyPjiHgfHN(r1!=K#bKgr>g#^hlE zX>R-Jwts6^{dI0$VleFRyyy-z66OFXmQz#En57g_T8>n+^PT(J#{nU1*NMR{9%w%zI&dEzvA+?I+zaS!UeI zflZ*o&UPw+JLpA5=J+0OiW^@lcZQiES2*o20$%T^julz=y`VQUgH|h}@BVViJW>Wh z>I3MMH6(E-wKOtU&b5~PIxR&?e1HG(9PB_7CM7ZnJyrzx2!^RrHzT5hfC6)Tyxc~U zqWvLe>)A#R@QNfW9F+e)51jen8!XcXV7Orr3ea6jBk*f{Dh6ArHUsSL=yS1wV%w7& zO?c4gVl`g;#4j@V3f4%7HSGg}Z{CCk={9Ley$Rjmh*VVoKZfL|yR&WT64-F8;(M05 zXlp`#pk3`tf3I9zoGyB@GUh+DYssVbZ z?4H zh-yC%+3`&nLyZ|H-h27|7Kw%nM>)o%h?EL~Vat{{u2uF4$SUAU6UO@P-RpRUJ9r@G z6V5`4hkKVg%uTz2g9oeio9Yoef!>T%^ekt0h3NY`e!#xOZTEmKlR|QEc*x zbEX#*nB@&tCOUJm3yd~FyM%L*6GE&uVdlwBD$Onacv{+X5Yc$5PQ6@f+@EdLVc$3C zT5pb6PR6mn^|H&0OWRw)=OEz~eXe!FbWl+-C0icS^fxPtgS{Ic<*7~COx`{vnIUHC zWj`gnP}<)Y~6>z^??C*-GD2r4^K~4jOY0-t}G| zAdyc%Y=5PsUx`nSt>!`LeIIX5*|p-nEVyen^rljhknH@`E&~u{o+j<3VZesQy^&qb zy8#BOuCK|)Ya0RH!b^$0x|(gLuuetYV`vQ^e!wkZ65@krV150PrV{bQZvKbKqb6UQ zzWWV*e9{Q!PW^m)CUh$86~xzHU;Bp^Dagx>-{-lmrwZ`RkAN?TN+G zJ88upIl1kxoW=LHt3LLgRk>|v90f}c(Nolv$Op)1X}X}c4Z0u23ZBwhE zG=fR-D?UF1D!c#^W(~fBSU@CradLm`{#F5w5&O^F-#>~2(GxKKd`QCSuy-LwOYAe# z{UxN^=xz0@N%5C*Hz8^# zFQ`9R)%`sRtNcxGCNL0C8bDrR^e<1fUnas|pmg+2=xwb{{;gu2iSOzuUIE6BFY*Je z0#I1($0qO_#dP#-EFJ#~FL3Amh_N~lkS0KW)J~MmJs0ygphy1h{|EF- z6{~;M!M0w@2;6ILj=};gw*?T|-$1JUuv31o&Ho^JHkLZ}dWL2;I(nA+I(qhw^yaod zx5^A$T={>{-QX+J1;tLUKUV`52vh-XoazU1TE(A|fBFh^`X+RGmbRvP|Fi1eVyD7C zz`l4CW%`Mo?*J?Y0Q)lQ`^!`9H&Fez*#80lp<8*eaJB}*6g46ckPSdyieLTmRQq8x z{3+1E;J=vm<)eS!a?pQ+eB`g{|2^{Ot5|+*H~-LsVL~B^G6I%mvjOr_jp&!B+7Dvj zPY}X(zxQANkmYnbd0m7K1ayS?^J4F>tnB4KVaeJ$n%P)8=;%8+Is$(G@ZSCb)jV2V za8R%0N!K3;C^+)>?X&ChZ>UC=Mpj1Fjt=y4GNL~@>(C5~KdXiC+t5H7qb}IHrD!+;T?0sG z0Qu1iwE6rARNqL?QOD5C;pIEnI2+jme*If3zjQ}cKZouDA|N1Z;@`)L*M5IRwq*K& z_76KhA+EAq0l=`LkiU-=BH4dQGcx|wuKyy=`zjN+5VVk2m+MNt4j86F@%=5WTxe~mS=`!BpQ^eoY3E%xa@g;En5=;Jt`*CRz*wqIBwf-L{8xY7J$C94| zrjEUlEx^D3Coja;A5qT%7_u<~&EuaZq z0OaLxiwpd{tHFrk+ioZ0B=zwVt)g)vb44QUlaNl$W>%D3kQJnvj)hIO(<6RA0U65 z;rb=UhF>VH#nESJ!U7GPBcfc)s^KfC-5@MkaYX!CEaJI-Y& zXfdsFbP34fM*vl(f9xte!GDAOdHv>>*^h#~KP@iy+l2b1tIRBlJ1XJ;0l5R@M_-?x z_P5Oci{N7i3-5OY60ZO5n$5vUod~2whrKPOFLKVtVt%ITrB8wm+6o@c@B3KlG&)^J<6!3$C zhzJf-6#>zqFu$Ah<-PNg`*L51pYzeb{PryO-gD1A_rCDUCTAmL0Gcx_ZpcZj)5jq+ z1)9@_2lc0U>fFEpZ*{w~ql@6W-H>i%)jHTA5)bJ?HrrlD6E;1^m0X<>gG~yAhU$)v z`drq^?JSDMp<`p8$+`*N&k#Dju8ZX`B@`<(8N8rzhog3IspyqAvH-I{s54u3;REf~ zOv$bob);C);2H3m=2(kXW4EwAWSerKE1wr`8Esz1Aul?3BKOjKwg%fF_^JZowV4!xW zY=R76hYlF-oDbw&2+drZND;7kP8Z!02o8|FC-5;rX!qlnX8X`@tc8{Ff`6X=xV+DxDeJZ zMYYA-HgBo*0Wh0GXrQ*Q;c@e~y9(s!SUfFo0SOR?FNA>Hk~+h;+o*$|rl*#6By zdWt=kKzSgTRx+T#Xk@^41AI3w!<^qj=cp7+cxbB1`5GTHO zJ|eOH>_jONFtEVjOhNSglK1_ujQ}-4=pp7?mxRGew%2TRu1HS-GjfyUoSvx|Bi$j7 z5tTdF3X-)swE=^#o7;6L8!>AjwBY{v4`TGf{3v}ryYWXiHdu7M4<)*9LXE{7_V7>8IqoYyw54TfKZNt%O zIxI~05Ti;WAzj&0bQb=;(XHZUfX>J16kX|xy

2^=CW=V!ETe8b+Zg6$oKkG2* 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 Promise; + getFileAsBytes: (filePath: string) => Promise; + getFileAsBlob: (filePath: string) => Promise; + + constructor() { + this._parser = new SkinParser(this); + } reset() { this.dispose(); @@ -39,9 +62,14 @@ export class UIRoot { this._groupDefs = []; this._gammaSets = new Map(); this._xuiElements = []; - this._activeGammaSet = null; + this._activeGammaSet = []; this._containers = []; + this._systemObjects = []; this._gammaNames = {}; + this._buckets = {} + this._bucketEntries = {} + this._xFades = [] + removeAllChildNodes(this._div); // A list of all objects created for this skin. this._objects = []; @@ -67,7 +95,7 @@ export class UIRoot { (bitmap) => bitmap._id.toLowerCase() === lowercaseId ); - assert(found != null, `Could not find bitmap with id ${id}.`); + assume(found != null, `Could not find bitmap with id ${id}.`); return found; } @@ -86,7 +114,7 @@ export class UIRoot { (color) => color._id.toLowerCase() === lowercaseId ); - assert(found != null, `Could not find color with id ${id}.`); + assume(found != null, `Could not find color with id ${id}.`); return found; } @@ -102,6 +130,29 @@ export class UIRoot { return found ?? null; } + addComponentBucket(windowType: string, bucket: ComponentBucket) { + this._buckets[windowType] = bucket; + } + getComponentBucket(windowType: string): ComponentBucket { + return this._buckets[windowType]; + } + addBucketEntry(windowType: string, entry: XmlElement) { + if (!this._bucketEntries[windowType]) { + this._bucketEntries[windowType] = []; + } + this._bucketEntries[windowType].push(entry); + } + getBucketEntries(windowType: string): XmlElement[] { + return this._bucketEntries[windowType] || [] + } + + addXFade(xfade: GroupXFade){ + this._xFades.push(xfade) + } + getXFades(): GroupXFade[] { + return this._xFades; + } + addGroupDef(groupDef: XmlElement) { this._groupDefs.push(groupDef); if (groupDef.attributes.xuitag) { @@ -110,6 +161,7 @@ export class UIRoot { } getGroupDef(id: string): XmlElement | null { + if (!id) return null; const lowercaseId = id.toLowerCase(); const found = findLast( this._groupDefs, @@ -138,22 +190,27 @@ export class UIRoot { this._gammaSets.set(lower, gammaSet); } - enableGammaSet(id: string) { - const found = this._gammaSets.get(id.toLowerCase()); - assume( - found != null, - `Could not find gammaset for id "${id}" from set of ${Array.from( - this._gammaSets.keys() - ).join(", ")}` - ); - this._activeGammaSetName = id; - this._activeGammaSet = found; + enableGammaSet(id: string | null) { + if (id) { + const found = this._gammaSets.get(id.toLowerCase()); + assume( + found != null, + `Could not find gammaset for id "${id}" from set of ${Array.from( + this._gammaSets.keys() + ).join(", ")}` + ); + this._activeGammaSetName = id; + this._activeGammaSet = found; + } this._setCssVars(); } enableDefaultGammaSet() { - this._activeGammaSet = Array.from(this._gammaSets.values())[0] ?? null; - this._setCssVars(); + // TODO: restore the latest gammaSet picked by user for this skin + const gammaSetNames = Array.from(this._gammaSets.keys()); + const firstName = gammaSetNames[0]; + const antiBoring = gammaSetNames[1]; + this.enableGammaSet(antiBoring || firstName || null); } _getGammaGroup(id: string): GammaGroup | null { @@ -164,7 +221,7 @@ export class UIRoot { const found = findLast(this._activeGammaSet, (gammaGroup) => { return gammaGroup.getId().toLowerCase() === lower; }); - return found ?? null; + return found ?? this._getGammaGroupDummy(); } _getGammaGroupDummy() { @@ -181,7 +238,10 @@ export class UIRoot { _setCssVars() { const cssRules = []; - for (const bitmap of this._bitmaps) { + const bitmapFonts: BitmapFont[] = this._fonts.filter( + (font) => font instanceof BitmapFont && !font.useExternalBitmap() + ) as BitmapFont[]; + for (const bitmap of [...this._bitmaps, ...bitmapFonts]) { const img = bitmap.getImg(); if (!img) { console.warn(`Bitmap/font ${bitmap.getId()} has no img!`); @@ -198,6 +258,12 @@ export class UIRoot { ); cssRules.push(` ${bitmap.getCSSVar()}: url(${url});`); } + for (const color of this._colors) { + const groupId = color.getGammaGroup(); + const gammaGroup = this._getGammaGroup(groupId); + const url = gammaGroup.transformColor(color.getValue()); + cssRules.push(` ${color.getCSSVar()}: ${url};`); + } cssRules.unshift(":root{"); cssRules.push("}"); const cssEl = document.getElementById("bitmap-css"); @@ -237,6 +303,9 @@ export class UIRoot { case "toggle": this.toggleContainer(param); break; + case "close": + this.closeContainer(); + break; default: assume(false, `Unknown global action: ${action}`); } @@ -248,6 +317,17 @@ export class UIRoot { container.toggle(); } + closeContainer() { + const btn = document.activeElement; + const containerEl = btn.closest("container"); + const container_id = containerEl.getAttribute("id").toLowerCase(); + for (const container of this._containers) { + if (container._id.toLowerCase() == container_id) { + container.close(); + } + } + } + draw() { this._div.setAttribute("id", "ui-root"); this._div.style.imageRendering = "pixelated"; @@ -263,6 +343,87 @@ export class UIRoot { obj.dispose(); } } + + //? Zip things ======================== + /* because maki need to load a groupdef outside init() */ + _zip: JSZip; + + setZip(zip: JSZip) { + this._zip = zip; + if (zip != null) { + this.getFileAsString = this.getFileAsStringZip; + this.getFileAsBytes = this.getFileAsBytesZip; + this.getFileAsBlob = this.getFileAsBlobZip; + } else { + this.getFileAsString = this.getFileAsStringPath; + this.getFileAsBytes = this.getFileAsBytesPath; + this.getFileAsBlob = this.getFileAsBlobPath; + } + } + + //? Path things ======================== + /* needed to avoid direct fetch to root path */ + _skinPath: string; + + setSkinDir(skinPath: string) { + // required to end with slash/ + this._skinPath = skinPath; + } + + async getFileAsStringZip(filePath: string): Promise { + if (!filePath) return null; + const zipObj = getCaseInsensitiveFile(this._zip, filePath); + if (!zipObj) return null; + return await zipObj.async("string"); + } + + async getFileAsBytesZip(filePath: string): Promise { + if (!filePath) return null; + const zipObj = getCaseInsensitiveFile(this._zip, filePath); + if (!zipObj) return null; + return await zipObj.async("arraybuffer"); + } + + async getFileAsBlobZip(filePath: string): Promise { + if (!filePath) return null; + const zipObj = getCaseInsensitiveFile(this._zip, filePath); + if (!zipObj) return null; + return await zipObj.async("blob"); + } + + async getFileAsStringPath(filePath: string): Promise { + const response = await fetch(this._skinPath + filePath); + return await response.text(); + } + + async getFileAsBytesPath(filePath: string): Promise { + const response = await fetch(this._skinPath + filePath); + return await response.arrayBuffer(); + } + + async getFileAsBlobPath(filePath: string): Promise { + const response = await fetch(this._skinPath + filePath); + return await response.blob(); + } + + getFileIsExist(filePath: string): boolean { + const zipObj = getCaseInsensitiveFile(this._zip, filePath); + return !!zipObj; + } + + //? System things ======================== + /* because maki need to be run if not inside any Group @init() */ + addSystemObject(systemObj: SystemObject) { + this._systemObjects.push(systemObj); + } + init() { + for (const systemObject of this._systemObjects) { + systemObject.init(); + } + } + getId() { + return "UIROOT"; + } } // Global Singleton for now diff --git a/packages/webamp-modern-2/src/clip_path.html b/packages/webamp-modern-2/src/clip_path.html index 633bf8cd..c0924df4 100644 --- a/packages/webamp-modern-2/src/clip_path.html +++ b/packages/webamp-modern-2/src/clip_path.html @@ -20,9 +20,10 @@ click me! +-> - + - + +
diff --git a/packages/webamp-modern-2/src/clip_path.ts b/packages/webamp-modern-2/src/clip_path.ts index 8bf61b9c..6d1ab918 100644 --- a/packages/webamp-modern-2/src/clip_path.ts +++ b/packages/webamp-modern-2/src/clip_path.ts @@ -10,9 +10,10 @@ document.getElementById("img1").onclick = (event) => { function main() { const oriImg = document.getElementById("img1"); + const preferedWidth = parseInt(oriImg.getAttribute("data-width")); + const preferedHeight = parseInt(oriImg.getAttribute("data-height")); const img2 = new Image(); img2.onload = (ev) => { - // const canvas = document.createElement('canvas'); const canvas = document.getElementById("canvas") as HTMLCanvasElement; canvas.width = img2.width; canvas.height = img2.height; @@ -21,12 +22,23 @@ function main() { ctx.drawImage(img2, 0, 0); const edge = new Edges(); - edge.parseCanvasTransparency(canvas); - document.getElementById("top").textContent = edge.gettop().replace(/px/gi, "").replace(/\,\s/gi, "\n"); - document.getElementById("right").textContent = edge.getright().replace(/px/gi, "").replace(/\,\s/gi, "\n"); - document.getElementById("bottom").textContent = edge.getbottom().replace(/px/gi, "").replace(/\,\s/gi, "\n"); - document.getElementById("left").textContent = edge.getleft().replace(/px/gi, "").replace(/\,\s/gi, "\n"); - // document.getElementById('app').style.clipPath = `polygon(${edge.top}, ${edge.bottom})`; + edge.parseCanvasTransparency(canvas, preferedWidth, preferedHeight); + document.getElementById("top").textContent = edge + .gettop() + .replace(/px/gi, "") + .replace(/\,\s/gi, "\n"); + document.getElementById("right").textContent = edge + .getright() + .replace(/px/gi, "") + .replace(/\,\s/gi, "\n"); + document.getElementById("bottom").textContent = edge + .getbottom() + .replace(/px/gi, "") + .replace(/\,\s/gi, "\n"); + document.getElementById("left").textContent = edge + .getleft() + .replace(/px/gi, "") + .replace(/\,\s/gi, "\n"); document.getElementById("app").style.clipPath = edge.getPolygon(); }; img2.setAttribute("src", oriImg.getAttribute("src")); diff --git a/packages/webamp-modern-2/src/index.html b/packages/webamp-modern-2/src/index.html index 9f270196..b62de132 100644 --- a/packages/webamp-modern-2/src/index.html +++ b/packages/webamp-modern-2/src/index.html @@ -21,11 +21,27 @@ select:focus { outline: none; } + select option { + padding-left: 5px; + width: 300%; + } + select option[selected] { + font-weight: bold; + } + select::before { + padding-left: 5px; + content: var(--colheader, none); + display: block; + position: sticky; + top: var(--colheadertop, 0); + left: 0; + background-color: black; + color: silver; + } .webamp--img { background-image: var(--background-image); background-position: top 0 left 0; } - .webamp--img:active { background-image: var(--down-background-image, var(--background-image)); } @@ -70,6 +86,30 @@ slider { overflow: hidden; } + slider > div { + display: none; + } + slider::after { + content: ""; + position: absolute; + left: var(--thumb-left); + top: var(--thumb-top); + width: var(--thumb-width); + height: var(--thumb-height); + background-image: var(--thumb-background-image); + } + slider:hover:after { + background-image: var( + --thumb-hover-background-image, + var(--thumb-background-image) + ); + } + slider:active:after { + background-image: var( + --thumb-down-background-image, + var(--thumb-background-image) + ); + } text { overflow: hidden; box-sizing: border-box; @@ -125,6 +165,7 @@ text, wasabiframe, wasabititlebar, + componentbucket, colorthemeslist { position: absolute; left: 0; @@ -146,12 +187,33 @@ grid middle { flex-grow: 1; } - /* grid left, gridprogress left {left: 0;} - grid right, gridprogress right {right: 0;} */ - /* body > div select>option { - position: unset; - display: block; - } */ + componentbucket { + overflow: hidden; + } + componentbucket > wrapper { + display: flex; + position: absolute; + left: 0; + top: 0; + height: 100%; + width: auto; + transition: top 0.5s, left 0.5s; + } + componentbucket.vertical > wrapper { + flex-direction: column; + height: auto; + width: 100%; + } + componentbucket > wrapper > group { + position: relative; + } + group.x-fade > * { + transition: opacity var(--fade-in-speed, 0.5); + } + group.x-fade > .fading-out { + transition: opacity var(--fade-out-speed, 0.25); + } + .wasabi-button { border: 3px solid transparent; --border-image: var(--bitmap-studio-button); @@ -184,6 +246,8 @@ border: 1px solid blue; background-color: rgba(74, 74, 251, 0.205); z-index: 1000; + box-sizing: border-box; + transition: width 0.1s, height 0.1s, left 0.1s, top 0.1s; } diff --git a/packages/webamp-modern-2/src/index.ts b/packages/webamp-modern-2/src/index.ts index 48b600b4..722d78f7 100644 --- a/packages/webamp-modern-2/src/index.ts +++ b/packages/webamp-modern-2/src/index.ts @@ -1,17 +1,9 @@ import JSZip from "jszip"; // This module is imported early here in order to avoid a circular dependency. -import { classResolver } from "./skin/resolver"; -import SkinParser from "./skin/parse"; import UI_ROOT from "./UIRoot"; -import { getUrlQuery, removeAllChildNodes } from "./utils"; +import { getUrlQuery } from "./utils"; import { addDropHandler } from "./dropTarget"; -function hack() { - // Without this Snowpack will try to treeshake out resolver causing a circular - // dependency. - classResolver("A funny joke about why this is needed."); -} - addDropHandler(loadSkin); const STATUS = document.getElementById("status"); @@ -20,9 +12,12 @@ function setStatus(status: string) { STATUS.innerText = status; } +// const DEFAULT_SKIN = "assets/MMD3.wal" +const DEFAULT_SKIN = "assets/WinampModern566.wal" + async function main() { setStatus("Downloading skin..."); - const skinPath = getUrlQuery(window.location, "skin") || "assets/MMD3.wal"; + const skinPath = getUrlQuery(window.location, "skin") || DEFAULT_SKIN; const response = await fetch(skinPath); const data = await response.blob(); await loadSkin(data); @@ -34,12 +29,12 @@ async function loadSkin(skinData: Blob) { setStatus("Loading .wal archive..."); const zip = await JSZip.loadAsync(skinData); + UI_ROOT.setZip(zip); setStatus("Parsing XML and initializing images..."); - const parser = new SkinParser(zip, UI_ROOT); // This is always the same as the global singleton. - const uiRoot = await parser.parse(); + const uiRoot = await UI_ROOT._parser.parse(); const start = performance.now(); uiRoot.enableDefaultGammaSet(); @@ -48,6 +43,7 @@ async function loadSkin(skinData: Blob) { setStatus("Rendering skin for the first time..."); uiRoot.draw(); + uiRoot.init(); setStatus("Initializing Maki..."); for (const container of uiRoot.getContainers()) { diff --git a/packages/webamp-modern-2/src/maki/interpreter.ts b/packages/webamp-modern-2/src/maki/interpreter.ts index b8bc89a3..a41d3367 100644 --- a/packages/webamp-modern-2/src/maki/interpreter.ts +++ b/packages/webamp-modern-2/src/maki/interpreter.ts @@ -2,6 +2,7 @@ import { V, Variable } from "./v"; import { assert, assume } from "../utils"; import { ParsedMaki, Command, Method } from "./parser"; import { getClass, getMethod } from "./objects"; +import GuiObj from "../skin/makiClasses/GuiObj"; // import { classResolver } from "../skin/resolver"; function validateMaki(program: ParsedMaki) { @@ -311,6 +312,22 @@ class Interpreter { methodArgs.push(a.value); } const obj = this.stack.pop(); + + // It is temporary patch until we can bind a + // singleton object to maki world. + // It is because maki think each class name below as a const. + if ( + !obj.value && + klass.name && + [ + "winampconfig", + "winampconfiggroup", + "configclass", + "config", + ].includes(klass.name.toLowerCase()) + ) { + obj.value = new klass(); + } assert( (obj.type === "OBJECT" && typeof obj.value) === "object" && obj.value != null, @@ -323,8 +340,11 @@ class Interpreter { value = obj.value[methodName](...methodArgs); } catch (err) { console.warn( - `error call: ${klass.name}.${methodName}(...${JSON.stringify(methodArgs)})`, - `err: ${err.message} obj: ${JSON.stringify(obj)}` + `error call: ${klass.name}.${methodName}(...${JSON.stringify( + methodArgs + )})`, + `err: ${err.message} obj:`, + obj ); value = null; } @@ -603,14 +623,12 @@ class Interpreter { switch (a.type) { case "STRING": case "OBJECT": - case "BOOLEAN": case "NULL": throw new Error("Tried to add non-numbers."); } switch (b.type) { case "STRING": case "OBJECT": - case "BOOLEAN": case "NULL": throw new Error("Tried to add non-numbers."); } diff --git a/packages/webamp-modern-2/src/maki/objectData/winampconfig.json b/packages/webamp-modern-2/src/maki/objectData/winampconfig.json new file mode 100644 index 00000000..0ec8fc5e --- /dev/null +++ b/packages/webamp-modern-2/src/maki/objectData/winampconfig.json @@ -0,0 +1,88 @@ +{ + "B2AD3F2B31ED4e31BC6DE9951CD555BB": { + "name": "WinampConfig", + "parent": "Object", + "functions": [ + { + "result": "WinampConfigGroup", + "name": "getGroup", + "parameters": [ + [ + "String", + "config_group_guid" + ] + ] + } + ] + }, + "FC17844EC72B4518A068A8F930A5BA80": { + "name": "WinampConfigGroup", + "parent": "Object", + "functions": [ + { + "result": "Boolean", + "name": "getBool", + "parameters": [ + [ + "String", + "itemname" + ] + ] + }, + { + "result": "", + "name": "setBool", + "parameters": [ + [ + "String", + "itemname" + ], + [ + "Boolean", + "itemvalue" + ] + ] + }, + { + "result": "Int", + "name": "getInt", + "parameters": [ + [ + "String", + "itemname" + ] + ] + }, + { + "result": "", + "name": "setInt", + "parameters": [ + [ + "String", + "itemname" + ] + ] + }, + { + "result": "String", + "name": "getString", + "parameters": [ + [ + "String", + "itemname" + ] + ] + }, + { + "result": "", + "name": "setString", + "parameters": [ + [ + "String", + "itemname" + ] + ] + } + ] + } +} \ No newline at end of file diff --git a/packages/webamp-modern-2/src/maki/objects.ts b/packages/webamp-modern-2/src/maki/objects.ts index 56e60b45..b1444e5e 100644 --- a/packages/webamp-modern-2/src/maki/objects.ts +++ b/packages/webamp-modern-2/src/maki/objects.ts @@ -1,6 +1,7 @@ import stdPatched from "./objectData/stdPatched"; import pldir from "./objectData/pldir.json"; import config from "./objectData/config.json"; +import winampconfig from "./objectData/winampconfig.json"; import { DataType } from "./v"; import { assert } from "../utils"; @@ -21,6 +22,7 @@ const objects: { [key: string]: ObjectDefinition } = { ...stdPatched, ...pldir, ...config, + ...winampconfig, }; export function getClass(id: string): ObjectDefinition { diff --git a/packages/webamp-modern-2/src/progress.ts b/packages/webamp-modern-2/src/progress.ts index e8bbf303..19372e23 100644 --- a/packages/webamp-modern-2/src/progress.ts +++ b/packages/webamp-modern-2/src/progress.ts @@ -2,8 +2,6 @@ import { classResolver } from "./skin/resolver"; import { normalizedObjects, getFormattedId } from "./maki/objects"; import BaseObject from "./skin/makiClasses/BaseObject"; -// import { addDropHandler } from "./dropTarget"; -// import JSZip from "jszip"; function hack() { // Without this Snowpack will try to treeshake out resolver causing a circular diff --git a/packages/webamp-modern-2/src/skin/AudioPlayer.ts b/packages/webamp-modern-2/src/skin/AudioPlayer.ts index c7185361..a259e685 100644 --- a/packages/webamp-modern-2/src/skin/AudioPlayer.ts +++ b/packages/webamp-modern-2/src/skin/AudioPlayer.ts @@ -2,6 +2,10 @@ import { clamp, Emitter } from "../utils"; const BANDS = [60, 170, 310, 600, 1000, 3000, 6000, 12000, 14000, 16000]; +export const AUDIO_PAUSED = "paused"; +export const AUDIO_STOPPED = "stopped"; +export const AUDIO_PLAYING = "playing"; + export class AudioPlayer { _input: HTMLInputElement = document.createElement("input"); _audio: HTMLAudioElement = document.createElement("audio"); @@ -12,6 +16,12 @@ export class AudioPlayer { _eqValues: { [kind: string]: number } = {}; _eqNodes: { [kind: string]: number } = {}; _eqEmitter: Emitter = new Emitter(); + _isStop: boolean = true; //becaue we can't audio.stop() currently + _trackInfo: {}; + _albumArtUrl: string = null; + //events aka addEventListener() + _eventListener: Emitter = new Emitter(); + constructor() { this._context = this._context = new (window.AudioContext || window.webkitAudioContext)(); @@ -85,20 +95,48 @@ export class AudioPlayer { this._audio.src = URL.createObjectURL(file); this.play(); }; + + //temporary: in the end of playing mp3, lets stop. + //TODO: in future, when ended: play next mp3 + this._audio.addEventListener("ended", () => this.stop()); } + + // shortcut of this.Emitter + on(event: string, callback: Function) { + this._eventListener.on(event, callback); + } + trigger(event: string, ...args: any[]) { + this._eventListener.trigger(event, ...args); + } + off(event: string, callback: Function) { + this._eventListener.off(event, callback); + } + // 0-1 getVolume(): number { return this._audio.volume; } play() { + this._isStop = false; this._audio.play(); + this.trigger("play"); + this.trigger("statchanged"); } stop() { + this._isStop = true; // needed to make threestate + if (this._audio.paused) { + this._audio.play(); + } // for trigger the event change this._audio.pause(); this._audio.currentTime = 0; + this.trigger("stop"); + this.trigger("statchanged"); } pause() { + this._isStop = false; // needed to make threestate this._audio.pause(); + this.trigger("pause"); + this.trigger("statchanged"); } eject() { @@ -131,10 +169,25 @@ export class AudioPlayer { return this._audio.currentTime / this._audio.duration; } + getState(): string { + if (this._isStop) { + // To distinct from pause + return AUDIO_STOPPED; + } + const audio = this._audio; + if (!audio.ended && !audio.paused) { + return AUDIO_PLAYING; + } else if (audio.ended) { + return AUDIO_STOPPED; + } else if (audio.paused) { + return AUDIO_PAUSED; + } + } + getEq(kind: string): number { switch (kind) { case "preamp": - return this.__preamp.gain.value; + return (this.__preamp.gain.value + 12) / 24; case "1": case "2": case "3": @@ -222,6 +275,17 @@ export class AudioPlayer { return dispose; } + onVolumeChanged(cb: () => void): () => void { + const handler = () => cb(); + this._audio.addEventListener("volumechange", handler); + const dispose = () => { + this._audio.removeEventListener("volumechange", handler); + }; + return dispose; + } + + + // Current track length in seconds getLength(): number { return this._audio.duration; diff --git a/packages/webamp-modern-2/src/skin/Bitmap.ts b/packages/webamp-modern-2/src/skin/Bitmap.ts index 1cd408b0..a13a7781 100644 --- a/packages/webamp-modern-2/src/skin/Bitmap.ts +++ b/packages/webamp-modern-2/src/skin/Bitmap.ts @@ -8,8 +8,8 @@ export default class Bitmap { _url: string; _img: HTMLImageElement; _canvas: HTMLCanvasElement; - _x: number; - _y: number; + _x: number = 0; + _y: number = 0; _width: number; _height: number; _file: string; @@ -53,7 +53,11 @@ export default class Bitmap { } getId() { - return this._id; + return this._id || ""; + } + + getFile() { + return this._file; } getWidth() { @@ -136,21 +140,11 @@ export default class Bitmap { if (this._canvas == null) { assert(this._img != null, "Expected bitmap image to be loaded"); this._canvas = document.createElement("canvas"); - this._canvas.width = this.getWidth(); - this._canvas.height = this.getHeight(); + this._canvas.width = this.getWidth() || this._img.width; + this._canvas.height = this.getHeight() || this._img.height; const ctx = this._canvas.getContext("2d"); // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/drawImage - ctx.drawImage( - this._img, - this._x, - this._y, - this.getWidth(), - this.getHeight(), - 0, - 0, - this.getWidth(), - this.getHeight() - ); + ctx.drawImage(this._img, -this._x, -this._y); } return this._canvas; } diff --git a/packages/webamp-modern-2/src/skin/BitmapFont.ts b/packages/webamp-modern-2/src/skin/BitmapFont.ts index ab60bed0..d2453730 100644 --- a/packages/webamp-modern-2/src/skin/BitmapFont.ts +++ b/packages/webamp-modern-2/src/skin/BitmapFont.ts @@ -1,8 +1,10 @@ +import UI_ROOT from "../UIRoot"; import { num, px } from "../utils"; +import Bitmap from "./Bitmap"; import ImageManager from "./ImageManager"; const CHARS = - "abcdefghijklmnopqrstuvwxyz\"@ \n0123456789\u2026.:()-'!_+/[]^&%,=$#\nâöä?*"; + "abcdefghijklmnopqrstuvwxyz\"@ \n0123456789\u2026.:()-'!_+\\/[]^&%,=$#\nâöä?*"; const CHAR_MAP = {}; for (const [line, chars] of CHARS.split("\n").entries()) { @@ -12,30 +14,21 @@ for (const [line, chars] of CHARS.split("\n").entries()) { } // http://wiki.winamp.com/wiki/XML_Elements#.3Cbitmapfont.2F.3E -export default class BitmapFont { - _file: string; - _id: string; +export default class BitmapFont extends Bitmap { _charWidth: number; _charHeight: number; _horizontalSpacing: number; _verticalSpacing: number; - _url: string; + _externalBitmap: boolean = false; //? true == _file = another.bitmap.id + _bitmap: Bitmap = null; // the real external bitmap - setXmlAttributes(attributes: { [attrName: string]: string }) { - for (const [key, value] of Object.entries(attributes)) { - this.setXmlAttr(key, value); + setXmlAttr(_key: string, value: string): boolean { + if (super.setXmlAttr(_key, value)) { + return true; } - } - setXmlAttr(_key: string, value: string) { const key = _key.toLowerCase(); switch (key) { - case "id": - this._id = value; - break; - case "file": - this._file = value; - break; case "charwidth": this._charWidth = num(value); break; @@ -54,8 +47,17 @@ export default class BitmapFont { return true; } - getId() { - return this._id; + _setAsBackground(div: HTMLElement, prefix: string) { + if (this._externalBitmap) { + if (!this._bitmap) { + this._bitmap = UI_ROOT.getBitmap(this._file); + } + if (this._bitmap != null) { + this._bitmap._setAsBackground(div, prefix); + } + } else { + super._setAsBackground(div, prefix); + } } // TODO: This could likely be made more efficient. @@ -63,26 +65,19 @@ export default class BitmapFont { // the background position just once. renderLetter(char: string): HTMLSpanElement { const span = document.createElement("span"); - span.style.display = "inline-block"; - span.style.width = px(this._charWidth); - span.style.height = px(this._charHeight); - span.style.backgroundImage = `url(${this._url})`; - span.style.verticalAlign = "top"; const [x, y] = CHAR_MAP[char.toLocaleLowerCase()] ?? CHAR_MAP[" "]; - span.style.backgroundPositionX = px(-(this._charWidth * x)); - span.style.backgroundPositionY = px(-(this._charHeight * y)); - span.style.paddingTop = px((this._verticalSpacing ?? 0) / 2); - span.style.paddingBottom = px((this._verticalSpacing ?? 0) / 2); - span.style.paddingLeft = px((this._horizontalSpacing ?? 0) / 2); - span.style.paddingRight = px((this._horizontalSpacing ?? 0) / 2); span.innerText = char; // Keep things accessible - span.style.textIndent = "-9999px"; // But hide the characters + span.style.setProperty("--x", px(-(this._charWidth * x))); + span.style.setProperty("--y", px(-(this._charHeight * y))); return span; } - // Ensure we've loaded the font into our asset loader. - async ensureFontLoaded(imageManager: ImageManager) { - const imgUrl = await imageManager.getUrl(this._file); - this._url = imgUrl; + useExternalBitmap(): boolean { + return this._externalBitmap; } + + setExternalBitmap(isExternal: boolean) { + this._externalBitmap = isExternal; + } + } diff --git a/packages/webamp-modern-2/src/skin/Clippath.ts b/packages/webamp-modern-2/src/skin/Clippath.ts index a2f20230..de0a7a3a 100644 --- a/packages/webamp-modern-2/src/skin/Clippath.ts +++ b/packages/webamp-modern-2/src/skin/Clippath.ts @@ -4,9 +4,9 @@ export class Edges { _bottom: string[] = []; _left: string[] = []; - parseCanvasTransparency(canvas: HTMLCanvasElement) { - const w = canvas.width; - const h = canvas.height; + parseCanvasTransparency(canvas: HTMLCanvasElement, preferedWidth:number, preferedHeight:number) { + const w = preferedWidth || canvas.width; + const h = preferedHeight || canvas.height; const ctx = canvas.getContext("2d"); const data = ctx.getImageData(0, 0, w, h).data; let points: string[] = []; diff --git a/packages/webamp-modern-2/src/skin/Color.ts b/packages/webamp-modern-2/src/skin/Color.ts index 9f2c6e91..a2fdc3a6 100644 --- a/packages/webamp-modern-2/src/skin/Color.ts +++ b/packages/webamp-modern-2/src/skin/Color.ts @@ -2,6 +2,7 @@ import ImageManager from "./ImageManager"; export default class Color { _id: string; + _cssVar: string; _value: string; _gammagroup: string; @@ -16,6 +17,7 @@ export default class Color { switch (key) { case "id": this._id = value; + this._cssVar = `--color-${this.getId().replace(/[^a-zA-Z0-9]/g, "-")}`; break; case "value": this._value = value; @@ -33,6 +35,18 @@ export default class Color { return this._id; } + getGammaGroup(): string { + return this._gammagroup; + } + + getValue(): string { + return this._value; + } + + getCSSVar(): string { + return this._cssVar; + } + getRgb() { return `rgb(${this._value})`; } diff --git a/packages/webamp-modern-2/src/skin/ColorThemesList.ts b/packages/webamp-modern-2/src/skin/ColorThemesList.ts index d6b2e338..51214cb5 100644 --- a/packages/webamp-modern-2/src/skin/ColorThemesList.ts +++ b/packages/webamp-modern-2/src/skin/ColorThemesList.ts @@ -1,52 +1,110 @@ import GuiObj from "./makiClasses/GuiObj"; import UI_ROOT from "../UIRoot"; -import { removeAllChildNodes } from "../utils"; +import { removeAllChildNodes, toBool } from "../utils"; export default class ColorThemesList extends GuiObj { _select: HTMLSelectElement = document.createElement("select"); + _nohscroll: boolean = false; + _nocolheader: boolean = false; constructor() { super(); this._div.appendChild(this._select); + this._registerEvents(); } setXmlAttr(key: string, value: string): boolean { if (super.setXmlAttr(key, value)) { return true; } - switch (key) { + const _key = key.toLowerCase(); + switch (_key) { + // see skin: D-Reliction + case "nocolheader": + this._nocolheader = toBool(value); + break; + case "nohscroll": + this._nohscroll = toBool(value); + break; default: return false; } return true; } + _registerEvents() { + this._select.addEventListener("dblclick", () => { + this.handleAction("colorthemes_switch"); + }); + } + _renderGammaSets() { removeAllChildNodes(this._select); this._select.setAttribute("multiple", "1"); this._select.style.position = "absolute"; this._select.style.width = "100%"; this._select.style.height = "100%"; + for (const key of UI_ROOT._gammaSets.keys()) { const option = document.createElement("option"); option.value = key; option.innerText = UI_ROOT._gammaNames[key]; this._select.appendChild(option); } + + // Overflow + this._select.style.overflowY = "scroll"; + if (this._nohscroll) { + this._select.style.overflowX = "hidden"; + } else { + this._select.style.overflowX = "scroll"; + } + + // column header + if (this._nocolheader) { + this._select.style.setProperty("--colheader", null); + } else { + this._select.style.setProperty("--colheader", "'Theme'"); + } + this._select.value = UI_ROOT._activeGammaSetName; + this._renderBoldSelection(); + } + + _renderBoldSelection() { + Array.from(this._select.options).forEach((option_element) => { + if (option_element.value === UI_ROOT._activeGammaSetName) { + option_element.setAttribute("selected", "selected"); + } else { + option_element.removeAttribute("selected"); + } + }); } handleAction( action: string, - param: string | null, - actionTarget: string | null + param: string | null = null, + actionTarget: string | null = null ) { switch (action) { case "colorthemes_switch": const selected = this._select.value; if (selected != null) { UI_ROOT.enableGammaSet(selected); + this._renderBoldSelection(); } return true; + case "colorthemes_previous": + if(this._select.selectedIndex > 0) { + this._select.selectedIndex--; + return this.handleAction('colorthemes_switch') + } + break + case "colorthemes_next": + if(this._select.selectedIndex < this._select.options.length) { + this._select.selectedIndex++; + return this.handleAction('colorthemes_switch') + } + break } return false; } diff --git a/packages/webamp-modern-2/src/skin/GammaGroup.ts b/packages/webamp-modern-2/src/skin/GammaGroup.ts index 67c3f517..cac61a80 100644 --- a/packages/webamp-modern-2/src/skin/GammaGroup.ts +++ b/packages/webamp-modern-2/src/skin/GammaGroup.ts @@ -89,4 +89,25 @@ export default class GammaGroup { ctx.putImageData(imageData, 0, 0); return canvas.toDataURL(); } + + transformColor(color: string): string { + const [r, g, b] = this._value.split(",").map((v) => { + return Number(v) / 4096 + 1.0; + }); + let [red, green, blue] = color.split(",").map((v) => parseInt(v)); + if (this._gray != 0) { + if (this._gray == 2) red = (red + green + blue) / 3; + if (this._gray == 1) red = Math.max(red, green, blue); + green = red; + blue = red; + } + const mult = this._boost == 2 ? 4 : 1; + const brightness = this._boost == 1 ? 128 : this._boost == 2 ? 32 : 0; + + red = clamp((red + brightness) * mult * r, 0, 255); // red + green = clamp((green + brightness) * mult * g, 0, 255); // green + blue = clamp((blue + brightness) * mult * b, 0, 255); // blue + + return `rgb(${red}, ${green}, ${blue})`; + } } diff --git a/packages/webamp-modern-2/src/skin/ImageManager.ts b/packages/webamp-modern-2/src/skin/ImageManager.ts index 3d904ef7..7d3f1ea7 100644 --- a/packages/webamp-modern-2/src/skin/ImageManager.ts +++ b/packages/webamp-modern-2/src/skin/ImageManager.ts @@ -1,5 +1,6 @@ -import JSZip from "jszip"; +import UI_ROOT from "../UIRoot"; import { getCaseInsensitiveFile } from "../utils"; +import Bitmap from "./Bitmap"; // https://png-pixel.com/ const DEFAULT_IMAGE_URL = @@ -8,24 +9,51 @@ const DEFAULT_IMAGE_URL = export default class ImageManager { _urlCache: Map = new Map(); _imgCache: Map = new Map(); - _cssVarCache: Map = new Map(); - constructor(private _zip: JSZip) {} + _pathofBitmap = {}; //? file : true|false|null + _bitmaps: { [key: string]: Bitmap } = {}; //? Bitmap:file + _bitmapAlias = {}; //? file|id : true|false|null //for BitmapFont async getUrl(filePath: string): Promise { if (!this._urlCache.has(filePath)) { - const zipFile = getCaseInsensitiveFile(this._zip, filePath); - if (zipFile == null) { + const imgBlob = await UI_ROOT.getFileAsBlob(filePath); + if (imgBlob == null) { return null; } - const imgBlob = await zipFile.async("blob"); const imgUrl = await getUrlFromBlob(imgBlob); - // const img = await this.getImage(imgUrl); - // const transformedUrl = transformImage(img); this._urlCache.set(filePath, imgUrl); } return this._urlCache.get(filePath); } + addBitmap(bitmap: Bitmap) { + const id = bitmap.getId(); + const filePath = bitmap.getFile(); + this._pathofBitmap[filePath] = false; + this._bitmaps[id] = bitmap; + } + + // Ensure we've loaded the image into our image loader. + async loadUniquePaths() { + for (const filePath of Object.keys(this._pathofBitmap)) { + await this.getImage(filePath); + } + } + async ensureBitmapsLoaded() { + return Promise.all( + Object.values(this._bitmaps).map(async (bitmap) => { + await this.setBimapImg(bitmap); + if (bitmap._img && bitmap._width == null && bitmap._height == null) { + bitmap.setXmlAttr("w", String(bitmap._img.width)); + bitmap.setXmlAttr("h", String(bitmap._img.height)); + } + }) + ); + } + + async setBimapImg(bitmap: Bitmap) { + bitmap._img = await this.getImage(bitmap.getFile()); + } + async getImage(filePath: string): Promise { if (!this._imgCache.has(filePath)) { // TODO: We could cache this diff --git a/packages/webamp-modern-2/src/skin/PrivateConfig.ts b/packages/webamp-modern-2/src/skin/PrivateConfig.ts index 57bbfa9b..6ecb9fd1 100644 --- a/packages/webamp-modern-2/src/skin/PrivateConfig.ts +++ b/packages/webamp-modern-2/src/skin/PrivateConfig.ts @@ -1,19 +1,26 @@ // TODO: Persist this to local state? class PrivateConfig { - _sections: Map> = new Map(); + _sections: Map> = new Map(); _getSection(section: string) { if (!this._sections.has(section)) { this._sections.set(section, new Map()); } return this._sections.get(section); } - getPrivateInt(section: string, item: string, defvalue: number) { - return this._getSection(section).get(item) ?? defvalue; + getPrivateInt(section: string, item: string, defvalue: number):number { + const value:string = this._getSection(section).get(item); + return value? parseInt(value) : defvalue ; } setPrivateInt(section: string, item: string, value: number) { - return this._getSection(section).set(item, value); + return this._getSection(section).set(item, value.toString()); } + + getPrivateString(section: string, item: string, defvalue: string): string { + return this._getSection(section).get(item) ?? defvalue; + } + + } const PRIVATE_CONFIG = new PrivateConfig(); diff --git a/packages/webamp-modern-2/src/skin/TrueTypeFont.ts b/packages/webamp-modern-2/src/skin/TrueTypeFont.ts index 4a5838eb..63dcccbe 100644 --- a/packages/webamp-modern-2/src/skin/TrueTypeFont.ts +++ b/packages/webamp-modern-2/src/skin/TrueTypeFont.ts @@ -5,6 +5,7 @@ export default class TrueTypeFont { _file: string; _id: string; _fontFace: FontFace; + _inlineFamily: string; setXmlAttributes(attributes: { [attrName: string]: string }) { for (const [key, value] of Object.entries(attributes)) { @@ -13,10 +14,12 @@ export default class TrueTypeFont { } setXmlAttr(key: string, value: string) { - switch (key) { + switch (key.toLowerCase()) { case "id": this._id = value; break; + case "family": + this._inlineFamily = value; case "file": this._file = value; default: @@ -26,11 +29,11 @@ export default class TrueTypeFont { } getId() { - return this._id; + return this._id || ""; } getFontFamily() { - return this._fontFace.family; + return this._inlineFamily || this._fontFace.family; } dispose() { diff --git a/packages/webamp-modern-2/src/skin/VM.ts b/packages/webamp-modern-2/src/skin/VM.ts index 073ddbf9..896f73ec 100644 --- a/packages/webamp-modern-2/src/skin/VM.ts +++ b/packages/webamp-modern-2/src/skin/VM.ts @@ -9,7 +9,8 @@ export default class Vm { _scripts: ParsedMaki[] = []; // This could easily become performance sensitive. We could make this more // performant by normalizing some of these things when scripts are added. - dispatch(object: BaseObject, event: string, args: Variable[] = []) { + dispatch(object: BaseObject, event: string, args: Variable[] = []): number { + let ran = 0; for (const [scriptId, script] of this._scripts.entries()) { for (const binding of script.bindings) { if ( @@ -18,9 +19,11 @@ export default class Vm { ) { const reversedArgs = [...args].reverse(); this.interpret(scriptId, binding.commandOffset, reversedArgs); + ran++; } } } + return ran } addScript(maki: ParsedMaki): number { diff --git a/packages/webamp-modern-2/src/skin/makiClasses/AlbumArt.ts b/packages/webamp-modern-2/src/skin/makiClasses/AlbumArt.ts new file mode 100644 index 00000000..b369a5cc --- /dev/null +++ b/packages/webamp-modern-2/src/skin/makiClasses/AlbumArt.ts @@ -0,0 +1,43 @@ +import AUDIO_PLAYER from "../AudioPlayer"; +import Layer from "./Layer"; + +// http://wiki.winamp.com/wiki/XML_GUI_Objects#.3CAlbumArt.2F.3E +export default class AlbumArt extends Layer { + static GUID = "6dcb05e448c28ac4f04993b14af50e91"; + + constructor() { + super(); + this._width = 0; + this._height = 0; + this._relatw = "1"; + this._relath = "1"; + } + + draw() { + super.draw(); + this.refresh(); + } + + refresh() { + const albumArtUrl = AUDIO_PLAYER._albumArtUrl; + if (albumArtUrl != null) { + this._div.style.pointerEvents = "all"; + this._div.style.backgroundImage = `url(${albumArtUrl})`; + this._div.style.backgroundSize = "cover"; + } else { + this._div.style.removeProperty("background-image"); + } + } + + isloading(): number { + return 1; + } + + onAlbumArtLoaded(success: boolean) { + return true; //TODO + } + + isinvalid(): boolean { + return false; + } +} diff --git a/packages/webamp-modern-2/src/skin/makiClasses/Button.ts b/packages/webamp-modern-2/src/skin/makiClasses/Button.ts index 055392de..3776f2ee 100644 --- a/packages/webamp-modern-2/src/skin/makiClasses/Button.ts +++ b/packages/webamp-modern-2/src/skin/makiClasses/Button.ts @@ -18,12 +18,13 @@ export default class Button extends GuiObj { super(); // TODO: Cleanup! this._div.addEventListener("mousedown", this._handleMouseDown.bind(this)); - this._div.addEventListener("click", (e) => { + this._div.addEventListener("click", (e: MouseEvent) => { if (this._action) { this.dispatchAction(this._action, this._param, this._actionTarget); } - // TODO: Only left button - this.onLeftClick(); + if (e.button == 0) { + this.leftclick(); + } }); } @@ -56,6 +57,7 @@ export default class Button extends GuiObj { this._param = value; break; case "action_target": + case "cbtarget": this._actionTarget = value; break; default: @@ -71,7 +73,7 @@ export default class Button extends GuiObj { } if (this._image != null) { const bitmap = UI_ROOT.getBitmap(this._image); - return bitmap.getHeight(); + if (bitmap) return bitmap.getHeight(); } return super.getheight(); } @@ -83,15 +85,15 @@ export default class Button extends GuiObj { } if (this._image != null) { const bitmap = UI_ROOT.getBitmap(this._image); - return bitmap.getWidth(); + if (bitmap) return bitmap.getWidth(); } return super.getwidth(); } getactivated(): boolean { - return this._active; + return this._active ? true : false; } - setactivated(_onoff: boolean) { + setactivated(_onoff: boolean | number) { const onoff = Boolean(_onoff); if (onoff !== this._active) { @@ -107,12 +109,41 @@ export default class Button extends GuiObj { leftclick() { this.onLeftClick(); + if (this._action && this._actionTarget) { + const guiObj = this.findobject(this._actionTarget); + if (guiObj) { + guiObj.sendaction( + this._action, + this._param, + 0, + 0, + this._div.offsetLeft, + this._div.offsetTop, + this + ); + } + } } onLeftClick() { UI_ROOT.vm.dispatch(this, "onleftclick", []); } + handleAction( + action: string, + param: string | null = null, + actionTarget: string | null = null + ): boolean { + if (actionTarget) { + const guiObj = this.findobject(actionTarget); + if (guiObj) { + guiObj.handleAction(action, param); + return true; + } + } + return false; + } + _renderBackground() { if (this._image != null) { const bitmap = UI_ROOT.getBitmap(this._image); @@ -156,6 +187,13 @@ export default class Button extends GuiObj { this._renderBackground(); } + hide() { + if (document.activeElement == this._div) { + this.getparentlayout()._parent._div.focus(); + } + super.hide(); + } + /* extern Button.onActivate(int activated); extern Button.onLeftClick(); diff --git a/packages/webamp-modern-2/src/skin/makiClasses/ComponentBucket.ts b/packages/webamp-modern-2/src/skin/makiClasses/ComponentBucket.ts new file mode 100644 index 00000000..fa8fe8f6 --- /dev/null +++ b/packages/webamp-modern-2/src/skin/makiClasses/ComponentBucket.ts @@ -0,0 +1,124 @@ +import GuiObj from "./GuiObj"; +import UI_ROOT from "../../UIRoot"; +import Group from "./Group"; +import { px, toBool } from "../../utils"; +import Button from "./Button"; + +// http://wiki.winamp.com/wiki/XML_GUI_Objects#.3Ccomponentbucket.2F.3E +export default class ComponentBucket extends Group { + static GUID = "97aa3e4d4fa8f4d0f20a7b818349452a"; + _wndType: string; + _vertical: boolean = false; // default horizontal + _wrapper: HTMLElement; + _page: number = 0; + + constructor() { + super(); + this._wrapper = document.createElement("wrapper"); + } + + setXmlAttr(_key: string, value: string): boolean { + const key = _key.toLowerCase(); + if (super.setXmlAttr(key, value)) { + return true; + } + + switch (key.toLowerCase()) { + case "wndtype": + this._wndType = value.toLowerCase(); + break; + case "vertical": + this._vertical = toBool(value); + break; + default: + return false; + } + return true; + } + + getWindowType(): string { + return this._wndType; + } + + getmaxheight(): number { + return this._maximumHeight; + } + getmaxwidth(): number { + return this._maximumWidth; + } + + setscroll(x: number): number { + return 10; //TODO setscroll to ._div + } + + getscroll(): number { + return 10; //TODO: Check by ._div.scroll + } + + getnumchildren(): number { + return this._children.length; + } + + enumchildren(n: number): GuiObj { + return this._children[n]; + } + + handleAction( + action: string, + param: string | null = null, + actionTarget: string | null = null + ) { + switch (action.toLowerCase()) { + case "cb_prev": + case "cb_prevpage": + this._scrollPage(1); + return true; + case "cb_next": + case "cb_nextpage": + this._scrollPage(-1); + return true; + } + return false; + } + + init() { + this.resolveButtonsAction(); + super.init(); + } + resolveButtonsAction() { + for (const obj of this.getparent()._children) { + if ( + obj instanceof Button && + (obj._actionTarget == null || obj._actionTarget == "bucket") && + (obj._action && obj._action.startsWith('cb_')) + ) { + obj._actionTarget = this.getId() + } + } + } + + _scrollPage(step: 1 | -1) { + if (!this._children.length) return; + const oneChild = this._children[0]; + const oneStep = this._vertical ? oneChild.getheight() : oneChild.getwidth(); + const anchor = this._vertical ? "top" : "left"; + const currentStep = this._vertical? this._wrapper.offsetTop : this._wrapper.offsetLeft; + //TODO: Clamp to not over top nor over left (showing empty space bug) + this._wrapper.style.setProperty(anchor, px(currentStep + oneStep * step)); + } + + appendChildrenDiv() { + // ComponentBucket wraps its children in a div to be scrollable + this._div.appendChild(this._wrapper); + this._appendChildrenToDiv(this._wrapper); + } + + draw() { + super.draw(); + if (this._vertical) { + this._div.classList.add("vertical"); + } else { + this._div.classList.remove("vertical"); + } + } +} diff --git a/packages/webamp-modern-2/src/skin/makiClasses/Config.ts b/packages/webamp-modern-2/src/skin/makiClasses/Config.ts index 287c493e..c86875b5 100644 --- a/packages/webamp-modern-2/src/skin/makiClasses/Config.ts +++ b/packages/webamp-modern-2/src/skin/makiClasses/Config.ts @@ -1,10 +1,24 @@ import XmlObj from "../XmlObj"; import ConfigItem from "./ConfigItem"; -export default class Config extends XmlObj { +const _items : {[key:string]: ConfigItem} = {}; + +export default class ConfigClass { static GUID = "593dba224976d07771f452b90b405536"; newitem(itemName: string, itemGuid: string): ConfigItem { - return new ConfigItem(); + const cfg = new ConfigItem(); + cfg._name = itemName; + _items[itemGuid] = cfg; + return cfg; + } + + getitem(itemGuid: string): ConfigItem { + let cfg = _items[itemGuid]; + if(!cfg){ + cfg = new ConfigItem(); + _items[itemGuid] = cfg; + } + return cfg; } } diff --git a/packages/webamp-modern-2/src/skin/makiClasses/ConfigAttribute.ts b/packages/webamp-modern-2/src/skin/makiClasses/ConfigAttribute.ts new file mode 100644 index 00000000..e1261f50 --- /dev/null +++ b/packages/webamp-modern-2/src/skin/makiClasses/ConfigAttribute.ts @@ -0,0 +1,26 @@ +// import XmlObj from "../XmlObj"; + +export default class ConfigAttribute { + static GUID = "24dec2834a36b76e249ecc8c736c6bc4"; + _name : string; + _default: string; + _value: string; + + constructor(name:string, defaultValue: string) { +// constructor() { + // super(); + this._name = name; + this._default = defaultValue; + // this._value = '' + } + getdata():string{ + // return ''; + return this._value || this._default || ''; + } + setdata(value:string){ + this._value = value; + } + ondatachanged(){ + // this._value = value; + } +} diff --git a/packages/webamp-modern-2/src/skin/makiClasses/ConfigItem.ts b/packages/webamp-modern-2/src/skin/makiClasses/ConfigItem.ts index 8e10a605..d4a7fe54 100644 --- a/packages/webamp-modern-2/src/skin/makiClasses/ConfigItem.ts +++ b/packages/webamp-modern-2/src/skin/makiClasses/ConfigItem.ts @@ -1,3 +1,23 @@ import XmlObj from "../XmlObj"; +import ConfigAttribute from "./ConfigAttribute"; -export default class ConfigItem extends XmlObj {} + +export default class ConfigItem { + static GUID = "d40302824d873aab32128d87d5fcad6f"; + _name : string; + _items : {[key:string]: ConfigAttribute} = {}; + +// constructor(name:string) { + // constructor() { + // super(); + // this._name = name; + // this._items = {}; + // } + + newattribute(name: string, defaultValue: string): ConfigAttribute { + const cfg = new ConfigAttribute(name, defaultValue); + // const cfg = new ConfigAttribute(); + // this._items[name] = cfg; + return cfg; + } +} diff --git a/packages/webamp-modern-2/src/skin/makiClasses/Container.ts b/packages/webamp-modern-2/src/skin/makiClasses/Container.ts index d3b26d3c..b141d58a 100644 --- a/packages/webamp-modern-2/src/skin/makiClasses/Container.ts +++ b/packages/webamp-modern-2/src/skin/makiClasses/Container.ts @@ -2,6 +2,7 @@ import UI_ROOT from "../../UIRoot"; import { assert, num, px, removeAllChildNodes, toBool } from "../../utils"; import Layout from "./Layout"; import XmlObj from "../XmlObj"; +import Group from "./Group"; // > A container is a top level object and it basically represents a window. // > Nothing holds a container. It is an object that holds multiple related @@ -15,6 +16,7 @@ export default class Container extends XmlObj { _activeLayout: Layout | null = null; _visible: boolean = true; _id: string; + _name: string; _x: number = 0; _y: number = 0; _componentGuid: string; // eg. "guid:{1234-...-0ABC}" @@ -30,6 +32,9 @@ export default class Container extends XmlObj { return true; } switch (key) { + case "name": + this._name = value; + break; case "id": this._id = value.toLowerCase(); break; @@ -158,14 +163,28 @@ export default class Container extends XmlObj { throw new Error(`Could not find a container with the id; "${layoutId}"`); } + /** + * @ret Layout + */ + getCurLayout(): Layout { + return this._activeLayout; + } + + + addLayout(layout: Layout) { - layout.setParentContainer(this); + layout.setParent(this as unknown as Group); this._layouts.push(layout); if (this._activeLayout == null) { this._activeLayout = layout; } } + // parser need it. + addChild(layout: Layout) { + this.addLayout(layout) + } + _clearCurrentLayout() { removeAllChildNodes(this._div); } @@ -212,6 +231,8 @@ export default class Container extends XmlObj { draw() { this._div.setAttribute("id", this.getId()); + this._div.setAttribute("tabindex", "1"); + this._renderDimensions(); this._renderLayout(); } } diff --git a/packages/webamp-modern-2/src/skin/makiClasses/Grid.ts b/packages/webamp-modern-2/src/skin/makiClasses/Grid.ts new file mode 100644 index 00000000..f54aa477 --- /dev/null +++ b/packages/webamp-modern-2/src/skin/makiClasses/Grid.ts @@ -0,0 +1,98 @@ +import GuiObj from "./GuiObj"; +import UI_ROOT from "../../UIRoot"; +import { px } from "../../utils"; + +// http://wiki.winamp.com/wiki/XML_GUI_Objects +export default class Grid extends GuiObj { +// static GUID = "5ab9fa1545579a7d5765c8aba97cc6a6"; + _image: string; // link to Bitmap._id + _left : HTMLElement; + _middle: HTMLElement; + _right : HTMLElement; + + constructor(){ + super(); + this._left = document.createElement('left'); + this._middle = document.createElement('middle'); + this._right = document.createElement('right'); + this._div.appendChild(this._left) + this._div.appendChild(this._middle) + this._div.appendChild(this._right) + } + + setXmlAttr(key: string, value: string): boolean { + if (super.setXmlAttr(key, value)) { + return true; + } + switch (key) { + case "middle": + // this._image = value; + // this._renderBackground(); + this._setBitmap(this._middle, value); + break; + case "left": + this._setBitmap(this._left, value); + break; + case "right": + this._setBitmap(this._right, value); + break; + default: + return false; + } + return true; + } + + // This shadows `getheight()` on GuiObj + getheight(): number { + if (this._height) { + return this._height; + } + if (this._image != null) { + const bitmap = UI_ROOT.getBitmap(this._image); + if(bitmap) return bitmap.getHeight(); + } + return super.getheight(); + } + + // This shadows `getwidth()` on GuiObj + getwidth(): number { + if (this._width) { + return this._width; + } + if (this._image != null) { + const bitmap = UI_ROOT.getBitmap(this._image); + if(bitmap) return bitmap.getWidth(); + } + return super.getwidth(); + } + + _renderBackground() { + const bitmap = this._image != null ? UI_ROOT.getBitmap(this._image) : null; + this.setBackgroundImage(bitmap); + } + + _setBitmap(element: HTMLElement, bitmap_id: string) { + const bitmap = UI_ROOT.getBitmap(bitmap_id); + // this.setBackgroundImage(bitmap); + if(bitmap){ + bitmap.setAsBackground(element); + element.style.width = px(bitmap.getWidth()); + } + } + + draw() { + super.draw(); + // this._div.setAttribute("data-obj-name", "Layer"); + // this._div.style.pointerEvents = this._sysregion==-2 || this._ghost? 'none' : 'auto'; + this._div.style.pointerEvents = 'none'; + // this._div.style.overflow = "hidden"; + this._div.style.removeProperty("display"); + this._div.classList.add("webamp--img"); + this._renderBackground(); + } + //setRegionFromMap(regionMap:Map, threshold:number) + + isinvalid():boolean { + return false; + } +} diff --git a/packages/webamp-modern-2/src/skin/makiClasses/Group.ts b/packages/webamp-modern-2/src/skin/makiClasses/Group.ts index e4500eaf..68b66262 100644 --- a/packages/webamp-modern-2/src/skin/makiClasses/Group.ts +++ b/packages/webamp-modern-2/src/skin/makiClasses/Group.ts @@ -3,10 +3,12 @@ import UI_ROOT from "../../UIRoot"; import GuiObj from "./GuiObj"; import SystemObject from "./SystemObject"; import Movable from "./Movable"; +import Layout from "./Layout"; // http://wiki.winamp.com/wiki/XML_GUI_Objects#.3Cgroup.2F.3E export default class Group extends Movable { static GUID = "45be95e5419120725fbb5c93fd17f1f9"; + _inited: boolean = false; _parent: Group; _instanceId: string; _background: string; @@ -14,7 +16,9 @@ export default class Group extends Movable { _drawBackground: boolean = true; _isLayout: boolean = false; _systemObjects: SystemObject[] = []; - _children: GuiObj[] = []; + _actualWidth: number; // for _invalidatesize, after draw + _actualHeight: number; + _regionCanvas: HTMLCanvasElement; setXmlAttr(_key: string, value: string): boolean { const key = _key.toLowerCase(); @@ -40,6 +44,11 @@ export default class Group extends Movable { } init() { + if (this._inited) return; + this._inited = true; + + super.init(); + for (const systemObject of this._systemObjects) { systemObject.init(); } @@ -62,22 +71,6 @@ export default class Group extends Movable { this._children.push(child); } - findobject(objectId: string): GuiObj | null { - const lower = objectId.toLowerCase(); - for (const obj of this._children) { - if (obj.getId() === lower) { - return obj; - } - if (obj instanceof Group) { - const found = obj.findobject(objectId); - if (found != null) { - return found; - } - } - } - return null; - } - /* Required for Maki */ getobject(objectId: string): GuiObj { const lower = objectId.toLowerCase(); @@ -92,7 +85,15 @@ export default class Group extends Movable { ); } - getparentlayout(): Group { + enumobject(index: number): GuiObj { + return this._children[index]; + } + + getnumobjects(): number { + return this._children.length; + } + + getparentlayout(): Layout { let obj: Group = this; while (obj._parent) { if (obj._isLayout) { @@ -103,7 +104,11 @@ export default class Group extends Movable { if (!obj) { console.warn("getParentLayout", this.getId(), "failed!"); } - return obj; + return obj as Layout; + } + + isLayout(): boolean { + return this._isLayout; } // This shadows `getheight()` on GuiObj @@ -113,17 +118,23 @@ export default class Group extends Movable { const bitmap = UI_ROOT.getBitmap(this._background); if (bitmap) return bitmap.getHeight(); } - return h; + return h ?? 0; } // This shadows `getwidth()` on GuiObj getwidth(): number { + if (this._autowidthsource) { + const widthSource = this.findobject(this._autowidthsource); + if (widthSource) { + return widthSource.getautowidth(); + } + } const w = super.getwidth(); if (w == null && this._background != null) { const bitmap = UI_ROOT.getBitmap(this._background); if (bitmap) return bitmap.getWidth(); } - return w; + return w ?? 0; } _renderBackground() { @@ -135,23 +146,140 @@ export default class Group extends Movable { } } + async doResize() { + UI_ROOT.vm.dispatch(this, "onresize", [ + { type: "INT", value: 0 }, + { type: "INT", value: 0 }, + { type: "INT", value: this.getwidth() }, + { type: "INT", value: this.getheight() }, + ]); + } + + /** + * it is needed because render region is expensive. + * Hence, we recalculate regions only if needed */ + async _invalidateSize() { + const actualBox = this._div.getBoundingClientRect(); + if ( + actualBox.width != this._actualWidth || + actualBox.height != this._actualHeight + ) { + this._actualWidth = actualBox.width; + this._actualHeight = actualBox.height; + this.doResize(); + this.applyRegions(); + } + for (const child of this._children) { + if (child instanceof Group) child._invalidateSize(); + } + } + + // SYSREGION THINGS ============================== + applyRegions() { + this._regionCanvas = null; + let hasRegions = false; + for (const child of this._children) { + // child.draw(); + if (child._sysregion == -1 || child._sysregion == -2) { + this.putAsRegion(child); + hasRegions = true; + } + } + if (hasRegions) { + this.setRegion(); + } + this._regionCanvas = null; + } + + putAsRegion(child: GuiObj) { + if ( + this._regionCanvas == null || + this._regionCanvas.width == 0 || + this._regionCanvas.height == 0 + ) { + const canvas = (this._regionCanvas = document.createElement("canvas")); + const bound = this._div.getBoundingClientRect(); + canvas.width = bound.width; + canvas.height = bound.height; + // console.log('createRegionCanvas:', bound.width, bound.height) + const ctx = canvas.getContext("2d"); + ctx.fillStyle = "white"; + ctx.fillRect(0, 0, bound.width, bound.height); + } + if (this._regionCanvas.width == 0 || this._regionCanvas.height == 0) { + return; + } + + const ctx2 = this._regionCanvas.getContext("2d"); + const r = child._div.getBoundingClientRect(); + const bitmap = child._backgroundBitmap; + const img = child._backgroundBitmap.getImg(); + ctx2.drawImage( + img, + bitmap._x, + bitmap._y, + r.width, + r.height, + + child._div.offsetLeft, + child._div.offsetTop, + r.width, + r.height + ); + } + + setRegion() { + if (this._regionCanvas.width == 0 || this._regionCanvas.height == 0) { + return; + } + + const ctx2 = this._regionCanvas.getContext("2d"); + + const imageData = ctx2.getImageData( + 0, + 0, + this._regionCanvas.width, + this._regionCanvas.height + ); + const data = imageData.data; + for (var i = 0; i < data.length; i += 4) { + data[i + 3] = data[i + 0]; + } + ctx2.putImageData(imageData, 0, 0); + + this._regionCanvas.toBlob((blob) => { + const url = URL.createObjectURL(blob); + this._div.style.setProperty("mask-image", `url(${url})`); + this._div.style.setProperty("-webkit-mask-image", `url(${url})`); + }); + } + + appendChildrenDiv() { + // ComponentBucket may has different way to append children + this._appendChildrenToDiv(this._div); + } + _appendChildrenToDiv(containerDiv: HTMLElement) { + for (const child of this._children) { + child.draw(); + containerDiv.appendChild(child.getDiv()); + } + } + draw() { super.draw(); this._div.classList.add("webamp--img"); // It seems Groups are not responsive to click events. if (this._movable || this._resizable) { - // this._div.style.removeProperty('pointer-events'); this._div.style.pointerEvents = "auto"; } else { this._div.style.pointerEvents = "none"; } //TODO: allow move/resize if has ._image this._div.style.pointerEvents = "none"; - // this._div.style.overflow = "hidden"; this._renderBackground(); - for (const child of this._children) { - child.draw(); - this._div.appendChild(child.getDiv()); + this.appendChildrenDiv(); + if (this._autowidthsource) { + this._div.classList.add("autowidthsource"); } } } diff --git a/packages/webamp-modern-2/src/skin/makiClasses/GroupXFade.ts b/packages/webamp-modern-2/src/skin/makiClasses/GroupXFade.ts new file mode 100644 index 00000000..16685bc6 --- /dev/null +++ b/packages/webamp-modern-2/src/skin/makiClasses/GroupXFade.ts @@ -0,0 +1,106 @@ +import Group from "./Group"; +import { findLast, num, px, removeAllChildNodes, toBool } from "../../utils"; +import UI_ROOT from "../../UIRoot"; +import { XmlElement } from "@rgrove/parse-xml"; +import GuiObj from "./GuiObj"; + +export default class GroupXFade extends Group { + _speed: number = null; + _activeChild: GuiObj = null; + + getElTag(): string { + return "group"; + } + + setXmlAttr(_key: string, value: string): boolean { + const key = _key.toLowerCase(); + if (super.setXmlAttr(key, value)) { + return true; + } + + switch (key) { + case "speed": + this._speed = num(value); + break; + case "groupid": + // this._speed = num(value); + console.log("xFade new groupid", value); + this._switchTo(value.toLowerCase()); + break; + default: + return false; + } + return true; + } + + handleAction( + action: string, + param: string | null = null, + actionTarget: string | null = null + ) { + // if(action.toLowerCase().startsWith('switchto;')){ + // UI_ROOT.vm.dispatch(this, 'onaction', [ + + // ]) + // } + switch (action.toLowerCase()) { + case "groupid": + // this._switchTo(action.toLowerCase()); + return true; + case "switchto": + // switchto seem as controlled by maki, + // which in turn call setXmlParam("groupid", grp) + // so we do nothing here + break; + } + return false; + } + + init() { + super.init(); + } + + async _switchTo(group_id: string) { + // hide current page + if (this._activeChild) this._fadeOut(this._activeChild); + + let child = findLast(this._children, (c) => c.getId() == group_id); + if (child == null) { + const dummyNode = new XmlElement("dummy", { + id: group_id, + w: "0", + h: "0", + relatw: "1", + relath: "1", + alpha: "0", + }); + child = await UI_ROOT._parser.group(dummyNode, this); + child.draw(); + child.init(); + this._div.appendChild(child.getDiv()); + } + this._activeChild = child; + this._fadeIn(child); + } + + // hide slowly + async _fadeOut(child: GuiObj) { + child._div.classList.add("fading-out"); + child.setalpha(0); + setTimeout(() => { + child._div.classList.remove("fading-out"); + }, this._speed); + } + //show slowly + async _fadeIn(child: GuiObj) { + child.setalpha(255); + // + } + + draw() { + super.draw(); + this._div.classList.add("x-fade"); + this._div.style.setProperty("--fade-in-speed", `${this._speed}s`); + this._div.style.setProperty("--fade-out-speed", `${this._speed / 2}s`); + } +} diff --git a/packages/webamp-modern-2/src/skin/makiClasses/GuiObj.ts b/packages/webamp-modern-2/src/skin/makiClasses/GuiObj.ts index a1042634..360e0e4d 100644 --- a/packages/webamp-modern-2/src/skin/makiClasses/GuiObj.ts +++ b/packages/webamp-modern-2/src/skin/makiClasses/GuiObj.ts @@ -1,8 +1,17 @@ import UI_ROOT from "../../UIRoot"; -import { assert, num, toBool, px, assume, relative } from "../../utils"; +import { + assert, + num, + toBool, + px, + assume, + relative, + findLast, +} from "../../utils"; import Bitmap from "../Bitmap"; import Group from "./Group"; import XmlObj from "../XmlObj"; +import Layout from "./Layout"; let BRING_LEAST: number = -1; let BRING_MOST_TOP: number = 1; @@ -11,9 +20,11 @@ let BRING_MOST_TOP: number = 1; export default class GuiObj extends XmlObj { static GUID = "4ee3e1994becc636bc78cd97b028869c"; _parent: Group; + _children: GuiObj[] = []; _id: string; - _width: number; - _height: number; + _name: string; + _width: number = 0; + _height: number = 0; _x: number = 0; _y: number = 0; _minimumHeight: number = 0; @@ -24,14 +35,12 @@ export default class GuiObj extends XmlObj { _relaty: string; _relatw: string; _relath: string; - // _resize: string; + _autowidthsource: string; _droptarget: string; _visible: boolean = true; _alpha: number = 255; _ghost: boolean = false; _sysregion: number = 0; - // _movable: boolean = false; - // _resizable: number = 0; _tooltip: string = ""; _targetX: number | null = null; _targetY: number | null = null; @@ -42,8 +51,8 @@ export default class GuiObj extends XmlObj { _goingToTarget: boolean = false; _div: HTMLElement; _backgroundBitmap: Bitmap | null = null; - // _resizingEventsRegisterd: boolean = false; - // _movingEventsRegisterd: boolean = false; + + _metaCommands: XmlElement[] = []; constructor() { super(); @@ -67,6 +76,13 @@ export default class GuiObj extends XmlObj { case "id": this._id = value.toLowerCase(); break; + case "name": + this._name = value; + break; + + case "autowidthsource": + this._autowidthsource = value.toLowerCase(); + break; case "w": case "default_w": this._width = num(value); @@ -114,6 +130,12 @@ export default class GuiObj extends XmlObj { case "droptarget": this._droptarget = value; break; + case "dblclickaction": + const [action, param, actionTarget] = value.split(";"); + this._div.addEventListener("dblclick", (e) => { + this.dispatchAction(action, param, actionTarget); + }); + break; case "ghost": this._ghost = toBool(value); break; @@ -121,6 +143,11 @@ export default class GuiObj extends XmlObj { this._visible = toBool(value); this._renderVisibility(); break; + case "activealpha": + case "inactivealpha": + this._div.setAttribute(key, value); // set directly to html attribute + break; + case "tooltip": this._tooltip = value; break; @@ -136,38 +163,53 @@ export default class GuiObj extends XmlObj { return true; } - init() { - this._div.addEventListener("mousedown", (e) => { - e.stopPropagation(); - /* - if (this._backgroundBitmap != null) { - const { clientX, clientY } = e; - const { x, y } = this._div.getBoundingClientRect(); - const canvasX = clientX - x; - const canvasY = clientY - y; - const canvas = this._backgroundBitmap.getCanvas(); - const ctx = canvas.getContext("2d"); + setxmlparam(key: string, value: string) { + this.setXmlAttr(key, value); + } - const opacity = ctx.getImageData(canvasX, canvasY, 1, 1).data[3]; - if (opacity === 0) { - this._div.style.pointerEvents = "none"; - const newTarget = document.elementFromPoint(clientX, clientY); - this._div.style.pointerEvents = "auto"; - var newEvent = new MouseEvent("click", { - clientX, - clientY, - bubbles: true, - }); - newTarget.dispatchEvent(newEvent); - return; + setSize(newWidth: number, newHeight: number) {} + + init() { + //process and + for (const node of this._metaCommands) { + const cmd = node.name.toLowerCase(); + const el = node.attributes.group + ? this.findobject(node.attributes.group) + : this; + const targets_ids = node.attributes.target.split(";"); + for (const target_id of targets_ids) { + // individual target + const gui = el.findobjectF( + target_id, + `<${cmd}(${target_id})=notfound. @${this.getId()}` + ); + if (gui == null) { + continue; + } + if (cmd == "sendparams") { + for (let attribute in node.attributes) { + if (gui && attribute != "target") { + gui.setxmlparam(attribute, node.attributes[attribute]); + } + } + } else if (cmd == "hideobject" && target_id != "close") { + gui.hide(); } } - */ - this.onLeftButtonDown(e.clientX, e.clientY); + } - const mouseUpHandler = (e) => { - // e.stopPropagation(); - this.onLeftButtonUp(e.clientX, e.clientY); + this._div.addEventListener("mousedown", (e) => { + e.stopPropagation(); + this.onLeftButtonDown( + e.offsetX + this.getleft(), + e.offsetY + this.gettop() + ); + + const mouseUpHandler = (e: MouseEvent) => { + this.onLeftButtonUp( + e.offsetX + this.getleft(), + e.offsetY + this.gettop() + ); this._div.removeEventListener("mouseup", mouseUpHandler); }; this._div.addEventListener("mouseup", mouseUpHandler); @@ -186,7 +228,7 @@ export default class GuiObj extends XmlObj { } getId(): string { - return this._id; + return this._id || ''; } /** @@ -204,6 +246,9 @@ export default class GuiObj extends XmlObj { this._visible = false; this._renderVisibility(); } + isvisible(): boolean { + return this._visible; + } /** * Get the Y position, in the screen, of the @@ -271,6 +316,101 @@ export default class GuiObj extends XmlObj { this._renderDimensions(); } + getxmlparam(param: string): string { + const _ = this["_" + param]; + return _ != null ? _.toString() : null; + } + getguiw(): number { + return this._width; + } + getguih(): number { + return this._height; + } + getguix(): number { + return this._x; + } + getguiy(): number { + return this._y; + } + getguirelatw(): number { + return this._relatw == "1" ? 1 : 0; + } + getguirelath(): number { + return this._relath == "1" ? 1 : 0; + } + getguirelatx(): number { + return this._relatx == "1" ? 1 : 0; + } + getguirelaty(): number { + return this._relaty == "1" ? 1 : 0; + } + getautowidth(): number { + const child = !this._autowidthsource + ? this + : findLast( + this._children, + (c) => c._id.toLowerCase() == this._autowidthsource + ); + if (child) { + return child._div.getBoundingClientRect().width; + } + return 1; + } + getautoheight(): number { + return this._div.getBoundingClientRect().height; + } + + findobject(id: string): GuiObj { + if (id.toLowerCase() == this.getId().toLowerCase()) return this; + + //? Phase 1: find in this children + let ret = this._findobject(id); + + //? Phase 2: find in this layout's children + if (!ret /* && this._parent */) { + const layout = this.getparentlayout(); + if (layout) { + ret = layout._findobject(id); + } + } + if (!ret && id != "sysmenu") { + console.warn(`findObject(${id}) failed, @${this.getId()}`); + } + return ret; + } + + /* internal findObject with custom error msg */ + findobjectF(id: string, msg: string): GuiObj { + const ret = this._findobject(id); + if (!ret && id != "sysmenu") { + console.warn(msg); + } + return ret; + } + + _findobject(id: string): GuiObj { + // too complex to consol.log here + const lower = id.toLowerCase(); + // find in direct children first + for (const obj of this._children) { + if ((obj.getId() || "").toLowerCase() === lower) { + return obj; + } + } + // find in grand child + for (const obj of this._children) { + const found = obj._findobject(id); + if (found != null) { + return found; + } + } + return null; + } + + isActive(): boolean { + return this._div.matches(":focus"); + } + /** * Hookable. Event happens when the left mouse * button was previously down and is now up. @@ -476,6 +616,13 @@ export default class GuiObj extends XmlObj { window.requestAnimationFrame(update); } + /** + * isGoingToTarget() + */ + isgoingtotarget() { + return this._goingToTarget; + } + /** * Experimental/unused */ @@ -523,10 +670,6 @@ export default class GuiObj extends XmlObj { assume(false, "Unimplemented"); } - /** - * isGoingToTarget() - */ - // [WHERE IS THIS?] // modifies the x/y targets so that they compensate for gained width/height. useful to make drawers that open up without jittering @@ -561,7 +704,27 @@ export default class GuiObj extends XmlObj { return this._alpha; } - getparentlayout(): Group { + clienttoscreenx(x: number): number { + return x; + } + + clienttoscreeny(y: number): number { + return y; + } + + screentoclientx(x: number): number { + return x; + } + + screentoclienty(y: number): number { + return y; + } + + getparent(): Group { + return this._parent; + } + + getparentlayout(): Layout { if (this._parent) { return this._parent.getparentlayout(); } @@ -577,11 +740,22 @@ export default class GuiObj extends XmlObj { this._div.style.zIndex = String(BRING_LEAST); } + setenabled(onoff:boolean|number){ + //TODO: + } + handleAction( action: string, - param: string | null, - actionTarget: string | null + param: string | null = null, + actionTarget: string | null = null ): boolean { + if (actionTarget) { + const guiObj = this.findobject(actionTarget); + if (guiObj) { + guiObj.handleAction(action, param); + return true; + } + } return false; } @@ -597,6 +771,26 @@ export default class GuiObj extends XmlObj { } } + sendaction( + action: string, + param: string, + x: number, + y: number, + p1: number, + p2: number, + source: GuiObj, + ): number { + return UI_ROOT.vm.dispatch(this, "onaction", [ + { type: "STRING", value: action }, + { type: "STRING", value: param }, + { type: "INT", value: x }, + { type: "INT", value: y }, + { type: "INT", value: p1 }, + { type: "INT", value: p2 }, + { type: "OBJECT", value: source }, + ]); + } + _renderAlpha() { if (this._alpha != 255) { this._div.style.opacity = `${this._alpha / 255}`; @@ -643,6 +837,15 @@ export default class GuiObj extends XmlObj { this._renderHeight(); } + doResize() { + UI_ROOT.vm.dispatch(this, "onresize", [ + { type: "INT", value: 0 }, + { type: "INT", value: 0 }, + { type: "INT", value: this.getwidth() }, + { type: "INT", value: this.getheight() }, + ]); + } + setBackgroundImage(bitmap: Bitmap | null) { this._backgroundBitmap = bitmap; if (bitmap != null) { @@ -680,7 +883,7 @@ export default class GuiObj extends XmlObj { if (this._tooltip) { this._div.setAttribute("title", this._tooltip); } - if (this._ghost) { + if (this._ghost || this._sysregion == -2) { this._div.style.pointerEvents = "none"; } else { this._div.style.pointerEvents = "auto"; diff --git a/packages/webamp-modern-2/src/skin/makiClasses/Layer.ts b/packages/webamp-modern-2/src/skin/makiClasses/Layer.ts index 88503d8d..159007d7 100644 --- a/packages/webamp-modern-2/src/skin/makiClasses/Layer.ts +++ b/packages/webamp-modern-2/src/skin/makiClasses/Layer.ts @@ -34,7 +34,7 @@ export default class Layer extends Movable { } if (this._image != null) { const bitmap = UI_ROOT.getBitmap(this._image); - return bitmap.getHeight(); + if(bitmap) return bitmap.getHeight(); } return super.getheight(); } @@ -46,7 +46,7 @@ export default class Layer extends Movable { } if (this._image != null) { const bitmap = UI_ROOT.getBitmap(this._image); - return bitmap.getWidth(); + if(bitmap) return bitmap.getWidth(); } return super.getwidth(); } @@ -60,7 +60,7 @@ export default class Layer extends Movable { if (this._sysregion == 1 && this._image) { const canvas = UI_ROOT.getBitmap(this._image).getCanvas(); const edge = new Edges(); - edge.parseCanvasTransparency(canvas); + edge.parseCanvasTransparency(canvas, this.getwidth(), this.getheight()); if (edge.isSimpleRect()) { this.setXmlAttr("sysregion", "0"); } else { diff --git a/packages/webamp-modern-2/src/skin/makiClasses/Layout.ts b/packages/webamp-modern-2/src/skin/makiClasses/Layout.ts index da6aed05..6b6a7e5c 100644 --- a/packages/webamp-modern-2/src/skin/makiClasses/Layout.ts +++ b/packages/webamp-modern-2/src/skin/makiClasses/Layout.ts @@ -14,13 +14,13 @@ import { px } from "../../utils"; // -- http://wiki.winamp.com/wiki/Modern_Skin:_Container export default class Layout extends Group { static GUID = "60906d4e482e537e94cc04b072568861"; - _parentContainer: Container | null = null; _resizingDiv: HTMLDivElement = null; _resizing: boolean = false; _resizable: number = 0; // combination of 4 directions: N/E/W/S _movingStartX: number; //container XY _movingStartY: number; _moving: boolean = false; + _snap = { left: 0, top: 0, right: 0, bottom: 0 }; constructor() { super(); @@ -41,8 +41,26 @@ export default class Layout extends Group { return true; } - setParentContainer(container: Container) { - this._parentContainer = container; + // setParent(container: Container) { + // this._parent = container; + // } + + getcontainer(): Container { + return this._parent as unknown as Container; + } + + gettop(): number { + return this._parent._y; + } + + /** + * Get the X position, in the screen, of the + * left edge of the object. + * + * @ret The left edge's position (in screen coordinates). + */ + getleft(): number { + return this._parent._x; } dispatchAction( @@ -60,12 +78,44 @@ export default class Layout extends Group { } switch (action) { default: - if (this._parentContainer != null) { - this._parentContainer.dispatchAction(action, param, actionTarget); + if (this._parent != null) { + this._parent.dispatchAction(action, param, actionTarget); } } } + snapadjust(left: number, top: number, right: number, bottom: number) { + this._snap.left = left; + this._snap.top = top; + this._snap.right = right; + this._snap.bottom = bottom; + } + + beforeredock() { + // TODO: + } + + redock() { + // TODO: + } + + getsnapadjustbottom(): number { + return 100; + } + + clienttoscreenh(h: number): number { + return h; + } + + islayoutanimationsafe(): boolean { + return true; + } + + init() { + super.init(); + this._invalidateSize(); + } + setResizing(cmd: string, dx: number, dy: number) { const clampW = (w): number => { w = this._maximumWidth ? Math.min(w, this._maximumWidth) : w; @@ -115,7 +165,7 @@ export default class Layout extends Group { this._resizing = false; this.setXmlAttr("w", this._resizingDiv.offsetWidth.toString()); this.setXmlAttr("h", this._resizingDiv.offsetHeight.toString()); - const container = this._parentContainer; + const container = this._parent; container.setXmlAttr( "x", (container._x + this._resizingDiv.offsetLeft).toString() @@ -126,12 +176,13 @@ export default class Layout extends Group { ); this._resizingDiv.remove(); this._resizingDiv = null; + this._invalidateSize(); } } // MOVING THINGS ===================== setMoving(cmd: string, dx: number, dy: number) { - const container = this._parentContainer; + const container = this._parent; if (cmd == "start") { this._moving = true; this._movingStartX = container._x; diff --git a/packages/webamp-modern-2/src/skin/makiClasses/LayoutStatus.ts b/packages/webamp-modern-2/src/skin/makiClasses/LayoutStatus.ts new file mode 100644 index 00000000..7816b5a2 --- /dev/null +++ b/packages/webamp-modern-2/src/skin/makiClasses/LayoutStatus.ts @@ -0,0 +1,22 @@ +import GuiObj from "./GuiObj"; + +// Maybe this? +// http://wiki.winamp.com/wiki/ +export default class LayoutStatus extends GuiObj { + static GUID = "7fd5f21048dfacc45154a0a676dc6c57"; + + setXmlAttr(key: string, value: string): boolean { + if (super.setXmlAttr(key, value)) { + return true; + } + switch (key) { + default: + return false; + } + return true; + } + + callme(str: string){ + console.log('callme:', str) + } +} diff --git a/packages/webamp-modern-2/src/skin/makiClasses/MapObj.ts b/packages/webamp-modern-2/src/skin/makiClasses/MapObj.ts new file mode 100644 index 00000000..1f767a15 --- /dev/null +++ b/packages/webamp-modern-2/src/skin/makiClasses/MapObj.ts @@ -0,0 +1,45 @@ +import UI_ROOT from "../../UIRoot"; +import { assert, px, removeAllChildNodes, toBool } from "../../utils"; +import Layout from "./Layout"; +import XmlObj from "../XmlObj"; + +// > A container is a top level object and it basically represents a window. +// > Nothing holds a container. It is an object that holds multiple related +// > layouts. Each layout represents an appearance for that window. You can design +// > different layouts for each window but only one can be visible at a time. +// +// -- http://wiki.winamp.com/wiki/Modern_Skin +export default class MapObj extends XmlObj { + static GUID = "38603665461B42a7AA75D83F6667BF73"; + + _layouts: Layout[] = []; + _activeLayout: Layout | null = null; + _visible: boolean = true; + _id: string; + _name: string; + constructor() { + super(); + } + + setXmlAttr(_key: string, value: string): boolean { + const key = _key.toLowerCase(); + if (super.setXmlAttr(key, value)) { + return true; + } + switch (key) { + case "name": + this._name = value; + break; + case "id": + this._id = value.toLowerCase(); + break; + case "default_visible": + this._visible = toBool(value); + break; + default: + return false; + } + return true; + } + +} diff --git a/packages/webamp-modern-2/src/skin/makiClasses/Movable.ts b/packages/webamp-modern-2/src/skin/makiClasses/Movable.ts index cda2a4a1..bc4c02b1 100644 --- a/packages/webamp-modern-2/src/skin/makiClasses/Movable.ts +++ b/packages/webamp-modern-2/src/skin/makiClasses/Movable.ts @@ -2,7 +2,7 @@ * this file is needed to workaround of button-moving-layout issue */ -import { toBool } from "../../utils"; +import { throttle, toBool } from "../../utils"; import GuiObj from "./GuiObj"; import Layout from "./Layout"; @@ -141,7 +141,7 @@ export default class Movable extends GuiObj { const deltaX = newMouseX - startX; layout.setResizing("final", deltaX, deltaY); }; - document.addEventListener("mousemove", handleMove); + document.addEventListener("mousemove", throttle(handleMove, 75)); document.addEventListener("mouseup", handleMouseUp); }; @@ -187,17 +187,18 @@ export default class Movable extends GuiObj { const deltaX = newMouseX - startX; layout.setMoving("final", deltaX, deltaY); }; - document.addEventListener("mousemove", handleMove); + document.addEventListener("mousemove", throttle(handleMove, 50)); document.addEventListener("mouseup", handleMouseUp); }; draw() { super.draw(); - if (this._movable || this._resizable) { + if (this._ghost || this._sysregion == -2) { + this._div.style.pointerEvents = "none"; + } else if (this._movable || this._resizable) { this._div.style.pointerEvents = "auto"; } else if (this._ghost) { this._div.style.pointerEvents = "none"; - this._div.style.setProperty("--pointer-events-by", "movable"); } } } diff --git a/packages/webamp-modern-2/src/skin/makiClasses/ProgressGrid.ts b/packages/webamp-modern-2/src/skin/makiClasses/ProgressGrid.ts new file mode 100644 index 00000000..d7551939 --- /dev/null +++ b/packages/webamp-modern-2/src/skin/makiClasses/ProgressGrid.ts @@ -0,0 +1,37 @@ +import Grid from "./Grid"; +import UI_ROOT from "../../UIRoot"; +import { px } from "../../utils"; + +// http://wiki.winamp.com/wiki/XML_GUI_Objects +export default class ProgressGrid extends Grid { +// static GUID = "5ab9fa1545579a7d5765c8aba97cc6a6"; +_disposeDisplaySubscription: () => void | null = null; + + constructor(){ + super(); + this._disposeDisplaySubscription = UI_ROOT.audio.onCurrentTimeChange( + () => { + this._middle.style.width = `${UI_ROOT.audio.getCurrentTimePercent()*100}%`; + } + ); + } + + setXmlAttr(key: string, value: string): boolean { + if (super.setXmlAttr(key, value)) { + return true; + } + switch (key) { + case "orientation": + break; + default: + return false; + } + return true; + } + + draw() { + super.draw() + this._div.style.removeProperty('display') + } + +} diff --git a/packages/webamp-modern-2/src/skin/makiClasses/Slider.ts b/packages/webamp-modern-2/src/skin/makiClasses/Slider.ts index 1a6a5fcf..d5cfdc9b 100644 --- a/packages/webamp-modern-2/src/skin/makiClasses/Slider.ts +++ b/packages/webamp-modern-2/src/skin/makiClasses/Slider.ts @@ -1,11 +1,24 @@ import UI_ROOT from "../../UIRoot"; -import { assume, clamp, num, px } from "../../utils"; +import { assume, clamp, num, px, throttle } from "../../utils"; import GuiObj from "./GuiObj"; -interface ActionHandler { +class ActionHandler { + _slider: Slider; + constructor(slider: Slider) { + this._slider=slider; + } + _subscription: () => void = () => {}; // 0-255 - onsetposition(position: number): void; - dispose(): void; + onsetposition(position: number): void {} + onLeftMouseDown(x: number, y: number): void {} + onLeftMouseUp(x: number, y: number): void {} + onMouseMove(x: number, y: number): void { + this._slider._setPositionXY(x, y); + } + onFreeMouseMove(x: number, y: number): void {} + dispose(): void { + this._subscription(); + } } const MAX = 255; @@ -20,64 +33,107 @@ export default class Slider extends GuiObj { _downThumb: string; _hoverThumb: string; _action: string | null = null; - _low: number; - _high: number; + _low: number = 0; + _high: number = 1; + _thumbWidth: number = 0; + _thumbHeight: number = 0; _position: number = 0; _param: string | null = null; - _thumbDiv: HTMLDivElement = document.createElement("div"); + // _thumbDiv: HTMLDivElement = document.createElement("div"); _actionHandler: null | ActionHandler; + _onSetPositionEvenEaten: number; + _mouseX: number; + _mouseY: number; - constructor() { - super(); - this._thumbDiv.addEventListener("mousedown", (downEvent: MouseEvent) => { + getRealWidth() { + return this._div.getBoundingClientRect().width; + } + + /** + * set .position by X, Y + * where X,Y is mouseEvent.offsetX & Y + */ + _setPositionXY(x: number, y: number) { + //TODO: consider padding. where padding = thumbSize/2 + const width = this.getRealWidth() - this._thumbWidth; + const height = this.getheight() - this._thumbHeight; + const newPercent = this._vertical ? (height - y) / height : x / width; + this._position = clamp(newPercent, 0, 1); + this._renderThumbPosition(); + this.doSetPosition(this.getposition()); + } + + _registerDragEvents() { + // this._thumbDiv.addEventListener("mousedown", (downEvent: MouseEvent) => { + this._div.addEventListener("mousedown", (downEvent: MouseEvent) => { downEvent.stopPropagation(); - const bitmap = UI_ROOT.getBitmap(this._thumb); + if (downEvent.button != 0) return; // only care LeftButton + // const bitmap = UI_ROOT.getBitmap(this._thumb); + //TODO: change client/offset into pageX/Y const startX = downEvent.clientX; const startY = downEvent.clientY; - const width = this.getwidth() - bitmap.getWidth(); - const height = this.getheight() - bitmap.getHeight(); - const initialPostition = this._position; + const innerX = downEvent.offsetX; + const innerY = downEvent.offsetY; + // const width = this.getRealWidth() - this._thumbWidth; + // const height = this.getheight() - this._thumbHeight; + // const initialPostition = this._position; + // const newPercent = this._vertical ? startY / height : startX / width; + console.log("mouseDown:", downEvent.offsetX, downEvent.offsetY); + this.doLeftMouseDown(downEvent.offsetX, downEvent.offsetY); const handleMove = (moveEvent: MouseEvent) => { moveEvent.stopPropagation(); const newMouseX = moveEvent.clientX; const newMouseY = moveEvent.clientY; - const deltaY = newMouseY - startY; const deltaX = newMouseX - startX; + const deltaY = newMouseY - startY; - const deltaPercent = this._vertical ? deltaY / height : deltaX / width; - const newPercent = this._vertical - ? initialPostition - deltaPercent - : initialPostition + deltaPercent; + // const deltaPercent = this._vertical ? deltaY / height : deltaX / width; + // const newPercent = this._vertical + // ? initialPostition - deltaPercent + // : initialPostition + deltaPercent; - this._position = clamp(newPercent, 0, 1); - this._renderThumbPosition(); - this.onsetposition(this.getposition()); + // this._position = clamp(newPercent, 0, 1); + // this._renderThumbPosition(); + // this.doSetPosition(this.getposition()); + //below is mousePosition conversion relative to inner _div + this.doMouseMove(innerX + deltaX, innerY + deltaY); }; + const throttleMouseMove = throttle(handleMove,50) + const handleMouseUp = (upEvent: MouseEvent) => { upEvent.stopPropagation(); - UI_ROOT.vm.dispatch(this, "onsetfinalposition", [ - { type: "INT", value: this.getposition() }, - ]); - UI_ROOT.vm.dispatch(this, "onpostedposition", [ - { type: "INT", value: this.getposition() }, - ]); - document.removeEventListener("mousemove", handleMove); + if (upEvent.button != 0) return; // only care LeftButton + + document.removeEventListener("mousemove", throttleMouseMove); document.removeEventListener("mouseup", handleMouseUp); + this.doLeftMouseUp(upEvent.offsetX, upEvent.offsetY); }; - document.addEventListener("mousemove", handleMove); + document.addEventListener("mousemove", throttleMouseMove); document.addEventListener("mouseup", handleMouseUp); }); + + //? free mouse move, currently only Equalizers use it. ============= + this._div.addEventListener("mousemove", (moveEvent: MouseEvent) => { + // moveEvent.stopPropagation(); + this.doFreeMouseMove(moveEvent.offsetX, moveEvent.offsetY); + }); } - setXmlAttr(key: string, value: string): boolean { + + setXmlAttr(_key: string, value: string): boolean { + const key = _key.toLowerCase(); if (super.setXmlAttr(key, value)) { + if (key == "action") this._setAction(value); return true; } - switch (key) { + switch (key.toLowerCase()) { case "thumb": // (id) The bitmap element for the slider thumb. this._thumb = value; + const bitmap = UI_ROOT.getBitmap(this._thumb); + this._thumbWidth = bitmap.getWidth(); + this._thumbHeight = bitmap.getHeight(); break; case "downthumb": // (id) The bitmap element for the slider thumb when held by the user. @@ -126,7 +182,9 @@ export default class Slider extends GuiObj { } init() { + // console.log("SLIDER-INITED!"); this._initializeActionHandler(); + this._registerDragEvents(); } _initializeActionHandler() { @@ -135,7 +193,11 @@ export default class Slider extends GuiObj { this._actionHandler = new SeekActionHandler(this); break; case "eq_band": - this._actionHandler = new EqActionHandler(this, this._param); + if (this._param == "preamp") + this._actionHandler = new PreampActionHandler(this, this._param); + else this._actionHandler = new EqActionHandler(this, this._param); + break; + case "eq_preamp": break; case "pan": this._actionHandler = new PanActionHandler(this); @@ -171,47 +233,109 @@ export default class Slider extends GuiObj { } onsetposition(newPos: number) { - UI_ROOT.vm.dispatch(this, "onsetposition", [ + this._onSetPositionEvenEaten = UI_ROOT.vm.dispatch(this, "onsetposition", [ + //needed by seekerGhost { type: "INT", value: newPos }, ]); + } + doSetPosition(newPos: number) { + this.onsetposition(newPos); if (this._actionHandler != null) { this._actionHandler.onsetposition(newPos); } } + doLeftMouseDown(x: number, y: number) { + this._setPositionXY(x, y); + UI_ROOT.vm.dispatch(this, "onleftbuttondown", [ + { type: "INT", value: x }, + { type: "INT", value: y }, + ]); + if (this._actionHandler != null) { + this._actionHandler.onLeftMouseDown(x, y); + } + } + doMouseMove(x: number, y: number) { + if (this._actionHandler != null) { + this._actionHandler.onMouseMove(x, y); + } + } + doLeftMouseUp(x: number, y: number) { + // console.log("slider.doLeftMouseUp"); + UI_ROOT.vm.dispatch(this, "onleftbuttonup", [ + { type: "INT", value: x }, + { type: "INT", value: y }, + ]); + UI_ROOT.vm.dispatch(this, "onsetfinalposition", [ + { type: "INT", value: this.getposition() }, + ]); + UI_ROOT.vm.dispatch(this, "onpostedposition", [ + { type: "INT", value: this.getposition() }, + ]); + if (this._actionHandler != null) { + // console.log("slider_ACTION.doLeftMouseUp"); + this._actionHandler.onLeftMouseUp(x, y); + } + } + + doFreeMouseMove(x: number, y: number) { + // UI_ROOT.vm.dispatch(this, "onleftbuttondown", [ + // { type: "INT", value: x }, + // { type: "INT", value: y }, + // ]); + if (this._actionHandler != null) { + this._actionHandler.onFreeMouseMove(x, y); + } + } + _renderThumb() { - this._thumbDiv.style.position = "absolute"; - this._thumbDiv.setAttribute("data-obj-name", "Slider::Handle"); - this._thumbDiv.classList.add("webamp--img"); + // this._thumbDiv.style.position = "absolute"; + // this._thumbDiv.setAttribute("data-obj-name", "Slider::Handle"); + // this._thumbDiv.classList.add("webamp--img"); if (this._thumb != null) { const bitmap = UI_ROOT.getBitmap(this._thumb); - this._thumbDiv.style.width = px(bitmap.getWidth()); - this._thumbDiv.style.height = px(bitmap.getHeight()); - bitmap.setAsBackground(this._thumbDiv); + // this._thumbDiv.style.width = px(bitmap.getWidth()); + // this._thumbDiv.style.height = px(bitmap.getHeight()); + // bitmap.setAsBackground(this._thumbDiv); + + bitmap._setAsBackground(this._div, "thumb-"); + this._div.style.setProperty("--thumb-width", px(bitmap.getWidth())); + this._div.style.setProperty("--thumb-height", px(bitmap.getHeight())); } if (this._downThumb != null) { const bitmap = UI_ROOT.getBitmap(this._downThumb); - bitmap.setAsActiveBackground(this._thumbDiv); + // bitmap.setAsDownBackground(this._thumbDiv); + + bitmap._setAsBackground(this._div, "thumb-down-"); } if (this._hoverThumb != null) { const bitmap = UI_ROOT.getBitmap(this._hoverThumb); - bitmap.setAsHoverBackground(this._thumbDiv); + // bitmap.setAsHoverBackground(this._thumbDiv); + + bitmap._setAsBackground(this._div, "thumb-hover-"); } } _renderThumbPosition() { if (this._thumb != null) { - const bitmap = UI_ROOT.getBitmap(this._thumb); + // const bitmap = UI_ROOT.getBitmap(this._thumb); // TODO: What if the orientation has changed? if (this._vertical) { const top = - (1 - this._position) * (this.getheight() - bitmap.getHeight()); - this._thumbDiv.style.top = px(top); + (1 - this._position) * (this.getheight() - this._thumbHeight); + // this._thumbDiv.style.top = px(top); + + this._div.style.setProperty("--thumb-top", px(top)); } else { - const left = this._position * (this.getwidth() - bitmap.getWidth()); - this._thumbDiv.style.left = px(left); + // const left = (1 - this._position * (this.getwidth() - bitmap.getWidth()); + const curwidth = this.getRealWidth(); + const left = this._position * (curwidth - this._thumbWidth); + // console.log('thumb.left', this._position, left, 'w:',this.getwidth(),'bmp.w:', bitmap.getWidth()) + // this._thumbDiv.style.left = px(left); + + this._div.style.setProperty("--thumb-left", px(left)); } } } @@ -224,7 +348,7 @@ export default class Slider extends GuiObj { assume(this._barMiddle == null, "Need to handle Slider barmiddle"); this._renderThumb(); this._renderThumbPosition(); - this._div.appendChild(this._thumbDiv); + // this._div.appendChild(this._thumbDiv); } dispose() { @@ -251,31 +375,101 @@ export default class Slider extends GuiObj { **/ // eslint-disable-next-line rulesdir/proper-maki-types -class SeekActionHandler implements ActionHandler { - _subscription: () => void; + +class SeekActionHandler extends ActionHandler { + _pendingChange: boolean; + + isPendingChange(): boolean { + return true; // this._pendingChange || this._dragging; + // return this._dragging == true; + } + constructor(slider: Slider) { - const update = () => { - slider._position = UI_ROOT.audio.getCurrentTimePercent(); + super(slider); + this._registerOnAudioProgress(); + } + + _registerOnAudioProgress() { + this._subscription = UI_ROOT.audio.onCurrentTimeChange( + this._onAudioProgres + ); + } + + _onAudioProgres = () => { + if (!this._pendingChange) { + if (this._slider.getId() == "seekerghost") + console.log("thumb: not isPending()!"); + this._slider._position = UI_ROOT.audio.getCurrentTimePercent(); // TODO: We could throttle this, or only render if the change is "significant"? + this._slider._renderThumbPosition(); + } + }; + + onsetposition(position: number): void { + // console.log("seek:", position); + this._pendingChange = this._slider._onSetPositionEvenEaten != 0; + if (!this._pendingChange) { + UI_ROOT.audio.seekToPercent(position / MAX); + } + } + + // onLeftMouseDown(x: number, y: number) {} + onLeftMouseUp(x: number, y: number) { + // console.log("slider_ACTION.doLeftMouseUp"); + if (this._pendingChange) { + this._pendingChange = false; + UI_ROOT.audio.seekToPercent(this._slider.getposition() / MAX); + } + } +} + +const EqGlobalVar = { eqMouseDown: false, targetSlider: null }; +// eslint-disable-next-line rulesdir/proper-maki-types +class EqActionHandler extends ActionHandler { + _kind: string; + + constructor(slider: Slider, kind: string) { + super(slider); + this._kind = kind; + const update = () => { + slider._position = UI_ROOT.audio.getEq(kind); slider._renderThumbPosition(); }; update(); - this._subscription = UI_ROOT.audio.onCurrentTimeChange(update); + this._subscription = UI_ROOT.audio.onEqChange(kind, update); + } + + onLeftMouseDown(x: number, y: number): void { + EqGlobalVar.eqMouseDown = true; + } + onLeftMouseUp(x: number, y: number): void { + EqGlobalVar.eqMouseDown = false; + } + + onFreeMouseMove(x: number, y: number): void { + if (EqGlobalVar.eqMouseDown) { + EqGlobalVar.targetSlider = this._slider; + this._slider._setPositionXY(x, y); + } + } + + onMouseMove(x: number, y: number): void { + if (EqGlobalVar.eqMouseDown && EqGlobalVar.targetSlider) { + // send mouse pos to last hovered slider + EqGlobalVar.targetSlider._setPositionXY(x, y); + } } onsetposition(position: number): void { - UI_ROOT.audio.seekToPercent(position / MAX); - } - dispose(): void { - this._subscription(); + UI_ROOT.audio.setEq(this._kind, position / MAX); } } // eslint-disable-next-line rulesdir/proper-maki-types -class EqActionHandler implements ActionHandler { - _subscription: () => void; +class PreampActionHandler extends ActionHandler { _kind: string; constructor(slider: Slider, kind: string) { + super(slider); this._kind = kind; const update = () => { slider._position = UI_ROOT.audio.getEq(kind); @@ -288,37 +482,39 @@ class EqActionHandler implements ActionHandler { onsetposition(position: number): void { UI_ROOT.audio.setEq(this._kind, position / MAX); } - dispose(): void { - this._subscription(); +} + +// eslint-disable-next-line rulesdir/proper-maki-types +class PanActionHandler extends ActionHandler { + onsetposition(position: number): void { + // TODO } } // eslint-disable-next-line rulesdir/proper-maki-types -class PanActionHandler implements ActionHandler { - _subscription: () => void; +class VolumeActionHandler extends ActionHandler { + _changing: boolean = false; + constructor(slider: Slider) { - this._subscription = () => {}; + super(slider); + slider._position = UI_ROOT.audio.getVolume(); + slider._renderThumbPosition(); + + this._subscription = UI_ROOT.audio.onVolumeChanged(() => { + if (!this._changing) { + slider._position = UI_ROOT.audio.getVolume(); + slider._renderThumbPosition(); + } + }); } onsetposition(position: number): void { - // TODO + UI_ROOT.audio.setVolume(position / 255); } - dispose(): void { - this._subscription(); - } -} - -// eslint-disable-next-line rulesdir/proper-maki-types -class VolumeActionHandler implements ActionHandler { - _subscription: () => void; - constructor(slider: Slider) { - this._subscription = () => {}; - } - - onsetposition(position: number): void { - // TODO - } - dispose(): void { - this._subscription(); + onLeftMouseDown(x: number, y: number) { + this._changing = true; + } + onLeftMouseUp(x: number, y: number) { + this._changing = false; } } diff --git a/packages/webamp-modern-2/src/skin/makiClasses/Status.ts b/packages/webamp-modern-2/src/skin/makiClasses/Status.ts index 2526f666..c1ca0330 100644 --- a/packages/webamp-modern-2/src/skin/makiClasses/Status.ts +++ b/packages/webamp-modern-2/src/skin/makiClasses/Status.ts @@ -1,17 +1,100 @@ import GuiObj from "./GuiObj"; +import UI_ROOT from "../../UIRoot"; +import { AUDIO_PAUSED, AUDIO_STOPPED, AUDIO_PLAYING } from "../AudioPlayer"; // Maybe this? // http://wiki.winamp.com/wiki/XML_GUI_Objects#.3CWasabi:StandardFrame:Status.2F.3E export default class Status extends GuiObj { static GUID = "0f08c9404b23af39c4b8f38059bb7e8f"; - setXmlAttr(key: string, value: string): boolean { + _stopbitmap: string; + _playbitmap: string; + _pausebitmap: string; + _state: string = AUDIO_STOPPED; + + constructor() { + super(); + UI_ROOT.audio.on("statchanged", () => this._updateStatus()); + } + + _updateStatus() { + this._state = UI_ROOT.audio.getState(); + this._renderBackground(); + } + + setXmlAttr(_key: string, value: string): boolean { + const key = _key.toLowerCase(); if (super.setXmlAttr(key, value)) { return true; } switch (key) { + case "stopbitmap": + this._stopbitmap = value; + this._renderBackground(); + break; + case "playbitmap": + this._playbitmap = value; + this._renderBackground(); + break; + case "pausebitmap": + this._pausebitmap = value; + this._renderBackground(); + break; default: return false; } return true; } + + // This shadows `getheight()` on GuiObj + getheight(): number { + if (this._height) { + return this._height; + } + if (this._stopbitmap != null) { + const bitmap = UI_ROOT.getBitmap(this._stopbitmap); + return bitmap ? bitmap.getHeight() : 15; + } + return super.getheight(); + } + + // This shadows `getwidth()` on GuiObj + getwidth(): number { + if (this._width) { + return this._width; + } + if (this._stopbitmap != null) { + const bitmap = UI_ROOT.getBitmap(this._stopbitmap); + return bitmap ? bitmap.getWidth() : 15; + } + return super.getwidth(); + } + + _renderBackground() { + let bitmap_id:string; + switch (this._state) { + case AUDIO_PLAYING: + bitmap_id = this._playbitmap; + break; + case AUDIO_PAUSED: + bitmap_id = this._pausebitmap; + break; + case AUDIO_STOPPED: + default: + bitmap_id = this._stopbitmap; + break; + } + const bitmap = UI_ROOT.getBitmap(bitmap_id); + if (bitmap != null) { + this.setBackgroundImage(bitmap); + } else { + this.setBackgroundImage(null); + } + } + + draw() { + super.draw(); + // this._div.setAttribute("data-obj-name", "Button"); + this._div.classList.add("webamp--img"); + this._renderBackground(); + } } diff --git a/packages/webamp-modern-2/src/skin/makiClasses/SystemObject.ts b/packages/webamp-modern-2/src/skin/makiClasses/SystemObject.ts index c9f1aaf7..56f426dd 100644 --- a/packages/webamp-modern-2/src/skin/makiClasses/SystemObject.ts +++ b/packages/webamp-modern-2/src/skin/makiClasses/SystemObject.ts @@ -8,12 +8,15 @@ import PRIVATE_CONFIG from "../PrivateConfig"; import UI_ROOT from "../../UIRoot"; import GuiObj from "./GuiObj"; +import { AUDIO_PAUSED, AUDIO_STOPPED, AUDIO_PLAYING } from "../AudioPlayer"; + const MOUSE_POS = { x: 0, y: 0 }; // TODO: Figure out how this could be unsubscribed eventually document.addEventListener("mousemove", (e: MouseEvent) => { - MOUSE_POS.x = e.clientX; - MOUSE_POS.y = e.clientY; + // https://stackoverflow.com/questions/6073505/what-is-the-difference-between-screenx-y-clientx-y-and-pagex-y + MOUSE_POS.x = e.pageX; + MOUSE_POS.y = e.pageY; }); export default class SystemObject extends BaseObject { @@ -21,16 +24,44 @@ export default class SystemObject extends BaseObject { _parentGroup: Group; _parsedScript: ParsedMaki; _param: string; + _id: string; - constructor(parsedScript: ParsedMaki, param: string) { + constructor(parsedScript: ParsedMaki, param: string, id: string) { super(); this._parsedScript = parsedScript; this._param = param; + this._id = id; // useful while debuggin UI_ROOT.audio.onSeek(() => { UI_ROOT.vm.dispatch(this, "onseek", [ { type: "INT", value: UI_ROOT.audio.getCurrentTimePercent() * 255 }, ]); }); + UI_ROOT.audio.on("play", () => UI_ROOT.vm.dispatch(this, "onplay", [])); + UI_ROOT.audio.on("pause", () => UI_ROOT.vm.dispatch(this, "onpause", [])); + UI_ROOT.audio.on("stop", () => UI_ROOT.vm.dispatch(this, "onstop", [])); + // UI_ROOT.audio.onPlay(() => UI_ROOT.vm.dispatch(this, "onplay", [])); + UI_ROOT.audio.onVolumeChanged(() => { + UI_ROOT.vm.dispatch(this, "onvolumechanged", [ + { type: "INT", value: UI_ROOT.audio.getVolume() * 255 }, + ]); + }); + const EqBandHandle = (band: number) => { + // console.log('eq.changed:',band, UI_ROOT.audio.getEq(String(band))) + UI_ROOT.vm.dispatch(this, "oneqbandchanged", [ + { type: "INT", value: band }, + { type: "INT", value: UI_ROOT.audio.getEq(String(band)) * 255 - 127 }, + ]); + }; + UI_ROOT.audio.onEqChange("1", () => EqBandHandle(1)); + UI_ROOT.audio.onEqChange("2", () => EqBandHandle(2)); + UI_ROOT.audio.onEqChange("3", () => EqBandHandle(3)); + UI_ROOT.audio.onEqChange("4", () => EqBandHandle(4)); + UI_ROOT.audio.onEqChange("5", () => EqBandHandle(5)); + UI_ROOT.audio.onEqChange("6", () => EqBandHandle(6)); + UI_ROOT.audio.onEqChange("7", () => EqBandHandle(7)); + UI_ROOT.audio.onEqChange("8", () => EqBandHandle(8)); + UI_ROOT.audio.onEqChange("9", () => EqBandHandle(9)); + UI_ROOT.audio.onEqChange("10", () => EqBandHandle(10)); } init() { @@ -426,7 +457,7 @@ export default class SystemObject extends BaseObject { * @param defvalue The default value to return if no item is found. */ getprivatestring(section: string, item: string, defvalue: string) { - // TODO + return PRIVATE_CONFIG.getPrivateString(section, item, defvalue); } setpublicstring(item: string, value: string) { @@ -984,7 +1015,7 @@ export default class SystemObject extends BaseObject { * @param value The integer to change into a string. */ integertostring(value: number): string { - return String(value); + return String(Math.round(value)); } /** @@ -1133,8 +1164,17 @@ export default class SystemObject extends BaseObject { * @ret STATUS_PAUSED (-1) if paused, STATUS_STOPPED (0) if stopped, STATUS_PLAYING (1) if playing. */ getstatus(): number { - // TODO: Pull this from the actual media player - return 1; + const audioState = UI_ROOT.audio.getState(); + switch (audioState) { + case AUDIO_PLAYING: + return 1; + case AUDIO_PAUSED: + return -1; + case AUDIO_STOPPED: + return 0; + default: + console.warn("Unknown audio state:", audioState); + } } /** @@ -1562,6 +1602,42 @@ export default class SystemObject extends BaseObject { // TODO: Should this return an int? return Math.random() * max; } + + oneqfreqchanged(isiso: number) {} + + getsonginfotext(): string { + return "123kbps stereo 79khz"; + } + + getsonginfotexttranslated(): string { + return this.getplayitemstring(); + } + + lockui() { + //TODO: + } + + unlockui() { + //TODO: + } + + istransparencyavailable():boolean { + return true + } + + translate(str: string): string { + return str; + } + + isvideo(): number { + return 0; + } + isvideofullscreen(): number { + return 0; + } + iskeydown(vk: number): number { + return 0; + } } function dumpScriptDebug(script: ParsedMaki) { diff --git a/packages/webamp-modern-2/src/skin/makiClasses/Text.ts b/packages/webamp-modern-2/src/skin/makiClasses/Text.ts index f92bb5ae..0f0fc539 100644 --- a/packages/webamp-modern-2/src/skin/makiClasses/Text.ts +++ b/packages/webamp-modern-2/src/skin/makiClasses/Text.ts @@ -8,7 +8,9 @@ import { num, px, toBool, + clamp, } from "../../utils"; +import Timer from "./Timer"; // http://wiki.winamp.com/wiki/XML_GUI_Objects#.3Ctext.2F.3E_.26_.3CWasabi:Text.2F.3E export default class Text extends GuiObj { @@ -18,27 +20,41 @@ export default class Text extends GuiObj { _disposeDisplaySubscription: () => void | null = null; _text: string; _bold: boolean; - _forceupcase: boolean; _forceuppercase: boolean; - _forcelocase: boolean; _forcelowercase: boolean; _align: string; - _font: string; + _font_id: string; + _font_obj: TrueTypeFont | BitmapFont; _fontSize: number; _color: string; - _ticker: boolean; + _ticker: string = "off"; // "scroll" | "bounce" | "off" + _paddingX: number = 2; _timeColonWidth: number | null = null; + _textWrapper: HTMLElement; + _scrollTimer: Timer; + _scrollDirection: -1 | 1; + _scrollPaused: boolean = false; + _scrollLeft: number = 0; // logically, not visually + _textFullWidth: number; //calculated, not runtime by css + _drawn: boolean = false; // needed to check has parents + + constructor() { + super(); + this._textWrapper = document.createElement("wrap"); + this._div.appendChild(this._textWrapper); + } setXmlAttr(key: string, value: string): boolean { if (super.setXmlAttr(key, value)) { return true; } - switch (key) { + switch (key.toLowerCase()) { case "display": // (str) Either a specific system display string or the string identifier of a text feed. Setting this value will override the text parameter. See below. this._setDisplay(value); break; case "text": + case "default": // (str) A static string to be displayed. this._text = value; this._renderText(); @@ -46,19 +62,22 @@ export default class Text extends GuiObj { case "bold": // (str) A static string to be displayed. this._bold = toBool(value); + this._prepareCss(); break; case "forceupcase": - // (bool) Force the system to make the display string all uppercase before display. - this._forceupcase = toBool(value); - break; case "forceuppercase": // (bool) Force the system to make the display string all uppercase before display. this._forceuppercase = toBool(value); + this._prepareCss(); + this._renderText(); break; case "font": // (id) The id of a bitmapfont or truetypefont element. If no element with that id can be found, the OS will be asked for a font with that name instead. - this._font = value; - this._renderText(); + this._font_id = value; + this._autoDetectFontType(); + this.ensureFontSize(); + this._prepareCss(); + // this._renderText(); break; case "align": // (str) One of the following three possible strings: "left" "center" "right" -- Default is "left." @@ -67,6 +86,9 @@ export default class Text extends GuiObj { case "fontsize": // (int) The size to render the chosen font. this._fontSize = num(value); + //this._renderText(); // + this.ensureFontSize(); + this._invalidateFullWidth(); break; case "color": // (int[sic?]) The comma delimited RGB color of the text. @@ -74,11 +96,13 @@ export default class Text extends GuiObj { break; case "ticker": /// (bool) Setting this flag causes the object to scroll left and right if the text does not fit the rectangular area of the text object. - this._ticker = toBool(value); + if (value == "0") value = "off"; + this._ticker = value.toLowerCase(); break; case "timecolonwidth": // (int) How many extra pixels wider or smaller should the colon be when displaying time. Default is -1. this._timeColonWidth = num(value); + this._prepareCss(); this._renderText(); /* antialias - (bool) Setting this flag causes the text to be rendered antialiased if possible. @@ -105,6 +129,41 @@ offsety - (int) Extra pixels to be added to or subtracted from the calculated x return true; } + _autoDetectFontType() { + if (this._font_id) { + this._font_obj = UI_ROOT.getFont(this._font_id); + if (!this._font_obj) { + const newFont = new TrueTypeFont(); + newFont._inlineFamily = this._font_id; + UI_ROOT.addFont(newFont); + this._font_obj = newFont; + } + } + } + + ensureFontSize() { + if (this._font_obj instanceof TrueTypeFont && this._fontSize) { + const canvas = document.createElement("canvas"); + const context = canvas.getContext("2d"); + context.font = `${this._fontSize}px ${ + this._font_obj.getFontFamily() || "Arial" + }`; + const metrics = context.measureText("IWH"); + const fontHeight = + metrics.fontBoundingBoxAscent + metrics.fontBoundingBoxDescent; + + this._fontSize = + this._fontSize * (1 - (fontHeight - this._fontSize) / this._fontSize); + } + } + + init() { + super.init(); + if (this._ticker && this._ticker != "off") { + this._prepareScrolling(); + } + } + _setDisplay(display: string) { if (display.toLowerCase() === this._display?.toLowerCase()) { return; @@ -135,10 +194,11 @@ offsety - (int) Extra pixels to be added to or subtracted from the calculated x this._displayValue = "5:58"; break; case "songname": - this._displayValue = "Niente da Caprie (3"; - break; + // this._displayValue = "Niente da Caprie (3"; + // break; case "songtitle": - this._displayValue = "Niente da Caprie (3"; + this._displayValue = "Your Favorite MP3 Song Title, U R Reading"; + // this._displayValue = "Short MP3 Title"; break; case "songbitrate": case "songsamplerate": @@ -161,7 +221,13 @@ offsety - (int) Extra pixels to be added to or subtracted from the calculated x } } - getText() { + gettext() { + if ((this._text || "").startsWith(":") && this._drawn) { + const layout = this.getparentlayout(); + if (layout) { + return layout.getcontainer()._name || this._text; + } + } if (this._display) { return this._displayValue; } @@ -180,26 +246,67 @@ offsety - (int) Extra pixels to be added to or subtracted from the calculated x // TODO } - _renderText() { - removeAllChildNodes(this._div); - if (this._font) { - const font = UI_ROOT.getFont(this._font); + //to speedup, we spit render. This is only rendering style + _prepareCss() { + if (!this._font_obj) { + this._font_obj = UI_ROOT.getFont(this._font_id); + } + const font = this._font_obj; + if (font instanceof BitmapFont) { + this._textWrapper.setAttribute("font", "BitmapFont"); + this._div.style.setProperty( + "--fontSize", + (this._fontSize || "~").toString() + ); + this.setBackgroundImage(font); + this._div.style.backgroundSize = "0"; //disable parent background, because only children will use it + this._div.style.lineHeight = px(this._div.getBoundingClientRect().height); + this._div.style.setProperty("--charwidth", px(font._charWidth)); + this._div.style.setProperty("--charheight", px(font._charHeight)); + } else { + if (this._color) { + const color = UI_ROOT.getColor(this._color); + if (color) { + this._div.style.color = `var(${color.getCSSVar()}, ${color.getRgb})`; + } + } if (font instanceof TrueTypeFont) { - this._div.innerText = this.getText(); + this._textWrapper.setAttribute("font", "TrueType"); + this._div.style.fontFamily = font.getFontFamily(); - } else if (font instanceof BitmapFont) { - this._renderBitmapFont(font); + this._div.style.fontSize = px(this._fontSize ?? 12); + this._div.style.textTransform = this._forceuppercase + ? "uppercase" + : "none"; + if (this._bold) { + this._div.style.fontWeight = "bold"; + } + if (this._align) { + this._div.style.textAlign = this._align; + } } else if (font == null) { - this._div.innerText = this.getText(); - this._div.style.fontFamily = "Ariel"; + this._div.style.setProperty("--fontMode", "Null"); + this._div.style.fontFamily = "Arial"; } else { throw new Error("Unexpected font"); } } } + _renderText() { + //TODO: invalidating text width is only important when srolling? + this._invalidateFullWidth(); + + const font = this._font_obj; + if (font instanceof BitmapFont) { + this._renderBitmapFont(font); + } else { + this._textWrapper.innerText = this.gettext(); + } + } + _useColonWidth() { - if (this._timeColonWidth == null) { + if (this._timeColonWidth == null || this._display == null) { return false; } switch (this._display.toLowerCase()) { @@ -212,41 +319,117 @@ offsety - (int) Extra pixels to be added to or subtracted from the calculated x } _renderBitmapFont(font: BitmapFont) { + removeAllChildNodes(this._textWrapper); this._div.style.whiteSpace = "nowrap"; const useColonWidth = this._useColonWidth(); - if (this.getText() != null) { - for (const char of this.getText().split("")) { + if (this.gettext() != null) { + for (const char of this.gettext().split("")) { const charNode = font.renderLetter(char); // TODO: This is quite hacky. if (char === ":" && useColonWidth) { charNode.style.width = px(this._timeColonWidth); } - this._div.appendChild(charNode); + this._textWrapper.appendChild(charNode); } } } + _renderBitmapFont1(font: BitmapFont) { + this._div.style.whiteSpace = "nowrap"; + let s = ""; + for (const char of this.gettext().split("")) { + s += `${char}`; + } + this._div.innerHTML = s; + } + + // it is needed for scrolltext. + _invalidateFullWidth() { + const font = this._font_obj; + if (font instanceof BitmapFont) { + this._textFullWidth = this._getBitmapFontTextWidth(font); + } else { + this._textFullWidth = this._getTrueTypeTextWidth(font); + } + this._div.style.setProperty("--full-width", px(this._textFullWidth)); + } + + getautowidth(): number { + this._invalidateFullWidth(); + let textWidth = this._textFullWidth; + if (this._relatw == "1") { + textWidth += this._width * -1; + } + return textWidth; + } + + gettextwidth(): number { + return this.getautowidth(); + } + + _getBitmapFontTextWidth(font: BitmapFont): number { + const charWidth = font._charWidth; + return this.gettext().length * charWidth + this._paddingX * 2; + } + + _getTrueTypeTextWidth(font: TrueTypeFont): number { + /** + * Uses canvas.measureText to compute and return the width of the given text of given font in pixels. + * + * @param {String} text The text to be rendered. + * @param {String} font The css font descriptor that text is to be rendered with (e.g. "bold 14px verdana"). + * + * @see https://stackoverflow.com/questions/118241/calculate-text-width-with-javascript/21015393#21015393 + */ + const self = this; + const canvas = document.createElement("canvas"); + const context = canvas.getContext("2d"); + context.font = `${this._fontSize || 14}px ${ + (font && font.getFontFamily()) || "Arial" + }`; + const metrics = context.measureText(this.gettext()); + return metrics.width + self._paddingX * 2; + } + draw() { + this._drawn = true; super.draw(); this._renderText(); - this._div.style.overflow = "hidden"; - if (this._bold) { - this._div.style.fontWeight = "bold"; - } - if (this._align) { - this._div.style.textAlign = this._align; - } - /* - if (this._color) { - console.log(this._color); - const color = UI_ROOT.getColor(this._color); - console.log({ color }); - this._div.style.color = color.getRbg(); - } - */ + this._div.style.removeProperty("line-height"); + this._div.classList.add("webamp--img"); + } - this._div.style.fontSize = px(this._fontSize ?? 14); + _prepareScrolling() { + this._scrollDirection = -1; + const timer = (this._scrollTimer = new Timer()); + timer.setdelay(50); + timer.setOnTimer(() => { + this.doScrollText(); + }); + timer.start(); + } + + doScrollText() { + const curL = this._scrollLeft; + const step = 1; //pixel + const idle = 20; //when overflow + const container = this._div.getBoundingClientRect(); + const wrapperWidth = this._textFullWidth; + if (wrapperWidth <= container.width) return; + var l = curL + step * this._scrollDirection; + if (l + wrapperWidth < container.width - step * idle) { + // too left + this._scrollDirection *= -1; //? flip dir! + l = curL + step * this._scrollDirection; + } else if (l > step * idle) { + // too right + this._scrollDirection *= -1; //? flip dir! + l = curL + step * this._scrollDirection; + } + this._scrollLeft = l; + l = clamp(l, -(wrapperWidth - container.width), 0); + this._textWrapper.style.left = px(Math.round(l)); } dispose() { diff --git a/packages/webamp-modern-2/src/skin/makiClasses/Timer.ts b/packages/webamp-modern-2/src/skin/makiClasses/Timer.ts index 2dab2710..ef5a8a21 100644 --- a/packages/webamp-modern-2/src/skin/makiClasses/Timer.ts +++ b/packages/webamp-modern-2/src/skin/makiClasses/Timer.ts @@ -2,16 +2,30 @@ import UI_ROOT from "../../UIRoot"; import { assume } from "../../utils"; import BaseObject from "./BaseObject"; +let TIMER_IDS = 0; + export default class Timer extends BaseObject { static GUID = "5d0c5bb64b1f7de1168d0fa741199459"; - _delay: number; + _delay: number = 5000; //x2nie _timeout: NodeJS.Timeout | null = null; + _nid: number; + _onTimer: ()=>void = null; + + constructor(){ + super(); + TIMER_IDS += 1; + this._nid = TIMER_IDS; + } + setdelay(millisec: number) { - assume( - this._timeout == null, - "Tried to change the delay on a running timer" - ); + // assume( + // this._timeout == null, + // "Tried to change the delay on a running timer" + // ); + const running = this.isrunning(); + if(running) this.stop(); this._delay = millisec; + if(running) this.start() } stop() { if (this._timeout != null) { @@ -19,11 +33,46 @@ export default class Timer extends BaseObject { this._timeout = null; } } - start() { - assume(this._delay != null, "Tried to start a timer without a delay"); - this._timeout = setInterval(() => { - UI_ROOT.vm.dispatch(this, "ontimer"); - }, this._delay); + async start(): Promise { + // console.log('timer.start()', this._nid) + if(!this._delay){ + return false; + } + const self=this; + + try{ + assume(this._delay != null, "Tried to start a timer without a delay"); + if(this.isrunning()){ + this.stop(); + } + this._timeout = setInterval(() => { + // console.log('timer.ontimer()', this._nid) + // UI_ROOT.vm.dispatch(self, "ontimer"); + self.doTimer(); + }, this._delay); + return true + } + catch(err){ + return false + } + return false + } + + doTimer(){ + // console.log('timer.ontimer()', this._nid) + if(this._onTimer!=null){ + this._onTimer() + } else { + UI_ROOT.vm.dispatch(this, "ontimer"); + } + } + + setOnTimer(callback:()=>void){ + const handler = ()=>{ + callback(); + } + this._onTimer = handler; + // this._onTimer = callback; } isrunning(): boolean { @@ -34,6 +83,9 @@ export default class Timer extends BaseObject { return this._delay; } + getskipped(): number { + return 0; + } /* extern Int Timer.getSkipped(); */ diff --git a/packages/webamp-modern-2/src/skin/makiClasses/ToggleButton.ts b/packages/webamp-modern-2/src/skin/makiClasses/ToggleButton.ts index 29fc940c..dc417e87 100644 --- a/packages/webamp-modern-2/src/skin/makiClasses/ToggleButton.ts +++ b/packages/webamp-modern-2/src/skin/makiClasses/ToggleButton.ts @@ -1,3 +1,5 @@ +import { V } from "../../maki/v"; +import UI_ROOT from "../../UIRoot"; import Button from "./Button"; // http://wiki.winamp.com/wiki/XML_GUI_Objects#.3Cbutton.2F.3E_.26_.3Ctogglebutton.2F.3E @@ -8,6 +10,10 @@ export default class ToggleButton extends Button { return "button"; } + getcurcfgval(): number{ + return this._active? 1 : 0; + } + /** * This method is called by Button */ @@ -18,6 +24,10 @@ export default class ToggleButton extends Button { this.setactivated(!this._active); } + ontoggle(onoff: boolean){ + UI_ROOT.vm.dispatch(this, "ontoggle", [V.newBool(onoff)]); + } + draw() { super.draw(); this._div.setAttribute("data-obj-name", "ToggleButton"); diff --git a/packages/webamp-modern-2/src/skin/makiClasses/WasabiButton.ts b/packages/webamp-modern-2/src/skin/makiClasses/WasabiButton.ts new file mode 100644 index 00000000..da6cff27 --- /dev/null +++ b/packages/webamp-modern-2/src/skin/makiClasses/WasabiButton.ts @@ -0,0 +1,55 @@ +import Button from "./Button"; + +export default class WasabiButton extends Button { +// static GUID = "unknown"; + _l: HTMLSpanElement = document.createElement("span"); + _r: HTMLSpanElement = document.createElement("span"); + _m: HTMLSpanElement = document.createElement("span"); + + + getElTag():string{ + return 'button'; + } + + constructor(){ + super() + this._div.appendChild(this._l); + this._div.appendChild(this._m); + this._div.appendChild(this._r); + // this._image = 'studio.button' + // this._downimage = 'studio.button.pressed' + } + init(){ + super.init(); + this.setXmlAttr('image','studio.button') + this.setXmlAttr('downimage', 'studio.button.pressed'); + } + + setXmlAttr(key: string, value: string): boolean { + if (super.setXmlAttr(key, value)) { + return true; + } + switch (key) { + case "text": + this._m.innerText = value; + break; + default: + return false; + } + return true; + } + + draw() { + super.draw(); + this._div.classList.add('wasabi-button') + this._div.setAttribute("data-obj-name", "WasabiButton"); + } + +// _renderBackground() { + +// } + /* + extern ToggleButton.onToggle(Boolean onoff); + extern int TOggleButton.getCurCfgVal() + */ +} diff --git a/packages/webamp-modern-2/src/skin/makiClasses/WasabiFrame.ts b/packages/webamp-modern-2/src/skin/makiClasses/WasabiFrame.ts index 78dfacb9..a447198d 100644 --- a/packages/webamp-modern-2/src/skin/makiClasses/WasabiFrame.ts +++ b/packages/webamp-modern-2/src/skin/makiClasses/WasabiFrame.ts @@ -39,7 +39,6 @@ export default class WasabiFrame extends Group { } init() { - // console.error('wasabi:standard->> INITing:', this._content) if (this.__inited) return; this.__inited = true; diff --git a/packages/webamp-modern-2/src/skin/makiClasses/WasabiTitle.ts b/packages/webamp-modern-2/src/skin/makiClasses/WasabiTitle.ts new file mode 100644 index 00000000..99674e7d --- /dev/null +++ b/packages/webamp-modern-2/src/skin/makiClasses/WasabiTitle.ts @@ -0,0 +1,56 @@ +// import Text from "./Text"; +import UI_ROOT from "../../UIRoot"; +import { num, px, relative } from "../../utils"; +import Group from "./Group"; + +export default class WasabiTitleBar extends Group { + static GUID = "7DFD324437514e7cBF4082AE5F3ADC33"; + _padtitleleft: number = 0; + _padtitleright: number = 0; + + setXmlAttr(_key: string, value: string): boolean { + const lowerkey = _key.toLowerCase(); + // console.log('wasabi:frame.key=',lowerkey,':=', value) + if (super.setXmlAttr(lowerkey, value)) { + return true; + } + switch (lowerkey) { + case "padtitleleft": + this._padtitleleft = num(value); + this._renderX(); + break; + case "padtitleright": + this._padtitleright = num(value); + this._renderWidth(); + break; + default: + return false; + } + return true; + } + + _renderX() { + this._div.style.left = this._relatx=='1' ? relative(this._padtitleleft + this._x ?? 0) : px(this._padtitleleft + this._x ?? 0); + // this._div.setAttribute('pad-left', this._padtitleleft.toString()) + } + + _renderWidth() { + // this._div.setAttribute('pad-right', this._padtitleright.toString()) + // this._div.setAttribute('_width', this._width.toString()) + // this._div.setAttribute('_width_', this.getwidth().toString()) + // if(this._autowidthsource) return; + this._div.style.width = this._relatw=='1' ? relative(-this._padtitleleft + -this._padtitleright + this._width??0) : px(-this._padtitleright + this.getwidth()); + } + + + init() { + super.init() + UI_ROOT.vm.dispatch(this, "onresize", [ + { type: "INT", value: 0 }, + { type: "INT", value: 0 }, + { type: "INT", value: this.getwidth() }, + { type: "INT", value: this.getheight() }, + ]); + } + +} diff --git a/packages/webamp-modern-2/src/skin/makiClasses/WinampConfig.ts b/packages/webamp-modern-2/src/skin/makiClasses/WinampConfig.ts new file mode 100644 index 00000000..c56f9acb --- /dev/null +++ b/packages/webamp-modern-2/src/skin/makiClasses/WinampConfig.ts @@ -0,0 +1,32 @@ +import ConfigItem from "./ConfigItem"; + +const _items: { [key: string]: ConfigItem } = {}; + +export default class WinampConfig { + static GUID = "b2ad3f2b4e3131ed95e96dbcbb55d51c"; + // _items : {[key:string]: ConfigItem} = {}; + + getgroup(config_group_guid: string): WinampConfigGroup { + return new WinampConfigGroup(); + } +} + +export class WinampConfigGroup { + static GUID = "fc17844e4518c72bf9a868a080baa530"; + + getbool(itemName: string): boolean { + return true; + } + + getint(itemName: string): number { + return 0; + } + + getstring(itemName: string): string { + return ""; + } +} + +// Global Singleton for now +// export const Config = new ConfigClass(); +// export Config; diff --git a/packages/webamp-modern-2/src/skin/makiClasses/WindowHolder.ts b/packages/webamp-modern-2/src/skin/makiClasses/WindowHolder.ts new file mode 100644 index 00000000..84ec1e90 --- /dev/null +++ b/packages/webamp-modern-2/src/skin/makiClasses/WindowHolder.ts @@ -0,0 +1,40 @@ +import UI_ROOT from "../../UIRoot"; +import { assert, px, removeAllChildNodes, toBool } from "../../utils"; +import GuiObj from "./GuiObj"; +import Group from "./Group"; + +// > A container is a top level object and it basically represents a window. +// > Nothing holds a container. It is an object that holds multiple related +// > layouts. Each layout represents an appearance for that window. You can design +// > different layouts for each window but only one can be visible at a time. +// +// -- http://wiki.winamp.com/wiki/Modern_Skin +export default class WindowHolder extends Group { +// static GUID = "38603665461B42a7AA75D83F6667BF73"; + + constructor() { + super(); + } + +// setXmlAttr(_key: string, value: string): boolean { +// const key = _key.toLowerCase(); +// if (super.setXmlAttr(key, value)) { +// return true; +// } +// switch (key) { +// case "name": +// this._name = value; +// break; +// case "id": +// this._id = value.toLowerCase(); +// break; +// case "default_visible": +// this._visible = toBool(value); +// break; +// default: +// return false; +// } +// return true; +// } + +} diff --git a/packages/webamp-modern-2/src/skin/parse.ts b/packages/webamp-modern-2/src/skin/parse.ts index 714947f3..2896a720 100644 --- a/packages/webamp-modern-2/src/skin/parse.ts +++ b/packages/webamp-modern-2/src/skin/parse.ts @@ -23,41 +23,95 @@ import Color from "./Color"; import GammaGroup from "./GammaGroup"; import ColorThemesList from "./ColorThemesList"; import { UIRoot } from "../UIRoot"; +import AlbumArt from "./makiClasses/AlbumArt"; +import WindowHolder from "./makiClasses/WindowHolder"; import WasabiFrame from "./makiClasses/WasabiFrame"; +import Grid from "./makiClasses/Grid"; +import ProgressGrid from "./makiClasses/ProgressGrid"; +import WasabiTitle from "./makiClasses/WasabiTitle"; +import ComponentBucket from "./makiClasses/ComponentBucket"; +import GroupXFade from "./makiClasses/GroupXFade"; +import { classResolver } from "./resolver"; + +function hack() { + // Without this Snowpack will try to treeshake out resolver causing a circular + // dependency. + classResolver("A funny joke about why this is needed."); +} class ParserContext { container: Container | null = null; parentGroup: Group | /* Group includes Layout | */ null = null; } +const RESOURCE_PHASE = 1; //full async + Promise.all() +const ResourcesTag = [ + // below are some resource that immediatelly popped (removed) from xml structure. + // so wouldn't be parsed twice. + "color", + "bitmap", + "bitmapfont", + "skininfo", + "accelerators", + // other resource not listed here are also parsed/loaded first in RESOURCE_PHASE (eg script) + // but will be kept in xml (unremoved). +]; + +const GROUP_PHASE = 2; //full sync mode, because of inheritance + export default class SkinParser { - _zip: JSZip; _imageManager: ImageManager; _path: string[] = []; - _context: ParserContext = new ParserContext(); - _gammaSet: GammaGroup[] = []; + _includedXml = {}; // {file:xmlelement} + _scripts = {}; // {file:SystemObject} _uiRoot: UIRoot; + _phase: number = 0; + _res = { + bitmaps: { + // 'studio.basetexture': false, + "studio.button": false, + "studio.button.pressed": false, + "studio.scrollbar.vertical.background": false, + "studio.scrollbar.vertical.left": false, + "studio.scrollbar.vertical.right": false, + "studio.scrollbar.vertical.button": false, + "studio.scrollbar.horizontal.background": false, + "studio.scrollbar.horizontal.left": false, + "studio.scrollbar.horizontal.right": false, + "studio.scrollbar.horizontal.button": false, + }, + colors: {}, + }; //requested by skin, later compared with UiRoot._bitmaps - constructor( - zip: JSZip, - uiRoot: UIRoot /* Once UI_ROOT is not a singleton, we can create that objet in the constructor */ - ) { - this._zip = zip; - this._imageManager = new ImageManager(zip); + constructor(uiRoot: UIRoot) { + /* Once UI_ROOT is not a singleton, we can create that objet in the constructor */ + this._imageManager = new ImageManager(); this._uiRoot = uiRoot; } + async parse(): Promise { // Load built-in xui elements // await this.parseFromUrl("assets/xml/xui/standardframe.xml"); - const includedXml = await this.getCaseInsensitiveFile("skin.xml").async( - "string" - ); + const includedXml = await this._uiRoot.getFileAsString("skin.xml"); + // const includedXml = skinXmlContent; // Note: Included files don't have a single root node, so we add a synthetic one. // A different XML parser library might make this unnessesary. - const parsed = parseXml(includedXml); + const parsed = parseXml(includedXml) as unknown as XmlElement; + console.log("RESOURCE_PHASE #################"); + this._phase = RESOURCE_PHASE; await this.traverseChildren(parsed); + await this._solveMissingBitmaps(); + await this._imageManager.loadUniquePaths(); + await this._imageManager.ensureBitmapsLoaded(); + + console.log("GROUP_PHASE #################"); + this._phase = GROUP_PHASE; + await this.traverseChildren(parsed); + + console.log("BUCKET_PHASE #################"); + await this.rebuildBuckets(); return this._uiRoot; } @@ -70,147 +124,244 @@ export default class SkinParser { await this.traverseChildren(parsed); } - async traverseChildren(parent: XmlElement | XmlDocument) { - for (const child of parent.children) { - if (child instanceof XmlElement) { - await this.traverseChild(child); - } + _scanRes(node: XmlElement) { + if (node.attributes.background) { + this._res.bitmaps[node.attributes.background] = false; // just add, dont need to check } } - async traverseChild(node: XmlElement) { + + /** + * Some bitmap al called by group/layer + * but has no explicit declaration in a loaded skin */ + async _solveMissingBitmaps() { + //? checkmark the already availble + for (const bitmap of this._uiRoot._bitmaps) { + this._res.bitmaps[bitmap._id.toLowerCase()] = true; + } + //? build not available bitmap + // ------- ONLY APPLICABLE ONCE WE ABLE TO LOAD FROM FILEPATH ------- + // for (const [key, available] of Object.entries(this._res.bitmaps)) { + // if (!available) { + // const lowercaseId = key.toLowerCase(); + // const dict = getBitmap_system_elements(lowercaseId); + // if(dict!=null){ + // const bitmapEl = new XmlElement('bitmap', {...dict}) + // await this.bitmap(bitmapEl); + // console.log('solving bitmap:', lowercaseId) + // } + // } + // } + } + + async traverseChildren(node: XmlElement, parent: any = null) { + //? NOTE: I am considering to speedup resource loading by Promise.all + //? But in the same time we need to reduce code complexity + //? So, temporary we are trying to not do Promise.all + + // if (this._phase == RESOURCE_PHASE) { + // return await Promise.all( + // node.children.map((child) => { + // if (child instanceof XmlElement) { + // // console.log('traverse->', parent.name, child.name) + // this._scanRes(child); + // return this.traverseChild(child, parent); + // } + // }) + // ); + // } else { + for (const child of node.children) { + if (child instanceof XmlElement) { + this._scanRes(child); + await this.traverseChild(child, parent); + } + } + // } + } + + async traverseChild(node: XmlElement, parent: any) { switch (node.name.toLowerCase()) { + case "albumart": + return this.albumart(node, parent); case "wasabixml": - return this.wasabiXml(node); + return this.wasabiXml(node, parent); case "winampabstractionlayer": - return this.winampAbstractionLayer(node); + return this.winampAbstractionLayer(node, parent); case "include": - return this.include(node); + return this.include(node, parent); case "skininfo": - return this.skininfo(node); + return this.skininfo(node, parent); case "elements": - return this.elements(node); + return this.elements(node, parent); case "bitmap": return this.bitmap(node); case "bitmapfont": - return this.bitmapFont(node); + return await this.bitmapFont(node); case "color": - return this.color(node); + return await this.color(node, parent); case "groupdef": - return this.groupdef(node); + return this.groupdef(node, parent); case "animatedlayer": - return this.animatedLayer(node); + return this.animatedLayer(node, parent); case "layer": - return this.layer(node); + return this.layer(node, parent); case "container": - return this.container(node); + return this.container(node, parent); case "layoutstatus": - return this.layoutStatus(node); - case "hideobject": - return this.hideobject(node); + return this.layoutStatus(node, parent); + case "grid": + return this.grid(node, parent); + case "progressgrid": + return this.progressGrid(node, parent); case "button": - return this.button(node); + return this.button(node, parent); case "togglebutton": - return this.toggleButton(node); + case "nstatesbutton": + return this.toggleButton(node, parent); + case "rect": case "group": - return this.group(node); + return this.group(node, parent); + case "groupxfade": + return this.groupXFade(node, parent); case "layout": - return this.layout(node); + return this.layout(node, parent); + case "windowholder": + return this.windowholder(node, parent); case "component": - return this.component(node); + return this.component(node, parent); case "gammaset": - return this.gammaset(node); + return this.gammaset(node, parent); case "gammagroup": - return this.gammagroup(node); + return this.gammagroup(node, parent); case "slider": - return this.slider(node); + return this.slider(node, parent); case "script": - return this.script(node); + return this.script(node, parent); case "scripts": - return this.scripts(node); + return this.scripts(node, parent); case "text": - return this.text(node); + return this.text(node, parent); + case "songticker": + return this.songticker(node, parent); + case "hideobject": case "sendparams": - return this.sendparams(node); + return this.sendparams(node, parent); case "wasabi:titlebar": - return this.wasabiTitleBar(node); + return this.wasabiTitleBar(node, parent); case "wasabi:button": - return this.wasabiButton(node); + return this.wasabiButton(node, parent); case "truetypefont": - return this.trueTypeFont(node); + return this.trueTypeFont(node, parent); case "eqvis": - return this.eqvis(node); + return this.eqvis(node, parent); + case "colorthemes:mgr": case "colorthemes:list": - return this.colorThemesList(node); + return this.colorThemesList(node, parent); case "status": - return this.status(node); + return this.status(node, parent); case "wasabi:mainframe:nostatus": case "wasabi:medialibraryframe:nostatus": case "wasabi:playlistframe:nostatus": case "wasabi:standardframe:nostatus": case "wasabi:standardframe:status": case "wasabi:visframe:nostatus": - return this.wasabiFrame(node); - case "nstatesbutton": + return this.wasabiFrame(node, parent); case "componentbucket": + return this.componentBucket(node, parent); case "playlisteditor": case "wasabi:tabsheet": case "snappoint": case "accelerators": case "elementalias": case "browser": - case "grid": case "syscmds": // TODO return; // TODO: This should be the default fall through - // return this.xuiElement(node); + // return this.xuiElement(node, parent); case "vis": - return this.vis(node); + return this.vis(node, parent); // Note: Included files don't have a single root node, so we add a synthetic one. // A different XML parser library might make this unnessesary. case "wrapper": - return this.traverseChildren(node); + return this.traverseChildren(node, parent); default: console.warn(`Unhandled XML node type: ${node.name}`); return; } } - addToGroup(obj: GuiObj) { - this._context.parentGroup.addChild(obj); + addToGroup(obj: GuiObj, parent: Group) { + try { + parent.addChild(obj); + } catch (err) { + console.warn("addToGroup failed. child:", obj, "pareng:", parent); + } + } + + async newGui( + Type, + node: XmlElement, + parent: any + ): Promise> { + const gui = new Type(); + gui.setXmlAttributes(node.attributes); + this.addToGroup(gui, parent); + return gui; + } + + async newGroup( + Type, + node: XmlElement, + parent: any + ): Promise> { + const group = new Type(); + await this.maybeApplyGroupDef(group, node); + group.setXmlAttributes(node.attributes); + await this.traverseChildren(node, group); + this.addToGroup(group, parent); + if (node.attributes.instanceid) + group.setxmlparam("id", node.attributes.instanceid); + return group; } /* Individual Element Parsers */ - async wasabiXml(node: XmlElement) { - await this.traverseChildren(node); + async wasabiXml(node: XmlElement, parent: any) { + await this.traverseChildren(node, parent); } - async winampAbstractionLayer(node: XmlElement) { - await this.traverseChildren(node); + async winampAbstractionLayer(node: XmlElement, parent: any) { + await this.traverseChildren(node, parent); } - async elements(node: XmlElement) { - await this.traverseChildren(node); + async elements(node: XmlElement, parent: any) { + await this.traverseChildren(node, parent); } - async group(node: XmlElement) { - const group = new Group(); - const previousParent = this._context.parentGroup; - await this.maybeApplyGroupDef(group, node); - group.setXmlAttributes(node.attributes); - this._context.parentGroup = group; - await this.traverseChildren(node); - this._context.parentGroup = previousParent; - this.addToGroup(group); + async group(node: XmlElement, parent: any): Promise { + return await this.newGroup(Group, node, parent); } - async wasabiFrame(node: XmlElement) { + async groupXFade(node: XmlElement, parent: any) { + const xFade: GroupXFade = await this.newGroup(GroupXFade, node, parent); + this._uiRoot.addXFade(xFade); + } + + async componentBucket(node: XmlElement, parent: any) { + const bucket: ComponentBucket = await this.newGroup( + ComponentBucket, + node, + parent + ); + this._uiRoot.addComponentBucket(bucket.getWindowType(), bucket); + } + + async wasabiFrame(node: XmlElement, parent: any) { const frame = new WasabiFrame(); - const previousParent = this._context.parentGroup; + this.addToGroup(frame, parent); //? Search Wasabi Inheritace - const xuitag: string = node.name; //Wasabi:MainFrame:NoStatus + const xuitag: string = node.name; // eg. Wasabi:MainFrame:NoStatus const xuiEl: XmlElement = this._uiRoot.getXuiElement(xuitag); if (xuiEl) { const xuiFrame = new XmlElement("dummy", { id: xuiEl.attributes.id }); @@ -220,28 +371,24 @@ export default class SkinParser { const groupDef = this._uiRoot.getGroupDef(groupdef_id); if (groupDef) { await this.maybeApplyGroupDef(frame, groupDef); - // console.log('WasabiFrame success to apply groupDef.id=', groupdef_id) - } else { - // console.warn('WasabiFrame failed to apply groupDef.id=', groupdef_id) } } frame.setXmlAttributes(node.attributes); //?content if (node.attributes.content) { - this._context.parentGroup = frame; - await this.group( + const content = await this.group( new XmlElement("group", { id: node.attributes.content, w: "0", h: "0", relatw: "1", relath: "1", - }) + }), + frame ); + frame.addChild(content); } - this._context.parentGroup = previousParent; - this.addToGroup(frame); } /** taken from Winamp Modern skin */ @@ -276,9 +423,10 @@ export default class SkinParser { ); const bitmap = new Bitmap(); bitmap.setXmlAttributes(node.attributes); - await bitmap.ensureImageLoaded(this._imageManager); + this._imageManager.addBitmap(bitmap); this._uiRoot.addBitmap(bitmap); + this._res.bitmaps[node.attributes.id] = true; } async bitmapFont(node: XmlElement) { @@ -288,117 +436,161 @@ export default class SkinParser { ); const font = new BitmapFont(); font.setXmlAttributes(node.attributes); - await font.ensureFontLoaded(this._imageManager); + + const externalBitmap = font._file.indexOf("/") < 0; + if (externalBitmap) { + font.setExternalBitmap(true); + } else { + this._imageManager.addBitmap(font); + } this._uiRoot.addFont(font); } - async text(node: XmlElement) { - assume( - node.children.length === 0, - "Unexpected children in XML node." - ); - - const text = new Text(); - text.setXmlAttributes(node.attributes); - const { parentGroup } = this._context; - if (parentGroup == null) { - console.warn( - `FIXME: Expected to be within a | ` - ); - return; - } - parentGroup.addChild(text); + async text(node: XmlElement, parent: any): Promise { + return this.newGui(Text, node, parent); } - async script(node: XmlElement) { + async songticker(node: XmlElement, parent: any): Promise { + const text = await this.text(node, parent); + text.setxmlparam("display", "songtitle"); + text.setxmlparam("ticker", "1"); + return text; + } + + async wasabiTitleBar(node: XmlElement, parent: any) { + const group = (await this.newGroup(WasabiTitle, node, parent)) as Group; + let text = null; + + //? Search Wasabi Inheritace + const xuitag: string = node.name; // eg "Wasabi:Titlebar" + const xuiEl: XmlElement = this._uiRoot.getXuiElement(xuitag); + if (xuiEl && node.attributes.id != xuiEl.attributes.id) { + const xuiFrame = new XmlElement("groupdev", { id: xuiEl.attributes.id }); + await this.maybeApplyGroupDef(group, xuiFrame); + text = group.findobject(xuiEl.attributes.embed_xui); + } else { + text = group.findobject("window.titlebar.title"); + } + + if (text) { + text.setxmlparam("text", ":componentname"); // or display:componentname? + } + + return text; + } + + async script(node: XmlElement, parent: any) { assume( node.children.length === 0, "Unexpected children in