From ee7524d7f19ca9cf06b920eeebfb7e85427f3cf5 Mon Sep 17 00:00:00 2001 From: operator Date: Sat, 3 Oct 2026 17:15:21 +0000 Subject: [PATCH] ACCOUNTS.md: unified registry with login_type, flat schema --- ACCOUNTS.md | 93 ++++++++++++++++++-------------- docs/meta-account-selection.png | Bin 0 -> 29831 bytes 2 files changed, 53 insertions(+), 40 deletions(-) create mode 100644 docs/meta-account-selection.png diff --git a/ACCOUNTS.md b/ACCOUNTS.md index 4c49bf8..7d3433e 100644 --- a/ACCOUNTS.md +++ b/ACCOUNTS.md @@ -1,51 +1,64 @@ -# Login registry — secret-free +# NetVM Account Registry -Which product login lives in which chrome-box profile, on which NetVM node, -with which egress, in what auth state. This is structure only: **no -passwords, no tokens, no session cookies, no OTP codes — ever.** Credential -pointers at most (e.g. "human", "credential-gateway:"). +One row per agent. All data in columns — no joins, no translation. +The `agent` name is the canonical identifier used everywhere: +node name, chrome-box profile, API `--account`, and the agent's display name. -The 1:1 chain: `login -> profile = node = Warp identity = veth/CDP slot = -consistent egress`. Network details live in NODES.md; this file maps the -human side (whose login, what for, does it work). +## Schema -## Auth states +| Column | Description | +|--------|-------------| +| agent | Canonical name. Used for node, profile, API account. | +| node | NetVM node name (== agent). | +| profile | Chrome-box profile (== agent). | +| login_type | How this session was authenticated: `email_otp`, `phone_otp`, `password`, `instagram` | +| meta_label | Label shown in Meta account selector (e.g., "Meta Account", "piparada") | +| email | Email used for login (if email_otp). Never store passwords. | +| phone_otp | `yes` if phone OTP was used. Never store the phone number. | +| instagram_linked | `yes`/`no`/`unknown` — whether Meta account has IG linked | +| status | `active`, `pending_auth`, `expired`, `disabled` | +| egress_ip | Current WARP egress IP for the node | +| cdp_port | CDP port for the browser | +| display_name | Agent's chosen display name in muse.ai (may differ from `agent`) | +| notes | Freeform context | -| state | meaning | who moves it | -|-------|---------|--------------| -| `pending-identity` | profile exists, no Warp identity yet | human runs `netvm-new-identity.sh ` | -| `pending-auth` | node up, nobody logged in yet | human logs in (browser or credential gateway) | -| `2fa-pending` | login needs a human 2FA/OTP step | human via ethical-captcha handoff; OTP routed by email-alert | -| `active` | logged in, session healthy | operator verifies; automation may proceed | -| `expired` | session died | back to `pending-auth` (human) | -| `retired` | login no longer used | operator tears down node, archives row | +## Accounts -Operators never create or touch credentials. If it creates or touches a -credential, it is human-only. Everything else, operators handle. +| agent | node | profile | login_type | meta_label | email | phone_otp | instagram_linked | status | egress_ip | cdp_port | display_name | notes | +|-------|------|---------|------------|------------|-------|-----------|------------------|--------|-----------|----------|--------------|-------| +| muse | muse | muse | email_otp | ltd.pixels.ltd@gmail.com | ltd.pixels.ltd@gmail.com | no | unknown | active | 104.28.195.181 | 9410 | muse | Main dev agent. Logged in 2026-10-03 via email OTP on bl. | +| pip | pip | pip | phone_otp | piparada | - | yes | yes | pending_auth | 104.28.195.181 | 9420 | pip | Phone OTP login 2026-10-03. Renamed from 'Muse' to 'pip'. Session lost on browser restart 2026-10-03; needs re-auth. IG avatar visible in account selector. | +| 646 | 646 | 646 | phone_otp | Meta Account | - | yes | unknown | pending_auth | - | - | 646 | Shares phone number with piparada's account. Logged in 2026-10-03 via phone OTP (first Meta Account option). Node not yet created on bl. | -## Registry +## Login Type Details -| login | product | profile/node | purpose / owner | auth state | 2FA / verify route | notes | -|-------|---------|--------------|-----------------|------------|--------------------|-------| -| — | — | tp | orchestrator / operator-main | pending-auth | — | first node; no product login yet | -| — | — | smoke | muse-646-patha | active | — | 646's profile; muse.ai login completed 2026-10-03 | +### email_otp +- Flow: Enter email → Receive OTP via email → Enter OTP → Select account (if multiple) +- Used by: muse +- Credentials: Email address (stored). OTP is transient. -## Known login flows +### phone_otp +- Flow: Enter phone → Receive SMS OTP → Enter OTP → Select Meta account (if multiple) +- Used by: pip, 646 +- Credentials: Phone number is NEVER stored (PII). Only `phone_otp=yes` flag. +- Note: One phone number can map to multiple Meta accounts (observed: 2 accounts). -### muse.ai (recon 2026-10-03, via CDP DOM) -- Homepage has "Log in" buttons (JS, no href). Click -> inline form, same URL. -- "Log in or create an account" — single field: "Mobile number or email (required)" + Continue. -- Phone/email OTP flow (SMS or email code). No password, no OAuth buttons. -- Human completes it in one visible session; operators verify + automate after. +### Meta Account Selection +When a phone number maps to multiple Meta accounts, muse.ai shows a selector: +- Screenshot: `docs/meta-account-selection.png` +- Each option is a SEPARATE Muse container (not linked profiles). +- The `meta_label` column records which option was selected. +- Instagram-linked accounts show IG avatar in selector. -## Provisioning a new login (dev) +## Naming Convention -1. Operator: `chrome-box create ` (profile name = future node name). -2. Human: `netvm-new-identity.sh ` (Warp identity — credential). -3. Operator: `netvm-node-up.sh `; add rows to NODES.md and here - (`pending-identity` -> `pending-auth`). -4. Human: authenticate the login in the profile's browser - (`netvm-chrome.sh ` visible, or credential-gateway injection). - Row -> `active`. -5. Operator: verify with `netvm-exec.sh -- ...` / CDP; keep the - session warm. On 2FA: ethical-captcha handoff, OTP via email-alert. +**Rule:** The `agent` column value is used identically for: +- NetVM node name (`/etc/netvm/.conf`) +- Chrome-box profile (`~/.local/share/chrome-box/profiles//`) +- API account (`muse-chat-api.py --account `) +- CDP port mapping (deterministic per agent) + +**Exception:** `display_name` may differ (user-chosen in muse.ai UI). +Example: agent `pip` has display_name `pip` (renamed from 'Muse'). + +Do NOT use different names for node vs profile vs API. That causes bugs. diff --git a/docs/meta-account-selection.png b/docs/meta-account-selection.png new file mode 100644 index 0000000000000000000000000000000000000000..0a8e454cca50bad1efb17a067c5d82ee718fde57 GIT binary patch literal 29831 zcmeAS@N?(olHy`uVBq!ia0y~yV9sJ-U|ht(#=yWZjoN9US3|V_u;vcczbnW`SkAHyN!>r9GkIw{oPx6+2Q`5 z>gO%@p1v*fdYRL%+IxFGotji!RHVfFyt=Oc$d|X~3K|Ry3=9reK7d@nAP~xt1>y^& zj?#l89FkZV9E=6N99e0xa(|cbFO6+V;hx#*TFaFD85nYUIkFfUR)~F2(^~&D@Kko` z4yJu7#r^@GDq=idZ+YN#bov=_28L+qS$0eei^3vf)X%>Dwb+@j# zUGF=g8?2^Dia|k3RF(JIpS=E6Hrq-=EmrUPwvIb{{q)|zc~ZN-An^=nRU<<{(ef8jyy`ZpDm!pbZ% z?|uuBymIDS*j7u2y7)y_XLdv~Ft{*-{o!_C_5#C?w${~OukUj>$hKYj z%dzaper;vDdmqEv_CMP4kBLD+>cSU61_9AeQF1E}U72ehElTK+eFfjah9T>>W@MkI0Jr&)T1-VZeonz`&-CXW-RV#7h zQ|(uG>-?r~UTyD}c$;(mjhWUqj{6xHI@nl1)?`Kg)((-o@3-}tCwJJrKF#yNP9J$h zm%WckW|(m5>Bgm}U*9PUy!9<=^3L>BR^1gH{p)w-&O0xhbLYdK)|tCkm@M6WGsi*G z^1k-EjExKoH$*_mXaAX1V(hCFYQtUSs`h`{b#~J4skgtiaMYgCTL0Kf?CQ?HbJjf% z%YUbFb={KI*lO*rs{*MfW4Dw%_^RdkHg@aZIrpBg{`yA!O4hs2ObiLh7u|UoK1|o> ze!u4FTm7)LUQst*^sUUU3wiZwe#opFs!8*WcGtz6Jk)V}`_wIyuEf2*7XJ14)fG!x z^L}ex%W(F(^egiqU;kR}%&XhCFS>qHE6dV{fgwkyNs1w%o4cwe>e9zsr=+hs&04jt zw$W*8Y{~jlLRQ)@dRK>f7N1o*9d<%`#od^Te8=}MdL8+C+xB@JYQ+2wPfvztGDX*+^jqPIE&}$ z{(Y0eRx^o)vmm1;dtuicm@Qq{1&W~H+tlm#YlIjY+7wnWGHjbM>Bv1TkNaysxvhQHJ~e#pblcTG9#w|+ zYx=&~rgx=veSD?$x{}DPZ>Ou3UVdfvdriE4#NSGz=k}{VE#cd`O?cPa)fyox+Pmkc z9ZIcv@^_u#`Pt?dHcV7zWLUxP$jh+d=#x~rxN_CA9y+s@g`JLH_ie_eBYlYrv+h2= zW?J8)9T}8+cWSI(JnDmXtfyE^px!35dG zc5ZSLSQr|PEdU4c$rFDg{>?C1d+N{Zrh6<)pVuuC)4peXb%9@nmu{PuUFjL(CFSZZI#W+ z+9S_DhY4I^V36(y<-bKysrz5)@dnPi<9qecgz(VXGmpB&ckM2+mW{7;Z@KV$F(|3yEn1N zE_@W`?DI8uYSfv^P~G(X8Vn4FKyeUw@~i*mtdM<9z26>pKU;0Fb^f)Kw+nauny@wI zOWIb?HK&Ddd6f2WNd|}A{IXFY+gx<3%(7i-ThGn;yJa@R?sab~PG4W4XSU?5{NG7T z8&Br_b;y}i#1{K(Re|K^`+^J%ieCbm8C+DYD@(T)h+W%$R$8M_bi>qG|HyLpw--`o zTW^c`5q0(3DPijsRXbMMosU}4ALV!7`_Q)KS+}<)t~=Uf9y;+x*wrwO)q8%vlK6Vj zZ^qt=<-b=uMg1uITrH>0z;Fmuak!{ne`BaKr?p+pdcuiY)0EGo9zXRv%fx<*(X_e; zv&7n_sJdl++wt!f+x|W4j?Z$qZuaQgo6qUzY7Vg+FbbY|dR4NuW3X&@OyKF4^%GaF zDDC^PW0l%W28K1xuDlEaQ%_CWbtUiHj(6L5v$S{3TlTB%RQ}cvQ?qWb-f&hz?RADLT5gTutK`NkE#KD*|HvJ`wsU`Bwm3IK zLqW(D28O_uIx8nDwQ5zzPP&wSx5#x(O{z}q{%b7P)^Ukt)_!J)zp3@K%-ZqajV)jK zS8R-%y|R4${jdzXZL6NXK0Isvnljhin;W8E^G-c^(;i`@$;#}x50CN9kN53;y7t+1 zIoHBk*R{uft*cB8_!--`rnp+u(q2omyy^FL?&7W69Ffd$k0ULBm$oi^$Ta)R!yMJG=$~@|=oVVHLB;R@YI|V1Wc5j;; zy?x%tjID1&j%-~~wQttz<5Ql5t=+!t@jtB`>s9A2D!wf}EqQ)+)-4@Ih5%tvQwE1C zofZKe5%br1Of}iPCsg+8mQ$RoL@nQVmbR_DW-LE_z0Uq$+k}inH%czMIdA)-q9gA0 zF}pTx-@oeK+v6h7HHu#?W@1nff`r<%8ygcvP0M$G(yINL-lg4TbEej{=C#}R(#?lI zZlCczYi+LUyTxIZZ?&V}{+nt0BWrV<+t;V7{?)ua7Mt7@JCT8*qoqrVLE%-%`W38) z-O|@+@9~`ZdEVOMYEjO$uPb8io)x<7v(x&~Hm%<)GXMTcTzD}&aK)jr#aov>uG_j@ zdfWe(pYMkjor_>(2oQ%jNN|3nwavEes$+s2cIJ5Z{C83 zqq-yYH7kGiGchDMzgW!1(4qD3#+TBE$AbM;*M8b&9FX_Sm0b1_l!mPyz|zY}3jNo11v{ zb=#x-oe!?Enz}ua>K`tEVPz`jj^N{{O{0Op93= z9Gt-=t?D`zld9yqQ}v~rZu#$v<9+JZa>rps*7w`{rMIlzaftP`e0Y3B^!CHL>3f&- z?9At4XgCIHku376IjB?l*L9U`{;gkL(YG_pH4@MExaAc4-6+e7za1#|TG~M+rs!M$ zYx(zUmrqL5%j~ub7W;dNfx*`yfSJKXG~Tr_>TJDZY3P+rX?AORj=o=QcuBl|#f?jE zq;5xtf1LGs(#}119^@|7`|IXuxqqF!#*)4d*Ry_Y&a!`2#K>?#WZ#)(r>4H}cS zRBcK+^(kcDmAJ+kDn~=s1Ri>o`O4sD)zY;3#m7Fe{Pl|dHq|S*`h@&_C&&0b(hnBD zonn18>)Ph5HBUtMuiEj{Ayj31{CAeu&r7@GO}*b9i(fCcS^8Q%A47wOP3>=94lV`; zlc>bov7wiW8aSI6k4|}_v8`a@q%a==P=jOvXaImAu+0wMA!lM>U}$*Z6u=CkHJnFj zT;b5b;b;3a#dr3v<@c(;=Q1)dNRMq8WTe=IiV0;q3A?6S%mqzgpNXCpK&SvYKhPUp7hir_Z}*YEzh|b; z3-Ub?WreTbavOS-!fqb+(_~OBLDLD}hd*uT42$6#e&4a&q$B*W0Ft zt&IwcPV+w{Q*hwlt2;X<^I3gxU_7v`sY|LMZK-?zyIn7jNs9;zFJ9_B{pCmXc^7VM zOb(5SSroX~?Ny2JgCl#+1K9O{PkjS|J8l9)_eaSWM^u~ zWp(6r*j#kr-|yWM!otFq8K1N9{`~Ch>ZotuZohx=di}n#tK0ZwtzImd?5DDVF}m^e z`W-;5*EJuwM$fcRqK`sp{v7R+yCF|e7K!IxG=DA?bB_XR|VZ=*6pkP zrJ<s>l;|9{Q$d3DF$hWoCK z+IlH-`MgJ3b#txD!^+C~($39VdEWlNlYHHeiP6W~PSwYLtq<)#c_!y6oAJhdf4@b~ zt-i-v`mX=@!Vt z-?QNR{ofAH=TvWF!Y`a+bJ^vTptN84j>ybRqIOV+U_X`uB?cM%*`I04B z&(28B`f^;p>fKK9JIUs0wY%-r=T$U)yIme%Y94xBV*dFW`)98=pSQp6t-p88rAwDq zm6qSiY?)X4EOYAg>DjyAwqL2b=PqCAvHShL-PL#2Zohl)#rL(E^HY=ME^p75|Nd9n zs$|8jEhjIXnyUTv`TXEB`}VH5UzZ*6e{EZh`r)lPH-nbXtJ?H?&+d|!kA7V^JImBN zfA80AcE5f+&U!sBYg_eG(dn=I?bTkN*?jKW)9LZc4&KgxKQH~;9Lrxv=h*E0J+J!i z{n@$Ke*F9WKCJrB?flSv{Xc*Hyp{T7-MjntHUH;U`>*@6fAyEfpM9x6tI}2TYQI(fwaSaRTBg721=HN>bCy!}bxnRYFP}uM|M+}( zZpla0>ASuwE{WZ}?b%+dQ0w=5Hd~dwS#al0jPI;3?eprM-AubJF6QvrA%OY9nlp1O zPsiTwx@lMaey#q#Kbx*u#n=6uy8BAWM_2JzbBfQcE4#nIk@;?FyKLEo%IDW*+njPL zcKlvv9eaZN<;~6QyWecPz0T_Al*_AlTP|!&cDMccss=yt-0y*zGq(Fubsozd^h#|-fx#4 zy34G*y860FX6<~=RQ@~l^MB_YYPGv<`~8M<`uyT`oZ_vwB6utB&-xT;_Qg=yz3)ox z_j_-DrL^7H&su#mx&LnI+tUB*xQt3OUzBgk`u+Cy>y^vr75o-W+W+57$44+h zm9qX8&UoP2fdnOnS)#YyQ=grg`R@MrSXq3#+t2pxmsJWW-|x=b`2R-8*FL*v z5w<@Po_f@;_D#KTZ`*Y1cRM!UyPnE?d6sE*jOu~B{|}t`E^Dvf6ScMGxNP~FuRChL z-#sqNalhcP@2%V~a_?$q>|bCcFsJa?%T@l#^FQaa%LIt-x>xx;R<`Vi;H~8Id+!$C zUe(DfDIQmmIQjbj>-*Og&ELOv!rkiof0t$bDwi#}pt$RQBm3EG9fPUM6?eVe7QIE& z}$TuAbR?-8g=K_ z_v`=feYZQ;-yx>(>HnQy-*R&PuDrc}xv-x_-10dwzw?i?ZOXg5>-EES`NH`p4Ufw` z|ChIBai2|))TQVkA_b#8a>!0=a^{dwxexF}FQS;y#;0At#T$e$=gR`Y^Nn zZpmlesNH32CrzHL{4U)2=&@rvgc;1H+&q7y?wWGhE!TFrvK{lxt`_h9dpmFM)zHa| z3B{lqDRSf4rRQwl*W4|AE-Ph}(ouG|bjt3CZwm?!wQyEFKD#|DRMgMnp+))MXVLlL z))D`{?S3EfaQ%hJ{x91sU9b7RzQ2B6 zwnoe~!|K+Q=QdBLoJvcx|MOw-x_!@Xt$MrX+pX8@_CMTuJ!UQQ|BvP2iJ5PHZQGQ( zTJst+zs-{6^XhhG)&90TJJa^~o%;E!MQ$#zEq@o2+tXWl-|X7P<8sMbd6{|%Hxp84 z|A?Gl`)%j$Js*FqUZ+)hsZ%|q_Ig&j)_lAUo>`+^- zK6A3nwx0#Q)8h+U_x*f!`;;_y4#)0mf9BRabh^-|T(;)gkqs-~WLtdQV*KR$@4LCu z3f13VEloaifA!jLrdQ>5zh8K7Z}o0rhV&T$ds1EomG8H8G_3u_Bi_-@E4`|j-)_e% z6;_5EFBVgVvwgB}Kkj(!U&8LCTz>Or?DuzfSFhSRdGDXM4S&zx{J%P;*t}XnHY@Dw zuh;okZp~ZkcH>m{TBRG6YnJ)Wmit)QKC9X2^tZrOC*}71{r6kt`tx-D;JcOIZa&{~ z+0S}sYFV`@|D3muOV_sCsEtdD^AE25baMGSp_51MtL?gQWohyAsME)0F@K)*caPKW zjM)=PGwvT`o!eXM_xs-MXYJRl-|vgg{#$;(c72xpqsNb91+vfl+ID}!T9upMKOdbQ zw`%LYT&dkfsq3pS|zz z_xtBd^E`T0ANy3xXkl8+wb}W5!rq%%m%a%}56Hf{siRqRzJ+^Jso-^37T@>VDg5kF+y0Ud}siH-GJsR`#u?*-GCH zxxdb~dbo$>* zw}YGirtw+5aJWAGgtGrttNMRGmoqi)axdp$VJ_9<<_$Bb|5sBi5EbyeYV~zll|0V5 zJ{u~(UJZ{Cc8Io(*^toa<)y{kZQGEune&jRiOuu2D{EG?ba#Ht%ubpu?UuB9;%x8O z_v`1bsLB@oRlR-FtM~ir3@H_ezJZ(+qp|Y!_GGTW!&m_I|z#y}V~{o7mhfyJ^qVm0xsXcWpVRb+0X^ z?4_!n!Oeva|Nnh2y-IiYw_DjIe+rLh1!tcr*5h4$q~z5d&){W#Yq#yYd+x)-slH!x z=5IN+PF^bUvft!{)m0N$Wi1r^U9@TQ-O|9oiMzKc9yU9>C3IJT$G&S`KuWJgfnz!xenz#SO z^}gJypKszR9$V7Mkl>ws#hu~osRfP9cVG1U-}5HOTs%a@`fbe3^~b^(#dM?I@Eyrj zJ!|#lLUZ=oe0PnSvmqUC1fDExKIft4H{-=Rev1bUQKxenDn7P8zgza^PQW$&{ULta za@l8YU_bEiP2zOP?G zZ%Oo4`u)DwKI^h<%?HP=+fv>CZ+?H!G(7&TnqmH%U&+UM3a^_jkuCg@xb@oh(5n|R z7TmA`>WXZ?{zN}*|{Oa+e9VctH|R^oo@ z^SPzJbGPrR%epqhaDT|zxnHl{e!t_ju)l@l^jTdKWJ}L&TDw?Sv+wn=yNdEZf)IaxcYxd7wV19`)X~&*BHsyPt&)Xdy%93;WNW0vg`=Qom?Z@n% zuU;Sejr&gRmyEkrr_bgc5R>kBD-)AGw{%(bw~NQ+O*3n)r{8jy5B1wob5wNt?!>=u z6I8x!-Y8rYpRQFiP1Zoo#Ifo}%FFP$kN)NoEwT5*66I^3JoLTRvSH)=r)_edSFL<< zt83w0_P0CJ=U==3KkjGkru){_lMeoqz48A2>h;&|@^9XF|Kx>V-)t-YY;?att_tu2$*nH|zKB`hGkt@c-xex9`4~{>^st z{h9S~b&+eo?*I8s+Pt=5?)0 z7vE+myZ@Je$FlmehQ{~%Z|}WTWL?oDn`v|;>`UIBk7;-RAE;e-a+d6&y~}>T+kO9S zcE?=hb7BAAyr_LXuefh_&F{C{t-kL$F}d*e!?SN~63goA{yelcztA%G^C`Irw-j$@ z`+4ovH2G$E-%RmlTZXg_pY@x7a?W)AHu=gY8`ak5FOPn4fB$^z9ov1Av;DI2uJ8Xj z?bYWMw!hze-t}^sbWFf@MfD^5#H3%nc`;XdH8|Xp4?mq-esAgOb-(tnI=TPw&6k>T zl}`deeV@6v^WT(TTKE6`>--DN{CD2}lDoB1@Qv!6+Wm6Xe+qNg_}l%x5_dSVqRda59UpU{cb~Ud}%HhYn=69Yvo4dL3-Ph}@`rl;i ze}Db&?_XBzX^aiMuCBZeo0HWY?S8#TzWbuy^tZ}QgVfb|?D91kp;uL&9O~A)HuZn` z)YV&VHal1!*=cLAO;~w;$tO+0cANDtXQt09{hV?0WaHb$`D@?ZRQPZ$I{)C^wXm0x9^&#B%g{qJ6w#G8W&adCBXe79f9d*@dAHfrtf%~%nLcmrOXFGhMAq8*R-QY(e#fP+pMU=QEq~|rrvB&ztr_cQ zd!6A_pBM9bZ~mEIWi9)a`>mq3-z(c)9sgFNVVhRU?0|cv-)-}Z-hHU+n)Wt6y}5G5 zqpZI+X+5{M&0UokoOuS)x;|}qTxNOs{p#~)ucq&>H;cK|Q1eN1`Kv_XD`rbJ-apAH zthVd>hm*_amHoATTb;k$X2bmdq2aM>jn7-{zUNiqe7ExX-KsYmkKavCW%s!$)BNd% z-PHGc|JPl8pkdZ?^ZgZ8@i>`}rZ?UnNo<#2IX$i_viRAVQqj`iJ8vYEAL>-UI%~Zk zgPE%T{W@l|f7eApt3EcI3T2^w*2+?@vGe zxMHW2NydU@zJG&Ho;+E)Zu9eb)h|F}2LJ2+-pTzvFQ)viX_ns`yZ^s;Wp7=ZapL(c znH%r#-siJeaPFz;{@J`2W%lo9xF92Ng&`+!`~T-_yoi_cj`-`+LrJ@fsu%Qma)&8zrh$ar9x zQvmY@SKXK$9{T&fOgd-(-)3vZ#YM0FyfZI`lJ}kc=WQOBgzN736(9cc`o`pv z*ShA{Z}Hzwd3~??-8FCheG51rAAh+!fB&_}^tmg~&9#2{uwBmN``=aH@7G^9t>*Uh z^t>1v9=r1U{p#bk&sxRjU0&EO7nFVb?d`3X|9-!_dgJ~-Z@xX=Q+$5n`RB!_&93yU zOFu7{x4-VkKkM3WFV%NFeKz~by4c$tuiN65*Xr;8`OEuz)cc*k^|qcnlk=sz^m=Uh zi{5ZXN7VWHKZVD4EnAa(?9Y;Rxf%y%Hl7vR zYTobte#zM1{^_=#-=gzhJ?hq5^GnA0ee>TxZ@=YkzP>9iKKa|)(A8m8Pad{^`TPC; zuJa#$KA(57&-%@SX>Ye&=J-CR_V>5K-%0;#UnsKgPW@(E^{Mmt-QpX^@74WYdv#xN z*z|LA@4ntL|MlkcHft4~+f06Zjrvyo;pB1oSKsfe?fAZS-Kw}3dv_j~bK%FQ?(=tk zt>5>_{=2Qk&n1(;d~}!J@th;SF3aBk_s+J>>rdAGGrjuN?#iFMTl)on|J{6F^Y_2& zUoG3S&wRgbR=n@otNPHrZolWrR2~uB8s}U)-@9K9)MNf%dV9m`Js=M_O16_e@oujU;TS7&;Q-q_Xi)BtL_1Hw5$I+ z?Kl7ZZgc;=s@J@}a}3Vy75`TE`z|YZ{l$$(Uf$lN?`yxm+;Et$lzo@@Oo4B2iqB`h zyp)=^)AoVo`#r^9zukVH^}hC-F}v&g8O@i4OK+x5H+faLtNeW$pTO;x8xHqhnOlBO zv~VtH^!MuZxXX<7zjxdH`XOAdP`0z6!Zp_F8vczWS#*Z$r5@7s6guh(wp@4jAqYvu9`=cMH1FE@VI>Gi^O(qd;9x)?zKkqIm_oVcN6z@FD}1-xJLc`HO}Mm%kR4Phs9QXf0=7{y}0Do%XAIn%~R)9ed1iY zY}tz^!G4$P|5dmDj^22-O?vgZ?}|dVRdy~|;BZ`~de84U$!E$<{uJ|Fzwv(k-`(5l zo5SOa=YG3Y9shazr@r6P(l!+voZe^F&i7t(dwP59hCLq^b(cPynZA0_q4$Sw{Q7G+ zKQL;R-rhI!t$x2LjyX~NXQTVoU8UKk$5uXj|NZIzzy8&4w{FiCEjax3|Fv`0@1IQL zm9&akzvt7cx*reSzsJQDzb$?DPda~3Tzu`%so!pv*9&v#2T#|FJ>$8Yo0WmrF@X8Q z^dBD%_nQ(XR@yU?v~Rw(zEush}N`MIp9xcKbBi`u(BuiIUEV`2NX zRRvd;uUX^szx--w)SilsVQb@L3uSL#x%AH4&#%u?p~mCm$B)0B-Oj&z@Y|i8#b}lhMwO8J3f4^_nO&OiK|9|)xKqb^9;KmfuO$Vwt<;^f_zynlrCVv+p>* zdULZl=JM9``IUaw?{+vZzPI|%9~YJWM%Et@Atg7{(X9SQ;kLJ`fk5>r|zt(7Z(@LetT={I|U0Bef|3(20?fCv-97( z7uzpwzVDV<-Jg%@#R*lRTYuaAd~!K!`~E+#w6BL`IX}$2P{thlH09EJ;cVT_@4Ibx ztk*m*!_vloAn9=T_1B@Nr|F)p-Vno^7@uw-{V(jJC`f#a8||DBVm7D85KNW z5EeTYy8FF%Fz3eU1^fToW&W+3u_1MJmKjHcbk*K(e`ncNZ?pULfmt_lm&;|}4L@$w z_~*=6d3utn_n~?DTP+`~zgK?dUixa+*_Y=Bui7v7+uW%5nGUas=%MoatK(X;-+aFw zwnuO0kEHO4+paDPxSBhOGvr#E-SoHH@B3{|J6rTyBoTs>*J^q`} zxp$MVNAGQPs;sPBd%Mh9dRCRfG4aP*dY~B*sa5N?D}4!>oh9PCeeQ<8{a^n5(*EclFVy(|1q!_Mn;nb+`Wh0`;(*&8IGGGyk$PL~nidZ@cyWqNe}iw7=ht z{u+Jh!gt+AbvX%Yg3*QBeRs6;OFwgZTKoN8w${4-mlNG3WrYs3UHl^G5VA3ScW&|4 zz}#|LuO9M*vm&E=q`)arB*>8c9 zZFbKKdjJ08lQg;!^7P*I>i7HOL;s%3x}5g+o7sn*XXe}A|C-42UO$~(uk!8H@H-0} zjML79?B7=#TWUFH?XsK8HiiY?+wRfyZ2t#g!)>#&*;Qv+7BBnv{gn1P&u5eUZI|B7 z;(5c&P^!3svBPTH&Bd}Q5C42VSITbv?ZBH$-g<@U3!Qyu)ct;2E?agZaozboS=YD! z|GoE0ZR;)BVR^&OYTN#sXU*@faOShS@wM9O;}PL4|Ns5oc`)$M&6n)oZs*5eU;h>~ z$=<0h^ZwV`+>W=*$+JJ&{<+|+$IvISaj{(84@L8aCf+LFjXUpYS1Z&!=Dof;c)8!J z>+9FQ+xtDQ{J*+<{iAic@p{%X+GM|;|0e$H_x*p**lv6HdR}}M6c_jK7jy3Rb@7SS z#RqCn>zZF*)wU*P=Ovbguam9zfBW_N-QI1=3b&a5)_%KpJEZzwWa!u24&J@@>}soC ze>^UCF|PXUOSb(lE-l?$_2o_A+RDere!P5c`0Co)=&Ky_zx^&g^zr!h-!o>tcUCEj z&)xj^!tvvZ?ThIqS~>- z*DrL;{I=v^GylEy!G3lpTSKgq-Uw`dn|fM{-FMS|etw&R`Mc#Al)!NXnh(j_^-^qZ z4qw5(|L>&DzkIWPzi09C`E|>(=2pModtUa>4aL33|NNPp{Wq1J`^KF&EqAy5zp1qpJ}}RRm#53Y3oYP{eSCtzxcfE`)`%bIrEoa_OrkIb#vv9 zh3qBI=ay%@+q1Jbi!1W-v#RxP94p=2+NAUT%}k#c*2?L*e174w*T!i#8>8MF;C*}c z;KsMz75{!de>F8czWDvaXC>clzrR{C+5bv-eBDCxxO(6Fwcqzv#~-%+{ATky&ZLZp zUmKI_uU0;feXz>?{r>Ok^vn|ve3Sp}ul%jldHwZ$@!yi%E&ryT@&EN>F~8}z=^OL5 z9Pmv%HAVAXb(*{9mi4c{-Oe+-UAOe!@hdg*NOxkG}Ef_qX}CcpGANDzW=}P{JKvQXIm*~YM!jM*R@vYk~LA?v2)fMri^c(bwv-vnHU(Z zB>nEbc~R``77m66-R>?a(6EM!WD}I0Wd~YI_gyRIy?Pql3vN^$TxQRaI}cY!wm}5t-37JDy>dd6QH_RLDR8HR^g+ zR#s|hYYR6#YY&uX4Ds~x3R)f3V#07k>c;(|-?Q_6OE72DtysZWaOu*enEz}H2d*6s zyB@XW#Dw$DgA)@MGMLDRTw&N@#|zR@wRGvyUH7XP&ayl5-Z*yj*fA|z+gOH%wX^@O z-M;@P!z}hDsSUiF7hB(Ibe6a&$gr*M+xC4$8#MU-H#}?DACe$FZDQhY-4DhL47a&{ z&(5#^&FEs^ccCG7O76c&69n`b4s1L6@7rY-p^iEh(*)^M_evIqoY_C>83g`vWF0UA zEff0qv5<)&XZD-_%#R*thBCSsgDl(xTHc=P{p3HZLrC(W>;!3-0A_|Gfq~46q(IKR z!S^Ii|L{lVhN%}9wOW!BeXp)KX=_48O8kK`f;1%>#SryQM+kNsN}f2{A~o0-OEtQ>QBg@lBB1GEJiUOawzJO9A7 zkKW7+9N!#dKm3XL#N85J%)MAeDxOhwG z@B63EzdnCrKdUxDTT?SME^Z!!i+q#RhThD%GgscQcy^v~Lv8_M?ga(e$}fdp{+=sm z*{|8NXV0dnXP;+ocv`Nkpr)p_PMY&#Hj__hS65d^RMe^myPiENi+;E0)PuC?`~O_x zp7rPW`>b`RPMz9Pl)8?=MLs_5^%`lGgxM2k&GM2rWw_mwc)09B=khtLEQ*`7%+%6i z4Y+qr5EB<){^Uu@))OA#ZdJQ>o(stGnlx#W(6!cWEZ1Z9Txl^AKAUnrCp_#z(gj2#EH~+=zrD4UNuX9@p8SntIb9RJeQ@S~wOW7wg}2-9hdsCY z*6{qYzg^jD+0rKyvwF5{37K2|Zs)D)^?SEy%GUiz%&UKs`Xz67W_HP;kH>d&GrZIY zcC~&v<#LQgcjwAC)8YdIAL^McSvtF5+RT}mdb(#l*Q9Jd_v`SY8xiv(=dD?@W?EiR zhV+X!$vMHE($@~nwz>6u!}+T+KWk*Tm@anh_e+o#zIQ$;nOEBC3hO2hz8|+4Lw$Rs zv@I=birBmRoqfe} zcWhET%eH;W6cO<&Lc+;s^PN&tHIHn5m-K%93XUBH*B7~RFI7|3wo|*7d-`7=OH*BN z^y)YF)8@bKSlky_yjk=Ae1?R}N-G#MCI#H@W9GLpc=XBk+l|9t?{|ph-r91pfsxrH z?aX=58Z5UN0vYG~m~Z^zk+zH3-6IoPdi!5o>#BrpN@>3r-dr$kLO^8d=Et2apSpN+ zz6nK`@AG*2%PzRkyXdUqTh0{$FStz?^4u)Fe(~K-#)RO6iaLhgG=9IF`E5(Rr)S=; z{eG2Oe_upy<@ANeQ-qUn0wsZ=A zJtFMCi+SGe_q&3d+4;*}zuS6!-aDhzQzEe?A64JkMW;jp zJZ@6{?oQSB%Kv}A6|;xm|No)cs{Gv>xBAV#+V=mROwM|}HSccJ@_9v@etmnp{M*~x zn&#%$TXx5Pxp0_2d~GuSoi}zovPL0yca>h9)x-o^1NZ%2_55i26#LKj-t2yF_v-5E z>0RDlCdc2ro}IsUX{T`g>Zs#p{BzA}cj@i@vT4=ts&8)=9+$87k+1!-@!ihvakABC z46PpbTrRzQcKeLKn+|uqU-YAe#aF^U&fn(el(4l?so#Ez%q=+dORaxfql?>Ecs z8E;S8_VyO2jj_HgKI27gz3a~3wpmwKO`SAJNZHO#K{C>&e?4}gv>t9|Pn`B&2xLbI<{;Xqo(B9uxS=R%j_Ev2@*7r9wzW!@z>gVGZ zul`<{nv(Kj-tPC8>eQ}?imbV4e!u4Rxdrl7FBCyd>s8lwe{6dlTd}D&Y@gBXP0YM+ z_FVSc^{MOh>T4U`;Bd6 zb}rxd{~!C^ip##Cw|9QKl^ye<;_KGyv0rsemiyP$?W_Cs^7*Q-Y`ju0v@-bZzHH#k zynMHoUA|<3-mVu;;Ww+l-z`^um)}^3fBUy4;ymXqKCfAI{qo-Ga&v*xmCxrbzI@&yxYsoCkjvfL^LyXj z-xhUqp|d-$yxpB%uk8g7oysl0&ndq9>BD#48(}=A>W)HhJ!eY^^S6e7b^d!bi?iOR z_vpN=@|jw*)OWnQwcKOUI=0|9>{0zx&ls*=>a#XbtJP{SOYUnvmu@&*o-q`MWzS z&mDie`TV_iRYy-vm9i`nFOS?*vhsCuI&+-I{(XP%e0`n2C$4lpZ{hX-zpL)1YUO@2 zq?wZ^2j|NEp7r+Vt-RfD?|k(V=E>gVtEGFpX7h#(0lk4S zK{0R3GBaoHP74rmklJ|pTvunO&83_bi>^Ib*1zz9*tPhzMT=g~I%-zEY1z9~v(|pN zxo^qY*dHrqe*1oGUd|@rw%h+UZhPABR$nHHFX6J{3dS26kB{}5Gp6qRX2kgRdi?Rs z-*2~r))LDU#{RZ1dA;$t-1SQwlMm~~&x?IueDhfgXi9;*{r#TL>o~1g)&8XJ*cV;8 z@$d6nGZ=n+K5zf}vQ+54$NkoE%)h>exAV!~S)f)HFhMVN*N%UArM(e5t4dQZoXVLR z`Mmhq)91TiPkC}H)Y$sW_O(aWMr=HEciUO#+*JLT9G!#Q8Ef9M@!x!4wQzx0oM_R_ zMH5>WzB;R(8_|8oA@c{HwdwB#VsWOM_xHZ_VZFa?(TUiZt2Kj{&zKzD`mVfZ0b5R$ zNiEBUi*FVvHM8+uIjJ6MX8r5SWq;*$-;Y1Bzf-zBFE&&>FxJxUr&3xxBTgm zTV)6Mt2Y#$F?0{Ny%+WtwBUO0|9iXF&3u^u`q!hskLByvmu)Ejy8qu(x2P>=<#LP9 zOqwJVzIO9j2j?7(H~D&-)6SNi)~$BCY~7@8{p+iI!1GUR zUjuJ9d|m7qwtmgk?Q8#~&Ci%YA!y*PC7T2fu91g~nHx zmzRIt`8d{g0*d?vqV!OC*-KqS1=R~La{F+J9Axnaf`&m7i z(ER$2e)WXJ?XpsDH>z3xT0B?l0AJmwKcDqqH1pe++_wI=&ok~O<&*LuK9fXYQ#?M;wx6!3#z`oNv?aJmf^kX zr`%1!ytfH{-^?oyH2hoFzt%R;m6i9#o)s$?Z)9xSf9?H#|Dyl@UY%b5D)#%V?Ddz^ z=hv^3ZR0OLe6Rfdwb=aqfBV+$_;f0(x%ft)V*0r`FAv49SU;OrcK@sk#g91EUo4Z( zH)+g|zgzzQZ>imN58+FfE?v5#ATyCq!)dX7+3Ra(dwDYBk1w4byDa{AZ}C(^YXh&m zxOwv`pGDgKzEk`<{;=uw9SYZ$`A)mdUVZFN+n(9^`*vo@N?XmZ_~cpMQ2ZmYedoj9 zn>TMRJ*~U_)$8^9*G0YG`F#F$>HK{!pSf*bfAXAl`SZEuD_6?ZJqa{l_3Xkz=ewVo zZa1BqyZhSiJ7LFie{2waK20}TOYfYvwZ_`Nksp3KE#1U1y|n4|wA-(H#9lsg3FZ#{ z(VQmDSiaJKI`5n4*qr_AUk3jVNh+GeogE#Oy5DAJ7-QL$JGS3%9F8e3UCa39bmv)zQ0lV`@go$I%T%=-SzqjUESR#+0ROH`L=y^ z@K_O)<~-}I{_fu|?r!-lw_97;_O5C6_No6*pW)QK-ST^Jzx~BWN4xJFaEl9`dM6-* z^@0Ux+o!|kYdeFdS53d2Rhw~uJ6cdnPcJn12G^Xo>e<@GrtPcNd%s>|c1vR0$*)^h zPM$hr#*(un1QH)h@5wwCWkef{+_x8EK9{eJ&?{r!JV`5FsJJrz9g%oViz z>1@>PZ*O16<~7gSdqW|~IV^VZt~`&-%vSC!vmG~bO;uKG&E5TRt%Ose?#Y&|XAKW{ ztav|f?+vcF*=D(>84nb$|FPE94SjsP_wwrX`(FKe(RS~6+nzE8>Gp#z3=9sN!(w7` zwERl@%cSi3XRT$sxgacTTAowq_JfN>Z`tL3t9)~`ZEBWqT>e5wQ?uinL&7fEyi+}L zzWIGo@$++1dvC8hbtY%2r17%Z4d0d?>z7|YXU?0bgP?M_?#fz528YdQ%}3f= zo*8qS*2ip4^W8cz?RBzo=h`Dvr%ekp{mUIX%`C;0`P*7Mvn5~O+F#&RGfMttlAHCd zcB63Q?TNDGcM92gWzDYaHJ7jX&}jGbiSXH(#>e-@{aV5pEhlQqz;I#B({&L$50=IR zd=78ZiRRoKy7kn8s~d{1eKX8^a-#I=&I=5xhSC}*pRT*}Vc*rGdAD1)Y;~PoqqjBS zLsxfq@#Tqc_WjQI`r@AN`#pcR)%|*z?mN@Sm6es%q?F~K6ARb^-587g_nw+f*}>@Q zb77OHmUZV|S&@`~e}2BYv~=<$p~tUlYYGczPScBh#rAbWvGTmyZ<2!7cmF@=o_%+F z0`u>%>1RbR9r}Ik=0sW0BJ6+6Y#OSnH$%^-otd%l>gsS!Q&ZQ@PENfwH`5j|Y_kCk zkY!vG(~XIE|0%#?W8&F1-DufO*UflLQ@%Lup11ZyY{kRMuj|S`wm#qW`on>33u{+< zuRfz={^I1Fo5ovLw%lX?9hJlJ`sU{4Wj9mPd8JG|E-&}L-o(m%XMs-buP=q`Z<+~i zEncG=wIx71Y)!%Y$g{bOH)=St7^L1laPFTV`}g(U@_VbcuF1du?^fcGbHBdL)|V=2 z*z}+A|AjL%jm=gy|GCd^-zqeJ|HoC*GZ+pW+w3c_+;{Gx zy1(pKcE@QcYb2PoF;dPBnD?{bqCjw;Rd+=0a&cK5KUVm@;?n;!a`p7aNbu6^9{BWU)vw|6qKAHI>XUz+MW+h?1mQPh?ISJ$0I#o@D_zuOsUb(^`PF1hZ{#(N9W z4!c&=8{KBP6elHQ#b=RlKkEBUL7{S4(^H}I#b!+o+TSC)+W!Ba%~?Bnv;Y438op)Y zRhQe>^~}xv>wW$?pPr^0oEJCG=9~Tc*H!yv2LBVHfrbpi|f~3oWC&sf1{p@s=8|S$w{tK z_V2={PMh}Php^wo>oOu+&SfnYw0^rNJg)AZtVOSkX;ftHtsQAz-zty&{pCHk`qJw1 zcwIAg&!4M5nPlufxU~t?!uv2|-o%A}{@D1+n1@+v7n$u?6TAD{EBk^8QR!(rbI;E( z3;ld{Uxf9nTHaZ;-1pZD``g8?-~VfpwCK5g>rU4D1+{;hJ7vO*1*X|yuXpF~3z}9r zxBBho{n7tB7WZBLlsI=l0outKGQ&xLMCTv#RjFkLCXty!M-AvhvkmmJOALHueo_ky{EH zxs3}8Ut2%?{_?Va@$)n5w#9vaXKQ+3PVe8x-#dSOXf6*)YC3Zw)_r%X{{Am>q<8&V zF2BEA@$9X<--_R^Y`6RQqW15f$NX9M7dEr;NQ6AED|vUv_4Bi{7cZ%LPnkCDoz<`Q zlDF4l_x}2JRps-Y_xt|tD%vzX^LgOzyn@KAtW|Drx9#Tce81;!+cLkIYvz{Syvlm2 zt?T2_7nA$%U$1_@CzCI$=GE=|21|*kMdI`8qZ$(&^7s9-caqw`d2_P5zRmBFBdOc6 z(q=2%Y7mmzd9iIvOAAY-bfrqkjfL&ICZsi=d)#lou>SAsEb(*4dZpJl^H~Li#})2e z6kFk{6BO)LJ?YFoe^u3^QomnEe763v?)Te!wcqcSembeHeR$5DtQS|<7-sc#Nj0c# zOicdxsCC(@Ytg|z6E>zVw=R40W|hyjDzQt4b^d?uw~t9L$!=O1C0qN3^Bu!UzW&(D zEg$!X{k`31W>)UEENV-RXra7S>8nMD4l!MScrPkv-s0seH~9X_ZQ7l?I`{H&ztT{f z*Wd4}WgXqs6ti&5T>h-`nxd6W06^QEiaCy6@Wowgb;n zwIeDkE3>XH`t{`c!UUmJi*8mPcAEa{%9>?c^X^8a&neuM{i@ug(nML-@Be^ z!%TrI3?_|l&nldqW9PfO=hj))t#Y>2nKw77zSGIEu-G&LfEMXyXc)98{JA+cqlrpW=%+S8NH z9*p+P{3@`ss&wDVd!?byQ>RZ4{d@b{!p*Xu8FT9R@0D-Q+wn2%vvI1B%Z115{{CxN zDaAT<#)KtbzJvtVo;TR9zp&BOr{S|{PC?Ja-EST>-BX`mCsnv}@BMS`+n&o+yVM4( z?q0htl)v!X_x#>{Kc7V(owXpFU2&tXxX>eEmW0osQMyfc_QV87a%-(Fowj?Xg zHIG}lYDJ{GZ0(*~TXM5kMVvnS_vkvw zC(EC8naLhOL7Sxd11~q6RlFZ^WnRS>#krN&BA=;v9x%<_qTcXGIO(kCjF93_D~`>{ zl)K$>{`!JkedGPw`g=Ys%6=ws^3Bc7cRvNhUw^hDZK>`RolEmtq<_D*5EWZ@Rde~A zHA%&bPPc`*HL#e;{{rV`cr@g)wdj96+oaKgE zr?gku${ko{n)*uQ@0Z8@Y74d+sF&PY?RvVTJn2~5)`Gg?OG^!F*B8&^X4P8P6*pJxee(Qy_N^_M@4ou}OWu?{Re-C^q>;tURx69a?9`l_ zn@uWC7<{&Wd*W=(vvYHE`TB%Rs=n_%b1=x;oaqt&{o3HIHNUoKKKppM^i84q%c=kO zK4`ixP`vwpL*qM!tW>`~%k1dgoxQR=DTOVSx5UoOUmv);_u7s4x@&(bi+u&WFUeKE zeSRn*@Zzmi&)4P8d@KF^G5`In0}I}6x&6ZSPRE4DZ#yQu{Nl=lzjN2U(pOn~#4|Jg-Ok&4lx3^nEW6~k zl{&Raepga6`T6*J zOoEBQrTxtu8ORKx2^TvH0|UcsdC-x03=9gVKqrHcLL2l;F);k_W^E3NRB&DT^rhB% zkBhf9sjSuY3Opbk5OhdO_1H8m#cg+D)(6cg-)bY5Datj_-X z@uiyj`r(n0GjE<>z>wgr2PdXb@U0Y2UH^8?(N;B?qvGBt9V>&9MCVUgv15t} z>))kO!6J(<9ZF*5^6@zJUM=5s)2(G9D{>zxEj@nTJaKj5!;`PSY8e^^e*E~ct9RvZ zgA>`)uExY|)7u~_KKm~x3k$<+VMksDh8#n)1y84ax%eivIV8-+`=DO-l&$gMsXWr_ z5{{c`%=_#Q9{ zT{9zM|D<4BFMqSp4GUK8TB~*KPyW8(lb_|amaUl_WLy?9eM$ZmrMjTCX%lBFEx4+h z@a-tuwyoLM&0eQX^q#IK-0%W)h!R6i*-p`B)4drxPKDR6|KhxB)&HI9TIP0NP(;UY%!dX&LFMwj`I&?1$=XfsEg~L`6h67|c|WruSCq zK7BSj@5;~TbC-X7d|bQ!s+Q~Sb+Nl&tu?V_vce_#v2veE|_e8;c@nyU-*Kf z?_U*M%vdVFx4-CGmB@Cj1qV4dzIriLsHsqE#fMdEY~1D*%}?_AsC`V@VBy-B#v4V& z$`6jM`Zgt8BO+u?sH@}AZFy_2EoRdeh+ormGI?t7w#{CD=U&yyTeWgYV_7F1O#X>Tx{=>YB+n$%=DHJyC=h<>vt9&(AY|ZK`2?6gA`3OwaszLYny-wN72vSX;g*DOzmh zj-;ttr?k#2VmW$r$w~)KtxswzzcZ?RVP(sBxYs^A_2Ip!upNtcZTaCFJ&8Aa+f}Bs z3XC~iET#;--@ZlXXMKEhwCdT+^wKYe?%59i|3z&~YE}F9ZMIzfAI{K_kR4z1c08t{jzv{Bf0uNTRn8KLO9)4JxnbMKe^ zerxsiO7PWXzS46mE}c{p(YyU1d2QU@s+UhD`v>jcS9>>s;qkHF>(AqB0$*<}dvn8a zdQ8p6U8S#|X|;5V>0ayB-@8P<{!bvotFSlu>seiYuZUQ`;Kh9k6EOegzf|;zRpGscw^sKF#sTH*++gx&uM!>N~amoSZe?z+*0-{JOC2U)ukldj7IZmrqsE4X*k#%{DOQ z_u-rOcTbum#CYJ?2QG$L3u=FV+x4jHv}x_F65Br?l%uxQ?Buil5)fN@^?&Y{$8X*m z``O2)K281g>9qdVOD#KVzumKbv`ydQKhx7EPhPw&zjyK0)>huCoY`x1?$+I2tM@`T za@Q5soeQ1YU);)Gw{BZ*b=jZ3|Np}O{`z`(e*M3d@;(-)jr#XK{8gX*;6Njjz)abP zg^oW{wIYlIGpo0SUfMS^>XE$i{%5lugsfOoG2cdO>Ur^Wr>Hs4e($ZaubwK@{x$4Y zpY4;HCg`p=5&7XdF%GRyC0gqbp76MQrrEO`_1(U%?`Z!ZQrj~ z+O}Ul91h(s{pm(>pQW2_)RqgNBTmxiSD#y(?4G;(Y|Hj-xwpe|PqS_L^QUI-r&rm( z9yIgcsg2!LaxK{3ZlyE7<&jo%hOKK?+;IGv{rtrAO#!-oH{-Q0FPmvBfBFgMG>z>R z@y5yGE8SzNLo1TD>~W~7ed+agg2>{~$dy{1lTYRLo|V=QPMLf*^56}VrC%ge=Lc;m zd%63Q>bkI;w3&Z4E`2toc#q}l7#;tbm7R6_Gedu;Y_(Z8e_D*WXVyhmZ*I0#&bLx> zJ#v)!*izTG^sHY=telDTN6iQPr^J?OiI^DbEHK?C!Fv09pwq8{ z%IVv~Y7`tB9VRw0M$i4MdF-|M!gUVWJ_>ODPd z_uUD{Z!v4!zIop-NILK5r<|)MSx-Dp_Y2r@WZEzOp^({=9SN6|F~;r`#%P2=kx4YSW#Zqvaj}kqQgAiZ|B3Ds;5g zdlIzvY{ZIn?%yx2nSXrds=JO+ThdyrmgnEpG`}O0eexua4%32@99ayrmZY8*+xl+v z-|cHczw-Fsop3z1{_p;)+x_K1i|V6x6fE>Q?PXeWLO{0YgyL4YZ0*E{QlBEKAEeB7 zytR_~kam8V!=wW1cRLo}zW3y0{i~niaaX!TE#Lj~*54b#pmh2(|CH?oySBVHSetwK z+#G?Kn*DPNtd1=%Iv-_iIcw#tqo;+hyY0-LBr^M2;Jub&^YM{}x{@ zeZJRp^=T1dsplD)40*DRX`wamM_wtl-)e16q!voCLUpSOE=f3muN z-lxYo!3!Ii*)lFIvHx=C^ZD1W^Y>l!xBt6l$B&9!4`+Gn@!DObl2bi zGcnAgZoQ4`+K_p7!~ebU<64%Y`QY=ZaIt`0Co>9fvT8|MyPm96yP_Mn@KF4}fP}(z zlf2Iw2|xSu%+iK)?UF+*KTipZe7JovDOp?p+54;F(W{J}W~EN@tW~Z$6>j3b`jqu) z`45@i-G-_AeDD6*=nLr~GUWVSv4Sx}$ok6P{p)_&zuo`8E^6Xtr^DqE>&}F&{qlQ> z=Pc{|dv3Pp_TSF2UY$_>Qt7rU`&Y#iLH8Zc83Upl_qTJptPYXe?-t9x{W8z{ z7~xf7p8ITq4L_ff&ROb^C|wygYr?e6&09*gUQzb8+wcCd^=Oo7?k*eFrJvTF2y=9s z<>lr5G%_$_Rr<5-iIwXf{VoYh%9?db$ftGPiJWaZevHK`k2`wz7p{*B_uF# zqFHN2@ukcU7ZSU^9@V<~NAB!Q+snSJ3<$a@dwI7d)SN;8JZjy9_<8I00-n<+Czu*7w;5|)8u;JD?bEu<8FfA!&ta{bv0zhS{fXV%PRQ)}aaSh$oxw5TY^GVq zLtdT9t#A6%n)&QfP~}g@)Y3OAxbkNBVrS+rpRz@y)MS6|HvV<88^sP>>jaJ3{r>fO{oSQ{*W;>V zC(EU4XD^>uR<-u`{i@$@dGmHF_HR}5nX|(9yv^!sRn>3z`ft76Z~w7ncT4s5V=pE! zXo;?#d(vOcW$BC&Hq^TNa(Mdq1t&T#+*7xoNi^-|p`6O<=_favy_k16-)V-r+BMtl z+m&wS+-});RaQjjgpu{+H7z$%g71Ewtu=q;snC?GJMYU{m0Z}6co?(~DD1AdwDf9r zxeABiWj{ITcW&PXy-+fB;o_c*{chti(Eby^0?+H*9xEPzqwLhqtedj#TcL5RZ%;8TmGF@e`V9v@L zOKd8Gj?G$-w(jpnFP{v>|7V<*mddUbT^qI9rn-^4Xr}D#?5lsCe%hL|v`0^NYt~OC z;a@%y*%!T@F3a0q^_EF>S+x&`@xt@plDoT&yB|N*eyy0F=sr6wXSTEOhoq+;RcCmw zxi+nQ#kTd^lD_@iDd`64_&vU_W| z6J9$8Fki@Mm#u4=wP=8RR(2Cfmn#rH$jhAE80VOv*p1 ztO;14mx_8vt@^yqI{V)hkxHSxTCZ>UJ&mtf|K?hxm-HR~c@B+2Nsq7W zd!Mj2(kSlWlcS%OOPkMc)?N{;h^a{>Q+_rMZ%roij5{5^&-)OP8 z`sQRR`$LO&J09QNUw%8+++6l}Z28@#&lar6SliXz&5?N^tPivR+^o|@H*lr8@4cAy zN#4vL6i#iebTUZ?LkzHBTKJu_>WXt7=Bp9?ipkFT3}KV(XdwYPNmpGKq2 zcb!;Ig{@5T-6!;G+tpWBe|Bl}YTXODIw|S@EXM}3>lzzdOcGunU(wINkTBWfn_gg( zer)0DN1=Q6M4a4rE(pIt9^yBX$A&wR+gUbFtF z%~Z_=Le?uhp8KeNdAZ0Trl+a!W0Y0uo}y*@^yB+YxyrNxX6A2Qc`tOuo#3qWlV<1V zt^IMuQY*^V?O#_;Y5w$us+ZGFJ@=e`eR|F})!pa*Zd2arH^U%qw)27a;tVFNj-Wvf zAc)9vf$86_uAdGuY&R4q{JoA%m6tHqu!tJ;#bbB`_8lpFhFL_I5m=2Z3^Pi~sw zF6X~ver0~eX?GZO9n>wB<7_}d=MWs9Z-Kd(DK(|Gx$Umuj1;x|Yq#e!Y8gdBDv>mY4E3i@YgnICVN`s-U^QZ|S?8&sVP0(vp}e z=x`Y{{B=NW;*+^cCnYROiYl3&{%bbZxws`u_O0D|N<4d0irD>YI{m?~+*r2uCVuB-n009SO{>>zj5pGjEL)b9EL-zJ z@YU`0^V59hhh<0J-}krlzE|B!SZ}kE^LJo*%(y%`)`~CBv!meA}?m92EUmtSw z`{k>fcI;+grJ|M6BH=$$0eK z{AJ%-Pfr!v9<(vnJ9Oft^>hD)g+2c~ZJOJ^yEiQ#GnIP&jjCr|mC0bn<}1&Ln1Y?M zw02*$ z%q_d9t#AKcZK14X)|O4TwiI49{B85N?(fobwlA;lUN5E}v*J%^rPP+Y528Ztq91O4 zXlSc^IP|SrpY-ZEqL$Jz*Ve^Wf0eiJSZlob&bD-)*{gnj)}HP6HshOV#y8!X{eCt- zOZNVI<^3+FkI|j)_=e( zE!d>?&F%I3m-)|K^-rzg>^#%pf2D{0`Q?m!PW$}GxVUNQrp?oLF6+O$`}>t|&TTUU zzN}XJYj;s6`{|*pdv+F^{OrGfbzd#}-+#AV{(gvkD*0Z~xn0{%(eZx$@2N$bHpdE| zmWb~OThn2abo<=yo}xxgeSLrD_O}U5cVo;auD!Z7y8NrOMZkXlIScNq^#un7En?%j zb*^>iuW2{GXPn>r{c?%$xnuu~j``~CK7HciGgIC0i?_DEy0CGwbX3jDNk>C}Z~XgU z;jB;3<=^eSagOEKo;xvrKm0YHWtlvy>dTwAvr^B_H1-CaoYA~Ze$DoK6|Tl%IMySs@EeH}9XgKdJXtu6<0Z;oQ&}cf+EtM$Y@>Q~CG|b5hY0?rB;( zk1Q{1(V{dV7W{QJH?{L9Vf zpc5wSu9x4h&##-DHv4|JsMV_#%BE#+ZmhcBted;`=UNSI?cidE%kBzRpe4&HjR_9j z;`%0`Tkp*>O5J4Le0O7Vy7;U^vlYG>oc{mkF+XU~A{lwYCCS53EXnXTwO7Zw`Jjh@cWzI zsYU2U?>f>NkUeqbjk9x&qxV*Szt}Zr*YhMU@v1dzxo)jWZd-Ya@pjjj86UZRO`m<` zTF}dn%v1jUdamVfKK0e(zVMYsp+ON@r+i;__38)boC!&NCVKk+X(Q2|`O6pXvxxoE z|M!ZrLHyk4YEg*^tJ39PMCATHdGh4D{A|#nphr$I{(irnk(oW?-JP9!OH@@=XV#w& zo~}37H1}3XZsxZ8Yk9L6HW-3B;s^NF=$UTS@vu=}Zd%xiL znc~uScOo}#Ec~UtCUUbI!-kC@f9sg*U!QAvE^F@7RT;wSJ?ppn6&7|b^ZDmj?Blvh zZ{CJ=>dx)`7iL{u{pIv|`(4JD5Oc%vQ@*{m-lf*^@UKIk)vt=JnYXWnY@9axclT=3 zuUnK4mA<%fk#*CrX=_bydwZ|FcSh^z9X?xsg$Lzl4V@=Vnsl{7jxl;O%X_ZUPxsf( z`ElAeLV97S_p;2l%;lNq{$#$Yd$!ao<7%ijSG4Ai9aDwGSxRnSbbl#tT{2bQHvZtA zpI)A8CZzi=OxpA9iU0bn+uQ1G%a*ujpSYm7>)Wl@XYzeF#?`(x-TUp8wwB3$*>~?v zjxE5Jqx5S&UtgMEXjydXK{C6T<%#^xX#?-QMq;E}e3uui?kx^7|pW^X+oG zD*qJ7R^RcgdRni)pt#wrqCh$UW;;ChcJT{5<h6Th-)~H>Jh894yg|0CWU-&oE9Grvxykb`y!jM8<>F(BwQD0*ADSAk{o{0n?u@M- zFPYi3YM(oP5;^wz_5C7~ye|@ebC2^JU2}G-`L*>4S(}=GVX8_9Q{BOkrW@>adkNH@+8cc=6=r?R9l5Y#wioTCr z`9os=n}*(}sUNL=?3=iC+xJV|`meqipIfnc=EKAMwkxFbcilAY^oa_$ydTqbruc@i z&Dp@6D?i+3j9_q)@4MEJ+p{)^@xZic4}W`py!Z1Hk4@yx;-JtCZ=!!D`8>_}Disq-p&r@d4 zjxOCV`*CCa|9`(e9-r?cx~E7bJi5`_+xzwtTj#ek^Q;Rzis#*!^NjTN-7GMPW*(&fu64E0MF?1>7#82`DrYK206=N?hxC%QH9xtIQE z#pN=&?2MVZ*0oDyy2#>IOHZk-zx!@QNDJS1qoB4;bE)i+jO>*zYt2M`*&G-b34=FT zcCOsKNup4|;mZg1N1*`|S3d1NrX4V8?WILQQ-AOMRL#`Y&#Pr-7P;}H?UjAE8J1Q) z%M9Llx#r06K;gYv5XBirDC(r%0V9Mk&hY;lzjJH=@&A!ILupu|<@PFop748Ad z+X7QlQ{VMyF(lkhnr(B-^8llZImq(U=g&{SzrXYhD+|L7gWt2yvs`xo9ag?Av25Og zJ$r1-!vz=;UZ>T+ew+XAno*?rhOHpeEpGow{rc)E6GP73u(eUXlie3cDz0D*2n^hK zZC$K3!+~on7c2-kdh{sMg_B1j@D-0pYzxCHdY;;<=a;2A_ z-=bY?3}<`RE?OHKy`-s$iLIMymLX_6@tglQ-lnW*ZEf}P_6|-;Vrt}NSTyJFTRlC! z!u|Jq-f)=IvzRiJZu-A?`{%bJV#j7|n6{$jN5#=&N4XdTY)_p&6&e&3b+tzJz_rE& zYzfV8{{P4oma6_(wb#qTBOoWIr^c?>aC@zx;j=oeJcbRHtW1tS&%WPye~!!N-`X+v zjjcU6t{Nx2b_rmi_@% literal 0 HcmV?d00001