From f084e47c586e7981ae703dd9542e6439666fc376 Mon Sep 17 00:00:00 2001 From: duanshuwen Date: Wed, 11 Mar 2026 21:56:41 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E7=BE=8E=E5=9B=A2?= =?UTF-8?q?=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/process/runTaskOperationService.ts | 4 +- src/main/scripts/fg_trace.mjs | 7 ++- src/main/scripts/mt.md | 3 ++ src/main/scripts/mt.png | Bin 0 -> 68863 bytes src/main/scripts/mt_trace.mjs | 48 +++++++++++++++++- .../service/execute-script-service/index.ts | 4 +- 6 files changed, 58 insertions(+), 8 deletions(-) create mode 100644 src/main/scripts/mt.md create mode 100644 src/main/scripts/mt.png diff --git a/src/main/process/runTaskOperationService.ts b/src/main/process/runTaskOperationService.ts index 63160d4..408b77e 100644 --- a/src/main/process/runTaskOperationService.ts +++ b/src/main/process/runTaskOperationService.ts @@ -42,13 +42,15 @@ export function runTaskOperationService() { }) const results: any[] = [] - for (const item of scriptPaths) { + for (let i = 0; i < scriptPaths.length; i++) { + const item = scriptPaths[i] log.info(`Launching script for channel ${item.channel}: ${item.scriptPath}`) const result = await executeScriptServiceInstance.executeScript(item.scriptPath, { roomType: roomType[item.channel], startTime: options.startTime, endTime: options.endTime, operation: options.operation, + tabIndex: i, }) results.push({ channel: item.channel, diff --git a/src/main/scripts/fg_trace.mjs b/src/main/scripts/fg_trace.mjs index f840390..630bc7d 100644 --- a/src/main/scripts/fg_trace.mjs +++ b/src/main/scripts/fg_trace.mjs @@ -91,10 +91,9 @@ const toggleRoomByDateIndex = async (page, container, { roomType, dateIndex, ope }; (async () => { - let browser; + const browser = await chromium.connectOverCDP('http://127.0.0.1:9222'); try { - browser = await chromium.connectOverCDP(`http://127.0.0.1:9222`); const context = browser.contexts()[0]; await context.addInitScript(() => { @@ -102,8 +101,8 @@ const toggleRoomByDateIndex = async (page, container, { roomType, dateIndex, ope }); const pages = await context.pages(); - - const page = pages.length ? pages[0] : await context.newPage(); + const tabIndex = Number(process.env.TAB_INDEX); + const page = pages.length ? pages[tabIndex] : await context.newPage(); await page.goto('https://hotel.fliggy.com/ebooking/hotelBaseInfoUv.htm#/ebk/homeV1'); diff --git a/src/main/scripts/mt.md b/src/main/scripts/mt.md new file mode 100644 index 0000000..103ba1f --- /dev/null +++ b/src/main/scripts/mt.md @@ -0,0 +1,3 @@ +```html +
第29届安团家博会-贵阳展将至,请提前调整好03月20日至03月22日房价,确保房量和房态准确,并及时安排好接单人员查看其他热点
~
周二
02.03
周三
02.04
周四
02.05
周五
02.06
周六
02.07
周日
02.08
周一
02.09
周二
02.10
周三
02.11
周四
02.12
周五
02.13
周六
02.14
操作
尊享豪华大床房(私汤)
1/0/0
1/0/0
1/0/0
1/0/0
1/0/0
1/0/0
1/0/0
1/0/0
1/0/0
1/0/0
1/0/0
1/0/0
至尊养生汤屋(私汤)
3/0/0
3/0/0
3/0/0
2/0/0
3/0/0
3/0/0
3/0/0
3/0/0
3/0/0
3/0/0
3/0/0
2/0/0
亲子房
3/0/0
2/0/1
2/0/1
19/0/0
3/0/0
3/0/0
3/0/0
2/0/1
2/0/1
0/0/3
3/0/0
19/0/0
榻榻米双床房
1/0/2
10/0/3
10/0/0
10/0/1
10/0/2
9/0/1
6/0/4
8/0/4
8/0/2
8/0/2
8/0/2
10/0/0
豪华至尊养生汤屋(私汤)
不限/0/1
不限/0/0
不限/0/0
3/0/1
不限/0/0
不限/0/0
不限/0/0
不限/0/0
不限/0/0
不限/0/0
不限/0/0
0/0/0
亲子太空舱
1/0/0
1/0/0
1/0/0
1/0/0
1/0/0
1/0/0
1/0/0
1/0/0
1/0/0
1/0/0
1/0/0
1/0/0
行政套房A
2/0/1
2/0/1
3/0/0
7/0/0
3/0/0
3/0/0
3/0/0
3/0/0
3/0/0
3/0/0
3/0/0
7/0/0
汤墅会馆(私汤)
3/0/0
3/0/0
3/0/0
1/0/0
3/0/0
3/0/0
3/0/0
3/0/0
3/0/0
3/0/0
3/0/0
1/0/0
至尊大床房
3/0/0
3/0/0
3/0/0
1/0/0
2/0/1
3/0/0
3/0/0
3/0/0
3/0/0
3/0/0
3/0/0
1/0/0
高级标准间
3/0/0
3/0/0
3/0/0
3/0/0
3/0/0
3/0/0
3/0/0
3/0/0
3/0/0
3/0/0
3/0/0
3/0/0
豪华特色房
3/0/0
3/0/0
3/0/0
21/0/0
2/0/1
3/0/0
3/0/0
3/0/0
3/0/0
3/0/0
3/0/0
20/0/0
豪华套房(私汤)
3/0/0
3/0/0
3/0/0
2/0/0
3/0/0
3/0/0
3/0/0
3/0/0
3/0/0
3/0/0
3/0/0
2/0/0
太空舱(私汤)
3/0/0
3/0/0
3/0/0
3/0/0
3/0/0
3/0/0
3/0/0
3/0/0
3/0/0
1/0/2
2/0/1
3/0/0
暂无数据
暂无可查看的房型/产品,请尝试其他搜索/筛选条件,或联系业务经理
暂无数据
暂无可查看的房型/产品,请尝试其他搜索/筛选条件,或联系业务经理
正在加载中
+``` \ No newline at end of file diff --git a/src/main/scripts/mt.png b/src/main/scripts/mt.png new file mode 100644 index 0000000000000000000000000000000000000000..f411c965b4e597e03c35b0be1ba0f47e57e0ad03 GIT binary patch literal 68863 zcmeFZcUY6z_BM;2=+6)%&J{p|Iuwf5R;-Rs_Y z{Xj>Z`!N4uHa0eHO^w@nY-}7*HnzVpe&k?%Vq^bQjrHFFPd)WpZ228$Nvt;q9dByi zWMeA|=i0IPf%X2-6AcqjHnyV;yZ;U}gFo4^u`$y%Z{IZVwVWSjh8uVzsj$E$DN+RC zd?oK!*+bK4-mWtV*r>anP=#qhb;R(X=Ch0EAHV9$y)A7k{nobaKE%-`DIGQFe5c8< zkTYG1-_AP1$n81l)d%-G&QIOyGSqGOo25#~G+^Rt`dn|8u3^Hq3ubgnM=+Tjkd+OT z%2qX;v6zV`|CVy;%|AUObI6iyZTu{`zduT!T;RF$@Wh{=@2$HglmBJtPgi1<|LKdY zw=eD>LjGxvluKHLPAd=o<-3PYX$$_dJSmszQm|_OEWnA2k7S_#B0$Q)w<0WI4dTe7 zLz3hwSWc}FQL=yvB2((5EubpaoD;HHO>=ZnFx3sG6-m+75hxg8f;Ix_Rtk9_YXMQq zaF-f>EY^5&J!be!(vV&#eb_T<6>Qb_G_1uebmq2q@mI}M{&ul|#RZF|APh{KZ?W~x z8|oB)BhBOWI8320Y){m_4!^DE*6(1S1%Cuy8DZGL8ggmROcoUl&>rCI6%amXuWs71 zkqEQqXieFG)sifi`9sW+<-Gs=4!6ZvP_p37+NQmKD#+>!$*f;#`w<=2>Q9KCA=3DtJv)l_7(tE*k%*PM- zD2)zWKcAlVg6Fyq2X)M!w@o3#%vhV{O)0xN72n3sn3W$C5;4>JyN7j%!3!45$_+vV zKnD4Lao>7f*8cti+A)Ra4M@M9#hpGpEnwct83{31%MjN!ic-D*0jU$tg8*eMsc9j3 z0-}Iv23t$@A=rMy9)%yGYI&%kYUuL=-Mb3NX(P&8Er-^9Fr+I??Gz^7vD7x4C=ks? z+|k+f>b_?Sq;buZT}9*Me;NKOxKhJi{HT;Gu71?>vC z%M8&(!8d-*b26=gFEzd8K}dXB<2*tg>!eA@$d}ZIobY+`Yq37>m&RR*N)#%2!t8s3 zXr9Cy7g9eM?s_=OLlAwwItHR|<7M8&%VZbD`&x}G{~-#$P$EkjL&-hUB;*zzGJrie z%DH90`*k>s!#CS7Y9wP}W|G^;AWOsy8<*|7Z5nM8%JU|`worBo`0=ICt?|Trz(-$% z3TMfsR736%*xk@vK;Gq|;R?p?5t&%6$Qq z@>-2&331s0#P}>>PS(6h(n8XNkoRly-+t-?-gnTIeJ9EK^iwQWj8XVVB4p`BZ4}T= zZ!4z@pxX{+lkYgSJ9dt$Hj~BW>T1DfvbJ zlj-iV{{%JUodFg(TEa!w0xdCbAbfo;OD|VTh@+SCoR((TwR)nUJrm`wQPC7V_WewTBCpvY~P+i(6v6SY>;g#+cmlMjYH7H z=CaY`YEFbx9!`FH#<+BO-RX{%HqStnY3qfPQgO=Rp8_xq1-aw3(8bhJV1SLqG~-Qw z?UId*Dje-@W>77atyQMLCEqE5kVM^=p?K5!-gwJh70@oQTwp#LvCrznY)bhrd>gD6 z^1v-sDzp=<&}AWm*e(U0h1w)R5Q#LiBpC`EY(9#5IZ)0Z6X;E${NU7P%5PG{y2MA+dU85O4Qor|zY!J1fG<2nI6QP#dnTeQ+_!bb z6gT-=NVJpb++wM!qQ9a}NT>=;nby4nF3-lCfBP1EMDP2CYY@jW1?#1;Cw*!aGnC(; z9}IhmShRXG(}oeJfGc2440<1Wg-U-*QJ~Uz0G0dlp>^I~r(Fi+w?;w+pvz}=d@faamc7KeK+AO70kiN#8 zDzi*%gV`t@y&YJSz~iVII`iioz&o!OA6R2PpuUMGVgPdRY1^m`c`d4nsNqnXrg({v z(&BTelUj2cf~Xq2f@QgmUX%{;lukJ0OLeHJIc8Joy=wF}WWXPA&>n8j9x4OX*{L_8 z<6}1OPART}bLRO(#{tHM-oUrrOworYnc$vi9hpCNyS{Y zq|cl3y3|F!jgwU+%(fhHJayiWXONv;FMI9s$~-N7*diFZo0kxS?jCQ)m%9|Iv1f-CEV zKt3{^iK=vIz=t>%OuoX}Ay%)^ot*g$ZTt_{T%|8$?;7GJB(hq?T59jLM7`^Uz4-FHLzZ$&k<<{M|7Kc-^2@GV=$FMoj}Jg39) zxExfD(bBK7a+zlMLqJz@1I{Vt-2L zs*K1>16%dL24dpJK;lO!IcN&~TQI#b-x;AWlv&85M2dJxd*4ILxlCa%u&|;zYq<8R zkp@SgHL6slS8{scQzz@zHjn5Blky4ZDLYjUtuRYXUTx&s(G}%lrHWKh3tdF!hFIa_ zVByOzv=nVk#%%3;TGZ=qcV-2Iz)}-Roy^LdI0Li0JV7$P=H6G|ZZ=Z=)G}S)W-znU ziuAd)6Vn*iJ=2#s@d^1LpdeiHPsy%<<6KZ1qaNxF4VgUm{6;C}`jC~yz#`d?C(HhD zYo+s3&&;%t<395%^^NK_;xZ@d9dkm5f))7zonW8LpEwHNM$X-J(;Q)IdRx# zI=Nf_Pbs@Mr7w_9HNF__^Rd8@Atrd@UDoD}7jI~Ai@?X0GSKdJMC4tqHM@GXuzG<} zOffFgLMgqpUM;2t9+4EF9rMNzn(3DuKsEk&N*=10dEoNPNRtAV52E51sh6_Oc9x7( ziNq>Bg>jqM#YyM82x1XXBuTsyQ+RXEgvnoU&lp`wWH5$VE0?w7{nYvAdSuQtt7j3W z#|kBctW4L}tC`{VIot8jOS$w8IT(Su)nMy%&cFUPNch zL$wke%U4w7=QhpwxB@>1`b^dqy6XPPlD%aQ1GjbxY-~jb)qSUfT9@Ouj2r2VS%<^N zP55%U*|&zmC$VSU4WP~bYhO~D-oyzF=U0_f-$IDG@b?LiL@ZWg>Sd?_%AHE-tpnK(>i+<%o zz)Hvt^DIminXP|KO|=Nm=VM}Q94*1<5cl5@kYD#yS}vdt`b>~4-eO#HkjgeEF(FG^ zw2k>#K%Oh5&i7UkFmTbtf0Rin=ClkGeZXz#@3Bo7A(qrF(E970=)rF({;En&(FN%} zuH_X&QTi5Sec7C0R;E!~1%K+Rx24Yd7 zJlIBu3$)y6$=X`h`=@x#K!(aAQajUBw+7dT{E3*Nt_7OT8a3Os?lEnF2rlD|deJhu z#z0IJq<>|fX0~edWtZ0?fj}qBW?WnY!~LV_;6eF6sU>ASDv zzBBl)#(}W8TFVW&x&@rEa&%kV#)Fn$SX*xTT=P|l&~NA~j~{;=c-u8wMZv;?Cd`ZS^n zuq=9T4YK4&9c<^CxLG@?)>7Adqa!ZcAseP3P|A4cFC|kJY z*(YdYnnz1DFe-Cs+ea!3fhmj|u3-zL@#jFMPf$KGkf4DQ+(wfnETlFe)WFP2chRj3 z&*wE58pt=?8H3vfHGp-#T+6DOtMxU@UqCIREX%BR3arhfDmsxWLN$UAdOf^|Y^b!_ z{1i`X6$*w*S|)-rwmi3Y5{$VDlD{oj4ZxT_R|D5ACr%m$maW3R^y7zNdBqIGB0ffi z=cR4$xHV9r&kEE^DiEC)9b^3|ua352oEY%g{fH$h;81dri(F=qE8mb0&Yk-MSF!K5 z5T!al*>kbvre7kyE+okN6u}*E^atA>&z$<^%H_=8bVChj9*5u1k4xliOnG@z!Yh_C zF#|~42rA;xM&_i%_v$a}jQ_@n^%Hu(l$$bgWeaIImb4unGJZ(2wxkP97I5Pk(nWhG zvb57@^uy{sNJq^MZ}k>fZeS$v?E*sHFw{uNv&t>Hhv>CUw)8(2CmdBWwBx5`+_;`K z)b~7|q3Dj;G>XpKrU@;h3dUT(I*xD(@Pwio7Kr z+54-8iq@QwO#w4e^Boh{%9jH<@G65hjXniT^h^y)GVvg?|MJ1?FqauJ$$FEq(9|56 z@a<{O%tl_Ft^usCDgG$k)>oD1$Q^l$VD%rQ7_Ym4pHQ)#q?P9M=AY*+cnOLAi&s~3 zhxx7qu1axH-TaL?S5NKOzPn;*RrZUhPY_FA*^uckj9*=Azn6q*M~76azz>w;`ELx% zs|4LFn*`VrZ-(ZDfV5^C~>G*n9#t8RaSX}o9y-K|^ zSHN0r7&v@wKx!ThZo)-u^^22dz*g+u_3-hIC@blWW_6F3J>!YP8%zwwm1q9Ce!8YU z!%s_m+X%cQINt92H^(-Nq%e|Bv{N-(w;k24om9KuEx%bbRd--g&yn*~s_Hck}RkDkZ zj(47}VXoZt3AnY%v4GD!Qn&a|u%b(W90uv2vrtyM5I^ewVm-PV1G9ikbZ$0T53~G# z9H)!(VRRwAamN(axM&edOxk$jK#t7hThI{BcrzmSv&h7{LJQl(<5z zU?$V0Vs~#K$ILqAkFJ+e^UlP*F35ahdlfSmotL%ZvbyQD^~K2Sq}8*4W#;y4(2)Y& zo2y9+E;c&XswZ3*av2tz!N(RKDvf=-qvLH1@DvvtLC6~?e0|OG0=Ms8pm~Sg6PsMP zOnTVT(Z#?Ss}TRDZM+ro{?>9vHrB;cCtCM5A8SWYp*0=?&dFN}_^DK8R{{+ySzFs& z+!D~v(9wHo{k?h6%Y+{8J(pBU(=nT*Z^%TYj$?E$;s%%F{VwJ&@t-?cU}8A7eqxbr zd!%RnqjSyBrr(M=Iep1*+gAB`iwUR=tKYR=TG4-x-uEV668~D%T+J~Vwiqq?hP&%Y z0Bc9kqBqH=;yicFYVqByddneyz2j+XhoE#yW}k7~_p0OCP_eFSbN3<_2uBXmkcKznNR0 zxap@At9%i6IeEnp;Q2 z=Vpaf)(w=gvQ1XqW@^x74XDwi58ec*4hkWw&J()UEio#EkQ|E27P>aj1MD>bx_XH@ zk=#ky+fkcT`Epu9PK+4HTCg^hcB_H*I?5t_-X~ot(<%!BglFrONo0zX_1BHnccCD# zm3|*O-m)yTZX4rI`7HrT@d@rJd-|N&#M)C~?wmqL`zx2#H{M#*Rg_)^TEtZ^`X0&- z^P3Q@lk>?`C-HbFIspjs4&WVirA-p8AG2`)U*$*`VNO)AplIC2(oGtH^40v9o!N?n z1(8_m%h}#-^=M;$n-#9haXp!JAXJY8kUmB$0EJrW5)VsHtc7?R(-;f2U<{4KK~`PM zuJ!vwgs-UbnMNydUkR;vm0cOHGa!XNd4*Zay-~g9n5I%N6r($Vf!>q@91X>9_H>al zTf&@@JPc_bZ-hRdWJS6B@+q%)mVf(w_iq!6a$ep1;y6BzAa~rY>a9hTsqf4A%(@#p zwT zuq?-^+h&$jFzUhZPI&PQ45%Sz4hm4Aum47Or%=iV5{%qfxtY5M(Lhc1+8S^5FlE*U zx>JxiFtX}CHv<`ey*N0274vy~aR{c02PBB9`XEGs>-gB(Wl;7q%Y{fgmNZQdAuRbd zSX=%PrA4etfW&32QR7=Kvf>(7weK~{P-UYi-Gian@GA3hV z5awd5qq&T%`Jpc(9%=J;*ZLDG@aFeE!=H+wI}iVlZHkbqxUQA#cB{TWByjDp?eqhG zyuHDtE%?W4wwp4n-q!DrgI$w<|I)GB2+lt~zj5rp9WXT8X^j4HYubi!PLz8x?RmV+ zI|PSE_YEEXubS)%&cA>7?J#T7q+r5lWzS_^e_C6$9AqU;Knc<|;yV#4?e1sU94>@H zWasvr&b@b6RU^y3)Qos2qH?BM9u!8}jefuqVi^YL?QUiBvovO1LL`CLo8qS95o$ z_ceC88PoQCM~Z%9jpV3&KBS2b9Xp!SZkDHbFdA&%d-u=U{^Nf4OpvVaw8C~Hh;Rc2 zUGM}507`IHfhsuEFOeRtRo>m~EQ#}{CbRTMW?udLFJ}A4g$^a$VtEJu`y>7CNh*G8 zPQJ-CHB%qF$udfhgjC@K8sWk1|187lT-p81GyDEkoHEh8s3*TVU33R09|#1P_t;wu zo4Ivg<6&EQ!tO2oh-u^1Yw1rZtKzBlCSM2{sj91rI1tz1o+G@U_i1v=L(PLk$Kn!Y zE1hG!!7Jvo&YkpiS#uA`MZtocoSa`=H=>D-8&Aow5iuJCmU>zt7-NPY`wP&_q^w)(wT)=Og z=x@05>Y3N9QZL0=*;rn4Xm(2~z(E96z|jG#QVFP3CI37h>o$jg)u)CU9OQd}j5ZMw z;!)1gCG$)}4mVbNpogVsuEeX9qwZ3O?}2H4Up@7NM7iiwZaGt_XSz3sUZ+0tfmp=v4aKy=F*@r34BQ%~9<@Qn24=U&_ zaLhQpzo&GWXw2J0HC+s|iPLdURC3d$x}oZpJs~bc2zd}bkP!);2?41uCM8rI*2Qm3 zlTe`TfGLjtw)u+y0skJQMVB!S^87QH;_2In1GKLZ!WXl-d)JTj2k@o>_rDEcZKPc$ zymwOrGFL6ILE^Yu%C3sPk3|KIVBD|OH**672WdL8I^r_tvsJ^LVlr63+3;kR*M&}# zxVHOJjE?l4oNRB4^a|`WUZhVD%&J{V6AqJ`@DhU?C!w)-%aFDSB2-X`fI3i8M@imI z$tSUpYheak+mEZp>0Dd|(g(tntJ`07TtF2Z&95wZ+<4fmdP8V_-e1UfMs?-u_LCU> z355M>fe8A5|8~O}|J60th6PtX`*D~p!O1QO5<)^MdyAhXU#0)I{V5pn%o(%ukKY;t3-kC)icwmN+|W zNb+uuR^ckJ!cx-1r%)UB2isFp%t8FDro1l!BV@H*YB!woQ2J3OryJE@DR6sI>ry3! zwRc5M4OgLQx5@i0aVHcsu&TUi%DKXBt3Rvv+^41LKEUV$f>~4>Ze09H6V$~rr{wJv#i>xvIpZx^aDml*0hN#i2;Ipv)l>Az#k@n>GhX{MNTUTV<2y7LNm)X&~rHSaMMFiY3~7dNR{k~r>Un2Z^g-_Ir?WS}od3tPS@ zvkG)37U33h1ss%C)uN3|Q~2N>c``9@&=Z2u9ejAbi~CW&Zodd@*V$jGG7 zHW)`QYKOb^Tu6T$l=kW{`J@n@N+7I$mGe?=wdYrT7$jaPAYoOU=PCoO!T1D;P*v<} z+0!!};`p&=vDcIw*kQGD*O9T1D34Gij1~y4wj$VGGat=67*z7Fx#}Mq8voZrdEd%K zbo+$wx{yX5>&lkE%b)%v$CU!L(Ld+@vEo%-lWFKF9%^-8&wG!0%ESI=OEThmk$164 zGmv+S`Sk&Fc3=6jR{~f!{%-fibIKZ7X1>YtGP;cr<2 z^g-H>(b&NsKlR?f#4C?-QN^V#M+_Z}X}Ws`jL7_|()_9DC!)__ahAxVPc626dh3-A zvC5?R*7AF$x%hG$;7NW35;6T9sF9fLo0#5XM!FWaHEID+fz;n^8Y%NENrZm*qlif= z<9A;P@NDcTtear0w}Z=^G6SE6z?Z+iJFM6K(r&Q()w9f^_qqD1Vu(yEuZj_@J;zJ` z)3j}`(~6f-*4*6FUY!XIsY@`n&ZHqpv;&L`#(gFMu2C8zD2gJopfM za?-vjHmLUrg7cCgsnpXdwb0qfF_rrhK0b738cw!6vBUH!c>X46y%bcdbjEAOZK)0r zbki?JMN!7a7H>QhX+3-~{I~Z7K9IQKGi_#QSIG)kzud@iLUUwPxwl>YQMX@XiPRm3 zssI(c{Zeoz)!ho|y)_%1A#FBH{Y_AHtSL#r$9d%1iS$RWMclQ(8)y+>)oaCi?Xx2@6ers3m{^jHfA8<*Q?-?RW>U1udMcDbvTp$^?TZr8= z;Lpv>W76u@SXWstePV6tMz$1_G=^w^0vLVcPy@vCElaYhu{n6DZWOIDV|VA`etFbT zhzJi`>FwaU?RmNC9`3e9j7vaiRF($6`BnRK+EH zSg+=ZW!=cEvpc1#T5bJ285gn@w4ZV=?<(h% z2m5MUqwYNA+Tzdv76F+b_{D!BRKBHx1QlT60Xj%Ud&dz4S3XB6s1V=!zU%bp?mE3g zxIy6{MMOko^Pef~AtX`!1NJZCEOr+YSH<(~H4?V|*$#uYh>yB#JfBm5KFp%pmKt#n z@bZG8iJaN{0s}g`b8EUM!O0Y#`kTIPZdcBJyc`ub^Ffnm2wiub2OaZJXg`xv?y^iC zJIdkWBiU!SlqdH1L^DL#3qdv339(C&j7lv;sXmrgC+vr?6=^& z4(~3w2hxwKpKr`|rH%!!tb8!*&+D1DhV5)VUG!8t{-0%dT-g6l5Z|A~P1gUu59?Gf zd_XQ)5d+vNVk@63p2=liRdgw+-7p;v8LskZud zL&s{j=K3RMZaws0K;8FE-ic-23o^JxqyUPGI!Y?QkAF1%BFXbcv#(fu|e*;oWL z7a3@BEnzCy8>q%;74TWGt|+f?RA7jx6v-?wrSp9LM-8bDZ956|8T1dU|}U!lTljP@H#teq((8;(xR-X+A<38zBbeKOQ5Z zrc$H6bE4P(7un(=pQj(8h9 z^{jNwnvR{qup-*T*g0ioWjB3&{jtyUlJ93K5{G4W>8HTS@`yUW$Kw)z;uPhn!7IA@TSh2-h9|luVR#+aVJ52 zMWzXNTMVe1STC1fEMU4qYu=&uyt_m`nbVBjn8E@VI;jV@sRv#~&r0Vwig?YykQ0EW*GYQ!KdpRGf<;%J~{5@MZ^xrA{-apW7%8650bE=s*klZ(BR} zq>QiNuF7AcuS7HFL2GFMTVaoM;-V=!9m@vRE-;gkGEQT&4TD8wtHji;R) z)EWL?LIp^AWie6iDGDSvEu&vd(IS_v93n;s(cHgLe zxkG0!MY*&`+(!t9xCy7EC6B%AOx^r=ado(64WbDWWl;i`wfcy&SwoYDgqUzM0e76Q z*@adXPk+6BW~MSR1I~QGLN7Y#GY~SK>OQ!ZCBK31%IbFZOhmh?G10?Ek*zu*2+*2& z4ma|)-{<^S&$su_$1R5NlTSn0z}HgVL?-NLpT$m8@_^Ydt)E>LeEn12gwpth%lNbw znak4L;h(bfcIY`sj`mc&)b!Y0oW=RW4mqQeDC&n^DAFpA_KB0B()h~CvDbXy1CX_& zLs^yGB!rYISZ%^sE2BM>=R3lxtM>YTE4mUhqrNgZ24;K79bN(D?cf3&juE+?jXfsN z$6KJE^Dq*HMVLtX>0m*fs~v99+1dc&V$ZLKO-=yrlSFjuWx>Va6q9@`5%ZOLHuhTO zq8M4=l8P+8SA&H#4E_R`C70DL_saNI-t9!wF{ojwg`zW(OGYp1O#ad7`%@aQ*ZzBH z^bw_v^g?8~qiGu|4jUSgHPY>GwYs%qKfQkM>}!YAB|VfSiD;~qP<`67`;uC+3%Lp2 z@Dyjpw03#c^a+4k7iAjGe1F$7+hHMPZ$Du^9nc9h05a=I4IAcG1u8z1LB)S>YPNCm ztFOG&j?z;1@D2M>j5k3p*Da=8jzvEeZ@nTUTiAm0>EY@u>i6WD!TBA9vapXq5#793 z`YZ8qJ9Pcx_SF8Zwh@IY{5FcU81z}y3m+#X{W;Mz(2CVVDZ?Mt^|-xzP;mEQ&2X_o zh`P7QeDRmj%62{`cfFfz;Qs2i`n!Xzo3RHC`Ne|Q`Hw62C$~jhem#Hu%EJcXhvsMp z+f;jPhU*ShD!cEcOK_*#bdb+(iw1DUAJ@?ipEmiUulsB( zeN3cN-gy29D}Y!Lcec*C$n+}mXSD1TMEEZ}v`y`gxF)!cEY5QgzSuLFb)GQotqQl7 zjkEZS13iw;V-VkhY&N&eoZd31et_#_6UnR9uIVhInKL_I5I#B+G&*Kq?sT(oWPeN} zR1iG&xOz1+gwjy#{b1i1%PB*ctm_j|)XR?Ij?D;GKi%Fba`wT}3TB`RO_y8QcquUJ z|JB_yXmJ?tmhCp^jQ8`Ap6wVM4Pp@?*QEWuoa&p(3ra86k-=DD;TZ3~Iidy=>T0H{ zr(fV5K@$RXuq!6cX6i4R@uU2M7LZPGMk`KDY`;xeU^nYFb+Y!p`ccvp+%O1jPArV8 zI)$%NtLvOW7Wu!pxslPVKC!iol02ns0BNa@XpVkG_4y1ln}}L3|8(_9^;YV}fJB|2 z&y!NK+I<7`UWYnjaM{sqD@C$8@9K|yp>98N44WYfkNfz~CNIUEa1D90O3#cw!Z8u| zCTM$d+BXLEw)Hly%%y9+GXMC#Revz6>X#AYznTEZ^KW3RcqUi^-N-L)?sTAMmj<$k z1T)}OnvSmTR~Y+*B%VJp$9prP(VpE?=IgabGdK6cD28{-Dujd7eSGhL4dB<#ys9NI zQcMBm;yYH;n*`u4EaM<=J|Of$O;hE6IMUBLw6{;w-+i~b3eMPGXgN~V)6b+^zvJG8 zAXx2k7MK)e7i0acT~H6eIyT`e*k@;r#%*_=!~p`XR)9MdOdjr=V?&Zyg^+}S+@r){ z2cIfdC+)hFiTmTX-kj`DsTn1~&SNMEJ-!jHMbXM9mdXn5BQ|Vqs`PTp|0i4a&mDtqAMO_&SlrHFNR{vHMYBo1g%HSp+(& z{0sL;9HP#@SFk#rrKcCI!sYIog(G{=TQ5i896I@FYMy{N+?5@^pH&r~?^@NygQist zdU*92M-T|N3mwLS#qDNuDq?R277D4rzq(g|Lo5Qx2*|L6iuZut^tPG*3z}aOd~G#o zV+9asx8#0&zl-JVLJOu}xw{!RuZR0SLsu%wJ6*Gu-_qqnSC|}5p=XaV5 zp*WDbO1x%`d%a(Nt+dB-sr1a+<{VRgakJ{`BXGXr9zKGOsjD1({v!kX!Xi#67A!(ydZD+X zD5yRQi~d?tuA`;neRtFT?q=pDAx&UJ-bt$V^cg?B`Qn^mum>yhzhHW;VXFlVb<}}L_2nn#l>}*b6I2Hy!ZWyTi25JsM8iV^ zlUb;nh_AR$ngDa&JTthL4tu9fJEIL|aP_YNh|%osC6u&ukT*_+ZpgVy7n%4#AA1!| zVWASXh57p?v5>j82xVTg+-m=~+S}7GzkWFgjyQ0rlI9&6^M*=^Ro+^}Cp1Y|A!bqp zpyka-K&8P)xxc1_Jj=m>RN+~ZU|SHWPVv~0&k>;;qXpqF*;o0j7{*`e^BI*;_ZV=& znL=GjW^i5Afqe~>&N^zA6Ci*rEYd5|)Hm^1(^=QgFC%Fn|4ZZmkS`5J!toiM#_rY~ zZI;DdMe?<)`3~!_Yr>~LL7mSpmjr z9ClE1jKn_!;s_>1kAw3pXgrXOTArF!A*da!qAhC~TfAkgm>Y;z0{{6*h^&G4T=*k2s(haisf5Z^FK_#X|9uSt8U38AaLKj*PxqqGIqck zd-goy9>sM{W_WTL=zb0-Hu|^Uc|@_76M$PQt8y~%bh{zKX43k?>2lJV%&2&z``Wir zXG`g0xbgodl!E_;i%{X`J*gpxdruniD!-n`dg-H8mfyW4I|*8OFU6eR2MEL~8S`QtjzHfFz)hT;o<;T6o|&B;mrNgxVgi7^uXDho=nANOvJy@l;k zd)>mFGz2V(;Tb9GvK4i+o3~Jsr^Ps)`TIrsohz`b?I)EQIKpW-c_FrZh!A?^<#6Ry z|5&UEV5GF$-Ry+yJHFwn?((qq^l85K1yg4WE~BB(jiVb=&H!KE7zxv3xhU(R;qsj` zfNFDe2O)E}wz7cqOr(xcc&vsWw}MSh1N-ZlPoq`*oa9QB_crcJono}~n3NT=#9p_3 zBwIy}>~3|sD6}tibA<45Q{Dv;4{g8pj@*5@p|Fx*uK6ugBz6Ls+Y)j{hG z2??HZo1>w1=W1DHKx|!l;7yd}z-!#Gu|_02hgXpx3^mI@11 zAR&O+#WF@ojCVfk$5mKafJ$kNQkvpk_=b1k@uD;_YQfH*r{SmJ=l7I zSbQk}535s)>CtHFSsZcDucM5qzmPwIl~*L}ECGY$566`dkr=tXwCsUG=5MWCsHRhS zgF*qv#1iCJHoHd~TK$wp`K1dgcmy>Yn%l$s$yLJse#71I4w;Vk7JTNdT$B@Cj}-iy zIx@LukGY)U8fwqs>cd^QW(|YtdWomDd4Ihtccm= zNPHnRc%DB|E-T*^X+hs}nmjpge$a5X(zxZ7y_`6HLhBqD36@3@O zhm;=OE!9t*+qr9!k<2^nLn`f#mu^bc=kbyt8jhI)agvt0|H>}7mAS_W-{K%ga*gfv z%jsAh0VBQRTRMA$hG(&i4FBs_ zrOLevzM$CcGo=p~SVaJT&{Mt|$c(Ai(U*T#;0^vs(5_HtFZEA0)v=k#SjsDUe;qaZ z{ywF+g^z4{64onbtbn#jrGeiZoW5bt*s$^ z9rr%O4Llxpzd?L|WVSIOylqfTfMMgm zv5YCX$W`Tr4We-=2{(8ai12k>{uPs6WW7t+aS?`fp?bN9;}sRnA2_K9#;JfyBZHN8 zeR6;^gW&Kgt~m+lR}QI+4+j)pvyM-kR84zHOVG_W*9K6~Bfhh9bb(>g8FaMUuheXIel0x#qb8J}zsHG$I z`qelyRP{T{!jTlEemt9!V(T7>WV9Wt&7*sANq{!xOIn*%RLKITrzZ^Ck{2GGovCi? zr%1x%+7k5xO2f^7sXK}{aB_cbR-HpWkW*6e(Ve@Dr_;Z3@pY)-cY{pisFM8+&}8q^ z8stBs_#gN9l4G~%4Et60+I#d9OTk@mPaMW22-<5^-%8i#=)I*Q(Dd(A;&hf(_xjQpWP4D*n`$gC(DH}@6QB~k01FG{M@fZrD97~X`}x)*z#0h2%*zG zmPNqW1u>+p<@e=|Rqw$aPTO&($IjI@R>2EZerInyZDkC126jHP*uPreJ@6De*^xdc z^m6q_4pO~!ZROmJg!g75TMitoqd4LFRSn+{@yIejzjZ$!5-^HGMXEhPfbFkZ z^*bG&{(JI$fdinz4*3Nb3(~n}ZM<)_G0dWYq%nK8rbR{MB}(#TX%j5q-qt7D+uN|X zO-`p20!v&1R-*>e94$rPGj!HH$v$93asuwxe?!M$o8qs2X1QfeADtfay_9dU3m5PR zDSft1;N7w_aNQf1iBOd?XswwS3vjO@Pxt!8WP3GQ|ZU}5G326{p=6M zKNs<6F+`@L`E$Vx@9Ud_aXXiOKRiS3A5`_ozxs%V+@F(EitmG6==@>=@FF|%t4wJl zH{rO0J=tdu8Td->q7KuZ-sTgRXlGq7%LVd3!b~pbd=w~oj<&=@*J>EjagGpS|TG;fop{7qn@f zLa%$~x1GCSCjlzytd3_L!Z~cd65|$YCgtbGw5@CwgSkf~>I2vFtVZmzC;vOxqlJY$ z-n$qGaJ|RV|J<4_%&n9&5O(40N6h95X7>zUJBtt!;NSiX=CLJpq@R1=g&+w6MvCHZ zWKlJc4mc?-d27~*WY!V$3x2tedqk=P5`LDTdy-btd$MJm2^0OwWpQRis=rZ0CiWT{ z=jU?-@8v-w*!WjDR&$3Xmgv*U%{n(4=oUfT{g)3dusI;BA2T9$0?6Fw|mG52EVKhg5)CS!_}bj)Jo5@P zv%m|fqbpb9w*9C>EZ#?^5I%y{5c?K0DYs-l@c#=?QikP~6NnVPUxgZInim_WT152? z3VZ5>hCB32nV>95cVD|URordOxUVk~k5u@<+$89tdv}F5EPNu${e+?W$_0!SDMD@Q ztk7)Hb5-AIZH$c)&2OF*l&(a%EE(?l0dNVv)f%`V=hw|GNL_4>21=OlO%bfg9G1-> zGx^iil<6H3;&SpN#4kyQ!}ULLBzn7>M09(T9@RFEL(yGhcm}q$9}N(18qF(3|xc+N!YwT5z(YYcy}ng zLo@cLED`MzatNwqd@E>~{*oy|HsVc`%P+<12LQ43DAoK-?8HK=M4U42e^K||0Zk?S z8?UY_tOZ!bN>ynJQlxjRARwTCN(ZHv5PC0*sMrAMy(nFJ4IKdik={!J0qKO$A@tli zLH1o;WcU5u_x^G7m+pGbNzTlfGxN;ze7*zdsm;L4sunulW8CH>{J1D&DjZ#;+m_JZ z4VOreN&unXG?LAA8zDP3A?k~8NKcXdH%(rk zl|)amk@MZDh&tk}kZfqdEBxxBpcJE{qO8@ga;u9<-LaBQ(mc*mE?tKc)RWtXCB3?9 zKg<>d32Z+??P?Q?wLwvccXKQZZKKu1skSv4G6@O$FHMM(kwlI%95847pCwCnWT51S zs_C^u{yc`iJQKgw>TgEkec1CA7#=Q1g+`jruZ$+dh27AttCCpBuSxBReHp}h`C;qZ zR}_*x>z_rNVv~lQQ){+g!&%ki6 z9ZmF>eQnQjKi}K^@M{8Ky5*lGkBq!*D)lr$RXUVBQv8+zrlw9m?B+;=pPfpc+wpYG z@X^rA=5353=_UoY=lKUGP)<1Yd8)5;&kr~86h?>!sOIV^+PQ|Hvp*EPwz1MrU)rj9 zB(!;Nb>m0^8Pd|ZWEti2_2AM@4C3QP3vlOsxaNDOiTCms3R=%}T57CQ$#!%kYFv7l_{v;pnxxF>s%A1-$r-r6PXys$ZxC^Bft*}%ej3X!;In}7uKd*jo zC~*>h%zt3l)hjfEPiz|=bxd_^;Kkr4Y`+j;fWC80cs1}@n9ataqDyD&ium-srj8_l zb^Z6U&})J$#IYj_f$z2L1{h6&SA8xxEIDo(G#g?1WaM3ygSm;`gLnio99xsw#{E-n(_0E(hYu7>W$Ps%OI zH+j#{P*4T~8Ad(nh_A=#i)2K4wu8lX5jr8$GF3;=&v4lWB_uTnGU4L71ATDAzl<<%(q0qzdB+7x$>ZIWlF%rMFIBEa`>lT8^*MuNhG@D` z6RrCXC!Q_L^KU)vQyfBK4H%$?SWs{;P!!DFC-`*N`_B*bqn*zaAkyx9etQpwy>Fj$ zFMyln+vksSKRcjsx}rX1=d}d_9TNXo1MPmYr-6O@VE)24lDdRA%>GZ?O^7 zJkL<)ut1x5K|CIoZ0XK>z-9=QXDJjTAuj&GNT96?il zRqae7AJRQcGg}+p&<*yQZFlyXkuDn-4%i$(@d^PrO2*LYCJv2Yd6?D>G6W|r0Hq+c z_ln4sxj>wKG*ImpXw#XfcYXEQKoJ$z=0(0M71tbITW@LsN%$f2_EvjQ6h3l)5vi$a z$6RL*Z{(-T%byZlb=`Z#WDLVadvuljT056z=(ykt7Jc*W%*rGf-! zim0=U;!=7znCFQUkI~j%Uc;o12~M7av>&Dt?OsG%!MF6zmpO+}G#F@iRh)DF!J$$} zgn*%VErk5NX+$VAeiwy9E{}$3e^Jl@aRu+F{`m)7QEGylBJ*LNWDQA*BS-l(Ufi4fv_MnAQ*jQC=|=C#m@OJH-mG?LdBaZJe0NNu&DE%@JI|*j8)x-DR7w0(1ft4Js3elIZT91oi{z z_^4dZzLPF!qratroL3bUW@db)iz6y(K5z67TB>b>U07E(g@%VL{XnWFx@7UO&Uk=i zSmChdsRae?)6FcjDYPhIDgx34)44jRO?)OL`F7rGq_`hE;*c#z8Lr=P?m>#WY0rZx z|IzDntDqsv>_jGZZ%9?J8cfYaKd{vWK>Hjr)EpX2ph#S)QBUNkxLviRQ$`=YSEuI z^>y!1dCFYA>U5VgK&+> z?O+jjPc2ZUGqLVIHW<75C3wYLW5#~AZSc*CG2oPm96n*@PJX|%FGM&<*z?65zjrkK zbS{S{MJhgJJEbwoT~I0eYRSA28M%(p@?)xRDl%Qd-nTEgNnYmq$Yl%m7C9A6vbfaS z7&C_Tg>S_z5Y|SdZ+hOqMMoo^mj(EoO(~k5NEg&9vNt`8m?GmVHVN9=IO}dr0`>6W zypB)9$U(2s*-)DMHg~|k34t0e(S2>thEwne70$Ksec104MMa{(+k|x@3lnZRCe%U6 zBI~3h7k_?WTFkYQp`_Tc5rmWm1(=gw^-4tPj2PcOF^y1hkM$x_zXtFpA3Xhy0Lvv$ zS0xQCrWhmH{`R%aa1V{6Y3z#3@Xtd^9A$mWLqSqoyq$qGDF@2;QS}&*ZLQtr=Wqq` z`Ll2G`Ra1${`KK`%`+*MX2@z79U>JB?DiJIsGglv6RCmiHM^Q`Mx(`~IEtQ2gz;VA z9W=g^r!&dy-i9Gv67x4D3{B={hS{my?)4g&WBg~{;s9NQbYs|Gqa*aUo-t*a+RgSp z`dV(miX{=xSSpF2r!sHaePn$S9}Uv5JZ!u0&^=ALlu>HVe(gk_c>uQA7cDkgmd^NQ zCbyruk~ab+YTF$--DB!LG&a>nHa z;8mDu5?%8jx%OOb&{9{iw=RYB9%A6iVqFEV=XP6~!R(WHQX;pZ-Nc+^4 zP4fSOS2ITZzp+J8zBOS&G=Lce((EsQ8`OTR%}pkXp7U5)3G4axBr|>PuA_$3pihvc zGpX;|CmtAU`z36}XkF-un2=ncFDSEPDmJzPoCy?X(h|l<_NG)Av$>zXf|b|^Ns!`D zbn7vRv-aMHlR7_sMqfO_JqSl45P)Jb00D31N2=!1#H>c7i}GJdb> zTs{A5U)D%>V;7Od^wGS9T(|JQqsgAC^rD87aO1>i!2p{KCYh)=pdHU7HBG)UX3D0u`HSdu&%l-%U3?~;`Ul?Z!`^45^%dq(@5ASLA6ekH z4z?`J(%kR(<2!R#l(!7cKk18WnGxwE!>F@_d8_f?wB|z{R?)S7hvX5I26U^ z`KdPI?BXWji;A%Mr{1n*siX+wVpd<>zT$R=!G#5soB~L?8HWk)?HX$$>mkT|vBXnG zXA;9IZAy9HTIy#&-#_K=YgWb90^@ml8Pb|;x{_8|ho~%STtL3~RY~#-9=>CNh->#1 z`-d;}dm#4vJ9w>zO1ha*qmMBu_b}d%SN1WqyD1a!bw+cE+kj?CCpZx`EE%d-TV|?~ zd1#y_S;x^HA!%9WdJlYK%RNnKIrfZw-Kdm8GJukj2L(>E8gNxZ&VEF~9kl>&f^_zLB|N0oG& zP8H9u#~<=B;`HAr&81+l4-*aFncEcgOniGQv;2feQ!Ac!8ZWb) zDN@I?x_){!@`mNlOl-Vz-vzhc_Q@Y@j40o`S@;#>m+eK40kj^`*=5R+_T4 zp0XijK4#-)+eQPW=2lhpU8|x3v{+nA_=k`p0}0z@l^Iv6yf)f^rZTg&43Vxb<0k6W zXp=uTS_-mzycirW^|xOBa(((>jl5>sO5qA+2Gig>9wI)Qm%yn(7eYg;Fy+@zvz z$VerThyJE7Rs~b=Y{6K>L)ZvbX5z?1tJ=!*9@SxB@N&9?QL&VzRI*4yE* zfvRhch69LBbeFb>95%1gkLuXYdNwhI4!rk-Iu0aJkMzVaR_Izx-%iirD!qvcHhh6I z@Ka+SVGC?X-!jKc zGEMu6X*GT^G+%@Ct}hl+1E8bkJaBR-JH=}ddWz=Jr$+krzs1Ld*db$@ZXIOI^Sfr- zNJLwFU{s+)gn}U+%pBaV^eOPZg*{Zt8N~Xf|`Cc?n4nkBQ2hE&Iw{uH#OL z1={ApWJ4CzyDnY++vM5DZ^<*Pu=5W{9V*y^bTxqjq+=&i2De#H#G9V77XK=|*FAhR zp=Y9J{Dy?dlx8WpiLKm1+(}p56Qp0*Ozt!fG6ifd(hwKyzOII%M>(ITR=DziC5 zugVHm2p3N0Zdpc7$ZYjVFR*(H?|M(LkZc%wf+V=nv$N!p>uP~4J8hnI`8k&zRF5Z7 z-=fzSv*yM-Lfg0=&!!H+jTb`d_a;74VHb5W8e{syr4${(RatMzKCVV6A%yxq&a1~M z=Z?>4P=Lwxu997^C!``6E?4Bpcv9!NtpKt)el*0_GWj_$kC7C%>{B(?*LPx$`7`DA zfiL0sNwlJmLb8va7n!E>1*2Ki+*1#z5B!+Nz*goX2i?_Wl ztBS|DU*jz>izFv)ehuqmspTw>4ikyxEp@pyC;XxIqnd+MY&o&}`m$QvFC8OaE~U1H zF2Ll1?ZzIdNo6 z0N4nCk*bIR9n_AuWEa|5FqK4dxUxGd zVo!7CXEdZ1-553>{kF90Zo)Q{w_@PABetcqlGnzxg7lL|pG{w8730tEuEo7PXS!w@;b+ahwx?h6muJ>OSiV4aDqe>w&^3mw>Kaja* znSBL%s&l<3Ad?%B`q(#Z_Bn<%7uerkfzTj(IHH|KC{jh#+{Qb#s8anlyAr&GQx$=< zyeH~!$e-|ZM&_hIE|tKg7iEV=^OVK&`;cG=5a07VV2_g)o@5JuSmoy7Ue0elD4cV4 zFVD&;NJN7ji)u}5eYU_1s=WlVUn~L8qCEpw7~qE5d0G75SkB*$zS?YkT2GH;=Un?# z_lZUOr)s(VPZR1nFD5&BVA#7OVMV-ypZx{0> zEV65Es0IrN$Tp)9**50OzBu!HV!O(F&~_sLAGzna{@zGO6Ae#mBi7Wq4<$ic1_o( zT6a1JAXV>JEdR3IWWWU3Na=0a?&HseOK{viO@wKO_oa)0aP9*>fG$3(+m^TT4GMr_)mKzx{hsf!hI zGjcW3@#VkEEviiZdz0UGdsz*}h&@ZtaQsHo?hg&919?MO)kH60|L14jN|iE9c!}5G z_!6H`MZ8RgX@ATk5E-Iy-l`gv>mCLmQolhg#3Wy$V#-spExb2Oq4`YLat}9Pvpk6_ z3mun|ZC{(F^+yOWW7qM#}owqpb%%kW!qXWQM9&@m)hma#L>?Gy-ko? ztN=EY=YxD;8WtfeK*I}v?%@G5GGaCvcLFW26MSw>Faj`dE@&f*AawqH&+mGX)wmU` z<=&N2I@mlPuM~sCjA9|LtXbf6Gr{i5&Pm;BZp)$%$qV+P;$iQqNVU?*z)Ks+qHk#Kr@e*;^ zGm=ii%RjMmASt1?@|bYL?xWO=nzUMS9(B&H%tK)pmT0RKI@OY-txm|OV?4TkXNK3` zkq!5BWyfy@h&HX5D>TGftmakyOV?qu@c%}KB*Zh@HvD!|BTdHht7YH&5P1ugAR(^P zC~4OKBu4JiZcvU>q3GQ`nfSB*EsB0j0#&M!&!t*XNpnu&Q`T<2Naewe`eR}~8wnml zqRrX|TxaXUTqNT9yJv_(jvcb#)6W5%|>_1&?!pIfDNY-2a zZ!CxHKUW0nk&JRYp0uDBs8lfCX^fW|v@#LU2@`KwCA)t+y3z1<(uh{1%?#9TdBvpMM4hUD1!>lb7$?rIvAIK0 z`WfNt2*|MTi}|2tunv^j+BfJma8yM-+`+!O3; zud2QNkudEO1rJ+W>3l}28UKF*RTILYk%_fFM)CfD0hM-3K{Gq<9jKmaB_$hos@9b{ zJjVf8ceOnv7InZj&rBqDzEqT|wcmPVR=-=TLbi;jj@NJq!HrExB`0&B_al$PG8SKg zbussDFmsycw+PLp?JAdq13AsY)imA=NUUm zlHfGYYcJ(};)8i%p3=K3!yykJ|BQnaYj@3QXM%0EWUxNbTP%^FXq2L;$`l87)10Ct zvvoQ1sd@e7J^g35CJh#cjpt+2@P38r$+Zf-XFiPl6Ycrr&e_#c1uY7BnT%rdW2_(B zdp)@Hf`WcxX(7D#vVHx$ZVa7cYnz|$5t6`s0e_czr>~oE1y^G%8In4Z|eto*);X1+y3jt~P9TmRvj|+_z7~JR>qM)t1S9I-Eq*PMhO4 zd$xoJqlwA7lx zOzq4+zao!O$>}G}hZ`4X^`AOPWXk6XC^Za9GhR~g-}kQBvIz+Y(!aXr3GrwHpM}m1 zj`9Bar=I!98)VPWu}VUU;k4?fFFU5Dea~jTkq}=TzbB<*n<;#s2vg?)>jP}0Y<59m z8(?M(B&&CvW{+Q5ketRICB9qL|9^98)f8*{(3 zP%Ed#O`Epcn?_6rteGp*%9bP{aIc`rCCklJk#c7dZLzi0YmTd)V)O434*sa+g5s>J z-d*Iq1P%EGWn$ks5l&9|`*a6vLMd~cy}g~F$7I5c_QEFZ@r4&+SNqi>*6-F5f2saa zoOQ>IK*q8hs9Kr9e!ja=q9V#?-lARc&P5g@ub{F-&@{gD!+uAIzq)YM8tPqEDBy%pLUnmW4AzN; zgje*$3E`dzkTrZV=<%7gbIBb$NL)jx`n8QiT5!uE{b4;iG2pzqQG+@3&yZ+AR6!|p zbAA)O8DDxy3G1!{l#<~v_wXaaKRTAJW=oxbYw#&S+5{-*Tt6quN+^G*V*MK%`b(lG zG|mN9m$53XU2Bb4J`ZO|cyYUwXM81+(oQ7lyA9(C&~BbxI|f#g_MkCQL`&us$IYcK zOXuxOBAD@k->(92-XqSY7YVlWk>~3+I->NW_czW>P=%#z!pdVIIuhk{AI+AgIbPqX z37EzdzZ+`@!F{O4{L2zzbr5@LH9A;gt#UZM@<_obE0m2~gTn_ab-jjkuQlZ`x<|6EoqA+zoJue2B1Xc>b{Kj3qIFBe4T<0dLRBx`UR zX}UjLX#)CARp8fxY7R`BHRXI|?Lb{G0cppTQJzOlo1GojWh85(_jADH+q!2`q||;D z5S#S+!b-hfKXBG-gGXezI|Ab5>4*}W+3q4<=UT+&KWwDPIw6Z0aX)aFvD3UV4pPlK z>CSVyIoS(p@5pMlS(U9v^W_bd=C44xv2AbK3WxH+A3D4P=6+S8jt!riW)sM=tHlk>ga-Tp5=eJfD+Zy7r-=p<%~FrfS}eh06MUD>A17 z63EfRC0Z^?WPW^j!3{Gzlld6_hA$(5=0F=;_6}!p3SJc9n{|-?4p#UKj1RzEW+jCT z6HYbwz@K(c(PHsV2V?UlFMlS3$)}aEhYwBqZ%S;g1ST0YY<;!7d?vTX^yMhK!%Bv} z3yFdUb|MuC8(*y1TBVK1e1{cTUMwfuSlFL)3w-aj1%2Ktt2X@mJjMi5IU&DT$OBNv zijt0iad)8D>eL#o)PcxRVs{I7%w$wsw4hsB|EvqNg3ajKW5P1bu=$$}K~tC7zEE6a za7r+=lsM3#!h~1%agVhX}PW|H&raG#x>&5)6id3GSX=x*eYi%lC!7;$Iq zEmE8a^YSI4xarUcVX9IHLe&AqOew6Jk2nWP51#2IILB7X=U%hpS%$X{t4DMleTwG; zod?|N@6^Un(0Rl_=Sctyydkd~NgiQ}0xy|DLwS>do1P)_F?#PObQA6-+dJexO%G`c zrL!j$F6IwLwB{|R9t~11HBK`Lkz%7-O$YV^YXA21e$(7-WLm>hKyq6nR6h5JXMu%AND+ z>`L)(WYkf*b$y%Yl7{%!Iz_80FHubgtHv58T(6h=SVfe+mndAMi6-~Rvk@j(2F_k+ z&D`8Rnp(|Lzv|V=JR7W7cMtB19QpVtq1f12+s(wOjpUc`kC9tu)&0UEV26U1j98EF zDig)o#J)#`K#D$0Y}gprdxj8{KoxxK^Z4@3kgij^{>h?4^sYE9b2`40alM*s4GYH` zmXVb3RuR_{{kY@%8azh8%Vl+)I8->PEq0_tRu-jG%WMCtj=l>e$)ojw$6}tUVMrZe z;m71;TJE4LL8@Cn{mQGqV2rP=94p{xQ{Y%!WP(w~&&P>oxFew=S0f90j5uVQsv~TG zY~r-($cWnm3-?xb*VU$eak)ZJjAwJDHGu)6;ptm0D56z_My|FoJ-l9vU8HJ2B0#{tPFOX6IgVt)|@(PaARf0+E)7^?auH2WW-yo@!R_g8mJ z(9w{Jk(gIBnm<8t<7`OH8GENB*MjE9sIMc+DK2)3!*T`eQ$4fBec1>vT*>mqG3VK*=^ zAIG!_gCBNMPwWXmt9s$69xmRTlA1M5;YVX^x?`?-V_qaG_|60qv+xMa&T2u8 zWfbPekSJF9&y8BO+|gTp z2|3r~Z`iq>lnps`5mp_W*5h|$O|)hXrLJQ3%Bd~yqN$b}*&!o?dzR}YC+IDu zIY~YuycsMbd}KYa@~fdo({8opElq1_Y2?=EiA7|W6T^=ZP3SIZ&UsJvF4bbMCc9B`|q&nm<1W6|SIg zCA#o-lMr}cx94_uQXh5^#l7iM;Eb;6np2s*J8Dp2w+2Yo%=wUTp%t=1Np0$47X`SS z0+xN8?R$z!1h+=A8cMtFbS&}Ud$ZrmcFJIpg{cFnMXbP3nF9vum0Xk!DX*zo3@cMYK?P-r{VWKH3LRM7)YFkjA(d~kMa0UVJx(jo#VFtGPqPHl_0a! zr%T9b&W0z`4LbXi)|c<=2R7=x%Pc`&9+mSnZ=Db50|s(hk%_Srsp1TR{V#dOW#{!L z<%Onu-S1u~HI{Rozq@)&mNkSAwuvSqYA006(&>5ls!qn#i+J|Ws3JL8J%~37HyLrm z%2L&TzvK9}T##=sx&;g(zNl!K$#593<)euzZ|EpMx?HyV3RK#6GHW}Vh+zk4@NH<6 z8h^S@$fEWqoMjXIeWm^0)p=~7CA`e*CdWdjhjXf@GiRNWfxl*#nptxL)S55Y3qj(u zv{9#->{!y*0laEnWJJ=xfE*k{%k=MkuwTadjy` zu-y2DU;&!S>9ZM>dk$IZ1cMp(rpz0&xBZXR#ky%o>jS<3eoMYCetN7-|6|(TTpq&H zVlgJaL{?${tGm^sjD9uiXxT5UeokEOmZ_tAbA_O5`%&O|#V4*}p+e}j=kse3oM$qO z_u_ASLnr+kTgZ3M!e2cv+lXll+_{zO_c2f)%9UEC2NQbfn#D$%lV1yV=^+&=e?!{F0X=c70 z3_LWg-LSP{bI@_xn?~Pnov)3f_Ha;Y)*Y0AkqjM!>F_5cv%}Qayrji5Exb!2HF^lw zb3G4EhN{V|8=#1yCIO=&67lY#Z1?y|tS61oBM+Pid{fmi#dRiMJ$NC7xSs2O#G;nG z+3@<6MDdBxvpwRs*2V);bb3}wi!5nE$i*IHg$o@|XjYv2E$jk=OiaFy;te_p+|#Bi zWV94t(HE$6*7&kqQ+n&TQTxxcY#dG88>w&Vwfd~(TssI=v+{La^9OZ{7RQ=E*~#5D zHFj?Py9mMN;W-wn`|_FBd`wMOyoV*(AEqh~-SmFwqA1l(KgWCJ>$(gNys#6c=|rPj zCqW_jOtnK?Di^SGtUmOh<`YXc$^TkGi|u5*%+IYG_4j8dVbH{~ITB7$+v|s}m#)!TX3cr&lugV$(0WM7i<8|esxNiQWKJHm=<-^km zPf5QDrndY<)aRFWlvf!VVijZPL~n)R%nvN_sX58`8k&e{1(O^Nirj98k)H)+Ui8AlkZH*+z#y+O0C+qeW=}Sw~xeB$# za$yGRhIa=`QjmAdu=tx!TRGRb z*oCQfwdG&3_cA2mwRb`?F*t~puCwyye4sIGn_ZTx<8BJIa*D1Y+8PMq+kB3l!el0p z1@e+Gvw5d`{@?5v|Jh>to*mIXp9@TF!-YHn6r>Dl2N;~`0jLPqpQ3&PTsGk zjs8^!^0y=#ZrPp|z6m{<+Pn|x<%;-a??{Q{JoC8thVj=RC{hvJpcCIV91?~4=mT5S zp%m_r9eXbS-_|Ja$SJ8+==|dl<)NzQGPO>8?56zm5*aH6OVX6*QU$-nDz1BjGIqm< zC^>M*$=QpcD>#{`>ukA^NUzd$L#y@Efn=cCl;yM-LKR(VTNf`^l8N?`4Ui36UsR`D z!(nY^)ocVu-A!UVh~zB)P2KT;oC2`4bJ7Vt81no^?LCJ3iehUF_j-T*AU#-$0l=O3 z`I+M)_}Bt+5n`Ovd+bOk7eiAWtSD=&;{!HIIbC_rWEFQk%m1g$C%{$KFLT8v>z<49wgQD$pX~fCfd6TKEE$5a%h_ zeC^cqPT*&jj>_WUzvv2j?Dj#|w9o7k82rnN*sK>cUD)Bdd(8JL8QaW0bDx-}e&^>} zkdhUnDKAkS8^jWU*6r()tYip&FmgNcv39(Z#;u*|;9H}f=^+8m8-XzV;ik+>d%(fh zc1#n0ya(yBR*7;&q4%+$WtuFdGQ>lLO(P!1&>MxvdVidwjXSc#uK^P z5$Tu|d$z3*i|(EYsL@|;Z0Un)NIFEVrIHi_Re@xqb8X!rWh|-B#?F`S`i>ls7z>k$ z%(!y*ozGpH9Laard|)@ZFCzCH4x<{Wi=!0kCz6O4IBv8w(MyFMI-vs+PBrYtR-n99 zgXur!o35%<%0$A`y3g|3K|3=G&yAyp1t)8GxGchbQ${4_`FA2rmWc}&6O4LoPmq}f z6bKtvdZTrZBo}Mw*{0^C9b|zGJT_bZCPJ`|AC70uLk5azYX{YJg{)gO5Igu}hzE{#Pv#Ky#8M>Jy-JnyuD)s{x87%XD`y2jtN!*#ef+2qpqlEFxM6oC!T* z3g85`zv41=KqLynd!vpy?i8^i+H3e-hE`@WhlrYI*t0vFo4RArshmo*t`(+}Dkd1x zgJMyR)zgQFdVt*GIaY%%RGPipbMFbAH+yc{Ee!UL^}K2p4D8;c0h#-IN3f3<>?w$ag8pg-o<x zJ&MI|W{{^r?Fzy!=HCOT+i=xyP7;z%LcJ;na27k2ZBWvQAQqumUQxUeA*lm=o>44m zd@EXJ=t#?~_s92A9k2w7%=-#0XHcDef&fAS3As}kQlhWZGWti_D&VS@35r8fY0<0G zjjt1KxjO}=_WRv=O}nt(bfWa%)z8LjiOkzgR@fh$LvWwE4E#spuvmB;tGPRFRA-h3 z2ymA)_|pgGU!(#{5(4USXLHM=3gHGQ15k$y-FuaF&%RG6GyYUR!wV#Jc*l3p&>UxC zi%zjY!I`N_9Sv}^AVgXF{L5@dlRoO{>kdF`2<$2BYq_=h7SgVNI$c_Z@-9$Drs~Mp zi1omr7Kf}lKN)OKlI|^N38-4%^YKGkD>%yB+?!SNt^-Kc?78afgs$}M^X~{nKl5co zW7z8JDR$1aFUO4je`PTNKWyjoH=t5ZOH{hkvH6C|4QOX{0#J)Ug7-U1;kUhtn3II% zd4Ze#=vSuYdGfi%YYH%aFIzxZ(aEe7HN_gl(DOE0Gc3 zZSOa46gxiu5iv>x1Bn>IR;nP%<2K&olkiuvw|o!BL>1@VvVMel|LL3{h>9Oc+7smD zP7w{`(5~n-wSvc*&P(?pY*DV!$H-v2x^>~Zgko{j(8{CUqtfA5+7m};>3@znqPCRQ4jZO@l)>=Lwll68!Lk^>ZN*j(YUm*e^{U zKLkani`k>_b|UY{p@wz`_0#Fm)n-twtOwLj>JXep1SKSH4t^xi<*ikM^JmrCOBa0M zB!Z=5L>h9;e;q}0fTzR-@{~Xi$GYkDLL56|v_7ng7m*1e0gR}>?t8g`-u0|Z~bUi~2 zxI~Vr)0L)ug0=4urWvL>A4fBglLQl!;S_Lxczj;;sD+|5tT(qg*t3sX=S0ek&;D>F zhaIy8sP`p_H{ZQ_xklAMC>us48!g06hEoewN3R!gkMF`Cx@sItjHyL5K0Po4MPUdC zBIK*`&?Dpb2}+rq_Gvp-JjW`4WAj5Xne8NvQ*g?YAG(bQ=r({!^v(~|(CQ&Xcarxf z}$UJHo#a^|gsDbAwMO7dFxd0e!_UJ-Z%eN!*@A)N{fAwlM zuj7q=u)qN5LYdb@cPV!JE-9SgBXm7lo8yj$tanYj%u)Q==?jYTE@ zdzSX=68kk+n5brf8$Xw0t$0oUVq=j?ez~BKRum~wi_S+;i{aZZjSg6gxbvVtB|?E0 zCiNv}OOBOu$|DCx2(0ZD_hB-=Dfabq6DyHqKf2kffSb(&xY^=1!4fCeDvOzooJUfM zk`Gk;;AeNF_b!SUON=%si1!|@?Hf+AqHj_TtH0Cq?-|>Br(MX=e~4@jzA3SHX!W8N z14_8*AF>;GY#$b`h>O7EQJ*!xKBq+evdMhR8U9p{(guF!*86+0v5LJmEc;(xRZ@k& zKR9^*ZrPEB`TIS;UF7Fy4BiL(P0RdI6~Am25i#d;Ep1|?WX6yQ)d8C;pLDWQZ5Fm7 znhJsiPDd3i)^orYgj;WLST=?vpRTMK>T+tlq#MoKW|dAtTIkMQBhN}AFmYAZAw=6P zj4Z%=^J}8;T06!kirmk_IeJl4QFM*ZaackO?x(qB9Au?IHRi5!$W9C#0kUDF!?D1- z2@amKw8su^J~c`-sU;70Px!6neGR+)vJQ*eMn&}$G9&$?Z%vfCA0qn7hOeI7l`-PO zQi;u5fxb+^hW_|DMs-7Y;Bs=HwV$&^ajtUz+PO7pTnh341E+iIj4OVo^F5Q=Y_Ql2 zYLhK%=K6`ForC+4!tkM{Y@B-e$Sm2-a^cGes-N#ZxP&AaOw#8$s>YMa)G|p1)d}%qXNNV zmI1fo{BL>*XWM55@NOoA#f=RAf$~z9t96&+I3QO%{_?bN0qIy?bMQ63GdT@fR2=S> z99M~-Tnlw8T!XIZ!2j0LdR7n!uYb8mWW*L}q#F8)@}2?0<{GsM-6la5q+OjY0|6JG zQByR?&j~wTXgZ%T{Z5l%`6${Y;~&3(l&&<5ZRZ_>=ThgH1^jAQ)j^@g4O?WM z_~Wp<6XeVv?wD(rpiLOON6d>3GnY~+lvw1%-5?r!-{oD5^RgoC^H$^IYd_B_;i${$ zM15C$@cq~$HoITSuZDZWG!?yB$tjVgi8QK=08#wTgH-|i?P55VCpQ!OdNNb@u{QE_ zhj!hk>OA%jHGwa|Ui@B19MMr2;<7(H*f3Bl7{=Hj<|=1!N~XU@c+j_c(=oCBr7-dO z<>~%X!-(^ zojp}PkV5FT- zxn7R_&hF!jfVmzOwREhas)m`Wuu;Q(0uheGYpKI)VO@^HO2)6LirxyG7u}hxEAd;^ z4_`snNC)PiZpjon)jGItogX}Y@U?3Z2_@FUI$PA^Zp)D9X#Kn1;#Ovd@jMP&=PL}} z7{}GGt(Odu=*z4gTNkkjLc@2~Y2#9Jl|#uQd?SzPDejy<>m;knl#zDjjo&F>mF zZY1a~*IJlH3|tvzmD{jjbP~$+Wh_^j*9mT|W{JxRxHGpvGLoNOTpEPbM8Dmti@I$z z@cd4_6TD}qp!mMa^bA45Vj7MpR=fJByd|@;6P)W~!cB6KzQiAIJYIQf zveF~3JQbMxTDP_-G}gI3D?)qplVFl+j%;s2L>-PX&bduWIqP!|yhUC)bM(bgl=L(g zt}i^NY}{nwt8&PdAb7kEE_9@SlU0K`S!2Qneti8L;R#lsZn!;@-1PY?l^B^%+ksE( z+Yj`g&-SyZI%CQiCdF&D3}pL0&h;B-7350GN0CU|V(PLgj+Qpjyq)`$=a+@=(Q1zH z^9rJ|C7KAx%C%G?B2D+xZ5${vk!H^G)}Hz!#iBD+;L4a9jbERf5F*ngVoFW`hiDMe z>|P*d@>@Uu3K~xsM(M51V%piwHN?hv>bBxeTR24jI1)zGZr`eg?J^X}^QLdmK{TtpH*D|BU#b|0a~g^)k~Br-k&?mEH$!CXc=ph;%8mJ`1a@Ra0@p& zDHde>Y5h>ZRWMiA<>a!u*?Bq1@8rZae!AR-vsO{4^Or0O7Ibl8Cp;rUmgpSo5iDOl zf~|;#m^j_nK5Mv!HE|;CJmSNf1WIT`p~2m7z$q~&(zf}AY_2=*&+&eHSlbV-RSvFo z9b9W+m?XG*NWLtU#XhCYQ6#J9?5Bsh4sF^sWNEUb_0t07kGq@=O5Nt(OyRscdW&=o zA8Rc`dd+phOGMI(%x_qc{KuOaI%{d4I<)yzDh32_>_ZC#E)5+JX`QB3wVp%MzNAv^ z5HZ&APe|l~4$pYlPxiJ#Vq-8ta$Es&v(Ia@oz05Y4#sZ0U@C zvNy!ZXW55jqqD5D#5&li(}Up#!fc>lz`?c;)Tv-oP#@#{v5(~pj?Jr7uOI4w`q%=8 zg1oj0gqWz$IR8yxuu zH-H;quA;W$Vrpbj#4+k~kVf#6orGHChwe!j;tButDd#)TfnEjsEuY4`2Zw!HR94Qu z=0ju17@v{SH3hW)lcZTYH(MP!c z+Y|iPR|E${KPfH2pALdi8ximQJE42}<@3>cM1uZEb`$*b$6RBJ)p^|s3`Uxx>-6N8 z02T|F*(BcN=ymT}!M)R>slN*IilaDMT0k_Zbp`p9 z7_)k`o60zs`3m*?c2iWHl@OYw5P z@Vrj;dIC&j-(?-WXi_3f^5&+++}Eo234Ni?Pm&ON8Em>A^?G5z()XWd@o#@jjQ5qM zQJDSJ1d~nC&$MK1E#K9ws~OeIKpBq3;QZ};6SFDf(p;k6baw_+IB&4%;xY<^8H+G{ zQXVj&AZ1z;RRLQ@@z^mnk8lC(gs|9!AzLi+my6!BS|Xfl1wykft0O^Mcf(z;AOp2C zMt^lEAiN!Z_J!VsGC!EN;%=9WxMV4HjQJ1o<&=7V?)Z#M*i81RYjeI#O|bTk)i}@W z2<$Ry>|~(`Zcdjqr8<16e-p-U%;xy){=8_VMS%Df#PispyV=~d4ibV*t`|0M(6zd* zl1~WWymGMcz&u-z;n8qiv3AFm#^JqR6A9P>pgO>#j`ZS^T zcZ+lydhJK1a3TG{okO1ahsQTp@!jwxo#j_P!YLsk4CMZor{A1K?2`->_URE7UBC1G zf?n;Jt(2&N(!-Gv!;Mq5_k?v7%xbwtyf!@~h?o@ds zy2}$wO*$6Lj&632qiKs|PDbj8yTRpxqFS1^L@in$OU(wa-%N8W3@#6aKR)5{*9qKC zyY5Wu4t2<9bJ-V%2!$+#9Iq)WxxL@Nhs}Y8I{o)AE{WX8cW9G}rbjdka*vC;H%}|g zzX=yQC&7-YRpV=6sgZNOz}JA5=nv=&wAJNM!u3%X%qARYU9~qm8!Vi@{?6yq+Oto*T5>Lys-h*L7lP8&%!&25t`bX~O>E%qGj?~MKG%?` zD1GCnFHJDM02yG;a^BA4_Ulu8Ar%ZNjY@~Zw3hE|N+EuG)$esrsn#!&jxSVkorA-l0l5sGAK>?RS0F-pQ1OEOHd&)CLbey^d<`_wsg z-rw)%`~Cj)d;L?lTg|-Y^<1v!b=|MWb-nyw?};IkFhg@EC{pJdZIAK1=p-p@ss@a( zSt?AS6&ja8HaPI3f3dGO*d(BJyPB-;;SY$N9fW+m$DBFg6&agU7GPL(Qs=P1#OB5f zdZ`iCG(1LR$ks>MtCSetExsoT5;9z`UTgoIxR~vhoSZ=CrQ)L|$RgIrq`L4(*m@qX zoPj&*KtE*rRw2am6%(d$$FbjN@A>-jFDKORb$A_27K+a@r7Bdr=zvZ(S8L*_(L;hz zn>fg%K>I^m#HAyey=d0ch(wdk;6~VowIpYit!QI4#FoyE|;+jak@<& zavft==W?nHz`gUzecUMRWnamedF-&HdAxkM{$i zEB)^v!5!D97DO|KjKwG}2-f&s)tg9*EJx7XJ?H7&Q}55~SgtCtmV4U^Mp_(o(#>pk zcpjIk+R|37)!ogbb`s|&rjXza(j2g`$aN68b0 zi8YI3w;17Xa|WWyy6_RAPw<{W(l(aLf?x^&rQY)9ZQKgaxIukf@lrvLlw;B@|2m4{ zo0G}@^l6f+dG+`u(ACHw%G)Te%HL3BnMf%w>tlM=hf;SY7WRbb2 zvE1^J_fX7A=x!RU{P6(zbNgP|1u%|86#DH!^YUDSt3Vw{RF8u5+aRy-T=X~wKICqE z(g)NVKwz*Ctqqs&s}5OUO+6FjSc2?yP6gL#sV93$m4tKr@@d3Efv1^3amhrt=D{pX ziDvmL{*LAHf0W!@dIA(2T4r*mbh+tUujG*FTja||G_JbLCFe!l!EymDI2h0T@<{mK z3gLh1q|qGohfysS*%A9|61tZ&_4+y|F=T*pM?qke~`Xo$A5jWb>)brma*EP3iB zgUM6W8ruH{;(E{H@rTOiO{hZOw``(sepTSH?S=7C0} zc!RjgXEfGlgVc@K@BGL=_iDiV)Q1fVPSW=DUU{Q*heG-g_vd$%&Cm*?jsEI%3a!^9 znP?W*KgA&kry;=pntXtB?TPJkmiR_{#J&clw$fLOO+P~I5CCfP0#KWdX7AgWdM?a^ zndFNRZ}TioJjhosY#SKkwaPt@c?CM{cp0qjYMt9Xa`dEY%>KIUitnODD_{f=zzDpg zk(CHw%-v^^dBL`t>YJ-$cN?M)N`NfN4gFpr_P3CMg;Vj34|F&nPambkniZh;>WmRD zZn`tl(?A5N|4Y*>l8xlvvfTfQqQm&zarF(wGtz#w$dRH>&49^n!Ig8+P$}RhU4eV2 zfY*hY@p8#+Ey?kB`PP*{N0xJ|O?cix)@t^e6mX|{%;qg#ULn$t=x_2hfc~NZ^hZ0M zbb&q|TL!jf-mVOIwjYj6fK3k2*rc%+iZu4Jb%=VHmbs{=Mf6r1>YSxT&&-__b*+Xj zOui_ln|~`y=PhGqGcyN|GqY_im6aCqBEInQ=7m52oN0%ZB{b zrn9Fh>(`eoCRq}~W){@YKhotjfLPCb0urHO)%bl>f~|!{nR8yxhYv|la>SwOPaOAg zXf1S@1INXhGS;IP@mx=#r#Nw_3E|DxM9Ce7S}p~&Lmr8d1`?+bQ7Wwb-H_*6n2hCH zS-f!zwaeh0iQ0ZIcsMr(kNF|jiF&~z7-R~#L)HwktA226So14b>x4A)8!9UM3}vbI zh*OmHn*oZvLXf`=DUGH^0z+D8FK7r&l@q$!W2T#R9eOBHg(L~B+bDKQEa`s@YKBff zIa#Lh+kyg>pG2xQYEBS;oU`;jv~{u9raO8G))9*$Lwbnr2<`3sL6mIMuQ2xWAh*e0pb zIUR{@adlaq)V&0}=5c@rVD~q^^D1h9(FFtffSZMZsIjiQrAhprSX~x~U*);DL*mf8 zTCcpB_Tu*JF{r?MR+bO?URaHFJ=5r*p`Y$+QO!I$kz}$=LA_RpM1i*afBb5mXtj$) zu&?e`?rwQ!HQ0j1cKB}N+HB=W$9$Xf?2c)ksgtd@!M&;Ac3I$6Gf~^t&JZU$uxRL((>|V zaxIUrAZo?o!#9#2b3A#E+bNO_pss*9B!1u}pYMU$nVF=81y5gF1>tu2uLe>`bsUk{ z=dC`$q}Nm8@V4LZrfG05_OW>>fDFkn|F^7qfoBKNE7 zPqhAMqapws#R}Lcy-QtqPsXgUpygd{iK?@(cZc3g12N>}p@NF0m*d$B4y@8a>yHYK zgeIzL&FOZ$vrc7_GF)u4=nT(uxPF$t>sazclbRe)QTmsp$CAh7+U#&fploZZzEFM{ z#~+o>v%1t*`MutZp`1lyz#G+_5A3I(X5^4Mhd){n$yr1ey0Cq~J*#qOR^}Ce1U?MJ zM_66n+>5dSPw5860w!_qk0!C6b|?Uelb1cyN>I7-Yo7!!6`a;Vm!VwKr2<}4@*{Ip zyU$1Z+AQ1^f#7nchH!`^RV;`Yg}OMscGmg-Enu;pF#9;6H4a!~u^9Cwe>|Z%*OFJH z9#Cm)cJh$lb>Z-E>VRM-M=SZb`K}+&TWjFt4ggN>qhe;nM48ApY|`iN#tT)cAusB5 z_3U%!N)!WSfAskzcv)7=6o54W;xnHAuXGp;a9~JF9UXAO7CK{WG7<42vaC;H<6Ch; zmj@G{;jtzknI36oVO6oZ>6`C6yS=K zr!*=Zc}UlIyi?OEh~|8&ako_~`(=9n^(4#>r&BWBTOu!3$RKE#EGN`>SfEjT6sMDX zvNv8(+&!2Q1d7YzyYktArCFC}CGgz4DYSz$KGwBbf4$Z2hMF(G=Z2pR-12CQwc^Uq zexR@Qi$Ix!NS+j=-#gL^cGWxcw=)^(mO{=0d+UAEos4H8edgcc{;!IV$Hq^64R|W& z=R0DX?RxKvYcPmH2XTySGO6)xiRufSif=mcrDdIX)K%g=9@Bf{-lb{V8{;%bJq%y( zn+y32!`D>jFyBxb5KkDLx-G}Rp~eDfWCe5_accMx>BDq}75~+E@<9CVj29*?CvAQspse$95y4SydOG@gTlRZAvMu zjO+ib1_Ptdt>Ql2z`6|_V{?cEZ!2eS$5S4 zL);pg4=cAvui}b15a^drCpcfw^8}o(D{trbVdu;9%KA5g!T+ZL%$0ONiQztVq0q+O z%Tt1EVg6oux;|`S#yaQ%J7Klk;70XQ$FlGgKEjkT)G-oRVc4r$-5(?oNkuw4PKC>t z&WwKgA)os}2qx7R0eBz}@qkzN(Qob)c5pzjuq!ODcFD=yj()_MrOnSCr-P-s%6!J? zwCcsEge>Y}2b3h}!huA#^Sl*8kPX)=>!W#9X{t9P1tJxLn$6F|nIR08^D`(oME8c> z7jj4fYU2QHSDJw3Y+jQ!o;f{BxU>@P>_iz+De)Z|qtSxSj9lh0byv`ajJdrVuL3H* zX1r|UKFOD4mJ!U+VXb<+@D2~wP0q67+CW+0MgM{yea@S#8t^GVbMgC@=Ax&eky9Uj zQpY`TDCrpS+>kMLJ%_Xs!B4D{Z=)Z9=>$*Nzw3x-Quq%Ef|BTdm+?qn8m_$lB@44T z!`)BIP+j4F;*3vM$?4E4K`{_scA%g7s9#jAG*+nKi7O5!)P-Ty^^+6R0kp(d;M-yB z%tcKHgX#m)F%H-crn$f$9n({HvpYC;18xWnK!_xy=J1z+bTW%Bvb^Rj1Y;gj@XR`? z9huU#Be~b7(M7&pCdsFx^5lM}2Kxe0PxzfLoCX?t|#p$4j zfW&C?mVASHYdGofFQqQ?kczXPWtjUd@(f!qw* zS2bfQD6Lnm)>pJov|jZ#%-}eBtA3}#i0!dV2JmwdOvLtu6dNswJ2eez*XUi=#csyU zc%Z~fe-b~;i$jQ|Gn&v4>T#w7DCWv z>ZOrS&Xmpw(%qS`6`gwd1I`8yJ~P!!;Mj9m=c+3cvKVF{d&xkQqELld4q;=UIpQYK zRq*)Ei4gqz5|rlZxsrY6z#2@kSb35c=bo2WX?c+)wPW9o@3W2Iv95{5#xX0{%qs%A`3>wB^Bb z0Z@stP23Cli?pRthh>A6AV_aD2GaE@F_(%Q+DPt5Q!7MAtPHXeLi5jtM`b2;8m0rO zUW%l-Xu9EoWa?QOBe{}ZCrX7$*+q!QgAd|g>cWyVfxWJ@Gdy^OGYb0 z15{`rLX||qmb9SL9NIKm0oTrQm3rN9PdodjkK5EA>ubKeZ2>`4)JH3!Uw)g2BF*6P z%U{Ip9X-2Bw+Qet;8pF*>%UHGY~!}8>l6B}^O9lm2lDrRsV8<1M|wdQ5$oe6)G4{I zX>T^9Qs-@}6W^hjACm}I7=U?5Y^*~@j52pqa%TzQLwA&L_CQpNMo{N#S2$lpZUu!u zQ-<8r1tdnOpFIirPdeBcU+SV%)G>=Ju(m$qi0+JYyUyi^wAItAXMjt#@&{;8X z7H-SnHebv{KmBh>TVRdJ7y^p)>#hf+u7DmYNX6iRo-Qx8P*JhE#LC2GdSlIw|K{e} z+5SUv2RKfsno%3oE?ehp;jGVwE3#%BTU+R-9CB zz?*M39{IDIa)Y_7*^DOxvjfbffxluKw~vu3SS28m{tYf;ZZ-l8jAF zP1C}jte(5w$$&h~)T&bux3eHMnqF9+*ukTisB^#XRoy+q?M!G@+3vH{NlvYi9J zP7@W=ppp4~PCb;#Me?U)LsG{1lb;5CH&i1Z2_W0{@uWjxZiQng9~tsOQ$gFXU2*!rhSBV>G2Rc#av>snh|} zjGk;*_r_D3Ux(69Wv@3L3zUu-B!-Xug%j;{!8vHr|I5!M3dX3sZ@wxb;3O`G9vwO~ zeyIq*k9lXG?6kXS^G1skPq?WR7J+J4U@Y7*J61WH9&o{6d1Ke`rg=xntyD+x`*)Yj zdplcyuA3>46$D0QJ*l0qIr0fc`jZI>e^K(Gij~{<#li9D>(e# zYt*pQOTt?*XlOMwp}V(RLJ}-I{@U-wkX7}fK{(_wWr37Pkc6=6Qh~w z@Cvp?cr-VjfvqC$q&3!@{`L01m!>9c2)e2tD5O{5hcdQzJ z4T9;zFC3cUP=*x!E`MEPIr1^_vq_2eCQ={JH3oz%KMpR}hAom5$m2*K9l{$=`Y&?7 zR!dg@{sJ#*#~vkaEwua1C655uK08UbvP8L1^h9a0CRUH9($;giJW2XI%0$x%nf=jw zp%Uf8g}|}caHwZkug)DzrQEl+NfV#x?1p_Pb1O4^P^r*i!Fx_GqzE^5N0#o*kEJ)# z@n~BYdh4b-1V~1qBz=K^r9A)We#n6Kfc%mu2r9+`o*vDziJ!FbWLP%Q_*b zLS2{^eJH>nZm(cCi`6K_DvlBkh&tBwJ$idc$m?RQYpCJ9mDBCs)>*E3m#C9K=&f|T z(xK0U*drwG(HxoO*O)Nn;r54Ih?~sy^v2V+^aR`6%)3KQ(s?iaQsu`77fVz%Z%^56 zBDI@x&t2G@D1fO=h!K@5THyqVDoW&q`(`~n!GcQG!o;^q+A6fuuaGIBhA)cEIR>P0 zW4d)$XCdu%Epbbr%$H2!?kM>M-tfGo!RY3tu^=n28>;?8gT9Knq|PQ{N3#Mt7=k(0|z*`STqAv9^8KD{~pDZq*+-#F9_sq!0xzTjEW==x4bK8s>5{h>oh4 z!Bx*xvq@FU38p}~<5E@J;@G60ev%Kgce+$GkJ?mDs>G*$rKvxGMn)#D&$I05THizG zsg4NxM-cSilqprk*q#=!sBPa5->rU>I1(V2dvc9b-z8odtd>OBnmC+sy)X~VAjzKSbXa`R@kqfmAdnW zJ2>t^&Rg#Soxccnx&~jmg>=iD{=U-c$5VRuV`X{hU>V<)hq=y6u8BiW&>|l6h7Uid zsxp@>M({FVWL1;%Qgo7!yXnLix5;*uwh>0}cRg9~KDoOO+rfn+#lVec$Ch{#R@NOt z4X3NCaQ#_Y$*rfQA@98={UR&shWPv31^Y(ohWT5sS>XFa(fc;Oy=znRLTDFij7??o z({T}B{p#4PQ}(HsA)%IldG zhAQy6OS%-HVB~o{r#ET*avsvvU4y=m?#)N#osrH?EtU6Is08FvnwiPta)h9|A{~ELy1CrxV1*;M2)ScVI#n$K5}lF-u_ZH#P& zZe;XHP~c~PJ}9I!!rtc;RO@?crD0N{K)m%ASMb|kjrP-AVix%XdCbT3YSsCH5oNl9 zad@n$PaCVZo)ak?Ga~$;jf6Q)X@0h`=})!bh_p693+dO_Sbj-9sZ+_h-ld3&Uwj4b zT>)@i=0+9>VYOZ6GaBgO=a%PsUG0Pg6$9-oOHv(gLshGm`M&H?v{maPZeX8ZYX zGP(dzq>tAs0dyhJr%|nCJmE#?z$kbFF}k^X12&EupV_z?fqtl7);BUyj#e19li}^j z5dylc04%9Dx;i|u^C~fsKVOEjEOPjtZ?jcSBc%nTNx8+nJ0m_X7|boTO$d6IJ^hf* zqXP5r_OeAB<5|!m?T>PHq^9^*`$j5RUcR+mX7p&wrO|v4pRcbJiq+_Oc>JH&Lntjq z<_sjgV|ITC^ABGfj(QIH4-uL%d_&WfQE>eYL5;Rn+*?!GW=%{K&zG43AD8}tCTs@? zIq_SlsU?Oi{0irBwxv_nh<{2rZ$`;E7Jy9z8v-*Lm^m`qCqne)=7Onw>*f9Q6Q2`@ zzv-29Xb#Se_+q@Mje%V+i*j4Uk0Jh6I($3IiXmN^)wH4xcmR13E|ufY(63w#GB_+1 z>kPkis(;llnRN@)Z;mhYI?K^CQzZJYkcYZw3ZmT&w0dEu-B2_k4=?I$z&E^?ouIW} z(9rI0T!1#B_rz#8DV}WN0547$62|BTTx`#_Pxn7{>r>rHs>RXBtL?oQn9fW8ko6GrYd1GuO#;(@9Qh8GG{{F35ilN@&0~W)n`~$jK_CFRM zZ7DqVeK-R|WrC#O#!03M&)G_$_3w~O=W--`i^=HFn2aQR#`G+1Zwsb$%ZeDKf@qz`4!!}e*5-aJ8szl9h$yg zxBqA4=4W@Lp`M->?sL>PP8Q(WW~k;1>GGwGl}9j|89W6m?Ro*y?c?uoL^yJ@ zq+@-^(iy-j0KYj&=M(Yu>rd6ff&{GawD*mAQ8$Cgqv5=k6LS+aUTkVjO^630V@+`JYF*)k1#+m0LwZtYXnL8EN67yTiG?H)+Zx!IZmPf#M-M zRW!CH(qevXcex*Ww4cGM-TSiwh;;aG)bcMTEgw*=omBXZLrmU?3$9HJ=HfS_fr{3v zyvYF&D$sa*$JUpoL&0d59u1k}yus_9XUhHVz5$dZ`#6Bd7tRLC7J6I51paw{Z)XB% zvbYXS%RlCAH}?K1T6(N8)M{&W{6F9C$dIN7mqM{xW!(k*oP+}`lq?eQ(M-kq9! zzh+4{P3LP;`aa(bMq1YSm40q|nHqFg3y~V1pZF-e=_T7whPeXBF3xKxDY0OnbTlsQuSXm9K-?wiRIT5}f( zWW(Ix>*v;_gHNathT{+$o!!f`v4a`q(|aXk01NeCJ=?76t?fpFMpek%c$~#IK~tx? zRbj-UEjVDiKC2Ls+SgKdfmX_;wm9%j{PZk!Tm0l%g`nv%f4&57R^b;wANxC^EagHY zEbi~li?n&23v_9qzf@o;8+y?n_sJ>PpxPOa50v30A;h1k+R5n+Zhjf+pcXz(jBsN@CGlOTw9F+>d@9Ja;!je z8yq3t`?gHprHPlaC2`PVw2RNoK&-{^;_`C)>S~q6=k@s}mTzEdAMexR#CYdz^%Eeh z{N_w=xf0v*dLvObaVU}ZnnbN@xKSirE5f+t8gUv>MmaaBBd0%mQPEc)R8jDf2CrQO z@B3!XRC7)m3u`MS`nf$v&#;>e^t-$8gbgQc6~9yuyGvqd z4+*laooaeK`H1j3l<{CSLzcZR4`?3!lSkUeVk;D5bLFs!^6qef$Ruh0CI{;~cD?3q z(%0PZQr4=18ORpNWUpz$^UAJX)bAqEOcbXp{v&63kanWcM75R^(f?&F8RH#M-`?j| z;?dDm0S6lx*b3>Smr&dJ@$E(XjkC@VUf!gi`6@hKYNNt+s_9+b-@+E%m)l}s!$QdQ zKB>vN(-_U|G|GppkKS@6sn8j;%V}~an7p|5hh>A;8_8SxrK}=(A7#URYZXp^PF4YW z%=|6IxfS-`^LhqDjlp^Lu!)f|imab7L{G$iP}Oeu*x*trr$*KxW)|m^)|AIDfDSZ{ zsIer4iM0%Quxll6gVefZQCCOXpy}dTx8>g((olp#|{oj@@mKp#(`U0moL zNHv_nS@m-aQsH~Q*uFpv3AM-2j!&Q=4eWGm`9Gvr+Va-~V{D94v?j>V(pt91PZwGrtr^7+1&WliAGOdqX30D~QRetW;04Yh6PZEj5Pw1mP`@ z`#OVswUkFxC3y9lOIpt!koFhxn-EsDCA`+$u-#HR0KItt)%*87d$#?2?3GIVzAj}? z0fwkuPU7c2-QCr)ZjNkKX}#1NFTC8(kW`P~$53ok%BC!k0c8eg*u*BQph;kuVNp>8 zn>sdI3##{Tm1>N-RiAS{rXv5TQ0;5uns2hG|Gq-)D;u*PeQJ#wV?R`C|G1g-@vsHa zPu{YQ^VGZeR`JVsQ#IeUUVSL>=6=A)?9ynwuCM-!HbD29b&uoD|6t~9uN2}J+7Fvt^eew<|K{AI z`L^P>@vW}#>JlSS`*hS;hq}CQ3E01(cJK%hndd~(X za6iL?(_wZ*pJHMbuemTmf|pk1}a^^IvDeT?bqZr2#T^}4aC_VIw~jivpQ z$n}U^dbhS_^hz@L+buMek}QeqelwnxA7z6FdY#k3@g_#M@tJuEHb7~esh6MN#V7p{ z$^3kRoqnj_bDMRuR0qBCnYuKLs?Ak*SSE;KM_w2wOAt3%%!xh9SPdEHA)g=G<0K$Q z9_5wUcOK-df)6^+)+*fyeutfSQ!eKqHKLE2J=Nh30os>|i^N01a}|alWwQ7x(L}D7e$(xBKJV{Uy`> z+9^a{X^g2MwS%r?qgej-we}Ccu9edO6jD;&dTF^hrcFY+qmKVag(->?B>@97l(&!u zdWHThp$3?a?b?aUH`C>-dW(}0`#P2kXJZqq2gzmSmojN(a_R0q0(+s(GO!c!1u@f0 zm1K$XOFH2#yOl)06P$l<9mTfVWH?>V?n!sZd#-d)ZFsVt2U`ae!#EJISrlnhD%dw<7wAFyW4osy4xsHraAR&2r!&I(DrBz z-fEGJ$~XP{F&TOka5vQLZ8@QDWB z2meha^d;!=V;CS3q5(~yC5&Dzpit_lqu{c?z#o{R6;JZOTQKNK1>0W_+LvvPHS&iC z{lMuJ3)b)2*SyTIV%o8TX-wzbnJaHVlsDVGY;u3y%ZBmS4;KQ2$p3p?Z07UvVTKu| ze@vE_fi5pLLkk3cxfTBJsdnJn_d%T7d`=5T`=Bw#>PV9no zZ7$(z;7}}gVD%XUBBteec7CZFcFCe+Bgl!Tm01a^!BuY^ZCvlWkzXV zk~8;jDp31HqNDB79s9yf-p#m2x4-crG;nnW%_U~dEBkKzuC$6nj|~j4*K}dIy6f|G zdXXPTY{r1Yf%lVA#%u1Sc+G);>dg@HOro5N20@N?3U`1UEMu|Ad}eTI?SC zBso%U3GBgDE_cg5{N(eMWpktx{8lh$O^|8K^vS8CpGp$C>Sr>$GaEW3i1lH>oW0uh zb+GQotmrgp%qGs3Y;=q)qZ-0qmKB08g2r&yph$@kasxQieLBiDa-A4he=;{XXZU0C z4i`n>Z;hKR+M6&plmq2F<(_2_(&9Oc&2pJX>!og1R-as+)|tDnJB*1@4MTXh_f@qf z&mUYuMQ<8lmx$MH^h4eSY>ZI?Rm309&BoFbYUW)t3mY8DIwk#jJ220UQpY$nrl{j) zW#_n*`D>S_?BhF(hRRcwF$oNLzQHwh~~)2lEYA350y!jpZ|mqx7hF?|Psp)*U_+9$X7 zKK+AJ2^##)N)zQUmdufkzi5vzy4Y(|(K=UNBWQ^F6x#Xr%#B-8igm*rLvB7-K_LWJ z(XiQ(?09*kcNuwxGqpxTJjmTGeo6Xd8-mqz{7VGbZS>tDC_5@ESWBVU*DV-_a%^Pv z8k@N^JH;(3(xA?7k%?Q-JqF3NSp#0lZJCvsJUI_$P9v0AFE52YmoJLZX!0NNv{8x~ z51n_2;7a1BPOBpN{4!K#`X?yP5^)2yfojjYTuEz zOD~HnzcSDHOV#E(bl?kasb}N%APp+VOshfja&+e=)@QAsP6R5|&K1|{Sbhl;6}lY3 z#-rt~pxovDEJMHRVp*GUd{udb0&fD>1hM#XwQ`zL_PZ=_8*C;X?ar(O-`MqDGVm^V z-B`lQijO>#5D6gO9Xm8>y4xK)j9kPli2_wCrtSJ!HzsAnNA3?2LQ+r(1Sl@cCU<^5 zGQ5R*Jk(B7XZ^(3h;lsypVE}Re+7j?926@=>aO0_?6^wqeW1~dHtsa3Pnd#Rb8d?m zzH#;E{ZagI$dCe|=HcOIJGLybs{Zy`xyHIKr|x2Ig610zoUOj@)|NVxY<>u+!#aZN z@p9~CuyKWFJ+%TJ~GbklVb|Uc$*&PUv(ogBmDET3$cK(3UL?uPz$J5hC zFKOgQytl}lT89t=RmPFlseLt{A!0Mr27|ubTZ73Xv^BJ^=&lUgc)=ACS~JO|cG-*L z%G_6T@u|trCg8wQMKw0amr?>f1Pwjfs&-d4i;d`KdGJix42!wf@uFQ*lO_wzIZp{T zF;3+*BB}K9A;N*sdI(l>$i8we1(24kAw(}99sg*%=-;QRm(|dh+4pW;rL+jrX;4ex zxhY5B83=lpjXf#IVUboxa0Q*J_qo6<1X?*w%$myg*!q2bDcgyqQ!Q$95uyi=j>JCO zlNH{afW+%$#IzY~cfiSR_*V~K$Ay_ucBYcEsN0e%K zb|f1QNlDl+!$R(!ZpNxpWxx0%JP>;K&RmGmdC%yQH#s9wvQekY6C7q#mrQex zVC17vl(eK$ThDoL56XrpuqrQ-hH#C4$>pQFBH5u3W<$Ki%#(0z>kPT;4OBNfVm9RL zq_lOjE-NA45S3dPWBBHbT!8K1gph5>jLoqN_R*0Q1WL6d;n&|_@YU3p32_i)s<~7$ zWGE$A5i|3g3U`o8D?XB83RGf>mn@wtp#m1jSqpw_Sm{n0zTa%oA5Kv&fd}zg^g7A< z_dqSpt);oXTeC-HKlr`{I;Bc~2}es~-iLObPZhg7;^`;KPT?fw3p@#V^YfsD zBKW0%8mGl6(bS`}$yVu|eC<9uF-nyNz*8wX6L;rfIw<&0Jw^IK6oxJtgfJ#M*^qc9+DZL=E$;>lIZ*BMF7- zN>y)EF{%Xh`}5fWI|-lmZLOY&6cFkYJA4Ll^O47 zBt4c(FP}!464C9^F}354I0NiJm38lP_rzoFE2wiG!4u7^?(PX;92pc!YjIimOzy4V z)A&wyAOY+1K@xhwFufIbymmM{9;*T?1PZ*k-($wyJ*-DE=Ll&@V|D6QwYi0j8kWPr zMv+x@0ScF6f<;b3vJd7w`qcZ)EAaV{or<4!xu4M7z>K`Upc{ktpMxIu7zv{eD%J<_ zLo#K7A8vureXL@E8byLkH#qIe9fr!LY>qktwKMO$_oUAHFxC_c-zD)lnS9({nn$)~ z`Qx3`q-T5Uu>8@;AbvHj6MU=ZYeWMO+zTLbZXZSd*t*Tl68AyTOhl6-`NBw$md{J> z1Wb&!ld_iz-^A`U-t5GX03TH2%7)FCT0z4J7_smwN?zp_AT;%tkEv_A2VFrnc)}N( z+wZ;eHPr1gHMbs<^U_P=D9adYi<|NQdn_XP(vPn9wI^y*Q_zQinYg{(ozgG1Av3Aa zVh=kD2JwF4g&o2>N#WK7pBW{7EvPe*3B_r`9F*cd@n)A#E4LK*8VEeaU0&%`Li2%d jpZ!ZZw*X?Z8N7R>#6O#5@D=cnJ9N$)oO^!O_U``&oo*bP literal 0 HcmV?d00001 diff --git a/src/main/scripts/mt_trace.mjs b/src/main/scripts/mt_trace.mjs index 4404af1..5979e18 100644 --- a/src/main/scripts/mt_trace.mjs +++ b/src/main/scripts/mt_trace.mjs @@ -1,4 +1,48 @@ +import { chromium } from 'playwright'; import log from 'electron-log'; -log.info('mt_trace.mjs placeholder: not implemented'); -process.exit(0); +const getOrCreateTab = async (context, targetIndex) => { + const idx = + Number.isFinite(targetIndex) && targetIndex >= 0 ? Math.floor(targetIndex) : 1; + + let pages = await context.pages(); + while (pages.length <= idx) { + await context.newPage(); + pages = await context.pages(); + } + const page = pages[idx]; + await page.bringToFront(); + return page; +}; + +(async () => { + const browser = await chromium.connectOverCDP('http://127.0.0.1:9222'); + + try { + const context = browser.contexts()[0]; + if (!context) { + throw new Error('No browser context available'); + } + + await context.addInitScript(() => { + Object.defineProperty(navigator, 'webdriver', { get: () => undefined }); + }); + + const tabIndex = Number(process.env.TAB_INDEX); + const page = await getOrCreateTab(context, tabIndex); + await page.goto('https://me.meituan.com/ebooking/merchant/product#/index'); + } catch (error) { + log.error(error); + process.exitCode = 1; + } finally { + if (browser) { + try { + if (typeof browser.disconnect === 'function') { + await browser.disconnect(); + } else { + await browser.close(); + } + } catch {} + } + } +})(); diff --git a/src/main/service/execute-script-service/index.ts b/src/main/service/execute-script-service/index.ts index 17df8ae..a3d48c8 100644 --- a/src/main/service/execute-script-service/index.ts +++ b/src/main/service/execute-script-service/index.ts @@ -22,6 +22,7 @@ export class executeScriptService extends EventEmitter { const startTime = options?.startTime ?? ''; const endTime = options?.endTime ?? ''; const operation = options?.operation ?? ''; + const tabIndex = options?.tabIndex ?? ''; const child = spawn('node', [scriptPath], { env: { @@ -29,7 +30,8 @@ export class executeScriptService extends EventEmitter { ROOM_TYPE: String(roomType), START_DATE: String(startTime), END_DATE: String(endTime), - OPERATION: String(operation) + OPERATION: String(operation), + TAB_INDEX: String(tabIndex), }, });