From 193562cbc4cdb340f92c60735eb46ec143aedeec Mon Sep 17 00:00:00 2001 From: Jan-Peter von Hunnius Date: Mon, 5 Oct 2026 11:22:38 +0200 Subject: [PATCH] openup: doc restructure - template alignment + design sequences (non-PSP) Align the OpenUP markdown set to the blank templates (process-data repo, templates/openup/) per BUILD-CHECKLIST 7. Scenario step text unchanged; the EA model needs no change (brief descriptions already live in the model's UC/actor notes). - vision.md: positioning tables, stakeholder summary, user environment, needs-and-features table (R1/R2), other product requirements - use-case-model.md: per-UC specification sections (brief description, actor descriptions, named alternative/exception subsections with numbered steps, post-conditions, special requirements) - supplementary-specifications.md: category tables with priority and use-case columns + reverse coverage matrix; IDs unchanged - test/quality-check-procedure.md: migrated from Joplin (single content home); stale open items marked resolved (WI-1/WI-2) - analysis-design/sequences/: 12 PlantUML design sequences (lifelines = analysis classes, messages = design elements; per the PlantUML layout style guide) + PNG renders; embedded in Architecture Notebook 9.3 - Joplin consolidated: project content notes deleted (all live in docs/game + docs/openup); Joplin keeps the status note only --- .../analysis-design/architecture-notebook.md | 37 +- .../sequences/uc-01-register.png | Bin 0 -> 54403 bytes .../sequences/uc-01-register.puml | 23 + .../sequences/uc-02-authenticate.png | Bin 0 -> 47583 bytes .../sequences/uc-02-authenticate.puml | 20 + .../sequences/uc-03-manage-characters.png | Bin 0 -> 71324 bytes .../sequences/uc-03-manage-characters.puml | 31 + .../sequences/uc-04-browse-catalogue.png | Bin 0 -> 43392 bytes .../sequences/uc-04-browse-catalogue.puml | 17 + .../sequences/uc-05-train-stat.png | Bin 0 -> 70345 bytes .../sequences/uc-05-train-stat.puml | 28 + .../sequences/uc-06-manage-equipment.png | Bin 0 -> 63320 bytes .../sequences/uc-06-manage-equipment.puml | 30 + .../sequences/uc-07-trade-at-shop.png | Bin 0 -> 76828 bytes .../sequences/uc-07-trade-at-shop.puml | 37 ++ .../sequences/uc-08-run-adventure.png | Bin 0 -> 121870 bytes .../sequences/uc-08-run-adventure.puml | 52 ++ .../sequences/uc-09-heal-at-temple.png | Bin 0 -> 53474 bytes .../sequences/uc-09-heal-at-temple.puml | 22 + .../sequences/uc-10-practice-bard-song.png | Bin 0 -> 64819 bytes .../sequences/uc-10-practice-bard-song.puml | 29 + .../sequences/uc-11-study-magic.png | Bin 0 -> 105766 bytes .../sequences/uc-11-study-magic.puml | 51 ++ .../sequences/uc-12-level-up.png | Bin 0 -> 61230 bytes .../sequences/uc-12-level-up.puml | 26 + docs/openup/model/BUILD-CHECKLIST.md | 31 + .../supplementary-specifications.md | 112 ++-- docs/openup/requirements/use-case-model.md | 578 ++++++++++++++++-- docs/openup/requirements/vision.md | 93 ++- docs/openup/test/quality-check-procedure.md | 107 ++++ 30 files changed, 1200 insertions(+), 124 deletions(-) create mode 100644 docs/openup/analysis-design/sequences/uc-01-register.png create mode 100644 docs/openup/analysis-design/sequences/uc-01-register.puml create mode 100644 docs/openup/analysis-design/sequences/uc-02-authenticate.png create mode 100644 docs/openup/analysis-design/sequences/uc-02-authenticate.puml create mode 100644 docs/openup/analysis-design/sequences/uc-03-manage-characters.png create mode 100644 docs/openup/analysis-design/sequences/uc-03-manage-characters.puml create mode 100644 docs/openup/analysis-design/sequences/uc-04-browse-catalogue.png create mode 100644 docs/openup/analysis-design/sequences/uc-04-browse-catalogue.puml create mode 100644 docs/openup/analysis-design/sequences/uc-05-train-stat.png create mode 100644 docs/openup/analysis-design/sequences/uc-05-train-stat.puml create mode 100644 docs/openup/analysis-design/sequences/uc-06-manage-equipment.png create mode 100644 docs/openup/analysis-design/sequences/uc-06-manage-equipment.puml create mode 100644 docs/openup/analysis-design/sequences/uc-07-trade-at-shop.png create mode 100644 docs/openup/analysis-design/sequences/uc-07-trade-at-shop.puml create mode 100644 docs/openup/analysis-design/sequences/uc-08-run-adventure.png create mode 100644 docs/openup/analysis-design/sequences/uc-08-run-adventure.puml create mode 100644 docs/openup/analysis-design/sequences/uc-09-heal-at-temple.png create mode 100644 docs/openup/analysis-design/sequences/uc-09-heal-at-temple.puml create mode 100644 docs/openup/analysis-design/sequences/uc-10-practice-bard-song.png create mode 100644 docs/openup/analysis-design/sequences/uc-10-practice-bard-song.puml create mode 100644 docs/openup/analysis-design/sequences/uc-11-study-magic.png create mode 100644 docs/openup/analysis-design/sequences/uc-11-study-magic.puml create mode 100644 docs/openup/analysis-design/sequences/uc-12-level-up.png create mode 100644 docs/openup/analysis-design/sequences/uc-12-level-up.puml create mode 100644 docs/openup/test/quality-check-procedure.md diff --git a/docs/openup/analysis-design/architecture-notebook.md b/docs/openup/analysis-design/architecture-notebook.md index 1f13268..af60f59 100644 --- a/docs/openup/analysis-design/architecture-notebook.md +++ b/docs/openup/analysis-design/architecture-notebook.md @@ -213,9 +213,35 @@ associations); renders in this folder, generated by `scripts/openup/export-diagr ### 9.3 Interaction View -Not yet modeled: no sequence diagrams exist for the Skara Brae MVP (the EA model carries scenarios with -per-step actors, not interactions). Candidate first sequences: UC-08 adventure request→combat→loot, and -UC-01/02 auth flows. Adding them is a future work item (PlantUML prototype → EA per the workflow canon). +Design sequences for all twelve use-case realizations. Sources are the version-controlled +PlantUML files under `sequences/` (working copy per the PlantUML→EA workflow canon; the EA +model carries scenarios with per-step actors). Render: `java -jar plantuml.jar -tpng +-charset UTF-8 sequences/*.puml`; lifelines = the realization's analysis classes +(mapping §2), messages = the actual design elements (routes and domain functions). + +![UC-01 Register](sequences/uc-01-register.png) + +![UC-02 Authenticate](sequences/uc-02-authenticate.png) + +![UC-03 Manage Characters](sequences/uc-03-manage-characters.png) + +![UC-04 Browse Catalogue](sequences/uc-04-browse-catalogue.png) + +![UC-05 Train Stat](sequences/uc-05-train-stat.png) + +![UC-06 Manage Equipment](sequences/uc-06-manage-equipment.png) + +![UC-07 Trade at Shop](sequences/uc-07-trade-at-shop.png) + +![UC-08 Run Adventure](sequences/uc-08-run-adventure.png) + +![UC-09 Heal at Temple](sequences/uc-09-heal-at-temple.png) + +![UC-10 Practice Bard Song](sequences/uc-10-practice-bard-song.png) + +![UC-11 Study Magic](sequences/uc-11-study-magic.png) + +![UC-12 Level Up](sequences/uc-12-level-up.png) ### 9.4 Operational View @@ -230,10 +256,11 @@ channel in the MVP (WebSocket notifications are a later-phase feature, vision.md |---|---|---| | Use Case Overview | `../requirements/use-case-overview.png` | actors, use cases, associations | | UC-01…UC-12 Realization | `uc-01-realization.png` … `uc-12-realization.png` | analysis classes + associations per UC | +| UC-01…UC-12 Sequence | `sequences/uc-01-register.png` … `sequences/uc-12-level-up.png` (sources: `sequences/*.puml`) | design interactions per UC | | Component Architecture | `component-architecture.png` | joint component model, dependency rule | -All three sets are renders of the EA model (`docs/openup/model/skara-brae.eapx`) produced by -`scripts/openup/export-diagram-images.ps1`; regenerate after model changes (read-only, layout-preserving). +EA model renders are produced by `scripts/openup/export-diagram-images.ps1`; sequence +renders by PlantUML from the committed sources. Regenerate after changes (drift rule). ## 10. References diff --git a/docs/openup/analysis-design/sequences/uc-01-register.png b/docs/openup/analysis-design/sequences/uc-01-register.png new file mode 100644 index 0000000000000000000000000000000000000000..9c9aefe1ba711aff1b4ff9a4fab4ad09208222ba GIT binary patch literal 54403 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 T7kK^F1at1X; za7X3+s&@WyY9Cu}Trjmmgy4V1ac~dW3r9#*psSBH#D6=t^}(5B`Z;W`A5&9DYopQu z+OZ6Yhsdk$>&B)jK|xlihG7#`Kk9+4UC%|*42dwsqKag!FITf2`X7L!u+3h3(Xtk9 zuhklgF-@f&u68Pxqh7yn6!h$ci%+jewlKRUXvo+up*vf%b^XRNrnG^JNI!=K*F!~M zI{qNd5e(j;$BvxwzoP3xl0C%z3D=BwbE!OYH2@qVBaeMU-1Zyev6dm&YS>*`%}N#A zX1u~SvHZ&f?~TtDY)GXT+;OB{&!`O8PHmaV#rX)vW^gb)aY%pRNn^9ncco7t@PH1Y<9o#fGT!DSZs58PE0W-_= zj~|*R9{0$1luo?$M1d=0RyqlJwDq2=9UV_V75h&qX;DY1vWk+x8?H^1zIX552?TIC z40)XT#QGP@cUM`B^(>3yYPEqkjhq1z(yih=>Kre&D>C*#p7p_i!BWiQI@(01cx4^P zVKx0jn5c*>x4P~+2515cX6UEa`BBoGoDZUVNl=ziJapX~QPuzeZZ*y`UxdcjpDHhR zX8H$OkvoHdx{Ath5FU`9iV!yI%vBa>X@xxJCudo{irf9oysEF8^A>jI{Vg;7{{Vhh z9!P>Ocvh7LAAp7txv=-lq;){mm(gl=!2Yh3*T_$VC*EQTSeA0 zNNRksp>ob26Tl{&Ke6G#WH(J=F#y5#nzHqN*(!N&s#xKV|_T zrOuwJ0YO~%IYN3Yi;${-!tD%`+m?@}roY)1Z^tlLkef*IvC?eI8pPOTPl=|CJPIAX zllm-OOw{(p3SOw#Dsh+qdp5_3+$$QnfSCB!7!^^P^?+*SO4T_8>Y(6Y!F#--;6PbL zj;L8#Ww`i1z9QjFo&#KX+fomS?vdf+H}OCk7J(N%S*hI;Fe(mABeaG7`Dcu)swPvb zV_2SYIaWe10`svl|h?ePo~GqAey21`i*~FZTm4HT?RXP7iE-A}en~KSHkZ!eUQR z3Xb>$@}gSdj$_vbPdBJhpo1a|Yf3TUZ`c$G$?fBdT0!y%-S$z4ctfEW@cJ46CBzQU z`1{1fT5FZIs0WduiW|lyr*EU8?rul(l{X`om&}O~R`>m7r*^nozbYJrP84=?AM87$ zm8*85FF7ByOLNJz&8GGIiuM4Md|z?T$jjCA_MJuapFl_PicFvr9u;y8+En>_FxbTg zJT;V0%j*q@jDa^mPNLx75zmvD%6Dg%;u|&L2M4{rF|Ay4AUuDyWLsd3>Di}aVgP@^ z(@%QUGfaa5cm%MtK4m-RDgGRLskvjE_WNUoElBlr(;E>1p_^*2@M^iXYgH>{PO=Px z7l?^82%q%eE}%`4Q&KZ)UHWYGr9J;JXg%MY2w<6P1@d}A%^~(Z9y5lHDY47nD zegImCyn#3b&J%n=eS-LBEL^5L?}{Mt-NDF7zRd>@c44ivXifMsHsW8e6);$yaMLLF zJX=aX!m*#St}fmERG_*hYP@H7H(BEgL9f^;de^KSklb#+=EQNi=>cw5Zogf6t;p+b zfto*Vvhd%3RbOw5{SvsFBjLWW3Jqjup*xS%yrMf>uGjno0Y8}1dnlDEmE<^ci8yBX%CcW`Ah}!11!$x_~1SQ@gN>= zv9b|EIoEsUh`t{j3{jjb-x&KK(g-}ftk6?kN#h_u&NXaoo89#ca$bn9-nd&{vD0^; zE$fo0T@KxvH9>*F=@Bz!;a_*LCi;EK+)oKC2$tb9-ZET~mw>c@{PnoHmJit8VD18E@NyuPBagIloYSrWV8@$;;bd0W>XVevYg zSR`yS$dc_!3^65XsaPPV03bWOzPtH8lPStF!Er4$wdHp$I#%1>7?=jB%6WV6p!sYy zXxtt*{_*hCR50e3aMjTAAel2vwe8LN)__7Q;^gaX5VmH3MdCIDYm*?Q zFW-r>;odqgfBzw9a3b7jx4%QUH$IBwI-beRb%aGB{ju4BJNvqrwLVWN8XSdP9fW~H z{vAbZy!3l%l!{%VcI~>Ql7%NnE!;L^OeX$XMU2rDHBJ5#TdBwQ+PtR+H>H8<=Lk82 zmwPBVpC3aFm#t(yv+LG|Fw56rg>}?FcMMqb60f$FZXfU@c%xJHOTW}h>mG=C z#a&&Y8oyQf?NVYMU;bA27vdyMlykQdVp)!0I1)b>m*Sw;iSDfqVe{2*JlC4YiRY1jW1{OY}&M|sDY7RK;XX9d-7Q(2a=7s zc-)P&H2fBc)Wqai$Pf!goE3a>&_M>2? zETA=@QY0@YyS|Ex){0VrJdC_!=}ihw-!4+ivdE={ejH?~zIIFY`b7-1I36j{rvBG& zrs|Xv*G6gzUHBdR>0xpt2hSH4QXxz`fjOr4Kph<@dcQX+I@ai9HzmchoN8t%Nh=^I$WUJ&b1)I&sKqb2d>=Lu6wJb=za5Mz(JoF-1K0@B(Je9j zdx~s^>hPsj@_$@ZZREwMC`ER%=172XNFzaG*4EY)8q|-GO0mZ=X?k;?INXb13i`lA z@F&H^S=-urg2ATkeMlF<%0n7pSh(@$H@a%R%ZVo+=GnDRPwzQwA?>vhc1mU4jW_LvuFK| z_fLE_gCc>?RrY9fM1yn-#u?tyR#vXsIX|UCTnOK>2vRc35ta;w01EFVyOXFx3PCG0 zRUhiE3Yn?!U9ya@SLlU6!bDY$_rbh&?Mn=dzSX$);OWr@@h)A}1CrY)1bEa)CtGU7 zba|JD$jz$W{g`&~D2 z&E2v0GeHDUDk&+saN$B(nXFMp3bD?XF08YfM1(T+ zZr{F*xU=tx3l{QF1hI}e_E1w(cXxM#VtzL?G&C{-pyG0f7Jnb)OTkI37WYKPCSgCd z!<+0%%TR;@pd8+H>{$Q6fR#5Thtf7yvTO2peFYTM#s|d<%AU~GGQn^Z?K62Lvj~=%xpI_a{s&nay6wfHN>u=qxcQn#_O!5Uf3zyQd64fX|?JR+zMTUd}USz>y}W(VdkLge6&>ED;}YHRsSGr}P> zfhIGeJN|Ro1h$8&>4y&=tTFk<#|J!pr`}lc1zl${BjjH4Hgw6D$`od1Vx7dgx{D{0mb@Hc6K>jAX_%)yqx_EGi8*Vm5aRPhWaF5FqMkR`%s@*}L$OTBNS=%|Ah_@cQvN<>mp5<3`&L`c|U zl$vj9t7DBG-{-!*HLR@Jy0;=yE8rA)ZuT*@{q^fT+?~GgEon0qeca<`8P{cOYKriI zZ#yRt(Xl*UzeAQ1sf0w@CRT-)H8!nfVZqgli*$5w@Wx3CfOrHTc2ChljxdOsZa~1` z*Rg;>h2vIlax%wFcC$MCo1!J7v#Om!UlX7cv_j+H;_@3hJ^Fa9-}S0Dhc{O`9yx1g z)Z<&=|1&e<#b&CNuakDqj*Z=GX7&~^R6y`Lu&j`B=TWo5R`4|5BJIWv zBmFt|Lk%5q*S(h1aZE16nKe+_}}FydxWI*Lia*9r4`7%P0NE(hD7D5y-!N zoBRDhYbIjiYU$glj~vwwf{51m#y^kh;%&)^3(~syKnPHR{GZzx#OrgmLP|A3p1{mm zjdcopx<~Raz84o!zROMi=VvnwdS7E03xhd_MzihV+Z$le`uh86kg5Re`|Il4v+rM@ zd`R5)E(%@upZhB`P+3ra=1E;$sMx50hVsPcJ?7@g#l?~{styBk&1atb{_}V|WXt)5 zgmxPO0#s)4(Z9)!CNPhi951g*5!q$Y`xivbkN@1qOf(^eX3qeZ@N;}I*yB&XAO-&T ze-}}7$|FB{ImlQ4AL0Rk$7Q**qRC7YRNJWkN|j&*z;Wsr*KtcqPJuP=ti(~~;49+cA&!^viiLPsoXg0eC~L8ZpO!F5OE*xPulvhj-xGZvbzjf(Qm*Q-61YjU83ov${Hq zRqDD>f{1y}Dwzw0`xn_Jc3Itf%Q<&`s9Se*l%-*o6ZS?$x1wMY=}XW;RworUm7H)~ zyLPSqYB%rI^z_2c-54cjDpKB2<|#h!Q?!(l^6`@=`h-qGz!G8)`^;q~0`BcIHYU=A zASWU*-l%XLDDmpfP8mtbxboQj)lZ*>@q|p#*3$AfqQ>cX;W8cGH@EE_!tWan1vUKF z3N1f(#`y`>2T|2v8m2c-cq{ex?|(YgaAD_Mdy3MsTNU6Ts>9YP#X%TCYty-sw>UM& zCF1gBD{Jf8@`qKy6pvrMnnv;DH-;e9)E_g|fCvN8>IE!yFP3*X!r7OX&$v;2->j;u z4>QpC8HdIDZgu(iVzacgbkx$itnmb(l^s@1?*PzZ`e)FgC^=j}&&|cvoisnQ=_qgy zD;pcc1Fay)uq!-0e}GqWZL5)i0P#qcQ9i!+-8&AUy?jVqup8D*HQ-_g5x3dca!$56 zqN;u!D`MTuqq1)1&uaki>$nw7E~V;{h8&s;A`<++tk;_C>}>c??m4|z^bY**=yc_} zhvHqQE631`15>m$EHro2-&Qt$+?EkN?(7NYxRGK{UtdA*Rusu;IVvhDGdTh0&e5=) z|H=|LR;t-{bFX@ForjkO9?JC|@xSqC$J_p;$HRKm!2cddH{vvUXEZr{`&rRfuDf^d z%E`$+fBqau-NoI#ZwMzREmF z4pZ6tZb9zPJ9vp$wjGt|^_tpT z_2fxZRnx}0oj!A?VHq??`f(sG$$L5z8J>p~LWAdMH)U=3xpVb^K1}HoI?mpppO%18 z5qLgCO%bG&8Cx zGI#c@DSzLBgRvfGd0%UK!9Gb#l2ZNs6!3yRvIQktWzyBi6fB@~0X`pmxuN03 zpdV30JdTcbg{Sg;kUoe{SFG;QG6TouIkUpFbquKL*nYv*MVubby;)L{kQneYbI_g4 zMaeaSWX|!c!dXg^)z{VCh7t{78QTO^gpvaikof|n<&bWtVi6Y?7h&17>Bhacr)XRV z^t+g*iXSHCao%E-WBo6Q_3%$w0y~#Dhn3aZw6m-#Hh|?(L-i_FS6otv5<$ zS3NG0k(f6!1pEfxd1``ud}q&{`v`6dj}QT84hZe}c;E1F>5*E7_bcVS%_YeHDapSC zQVlFsNK2G(=8}==gl4|zU)E(!rlX_+GG8d&i3;JGNOMt(myc zLjG10EZuO_+z1|D>(R4-?jv`ZRZsnf^r+DAJCC^*tE2;)D37oBi;nnRmH+i+f8%)@ zNuN2Hy@=F1FTHpC)Ny+g6YTUeIC?F0H?sMpDOm>J5oxY7e*!lk6LoFv>rv2AKvN_d z>1{?NOPxlpEr+O4KKCuRwbfwG@b3PMv^2ui1;sf{VkU=Vz*xXWFW;dML0YKo2vj}F zGOan4`(Ro?L?kM9mx@YYP>}vc{A}BnhZ+z5A1`pO{o*}J;IMXjjPbOYlzV#tVPke8 zP&`YYxWQ!arGpiY4_Ord6P_sv9CmQH8XZmSR1~_PbRl~Gf!X)|!0$?wzZXI2kORR` zO|1s*U3+``_u}%)YTQ*e{0r_yU%F%jHM!tQQIW*gnQ);B;dL;2IZ#lRk{k41T$ znEm>r@M0-{+qC;KX#xD7u_Qpb%Txoh$Y4rboQa|$xhzHq{{fpbC4FvVtW(`g|IT@J zEiL=@JkA9?Pl~4pF0AVn56I2Uy?uMTE2F?YRO)$oi&%J%vT{JXW5zyky&!09+io&3 zFo4m*6)%40*mU?AJeW7-J_n5jx`8LkKnz*@$Oi7q3zPMkh{x_y2P zBUF~V=o2|Kn7}C_(p+1c=`%mq8i&o_-EDD*_8S&#y2ZhHWPOna{fS0U-aoJoE1C;Z zICZsHa6{ec{Ski>m!Ux%MDw3D&lPCF$9b`584PsA!($_f?*ycRi65LF7vE{6{Y6fX zo;>M8*+<)L+U|=x-Pcp&t!bRV456k1xXaau*a7Kzd+gV(RVh-&HN^+^vk-ysWfTZ8BqtMfp0M&xfuB zW3x^j1zUrP_2Uy0>}cDo3RxW;6~(Bb&M+QO#t44P@l_#z+1BAZ8ag`t2S=wsw!n#A zE6d1zQsHu!(1H6gS3Z){LeZh=Czr zbp+)&nz4t6?QCs7f|Ts(@87g><31CUL|M;^*F|-7bo6=SZ&=%`fRFcHNwOCrR73=w zjSWN~Krur2I{c%X!R8BrQne~$B;ALZ@9b`o>3w!Z@ypI#yP6D{4rcf*OXNN<7#cI4|}4DZRgr^=d9#w#+7COyEbYWBB?Me|>*& zv)pXsC7&N$TME38h|MxWRmON^6^@fgS%ceC$z_t=F_*H{tW+)7JlHT~lJbyu3tCs6 zK7ESHWRGJe{UbAhB+73$ASLc+bKh|8sy2)@Abt=xc9h;8zptXK?DXRzo13rA7&fri zbhzD1buu=8wI%!X*7ATBLFLhiwj$z8A&aWz>lv)c*Wfv}qfTqD1Q-0cx_T`mqm!)= zmWCRel{?y##IP$*E++h&sT2#$PWwrHudAjk5SXnPtxwaRyS*`=$Mh|^%*n<(YqGtK|rmulju*dR4=)8uC%x7S@=Nv|mifp&<( zFc}k@a&g?%EL7l_8(X_Yc^<&FL?BOfM+=f^drqju}2l$1y}oW-HM4?HKfXyxMnJJ=Y^N|tWA{-ta*3lLG%Z0u6-jk}6Nlv_?bvuv?drO$;Z5Z`EI?_@_)kww zMRsKjhrGMfJ!6Rtc!cR_@#lTS3&uXLD=WqHV^~sBc3WEZ@$=&E_e=>vnmBUk(4#xU z-QD``3#_2IImbOJD;0vU2G-mBGL}XTO{vx!cvmHJI-?1%TdLby2)kBfc=r-5PXqY> zX%RzhpQlnLaD(wYaNt1Or$$+W7{jyS;d}Yk`bkJg@bL1+5^LMm6_uT~wl++O!o6!Z z?=!#}aWCN6u_Jcl54`rkF-43|a(kI$dIOcIF`GNhaSICz-sjT^fCVO|rY++-9?I*%VV4g+|ub(k^BY8)li^+;RhmRebz^D-qPtSR9#ngLc^#;XzsAJ8J zVufUrmsxZs9$hg?qnMa~@7|3E9v&Wg%M9LnrjMEEP9eeMEEMi9i(QYM;&1;*sLAV>5r?ew-H|5t2#&dLM)g(%t6NF75jl7cjF_vu9)%q2N>O6m?jpV2aLt+&Ol zH}di#1h;x3&^N&8!zC!F*(s6)F1ICntI*~^%Tsevhhk@Y)HF2@p9m3*iA_vQEdJ44 z-@KX@{gTlJyNz%5QP$SiAMSTENF6cJtwq+N2yB(RcVBJAhASl1C~lC21wyBZiD5jHDKJ2VDH@5&J&^OT%TPX|mR@ZbRRupX zPR!Ohlt~OE>_m$;WguYv*KglGb(PP<%0-bd$?TH+K#ym6$n|Go0exmP9S?LCsY!gt z*w|P_Wo2OcQXLzcn=eY@Brt?l=15HhWdB{NsyAmG4L2%*#DfE@?zVKA1iTT@cW}sa z2=;)7RCUCXZ{Z7JFHH1?>^h0lNZ)z19;L*M7*CP3ksAt)S3$z7hl5(iffn zUv=-IvPXP`ZbaT71*tM1tsgQ`0b2tu`)5ga`aDn|=)*oyu!5L=2&@PiVNWsZF1cU$ z)11!91$|-BsEq}|_yvjBhH9za=As6_GI}<8%i= z8YE6i)Qo-dI}R;8oJC@qR>1`T5j)pNpMj1}{uXz(-bz9NX`t4uuLk9Z;nrM2ZJeh* zlac_R;XB`_n=y8DVssP+n380)k1t{~dK@LrBRa9K=DQcU)KbX$0BMjL4(#6#L;cr} zx#gg#VuO^|GY7`j?Fvj<-CSa(Ht-NKI=JjDLOIKAUSxZ~Id>@Y<|Q`o!!--9dr?~( z@(U;o3VH;BP4={Cq3@kbfxeCr% zvX>QS$d*7x+ZBf@wr-C!;{4&8k+HGhHIu=6qi@?L__c~IrhcRoXqvU@Jm9uo=_@kl z+X93*4FDgQp011%J???3y|>oj6h;Q44yK_Yi0GDc zwVyKHl?@N?m>3(2N6$=|#upZUB(^^-5~24wOiE7*)B210OG!w8cK1RTrA2vdV^ltQ1)Q2lAA?ED$_FxT=3Orl%zRU!vzQVzPd8%r1z@g7(g6_KPd2rzZ=Bg){Tz%Bg zGR*lcqR(1;tARVX$YYQuz}==+U`_{|g7G408$nj`rlT!AK*%@7Z~e2Hn#mvL>0jzI zU&CP4EvB~&V7Q35;jC=kErU6k0abyWXGIWq-y7*pP-oc2t<;Ko39kK=josSVmp6=W zgXB$)&rXA9A*SXFj1oU1Vg~P)E$4$C;WSIWm=k(>bJ03-goUJiw+TQiu9Zm0oSeR_ zN1uePJAeNC#fulAJP{2;Maqx9vW$g6+I68t|3%zamXR<$dHFN%xK{4vFnPa0{|D5i znR=z}^LmHi`ar!LH<0I`tfFFKV$$(7nYu^V($W&8$-7s_zSN_?9)rBA>=)r~w^VY0 z$t@9fx0g3s%gER7L$~>}%|b#F{VngrTc-&48;J1>zFo{hKPfyLNtd4GwEmc2vWL%6 z;QDDKK1w%K-pU7OS8b4)93R|s3Kj+J^@OVzgk^Kpm8d9@lV8lilwuY4i=!s;hP|s; zY<6Y_Bo+1EY1$5b^+A0ThD%uJ#5)QTX(a>OS{FT@$ENO&a5r({8nud<*#=pYF=kg+ z*IN<(2jz}6vU=aE4rkf*P~^z~&-Dho(fz#dMzxy|ri0LLhH-0t zAu6X&mu6*U;YB2rgKV<5vjd`0*acgeb$atRae-qeRvL1Oi5aHYffeNB=MQP2iDf%1 zjd4X!U%tG=@)m>9tnKZ~VAQEY<)3s_ zuT;thWp)WPcZ3Fbdg5>vF>DB_4(|Qt1mesL28z6%dEilrm-^A__Vc27(S?8;&RUVv z5>irVyx1ents2JBAaJgWuIJErTKoAVo9=Omz2T+=q?FB;Cc%-2`So z7jrHr-h#U3(T);GD6bOD(s3Ej&*g3{uWe{JaNAN#LBZF_e>ttM&8wd<^0Vub#SA8? z2G4L@T-+2!&4K*SP;_?}GZlFnY?(bieta%%%a%iF>FLfB=6h^`n1;=48=St5BNS2G zTQ1z{W(SrMbSDF2L7l+s=PM-H;{qo6R@64wq=#*8vE6c4f8{Atb&9}rseTA`h!s3d zn2ST_@F8UpDgHtqDxVb;uj}K3P^4m{lqeTh1=PCP^XDunZiv^BhcJc@_2_iw?0qPo ze4?tMq2cjk-fi2qZP}vTJIGqL?B)Y#a`AG^4Dp_ukNl8ZEd7N8I8p}fQ7nKbz7Q5B z^kJuBU48urhkz~IfS1cxuDm|Dr-+Q1#JB`lFim1Jv_n*vlgH0=XSd(~J&%1TK691q&|1*S^bPl9!9AQTOVb8fJbAo%F<1EgEu_KOFyZ!7hN09up zysq-WHznfQ?HRBx{h2V~MjW7@@y<6~K%A;~CyEyz$Uo?f5XSzWJwHIN|A55_T3To4{#a=_U<%|{KgDFtR?3^Tz?Z-7F@q-R z^5x4KxoC9SiBJ46{q5uN<%g{KaSk@x+6(gx)QyeXkw5~|sfkWLQPB(rjJ<(pA?tNM zs(rxBH5bVbq-@dE+JM4_>$K#*;UCNxH!h7eN)xl9CFSJIj58HMD$uWq)dw322N9Jf zQz#lmcUU(o8{bq;yly3byXy){T{OB>=qC&Qyj+8Tt-*hlG=)pmF(nZ^*RJsOyq(Fq zoxq`Bd-L=2v5QbKV2UG)Ac{X6IY?r1|M-HKpJ@>F2V5hB7yg(^JCy!Q$jMdDv%>o= zYjYF5w{|BUU5CI@S5c9QMiMBM>AU6<2sZz+uzxS5r?8d@9KY(d7&?6qy0+1Y*#vm~ znw$xa^aHGPlI42E+*D1-ZyugY-lXi%)j}=)*LK+Fp9Z22;dvSiR3J;t+E`F|ii(P3 zU%xJ*Do-ekC_z0>p4^=vwt3U0O>%N?8ymN5-W;CxsJU50LgFO!2lQodX?__WC&pr0 zH$WhvTfe^UKoWyv>NJlr6%|!rVBpNP^3zkzj~=~8o)Va_h;PPB%BUQa{HCU+2cc+| zOFM%^S--(dmu==UUav5eQglW9nRGiGR{lJGZ#7tU*QdHwm$J8cMLOEM;E)vhF``8 zQgR?n@h#?R7r8r=1JbJAzP;)x0agg<2HQbUP|$M&dPp}}bLgCc0-XhSn&!=6m?W*O zJCIU9f4h2fzfIHqAPz=aSX}&=$EewHWswcH#z25TB)g`2)ju;c4HpIO4nlW7F#siq zcq$?2v_ax=O&~Rq{X{JLtU8PGF=;ffkTHs3jLPAFld`h1mDK>0Er5&aHZTK%0s>st z@Ae0rM7JzLt-6N3zW&lx8;1M(o=kdFSr0uA?0gZ&n>e99c? zV&Aktb0z%b&6XAe51imZxw3|txu$KI{IZ`>#mcYMSG5Aw5Vd$rMH-Ko*u}Aqj*gWp zS7P<1vAuZl0t+?00>-Q84S4%H@5Bw7VatR6N*{)Uw{2~)Us*;s*6G$mkACldOvdwj z*h)BEcw;^D1ud{6_VVQ(X~QrC5Qlziz^$tvZBOhE2?>ck`O(o}L;^E=&{gtfJ?UNe zzbaQ1rHK6{?%}ExK*RfrQW!V#0>j`dd&oL-c0&$w!jPJYi5nHbt)LJ0zZ2)-BB(VJ zO(0M>2cQ%!EE_(f?@nBgZ@?mg_B{RKwQSGdzLn$Qsj9E9Z)|jcE7{L$9i|st(*}Qt zcZ>-rs!ttTaYXsyT{szZ`SCMB@;mJR74G?UBAoPbgfrV{gBG5ZpCTE&zJr5tELazx@g_eb${j%i-OTl9Y@bKtG;>lhm%?hT%V?@D&u-B?9*F z|B=bD`73=Bv`O3e;Ic^hfTN_3PUDVzD{kUkwHSNzeRBet)Iu1-B5vS^U+CKqP0s;`i>iS9ahC*KDdrF`CttdRZ`TLlB7+-}M6 z@*V}j*I9{{C5)kiai8a`g!hbuQFuExIzq`5FJ3jy^j$Ntjhp*0i0yGnt=+qY`1#-0 z<^GmfU3oEy`4Q!YR$4>t;N)W`#s{8*^cef-Duekwpdl*sc?&~U@(8tUj{ormlq239 zwdP*EMh-H0@rCES;LGR@DFpLkAdn8GZ;0m%+Ovtn75KNG{PJ$=gGoO@M`C77TnA!H zMVgr1?c88HrlYW2pZ zBRUMOKfc=wU{>Nf{zlleO%lNX5l!)h>E##&MU~kG-iZI8zJB-M;5v5pXSwny?lR#{ z^iy1!iqbAu=+pnpDfZLAcA(fLP>vkZ=nWYv>Rym|0kIlrKNwGis|_@H z4CdAEb#mJF=?7+3<=X(N8{f91y?05poHHfAprHHUB}o*m=rB>MnY?sZZstoRsE`7g z!Fp8v(DWb^noz}smzVE6+OEz&meM>sSB*OV*wf1?x^kJoG1YK--M<4yj4l52n$|Wj zBPTsQmr+nuRaNOyeX22G6E=TH(xRoxfY71raEi-QFs|7wXLnNNnT-x0by6_6186;x^r(Fn{_<-gKJ zC(4e-p1mnoTCLBQJAYXENt=8WHWg51pg^5Gt-mMWcC`Bu`)Nm}TamPdHgB#qw|sUr zF)C_o=$4N&rg02S;m#TBR0PuYqYi;cRrnI~Zq&7v4pP*r)tG1JoGc$u5rpXf~{>XZss5tQLMa&B+Q9mZ%l0x%KT>>|O!!XkAa6b9p4F^a))qD z_~a52Sc+FpT`4P@#hb|3CL@ERzss+$$P7W2Q|BKaCx}J&t6?jv_q}^}sYRX;&mC5~ zae%-F2Nk>db{+cJt-Bt`-rGugIPlX(T7WTS)5{5?PRb1EK)z?|!a(dborhzlhdpga z_7Th>hRt`{uy+3YbKu2WI{Yychn#!SCpm}1gVie9E4#dZgs%uXV5Cnq_!47*HJ;U1 zR{9GbsjJ9JmvHS{QOs5!-4&7Tl#nqBId|?(3bwxPGMxB?7Wl8g#^|%>i&?fFeFLi# zfgS~8>aReG8urko9An0F8!Z<0mYnK_eqN*ni#_Be>Z@HDc5!>(7CCd5Ff1c&(_hSQ zck*_K506;IU*&(+xXy_{+$Gsx;iq@eoZldG(%jZo+WwVj^Lj(YCoSm3fMQK!_(kn2 z%Me3D7jLO&1)jTxVT$gpo0%rJufMxK05_`_%nhBDAm6dIqw*!Cq+9|GaKg6L2&Xez zhELU@Z&?qLGnyZyxk6}mR1{P0P*HUQ&kx|&tb{zlbVTs7@%B@L1HC%g~+`J!rIg?DeUWZ8iRtSB^qhC{ywxO%;ci{^!DP+za+qcs! zUrz8p82+ow9t^W?+(FKb8-pwz#FPks!<%zeC;JmmU^HyI0Bb7ZH%KBL-lrsqv?o=3=ICfbYbzFL*2Ybn1Y<5e9C*C{odpAvxrGg5v{vJKkp)AXS)`hl7m9peIZk8RK|cJD9D<{hkA@ zx~m6X5XElQ2`|OWf>vQEsc*z6GE{}vLQ0#noXRtAquUW17Zgo9pf4Qg*Is>aIc}B5Uc7mV!0duLcTuIXhPpZi_CTdh7ufebI7{lT zlQkf>`=TlJXG0eH$VB{$ii+-adB5)Hi0dndYk}I9#EUS2C4QwVhAm2Qz3f2m=K5#L z$|a%2R3G$ATN#TFN#R`hkocuSzd<*>@_Ok*dtjT~x^*kUH#SO5_)?TT$cT}bF0I|L zVN2)rNVF?ZEL#?>Of5bT0fYvEc{I_);_oiJ1yFrXbR>Y*Iy@mEA)29v*8DG5Evac8 z$S`zYZ%lDUHDOtK87hw#d+LfGh5=~56Iz0XxrOLaL+L(u9h5zSw>45tG(&SD>;ucQ z$N@=t7XQWh#g0R9&~ymkw=|L^pf4^;Xc7FKgRE#m;9H5t7Lh-2wbgl1cd6>?>RoR> zcabEMCDEWq_p3qApVCWSJchTqb=F%rg6b%`MaIwncKQA-cm5}yCOQCrvV%XHiB z{X?~(SCPQdqmP_AZSb}u?20$J+N46tO3>~~MJp71UgHLH<35#Qx-iMqK#tJuB4kP?2i zE2wU%hA@gd3;LJP!9@zK?Eb7z#%jvS;8rc;BdOj>Phq}C8(KxP2>0gZGui)Ky{OhF zf&)&=i4Fy7FvEoJs4)!dNGY9U)P{u;sv6%{^xT;k8)KNE6hFUuO6g6E+1MI&1~D4l zd&;9XyD)q2Fp7w$EF#;tFI&OVu8Ux=~V+S)5KqY@Jj?Ay1#jc4yr%Z+DX zPOZ8jQAWD_pdR_?eRcCYd0f}apLB4`-`swQWGEceH+R9|1C2FRl&JA+ZP zlT254`e=83!?+^P?-6JQ(MiK&-j5M3K_C@{^)BPA7R14ZQM=VzWeWmlQ|sKD6J7c7 zJQUe0-ONF$?zcVNIz=lP=kH$$)V4vu1LI-qmPFDu`J(okdzret(Gf@1G(p)kG+yNT zXuY{dd{C-_Xf;8n^dguviW3STdT_4Kpx)(AijUV=nO5-Hhh3FoelX)SP0=MyrQ5B` zcI~PzEtPRNh&VzB2FyuabWmY&9>Z5@SR1jR^;Qwqr@0q^rOiCk@SJ^*_?l2tQv;IE zxeW`+&(E)2dF1nFM+n*;cQGp=)Y5r@MLf2n*fjsA^X|@*U5Q;y4`2sK_ITCYT!5X3 zaAM@a!9Wh1vAZK3Ih6G~BYBej;fdL!1R+E<-1iLw&bV-}%R5@TLfq z%uXCq{*rXQ?%o;CVo`Axtg6rS6Lb(WP6PKo=@*AkzY{~q@ElT)&o)4?n`9z-()Qr} zWpyYuI%bR!*1Ek&LacFQ38m=mrK6{Rj=p*^+Lo9u;J90sC~)-j=zZditi}^iO<_|z zt%Ce^*%jLSB)C}~+JDS_#7(#?zopB&{}{TnI?^@Q-r8R|%@RA?RcO5jvjAWXCFEBD zoNvDP23f|3K2ic*qM8= z2@n*b{a_JGl9T0igT=m$yh-R~V`YW!@0zZeX(r@K7ncG>kImN+YhalDu<8A?v%DrWA1EeOwa&)~9{DGct-lrz$XDAE$9-5Z0Acr3knhj6PJh{DV2 z2;(L9@86VZvYn#!)E{0ti5)Xy+-;UQjFZ@oBLsJNtbY|L04te-uE{WQPXcEz)c?LI z%{KJ2PM3kItFmX|RY%dB(9NEGE-XxR`}S)Oic3m}Gg9(mi3W@I z**(;~T&r%bV`0hC-Li-G4JO5J611?Do{R>XE3x)IniXUne*&;;2c|NO&P=(+dME3e zd3QTVcVCuphF^n;Y7fZy*PxNF_&@E#sW8`9Ha$Se3PE2#LkhPPt~m8|TVXB=Y&NK` zs>6#nhT!uFX530d+2DWxSdZ;tz45EFDA&sv63gO{yY+7HY!~@luZ&v*rZE&@e%OBQ z+;cC~mXLnmpRjJZBx1?QlSR3?pTU6yypD;OM)|1phKniwLzmaYff3HVeKz_V1qDB1 z_0$y0Yy|2-oM_k^pcDA)o!W>D?7ID4>eFS-4?$tn8cgyIo#G8* zD-+s!mK6JDOTF`sa!P@OM4ZOp^S<$8DrYnLq!uTR0Ne%jii=KEKYkn;4|G>lT%5n1 zm7&P})B2Ll`x8lfIbb-MBSe&RCJL>uy9^$U9Dezb2u!d`&;;HGiEy76 zB~kqGspyao2)}XT7zzQHem@Tl379xA!&@-`+YQ?5oc#474dba?yyVZx{pO84j zQEy$H4MMjt(OZTg3=1$1zl`5i8f95}LMoWCy0UT!F)o2bTG)io^Rz<~8{xt6?LISh z?eC`x(lRGYt_=u}lpFZ>8n7xSOIDQsYx2RX**^G6rpm>Y;1CE@A(fK-(L189BJg&x zpL$$7a7xS2@P$to52^yDHDq6w{{Eb=^1Per<3mr0PA#;NoDu%1gl3X0_R;+QZwk?# z@_8Hif=!*kizMHD?!;t^*+j17!@s_lL$`kApS{&|8Aq342+8kGm*uSmOa2@=Lt)c_ z&1;T98nnOKWAH1xlDrol*O!fFx`@a2u=U^nZ6bat#({6k7BjTa9v>I#xbFPn0sY## z%?(#11?9Y>w@K86)$WR9^$U2baEd+9F^7Nb>obf9^hwi`XR=US&H<=VHt?83MMb(eXI zpWhY512f~1D`cLRxDQ0ckZG{t)g>>%ypYDLft?()u_D`Pu510cw@tb3VfSNa(H)^I z$|Cob54u_HrhD+{`r|_D`3v}jPJDv;hU8YVa$#r7hEV!o`Y5}Wi7w4`atQmp4%D@3 ztIHB9#M=v#Io9s9<+-NTyp+$);BpthGLE4`X%9=lK#z=1C00%+gx(=t4Y}-ft`-#LN?dB({jCr9*G?0C=1BO0BEP@~j#A$91d*iD&Z)8P8#sFqJ&nFK*bc~o(fAs}V zEuErVL8P6>{*3;v;+a0!FX5y@5@w8XonW^-b__GE`DJAjWz&l968IbkOIg6^4Pp?- zRHDV97dk8u6#NY~T@PlVmVyMqgdOcRv{CEA5Qe56+-m{bBisM|y^XO%F*IL-i@zW^ zZAXU;BO#@q-EHt&La0t z{CdngakZrhX|%dSe3!be$a%$&WRL^;lr7)Fvdvz z6li>6&=RH-H2Xhvti$|^kfbzP_Ae}Z;7R21*CG~5OuZv201UxsJdkt>OoDIJfHa;)>p?xwMOltf|N*u(yep}gNk$`jdUZW;s8<#0|H7Y2q@j% zouUHLN|%6$jC4qMa~B@Zcfb3)=dUwI$31($d%f#j@vP^08x^$!!OIzgE%2}M-WbJ$9H!6Zf$u?ZXm+vB?R^*`Oe<2+{5-S@6{BI9zVwgV+p#*V~P8zjOEPK zU{p^Aj#Hp{|N3a}B@|;jkx)D0Sm!ZA9WGaQA{BxFPcKWZcat4rqeDNk&fA29 zyW~+k#!633O-=Vg?gtMeq5uE0@^`@G2A&!V0$_-6Y!V{{YFX^}!cxzaI9E>(hMgU2 zJ`93rgruK;PzM2D12Xu|y5GAr9+r&clwS9Lt?%ty$PPdi#1YD65XJR$cbkBOj3Kgi zW^wTVScG89!s`eA-FFYp$j-aELiW3$SOF6z(D8@tNx3Wm!qjI^pTbmP1N63k+IT^8 z;ejheD-n>BE&v_NDeMW|&`a$v)(^nSe9&IE^^Hs>>{iDuAY!9kkGTArSh1^Syq#prfp z4JEaD=!Hdb>OL+H`1+Ny3Mu|MGCOmIm5na7<{JBg$SINd>8IlWdWr1Jdy z2e0YLW(c+0UWhubRZecYe2-%!d(RsyF4(K)&R*p%4@qi+wkS67zsbH4k+N+A8}<+I z2GOLak{CIUUQNf4#meaS5;Waiqi(u;<85!?RtN9x8j{HMuY>>xUe$d0aM)@8rQ994 zKMQous|n}~^`R^YQTeZGhd_9fu=O2u)AxW1V7v|$U$1O#J^>*Ilyg7lZx8R&y*o{= zM&hKe#be<|^(58uadV%R_tcpsPoNIpDgyV-<@xXB#nsitp`rBOFJ8TCW`^w)Zr*gV z@cTD9Rr*?$guKIf>tCN!>AlC|Bj2$Q(B2Z@Tl?vKG=+ku$MNCmg9LxS-SOX2%j!Z1 z1mS42>YC;mEA{5q*5ZJTS-Ca$&!4|x)Xk5ow7OVY=+2#5`CuG+J~O_`p35?{S?vQ^ zT^UDVjLcq#%e(Kc6?>jM&Dq1HQhh7zd8G`E<2!e-Jyv8ap0WF89F*`9LAO03)6?e9 zQWlvUr@Q=iyMAJmnufQ#z^FwmZ4wK+Oi4oVL*8w>?O|3Ry~CfxQMy{&K{ZROeQa%{d6;`to?|T4_s=jz)bPEH|-08 zr{1U4fstCrBO@&lxCFG)%OwMXU{)!&2C`(e#BLqbFaM~QHw`L_xE3~_@|vR1;!f&% zppbyeqWAdI>^mLuvR!FY{nec91D%LxTO#f6KYYMdCA+G9wk`$eK)<;T-g;JQHuiaB7*SMd&g$i3LQ6 z9dB)}{1l(agErjbr4igM6|3WeLL>8N9?7Mt_QH}5O)t_kWou%z$@9{d@KD8Ti>bGySt23|G9TKjj06SWihQB~G zugyCQD4ZolUSnCxH5?AA<0hb{P)eLzq&7HPgDhBs0DZehOXy8WYwL607c-UhshH$x z7$dST0!2k@`~JCUC zH1@UXyhKymLCc7B%8|?=AnO|)9_|SgI*1su^ zF(@QE@YNTqLqBLj{``@gsUl6OetV?__~(O{=WU*Tr|vh z-vwH@{f*=z(^IrlU%oC9+89ow71u{O#?D1hU)YTYgRin(7q)^f?i4O*R+-d}3P?!l zmIVX_$#ZdWDY(I;MmvfPS^)AVr4NT0;~sHw7tZJ7a;~CJ1;y*-^u3e6luoO5hGFa< z9N4f2;EskLS|v_2$(NFT%Ga?6q(2A2xq^g?_<224=J~GgVZyB|lGD4isw(SE>07X< zst4bq-d+@% z=kDeRVd6RS5-**5A!EAJp}+)gqL}5)2-l3Rzy|fJ8#`;mrfOxRVH{KM=o7~BT)h~T zTW|kyys5YA&uG832O;+GT-RzpczAX2C%aZ!&Kn1Wy4a;LWPksLvGGsaq`mz)`;(Ip zeMVFUv@qqQG4ydz{;+=pZF@_e%suWO+yD^|jhAR|we&_XPaF2)>wQaQb^|NH!G~LS z;#~nM$oKF?K_ImdATpE}rDO3a1#)PGeUFYdUE9k^KPg8Sl~)$38tT`Cgs3<;@IGiB z8q!(Y)OWU}q|~i)h|Kgl7R&T2dw1vIFxwjE|J^Keqm@Qf^Uzfe&rA@u^;A(tz zl*PG?+q@z{jQPAh3sjs8KUUqzHzPZ97`i0#kD{E`Z-*E>!d)x1oC8*;@Al*Wu`tZ_ zK+qEODlRFJ+f%^z#?y@(2`#yLup-xwx3ol2v00Z;sj2(yzl)I^f?v7CPDKaD>n@`< z7PPvGaJUS%-X$6@!>D&ZjU2tMEAgxT!&PrHJ3AoT5wX5||M$>piSqEELb{wvO?t0M zK|;Ux$)>k<@8W z*8JWy)yAumbaZMP@x8*G|i(@K29?EH=y;Y zSR>~nPqzsNamzV|#}BsV9Z&b#4)t3}ao4EtusJqsg22WdtjKro1h4LcdyG}f4+c*P z<3leCAIwpfwOTK$MEs+BI7SNa}w?PJW)D&7F+c8LwS}{nmzJ)W}d{;?~d)NMJ`rq>{fahoy zqQZ{oVhVB6NFe2mgyfx6_*{m?pqHhs-S(o2bikVe-Bs?D*U^7|%5k6I?JQJ ze>~%dwX;bWlUjqJ)mvNKo-1Sfjcm`ge<8?YL`4^&2xwL!POA|G;VPUVn!e~52Z0@a zB}k|)8=nm+lsBtMOULmu8;oFv;r&L7Lc$tag3CbuU)jRh=>(y^7n}i* z$Fesd!!8M*1xBg(^|9jKlHXVDQ{$kSKn{;}{=YIacm&8RxJ{0Bk$n$<8L#NQ^TMmM zAG>fi`09x(PN3=$gg-E_s&SKbWj7FQoA&tktOSw=vX=22w8HBEM8x~RG?qPMd0a)S z-o-l&NDdB-3LL5G#sD0@1Lt{$zc<4OOjYeC+~u<}E|6Anja`knAiW6)O0NR#+jIR0%q0E6JHJcu+{ zS@$Pin+EG^{v?#v5l~X=kR`*q@|hY zqd)y!0Kv{Kf$RYA@IG^kiy%J&4=j)AI5%=i}@&lB2A~frl+k)JjG%R_rzfL8SHB z?&;2OzQ1@;8$yk}<}FvX6jWCTHHzp%8@vYj4f-`&T1C2i=_W7>Y-}Dq|0j9B&{^7}Q`H0d+2u*r-FRY+}R@ii` z?ij<$bwzX@5*n&ov!8uP6VQ*w-gB~9pN!YG=~-=1uORlyBkEDA-?|~zQv#;SLvX-n zk;SnkyGxsra!2|Gy!Zz`b%K4wH57Vk&?%P}!t#Pl5h;FD^8BD2X)3^(%9rJ8s|3T( zUyt@X_N81mrpZ@KXBPO+%pwe(6O0`-ACiu+=u5kIl#HvR`^Ecp`QWFH#c>O-7^~d4 z(i|&1j-qu)4f^6$UsCc~Z{&maSD^0;mcw22z?WBL5xNxfflJd`tyV-jru8yAny z-)sBkIPw|nD=1y|7h-ZZkyVmx{lfFZ(3lTL&i8ZaFJRG!Arj9*w%$ZE5u`1^y3S5^ z?r5epBKs{s!ffvU>Qrg5RQDpKI}thzU}t1J{^)ufMxG?%7&{wk+16bikRS~>rzo)z zIIuwe`RkE?yWOrE`WPFv6gz}-Gz&52_SV*HYxw$9wmLq&*Ojp<``c7OBqTdIw<#V1 zc6}G><;np7BM>;G4~b}OtgEOjJn55XB%nS}w-Kpd7+%%F#%=>`p3^D%RW0w4T_71K z(!4#0L)+cfmV7M!APNq-!|yhx4usp0;F6JFkSE?Ax>Uxp;Z;GVdQy#4mK0Zn_0RiY zgkK6zEWyRWmSmA3x~d(BkCV)0KEkB0*T_>AND|?5U$1def&sGy2lwMS#w!eF{9b+{ zx7x&y)@XY6=^hifjIQL>smzVXcXS;l%uPGzeMILK?G{!ieLx|rZ_thS$?*W7W$0H! z(=QQc0jG+*-g%3x!0VB(E6rQ)3sO+&XR8{Y7$>kQ>p;&i<<beovGzqNX^g(q;3J8D2JJ*ZVJm z!a@3;c@hon-NXwn7n*-oM5k!4<?`B;pQ${1#v16#4JY#}^dTA0FxkSbWB4(rfvWENoBVL55d?agZC3xATPhZl z`63sM-t%23?@K-z+-iI&uoQ>jjZ_m%_!RZ?BcbB&$(`L*@zxG4Ex~;%D&;6Zt>7^~ znX4`^M-&4#Y&<9|r-2qVXN3YBfd@1R&ulQx2{evO%ULEMQra=#ze+>Dz; zJJ1tIoDL0yey9oTIHVmc=Hnl^PYZB0K1QElX<0jMFqvnQ*zuy?OQUlp&yltcs8tWq za&bp|aPLVHwUfy;>b!Iy*QvM0%yJp?#;M!MQ3WKSjl%{O#&3cGyq~qzm`g{gqWRi% zD`7a4l8VZogsWIt*}He>@9u$azR~Vf)=Y=EL|CAAh*z{+pU(xXQ4BLW`m;@Rb%EN0 z0X22bJ*ckXSFTCzMGDq5Oj18+OX={jEGhNH-DiCf{<&(ncHAdx4vMMs)A} zPPt9-dSiQL?bd`7%94aI+4F5k9l6>Y7(`$7#acLf{}W_?p8AG)>m@guq2g0a8_6;= zYI{F~EH#5E0M)S-L%s>l(yb4Y+FB&mH5?dnz205!2q5-COAh{hW@x~;4d!6le{BxZ z+A~&GUv#r0Bd7GvC&1_ly=;;jd2aIYsIodoSlzng*>k(&U-r`6eJ{wR27JUXWfj%c z6Q`%iX7%_30_1T}16B59I*f4I^OB;V7<$wcfZs4SmR|g6gQ^VUwDxPJa`oaclFz2w zFPr4El;@E|%)M{09IUJ}3UZsXnF8`vByHJQ*20gjbb24)-~Pf3W3yKNL3lJ^)nP^e z(WGSk;~HkpTti9gOQYw8u~V1L+TQR(`#Y&ZebHiek2SEb1KfiO%rMoR1KdV%V@EU+ zRMxSn6%|)uYSz1Vqc5E_9^p;3iLEMgQ(GvF_4c6|Q2M$YT-?BUX+$7hoYG}jwe&w$ zVKD^b^lHk6KJ&gdf`Y@~owWQ6?e?X{FZVlMj?s#Do+tTW&OAg3>6EP{= za&-K;PsyI)5*xg{v~(ei7bapwteOM+j@(&tV`B6a=xO|wl~qkJB2EFp$_~dnb zEiJ?8YL_h2-P(0L>|3!)Gm`$@`-f`jgD0k?0VO4E!?#vW~k@`S<97oinvYf|`oZ zyGKT0GRUnTBdwT|6nj5hk9r+RgP*skNi09teg-g6s+$T2+&!F)8T;6lqt@v#mw|I z+)@FyoGdH=`)Hc7Tqs!JWYD{~5Z}%eB_Fd0(ul>V1luz=&VaJ)R*4sT{bpq>MY2h! zkcpB@p}O|E4IS?PzE+6r{r)+`3ibkZTGUQI{Ku3DJ`VSr_-guWg@pQT5oo{(>9-Za z8@@%*_t1`4GFRfDwN3KCKL^}}B0W9-=0!tK}l~J{JWt? zdJ)x+kBv-Dkm{muzkS)9tMBOH6*!>?C!GPdUI2Pf0@mrY(SGszF`M<%eYLjGWZ|fI ztwTe34+>}PWA}d6*4WWHL$Eo~ygJ9W%$lYwxBj2HN(XWsueMxeyDOzKc7_5H6OfuDurd^$A$JV1NmgdT<`Bry4UpzDrc8;snmeMWEuT$9D_EM!mSp+R*Z zK7p|Vgk(*o^LOrlaWL03t8h;lG(Zj>sfE>hzk@7;xce_H4e)r+B4T{ zqDK*#AH)8&hMldht%WCij~mkE)ffwi+hSvX$4ZX@2K&j@yv)h7s(06vVX}gljBKlg z(q_K~b$A&_lx{mtif;8T4Cn$`E{wK8li(*faYw&$8(th7oL@gu)>EG@HQY9011Cq- zq2j(dTbrpoyg|u!_5k;gTZ8>oj@&K;!u=|%73E-k#%Ph{BD{W;T6;g$;)+QXRur>d zxSo(AaS_u(Jf1I@LQ_(mqMB(gH!y{qe)f?r0Ug=nMtoj7H_0~V<4Qyw{p;8fI<{OobcZ%T?L-X@2^!@g@9Sm`+EucUZD%GtI7li5EBL$B$1p zckbm2C*9sfR})4>pHk0AamVUmAjkHIv0n!?QIMm69oX^F(GKIxcN4?L;5Jl`> zKeY7gODZTxh~z}jh^T)Szcx@M^FZI=Bl)N@J=;O+$XysFLCwlL7#hOf9n;)G=VQ1?0k6zb^JTo+j{qsITeXp zKSv$Nl9R6qq@8a7Ehqj?_jeiVoo-hx?-`^QnfJen5ky&jyj3Wv>Vd0-)sGOn`~;MI)`a;_w72@2jd0%T< z$ruS9rJDxVO}VhLs!VD0m03}X#0BK=gDOH&X5qbWIS*qhn5^@V9GZzk4B6mD&o5BZ z2L#pmV8Y0TpfY&%=`L8YU}G4_U8!FST#F7jK)q`wP@9Lyj|_S{{wl-D^R&26Zx=UkMi{+BQbG_M-Oka@D}&>^bitv zg!%;A4i&T%8j2gPf2^pEom8qMAo?**aYar?1;xCq###EntB6N7=ll-~Z89=4X_9p# zn4|mo<%_GROo(~w;M2RK2KPcf_$zW+WF2HNeX}EQ`q$&f%*R8x7EC{_6Z{H>fgALcsUx&B`m7u?Y=Z`!BpdAP zmlM>ZkhMY=P`*=@E4^@t{k2rd8=KyxKHlM+^#_aRDZ3cFf2Q;a=^Sxp4$(p&xuH5c zz2dLJ=@q>re0055lf9OY&$%G(KyEad!t&d+k>xA1vd>jl$YF?-8L{d@T&sr)0?n+IA>J#$oTkx;PKdAsbO_ex*V&m8!q@#4ph_q zkU3+wg??@?j8lYoJx>1g>C-?6(SrnrMYfAe&m|bRL1QLcIa;JNzhH^Sb@}@{o0ir7 zaew;QC8dxqGn1=VZh;jx-9NTt)q#}O+Ud*^o!+$M#PBl%)Jx|EOzaa3ZHEXah5WO_ zUqRGmV}|~7N=JVA-3V zXD0B~!{HM(kF<6n)#H4jG%&t-%nXBd0zSR`**&5!uh5ybA$5@^xmD+U|9ksN^fFv~ z-P_XMD+3v={@J!w#li;Q6v{<8D~L3E%}}+du={V+*Cc~}ZrN71F=Qx6zK#+n?xJo$3Lt2#8c^oFz~al zZLF=~gv<207o5O=n`!@arce=e4lwvW-T0dAfPqOb2O>E^>eTZ@F;e@WDyFQ|&KTNT z{lV@Mz8l%b3uwm*DZJx0bhR~Pstjg!v17XVl=#ETjxIv+F^+Z@h_;w8@q@1gchmT3IlI$RMppe8;s%^2|cp5E+WLi(Rgqrz zo+|em;l88KNUQpbk|qYSO&aUVBT&@5X}8f&g}6Kjds8F}TrJ=048X?o^NPE#i3~Xa z*Rqr)+g*2Bxe5ZgIRND2dH_PhH>u&A=Qf)GQ{|%q7@50KarI_jvs>rmf1M^Po2tYH z!KF(8U>Fel8mBcw z$r(3klQ#fs!KQLwy~u9Xwzv&~W2U3x^GStsqlB$L@ACZtK;lQ*RFutH%_Q`>oeFjqN8 zySn4vw|~=__ljt33YUj$tJnH{>VeWZAHg_dZUvLHap9%y?lEn)yr`Jp)RY^go5l7z z7G~O3kb?csfxH(}2P4m*?AvmL{b9WI|4R+)A{?=oGYLZ%;@kS_tMv7KAjkVBvCFxE z0!5eO7cVf6zO6F6Clkv;29iUhF~JYl$52EQ)kd8yb7VRaiXOYb#9&(EgymgYh*oi+ zRX`I#aww*N-Xruc@? z=;@gm2wLTJp>X~i50^($POdfac0E;7pq^0dTZ?O`jBIiDFv>nepit;|Lmd`o&3ax? zC>Giqt?H}UkbW==GlXYc+S{3zQ)oQ4Ghg5_!+hFpk7EAdz6paf-em4e+)!8m`~iL(4zezplnh4 z=Nk+}ofEDo%c<8*Y^Ks|@CEpu1K#c;^$+o*sFUD?KmX`_1KwB;l4I|e*iTCg+_SGR z5OFmcAGEUanh+H`o?RFItmJa_{F&HH&2&rbkx)WO7FzP3ze({o-0A|XB#a3a^HySw z_z0oc|G67qs>gkZf3AlUiPQi0qbETI@}HaAqXM(|^Knfmtd8-|$6pWkyi*?AU3Os1 R_#-HxD61+{BxUCNe*l+&D7*jw literal 0 HcmV?d00001 diff --git a/docs/openup/analysis-design/sequences/uc-01-register.puml b/docs/openup/analysis-design/sequences/uc-01-register.puml new file mode 100644 index 0000000..ac8e6ce --- /dev/null +++ b/docs/openup/analysis-design/sequences/uc-01-register.puml @@ -0,0 +1,23 @@ +@startuml uc-01-register +autonumber +title UC-01 Register Account (design sequence) +actor Guest +participant "AuthBoundary\n«POST /api/auth/register»" as boundary <> +participant "AccountRegistry\nsb-api::routes::register" as control <> +participant "UserAccount\nsb-shared::user::User" as entity <> + +== Register == +Guest -> boundary : name (3-32), password (>= 6) +boundary -> control : register(name, password) +alt name invalid / password too short + control --> boundary : 400 +else name taken + control --> boundary : 409 CONFLICT +else valid + control -> entity : hash password (argon2, sb-auth) + control -> entity : assign player role + next id + control -> entity : persist (sb-db) + control --> boundary : JWT HS256 (player role) + boundary --> Guest : {token, user_id, name, role} +end +@enduml diff --git a/docs/openup/analysis-design/sequences/uc-02-authenticate.png b/docs/openup/analysis-design/sequences/uc-02-authenticate.png new file mode 100644 index 0000000000000000000000000000000000000000..f26ff4ff77daab843fcd0d2768bccf388b84f8eb GIT binary patch literal 47583 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 +participant "Authenticator\nsb-api::routes::login" as control <> + +== Login == +Guest -> boundary : name, password +boundary -> control : login(name, password) +alt unknown name or wrong password + control --> boundary : 401 UNAUTHORIZED +else valid + control -> control : verify_password (sb-auth::hash) + control -> control : create_token (sb-auth::jwt, real role) + control --> boundary : {token, user_id, name, role} + boundary --> Guest : {token, user_id, name, role} +end +note over boundary : auth_middleware guards\nUC-03..UC-12 +@enduml diff --git a/docs/openup/analysis-design/sequences/uc-03-manage-characters.png b/docs/openup/analysis-design/sequences/uc-03-manage-characters.png new file mode 100644 index 0000000000000000000000000000000000000000..aa93e16b5a6c3cf900e4b6358580393fb9ab6fdc GIT binary patch literal 71324 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 +participant "CharacterFactory\nsb-core::character::create_character" as control <> +participant "Character\nsb-shared::character" as entity <> +participant "ResourceRegenerator\napply_regen" as regen <> + +== Create == +Player -> boundary : POST name, race, class (user id) +boundary -> control : create_character(rng, user, name, race, class) +alt user missing + control --> boundary : 404 +else name invalid + control --> boundary : 400 +else valid + control -> entity : roll stats (d6+5 +- race mods) + control -> entity : max HP/energy/nerve from class + control -> entity : gold 50 + level-1 spells (casters) + control -> entity : assign next character id, persist + control --> boundary : character + boundary --> Player : character (full) +end + +== List / View == +Player -> boundary : GET characters (own; admin: any) +boundary -> regen : apply_regen(character) +regen --> boundary : character (regenerated) +boundary --> Player : characters (regen applied) +@enduml diff --git a/docs/openup/analysis-design/sequences/uc-04-browse-catalogue.png b/docs/openup/analysis-design/sequences/uc-04-browse-catalogue.png new file mode 100644 index 0000000000000000000000000000000000000000..17da6ea9cb31c50b731ffdba9fff71c2d7e532df GIT binary patch literal 43392 zcmcG$bzGJ2vo>l_(w)+xbSMJSUD7R`(jd}}lyr!Mlr%^RQj*e$DBS`A(%m3+27mjz ze|x|CocD7+pL5>7l(n9TT@(NX)ZPi5OZAVINRwxPHx<}sTcA&m_E*h?HS+MZ-!W6 zr78J)uQ;^u_8&jNQR_$GrY#NlR*0FGgcq@9Y+?F)q|-0IOIlJzH3NOLrK*$sHojbL z4r4z8kNf7N*k``|z51Xas|zRkukU3eXZ8zkEndDwUkp=Bvi%yk(tYJ|>Ue9#$Ts_H z|K_jrh8fJ)_8(;9P4em=`J_p&)5|{+Y~?HX!bB{oo{2DFPb`X#RQ0_@c!NdwAwO;& zds?wD#q<;ny|t3qIKi+-L;=Z%#VU*!WlmJfDf3k+v6!h0Jgw+UCk-h&r#o!Mx!ipv zuO{}^n7TgP7T-7Ai2G0((1S3{^Hs;8(M2)l`Js@SpQKTvrgh`(9<|0WX}1L0+Y@@IMbXysMg^_)v9f=NzwD@;i(~my4&ij(+@!q(jnDxw$FmG?SmEXqk_d{q-f{;#Ho7T-ow3TcZ(G$xo^xHQ7<_5BiT`xp{L0v+o`=wDgD$Z!$B7xyj>uT< zxZB9#b>+K-011C#15n_n<^&_xV|?#6zS&9jJ;ZK-0-_0BQB!m zroWMf?1tY#)_MC5T}=P2Kui^}IDLeiDlV_+D@o<)4D?)h%NdP1FI?kTNH)5 zeKFJj`h}1)5kxT*_}_5=YVh?NTgU|Hf3L)1B!)i&Ybn*(;W`utp#sC}>*jrwTK;~) zMaKV+UtpZjY%_lBH&tW*p3imbYup3I<^-Y3lZBBYO{=m%CCr5<87b0?o)VBdAwlnH&zZYU}$>T`AB8c#`k6XOx-(<6== zDONRgqBl@Doh>XOzpWMb{c5mOAizTVHn@(mk5S%+WIItNmh*jQca^HU*gi0{q z9=fo(IbCI~sg5E-�P*j{3xHCu0x`_ntIW579lDH#zD>8qJq~iWpN?Q+XV2=?NoC z@I5l?;j|uQcFs#`-*u#RKiYWqUeJ5vwd32R<>maNPQqEQ{mABKq2ZFAX2)d(&W-G7 zL6uYTmY)=#@rfT1Gj>H&YT8rXTY|&k2uFD>iTZqh>ATh?_NVpX4?`bR^CL(e8LNik z(m8FvRr{cVs6)nSL6x=99*P&QBNa(XC(EV69-_{oQ*AR@X}Q$Oa8<$ z>_(!T#csRvX?(7w>O~1L55oyrRLmnuvYc4&x$iGYaBa#zrlVNu@GO`)*i9Kg26vg+1;{OPgOOVW*xvlodU(XdM6(icM=aB{Nz z-glmN50;R~W`K!_+2nD^nA+W7+!6NP=a1#p;*l0aJ( z8GGKF!~w_S?v*a&8&%ksE)XupZT=$_EUVdV_m+q8_vFXj!6z)oRkJswegst?wY|oA zpqPHwQ{*C~{_!NgMx_6MK()q{d&}?fzURBhy!D1Hw-!Gu8LI`2 zWXMo4Govq)dS<>Dez`XMp@1S+I>mMQ2l>eW13F8tL5&P?CC{75Cr_p2#1O@d2~%_j zG}&XwX{s6Ci~Ou}etJ9-2+rb3ZV)L2RyyWkzz%jgHyt~RX}s(aZk#SIHx z(Oq5l<9j<;vKx*FW~|NQymF>beMGgU2*@LVLGQ9bYv&Z5`~)pVt$YL3v=xns`p z#>9eAcn~5Qp*W3xgWE~?Qi)EDf*Oa_F#V|wy;;v&sc4Fe8Z(>>IjpG#7IFMl@$I*i z%0A-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 ruy;RZ0{JK7KumC+-_rpPoao=WKi1h8X)V1UsM) literal 0 HcmV?d00001 diff --git a/docs/openup/analysis-design/sequences/uc-04-browse-catalogue.puml b/docs/openup/analysis-design/sequences/uc-04-browse-catalogue.puml new file mode 100644 index 0000000..fd10dc9 --- /dev/null +++ b/docs/openup/analysis-design/sequences/uc-04-browse-catalogue.puml @@ -0,0 +1,17 @@ +@startuml uc-04-browse-catalogue +autonumber +title UC-04 Browse Game Catalogue (design sequence) +actor Player +participant "CatalogueBrowser\n«/api/{races,classes,items,enemies,adventures}»" as boundary <> +participant "GameData\nsb-core::data + items" as entity <> + +== Browse == +Player -> boundary : GET catalogue (optional type/quality/slot filters) +boundary -> entity : read LazyLock catalogue (sb-common JSON) +alt unknown item id + entity --> boundary : 404 +else hit (possibly empty filter result) + entity --> boundary : static data (classes + is_caster) + boundary --> Player : races / classes / items / enemies / zones +end +@enduml diff --git a/docs/openup/analysis-design/sequences/uc-05-train-stat.png b/docs/openup/analysis-design/sequences/uc-05-train-stat.png new file mode 100644 index 0000000000000000000000000000000000000000..9457c46bfc1eb177d387993595eb42c0aa2eac7c GIT binary patch literal 70345 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�VS9kiQ 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�&vONMIj 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 E0Rw$z<^TWy literal 0 HcmV?d00001 diff --git a/docs/openup/analysis-design/sequences/uc-05-train-stat.puml b/docs/openup/analysis-design/sequences/uc-05-train-stat.puml new file mode 100644 index 0000000..8bda62e --- /dev/null +++ b/docs/openup/analysis-design/sequences/uc-05-train-stat.puml @@ -0,0 +1,28 @@ +@startuml uc-05-train-stat +autonumber +title UC-05 Train Stat (design sequence) +actor Player +participant "GymBoundary\n«/api/characters/{id}/gym»" as boundary <> +participant "TrainingService\nsb-core::services::train_stat" as control <> +participant "ResourceRegenerator\napply_regen" as regen <> +participant "TrainingGrounds\nTRAINING_GROUNDS + training_cost" as entity <> + +== Train == +Player -> boundary : POST stat name +boundary -> regen : apply_regen(character) +regen --> boundary : character (regenerated) +boundary -> control : train_stat(character, stat) +control -> entity : cost = training_cost (x1.3 per 10 points) +alt not enough energy + control --> boundary : 422 (DomainError) +else not enough gold + control --> boundary : 422 (DomainError) +else unknown stat + control --> boundary : 400 (DomainError) +else ok + control -> entity : stat +1 (energy -1, gold -cost) + control -> entity : constitution: recompute max HP (clamp current) + control --> boundary : {success, message, character} + boundary --> Player : {success, message, character} +end +@enduml diff --git a/docs/openup/analysis-design/sequences/uc-06-manage-equipment.png b/docs/openup/analysis-design/sequences/uc-06-manage-equipment.png new file mode 100644 index 0000000000000000000000000000000000000000..7c9a9f9ba6d4e7ddf379e5f7a64ca8e8a4e05fe0 GIT binary patch literal 63320 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 B87lw) literal 0 HcmV?d00001 diff --git a/docs/openup/analysis-design/sequences/uc-06-manage-equipment.puml b/docs/openup/analysis-design/sequences/uc-06-manage-equipment.puml new file mode 100644 index 0000000..6969d53 --- /dev/null +++ b/docs/openup/analysis-design/sequences/uc-06-manage-equipment.puml @@ -0,0 +1,30 @@ +@startuml uc-06-manage-equipment +autonumber +title UC-06 Manage Equipment (design sequence) +actor Player +participant "EquipmentBoundary\n«/api/characters/{id}/{equip,unequip}»" as boundary <> +participant "EquipmentService\nsb-core::services::{equip,unequip}" as control <> +participant "Equipment/Inventory\nCharacter.equipment/.inventory" as entity <> + +== Equip == +Player -> boundary : POST equip item id +boundary -> control : equip_item(character, item) +alt item not in inventory + control --> boundary : 400 (DomainError) +else ok + control -> entity : inventory -> slot\n(previous item returns to inventory) + control --> boundary : character + boundary --> Player : updated character +end + +== Unequip == +Player -> boundary : POST unequip slot +boundary -> control : unequip_item(character, slot) +alt slot empty + control --> boundary : 400 (DomainError) +else ok + control -> entity : slot -> inventory + control --> boundary : character + boundary --> Player : updated character +end +@enduml diff --git a/docs/openup/analysis-design/sequences/uc-07-trade-at-shop.png b/docs/openup/analysis-design/sequences/uc-07-trade-at-shop.png new file mode 100644 index 0000000000000000000000000000000000000000..bd9ce45cd5ee44be17db2489f6fde16992c7bebd GIT binary patch literal 76828 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 literal 0 HcmV?d00001 diff --git a/docs/openup/analysis-design/sequences/uc-07-trade-at-shop.puml b/docs/openup/analysis-design/sequences/uc-07-trade-at-shop.puml new file mode 100644 index 0000000..0cecf5b --- /dev/null +++ b/docs/openup/analysis-design/sequences/uc-07-trade-at-shop.puml @@ -0,0 +1,37 @@ +@startuml uc-07-trade-at-shop +autonumber +title UC-07 Trade at Shop (design sequence) +actor Player +participant "ShopBoundary\n«/api/characters/{id}/shop»" as boundary <> +participant "ShopService\nsb-api::routes::{shop_action,buy,sell}" as control <> +participant "ShopStock\nAppState.shop_stock" as entity <> + +== View == +Player -> boundary : GET shop +boundary --> Player : always-stocked + rotating stock, inventory + +== Buy == +Player -> boundary : POST buy + item id +boundary -> control : buy_item(character, item) +control -> entity : check stock (non-permanent: decrement) +alt stock exhausted + entity --> control : 0 remaining + control --> boundary : 410 GONE +else gold < price + control --> boundary : 422 +else ok + control -> entity : stock -1, gold -price, inventory +item + control --> boundary : {success, message, gold} + boundary --> Player : {success, message, gold} +end + +== Sell == +Player -> boundary : POST sell + item id +boundary -> control : sell_item(character, item) +alt item not owned / unknown action + control --> boundary : 400 +else ok + control -> entity : inventory -item, gold +value/2, stock +1 (non-permanent) + boundary --> Player : {success, message, gold} +end +@enduml diff --git a/docs/openup/analysis-design/sequences/uc-08-run-adventure.png b/docs/openup/analysis-design/sequences/uc-08-run-adventure.png new file mode 100644 index 0000000000000000000000000000000000000000..68946ed1b9893fb762c0d128f4f2081ff8196943 GIT binary patch literal 121870 zcmd43by$?$+cm5rAs`?Oh#(*!F{HHAAP6Hpz|h^D(k%iaEiE7*Idpdl3et^~q=IyJ zew+KgfAPJ~dmPW7-#3RSF~fDu-e;_}&b19zkbiX_n+*Hbty}k{B*m3(-9it)b?fd4 z)*bMj=^l?E@DG!dgu0WFoxQuYiK)}AS0=V5uMM0`jGq{~KQVW5vUe0k=Jj`=>Pu0T<@SMWRjg{N(sAH(Kzly@BL?iN9cIw9&8DDgP`^_Yh8H{;}FKLT6m~Yx4ojT>R_;HzqwRr!^prFK67Ua!p2ryVlw&3K4Nz4 zIvrA9m2_o>wkP@vSKn<4_vu`T;_i+8j#C~NB)K}dbBp2+(_^y;!Reg?)$gCo(53k` zik>+P20q|hl`SZ2{Wau)GhOCnlg2bUHctPT9B&~)ChB$2v&ZFw+VA_*$cerl>~G-g z{AoSOA$EDvPRyQ-){uk89{=uFn}Gj{b@EvM-AcQcxR|V#kK&v^Q%2&sDJOA=9WXGC zX|7_nf5v!^r;&0XPbwX{GY;v0H+Y_6!mh3q!-r)?{UW32JbXZ(!0R9>U0TD&r8)UM zDOt>L{=Rv|j-WtiO&zoZ#*0!*5;vT(^4Upe@(_wDtTlvJ!Q@D1J|Doj~>#q~u`O!*x%98vz zGxB$d!-rVaoBT3GI3ZgBchf!+L)$_|+<5)B_S4_jzmVw4`pCADfcwbdk6SsO5OYJ$ z_dgG;S+v8J zlG%*s@A3t==d&=CBs`h?-1T|au%F6Pd+qFRo6W$+Ba=Be^(rljAVa&lCNn_=LB_DrNIiS%U^i0hb?S1!)S?4g^evLNv_sw0WIWoFG| zave=ED~olsNsy6-dJb9cw7Bt=KFZ{@Domm-T-=e54rzwX(HUbpmV z`pTC)X{7joJ>_AjA#lgMLZ*4)io%)ZRnn`Z`JPb3IZpHroV4im)SHdHt+UDb87Xc; z*i-1-ml>Xh30Ad|V&z+{UcSS181D968B7-y z74^Notf3cXJr={nz`(FX3gfSxjxIz}i4@P=>{2b+KX+=q%C-x2*_aTO;jy#ZcG;Xd z+?+n{Vo1wsa$f&2=DVKmzQ0_#zLcP6n$r>Xh%4GgFP2d$OY%pd#`*E~T#g*MG)jyc zlOA;fVQ)H60&g+*u1h>2opfi*mHtEa<`bHRst5`}%j4`1@l{O$-EqvwvQ;s;8v$7EE*F2qJ+nN;${r~mY)WNs$$SPi=J+H59{S-f zBY(E|rg>j%*37LyV#UndPj(EHl}DSs&nJqhd@rJ4sUp6q#o@eoR5020V!alh_7LJq z^XqFus-TFy!$a@AE(XUx{cseDU?)Jk-- zBX@UqS+3urN* z)#x2@vUj+T#OMlI+-Mpf#uu}%&G}x>)HyO_zY-T8Y~OLJj~4bk+KC+ftV~ZVStZ(# ztN8S|pmhb(woXk*M3lgyAr_?2{OpuVK%TQ?#_0w43gHtvZJ zk2nKi7fQl<_B#ea3BGl8ajHAKjkHgD>n-<2$y}nFEl<77(0Y70TW0mwD=P1U0g>xL zIM~h;JEe<@iZ6Uxmrz=Gm_F4_Iz2@HXB}C4!@RJUVWY)5=hyhp=0O(cd=mCJ(5J#7VUeWT zo@sbBEpoAgRz#>#R%v?^gp`8A82iw*(Y%)h9-8_UCdMVYP0``wxz?=Gg97_t8!A6% zZ;JY32&>v+R~lzGf#{xYaAmiNWz~w$)@yKKeHHQe_U+pZE}PPlk_si8tK}BS-hZwW z^nB8_7&R+bCM(Rmy}f%9*bx##)K1n_mSfRKl8&}eMPIOM>*BubT~HYM5D1Mr$3K)p zZVGNRJTW%*!oVecG3``OFP9{n$Qeky6t{>RY#IzlCeC>u zQ^aXhn98Z<{Pr2cLKrv+k7~UJ8Pc$lTU%QT7TrC28A(b^SJ&9!y1m?&oUmnnezeJe zNM+HfuZ)ZY1v0ku@#3E}-y9=y9?NgAo3_D*{a24*Lpv8S4o8RvZx|UHKlS!nPBgo^ zzC|o0CDo*~GSg6#U=!Zw!jbm&M}Y6e?yGF+IP(QQ!*B0vW<5d)!NsoJI3o375=-52 z7TMC|fjAFmYaM8(O)B9gR*C{2yz7j>Pjs0w#rw8q8Z5>~5F#no=MrC#2w@2-i-nX= zul?;>E_r+EjJpWg$L#3x)k@?;)g=^3Sk&iDv<~ExdBb_@T{h2}?jM=>6{wYTv(qy& zcJ>_kU}t(t$?rlzz=QRCK@~3l4bS+oh|i}b1FG5rVX`e8cMgF|NU_<0*sYw& zLo%q2#xbjH&9&Gm5wF%v*&sIjO)^S&}p4+>e{7x#m)h)`=GZ?JN zO-j93M?3^aR9D}QHm6V748c_oIG#SuQp|)qjkbqA#KfnRh4MQt<0?BWe!F+tPI?Nt z(2YiVVK-Cq3OtzZ(HD`@pA(ScZGI@FXkcLA1TTS{pnGPYKzctfh>T5^8DTObeOfFJ zP|xZqf2h=kw+rE=BU;z{av8gp$~4zz8u+H$pD_h(W^alGV(0Cn-9#4V-;wq5bZ^Nb zu-amT{%F^8y62%x98)_C=5_L+8fvo87Ra*H7Kl^%DKi#?Fo>jLDL+>9_0hbTPkZux z^Yi*sseE>nHohkdK^yii^@6TjrIC*h&!KEO_1~IRT4!lme|!SJ--y5EVo!!W4)Fj2 z`8FIL-z{=^5R;asS8YA1nZL8Un;xrGW4k$36&hhV+sNM|!JsG6iUkN;hKW*Yf!?UqTZB2(D zoe5P`bUFw3oimjK%8w_nmFkh2QInEa$aeF2zs%v+G=s12$~c#fdmf}3?)~m+TjziM z8!KDne4~QJ`|M!#Vk>N|Z{^3+gzsDLuOo~=aoTR&$7^8s=Eq%QB4$?o{a4NVckd_~ zG`~HWEt6n7Q(wjh^#UDI=qpHc3l#*;p=y!lF7AaVk!8M0!LmukQ!+kVS@Oz{velQT z7@Etc=jV~+d=ZztS>Ux(w9eZ@#&$ms_V;C^r86QyO`boopu0Yv^W~y_R~!!G^bI(Nh(}TiH(D3!G{nPZ8{K2J=n$zw`^$Ye_wJ=z zLXkPRd{4sIa-3F&b*oLDv9<>uM;Gox!{ommab8{QBl4#)?vs^*Mq#K7Ij@!kdy<)v zp<1l{h=4$$(p>SV{ZR=dZE@ji(8d_0Tr%(GL>a9oMUH!#m|F-rpDk9&AJC;uN}4X_ z{qgB#KYl4rYk1b?!Bx-GwWP>eCSowsGCMzwFyNm4_9y9gM?AoOH1tBMOQvwp~|OnE;_lJ|MkJ9s$RQg336Uh+^AR%nJN6{j&)1L@l- zHUWX8xL?_4o>UGF4g*5_xXxjqc_I=y+k1}cu}?2w-}Kp3unc_Cv5X5Q4L)n8x=d+p zxw8QhUF?y2r4Qc{B7}DDI@@KwRu{9>i~6_(r5on$0OQ=M4m z!g?TUJ;TxVFAm4`HWFZ)(=}Aj^j{2RNLYAISKCZ^$-me}8Vli5!EUlB&^H|eyxyMm zZ_4$=Umd&}fSRXz0aCP>c#qA&jkUf-2T`t7q*(=ku!ZCEpkLo3`OF9PPj(ijC?0j@ z$R)3I+%(5cJn);ojQ#(OqKVa?LI9${zn>!Dac~kv+d|4?c@c0ADW4K@dBej_!Cn9J zz?H;ITb!y||N1Wc6aW7D!~}E59v6`fviq}W8UsDk)J=8&=OLaohI$_y{D{}u*l>|` zOCeWc)gL4Lx&3_U(X)R&=hiI>i#;d+_@L-BHVLN>eHNwNDf$lu&XP{@3VA>af8-q_ z#@f9p$G(&(99URmS;{z1R z%GAVOqAWuHb9IGY-f4UsV$S`BCowYnSH1^DLBdXTv_2_kLst&-*aB zG1K7svzGmPMBwKzqC)|jR|lle7N4jMo(Ov?J<0-2r{{NxjDl>j~2nTJdZYT9{P-)KM-s0 z&`sntsjtSm#Tj?FPMg4{let|?@LQQxr(S@@Fs@qA;}-W~JnPr@{@O1>AC~CWaf(g* zt9Tubfv(AXhDQBxxZK1_ttdLsP*XWgxL^f8;4uj+COslGqsV+5^LDGGO#EN~L!7#F zlbG+5-ys?NsY1C^p}$}fUS1cA?L7wxjH93ULl+nOtwL`-LEgKUn7ds-5PO?U@Ce7o z_23r0>=$rlc;>6fkt2QLU*8dfRCnq=HJ^wb#r)QM9rSUl3n zfIp$^Vh2GliVGZm8HF)?dCd?+@3$cWh#FR-&{pZjNUR?wS8si*J02Li_wWP+Y>JPyLW>-A`|4?az$3~ z{j}BgK3lT?6JjnKwN~RkLweboUxOkuK27=G?zAqoe9I}b1AWrD_!hBnFB*}zfPDUP z2Pz~7KBWJ7?Rz2y`7m<6{uM1^aC5M0FYcuwN{lz?U-IvDv$Ue#JPE~t1u{s&vfm*V za9dG3+~9+;%Rj#fB!J}ATn$slyC8Ns*^AxoxNDuII!CoX1NcCHu+6Ywfv9`1z*ka~%A0f)Uf6Ikv9{hsu9q)g&bj|dk&2-o;>|Ya zx~)(5zux`oGSXh`<;yCmTk3>`NuPTOy|A&$Yv++}Z+{~#PaypSUf2jCFYL%@u;(~l z*z-9 zr?F(PK(4!KZ6n|#^C^D*5oo1uY?M`&^hPV|zIOJJ(K2-I}V~|6EgZoXC}M z*zn}$o?}J}H40$fXX_*32ct+6z`*hlLGwt)NLN(0%s3#vdNC_&AbfOsQ1)>hZxK-( z+bZxOfeRXO~s;np?h&Lawk=lVPy_Cv>ptWCSlxB8>F z(d5+o!JBMqYI5BY%B{ndbg)W$YseC~K333TK-K4j`u0sLmH~G4PGIPMMva%W4Ty?M zG7#=xhn+CmCC>ak&mnA6jQue;HG=}y4)CRz+)g)hiFu5;g2fcktq*0jyZIJB3Ik&p z2IQsd_kU<@E4~j42|3!^!^SH<+UqGvU{*`_It}UNc^}%K+TxRmN@W@;(kj6wW&%P) zY|~e<{gn6pDRb_-?P?kxfV<4Oqs%VP26!!oe~yp4ju*d#m;v+$4^&8HNM)2?-AJ}p zc5CvuFP*@4K4p~xDBXgCVX!`VHDD?>F%R85|j3r)R#w}{6T1C3a8?~Y&RpD@ZZd5QE0h_w`28;RH%d!CbcligX$0nX2`^s}yO{@*XkSeE&X& zh0P>n)Nv8^P_d=-K~$=)+sjrCm{tplJqQ|#mJ1Ip$Q&M?Z$6+a3> z&LV@a9iY-drXLEdWEmKQp0+F0ngxbEK3(D(;5ME%>X6Oar>C3A*`yRc^VwXmy`sN(a2oF>h=GzV)&7m(s>FVOOjQp9#*pwen|zGd%3=dE_$4#qCaG1-^n( zWeGC)b>cQ|NS&Ez&M_w64)kY<;wJ`og{p@qkS~r7Jt`wfJX$y;xKkB>CeF9IeTmGD+BWBl)e!H5lqE&9()pm!C2z`?JCA{KdL-0Y!Cf{ak_@jpw!<$|582C3ICKB|Eu& zhQ9{=$_;S*Q+&KS0_c;O`&pUMpFFSnzs=md{oCdUl$$Dq}BC~SSK9Wau{@Jb@ zC#vlsadFq)Wi-s!#otzjsEL`BGa{WJ=iY*Op2x?Ne3K;Xx-qn`@Is1MQZk;IEC+5( z9Znqo0LmN@W%Ja)KxA=v_EY-Ve4PeLi8b$Y!w?9x-n38E*@q8w=EyjofanQwZywRRQ5x7)TS=9`E zOFF|iKe;>(LdoCf8c8`hR~-wMEv9T*Lav4FLWPRT=8=-d&0LHa6`buJm#rZEYOMdO z9sYbh78~n?QZHjLhY~(0%TvnMZ(m+s1~jv6y*<!in#oN4CTMjy_Y&dXUDghGnZJ*ZCt!jBhEJ2x_Zs=MX7Rw%mB$at z600>9a7YTVusS6?HR@Yhe9w<4)Tx1#s$71Sv^pvgN@B#0XYBDSoNqM?!1uTQ1+03M zdHoxd0Irn{M=G=*^Sew7iumyLT=ZGZTJi^=TjV(D}r zvs~<_&%g4B1$5VT$0NgPe@q0B@BEgVP3wt#=kf)jy2dg=n@iyU2#kls3p=>i^(KD4 zVE+7 z^beP{{-cfV>xCK>#4MzvC37f*$R+N1J4GC_?zM^!i9krU@97exTUPW_M8>o3<}NtO z?P!u7Xu?pfYOxB_B3-uylcTq|OyZX&ygB_T4N9G`*S{a1yR8gP0+IhM%?ZffmAubg ze=SefaF{~8q(28DwGqfdeQ6>enjAyv)?VcfNecN0rFOU-ZSbp>T*0{p1D3o%6_-om zRueM%dx;?awnvBK%y|qDHtlZ%1KXF!nA-JD1G27U+~#*ZZx(84dt>pRR1@1Ry(u{f zUHzXwdXlK8i`3R5(rb+}pCfJn^bYjRpGAv;oXl4PDME=^QnIp*Rj%6(M?tqnLn2^( zx(o(zrxSdUZ)+n^MZI!(0{gXclLzb7z7YNcFKkJ6vM@}%Ps%NlZ|SgK)Hg89h$EWi@MgxR$so74a)iIOBVoIzIUj^EGjL7j8X!KX4H2ts7lFhHLfNIYf}QZK{FE9dU+cb_{hZmzgFa} z3Q?@aU)KaLLwxX(-sFV^X8#Wit=tQ6aAF)?xK#j$8rc;Fk5mg$GB;qbg9}7R9mt5 zxlkQQ;YzFV^p79!Ub10|tE3~GxcHZmJ8qHy?4-i{(U(HTKj{KMytxOJPpPl4zzZ-X5e{d*|3DgE_8UQtKAB&Be7>dNaX03^zO1% z@z7-|E*8kB+dhL&bGF4bMaZQREV-fodhcaZ`Ktvb%Wm%O_bCM6Euj_@rDXs&{y+)l z5Hs_Ni(CIdO&5U4l4th(_V!$@Lxr$s#A-!$!f*}Y4e!&IeiQuQf-_SH*69vKCad zfWAnj8Ge12t67zrlb?yA4lhs8^$72H4@=e&aG;68{@HL`>yx0cmd~hN`@UZE5faru zMn#tp0~heZZolW*XiODPKg4aJhXqARYd?w*Ls@RS(eUf- zsAimWfO+Lpg|yOaOBfr67sGQn8(b(f8(g&dlAHl3{5%k^D?KOO38<_+zsb&y@~~Y1 zK-Z1(DIVOb>CC8L&GjFf=05Qs>|dshWDyeC$$flwxuGF(vnr(s4&zQnO|B1yhJ-Y< zt{9kV1=@A_FqHG}kn!HwBMzE0rQ}`ckCM5q^<(_ z&MJeqwx?a62*-|vgg0e~NV747I{|9C!gb_AN_YS3_gOTGedzFd7u_y2?41;V_Vv!| zedT#IeKJZCGxdjLd~C`wADf9R4y~UyXJe1rJ48Tq4ZWC1Ko^nnc+*N;S@TVA3ld;kB_{$ zm@3SN3=ckLMLuNvnT0E4E%7SNAbaR>;IKsmr}xWRv9WwGYCKl+ukGM#7BDqsoRq_w2Z9K#A6cc2J=WujbO%#09 z5<8yjc&Se;PD~UCff{PnWsqjr`!RS8l7AaJSm+Fzk(B;{6af4+`;iyxh{ zy8a=G7Trq3oq0toCerED?`%09U^A|>u&l3)^k-quB1>luF>{!{dtrCQgzBh!U4*;u z$IB%Wx*V(+@fECoAWRc`E(?N4H%Imqj1}2AUk7<;sXvdQAMP$#$wPH3P$!9>ifhhs zw{_;Eg)9;nGd(z)YSf_RlVBRontj@9G8D>1mb4NHbtWqN0J&97ZUDT{;iIwUoB$X&}-` zY`2KKQPozSUl}6eE=$I&HTvF<6rhl(m^j)LB#kS%R{{p`8mq%gC(53KpC35U2xRFt zVJPE;9=35|m&BM5sNPu(=bL3wf0p|)C<3%#l*v=alCcDxX0L2Ofp@JuPnX75-M@;M zX3QgN<2l{jlmw{KseFZ${|*gt_k88NX4@H;%L2@Rpj;U?WX`86UG6yyDjue%o=1>`sx{#VqpFr2O-ez*tqxj%+k%~tpHEGZc9?PBdfKy`+Ovn8W4l)G3^r}KI5&-_na z9OjeaUZu2%tY4V)sD5@0D#UE+dpzykQpceKayd2;hbPUel)(89@hvKul3F$a)khD!j{^Vt3j+bh(plHgDy zhT}YwV#d0Oj4luvBWY^1_{Y#sqh?_OVTQ#6So>JhI*y+of#xEas=d($sEfod{0vZ zmqLu-yBNGDkiJpYQoKXJ93s=`d&EJB3+AmKUj+(sfcm2J?bCAy44YTt*4@!`J?Ssa zh?Cpp6)iyORHl5e_mBU{axmEFH>{BgdLQ76xw$KV;4r?~(;Eb~lv2Q@q@@Sb-5F%I zCw7a>QY~_Go8#%zPL9?N(+$ski8J@0jU>!RcLOB|<;oqGd%Juu;A#>a5nJ!Qv!1Dy z|3*4hv~iK?pcLsg=6v7YVNUjnne{Be*HXx1Pu?3W+qh;l=Xfzb(B0(($~Cn~_l~j> zJlDRIF((LRcush?PmGbPPuoJ3&sN*q>mu_yoKHYphf}BSN_P~7u0u)3rU_}qwwNrp zsj+Pemv&+0-$0J$Axps6FiSpVHpe~H;|^2dqkLfiMF&~HV3q`h&?{$lW2(Q>S8I4~ z-zVrwndSE-XBEf;mOl!=<`lK{hB$~kTps@!s+g;$jNr&z8-}zW<^Y zdHV`>E;*)@Ar5W-{8HKrd*KlIHSx`M7gK_N6l?SqdK#IARL?K*YtEc_ZR3rjH{ zNHzK^AhHN00RiH(yNbveJzVEAJp5d@@$No(g~HXCn&X7gG&W#FV%@O|c^~(oN))LV zd*&HjJ{M{>)6L?OxyAw|L)1yphsPO5&>Z>uIJhjG18vKFaJqeKHtHbn5RCh&>y!Kb zd~;rWfG#L|_AVI^{=k)ZmUN|bHxp{@bYKxbQaqoxa^|nIx%h==r0w(TB_<(+WT&!A zRaC_z+&beA=0> z-q;L>kEDVWWe*-1P-eRDX$FvY0qcp>^=~C5wy+k9Xm5$Y_=7e)DJyGsw41I00e`DM zN4N3LQVA=_b>IK7uuyQY8Xa6obF=+1z3`6*|6}_fkdcv5Q6b0=*nKW<7e+d(%7H4n ze|VVvyj?sr1DF^9M4)_bk0tlWombOhe~<_$W`^zEl@A_khc`w4*&k@>jAM2UC9xUJ z*y($VcOA_e$aLgENeSlx4dOWo=4r`Dc=x!M4lBp5YU^9kG%rrsvc#WNR@c`B>5ISY z6#UkI*gQ-fS`i3m@=L``5p>P2NPr@*vJ-SOLqSce&uFmrs2m(w8P4|PegLMu5OxMf zKz9OTp8?u6FZs4Q;%0 z$ORunIjC|2HOVk%rOYMh^4JY9ZU48}$aXL}|f));UwQ*8On))o{ zj~Qt^UD=9f;C_NXI{9jiAq820-F||z2`}0KYT^H7n+<}3Lqd4Dyu$WKs~U!AeoEq< zK%yBEqF) zoF|;V{81nL>6m#rs_Z|Bo{T7S+g(J%#M_Cil!NA9-crX4Elgr$H111c74qUiq?^S7 zfk}PBFoXw^e-hcvSiTdeV7);sBGPiYpMbnD+-^y~0OWi@&nEjzlVLjswoBXROd;&d zC3RBZHXB05Oz(J~c|HAfLUscLvJBf(fnO@k&~t0JH(5`ludLBJwPq&_K5n6WZzQJ= z2McSygm!Iw8)eoXx2SV4*}Jk5F9f1E$9;A;oFraV?f(B=wqC zEeEpq$$7VCFTFEga?`DEOKc)pv`Iz3et1}JJ$d$kwu3ybuo+{Wc@u_yqrxkzaTgd- z1@ct*`r=*>6x=7zVEp(&HKbT%VvG$>+tGZ5C23>tS}03{Gr1a@O9nLkYtRHo zj}0Mf#AC?b-1<+O$PYJdcpcLj`}}$uz+^HVm3%9C2@}~;r!`XU4-9fiiIysi9XQW2 zRX+;w$WA1Im}py;anACrMWjDR4PXiO);W&%;ZkJ^!8ePytWAHvK~THDhSm?2ne-gP zU@(-t4#cGs4O8ANI|xC|;x*fteI{8zs;nsf&9oj}jwWVEd@9$1JE{*HSIC3M2#533 zEB@2fy}d%fK)*z*Mm|Oo8e1%N_ltnK@tC+MD^O+d9cAy638{f81E|G}EWlkFp#+u;B?p;bh5#Depk-w+ub)IAu7Nz8F|6xZ-5%x$2p`y5UFnXcZXm4I(~oo{YING8+9K7WVLHl9w5#LACWTHvUb z|Fhj-BDy?4)rsrO6mZA(bdUHjLC#~p&lS1|Orl{Z<9dMgLO8A5n4q+=9<@HDjP*XY z%CH*|j>!_h9tVeU^JY#<<@Y6as$}W#pp{o2mT&rdoKyqjor&TF%PLDA;BO?#jCS{9 zOLy9Z0wv!Y8l@rBmXye2rP%CsIw^b58RZD!ddQ+~pthszblF;bgZc8jq_Zrz!|x<{ zjU4_v$t$kym;bZ*2Pqn~fAN7bpi=_)14aOp!X6QtK_nP-(yG|$Ph5a0BRuVa3u*h$9gc3J(XF+9 zQ~1Br9aLW#*~YjJ_L)*K%dFPhH6$*bD=V*>QG+M~Jfik5C;}3nqYYwE;&JoeN0<;{ zG=G09qqG#s=Qn3XdvsElyiZT zm0fNz>=BN7*8BGp;(pL)rBBdf0h5<&A~3Ww(kwS-MWnC5%VD01g=pf+_w>i z=NT;7BG+Eb@gITEE07PEB19_O)a@oBJhDFky&+%4syC$}mP%~k*J8Vj(x=1yeK3}~ zeLY!m1(H8+LRUApZ)hSIK^AB9lBI@N z2CQL*8hW@fRcG53sIm`^2HYP8b!Glqg-u9Yulyzq0*gLSaCe}g;r#AR+z))H+ibs( zqu5oPeXs{LUnD2^uzon+P#Srbl&-O@W!Lnobw8LP1X`!bxM7{FR){fXXrEbXE`mewDPWki9YUaw9V|UV{?XY&HLd8gM3_Zfkhn zG9UKg8tS8=f({|*uJqp6Ibe9Gl!@hgsK2d}CsEM1vck0niBU1o&8s%em##V;eT!&a z3WH^CKMSdY8O6S0Y!FB`f}zLkbhVEUJGHj)MNf@UZ^o6{duNTQ4HfI;HMof-T9b8I zi>rsrntCMZP>bErBRN<*IGVxfv@!@BqUNr-pPOQXUR$~X=L;B}+*1mr@pL=M_c$ag zJvLE)^_PX>bv|NY4T!n`COd=CBDY_}`w8Vz{lNr1`6084W?(sJ@WLKf!Kk4JnkQ1z z3p<_r`VT(8mP;Vk4Nw2>jlGW%@JJBtO&DeYea(2YHwOd(X1gTho+>STMCkt*4qo@A zG*nuSkpXWfyH<7E`v<>L4)hZGRBF+@tFN)(nN~6zZVtW{Rnu{e7+4XJU>$+Q2eq;yVWLl54q1 z4-BZ9ZLgJx*%@?VbwTLvK$VEean?leZN2L}YI;fQq*?2-5xZaU%eV{iD21};mJ)%O z+;8+()I^)7tzR`fu&Jm-r+!E$&Ws`)P{&^9J$K7Jn3JrTJc+-W);_+z62V z{5qE#81^_x8dT+E{}CF~*whRci@@L#IH^i+-t91oQKx?6cUQ&X>QTsCe-!N>aGq$A z%KgVr&IFHOPC&pwCX6H)!B-nbrAqRjv7bQlx|6sF>;AP#|Mud@;{8l9*7t}-l=)n` z=*<=04CV#0A{7;fz)(?X!0R!ROe+gCK&Sga)@krMWeB+k8Y8oIt)y7neK}s*#IDSE z@^i?VyWP|hAuKQ>xykBgC6C0_Ra_IV!8WDWZ=klO_v)4aJjv~UE$4xCB_cd zbau0z`0X)#R_yi41e^8k_dEnT)4)Wt3ZG~yD0sUS#aW7~+FMz-F;ll_%m0yJ2O^4l z__#Q>%szlDG)J79e2}U=Yjs-4VXD%7Q~(6MA(WonVY<4>>t|jKal&SNo8WMy?E*Al zoIWA+N3`yb1L(mRv)2|D5%HMNM~}Bt1R`F~ZNc>aa`odz{#P*eQ+QdT)3EuwE330J z1)dmqKWP_4Xt-BMduf(DE9g?@+pAjDtXz`z$C&L*9#eH1QV0mf! zxl4*S$0AhpysKgaOn{LE3@MeecVolsqCW9E_J1sU^9MC79mgb>@@me0FXI4Blo2ST z-V1vTKRRXqsEMQX6)WbX9y4WF@nW~P5#95~_D&>wWHLBcD71$CvZmC&Z$pRnrmhMC zv;9xpu6(Jo%eyyc$Xc9MDcc_$U0;C7T9!ipQS)v`GCB^1^U7cuh%b=ly_%*Rl^%zh za>>=!BRRt8CBP@a6nVY%Ql~Rlk$SS?kNHf!4iMsVxkI3Zcay#WM?Kd7Y&t+XRlvD; z=usqvAR-YQEmQmaA|0rpSo@?YD`0>)xTKN~5dv--X{>vRYv8c)_|H;L5d*L zd}!{cHdBr2{|J&qH9(Mb@-H+#+*E+{fXh#-&b>~9QK8@cZ8^Rb$7#|%@~93W>bD25 z%X$w-J&pnYL202@4Xo!y2G06WW{IKwt3nTGplyid#NRsYTK=HhgqLV`iKW45Rs_Xd z#&>?_R5e}qmwWqSClJf_cAb%9wjb)iR}b8%z_HkuYX$7Q6267acF0BGO3jtab7qW6 zVgcH-Vf_PgZnp>}^@TN?@xKD+v6U0{Le=j1aF4T<6gv(eJ8Q%+*MQ&T%6AvUc+ofb=@VcnJHpeXMhud{!X zEb^dX4~VHFWhw`$w)~fa5vR-eDwmAqQIl-b!4pgPo3E*hv!#O+~tw;XV)5 zaw@S73&0UPz<^S6YS%)CjAI^3aHxt91ib!&>inpfv+_2%DN|N>J5IX-2EjpO9YX_5 z@=anz-72DUnQ>>}fdyvU9ydzZ&Dbz>C_h-dESY{#&xhXxbPYd0bUdmEB&D1dL(9HA zqTTfEaH*MJsEfv=@y0cYki+CnO5<6&XxM|LT%|HyqT zfSyey;1pkNWJtIo4~`RrZ@pKsn`=hX@c15KC%iBFQbL7zFB`AKGILJ~C>v_U+H@Sd zB*K)rXr6!|`!7G)LojO`sW#uXeh4(wAv`ZA596V26 z9qpb;IUXpVAL(RBco%X=)hkRXEGaU3;rEkTK`{vgKD%A%G6rMCro=qQc6|^KLpRzW z%~55>cZY>GiQI*WWLrUJk7U&zX=$U??fzT@({LJwTLj_(uvV;v*F@+hj?qAFo1aS4 z4U#33qygU9@%?%`*<45~U*aC-o%7r%G+?E%&jdBa>(96>F6gy3)1+^I#X*z>(?Jb!SI(Hj0Hh*QQ_ppji#X)C)!rAH{W26JE?HycCvMFrf>Hm&CIg4@O1wr?1AdJ=y=?DsSa}%L?zDhKm zWv(-oW6b%JvLo&RewL%zh6@KiMCZWt>0JAz-AO@&G6fsXKjvO|L5@tq7BN&QHWf1} zO3+-gq7_gjL7=%EwV{(`0MW89o>j1KQ`cj)3e4J+^OSU?f?t^-bt$`ktO1eaSE!3K z^*?&#@@V1RtBM7Hsw(uUg=ld~E-+`?gy0NH%7{!L!_xp`c&r{Pc23eBKq@;O|JOAElYlAL4!&GX|eR*yn-_(3RhS(%E2GrvHG~!{}yR4 z#lEjZaF59#%(1INc9nwIbGcOvlws3?4vS%p?)y5m_7%XVCg`-%NqDpQQO#iU!I+Gu z=L@X)%o4={9js8DsKLY~)owV-Oni*=y0|Z34-8K(JQ;A?K~|pOn|_dKMbzDA*<}d} zR6N8^6Xez#XBhq}sUyP;1=t5mc$P1%mt@J^ZPBV0LI@xw*fiB&YtwbWZw`9}4Ak9Oy0Jmf=6KLx3JXXA?WL0m#ekWNwRDVD6WwGFN*j_UqGPn^~H7@kFzRT9IZSzR1P5 z&i@3%0~@u!71%!m*OD@UchIqisuX*(YfpjM+ag=;w!F^OC;kPX4VWQVl7@z{y;|QA zuT3jjtKy9jPcPSa?HLmW^2UdY=|<5=oD!OVVhJD(WZLeJQjwMvf0ml=s^sy+jRu@K zMDeKITo;^ku0gx=x{N(zWb#ylTg67Xd2i+6%gkIf1rIRbep(Xf|4)0coGfSMkp{IO zNun&FE01ntx{@@LaN=78I3PAc;=;3-A@Sg%1?!|*##Ls4!Xko4AaJPa-qLW@x00Zq zf0cvHt>D`CIkV99qQ3m3%FUC}3dyHvsm-(BUo54&1{CPY!3tWQW z$luuKR>utlgRyj|LQS4B^dqcTyDsWX%IRQLF;mRTyP~}1?mIfgh82 z)(3l&;ckK0apo3DKv%uGWJ|IiDSq?j4H&7rUAQ%7XjT^BPy?x*QMd7F_z_@C%{%`O zZQlXcbKAE6D>5oF5-Ad*l%}Fhl$AnBnnaQIPFqG=5@`>sLMo-b(-1{knko(2(%$`# zZ{d!c=Y9UG&*yzV&&^N2@3^k>JkH}h&f|Jn2z^fZ{N+7zi;9yB)ZMh!KP=A4co-_~ zsWDE+xDGR>k-GHerOp_(J$&ZIddUVm>jRfWY~)1K20vJ%tg&ozZbB8RnmTmaLujxY zMd-SZ{8%*4L|mE!+7_>da-Gt?J+yLU1q=E^s;l&TpJ2@-sCv{Z-!b$sQy|hx5Tf7ce-d0mUyZhRPrS@8h*liyg zf{umAuV?aId&x_7k5Y>1x_BR-?o2z_6bPH!xOTXIed|ScpZ`2a=8-Y2!B|4#AGc96 zys^57Hk4`6L`M04C?~ch4Btzi=Wz8sQ$hsZ@_X$LW@# zMM1)q4Go!lotD1!=VynzMaCj zlaX-xu3gEwHb%GG7^x>c2soc z1PRl0l&!m?dSAGrI+Y-FtHL2e$r=_A(66hCILY<2Nj23R!^0S4W@T-I-2jLE^wcD3 z?0pPaUqj!%30~^ktk;lf-_X!7?ZjjUD~)Y>T~#qxG}jB8>*D_J$l18aij8ijkNz^> zZ(mBZ|GVH5h<4j2%J!^(0M!`Ud~4_u_GKP^2(qCWVzuWDd#&zaYK`-$L8j=wV=`P* z+f))gBhbD6a+CX5Bm~VDcxxb3g_w_nMODeXr!ExLe}NB|eRb?ADYrEt9n&kdQgGAX z>Et^g{SIB6xns$5Vy59j);>h49;YQN9Wa@r7=!t6$$k5drhK+w!pwFj2Iw(FN+czW zgTKgy_X zjeglHv0k(pL%V_aztv1z+1Q*%X%{bE>=882fqMRbLAS?1+N+Xm%(7)m>;Ue|B%}!i zLs7uauUOMBGz(#*#D563C`&?n)y*dmKaL$c21llyHk7y8|Hny3#&2wRHYe`wz6@5_ zZ^g`lmp<0G?*aR_qliP9=u_2%l6X~{l&sx)8wF@z-;@=aFXBB z|7pN8Z+S=)#v-1;tq7J0KvOEPP`Pz$84>}!onGh?Mm3seqvK9vLghJ(ivVp3L&WV3 z4SQh}bX%_e;o=bTa~o-e2Io;b^6u_?m5_?*OJnAemwSmZ;BOS(EIr>RG+VsID99c6 zJ-L*DnW;nVut5g&SV@@}2J~ zdH7}UEVX0cwhl8;CEBSE7cQf_zIfyM(?tU${l2oav~U{-%ri{_WbeyO!+gk!wqa+m-irODCko4h*B=uaT!T8FMS5ttzHJ z#LoW^YyFG!UrR%E23|=l)fw%J2YM=-8MNL&n^)=~F2mw|+W<`LPDCTx5J zKK+WP715bfPd_enV7UZK21P~10|omQy;*b2{-IiU_l@=Qq!`cHzV$nM@m3T9WK-_J zu^eWfTd$8wM~a+r98xUcac3ANW+3BEba8Ij&~{C+;}|c!eD_9CTgrU2dg2a}NW_vfOV|R5f50NvPE}(LhGIARjW}BVV{p&}l2?vAJZ0?0w8&7kSpLeipRl1i> zS{Rh=c<&hFJXjxP>2nv6JzuoOEsOr1dNSPwuB<)hpKrK8`-&K4f6hQ{LgFA_u*q;i z+sP=38Y;v0^c;)U=JAv^gl7dvkPNN=@{bSL&oPn9;`uL~=Wb1jQPk6tJJen|v(!N{ z>-7A0q{%n&yRFHV3SFVt^Kh5c*f{M-Av-Babj@dy;(ThUM(X#`DpYZ+8}IQcF5BU9 zmN2!eT5?^GL`QaI`L1~b?3Lu*6ua7}>E^pPts%U1%>VM67l7_|_;}iP-s$DsYcBKc z&NSZsUd`dkyVHB#v)=UlFD~mJ4}hCwb8h`l{&`tTMo|OpPgxC{mk;%uiGNw=i8t9B zwv1G_o_OGn=eSE>))%J3Qo(Cz%Vm>W1MIkvU#@4WkCLQML)_^e-Zg%*CC|^~?1_?v zGf|`5xy`rjC^#1V^RkGi-?e~PLL2Daio)+nPKj1J^^l86N^NXEndSJ$^>8~IV0)L_ zBXu$=$DiwM&SE;SU=v2axqthnUzf!ne+RKt>dsLwKgI=kCBV5b46;`7t+_^4srV&ei%Y5u~6I&w$mg>1ay`Rfb) zG~=;oA^BBKCEco`AwOQHvaK09%{2LhJoxT)Rz|Bo*yjv>o|;K)A{e$!^Fk2qrY6T< z1j4otHKZmHf`_^fGpMnNUCX#STyI@mTPuuPF&)8Ou(h_8JjBhhD<|jzL7RWAe@p3= zHRGm4N@7v+*(g|jSa|i!%jnGcFk}_tXgOGMQo9lXPCFGbD=z(F#kLwT^Df`$Xajr` zS~q35n4?zb&OPe2U_vrjLP_}szJ0~PqJ9TIY4)>SWf|zMt;8iDGwIdDCBxwa<7AXI zYjzo)#%wFB5$#$EmcLzf@m3ub@x3bRA`gFmS%)|4jGu^5D2YNM`Iupw3fC*lo+p`g z(uI~~LaKMe)fJ4PO^BE+YwCYw67*`Vs%Xt-?d?@m7;81> z*FW^jJ}|Zl(fel*{}G4%Zq|h(Q@?sRo!Q%mcSkGB$bXSG)CNP>01VM5BIxvF{dXK} zlM58L7sI+4?f(L6%pT19pE`#BT<*Pll+EPy=|(&PV)O9{z;SXd|3w(=w8IGxkasZ^ zRdeNrSx>^oW3yYkZW-EbUL2=x^V$qmpBHJJ80~K@^cjwwWPM1yu9DEhtMAM1fx2`D z9G|?7!ygA`W5nAd*TnYY(}RE6i_FEmm-<=&*Nzg&@L;p_*#Er>)N}^7#IS4eG9~oU-$K0BY8~z6!mO~v80``TO;kv zMWoh0N5fy@E=C%2etS9pWLN}z z-jD~tgI83TQeZkn@BE(vZ$DezVtnTMub&|T>n|y!r#{`<%X*K+qx6G~jGHGZ6_@>! zC=t#6alC1qNsYv2z|ViOi6vH(0VP>h_h0Y?o(ttf>#FZr><_TvpC|HfFf%8){BI(a z|K_r0Z;tr?Gr;D@fBpxvTM2*-OSwhgv+N)6MEh5{My}`|8Q~AGVeyO~4g&b}NHb0M z&6bt|S^?dvUTl~tSibsGqkep$%P3@e;6*3GR{xjc5cH@KR8ZqEc^{~@^kbZiF>X5q zP<{W1*^TL`aoGSb0fO>CeAJfXbCK7%&S?Prk7W-p)cfWkWTu2|)W|D&9XFxH@lOQ! zRg>+fGhWCtGgquVu_8p4x1Jr`3rXjw|BdZA+ zXHs?dIf0YV;jxK*4=a_M6o5niRZS|sLG9E!alS2AtK1!{@lj5367yHXnJ zMwY|g&lDnSP|UGTHhYL`g;Fe7K*xI2K~HX@_(S@(+X4pl&yK{0zz`PZHu3@f0*Hj@ zqgd%(l=8gz_NWO`rhRYr!kTsYfnv5on4QwCm3C*@y!mKiNmv*=Jj&jQU0beoare!% z`D^8X4l2U@cZ(H~k?0rv0khfR)sl#_iqDig`DZw7*j*tmos`lBGV)0e&q0|z| zV^vWIh&y#YJi{1y+$4rN>XJ>+7QfkT1#pif3SC>^@uE$He9|<888He* zd^ZI6m%y|y0RoJga_Y?${%j|nmV=jlc;qf-D2mE`QS{DS>{Yk}y}wnCi{&LQcJZGt z_LAIzn~Z{3KPO?*iNOzoGHJ!8-f2(|2am(1rg7U0Vjr+Vd=a<6ns9^Dtu7a*ySL9w z@b&SKjoY?$K*)KI3K_o!8X(0ckm9{4HPI%AX>d%OYh*sUCd=2af5%IB5~Cavx5w0b zp^vaxhdlBfYN}XuFO^jDNDMnst>(n!)kRdVT1CEloME*#3`gCu_VCQfp<36~T+lO) z*@w%@K=046?m%K0vOR3`pnLY@bS@oa(P@K`RgzKjg|o=7#p3Vq5`YzI;fjdDwCq!w zz|~4`-6j>rGjA8sgxB7ui$3;nL6D^4>z7uIV%JjgE!S(j@nVzTa<>d_r$Eh5Z7H9+ z(};~Y&?}GeUA(9mlD+7&9Eaj_2k!yI|N0DD>)7_vtNfexnW(>hx>hmSIMgrWzHE8< z{VCel0xz_I0Cj6cZl767Dmd_mZ964)?J5AvBoJksr9iWsh-Ggh>U1tx5$cs`R23J? zPT#zO9QwZ0RY1yPeGuFr;J+aqEHVmc;II2SA45|M?xw-05g8P=5ZkeDu+@pThJB!@ zScTn%KH%h=3I4EyyJJAV&sj8;#WHM3;=2 z6K;XA=LGGiL{?!@L=_YiV68@E^4<#Ui=6*PI`KWyUT?4A8|hV{Tz*Wqb*I5Z**D^?g|MdOu2%3F5uj$VVq4J9hw##f@7I zB-p|;&qI7F2`jX|zW&5hd1rU`6JK`pvDuBaZ=D*qkvtY`*|b&M*sS zJ$jGS&vt?BK!mB%!!5OTL*f_9SyP@vb~AB@JV+Dv*1D}l2DiK$x>l{2U>JEhD5y+b zRujxZdHA!_=2{ifn`vyCh?TG??1lqwaGz{|KqMfmNIC#BoH!54jNZNax#qa&>ivp* zw{xDbK}T}+ZlLZ_n!W~G-G+=HtCtu_wu|4BSln|V_r`KqYHM<_9GrQ0RD91ptlD;W z$WLfOC}=tg&*mbpEl=o|jE!rwKU+{Vu;k1}u06&s0BJjQt8VFi_s`oMc2+P%1IVeQ zqy%LFY@+Hir>6=_fr5^t4%kmU1Tl+hs4QD+&ysX^SHzz}=^ zmgu>2E#V<{H6Ubz@59}5VmmdQt06Eiz_y=9P7dwLE<^#aXcSMeuZ5Kb`^96AA~awl zY!2vUv$3%mv5>mT(!ck%p12DvnO%iiK@UYM#%zrA(+<$T>|JJ4iHL-^bvLj{?n2b| z3KJvjR>8ng+Sd;b$p}1N2;6v540#VE8AibpE|fH3;IQlFwi9FGLp>rH*RAa*c1c`p z&|Y!aao>u=dWmsOr3QDCA}>bNC`C1Sdta>C7Ii%S#Me;Hc=-rzHt}Pj@)qOARqijU zJg&TbacPzRM)~)F4PQKy#Vm^auDS_s4dMGTIFWPq-FdO|TJO>tLf+Zbi~7mIxSOLe zxW{@&;F;m2ed!CD+{bvUVdxpp^{CERCpnOQ-f(efe4$X@c9WdAWBSZKsyF5@J1?tD zSU)=0gsTL->{VIpK9t#$Cx5gd2`nkkC8z~*VJx2etgFVoVdE+g%B-JVQZfWTutCzx zk&uSRjg5W7r{d{}m3&3tnqP?zyx$w^VMBT47O*QFodCf2LMEH{cSVKWot-^Ji{S?B z>3PO7_Mvr<2F%PsNO`Z5kdTNIx|Y#%Iz@Bz_%54~=T(L1fJCKFU?JtIDDAk&g<+d= z7{FIwYRtNhgI9KqG$oVQ6%ZY8?=QC;MqAbRiD-k3yVn6+L8ZCp1D1iL@{4_Y>182+= zxsLbT4MmpEk2Soj(C8^Im;cs>H?U5~beVNYrf9fO9#W(lux>z&{CCUF_pfz4MO7rF2cRkG=i7P5cnpmp>e z2az%#z>7;wgq8I`*MX@?iQ~sh(}(NX>(yXP%Ja~=$$4u_G5rPOr*e>1S8f}Ci30geKCs!*9Ej^Y}~Zzqy3_sfg<0Gk7f^LJj)K6`vonu4U(|W-=X0@ zS#{RKxtQgq$mY#02*#E64-iG2lgGfCO3yCL7B%Wz26p+!8&aGJSJ^rw==l8FY9*QT z`B{@D+TAtu%g(o(8)Nqd=LDLUJUzi~>%L|CcEWUayz{ zc5UVN(;SjAxy#>dT5V0s)be>yD%s#vQ3qgwwr<7p@k0j>8ckmas~aBtXwmRCP*AS2 zHB-9SZM=5SSma?rv_`m&v9jO+*(%-rH5dQrbR`y;kd+}BM>g_=6aA@rhU#hO+N zR0MTD#2w3|$l<(w=T3zDla13>2VP(Ty{)YcOp!r#tYkyfm-aJD8wGgQd|KRc*MM2= z)`0~S%V~9NqGia^;k+9#wKQUTy-ojHB(=9y9V!}Dnb~eb%HavUFFE_pAymNlKRAYe zoXZ(>HQkC8FbORj8L=FWJ_#0BlKZ#c`dDrx0SN=><3knYVO-OAKy})s7cmhh)T;8j z3kwR`Fmc!J!>>|pzfTV4_CPZL6NtG3nWLSns7-b+rb6wc?4F5456KP4o&jO66v z=0-a$wQnC1N&c=rqUz0Bip@dVb!BMx+sBVtPlZ1|_2RPw**uvLF})NI5@G8(_BBZ=KtPX@ii&FK($7>gC$6LwO$kxRQj*!! zpay&J;DN^3vnHeDf4MM<%rx?msJOVet5>fM445{%1n~Uv5t0h{t_$8<^xG0#g73eS z&%KZ~`}EbVw@zkUv)r?ho_62SXSnVS#cMu0Z2Utsuspt~(ef{kmAESs>BG_QXTm(a zCo{_q$nOc7JqzaX%h{V_^fxhlR}b~v86eesg;dRR=fITaR&|gi z1g^9uP$ufLdnSFK!hp0s>ZVypEjMi$W=Xef=tW`cc?luTk!g0)~b) zGhf1IRanSnj5JZ5jrd3$4Dl{Arb6F5Xk{(NEVKc(^A)zfvE?TJF!xEuOmli4Al>vS zBc@_rnq2tv)<8?g z1DW7&*D43G`eZLsl=@{=rYZ*0lJ8RE%$X3M9xWzLj6r3b5uy@J%o3$pNI>XBzE$+3v5ppNz5 z-^+&1DlQ*|2gFiB8#gvZCf2Wr$Qb<`09$03aw{uaX{~2}ruKJMo2y`(mai#lo<`PD<+fRG@G0!AUL2^UZrw zRkXFWg=29@RNvPU6apULLukks_CDw0sQ5B}{h{XH1DX z3Q>?e-c!y8U-0~spsPkOTMdHv7VjflCu&xc<(eu9eD2%fgs3&T#t|zOxxi)d5ViyY z;!}RLbgOuD?=@a%$gqb^g0L~t6hCpM{P8i3JyMtM3} zdMA5Lo>Ivd;5DqPEA8vUrTvgw4o6A`<~)D?T&05+uAis&?YnBjR?oR*S|b4Orc?=r zRqR@QQH<|=r%p=?CmBqGUgrEL$TL|m_V#m6_4yD8XW}g%D$+4c$l8zHnb|)$8N)Al zV_DFfopxZpw=2cn;zFQnWPdD2dfsrDD}A%pT@8QRZ%vXp+juOt%Rjy~G-y}0I8$KL z-3oV{GeD>hVm*W-w-MvefJk>aRjp9p;8+k~%NJempPl0C9;GE*K;GZqo5y??H9a~n z4>XH>d7yz@Wok9t6I4c47c0Xo?$fR%iH=Pz>Zv%3_VIw8Z}F9CozRon4}UUt*0$j^ zbFqNa9E2ugbUFQO#6AbHrdK`b)=rZjhpofk7wBtuE=S9x?{k2G)c*b9;o&-5k|QW8 zw^Yjba_{M?8KCv+kl2O}8jrhHyD>S;dZ)waoYlPq=S59~=aFVzO#uuHJ7gc1`hsv@|spRRCP3 zuxcMiu2|WJ0;ReiSdpHdUT~d5;GKZ=2~#G1`U)J3Vm6ApqhL2IKH9989^Qo-2!u(2 z6wjUFP#I>iasr5|zk@yjK`9K78B2Oi+0vd`SpcK#)7Cx1M_cc-|{J_=(-v*Gf_0xeAPr;kgt9A zLA_`wCnu-%s=Bm?>nipHjXcVj37iH2UrQZmV{q5LGF<8zb$4^lbP{hk&sa+<>_S7T zMRcb?2Q4&epm#-nE8-K^Roa$)V}PxWhC>mV{G@`l_eGEx!a=fKmz-WtP~q8r zDw%eo;q%%mB780oIjgYi`I3-A+ZRgKSoY_Od_SeQ3tdxGOwje)H3Dx^GbC2fCs>8$ zLi?no-h_O*m8%r<3WpFmJ5Rz>$7C#(=I6qw6zVK?9^WqzxNiCREgKe>5+7h3i|N7r-&Ts6J2?OSB@eRW_^Gc*h7 zno}6k#MgYHDPV7qNZa5^O}UYkK!CT-*E4;7{rdIf+Y9zv8kL8>Hi(;dDV~k+Luo$@ z+kDUc>*+--4FTVb_>FIQdX`{TR(a~(4cV$BqqDdd$17KG=Eevl4ypF(FUPMepK|zZ z0TS?MeGX%f@N&u_OTZ?@)4|B9kHRE8{cF7bg^N4qEJrO9k1RR4v>jB@U7BC0=0;&D{H zW9mTd*22|6Ysit>K}(3u!P$d%(S+ardDG7BeOOGiGb>8=p$yrp*a#WooSm2;)Eh^w zM?X0+!S3wyXU>F}qu~b*9in_o$HZiy@0h z@JEqI(L`b95MHew-guDt=+$_kJb)fTXcCr<-3fW*Nc7H1HbM#qlF^&>*aK`V+!Sxd z=uPd+!`s4|@@ekyManQwAxL*@5;|WTyh;aW#)0a61%XWZK*oUcdp#y}tx5~EB98qUM4GHs3va884yp3=y~-edFzQ^82F?I$ zdaiEyiNfeASXA%~%l4}wIiMja9k?q7Q3jzP!@S%7Lng2)XsAV0R1wD>ULT1Lzi4>&u!xRvLWHU0WYBdFU%%0)xN&4k%IDhRF_`a&Ds-hz4GW{?o+SRL9uV2sk z0nNALX`1NJ;8?vNMPG6IjB&cS9K5d!NuRAk#LL-!-O~3p92(>5gCp${6wT0#iAg)1O&+=6{@`jZ$!72t z$bNkt5z#L8U(QDyz3+IT+(0~B=$aiB=tmboaX10A;h@SWhJ{*fT2==TD3?=VkyBGs zKT}H|!v-8^a^;eel=RczBTU^v>u_BsYWP^V!^NMp3$Zz{KJfx={xQV! z4O@=$RBQ{{0jMh()~*%Ot>P}*o`fhTq+*ipAw(g+_n%xg^N?>GjJ0&NY{n878)=-^ zEmM9p9G1Gz)6HCj*^Vcfnz=v&?0O9V&n6hmpB}FEfn-rH4dX7zMwDTnguZ;L>{N4e zGtPlz6#`62h2XSi8yg$j!2u@zi}HsK9XfaJT#uOx_8MGn_XIwG`q|%{PjquhJ;dTA zQ&^>h#Fru#mDpQTDo#A(rIjjQ5l;ZaF|gWs38v?KFk;OeiW@cxNqs|zTKqkLQAaftgPKeow_Pt_JJ3n!GQ~4zcPuqo>fL< zjb{~XX*p3FuNh)f=ITCq@+99(CeC_T|J#{6w{N?#ld_1ikJPAL&eo`?6!btgL`|$1Ec~_KNr>V%UUH(3k`_5~VsG7{3`9|# zRWEQXWOK~e+L`41aCmfYkmDQ_1OjiDw|L#5&#Qm@eNNuB|A&81Xqa{F+Yo?DPg6g2bcDCGg`DxT7ScPAzbQBSdY-??+=ur~)G!!8SU$czzL zbH?xAcirf7^4=o*q`O62-cFaKr1C-3#buU^bgEBpBabs^5Ieiohny|vF z0ck?DWXW9}=uCHB>O1$h-+UBLZ}P3dS3$MfIyTCis(F`#QaKxH?>hsctn>c!%T&d=+EF$#IT&cybA{-@B6Q!DpItBK) zSCG0ZqS4}2!8i%{C3bJk!84_g4kE37|pGl8>@Xvx+JnLf^l0j?sLyHefd%a=pZK8Eev)Z7e}BJ;S&aGePP4sZ99+7*qf zb?My-R@x^e{hqe(Nc?=RqbM|>Vn{UWRM0y$|1tK~*ivLMkL3I3Uf=fg^lZ*|A4e!h zt)Ll#gC=b!zP$<)HB%;^aBR(9RQTHkgUCm;!E+c81fPpYcod*W9Bpwlebnc-p#T>! zPuVlY{|Xf8l`B``TXS=Bp^pg*4fPwEPm-OxxcxFq%gQj7K}|vN333CD6HmPs9YK89 zDie4?F(N!#4Cf}tpeu+=MBX&yI*4%6$giS8BK7VdUIv~TmV+`*{$^UYE*)o(HmB&K zS$O#1!R6CyPqu7hXYT|{0@W)I&>C0MoNd*v+1}ocgQY>rQZHWo1fm>tPuxUFS;Iy~ zWdDR3N9BXXJk%!LRJ3>th|j4YdBG&!E|l9!s=9&HJo;;-_+HSv^g1cOo_MgtWR$`M zk6vt|HwVr9MU<2e4v<-{M7HVw+se}LjXw2a3#uTDG66U)PGLqjEo6EkT#?;7ewy}q z5pUsoRoIF@q^fVFS-pCDb|d>Q$Y5r9)^MY;vBtPgeDtvkAm#!JoB7D9ZvOjn{|S6K z+{B5B($a1UPjB3~aZjGia>*YqbC$`Oy*mw|qSi`wESbDauWckQ?saaxtp8qxWUMc- zwkzTcKfS~bWZkySQ{&EiEOofY0pnCo)FT-T9=do31EeW*~ZA6NWDvos+C2}#r{-+&M9h> zGIQ@!TGfSx*rxn?=c`Q$@rKzO2ZShwjsI!lu$|UTI=hb?H$B~YSN&%V^UJsK6G>~z zklpY9^zXk1+A~({eqLU*{(4XbH8tQMGijX=0X=`qOVHtgd(>Wsu{46-M=T&Ti(}gr zdtvAfC+;Mi1Pnm5j0;xf$6_YI{hbwWfGiY+uEY5C~9)I7x?ZY`b)b znCdh5Xjg;tBq%B+;N(8fcOXa~d=V4;BwZgD*URYY;+-&Z@61qT$4 zN60}L;SxV)Zh)hlFYVq<0{*nPnf>ppBD$PgukBtQmUtVw4e26pfB&Zj!(l{iHV?Hw zZ&dHP@A!}}J!u#9+%%5h;jnSylfnv8qvqUPLPkoMo1A_}UL=R^f1#r9tVb~uC+FN- zCxB`p`_ZfaA2H=Wpdl0L))a;g#n_}94w!3D8TUY zTS^y=+!bbWD`5Xyz_%?2sei@M(fEnn1gJ+;LhyNfrVx%UrUaU_b~s2kCNMBi1?Q9j zk@*X(O_=xV!+-J&O)~U9>QKoDRU0=Em!r7IPGQ_|r~&MK~Mo<$^mrHio&p&V!PtmDHBwi8mB(6;pE8j1U=>It(=@a(DZW8y?|d4GmdPQ z205}HN$0`J89ILqPoq;9A$1VtlbZi_(49EJxZ%ZlS?KhjL^>A&gn^dv9^$GRw{p-( zDSrOAEac0EBJo)}<8 zkmF(Q*SC{yp8t=(t&n@Ct=P5TXL5^BKtp-1gwh-XN5)u?E`M5(KhvoGd0%wUwr<{B zHL}j>*|TRjj9DE#kGH$SbW%|EBI`fEuAc?gYg+cSTtN*Xuw+vR6U^9bgQ3j&7kKEu0%I z+O@~Hj?UMN0D42k`YwM?`BnN5ovxJtkhHY4baY{>*sg-S#u2cSsBu;l*6h8asO6{W z!Kp*lyM>dJM6&e%UM?E4w+jNw$;x_ocua#Whu2;XctHxy2&MQA)a>pCq(*wsEPskV z)8^m7|MfFyE_j1QB>Mm8o&f*>u0?_J@#2v~t z45aWz`%7db-B&X&>&5pk)@KoQ`ko4ZdqT6yn#)A);LZF?=>MMez-dUl$b0pwvv#r$ z9gBFSuMa)Mw#mo`? z@9Kv9B(B{dwC=`C8;AiIhOv|w2kd{mbqoc321IWtR*C7ALcM?ol5wu_4>0U6#SjS@ zGp$o4@D1d!YH2pDcTa)=%5eP8$v#%*{`T^SlLoj9aG$8E3^mV3U%*+}KdIt0)Ar*r z%RmBe>4&xfMuG>991%qxLtQD!RF+s^yB$M>2<}jepvN=~id-}GIqDPKYi93DDm0pj zNChUMT)=Od1#1#R-Gg?{QZ2JlwOityM?i~tbc=uS202Sp7b zVtQv(Dj{IO$i+TMNrJB-1U~^*T`{jPn9-4v{vRx>!-nurUjttxF`P zM6X_*A7fZ7Iy^D?)xIHC(^U}$qs%1_COKp*Ky^k)Nox;;Aks< zQMLGZ0stD2_w^98XfaRlWFe(Gu5$^8TIAl0GtP$!BDW9dTmQ?VRsoD$ZXcV*9cc(| z-;Ux7PpyYY&_!WR1IYZrR4ZBokR1%yl@P%WnEHW91=05{~+DE{%PY43~zGNS2X zr7cjRhb>i8TN$amRSiyS7oa5}E>FL!!yaG+OYJd4Ck5UFLEVk>uUq?dkp?xW9!N62 zhWY{7f&Ii&q}r#of)dF`B3FFFbz%8qTKB1}=%ClQKyipT9`OKLACK@87UrS{+g1kL z!>W(D%UyDa;=n=0PYvvbgZuX|ViGNPPD=~bzzZx;jS3I}UqJlRchE}6%ge(*0vRjL zr^mokbP2@1oIVUYE*#yxU)T+zhSYt|E1EPh-U8mopdZgFUSHCMc6kKo0Ba2U4(qwl zmDE2zwyEU!^V8YLD%uTcXu5LUn&e{zB~H4sB@c>R$y>ODQ)0mYBbj9W(H-Fo?PzsGaV;A6SH#{R!)Y%~4)K+oNtR zh%qXld3?iuDX9dV%ASsj2tj^wyH=S6o1T698$D&gTSTNH=Oi~A8WE|Bn9o0Cm`n^Z zVwqu-O(8gcyLfVFCl|Gu3tpH)go0j6foG!b{E4gokxbP_=O|#&dnDd) zgD%*)qbZcWLm8F}U}rMU7q8d5I}&Y!4j!och_41Ui+-c{_dr%+*%_G#-e#+}Y>*HO z`9Rh@nl@q6ul1szuY-S;l9IZ~uu~?^e)yvWQ7wqy+88cH>SdjQoNK|+&?VlcL|5S` zI<~O+83Y+_(NTVIej9)bFG1*jd<9ko!vRFoZ^}3aB#JbHdjRZA=B{>mIgGmyOv?qL z4~jWCO-)UD>$(k{#6%jG;R^&xRC_zgNanNPdG4wg&Jht66=h~--oE{9(#zHq44xVr z^QzmEdg{8VrK$@5@K$~l**_r}Ze_Q^uVETOUr7)1v%+&-A@M^|fhb*=e~j3wRbtq&|%lcNPu z|IF2L{Olf$vf~koiA`mU_qg7?83j`8Xu|vV@6lvmn@a8=XE;M{6I%}Sy+6qB0rVkJ z5+GcM%adiH!~3HJS9i$DZ^BCQz<~p3+q0b@8E&4tP(~%ktt92;X=%#mH;Vj=lKok| zJqit_KS_FC{Fm2vfrfcuU(o+=lEj>y&226Jp)}g*Sl!ClHJ`(}Q4PfU_#lkx)Vz!R z;*CzyNe8s5f6A_CxdrNYX6wo6zBgR|H$@1*_ZAkGYg(=z9+inY#DJLs!0#JxLWUBD z#z>nL8EL}j7rOB$EekE#nE6{IT%0kdQ~AdGC%Y=2Kq5`}&Hkf;@2Lq)TfESl!As)O@Xqn0<)<2BjR&BrwCjaD!^I%b6X9deHVC#Q@xl^LbQ-*~@S?04`~xFUfO z*IaS<`&t)t)4u{-5Jk zKNPEflDUDB{NJ2|A%v8(nC(~f-7Mbv^9T#U+RRAkvepv!gP+~2@Oy|Khi$~OBYsXG zAVQPn(EO)4o>_MG&wqzs@P9btW6b0R%ZTZo)UPNNZQ)wioFZ(FT#DXpP1Vx{M!M+F za3^R%0i_sw&KV;wr%s*9-@=D-$bY9naLfs^yIw5D;o-rFkwD=1ws3{zj_-(dWj zo%P0#*`#k>p=+@k8nA;vYHd?^Mp(rm!Mpg4Vunzs%k;cgq+Hj>)I|L9{0|Iikm;bU z4|L%kDOiQc8}4yn0mcvTu*AB#grylYgESDc%ED!R0?-h0^|dbav4W%r@QQ&?OB&V+ zRo2GFv27d)^b8ECm-@9Li;?Y>AbCbJYP%l{2#4TVrk-0EfO_nRTrpx zl;W@_-LQ18O$)kTsj(r)K}0@E=MfWAOXJzJX>Wv_NPiI@F}Rgx8Doj~o+@2@ed+>g z;tt|*z+r=Ss|{*l6kR(+jVHATy@>$t=`07#s07HaB9ZJMO(BtF_~7rv!$9!-zF&qr zDh_i%d3d;inb2v|F|)9QBDiX-=t=ozb_E=Xc0{gq9!E{wu@7v#e0&fQK$azbqZJ%g z=1`4}(oPEv7tRC|%)G{kz*FV%V_U7*K0Bw9Yd_p=>>Q8HxzolQYI;tkxPk%QHjfW+m}OEe z$QN)0W7n~g8GID8!m{_9W3^+36RTaE@%ueMN;+4G?lEiY1`Z$u~j`s}| z;V;n9Ned|uHu*~BWhR!9d0xH`3O73X4!z3FEjU5gQ@s-WK2ws9Y1i5NNj||CCzJ>3 zM6wxdAEy$UrzV(ReX|rABn+1DM9TRFFPSXyH#cm3PIW4L_LTr-=+>ttXRtK1dYwGF z^2dPV5Baua%Z@ehu~36r9W;>}lQ_zxU=1y?v-#AvPT=aC*;0lyuM)!nrkF#&+?n5E z51-=MySH)Xf@Fs*o(LR<}7ejgzr2 zUc6{(YHDd|`O5@IrTc4p1pQnDOs?oj!|U1)@5}I@yu$;*)|X01;*&1PlP9uL6y}bq zv}VV`IoA@kI^OaxqaH<1!nK1WIKbJe(P`$^<}q|4IUwKwL#AdPj`;D0-YX=3m9XA$ zL*avwxbd)%Bp!dWFy`fvhz6duliAq$^0N5?t36jGlX81;?A*}ix0-VF?d1*&GV zi>^jD^wshEWeypyweKi@0^gd?r5Ae9AS1*?`5%-^Ztl_V$NXN6tl7l~2ublO%3zgjYSjaI@!Qdu4JG+KU@6Qz>b}`IY~S>DDGp8gov`142pJqrCFMk;2fs!tQRmH4?w`ENiu zcY*w2iW`mC*~Rnw-~A2Q&bi^g%$0mt(2Nad(a;6uTE2`vFE1~g_B3?kl@%1cW7>zH zz@MGX9;};Ms4_dat(XKl8r-Q{gy?G}HRjCUbj-7J=J>rBL#C|j!pJI*xv>esXkAGXYytTspe85VFCBcP%frz#Wcsa=k~ zLn-nvI$G59yyu`d73}^7mS=lo%F+3QjUqMw!D7CH+LH<3Tg2H{hs1QFtznEACs%L0oFpB-p z1TjQZz~E+R{9#VO7D7~{Gos^$KGV&0!st`|Ge$j*5rQz=It!!T#%zdp(a~zbEC@zO zqtwz<63o%F(&z@5rw+KgKj7}&6VS~Q!Y9qWOl93@OmP96PBmVkkqH(Ngkb;M{m<`$ zbZX>mT0lCB50=Yevift;a;DL&%kwn2!h!}<>){hHzMt;Zo$-YtW*uI;p40Pb-3W%D zY1zWCXt^8S7z`L)K_V@Lh@RviUIPnEIF{98c)pp^r}IUznCp!jx41G#np~0Xb<8Mv zd_Jtjya4-_Du^)qk{1K%gQ!|{$AstXYEcX~hs6gB@qD~C@!|$(0!c|p)l|Y<6BP%a zuEL7#4<^xMit0i)!lT_h?E7r;UIhgOG&`V1J7Rs2>6F;H9lX59t><6YK0g_CL_GHJ zumw|?vagt}6&6Fh1Sr6kv+yYCPWG;I1@KCNpJ%4gwZg$! z==JXXg`dcai!QF(>?i(fM_=^@y*2Ke7@DuHPWNc%Y}sKqXV$noC!n)Q%xCMnjdgMFfZ=`}bdvtO!JR-RR zEcKBHxq_FMPuILMU2VLUYs)A+(u}*2?ht^mjG*-ASlUGl4Qp1i4cJO2^8F6+cG#Q) zZtH&55Z}JvyuE`qOnHsC-NarR(aj7?io<<>Oa%XS$v@&GxN%mkL5&5(2@wn@&k4f@ zU=~iPR`b~tQXyTX@HIR20~OzA7;V^6@gN6naOynrGO@5!VtSu|SJk0Tc&CwyF%lfp zsK_uQ=r5qBBxB}+(V&t`1fi1%OlF=N1)wp7Q3o|dHK<}ZZ%x`zmIXs(BrV)&p*QB4 zXWYYNh{Oy7feJe!vW8OV+lhV0ZOrOcUae^o85`8TyS4lv3~toYyJ0nBWE4%ov3xN9 zF5101(dl6Z<;qY!VJuD+!3$&_;k0)*r@8ONx zqf(dHLlq9d24>5hUElleU6vGWkC>u^G6+MS!NHtN-|nS%A_y7l$>iFoiLEUQIwMRB zrom3?;>D*Kd3Pr_h0S2Kggh$aV)n<^e-IS2 ztkmpogt%B^3#QwcR<49v{CK*RnT{l72+=Nl^k_3?VR4QH$nuLQDgcGtTwM`wk~Ft( zX;{Lzs~6+!dO{Xk2l^xACedFEdJU?xO}TmSfX zKkx3p9^L(cFj1h4pzTHoCsDt1M`Z=Qe)EP`K=5$SC5qpN!)8GhiZ$>($yrOF^mA(t z|DaX|rXF%~dgUONUuqx#XA)_HJx=0{+kKfFpCDidLP1_1WW4S{rw>9EIRlumsD_A# z;!p-l)M$JbPAIj|7MCos4U%462&2-cPy zO2>~M2bd9nGazd4%&Ea>bYVYOA?BrHv!GYVZF^E?-!$`1Y?#0dFn|)B0ffaS(3&mO zMW`0?hEQ+a8!T#U=I396Cai_N3YrKJq$^yLHJ%$_PFZOYut_0hg>+{YW$%$yWMpLXJ)Tr| z-FNrr`}q7GzrTLJ`=593;<{er`8=QJc^t=ioP|kaFLp%uTYoDDzUss%b&scsc%)qD zME#9JN=d-V@f7P@82l_-v}m2G;|o9?HO9l}e1Wf60YWa9dXn+y+fJ#&(Bky`TCvbq zI;&dudEQMU@Mi!;E{f%_S72NkFo}=z_Bovy{%W@=m?1JLJSb3yp+K0bZ5o`8p(P^z>CYs2s6O@+kcF#tYBE5)<^x8GwT4Gy_yFK+XSHQzy{FN3!XYFg)q31h-V)bYsq z$wHy;S+Q^R;7>mk_<{ykrUJac2&LGV7%1q;D??mQ9Dx}gO=X|tj|1i>69V+G3dWtt z3jazTMR{WepPM)8V|ZePrrdt@PWJff<(RcjI&%k0Rc#+*P7uUR^S}rFbV;lb#{wU2 z$wuw~K@&XWHkZfPj*mf>wt4gB#F#a$qyu`w@$hv>eA6qKC?`YvQ&IBQktMmLIlnr^ zObrcQPm~hYdoAClC>tcUH2N6s8enl7|0kjUM4{j%x4m+C;Q$ml&|@)|c;|J+H9;~} z1&IRAJF04mRlsG{G3)8hi0`v>3knWSXi+p%uTj_iBcZG#S( zyrl`vzB`PROW!K#yYHw@3>8zwBSHnWp*W?H@D}CYx!W<0n9G$i@USS?AH5-i2>AlOC!e@o zL6vnP^}rtYocPO(A5`CSuefksD*Br5)V=YC3R=FV9cE@#iyKdm&lY-sMvnO7J;P)p22fVzjP-<}g%2RNzs*AH4>xMhQYy=qRcq5aMWsrS!tmo4-=>(XLG%x1bQ zC5+NG^H}rTrVRv1tT`#Vx`&yp2qh0%xuHWe0<$57QY^Jw7)uXzjP% z_xkkHb-UlJ%x_^*qE7!GzIyUb6{eHB>)J(bZG=!L*w^lEZl|m2=HT-wX$`mrN|!Vu zpA(R-1q+BK(a^^M*G-|gZosojd$Mu!=5Nq6pb~(C58%_w{reeaO?>LqUoT>wyCDt- z>>6W~8JIl_UxjL*-R8W325z(gs!F5v+@Cit6hOK;>}u7#r|~`5{OH>Z$B(AMIJlS> z%IwObjxcd`r`Z4NIb4;<0C}U}w1vn1t8d+~8IrW0?|dDw-gD$F6sZ%jDxxMD4InBf zy^H{w5u0E)AuugPdP?eFPRaT|-yoyF47;7=D$d+>M(DMK77VcOnq|ul%TCGt?Hhhw z4C%%^+Nw|BK5-Cn;yRn#iQoo?=ZAiMHF$3GVI5xrnhAc@4@nYxVB$$@5_S@2GgR+} zur;>Zc8fe|{Fk)$`@+0fKj?dz-JW9Oig!QVeNjzXeD~isN-hI-EPwvTpHJbgbJxra z&p+JeEA^}V+)-A4zlk49aL(op$(Ib9PJQA!zhWNW!4Ua||I1bUK>B{$Jh+e3%gMSL zc#b;Q+D(q|qyxtI>oqOEeBM=W=NP30S>fp7Jka2N*|_0Q&5QRxqC-ZHz=V0EFxfWR zJmJ0=7%Onh)SH_HW(e6YH?RF|{~`U{F!B0q_mi|tpKKS(*i{l&YMVJj zV0Pu(eir=CwR6lzrLyHUmXc>R=J?~^N#1Ga1h$jeTjMSXo~W8K6eA{<$w~iwYCQZb z`|mc}Ne0@mNP5ydU~31nrEX>@%DPi_)ENN{&N)Rpi09&ScoROu z{XpWo3u6N+5~!YJovUg}P*>liG*pV<5~j0`brFtJF3N^rna zVHht{0naoMq{tgL9%S3FetjUxp2AbWztdyyxidi`7!PG2HEVuxwCpg>ti(!lAOesc zHmUpDjtv6fAzeqIg;0~QEL*m@9g4&hwaociYtX{OOW53w2X_tnL&>|_9*pIIb-UY? z{h}u=D@JwG)EuaV=`Lmtj7+8j)khAMRKG~+L(hf%{mmoQv#>B;nY`)f z=oFFlcn_Z`lOED(StSH1JW35NDiX@(n&#z5*jF0x(-z{X%Q?(_-^64)n5#O~c=8*4 zXyh$T$$O$K)EIa%i0+t`C0e}M!08jsWUiMk2r;&h^FRixkGQRzI1eW_WXiTa-}GW| zK+~!Y&VliQHQ*_^Sd<1t{S>DF5BH&rt0c=*J9{>ep5?Y~-@bj}aB)>n8>KUtoN>Zd zK$e{S4(U8Gozzy}g3A-a2m`X)ar7bdw^cPUd9etY9osZFst<{JVX0^=ns7hq$ZT;z z;S*jhAu3u1$()r{a#Z$}_2kr5C4r@`Qple+Fn!`$J@M3{n5GU)gvBt`BZaB|+WLqY zs7h^_BPavQCxhp0T3YOHr`XREB8!?uO}_M7M8nr;WgutTA3y_(mF(`B)vzg~Yw>Rf z_s`?PTIv=rE@0YkvFF#I6`CE7fU_W$&HPKomKmQj{=EVa4=5xBBLCSbPh=eU)Bm^5 zLEKOpC$b%bpoM9jB;`HLlfG&N42^$gH+W_QVgB$~W4hSS){yBM5$+se{d{ z3L6|z*Job=58jGlsy#p~A1lNjt_ z>@=K(?h1G#n3rLJlKQ5l5kvcZ`q_$oEO`u;@!}yO#dTUf4n;gr(WP8^lz7ZgnT5#V#GiC3@b9XVq>Ta7p&fWm0HKspmrAd@G_ z5c4!22?b(o&{uG68gX31q?sw#lRbpYzPhjLiZHRwrwEfD8=^X3ik0n>tWcz24>BOQy=6i@;f*PA(& zk~Wzx^2aRpdZT&%{3kp$oT(cl3SsxPVx?%17q4+gl|sow#Zh#k)1V!E9380zf73|5 zml(Gdb97l+#fg(RL>cGKO|m|T$EI;3s>22zY{iH3Brp1ii7S)|`l`0MbtAq6apdYN z(8cR#cwo&fZL#OAj-wvOajNLF^39a*||)CqtYERI7+Nx^Gu9I8?WOGDF{>+j@z{LRd$(TOk_yBSxsmawF>NePsIj2(_fO0P3xn2& zkI0R1SAojM*MsZ@0)S{}xGTU5=P#TE`6758UmPC_T^4ijJQIFUBB&PzoKA-tY$3JoNJFQ zfbTNSnL~{P6n)afw7qmI>e@c=T{SO)p4Xjhx_^JITt{Ju>oeI)Z_xU(I*)7D`BNJE z{Lu`sXMBWKd8IyH#%)U=Ak=V~ETbmQ5cnir6H-^`%2l++BA%3M|E1Bz)}dLO&{!sj^wNPdguA-kZpyR@;IP#ZI8{674AjtL2c+VV3FE=i_Vlci76(He zmjRdfefY?@iH8s*q}J-gfhRC;;t9ONPD56#sh}v>p%U;Bj#mZzZb5Xce*M~)X;(Rh ziHNE-=qvaeR@)IntdxfuC$$R!Y6V3{mdP=k7F(8$BCO&a9`|T~%T_k7cztnG0U|#j z&T&{A4iVlcc*Sy|=X+hRwAoVE=ia9IYj>rDFe!sNP?ZCK(DAvi!AE#N^KSc7D061e-+hF5e3b7$c7?_nU|cKdcWCdkaJ zdMWY->2hP_vu`YCq)BYo?*IWN<&A$Yl3IjkHD#VDUh2|I>YEbcndxdUgpr_ zxDn}TvgN|En@Ocp)c5@jnf*W&4zjtECRv`{*jtq#4r#m;Y?GYGoBSi(FZ{BNT)h z5MU%#T)yt??28CUo{K}zadgEKCpFlBhGJ}tkh(+9)MXV5)X#G&#jh2VWw+{k!>GFj z=b3?d)Vw2xcW8)d0(E+3>WP&&uXEpZb#-08KD#_bN9w`1`!=5fA>RO+3abKQA_FV3 zIs=hyh*)0U1n(VmUa>vhu(Q+p{48r&&^){12)-aJaN0MIoHoh`Xq$AX{N@?PQYVv! zpYTDL^x?r{q|dW(&-?dYIVdf~rKI@uF5VXO7c$4JF`o>^1xTs{>87TFrIuY@79dG5 z80=0TZ;W0kr=qzkg6k=WB-nE2cx*kse{|pz1Ub8KyjXhINVBzcc5Lksy`wd%kywd0 zhMBI1Rn_i)yWbHJ#n#FOSE13P*V#=nfv(9$+;DP&w8vxU%E~et(zmV!n6okm?!Ltl zrGT8AD~ljh3?#xzZabl zm_d{Ri3n(M*(fE2O*}+6iE-zqYB~{BEN_~78^QsUW4Is5@apkLmVg=G}z1t z4lFFXLwyXBk1nunha=Tu>Lf(TAx$_0AjZr(h3h#vqwd@zj!HCX;<-&U!fJ_zS9)HE z$EBW0c!C{{1net}Kv0nGB}iGUgZkU!LgK4VV!5>gq4<1~etM0U>a02=;tiCw!4=Z& zM0_}uwqKgMe_X(?7|u`N%QGl6^kF;=xtUH;=!0>K8Iw>fa&%N7^B##jo=S-c#tO<# z#fOa`{dMVFXqQiFGW@sZDH2og$QaFhJeLa2sT#)^+%Q-AOigi~#FM{B*)!P=SJukz zKMo;0OgVvY=a$XyvL^5X;4z)n946qXb#s}r82(rouYaPFKgzp*LE=A`xWr+zX$?8QBXK7gri`!x zqW%*;_@ilroG#?nCXhe;A&v8ARX6zxp5A~er?*=YdZSfp`Z%b0PfW?0Cz0`XG2Dc$ zO22Nf^6L2~#F@5P{nZ-0lI3W?$s34jI5NP|@;5q(S|xP?;K(|Y@(3a|dLG^atEN60 zv~EW;>^*my=Ug(NU(~-Rej=Kazr&y~qT0)X*?*o!#QFE@tFn0$x2KkYzKD4OGcNpH znl&Wy6gsK3JqcDl1M?ajz-#rI_H59O7r*1Gj zFtY2Etk4w#CA7?W$iRK&F>@k%hTXh_1iySS@y*l_(753+&V4BptbyN>y+rBTo%SXdh5!f9KKrzV7 zZ${>2f)PizUOYHnv=4i*pUf+px_9OT*io59t$TsG4GKaXcxiFWz}DQZp5^A$-^>KL z-YpGn7~Z2PfW-X4kiJ1zmAhoqsbOe5;qewGIDh5NPZ-QI zQhP;UHKa%MOtkJC$|(pbP(=cJV$X2+g0(mfJ&_gQ)JoFf!#GCf1+K#1?ye?~8L+C` zl2BNIeG5=}p`BzBFXX0bJ1Uo_iEIP@;eVx$kLo{$R)EhTw#?<)r zHjQ%6iG&~h9xJI^uWGN)tcrG{Wesuf+O=!vPGg+rz+v5za`!6+(6U6PO`E2nF^t7$ zxgq2jdn4*k<~7ciic--Sr9*|_vZ7w;9Zs@Sm5Sg{(Cd!gZqkHtGfBXnBM(y{P{!_1 zIPJsdK8sUOtL*6mj=QLZhEc-hynX^B#|z;oy`SA#IzS9d?E!P$?bx@0Yi>*&(rz>= zq%fU5dsd<{iEkK%L(qE^nPBo}&6v@I_600WByVm@;5NxDVr7Onh^o*C`vxcindDuu zNTZ3%R0)5Nbsm_Dq90OLve96chcY75B)lHp55@af%aUHlO$ zT#wNtz2b{)Lwj*UoT&OBOWn9FjxHl}yRBygy)vIxWzEODB3m&{0j$T%{Z-C)meLu1 zrBS}~eSBxug}}xuIoV@1uu^m%5Y1syZuhR&V;u)rjxT$WapZRRtZXXjB{8rWUW*JB z5ARTvQiA#|$nvSC?}*<>m=MfCJT%-rFspFmIA&R&@}I779L|5kF8np{>^6Ea%SC8w z*u556=##ZhSJcGa%c05|&|sI1{j#nJxw}B6RxFD1Jqzn4 z8EE7#zaHGeIt9B3N6~F>42X-@+3avv*zzI}{^HlJE-s#zznQMN_P9b%dCm14DzTq0 z59bnm>)(Qdt98|NuoC;VA%GQ=nli1%Xot#)Eb4FI6^W3`=#JPv0DPd8Raw>rkib1D zx8;L#HZ{_oiR?f$ol}Y92pg#{K-8S!Xd=1=sTxE65WN1wm!{4@*4_|xPiU!(IqdML zPZZ+@WnSwd@{qLw`Qz0Oj?*hEV zulxLByJDD!kHdmBdiV!acG!ZzM6WPd!Co+!Go+E%JY+~)$dzCzeTPTD`#ghR0 zGn8Zr`XmG;0=^MJN{3g$tJ`cacJ%U>BYd7*sy4VknMYB*VPj(t5sfOm%d1(LOlIW3 zLQSg&6+C*v?>#rwy;$qJzhiwhO2a&0`O3Bjw}lw&N>yHrwy^tqFQMy=gbJrTt}H9~ zO$5Jd+(=5-mJKh_srMC0uV|3icHCfnqFm+UwrNK_QAHr@3!=3JJ_L)unNskWe{X zyG8`;*o`1V8kzPs=P(eqgB(IOxhTxf2rZVmP6R?yXkOc{*JFy_ImHyKgrOkkUU|f# zL;b2wS;kPt5zQLg1rwF)fBl{eeDS53u>}IU;3mmsvI{;}yom|TtEaSg(8aF8DCyAz zPs%r`K;U~oXRz$7khHT|L!9Q(S4HP zlBBx5>+O5?Kd+pB`9F`Gw9UAbqm;cf8{Xj|gJ!m?{rCvZy$xnYFjk&Oo(8sRX%e4& z=yw5@MioPaM>=4Uh9sUCCv(RvO%TSzThVFy6$2_dD_=<0mOYb+9f%^#7&tK`kr~VU z*J^Hc;4W$9z%VGmC2uVE$g}4kM#h?Q4pAMiu%Pr)b$_EU=Y{|mS*(jp`6hqKJZ5HB zei%Vbydx*q+t1OBhMDTRpZ!n(hkFASXT$j?gTBlGh#_k$N5)rSHyr>L(xnVQ&Lanq zIhmFKRG8pX*p+hPg<`@2V&~6;t22RbiX1urp5qizdt~f{BWoJ7jtRXn>p0?A;%;cO z`T4rt00AS?eAWS*&I`!Q+NH)?x~74ryWD_G7$eftl0;1hqr<^<6OXWGWXo}oX+Cw2 z0{a6sy@^31Ti|=TBbF@gEBCfOA{VMzXe^0^OuY&hTrDBqi+VyT-La8D4SkuLPENV* zTU@JhpUK#AIqV2|KUOQaX_E$|Zsbt5s!rPg=QrKRf?IOL2goI^rhbXQp=-jcI_Q?o9OT-v`IrFyG zW@JgoO`E{iz@{qf9BO`C>nP4rLeoID1Ad4=7ue`%22FXsM&SwMmpO#QA*4Xj%ayR6 zWB?oCH%W3dbyOTMdXeLqxzz#h_Pm+d0MXrf21U0eFjt8CAXn3#a`lANCiI{RTT6X~ z00Bc51vxqM;_iL4IDt&sn+*}}2YsOpM1lB6-|NV%jy+>x@exrf<^_4Nx)ri>mn-Er zA{(Gjt*9Z^G)tDKCFTQcg;*YxefpQH`AQ@3fTHH~UJOM#XpZ zq#O|UAAu-A%hD|gy3A8aVS$=F>E4lD&FR0^ZR@bVav0WZ+97TcY;J7a3nv#1;jktq ztY@zn1}2bbY^1BYtrJYNC(vi0O3*6sV3mWpE`iVy9W>oVG-)l}MAObOK$G4lwE34F zkXomHru@NySyV9BOk0ngMv4|==Zk6%d*K;m3<}S38Ti=P#2CP5s{o0?qBXWFpU0q<-B3i|(&zziF5x3kC8YKwbu5u% zSfdRUG~Pw<*vgN1q1%)bp9vi<9F4c+lW=8kcz{X^4c;G6KdJ9p3TJ4n@?g#N>iHFq z<})%XW9->yk)|+re`QQzgwcR=K0YaY6yt7=eX~X0@w(?r2VM)Oi)6of?E?a)dtu2c z^EMEC7>SW`YM{G+_H3R1j=P@&numNpqL=$lH#&_2N6>g8mH>QcCCzv7l38pD6s4Oj^WdULnmji5Vq+!iC_v0cxwkezfhd>Z&^TDkE ztyemI(70H1B(xNrl^G3q?j;f$6FDwtK504z4+1w1rJknT7iM429*}x4>UI#AdCKUw zQw~0*#u6a3M)C!yGgts0l_VSO<>IZr?8HjDY+l(9$8pRYwgY1U% z-awMm>oPuEI}W7dcv3l-5BTPxDdzzaB}EN97dTepC~FU1Y@jc7%fn-%Q!7yD-M&ZQ z$#&y;7;scXIbM#n%FEq>fU?O1W}#hF!30k*bSpw~K$++oO+cz4_ z9E>Q%$JYwHL5o{nYbed+4#FPxC-~{tq^FbAqapa!*2TndrW2cagR9WPDC5%>7K$3^ z1Hq|(*p*ec;%)s{Bu-2@)C$ByAP0=zyE|L~Lorv9Ccnh2YTcD%%H2Jfm&!A{nEx23O7d3eYV;3FpwcwD_`;~ry2kW86^{UJ z$qhkoMSe~0?j>Lk?$pd%U3z!#hZd&!Eu9)!=`z~t`yxtAX5w7pgc}OH-hkgX5#31fuR-3jj{x^ms%Q0i|VbQBK(? zo31)IoJ3nbs6~wW!+|=CwpP}SA@B1J9=Cl^#~EU9*Uv}C2fqiUzUH-VoQ~rywqr1s z-neU*{CqMO86L2zaocg$H(?_eO|6W($L8bj$uK(u@?g(HsZC{Rq z13o3WW^QM87&S}8757RIgEsTJf)BuRZeG7Gx+&xn0$*Bn>K<=!TVGV$!*SeUX$M2| zCXiH_@cIH-la9&Pv*r6Tq+8Ng){t2yd~}9^Z6adlys*XkzLf8PjTAtt4BZZ-lxvei#2cVlg6p z8gP-}fyAJeNDlWaIYu@;&5{R#+U{jZ_RVGKH^G$Yb_S+!>A2cgeY16jp=C#AnR+4e zP;>n+sk{12cU~1F7Fff_Vb_lA97JI`3LwSRm^q~K3XXseM(@x2VmFajzx!S$bR93S zoL8u1eTkI6!1IWoI2Pt?s$K7Q5(SRYE~|{q^52;$)W5U;Q~fhhY8;Xz(^u;2>yamN zbQ~0&qP}qg+xf49;!yA)>1ly@z*F)($-~gdQ_iN*C$ksq;1e&jmQ_ne$&v2U}v1LOt+du0w6z&whTT4a6 zDhffHfm>fSq54i6?`p=Zs0lFq>v0|<(k>1Zk|?PdDRsHO?#emP)&ITP`i>*R@lwO$ zTWEfYK>2AA-?4$eR%jA@J#)}h>XjzOMgF8@5G2u%a{+n=o7Kq;L3dPmzVjmM^|xo3 zvg}F!?Wh0u1kTS!i$AH(e#(pg#T4PPCI}r$$-hN;`*0`Zzc1+%%ksa;q06c&|M8DM zb!Pwi;{W{}PS()>@kNlZ0}~G{#+Db^n*qy(m(i=hC^3?|avM}HUv1~y2j|U|Nw}pl z$^?KR-Nb}K%4$~4@$u1*=ZZoJ4#S5G#V1gDJ@y^M$>6few^6~HN5e6?WZoa{4G*j!M_Fpo z^5y-dsbjo*Ns$dX$F*}>G0<0+OGAR`$ZF|`8A8qqrxEzLHrM*A6PrmWb)&xM{Ak!0?X$Kyn$Ias1HcNOkwvX z7mMnNzs5`r*VWn#3IgEtqGiiYKW3FkaLeW+cg}UD3`Zs25n2|P54j1|3Kc>@3|MGsk-@-kao5p*o`gzcL7Li6H`KgV!VbhpN>$n?8`1~4>H&_)mgt9q~hx^ z&)9V#1O2Jv+dQ8ncRQxY7y-oq0U~k zklY7WJvy?$lXe|M8d55>p2O=1t0)#T)FM1!w}uyc?9pLHt*6NI1&%?2ul_XvG#3yP zm0T(${kNfnLOv1Zqa8r+hp;ll-y)|v0sa|WY0S4mEy+k{Nde;v7b2N}>#TD@<-4^B zxu}Y1{K#9dsM_OD|y37^0FD}fakYxVhf=?-f>r?61PiR zL1Q4e;g>YyCLwsJg?+)qt`wOaK!(aIP=cGp;z7}kfUC2Gm^I(i43s(1DT7_me5mEc zjzH3F>q*5}r~}o}s0!)iQ4t@)eA_W2n1euS*#D)R#)f8zCl&GV@I{gn_zJEUfqLQA z1i3~hZ2YIODk##~WJB*qm4xx!M2eON>ox`uYPWOHVBe?772^(;LHq&uj}IR{Kr@P> zRoelp@AeRCZRKj?%--^uKvdK3%5<562QPCt(*#lZ2&Lr(>oaf2|F@~8C}~U~%Cz^& z5ya|`ZiLs!7BUbpKDZ{V3dZyv5H%Wp7(B9mO5VtR4F+IXF^LUWaMOHi_o3ZmC0a_c z_@T=@5h=f2F02B*fVf@HnJ8pV@E423(M(MBuK9lCvKx3F$RZK0eh(q4+P)Cat1Ij$|tb#JMVacs6n8XRWPCp;Gf1%}2WCo@NX zYO6SNs{kURbXs+$KSR``d%OQ6h{tXD?oWmxh>U8uELEY^6kb3eUrjrzut(YswJcrF zz_is3bu1>3T_D>{6>K2N2jSCF>o8zz59kkMb=fwcbvCzM46}mmwEC#(3q573D~xvi zu6;=c>H{a94^h$&#vB{L5FX=aOkMY}qY9g2)#AmsL4pFl33piLrY&U%r|*O(zV)b4 zz5)sg|Av0>Re0NWJ7j>ZIfWBsxalT>u17bPL$OWOy8k+ze3N|lXE7)(Yt_EN3PlP? z((^vpdqF9;*RlfpL0EFitDQc_%+7Z`n04faGFy+`PlF&k=oJ_QM22a;rLkY20A{Lq zq5oulASX8@0iolP?@@ukW@xXcvTa*YZx!e6)WwULm^ONnr-ROlz2O4(9%w=J!(CBY z)bz1Y?RJE?B|X!vJkfq6kD!z?Mjr+@td)sH)J@VnbJKUd$v@k-2C!e%BB$1=LeicY zbenb^`lIo&{#3$v=ow(;)giJw$1PY(rD~xEzO}$J2h|!djXQ2`_jUSGv06^=nj%n% z*(&e~Xk%xT$ZrSo7{h-+gROBM;t{*1PUxKj1V|kH7`B+1S>drFuksS3My9ZT^|MhZ zq7g+#43@hwz6^4)iA0?z8=XOb5P7k18)i;uXUdo-l92r6grZv0P0Yug={$PC= zj#k*SPee7MG_rf!@<_nmbwWOoN2ri2t41c~8zk}zLIm)m0agf420dzlH-GE&n9MsT zn#(f7e93@#7PA1Md|Y|mubp^5(nnXCzzn1~_JY4X;_tGdIzuQY#<|;}ir0=zpXT0D zRmN!W@lPM~$KHqkzht3EnbRhkj_`*`q11vh1Qo7S4DNWk9e??Bqlie&z}FALc*Sz($`oBBim%FKGdH+@=-spD6Z8~FJD z)*>Ap1iA?;ArVYf#9r6fgMxI&^OCPw>P0t0pNx>m_-R7Qv=Wp=mKNgpD+AR-g5$ER zSvVsU;TH=PaKlV>HdkkM^%Xy=-T6MaV>^zmeu!KDN+fj}6m4-XqWX1NEdUV4A9c4C zMmyqg2&;^CP{^e=syg%t&frS!N(X{Sc%ABSId*DRxC$G32CBg6p}U?iF*q>jcc76c zc5cW(WBLG=Z&$7n*TCo!oQuS1q&|H{;ma^DQ0*Q*nC`29x%M^-Acul7er%m329X{c z&wj*mJO>1qdkbmOZ9OR^D^;&|vh`VzDFB*1uudZWBN(JzAc-8#_-+$Zl*2MG8_P&+ zvLUg@O`yP?MwG_L>16bpH`+ti2l_oB;*LhDhY>P3ehju>gLpo-8cmri7u2l-OLylr zVp#UT-Rk!(OehcByTKQb<_jph;%0(r3P5FobOf03{gmV`R1SKkJRF^I!nr#(Te=+) zw&?wY@>*o*(<8i{i`71_2UGcF%JFAFp{fkXpDLtq^<2``$Qv=&ZsoFN&%vp*??pz% zFmIl-qoX(G5+IOH^A$M6mL#)A5bXd&G#(6O{N31 z3o>OjHMO9_WX4aoN@Wj{Yc^hRZeB4}!fE$b#&<|E(9>n^PUw8XN-y#N=F?IINDJnN z7*0PBB*KEA`zgU6pmw8ZO5MtdB8F&MJ>{AKM+ZUe;30QZ#6=X5!RD!_9@kl%pJ>k? zyZPf?&12au%K$BkY#-?xO`@NCLMJ0ULWfZI8qgt+ z>lJu|gF0vgPHk}7L$0zNGn&E@Y(^73i2Yv^z{*5iJs=WjO*Ee*p+*U6Kls*PSP)im z)@u86DlXxTZJ>e=maIr7lAAo=^`6RF0&lQl0-^BGZQO9ZNWxzT9NncA^V>-ad|GY! z`X8;=ujMT03<@P;XTYk4r>Lgd&}k*FJ6h$Wj)P#98wXMtW?@oDgU;wCR2^X6#0HU~ zz%pV1BO@^0(2)J!5Xj!;?DWKyin&xZ;Xwk?WLJFl2|0vPf3tzg+zptNQ_%@mZb+iF zBX}@F71x$CNUUC0qK#Ev@ICVTslExX9~^MN$VMh4i!$Y&UNq5CK-aKFAXMy>j#TM- z^3?6OeO=%AQ>98`(s!E!awm=`!$JJ5mG&2k`RFN}byj6r6i9XQHW=3BHjoZ*(Oc`W z2S9T3vaV&}aG1C)c*qm5Sr5iJF?eL?>&EViP&$p=G%D9}G>`Pul;0?V`ie+oc$k&@ zH`_x)g9chE09ig^IKQGauV6)L85}i){EOIdS@V1}u=#wTwMokrwhso)OkrQd5QkPX zKnhppHl!CT|xOL+}hM#!6vaS~bKuEkp`GWgURKacw z|FGE}sURArN{56)Xcqe!GG7YVcf;7SHo@pf>0bxM#2gd3|FW*e9>mXu`wpomqcJAQ z8nGl>fmz27Df0R)YM~MuCmnq~g-kLOcU(K*PAfas+Q4w}zz+}&TXn4(_q+O>{ZjR< z@N|XDen&}S5w<5%Lv0!c{fzTUzJT(ENbukrmdw8Dg}L_==?p}<&;Xt7dV7Pr`wTsc zfA|j=BCp9>Az>8XEh_cZ4n&`3(4N4B+1c5r`~U;0RW)m+h%l4vPr3;8hYQXjD{CbU z-XBgBtNF5jH0~RC-Vz`KABgO2bpG`avyFjSr~jd`HZ0png3La)kWVF#D`jenFbF)Kjh$NK2QA2clVO`n6CL(d)5BYoBFySi_bh_+=S))8liv|H*|+*>?n4~bwdlPQZch$FAqrf=VA~#&Qhe4qpaEhM za^~})a3>Y#uoByuVlstt`V#r@VwBnsyJuT(Jfry8sDMd0Ff5wA)b}hJcmdmUKko_t z-mw}tvR1;#5ocpAH@ECmO5LVqBAZs$CL$M1OBY<2%!V2njGs9~i+#7QY6V@2d`*S{ zDAe%llw2T&0!ENc0<6Kt=HuY_0wn1D*vL9eP=(~$Q%s9_$&yELzqO%GAN5xj9$>|< zl%N9*2t4s0>|Q9_TW8TPyE4hq)fE!m(aDxm(r7W1#&S;J5Tv4Tk6uzLY}NCQKg`!0 za9pi`Tq9DPO}tQGGR~hLh0eXIpgw-~0Ie?EZA^6+x+5|#?p{Eq*-cfM{QKZa6 zh!Hqk85kH)j6MCj!W2&g8yVp<1zKl+G$oO9rkkXNFO$BMJd6HXCPlvvunVI;&%z`D z835h7ZvGwLkNBjG?VOB~?sw4-g1zp!1D;v&Z5nB%KR`hrK*#rxelT-TUZZDx7=oLz6 z>4LAcgZ;!>{$4s6XyAE$Hm%J*zw+qa6Kn-nh@|{t>~}qbjub8S!B z4Q#E=pjf8T2>L3vQbV&YVWbUV=$#2~Mpb~eJOv`%s1CZMrDjrChlfRvMCP!oO31)L zTxy+56DQV#QT3J2_j2_DELy2@_#Qtb2~d(KB^n=1x^NIvcTrNOrZ_AwKX$??(Kp7$$&w_$wUOv^~Z3-n6^VA^Qy6tto7B0`SB;NW(nh zECl$&ig=SVtuvSY-B$9?sEUAhxKK3xnam(0`Di+LSpB6oH8pZj!`cUQcV%AN%IgrO zq6y$Y32DDn%q8uYs?1xVEm@G_fZ5SP!(U<*gAyCB;;o&okWUITg&1g?G56#u1>a1! zz(#k_4z9&pLsqAlT8WN1wBup*E~Uz-qjErj;N}B{4ZU@DpZmgq1!9`0b`pajP;QMR zQ`ldYJUw$@Y1no2F7ThfddPDvm=wyT?jt z3OZBVKkU5C{a6;JFlb)PLp#K7U)y8H&^U;vtoYajXLg%`%7F)HzeGFtt)-SY`2jO+ z@;v-F+leN>^R_jcS&TJY+@~G^MAegh;C+P?ASyBi#(KknJcX4QC8?UzeHET=GI7T> z3ccu&;DjR_)^6EM8bI44Z@asLI^ehHJs%eUc;6TuV4lj=rb@4VHW>ZuI85qP-|4bZ zf}J2vF=es1d_ zW345?+!if54p?caaD0t&b?&ohcI%uvZc7q=_A>wlKtU*Xs?&!idIkbb`h2J|z94+V zxOEwa{QZ?#?qQ=+4)o@?%mOV4zr|s+EkNmToRVtiwRyC&U6Q~pwg}Y~hPqV2J6i%_ z*@%zv5ikmFsENJ3BOAK5#278m8M3p_wx%>NFt1&=?hKM3SXl9ZuKAIHeNQEzrzGYi zlj(-J77r@i0IZ&h;`MQH9e@k)0QWScMB*5OpTiEl!e1BX2T+%kwR4g4OjkWK5WLrWx6+``8!AfQT+tQ%sCEqBT9EPlDD)DGyP0^y+k%y{A^MDHC@zT zXA9g~k8v)av7?!zq<>vD>nGjUCL{cs39GXhSKwB#x_S;35XOJ6_?ec=4|#}A8k9^P zc$pK})rGS-s3E#XNRb+yCGryu`g3M_5m+ua%Im^^eDJ5gy~$24tGVQ6^Uo|DUyh$a z{yhW9G$2;H+So1<<0y4g@bk#I>-v!bl2qQz4lf#iF(CZg8v$~XpB{4XZ`%036Xw6c z*#|MO!1@TC5CAMjsK#4IcoP#kYI72~EO&|;`yRf^m$5Zy)7}!}6OeU|J(6+l1@I6zztZ_GV9S0Ds!1rI^9R4|C{iVw9D5NiK!+D3rMz z$Gl>_w)k4Y}-tcVlWO+?oqb`5Bp$m&v_@^<{2tiVsv zx448vZ^j~|(2p75mH~0m@XJ;2*wOi8H-jYhA>g5x$&=+%_733?1U4jY;ZJ~8gfamb(V=aofQ zz-}I%7#t7u3PgH()jKL=i@D%}fh!cUpNJ%&&|h!fyc}wcfUN;C{=)I>d2XHx1K5t2 z#xraD9F80ha$4hX_3G2<8aEb}Y`w~Hf8nvye;t3aHTTo~%Ug4|a$jC>eb>YF)ACr< znYpsKUwiJ`&X6+l|>@jr_Z*SXLMH~e%dSBd55P@9nDex;!+CvBAO?igB`{5Q za-{oCDz0P}Dk^`_alXEh<1trcVop4fi|~r9@w}}mOok%FL<6YTx(F}A5b?WfxXM?h7W4Yd=>-3I<3ya@(iFPkb_Xl5fz7CZ)DZ-69S`;4BR9snjB{%n$R z@CL9}bU=H48uV?EP1MFh_Z`W`#gOV}x~wvdt8aT%lSetVkm*eU$A>W?`+lyoQ)W;7 z_YFbt+O(#JfW$eNU~<>nTYG@r854@pw-={d`K=;x{OERPSje)W(XR)!i1s^>=70tE z;2mJAq88)%auzp(RwX2NbOF~;GSwWid%dl1b8;}ahnBig2H$@dgHEs$;H=?(`?d@s zh_mxNEwO-1<~=r6(1bq|dIL=$9J<@cppt_TRxD+e%%|sGekkv~>2?UEZpSr&w;WZM z>h{dsF!hp66X&-KV#^Q2!M!gbr3)s+ZYE>Uk-n975)~K6Jc;0_4%-VA�W7dPt!G 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%0AQ3&*bb#`F7s<2Fh zhg)`6y~}$KHqy{8A`A9VDs!=8V0RG)Lot0)bz14FhyZASe&Sq@&$Kou{me6Poy?0D z55NNj7iuG%(s6tvIfQoLO1B|-OnM?E>6 zYdaXDF42yusw^#-kg7aWUn=FQceEZP2=a(}>J01#X#F~nIrs1`(EQ;t!yMbTZ}&Wc zDpp&ObLV;f5y*!<85ghMMi)0A#9F}mB*eCHn7Tt!Q0tL94>_pE*j8aEfH$7+LiN}& zS64+v1s@&2C?+-*TQgdkn-4iKPy^=-tctnfd;uDQIxs1h7{<)-{6`R5?C3FI33r)RD36D4`J%ZgApu373)7uUX5>8_)?C8vAL*W)AV=JNLaWb}qO`BU@;*9T?mKn7wEcauD6w zfI&5DEHD{%U+m(qw0*>EcU;7PLccOrX0O!gUEG&GE zX*5V*SQjqrMPrGb$w-n9#fiK0%JB$+aR@GDuESf*iO%I{4BWV!=sA3&#K^L9cnmdV_RnHw#GMi-9N3bt~vwh+z84LILJX&-C#-H0?Nr4BfeuUxFQV*aNT% zna1bZY?oHIvG;y)6awCU@IandQbs~fcPOC0y$2-nns9p=10G|8uOXuRDl=~^jYpG; zFAG~U9&UBec5(OEF?P2{{Ourw^zjy#{m@L+V`kog%J*kZ#`}QvQafI5E%@{Ao+WS- zb97kx0hFC2>b!+Z$l1McsQO9vU|9Z zw8Ic6eL>Bpl`C%~B?&e0-b@0mjA4?F{?v%D4)9W#q+D^9H1vXJuzjiKiP#N+Bnm5+ zmLe92J*lY%k5nh(vakh-%O2yTh7qgyLZ%(vl8exDfOq`f^Tl8bs{%0Cks43}J~Q#H z>;N(}Bvv8-Ft?3CA)*$BhCTQPS}UCjXit!NMzXx~sP@&)iBTLiIe!}+>_|)AaL+#H z2}s^7ASx`Q59^*YX#Yj~*pi8dc>HqxaV4@CpP+MmYnPWi8X1;ugL@sY0`|-Ci+Nqa-`T7W+s)lvf)n)iANKTcG`k1VvmvWd}1ChSBC1i zV?qvhAts||q8ed4;aPTBwdjZJcC{xiI zfi?4X28hZku;y@2gx$wiid(!Sm7_jmeXtblo$vGHFBw6xi--_ut{)7}J6}9r;k+ z97(z#61~F!6VTOE6=PVb2d$wy9E$#LNxhY=0U=QD$!4AfHL$AewKF=>9Aoh43-l#4NzW~HI`uuTclTvfE&_LLv?_#xq;VUP71 zaBz;wjt^ML!O!)v_inwTf=C+k`3^iA30TF2CsknfAkmdwg{};WadI2UDx_nNPSGJx zX>&$IwNe4OR%gPJZx920r1;*4)*FZiP$1|akX0C{`QZsdR+qQz#ys*L!Zh@nOegoY zF1|`*mC(}Kdj~`2kf#|x#l^ymDlv0EV3HmicKQgWbw$L*9bwp~HV~w(k3p^ASi*MT z0uiQI0J`uo%zFyG6rxMbIv`d=_-= z_MS3r2Dm_1jC`s|5<^rb?K$XO@ji3Z;qwn68)FMH_`|V>0xkHj28k+YhqihyNQp)t z@xhTd;Jbe?l*@j8IC%8LUe->45?n1cd(!MW(OiaRS9K3rkJ?cdb^6CEVj)%)Z(5@M z?0%t|feSUWSj`Pr6ROXUJ4-~5Md}^F=tgB=%tKeZ_sJ>N=_UeIK&DCXcJd3Vx&pW# zWRB_m>?84R{Hf5`K6|#a25VSl@C@br=-{j2ShxQ%SiHDp`=~8Tws7p^-AT`AFk=d( z+NhR7P(S5J?wS0{eGUxS7=7GTwE0AbF^@KkmUjS3xOS#j!&oFeXP*C$FGxCo@*4hyqdeS}_C%n&u+s@zu8_2}w26ipUl?qbP=cgOcx2&F8g#xTg-|au!b_Dt zk&0pH1Lp#4Mgq}&T}(*8(5Fyusj+=R0)$9$2B+qME%W#8(b;35{#MJ*zZ3cHgcGJ8 z)YKJqK4G{>K*J$xyWdPTd;)rg-R$p{Azir72|XryNm4l(^GkrjH%qUgnhOnV01x$K z8FNd+=!hNQlq7aX*AU$(KI-wC&4SFl`v#pEzF>57cZB5d$(bBw`fvk`iHRXF@Fm+r z^xIMn;f8@)%0?_pw|h}aBRy5CBV}vZhG5?{d2sMt<-ubQ2|`WCT5Ab4(@3? zWXLUEjwA2{&>4=TJd|V!df^fthY(<~ve6;be(aXqQ3${O+?8&}c=kV2 zlJ-b$s}=Ka##(6hwOMCx1d1(!Tl+f5Fo?iu*S2kAPwBAS=~mP@mNh9cBLi3P?r$cf zk;gcqhglz+B?$T>&n4_rTXZ_uHi0rm=ml%s(pO0n`r!8E0OVO};emmbsHZW?7*1>x zkO0*zkfhBA;G)`5otT&bF(JLPj5PMAeeI7Bh^h{o$#;n4fInb_&5LJ6}$T-R% zYU=#N$dGZJN?x7}=8#CO_7_ZG_15qWo<{8UflL?Mls^JlW4?nde$y%3;c2-=R2`+* z1z)h%NW+U7Y&fdF#?RZ4C9@S8BB&A&v2YbHd}#+#`*p9reB3s5Y_fO^^}G>XWD+I$ zk4YgHZ50)v{g3Gn+{_;Wk@Fb}MRW68-E($WAIM=adCa%X82TOPi_mlg-O0Y*c<0fh zcalBhfr)>kuZhWqJs)<9F7^1?m10;1jTFGe2+m(kcXXh180)}xswHhpxc`2j~h^}P0{n=welVUxELZ1fF5On5{(Ir9j zOzJ#&d5|jVM3v<_=dtRfUxwyQWaTP3)FZc%6ETNL=EE=;{6v23BY;ov2NRTD{)JgP zJbrbiWVYcVBRF6q+J~0e%)f6T$$G{EVeSXpczY-R_#Y_H=qLI< zrSIwr$KT#9t|#+y<*soZkDarY!Ry8ZRr&mn-#cFG|K<7l_1h*t=974{vBL^HPlm+* zb)qTm^OyllVMatS_s=v+*tc~S?slY17ctC3&#&k_;v0%cO41ba(<(}c*pu3o&qI%C z&`%g$fPelI@%_{+M+v__#{9P*l9?FW`OohZr2>($jy+~E&mR$GJ3k!!;^KDl4ItVO zn*l@>eGGYPcaLJ+62=EjKLXIN=Mb~rCbIsHE}$WxH7cn1L@f@WetpcJB&RLKoS=`K zxb=E6I;XZw?C4}H-=f~iCDGGk#B1vuK1JMi(J6 zyo)K71tCBO@!Y_wiO4rG3y=lLJ4}4rL|n3yp}lh11xQ7fZL_Cn%gD$KEF@jni)0dlEhwP~#af|JGAEX8EgFR_n5ZONgV0gf+p}6ar zZg`_7`%xGYTus)XJztdvTc9CGLl!Hzs7|^-jsF$L!g@g$6DfE0Z5B|*zHadvc*eAu z4C2wpmFE}@%_}aiO}az&o<=w0{OT5>1bCu%7`A1#nUHNTh!x4s-Lh&8F;)WUWOgE2 zFa|^P@5g6Z3Ss&b1v4VFg|H{uM{5VhX#i%{;<`e+5U{;+l?)s+(KW#8qRbN?p@KS? z-s(POT64uk5lm&aC+7k5fC<4S$u}6qyN!}S?FCI1Eu$i?)kki%BX| z=(Q$e6-7iE)b^$H9={RbwY;1*pj8mX;VA4MvumH*em{%L%nRXeYGJE}eEvNP;8}er(_q z*I-287BD#00gcW}(cZRg8~7@z@9(B{)-2=|tXir@PJv5 z%4{g!Q9))MZ&!Deu%K-zvaL|0`E`>(HCflz06q zn}H#v`AtmvqZ(Unq3*T=#hQl7gt#QbanwNZNW;VIy7X|^mAcRkH@L)|cL&S?>Z^p! z{>qiI)Pa3||MV47lW3u0=i^&~mrZ~ZfUzYpkOgVln4nCRFV4ZMoHx#ap|g&g#06}i zFLFCK4xRmSRyDTdYZP@mOqEXB4`lzlt!DJ(%ncc!t*;JVXaE%TV+9~r9bi#VCsE7Z zJ6#=fBIa-e%`iA5B*a!=<6z{=9%futxarnI!U&H_K|x{>`ih^IR~%;@LM1>Le6X7k zSMi1a#>F8W`73ejs(`$1CxI3lj8WdGtg1@~%YmSH2d^H^72{eqzDjb1TfR&1$^RQ) zA@NM;JH{Cgs*O-bFEeRvz|{zdJ0W-GoF%JTz^I6Pes{vGbM%2Oa64EsoVpI}MaIK| z0)o0}J2P-FNx0bP;2$2o_H3}v#0Wq`2{=hqZIzsS`+#<10?zILQxJ*KE0m-Gc?h|M z1?I|+HF}w2G`m7+JfmEv1eI0)d+=5p!|9Jn{~H@dsk3I!c0w8LGOSKFT3rRPf}o(_ zxMdL<{|K2A+Ww#b&J{$r1^prj)QSn28ABD#Y)oEO2`~pJveE~Vwfg|Q9e!5)x@mD_ za;~tj=M~7f^qgpD5r4kTXX=sr|CfLRizNMkQp>e*SZ#(0ZXM4;L7if$sS zkEmYG-J0N~C#SC;9;ITTHQKa%hKW{LsxAH9)UrgCljnXy6i1+NEKA$(to-zU03X`t z0BSDaRegN0_&xoN%@)_}yx)K4cSAIPEFI?kY>Ij?ecekIwV%V^!@SG^zbyy9J9-dW z^%sN$v%VF`0HomcxSI?wBex-D{~HN*5F}W16s?TEBf$+{2bqC5wJH|kh#ZB7C8FGb zB;6^-iK-IH92N6`>yY|(^ipvT)6sxCz#U@v?}PRWDRHe37Vbqx^7Zlg+C#_izrZwn z%yA9T@Hcb+Ca5wAj86tHzcI2SG9TtDzI}(<{rB(wKZ8QQe%q-h|BIVJnv(OxD`pUq z8PNsf4=RA|=;KEGfs_Br#{Lr-PQsT5^8VSE9S2C0`?6zI$e%3nUr^Mq$7b?7{Yi%t z^cc8)vYNey1lP}pmq|LmRvE?pCidIR!8=gDCCBmCCOeDAY3O5>Npc#0%(Zakv;7sQ za4-Rv77}x<{HsQ7i$V@`2XEkycfm5(zi7yg5|#h^D*l1N>t{A$+!^aW`K(lX=R-9V zfBZHY33*Ay*u8?lW6r~`{&UD!z}uETf(bt1#4>4-LUxa}qvWz$Wi)z2O7-6MTgz9g zn}sCy$3x0~1Om$^-`+{ok1mtmIjKgSbaBTZG4x?@uhhK69CW9ZO2&rTZy5|VvH{*I zDJyUKq*(R&(zT)Zi9?yV{mXmaeL5cS;jpuqYvJ<1m2;QuQlk@ z2GR*!YwSF?q^YH0%9%gmI&pj;g$FBe&4lAtFs*E<_;DU_@gIOMRcyD?JU*hi;`r_J zwTlp&Q4ZycoADuCezU%NO!-pX2eTaHWw*vNg z#;EQ)`q4-keYVmMQYB*4*Kx&w2_AiO3pEvHpp zyN(xv_!fm=@%CSkFNQ9C+ZQms<-XRPREIZm=0!B@sL4W;mkc?hrA20|Ax=euCN5m( zGH2j`ZuAS_Pmr76GU|?AA{g=JhqVThRp`5$WfoJRPf{0&rW1Rh#YC~4Ov0H>(6!0t zCF(ohW8d0$Fg)$EH9PV)N=X^;BFo9K-X+~taEyV)nHzUyLnUJ{vSYGvksU;4U7cK-g$t!mD^+Qr{C-U0qrwW&PCiz1Jk_~v0&tZ9)Up>!w zT@GrEfi$$7Z-uKlIz9+f1N)%0<0UrH*vg{|{_UQ3Wdf*N&<@52F!ikF0N&R6VzK#I}RQ}`alxw(3V1bdm|Q4%MMcBNlmIf z!wSPd;X1;2K0fi`t@y8Ql^*eryU7SI13EMkXxZ2B+Xxf!l+WE6G(lr2-twdg=hHN7>D z;%~w*7MMhSouuWH1{K1zcHHkDVD6v>Wq9k7b=>lW)!U5+QDw^S`m|!@%Hp9&34QO{ z*jEdi!&+o3);6QT1gdlxq@J-8madRJExMiP@@9X$lX)j&IwfQBb94E*gV(wPPj;S9 zus@ML;`iX#GPI|0bkg!r?3}cjV(OVb>}>td^!xfAB3cYgveG*=vVBltlnQnT=oT2f?epW zS?@1n%H^KZx3z9@A>QhX>g1TO&MTnyV2Ae?IUPU!wMtvl$&Z)p0 zkxCBwGjpvD#R-d+q-~Y;xz78_PaP&JlusOUe)W<<1guZXMntofA`L?-{B<8d?xDAD9|CIFrAw)ppqKF+REPD~rTVvsV{y6Y%JE#{#RNc1K1QL}n825# zxVk#zZG6DO?F_HE7T3v%DfzdZ4{#B5ctYKYmdCWIQx7rsx*{?>!(Hl~`tK`oPMzXj zBlLW0k=5#@w*uM>nG2}kkK4I&2Hlwr?vuNm34ow{~*-|!^qo)z4avPxK3SV$-d z&j@LJp-Me;=mSpwo?W)~pPug6Mt5fRiJH@^&>(?zt`;;1VDDYr+}s@Z6%9ev3dKuD zQ&R;J{mw9-OmmK|Hao6B855S}@!@f2QjbV>?w}^-$~U(O(JzMd^GRR>*n5 zOz`x#cu+8>&pJt`_hd1-zk(Bp9LyX{O}!&7mZ_K?3o|?IxkOHL9=hhKMxmzzn|6z8 z6vUqHMo}t$P08`<_8R9a(y5uMi&kcaFjv_?+wzhj0*_^rU3w*Z2NVxIAgXHe!G)E} z)`S?IrK!04a~SLD>N-11)WyDq!SH}`uv#)aT)F}noo2mPj#!jm8rq&oPmSQoe&bYF zfdU7t+V#>-ZFtbZkMNVXNaR70Y$kX4RjXD_pD}}Q{Ag~mNUe#CDtRYbF=Ng~uUpHp zANydw&`j#n%g5rprZGKPt#}0snq|Tc3!}QiEFF%(dx-H+BsRCTJ8T( z_)iHsmiy5?Uw-FKWNt^CDQMDr;X$hKqnlyQi5X8XiyVqm)hPI31?A^4Xt1 z`rYi(mnUBYyy)~9D_>9j5tI>`y>uJcM|73gMf%30GwR${oEo{{kr5=zfZo(+|Ymzvf_Mr~JR!F$d<^6#I2TU=Cx`9hHv zwk`kT53?Qned`z+nJI=Mj5Zgo!)BemWhit?Akx5WcI|A@KQH$i>h#>tKOcU&)ANr^ z8J6E$rk`u}N8Ch(Gj0DuruA4<>9})rKYQKlCn6ciJ{CuckKRRsy?Ed;HFv$oV_25J5;(jf%5sVlL^7CKzWfBsJvHP(A(~)@;r0qoWkpkjN6mw`uHriI!&QP zl`P+Ek)*K1oLMv3HEb&S3x?ki>Evzm$a>zQunlHv^70I&5co-$z@Sn`rHhQop@BuZ zhL~sSwy`d+sJKb|EX)Sc_k*6|TX*;Tpk&KM7Yt{A(5^kzKUGQg+E&|I!;lS?Jhx8a z^MuaHUm9(^W+}hY*3t5QWIPB0d@w=w^-Dv=*0fcPitMep?2oPjPY=X&F3&^ff< z#IBBTuU!!_=r29T|Nr)}+RqE(Jvg_P%^0jd%Yie@x0RfTv4=LLVn${(IRzh|QjgK* zQ8LdOF{!02Wa6N~FNfb^2o4*816Z(?ELw1u(^UstZ_gOf;vaoTRn;0=)t{vW%;4 z)k7_3gBp!t6SrzS^L>P4Tw_=~ib5GoEM12*OKaTQWQy#+~clT!!pZsCQz};Wp z&i-L?Nkx|cEeOQM7*BI%#PmwRR!{;~Uv*)$$mydg>gg*53XLh~o*n@Xyf7+J&y zxY#5H1p;hZD*zVgV!{`)vDsm7no$XcEfe+b%djWkM;quKG0V66!r*;*?UpUqeBa{= zH?G-mu0$4U7E$Q>naS%=gsHesy?C{l$^>wzAVV6tzNrRXa$f`uS_U`sev z^*XkFWeGhkE{2bnX4+P#Du{Vr=a!Zx8W#qD!dV!+p#aY*0PE}Y!`gG_`VsrBp|n?J zv(9^aFKjapv(A~CJ{~N8Ug3WwEY(F9K))Z@%D_Pb^Rd7J51ROvE!oNul4&k5^6Wn9 zP(W79<@Q2U4kx-Al(nPk8wBx`u0;e|#%=+DMbiVCwtyLyMS zCHe@|2;VDilVTPGZC7tEJF*H(lNG}fI$+%!*~IA>R%EA5%>89@rn1P4rKg`){7)E{ zXNX<7h+!PJ+Z@79IRp1W+Y9Bt3HF{qqtk~%wav~k7TbC7`4$VRJUDJ<7S@QSo5o(e zl*eG}Vp`~CyQ3g^24rMzI!a4}fZ*)IsMSw#W6ME5xJT8L>XNORSnz&5N$jS@7*})$_%IBA# zgmIEB0%hKfa#jylI^Hv5dG)VBAxL884Iw2`tfQW(Fwa3h4i<7wuwF)!Rj`{0m_i^` ziuu@y6D?K@bLYK!wf}9emk%ds531aK6UQy?oaQ3=yU@r3?w@Pa&x6?k&uoc0Jylg)Y#hF z+uPdqqszQUQ~X*WXB=fd=_R)zGkFpd9Qlxf_&jG=l zDR_qO$wr{*CunpMp2*euPCi7ZJ2&Th$Qq3j=e#9!W zkEmFlQ)gbQ7wV#6jJgSro`7H()_oMY;i%&YJR!bp8DsXcO`GmwP6b#cX;aCH`GI?g zY$iqle!vVLqo;vdX%ei4O*AVlvMCHh0hyUj{ww5QFX#ehPJg>i&nN9j-ti>z6Y?V2 z1E)_R@p|tWD+XI-FO;2SBDb%b?d{t&eY==a)X)?!f*(q6$URKT1)~V0J&;fO>QD#b zM&>s%4{>>`!@lu0sz(VMbma5mPS($(9kaDPSl1UUDZ`c9v7P)ve--<~5Y?M%F(5QXQcHWS7;Ys&p$e`!x)XP8 z;Kz@it5zVJD)aMipb49{1tcu)K&qb^`p?s6&P<(a1*@avXTC{FwiHBUS|@M}OHsBI zT@^am2kXpZtr)D)phmMB$K(b| z-2`1v>(_pVkEK{K)Iu-qfD;HJqrJ8D$>&X6t1eJ4;?~{E%uLM#`fF>@yzkJvdTgg% z{k)P$w*5h-2M^AeF@t!_p#DRCW12Gu6kS?e39gu$g$6&iM}kh~SL(*tG~}seCtq4= z-O+Qv!OfDOP|l&t^ea)z^5JR*1_#3@XG`}&!7^gLWAN~~q+>1urpK$%yrp#5_58B^ z`0D!jfb2JTvB%1b9$~w-(i$Pao3Qw5PyhxHx;VBW#e0vl0u?QCLuZ2jmXAM~3Hf5M z0}dF>Z8BSvXs#{vW%|C@$;Sm+1Km=*yj$M~|L^U3zl$$YH=~C;4rBksHDc!wJwYxz zVEKTP6ETEEtD$khm0vaYe<<9Ftq3PTM~ATaDnAlp@9TcrlgO<G=A#B4RKYkpOM_OpPRZ zIWXo14lP08Xy63ie|Y(yR|3)~ci=yOZUqCeJn@3yKLL z{gk*UwsTRU3BBi;_g4ryxl;5}6veXE?<=#Uk>3}XPHATURewd!I(_;vRmdWP@n>!Q zhditjyD9sU{PY)3mtXT!Oo- zsS4KyFOx}d&|Uu5g`O>XdUqNpS7hR~+3K#3%nA$vWxN zOLPB5#7o6bGeoKK9{?K0*e9v~|MpJ)%bWba`_}*IM>D(&RuW1s@b_E7ZJ_c4#DGAp zJwoP{4a7zfZX=h6`CLnu;t;`0j-^fV3xaeb|E0@nZX+)ph>%HCJ9qn8|Iyx3Qa}O^ z&m$fNuQ|r9P=7nxQ^@H88gXSPQ1_IO!tz;eO^pM@2&HUyPXQMZ;qxbhZkyJfyLLsL zW^QAEM|=}n7L9tBTK421Us=$;9+EK`RY>7ii zO2|Adb8(l7edYV*fMY-zI{#>=;e!Ud>~Oqq$Gexd6KOT>U@dYgo0B@&+~a4^Ks2Po z@w4yypz3j#x?+oh__aGIMggm4Gcv+cu#MZJ&EP?Ze)(g5_3t8XKiby>?>f`~P}zGn zQih>=%CQX}7?yA zBTVURz8z+!x&@}Ky5%VE?txMP&4H@T6ggY@nz-CX@-(7j2XQW1We86S3JMi%EVPTa zdHML_A({g<(&vQ-4Oleht;5ojB3L+zVZz|hP*hQB$UEX0po77`K-krf=P%3prFVIU z_}aB4uf2PIpz2u6%nZ-xjR(H$6fww98Yy?o&lW~U;yb2JUiM=GMZ&(zuoe_zB&jY| z*2dDZva{g{#8MxdBvX^R&BL3SS`M6qUR{~kdyj#e7vCz>K6Wgu!)g^#r$LMvaA6Nh zW6)^^s@}}pmyyD8^Oh8>pGY24G**;8;<=z+wm&pDG0mM;aR2I6_7*oNbguV+FQL)( z>c`Y*O*n|&0N~DIG(nZ9vWWKX zY2v1BoUfO0MmG$qoKxRv5NP6xT{Et(u7pT(9{;>0quEJY9UaA4B2#zN0r1RWWQ_Jf z8G=mz7A+48m^-%(h=|ps28M?2bb5Js7K3EIvd1U=^3|^t>Q{Fb)Ju{9Fny=ajrz0V zRKoE%EFFIweuidB&@&q$h9+iXSaP6b`~EFwbPFzM5mbI3dJ7_4<{5$(`~3McsfEDb zL9uXX);@q8efMxsIlcF+n!Hd_>PMnRb=(zpO6!XWBY3^oO$kq8H0N+iX5mqluz}ubf|2(q@-l&-NM4~7}Rhmx}+R>wyAV2cI7qx79f(W-y^bb-@cl< zHOE&Szi!VRDKpmd`ukmlboFD1fol|9s^qs3qHbdi%0c7=DQQL}M*+CZ!O5v&!4=jt zKO4($qKC>NF#tp+ozI-<$_ANX1t6TgN(rNx-SJZfbB@c1l|ia4xxG~>b0;=F{NTf!4BCo-v>e_9%YC(`SB=YxrpMG4eymtGPF1> zqdYxX5-D?txp)#*`FXR)fH2|SXc4YGeSOg}WG*{y2)6=*5Tm&4wa}Y(_w?*n_<;PO z&QztIyuSdk?WH)XS^~Z++4DFNA3nYEi*^1YtD%XB0sI8~eiAmlSwt3p;z&QYnW8+{ z!>+cTJkD~1=-eH00u_@M(&fZ?ovo#+{=UuAr%z4MNB()|cRs^?HcLd1Pdy7N^J`ZZ z2Cb%9z@9J>g4Rz5m>eD|D)sZXET;WD!_m841xr!!L4>gR?opK+5{c8^iIy$ap!eCo zc&wD7NONy%7+fUjY>$gWr9se(;>G3RC*d^bn3fF!S!Opel->e9AcgxlLi6Fuxc9*C zuKA~MEuOr6n+@q=U=0>;z%VD<%!gV(|bUH~$JrAqroZ^Qov)^nEx~<-f1umC2S#s1JTo;I=)L|oK{-|Cq z+){m~V{p#}^$#um0V3=8s4iFeN6~DLq`eja;Rb#JgNo(Hq;zJFrD>)!t2H6E4y><~ zK39b4((|`91{VB4n#pUZE@MA>&@$kbcQv@;;RfU#ojMy`CydCPJb4nXhuV-9S`KNLyN|0h{y%MaVyicDCr~>x^AJao}LA+SyRVvepfNy7|508 zJ|vW~XFgs#P97YN>p%Uu_y`4Hl@t{Yl`HzS+ z-}~{=h=E5lInPM~)sJUzdD|ORn&`s)zx&pthQ^DB4N8wr$n8zYsf@OE!Kc@HasZ94uN# z5e4^Ki|=rf=ANBdZT6i5c2H85?ldmb^Ft^?ZmvvfyD!?~g`j@4_Az*~J08 zOe2lFl=Riz*KSXxG&jIc@{s=a@Rq+$%7=L}NOsINyk;~$HH!l0kj0PV+ zM=P4}9N1_IuyDu;?>^0ttbYJ$Ezb_43l@{@a&j;G5#_dR2A_#x!Y~ocbncb-0`@)- z<97puQ~`;;VM8AvZlDd0BKGfs2djdBT2wT&`ZAIpe7ESPPgf~~RV=;!HqW%A_A0eP z1bY14G;kLh);Q3RrqMGnz}SA><~$%?WY3=J>u&)a3pl-q1sR4PfxF>ivvF^jLPJXZ z88#Cuh9W}AA$DY-#bXPQ>jo|T(C{z{NMVyA=Ay;$B=`1Kz{pEn%!u8*(uGghjOVt3 zbgq;J=du*Dtw?SbR$EdA^75~4wp+WALGY6bKgR_M!+7cW&uVXvNoYk%80&Mq=rv(e zCJT&wURzJLGSqTl8E{+|X361JDNu__THNf|(040c3i5P>34|yjD^{G+YM;QjF_!40 z-adeNknManx_2=yfzi+}xCrsO=^ZFOApC&94#I*EwA&p8lrnI^QUXB7#Lm%;2?4VN z^r7(`p)-0V?FXy}+nSp4k5a7Qxo2l*cc8)izRO_7*|Rg_rFeP0ssvq%HP)BnYI$L7 z-Ne`!?YJmBx9~~HbRJl5aRkz6FwG#J`E=8GuDwS_F8hqJJE&9Vb6%X{C-^LUbadof z4p{JTTp|-!FuHx$k>1#}jUx5@lAYhbSA78%V`25jMG5N{P1*Lxr5lTG0;BoPfX`{i zT;P>*C`gi2R{dSigu9Fq>2;nf{uA25cgkPK`Q`1Z`0g%mNkl3R=E^A%7)1d$SqvB5H>tOY>#Y- zj1@jk{@1Q$yN$XA->7Iu_y!>ww`stMGo>wJJ=pOg>$o5|ptndgF{gaxY3|LxVb}5b zb4f#>Y~iTk^oug%P1;F7I>VW%mvnw#m8P9D8C8Yc$$7+qtVyouhxgl=7AP!aiz^}5 z?F~b6p_?(IyyMCiY)lrteRm+0EElebowGN&HzGbxomK)=iX6G4_-oHpI2ko<_Ik!D zlC5jBE8~T2lm!9CTL6N23#YO|Luzzc4IVeKcB`KIyA=O;!=`5c5~$dVg|BBBh@`g| z#Hxi-^9a@_T)ny%axnRjwJ%&3K7K6f@#zt^XldA&o&$Vu2BNyXgUi6)9@QEVHJU8l zAvtrUJO8+ZU?NY9^=FDpg*e5mR|$m6%F1Gsy1Ioezw8KX}T z;nH7&YK%`KF3IkTet$2KN37#h;&K|ntSIkuMn=Zx!b)6w{bVGive1PD+lc9r%OO@v z2NqwTJeiP!{N|L#WFUJao||d5H#ciM>+ z5>@Vr&RR{&dv90XR$91V!I@Ibi@&TL1o7aQU(JfcorcxtHSRLz=DbxoHf>5p_fZ8W zCJJWGZ$-#Fb8_x>5)N7yuQx=elYQPip#x7C!&hzzB_qi^s;9CaJ$}5cHg= zi+yr6!&LYV?y5s$2DJfDtq*_}6Vt(nJS>;LF%?X7l!bW+n3kj^(e}<;`-dvlWj=U- zk1V!kjVW@HhxHd_E*HC^@#p(2ATaBzcG15FNeZQ~q{P?PmsM^lJhXacN)OzXqta=yJpMnUE*lX;7csWtAy_h#HaX;!5RsgkaJ>RzR1GnfyZ z)_R9}GQk)Z(v0QyrZ)#q4L|cZM{)=G><|)c{j$^ElCI`-l(6*InRIk7&+DcbpV$8^ z@R3_^l?!>ivGx&BtOng(fOkk6uMGj9foRhh4Q0Tv4MCt6O zN2KS3rx2Tob4DNLW&@O2`ilti*f0lBFDV5;&J)3Q`t);> zUn4)Ev4|_pZ@wJn5#NXm&nDtqbK$~kO5f0lf_ly#-lE{lJfsdJqfG(|pTTQLR`>Oy z3Izt(DAVu==Pf-jQ`YighuinAD50m1@A98$dNQY9V6Nw~th8I7J{{>VPIOqXZ1+#G zToJ@_HDAszak2|b-o$;il*tkgTpqg)d57+?L|pM|E8i2eC_phIqc}M^;W%pRt>6Sh zSmUR1<=#P&Y9QH>p;y+d%dsPwgssja*((gZhtOGW%wEO}Pqq}M6BT^H4dP+L>?HoFDaNoG# z4O0KcH5#jdZS_w@Y>>#biUUYzVg+2=rPeL+`FlN42jV_1C={=?2?U2 zq@=rx_!2Ac?5oSq-M*E9a?vB_{!g_L)3sknaZJs0D0CF7oIsp#aBx5~$S<>%SNo2H zP3vyQ;Eb9W3Zz*Xig!`9Cd^C{dG$z|4?Xv&Ni@%Eq0*8PxXA4{G+aJcQ{$#uK|@1B zLY?VUY1em_YbS(lKgsAZp7*@x0AM2YR!^_9)YsS3Yf`d=zF(dFQxq~8IH%-?xn<>{ zM~>x+Q4H>E(zZfVn-`7~=>Ooi!+V6JK)s-)4!!EUTa=`YEsy987yl81#}qq}o1C*& zh>O?S=4_uuZVbhC7M|GgFO}J2su%Jf(gNhoj(?>m0an{FjOp+GhU9_Cf7eU@qQ(DS z%ZxGR|99UaJo^|<6?#5JW9n~>-NbD{N%ZrL>uld=AF2bMzN zxgQfAU`ZR-jikA0moC2O_!tX5Wfx8o-DHt00=5`W2L(6vLQr`zmi6AAroKXe$@o zzmK`^L2PI`ZzHgOkLFMphOfWlDHPO6lGd9jU^EIVPu#o>S@1d5LeN5Bnl-@h9@@Nq zeL#=jvdvFUF+XW!2IeH2$3)qln`(t!$2dp1U-q$JIyU1yT0vc1u}ar!0p!~vW{$t{ zp!FyAnTr>HX0}GW0hAz2dWKzRt=#NZY~>El_$?SYVC97mjgObwi8VB=rB1k3m<<~z zu6@eN%Ak5vNd{c<^zZ=j7l;1YqeqW`xf{~~CJE^cNuI{{|F5*SfU0`kx`!=7P!TB+ z0ckg>bR$R$8<1|1k`C!qLOP@y$*s~M2nZ-C-7O#>jevCXUwF>B_ni0M@xAXDpJSZi z8H#)V;(69H*IaYW1!g_`y3!iGxu)-|K^X!nc8werCi+is;J~ywsJ?Mnev2dh;d2>J zE%Q~{AGjV%`yaSoH>s`0Y*y9apRoRY;2*I5Edek<{~gt%6J<(>gpvtJ=PANZ&cP)dtJ+XO|n3E!WT_jL|J z)R{sD3^p3epzw^m1>(n~!Osw(P)UIG#YIKC>D{56o1dRwx+)9d(cT;qr)P%9Wd~#9 zd1xp~c0dum|4&T6^DSsLg2_bXL#{Qza1(FBB@iDk!9;}UvjDaD)#Plf`~KcuVIm_? zcJ1Ti+B-o^keu$UuRn?It4ME!p6{IXd;*=OdUy5+IjWrqq zPckOdlG4wFT{4g()ZBXxi7*ghrJu8Zg21rPB~ge25^-oZD|#IANr7~Zz|#SEJor_oT&Z(i{tcQlNVB_Y!P*OA?*2oHkq9GYhCqDD40MKQ@x8s68)dxNw0H34Nq5Vinw+#V!+0x10a=gR+hXK;x48aiU7 zDQ87SDpJ&Q2~KdR0srbbsFvh)X1@u9wc!}3;7T9JN=knJuW(%dyl;PhKWs3dUn0u@ z?aVGOx2^hC7va$p7ytbZ z{|{*VC!`H9=FfZJPNO$=v4lwT%F@ywUhGK_N%3!dOBFdlkIsqc=oj*Iit2+b(9`si zS)n<+)Petasb^L1Ha8%(d{cAn@G zk_WU%rY~33q)*X{3u$7YO5tNT^9Rz9T)yg<@TB%R1@&3jau&ZD2QE+DeABxs;Q}{! zFDg09%U{pyg_)&wtkHkIQ*ef;fzS(Z3#xtK0dNCGa{W!ovZeG#JInSfK4JN*AO$gw z_Q&+heCR@L0I503GU_*0UFqBV+!Hv&w`_V%30WTRbOTsFvwId;%_MgVoU;QU72uD?+? z;O>O#ZtgQ%XMlb%`I+v>R9p~Px)Sm|XEO}~18)eW(L&SAlx^s39!lne zPyfW*9|YB@%)luP{Knl5`g$rL3o#I|na@;rrqrX*v|?eduh}=| za!&sIfBgpUsZD%H9w3kdFtPzSe0+4oeQtcH-!JJH(dJ}tGg3Ic1%v4NfiHf zD1a}$ez*jK>YCKCNnO6SYlHi)vnRl|A1y+`q=(f8y3`h#_w`R6#!}f-35IFxAFiR^ zMCU~>$RHE8E+#Ag3K$gBx*nW)87e6Rsk!q#?=o~=DjH+7LZB->G0ABn66P`J4ssPK3_Bfs&H;ksR8M2;RQoBD@9xweLcw0pY7&nHB7Mb)q(XSiz)x3YFN81)*Xv z86;P_Gv)OryeUMnG6osz|j+9`$UBV)e^~IL$GM zK>s*KOAS~&=C45@{u0|uB!OGOr0(Ida3ywxL*$0ofEKGwAgE-T(Mu^@0$Ig)&W-vi zWH&DWSw8e?@Mk$2D&g9?>EdV1kuM1^mPn>^{SZFFj|JH{aZm<<^8b35V3f1qgI7~@_oO%Wy6~+>KD3A%ffk3MEiFEKY(-A~g)9tcDIsTR?_o$q5P4zFZcgQOU_2 zwm=%(Bqu+GS%WYj_Dopn#`1y)J%={aOWI%Y4#hiuxKd0hXXy}bU#1&y12OR3Z!_H# zIAW!20-+&rYjs@nCJIJp;_&nHgN}UwJZV8azyiwd(-kkl9qITGZCb%GZsr__Q=6&wQaEgaJH_gF@7TmU&L0$!YHO@(t92^7V6ZZQc3@_~VE$T-0_FfHVa%BzEH6#T|(1i6sE8i{llY+R9d@BAO1 zJ&knKU90c2vjgz_fs0qHS#Tu>@Gb~ekwB<{8^8qM`4|w`KO%HdD>jejmG1 z+01=Oc;_!OBcf6~f+E<-VcjXD=Tsis6U-t$ILzRiS~4~ublm8NPhN2Qn$r)97iphu zg|-N8F*`dukQ762w)zR=x6Vn^z(N6QHxB*TP{#*Rm^2T_Y%^}3bcDkBySKLo-JF!j z^JtxEDzfD6TPDkcR#KaJDa_gj^#cR;v#lY$sBkA({Vn2)-D!Q39(+0pR*d#b{V+YU zrq>M?gI$*+-4b0gUoAsxzsuv4$7T%3wCE<0r0GWL?JbN37<((1G0cq6Rq8O5N&?TW zVnE4If1)#l=CCt2_q%ufiAe4}c>rZ;=;){?JIjoKM5PiBKI0u>Q9yxVW`6#Rk!(P` z`OMS*{+-PXt*!@;bb{4(>2qT*C}dVVC;r!Ef|Q#R^8c7Ql1K27sjP-&zn|au=D5lJ z#`ah_IliH(07CBF2Le>Lv_1v$*V71>gNxJn{O?c-=CM&M@8^oCk-wnGRt=5Z@Z>;i zKFCn;=>{&Y0w_d)YAbvS<%g`ND=~yJuwNiC1d4KgZVrsE7xm)85AK}o ztu0MhnQCQ>uX>Ysf+8bWeY=_(%oF*Y2j43v?!|JzL)M2U91x&7QeW@a)zo-gx7pWg zX+GxgVvw`SfpjW5SBG@B9_Mv)7@dN0=?1O}k_Li``>$yZy;-HphP~*@_UqpfIw@r% zW+RU9lB6JUD-CMG4x!b{F2bcJ4Jg(3#fq-0_oJmw!oA8q;?kMiW^HRbTEQl4cTTWT4tWOC__UP}K7e~_tZ+F7iUu@56;KBX+5p}m9|m#)TcsfQK)7f|S<&D}`a8w> z%&c*@(_@^)8^q+EALY|TgoW*a3Rqnum(LKt6LgE3R>z_@(*$tz;m$Gloi|1>J$*!g zQ8YCGc9oppHEnf|fEzT>74=psatM6Dql1FLPex*acPv-^(R-g(Cs)-hw;d_Y_eTS& z58d340dp#pTUtlc3)0Ey7(_?0=)S~)c9h*U@{bD*{B6gpZJXVH{fA&^6o<8(L zlJmvveZjbxX(hi5I}SrG9aowMfl$xWtQD*Gc_o)6O*US&+m8s9Uz7w{+$pE&mes9A zb~4q16Ls$HD>Q~nY0eQjISgZEYq-Y3#on+rxy<_JNSBPD{UR%+J73#4*<>8S>3|A) z^qS3>`7+zj?@M|7Sst%#u$oO^M{mf`I-nnSV? zsEt%qxwa>Kco9wHL7T3UrwRiAM(jd17F`Zz!Zy_eqoLe>^5T4|0uAGOkwMEX`g;y5 zB|^ivxNJJEdFrN1_Q_KhNw?BB=a^%(=v@G;Y0wYsU^be7W`&CWHlc(!y-M0=nj;sMKH2E=yE<(cv@Q+Uz!S>| zVo|Qk|E|;m>bMqNc3zi@+6^W%b-r!0ZK`S?tqIz~LdF%|MM!9jf|U+N_pi;3oil_n zOwA{ve#h!y>r~bZLZ_l)0YjL4kL0()sS(U9-b5}O!+p0mhZcBdfR9()w5CtoO>g*+Gj59Er)v$s=g7G?iaHj6Wx{ge$Z^I`S3@)RySDN+TA5fNh8OqFq!7134$?=2>4$opoYa8qYDYZxsm+Wwuz zWkrp0AUrCH$NKwsT3Ma>eE=?e19Db+y_xY_M0K4W3-|!$WQ(bwj)}*P1&Td7#&`T8 zVpOlk?XsmJvmd^4Yuwm>p!n7=TXZEunb(!vhLBpe8DUUGYypy#>TMNQJ&h`dAjEjU zq?K}<35KfGEMhw-K#^Mmj)}DJ_N6PleJ6zYPM+N^Np;L5jSjyN5JLk32B1lV+`=QS z2xk&eOaD1iLgcYM@b*!x-8AXB{x8g`vL!}LZ*^-aEIw_k_!ZRL%4-V&EBGoOg5k2C zFF@=eQWrnlHdMRy_`XLqpVPV$B+x*XNi4@hxv{Bf^~t`T-Wmq_VDIsoH-XrmF-=ow z2qxxRDI61)onr^-;{*3P!4~kvgbu&Jo)6KpeadlIo6-(z9;?sKn11zQ0}CiuFAl3A zO_#ROuj*tmY`?rnCm_I3pjoc0HgOFg<+a32s;C=P-dDnQL&$}E(R1PS;Jab}N=^^d z%L%U{R`*{T<)-L*y6-HaAW$yfe)6w%cK`m^v!}A|-U8oB=7+ZyH)R%)M;1vdKUo?2-W3Qv6F}<4hCHo0!?3CzGxz|EZt>V&ImD`DS2*#01cK|RE$GkTU%lbWsd48*nxz1UhiN6s}*e>7VQIX=Fl%+LPq>Lkjc_n18u>? z3Z?D`cDH8zUe)BWxv6`ruq+Q*$;s6c;NJJ%abK&}$t45k$U|YZ|DCJa@S$;6wj#~S z(kB=D+ZH9QM2u?iq!2DKvrtP0agML@W7yB{)t%b6dZ7kcM1oPgwOVy5!QwJiH~Z!d zFM~=07WS9~AY;8qJD;U1yTNZ-TH%H;Bq3~4S@fJy1F_l8>VcHc3&`UjFQ|SWx za_i>|UGznVXW`B6EWFXs>SQhRRNdDUsU!A0J(qBp(3`w>tl}HbXmb4fY`6~r)C|rB z{D{S5VdK%s3mjV*dCiEG;y;gvR@J1sb*Vt(R8nOmR1y5-lwV+tEWbAyDUQq2-0f*n z)eXts#?clZD_`4yv#m9@;DM@g<16~OGf(ncBu4nUfjl0AV0 z<3fk#P8s5-Mw1^iT;L}=s!)JkEpj8JL11 zSI~)-0@mxz83EcSGLO`rBs7qLrLaf;+tY3Ww~mC4EmdKqVZpN`CP|bk%CPqdqhfY$ zK|yMwrn5sAQw)MMtx0@30I!9;N!R7w@aP9k(TlQWDRM%jJ9CM7cA@vD86^`!6&Hf- zN_??Z739{}*Fo#PN0)j z;(_@f4nhjU5pAq(`gj;w^_>osj7dj26f(5SE$^MWq<8}u4$llgpGkX&^5u$n5?@TE z#HpaSvs~M2pduj2`?DDlOtW+u<64qIZFgppK~?0RIBSWB5OptRrT7eKF~(02tLXu7 zh9m6eqtU;>7GszqH60xk;AC9ficLC`8jU-(uB)Dxe^Y2mzh3ILe<0{CxbbVBC`^t| z@{d%tMP~+oP{T3p#kdF^>%UH2=On0LB6__QCG9GR{ z!i`4Niy4t$3jCsmyZYY=nf!{&iw2Uxs1ebbR8i`u_k+r@?(!_e3kvS#;)LXd<0HpBpu7+zC!Yi>z4CEa7}x&u^H(y%gD^E z65O05alGGL3ET&$A!36Zjl$U@E{ztQQxu%9Q&6=U@}iZ*_3ZWXct7{VbnZ z9x%JpQO=mBRbjKe#BEYj@$OkqEY_^8y}iX??re>FtyGXYgZeHtKJXkO&lk~fDGl~n(SNj4=2kSq1jrJ|ORW0-ZU^MP8D(*xv1}Q4Nl@HLx8KJpP{o`uFjP#@T zba3j^ zz2fkjb~rn-ToH66A$G85ITzUG9Byh0z6z`0(;!3@4(jG-NU(ITUcPL+hu)@oleWZ| zC6kB=#+%x0p-+{S+UiS9;WMchmqGUT`&s#x;F=|i_x<&(zJk;P{GvlAva)qfcgEHl z_%7nJf5=O?#bqg?8VRU{bLW(7P#Y7vZe^2sB@(PG)7u!BCZ5rkxbA`+)?#~^Yik!L zoUlZtcvb2ykV(FCz1Utc;*ok5kbRb@-)46F_N}} z-&2Rqy)`AG(I&8WMRyhvc5&ZOy(o@3_oMR}n+Iqk_GWH8D=(^AZ8R+2e;FD|N3EcJeQ z{ldn5xAyU#Vs76LC$@+NMDW!}0J4i?j^`L?zi|p6lG1D3g;MSbyUkyM<@EPQv>&Jl z;|oCSJJlLpn<;^iflU8kX+Y*z=Q%W4T1R9MzV}YcD{I{JoYGTr|OjXIa6aC&hlFm6RudMpm#%J#vmM`mNaS?eUNJ=Rd!UWHS=& zVTKdCTgc z61XY{ce%KS3|G0zH|##Iq;0*m?P|JeYUd(R>hwm2mwz-n2ZNzLCK;x)NgD?f@}C{5 z%UzpF-Mj`{&*DF%+A>ILMuyqVl4f<}CBYFQma4FDj~DMC*qnI8A$B#+7(!FpdTbD> znysyhlG0X~P$!?qQ3V&nQaBb=CH0D7z~s_^*{9PJzoH^OpRwZT66(rc`qXqd_Z4Z< zWo83POHB+4%zH=tk-ylNqFfT%pTz1=8vNc`ux`RZ>J6ar%P@+5fgcJqb3kBDkDpU| z0KHP{>uDjkjuSa~9j}>l!u+zWU9`8`@R- zXshLu9w@ibAfqDC-QHKJUD!C-pVvJ&IM{p#BGt(r>>g%--6GqCX4NYUtz>izcU*7W ztv*~mRnA?Q$a*xKXjPVONFAhujZ-Bal5qY!$9@q|T*)UB>wai)*HPUnE??>+H})|} zIaf#)pY+7@^CJ}ERdwD~c^o?|=3y8(;tpz6SJrM-`wLzbG?Hm}#6n;;Rz@0Pb1RH} z?Y;^upbyjd{m#&$(;-*0)ec0*_Abt|;dNz=N+%bU?8tWM1dm_+E!!A)B{0j*Km(SAYX?o*2b#x4=G7>+q9sQIWBQ zjDU{>*3;F?&KV9rUF_bUW#Zc}VFo~7RfaDH3*Jq&9LR$@5H<$16_WiMhh<-kk{?`&3ul!>7Arnumxx{pUb|stqBK4BJZ@7xNXNo68OeUFGh$#&#oO5Tw!1IW zTYKjQMdI0U-)fa4a#{7uKZpt_OEb+yBU43`r4z7?D1%i!jq0xJZFAKolva<9dN_o zQ76X3atn;GRb!|J{ImP+{y{pl}N{O9|h=@zDWLP~;5wa4)*^HF+DHRDgIZ81dEMEbEV$=?g&iu!2Y z2MRFAv??xv06a&vS>bq#z87WJ6c(5qLh-OBT}Feyd)60ur)rHf*;6BE$+qhzw$0;o zF$9y43=aWs{e@g<0&)$bby3xGI;c{D;1Ah%krd+!W&6WrBDU+?z9Fz?{CbE}5sR1H zo79N)f99`ep^q4-C)Ew>GHb8C++N?(-P8cmO6pLIBe}*ar zn`RGjlm)#tT6D#2LO}DjYK@!N3BCD*d9IO;4BpuSk^D*mto`EY@gxT5cCt#E)A<=& zQiv5(kzo=m_V{Y)u9?Ex%?wR+|E!jE~JoJAf#15wtu0C8MpX1DU;KP_(<-t zC!B=#MtVt|18g)p8ykJ|6&ZWd-#(@ZD=j5?=;tA;D6SK%GJ4dDhkKvuULm2yCA0y( z@*l(;OG2P+vxM_XFTIVcYGED6q%SLQJjG8}Tx`hF{)D;)f4cHYVl zA&p)zmyd^|w4=<#`)6J2I?LMD~?+KYi5-($80(rP0ja z7*s7YgOXRoBz9L=m%5lUn!|(+b6V=xFJgEw^ZnvDLl)94ZEdcfUv$~Ms;y$*oNJbQ zo-6Vyu6%{z79UcdPOmBWEtqO;jNwAdhV@9BqqH<3se_Udd$K`Kau(J-*zM6u^7V?b zd?JPzLCD^&kbzpG4kKQTliDptm`hyZaV&WMUt1oUGGyz+Rd0}1PgSka-pWyTy0Rp< zAEqcD7_22aA82I1lC~1h z#I$GU75fq#RG9BmNpxPG3@Un5ja*l4A6_iBPx5*U$9k#9^|`{+TJ18%reTHIin;#F z7w{NUdC{-_fU?58GrVA;Crui92V2g?dGW@;UF~n&UIfd=?vd=SuMTmUnKFv6!ird% zMzx1WWTXgzu{yC`q|VTXhUGL5aew0b#%p7O25o-MbW=ls=F%v%uuf zs?N&!nsbmnoguMkUExh)yz6}jRv!~PCFRh=i499k+o?adV zN2rO)ZKic$ag;X^SYwb2o!Fn;UGwodILa7bcS*-T{`j;MXBX;=k>%zs7l-oNoDUX- zJ~M5k4ty>H>FL9o#Pl~F$LQ8=O*bsIOYKE8G+drOy+PEkcj?-0DBtMP0D7v+((d{m z0&y%R9UW;GsHUgPB&Sj-a=(7Nv98qFvIM8h%#ltePiw#NoucQ%PplTBD<3~ocqGH)K#ydZ`91sH8*d?9aJ`~B@pRwU(<0h zQaz0?b0=L9iYGiUlD7ZtJjm2SdcJ)5-bA8VFZM>POv6{;c_9Bq48e1WVq!$rrA`ZJ z5})kQut`6Qhk3lTYW3pI91%b7NG!pYi`2VaQ^=5P7Z@1F)^xf46BD^6+1SUn$PR3( zZp3XqB8I$S@MebuP)*A%&1%vW!zabcA}M@-U)4@71F5G)+n%m?GlYoHqrg?eXp!<; z+eP%`vInD_?19E5VpO4)TiktnZ^pEIUR$D;h%yzgdj;L);eeSZmOsAsNKa#sGtQ+@ zGMHVwt@!w{K6ez@+qGa&oUms@@g@l0iEA%(xxng0`??{Y!|f-8sCp6dD6s>9-EYl! z(ADW(mB3|nUd}XVJ$PqI$5T0Q^uw~<%CO;7om?Z+aG2(Y%F7;{;QPQ+5xX~9qLZGN z!nn0AQjJ$=4E6}5`NSjLet-wOg}I+rj~*#Dkb8U-%~ax%LirP@3~U(mVhs>sZ+_xe zUs!ORbjP7&p9(4!3yPV}vz=k8G|XZuM&hy-Up3=Lyi)*uGnw1^6q~U}sd^|=Of2%{ zXD*7g6PPj6aysCOuCV5h+g0ZbiT!)fgm&?>1*UF&;*&GF#j!SXLpb?05GbAC)s->2 zUjLRYT~7jD`OxO_t)!lTk{rkT`i_g^>D{D{U3(Cp<%G1o6Eg1HX0kq!ktKb}yZNZ; zk5^sqC*=L|Gp55@ik7_mN)dzgxtSpCrbxL^yI?OH_WC9Kc6K-Zap7Ks8d^K?jE~+# zOc+y`#kbj(IbYlb{Pv3HzXD+yd4Hd7dfL>`fKl{Za`cBZ;6p%<+gBnc zG*0n>C7IGey(L46SFBr&Fu6{0R>1SASYK?AHJ@_ron)`;THWv7jk2*6oI7Es$vSO` z6k1Tt3IF}s$X>)Zt&i({p`=yp=5bDA78an8Q5Uw-R$(8fuzz5OrBd<7$FA~<=}|2A zW+iSoNj~-Mt@{1h>uHJx#>Obu&oCcqfEw?KEYphzZ{f=V)Rd`{y(EKeBapb4DjzO= zU%-!+>P2`p*$yH6dt}NLx3S52eI+vc<`J0pFYt2U<^=wAHC_)KC1rWV#KP?Y-@LX9 ze9-gP(-B6|K2?5ghedh674Gx;!nJo&sJEE#1?=$O-OA+my5UG+Oy-4t(Og&(!qnoh zNii>sQ*bQe6Tq7G67NM^5Ig(kUIgYBu}i4zh=@mgjwi};IFI%*etZ-Ebkwh2}8+eDowI9lg@KCf6i zQw~-Zgxf4drL|C|=0P+?6t~CGx7BgKkXn#kwFy$vA>CpVUBMb%tyZaqQ6f2gB`+T{ z@MHN3{?*{l7*@rt{O-SQbZWQ%l97?eMD3}&OJ(A^?uOi5o?xZ9Fs3}UBApX~AN~j~ z43_DcnOMe_#|eykbBSzV)Afp|-tTmE)XeO3zbp0TPoJzpMP|l={B?N0brA(H4hL}9t7O60G{?OULTH~;l@Mqh95wjCFo6Wqp~hrYhSr_1*q$MZHam4Dk=ts-As z^gtv$U+7-E#bJt%pQNV|i8f2s+8+NLnz9CeI_d3`*|+8}e1h{9Hm`p}hgxb(biLXl z4ZPgniw4d3Qr>gM_6Ljjpr{E6%Hc3-=iZ_?8Lttjl}&W8{eef^#!cydI1$7PTD%`e z`>EgYKqmdI)TCs38e5u^r25Be^$>e3o>eA3eG$|XjlaK><^Bfe&5m*?EDs%R17+FU zC*(GtETlg(g`lB{1s+^i$xg2)y=$&R(|T`xv3IMMO51Hhjx!=w^`7JE5gK+(GXMTX zxOC+l&U#y9r$>cdRs)deb>?~$uBXRg07Tg4aFwtQHrmF4TKGJHs4;y>Kh-2BsE&y8 zXgrB$69O%K{nuAlD>hi@g68hXfzy$5danWg?#>uFbmS`vrZcKX_>LpX>sRu+e}W+J z(M0L@L7V8>LCppXOnc25H;!9%W6X|dqyAUi%8gV7Cw8uu8?Bg**EmKX)8tdNv&^Qh zqhnLxrk_7%MjBcMHSA7k`tEs3aaSp0 zyCr;=-CMh)`jnB=Puef3Ux%)@evoHuPjkC(PtA3>-s=Vz1|El8gYnASnnp7(R0JVp z$)fHC)jpljirE$9VzypGi@w%CQ;NBX#YSyFhf`1_vd^?SxcK}r&OHNkX%tMKp2-Lk zq(J?cBLlNy5mZ1_EBR}XTDq@)dHR}sP@}vCEmDG%(vzxjozy!P6S|=I^ch1KNm&oQDHHdew>X@1)ung*+bOce?l zBxEiNxcX$8!d(JfWCLbHtDTE|1$K2SBgD{N^7i@K1OjLa-}0wva_CrxyOXEn<&zWH zuDb>+A7RL`#Kj833ZC_++snGmx^1##d^?Q*asd!mZx8axr*|X1-_lj zklfL&I@}H`9)&!XP1SZQgpp#CCB~^yQ73U4BO{4huGHoD@zJqB;nMof~t;vY%X+w!i zK+?paHGufN2a^t(BuU*)jArfTx8Yv~5hxH=(Uo-_hB0T_g2z z1s6N7gwtPPr@rVri+woHulRAznJ3#I>CeBagJTENyxS_(^CZhds!&?|(&qbzex1O* ziup6Binq*hqLJsYT%rODOK%)~zoTMb+tBvg^4pTtz!0=WUf-T<8BKJ3ebTd~V$n3a zppE+1QgJZ7Fja;7peupHYIn6>N-6|M$;N!2ytR{6$I})O%DXWFj&9#ex z?$tl%cR$)2vielSQFYMG9Q^qzG_f;jADrr%kZ`ZRd`;DCjXl#;U5AIuZ3|gPg)6DR z0UF`Kk=OmOygRh+wm5m-RYx#1n7D^y7C4ylbl=Le+Uh&@!8_e&;2r3 z3GOHRm-z)a?7?xSI=-J^H6wJvG|}Dqe?sEmCCn^6Xxx-&~5T7`0g*>?7!B4xjh?eHiV1P zMf|c=j#a)UQQGat9w%H2ZYSByUJ6^6$?s4J?C2poPt5WwUSWJ&e+gYy%?rbTBz$zXx7MM#+2eOJwJoRnR2>u{)&7s34etU_D(mSPD<$9z;2JHQhkQjjH z%}f%f1!p@Mp9g_GDta5t?O3gJ?UQ^Uz@S;>n&B~s8OnJ z<4%~xxr{LW>E|n0QmAl~B-sBBYl7{kjo3$34i-p<9oo)Fx>~NzpHh*%Kjf%4?u+5p zp!a-@ONqgXcC`>2UYdLIVKM7jAA)=P?0xHcRA|aI7*X#&hM>mJ3w@_G_rDQs4g1|3 zfkozDRp_Z_XC7~HQKJP=w|H`0Rc)QK(b`1D>xx|aW!q0%6(1j^?Rs&Ve{IzL<$Gae zhNXJzmgn)Pnc`k~w?*E}>C*Fv*GSxHkoNW{9EC7bS<{=-PwKJB>h>cYx z)+iM!$7lcKCiM6?VDy?0%qj~#ellKZq1NkW6BDH+Eh96HqxJa)so+t(SwUXNu;tfq zy^HAIz>>)rrm12*A}4FZgx5Y%$F#Q{GeSI?*U<(=TZw%-i4(b{2tn5PE4kL1$7zyxv*gQy?kJm~mZz1mc9;{4z+aK-mq`W*mT*#2qQp8&M z&{QGdakM;MsU7fxJ1CI(dlQFQ*}*MQ-+?C@^h&EA2=sCiUk~KQrpuxV?F(!sg+Jxf zJ!Ok^q#McPmW}QLzzk}9x%kOhL65gyw`Pt z)qK-u171DgpT(>$0!6P0Y>mpT=gxP+r?!Vs8$(WCHpeuK6C-8#R$H%xB41Lm^9Fi$ z>dt*~#@-uNZt(~FsPNv$Wy1PlA2?+xcFr|M)m%3y@q$EFdS{CSODaazZy zpkz8wBIF>W=#Dn(-l)?1G~+^!!8!Yo{4t{>)aJr5i>Er>>J7WUQYmhvEG91K7QE0d zuLaYzilk01kMsHJg1$`*Tpr(w_4nb^pgM9mC&Fj9<+xbD*`&Aj&W69r}ywz01 z1w{48)Dx?H@tJSp^ZIfGifDu$1TJ(Vhj*4B>v^YGF{I*?XDO~yq7%rOTsK(V)MKd;7e@06Vh7dsO=8k$gwvj|h8Fg`Ok-5zR?BSJr#y1CKGW zrpc>++0qYcp1oC#I9~4z#TS6EeD6I*wzQ0db!q{C#lB1!Ekp^(BV672IobW2r-2=hIByj(Jz;edAr8S1*x1N~j)!VRHUR4QW4g(m3 zE#8$0Tl&)SZI7t|Rl1UHx@FMo9Moa6jM-u72S~3xYu9JMEC9DGA=o#t(}cL`*-h;( zE}^Gl*YcPTTPKxHeK$DVoHssW`y3fXOSxY{>yU`$HEb!K1%?w1_Wj|a8y`7St}+*> zm&{H37n=^u0X53FHC|EZzFc_m8fiixC*Y5$Q!}&I9TGwLcM%m);qs}T*GaR29!KSu zjTo!e+-JXvcWx0HeQfv%Ljln>jWlAIegBMc?=EnE*TsJMwY0EzTHJ1W@)E=0W*^{* zy<0HFqNG9d(zLyd+#~&`;iG zU(|03uJ_mH`<&i%V%TO*(k=Z5gu^{#m}@q4UU^Q-WV-)h*DLC!byDE=;K&?xBq8mo zs?i%etOgz^AZLgRfSHZSmX5eyGAb&DYvTo0IZ52>|(6 zbK}5t?H*OJFUR(TYtWYOXSTb+4^VHDl$-J$EIm|-t9V!K`_*k4%e?H8>z+mWPRPuL zrQS38_a>L>srnc3h&}c$059bl1xpg9+b*o*FL_oh$Lh2n<6xv2)kYJRRbMt~Xf~)5 za8uVrK8HMlEe~~fL6=g0DcIwfa734>)C60P77F174-wtcmi`RV<`_ zkh!47Di(FR=r`YLj4J<{NS>9F?s;?ttZVv(RIJO?$s*Y{faGoo9ueObyl(|LHuK%P zgKHd}7Ut=aqQL|(r!MJRkkGrHnLD@0mthu5?=a=Djy`T#B{6XyAo)={EX_ZVe4icG ziR>PZkXAYoU7suYQzCF%U>jt8ALx5!((-RF|DX8X@Xl@2(`x%No|b%_IIN3ViZ4<< zD$!?rC(cYV!O0n-+*aa84H_yhwt4qmfty6C%c>MG9_j|&V;!HbzvH=Rl>vY@rA~VN zgy)-8tv}9A@o`A=dhM|?WC>lajY3DU5kvo=n%@vdrDdWGZZ*lG!+Q^5UNnl2g~6@9QDRQ|enT8V4fyc2F9fO?#clmMCO%EJwb(eDC9t~T+LlI9Ao zJGXH)b9LK>fTun5)W?=Q(W=!K`PKQa){X1+W(UbCEjtbqet;&(k7=< zN}ds{KoJo#uU=ga%8MI2tYPdQRx!!khgNmk-|y~u=o@@ zc^hH8MN&dSVC@px1&V_Q|0}Nl$)U?W zZ|j4JtroF^C37#KE27>INCZ<<+GA-ASWz_Ho^QAD{e6o$SxDh)UxeW%Z^&`zvoD=_ z4{5_pfCzv5Ooo6zTRmk0KSYMHwdwmV_c)wXK@uJyrI ze2H~aK$=%<`nfcjubx}E_HGXH7udFU#od1>8~q~Z zYex1B%u5$uKDcxJkKdl%jYPt|&BAD%naR_Wau?wX`IK@Wl;ke|{imW>D2EWAu&?X< zxbnAudmYo~t38&k?gHlF_Vs`MIi`IeCRzBR(>L0Ge-(UV-KluCqUe!#MpG&a&7W8B z$8X=)^AuOW%?cWGP2U@T*HM#K{KpksKU%^U6B7e-I@9-ZpD(PuefRh4yM6(OocFA? z3#OtU!SZ}dni*dxCWhho^o(de!iCb?w=oX_5*1DxMC4sC<6cE z-g+(oY5(_+6~%@c(%*09Iuq16{`G|6Z$wJJpPth>LephFd~SQ@FCZm`6wMcT;`RRk DDLJ8K literal 0 HcmV?d00001 diff --git a/docs/openup/analysis-design/sequences/uc-08-run-adventure.puml b/docs/openup/analysis-design/sequences/uc-08-run-adventure.puml new file mode 100644 index 0000000..fb089ca --- /dev/null +++ b/docs/openup/analysis-design/sequences/uc-08-run-adventure.puml @@ -0,0 +1,52 @@ +@startuml uc-08-run-adventure +autonumber +title UC-08 Run Adventure (design sequence) +actor Player +participant "AdventureBoundary\n«/api/characters/{id}/adventure»" as boundary <> +participant "AdventureService\nsb-core::adventure::run_adventure" as control <> +participant "ResourceRegenerator\napply_regen" as regen <> +participant "CombatEngine\nsb-core::combat" as combat <> +participant "Combatant\nCombatStats" as combatant <> +participant "SpellEffect / BardSong\nsb-core::{spells,songs}" as fx <> + +== Validate == +Player -> boundary : POST adventure (zone, default skara_brae_streets) +boundary -> control : run_adventure(rng, character, zone) +alt zone unknown + control --> boundary : 404 +else HP <= 0 + control --> boundary : 400 +else nerve < zone cost + control --> boundary : 422 +else ok +end +control -> regen : apply_regen(character) +regen --> control : character (regenerated) +control -> control : nerve -= zone cost + +== Encounter == +control -> combatant : pick_enemy(rng, weighted table) +alt unknown enemy id (data error) + control --> boundary : 500 DomainError::UnknownEncounterEnemy +end + +== Combat (rounds) == +loop until one side falls + control -> combat : open_ended_roll(rng, attack) + combat -> combat : OB vs DB, crit table\n(level-gap damage caps) + combat -> fx : bard song effect, active spell dmg/heal + combat --> control : round result +end + +== Resolve == +alt player victory + control -> combatant : XP + gold per enemy def + control -> combatant : HP = last defender HP + control -> combatant : loot rolls (catalogue items only) +else defeat + control -> combatant : HP = 0, no rewards +end +control -> fx : spell-point upkeep (win or lose) +control --> boundary : {zone, enemy, combat_log, loot} +boundary --> Player : {zone, enemy, combat_log, loot} +@enduml diff --git a/docs/openup/analysis-design/sequences/uc-09-heal-at-temple.png b/docs/openup/analysis-design/sequences/uc-09-heal-at-temple.png new file mode 100644 index 0000000000000000000000000000000000000000..bddf6948868cfefec1a6dcd695dd17eaaa3b28de GIT binary patch literal 53474 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 +participant "HealingService\nsb-api::routes::heal_character" as control <> + +== Heal == +Player -> boundary : POST heal (optionally partial) +boundary -> control : heal_character(character, partial) +control -> control : missing HP\nfull: all; partial: half (ceil)\ncost = healed, min 1 gold +alt already at full HP + control --> boundary : 400 +else gold < cost + control --> boundary : 422 +else ok + control -> control : gold -= cost, HP restored, persist + control --> boundary : {hp, max_hp, gold, healed: true} + boundary --> Player : {hp, max_hp, gold, healed: true} +end +note over control : handler-side logic - recorded debt\n(Architecture Notebook D1, Q3) +@enduml diff --git a/docs/openup/analysis-design/sequences/uc-10-practice-bard-song.png b/docs/openup/analysis-design/sequences/uc-10-practice-bard-song.png new file mode 100644 index 0000000000000000000000000000000000000000..7bfbc831fd0b4ca0b15e969b993f74cbcab2a023 GIT binary patch literal 64819 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 +participant "SongService\nsb-api::routes::set_song" as control <> +participant "BardSong\nBARD_SONGS + active_song" as entity <> + +== View == +Player -> boundary : GET songs +boundary -> entity : available_songs (level-gated) +boundary --> Player : songs + effects + active song + +== Set / Clear == +Player -> boundary : POST song id (or empty to clear) +boundary -> control : set_song(character, song) +alt non-Bard + control --> boundary : 403 +else unknown song + control --> boundary : 404 +else level too low + control --> boundary : 422 +else ok + control -> entity : active_song = song (or None), persist + control --> boundary : {success, message, active_song} + boundary --> Player : {success, message, active_song} +end +note over entity : active song applies in UC-08 combat (step 5) +@enduml diff --git a/docs/openup/analysis-design/sequences/uc-11-study-magic.png b/docs/openup/analysis-design/sequences/uc-11-study-magic.png new file mode 100644 index 0000000000000000000000000000000000000000..0074f3843c8df479e9b967b016a9d6ef6f5757bd GIT binary patch literal 105766 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 literal 0 HcmV?d00001 diff --git a/docs/openup/analysis-design/sequences/uc-11-study-magic.puml b/docs/openup/analysis-design/sequences/uc-11-study-magic.puml new file mode 100644 index 0000000..5b3622f --- /dev/null +++ b/docs/openup/analysis-design/sequences/uc-11-study-magic.puml @@ -0,0 +1,51 @@ +@startuml uc-11-study-magic +autonumber +title UC-11 Study Magic (design sequence) +actor Player +participant "MagicBoundary\n«/api/characters/{id}/spells»" as boundary <> +participant "MagicService\nsb-api::routes::{get_spells,learn}" as control <> +participant "Spell\nSpellDef + known/active/points" as entity <> + +== View spellbook == +Player -> boundary : GET spells +boundary -> control : get_spells(character) +control -> entity : caster class, spell level = (level/3)+1 +control --> boundary : spells (marked known) + learn costs 2-7 +boundary --> Player : spellbook + spell points + +== Learn spell level == +Player -> boundary : POST learn level (1-7) +boundary -> control : learn_spell_level(character, level) +alt non-caster + control --> boundary : 403 +else level out of 1-7 + control --> boundary : 400 +else level above current spell level + control --> boundary : 422 +else gold < learn cost + control --> boundary : 422 +else no new spells at level + control --> boundary : 400 +else ok + control -> entity : gold -= cost, add unknown spell ids + control -> entity : recompute + refill max spell points, persist + control --> boundary : {learned_count, spell_points, max_spell_points, gold} + boundary --> Player : {learned_count, ...} +end + +== Activate / Clear active spell == +Player -> boundary : POST spell id (or empty) +boundary -> control : activate_spell(character, spell) +alt spell not known + control --> boundary : 403 +else spell unknown + control --> boundary : 404 +else spell points insufficient + control --> boundary : 422 +else ok + control -> entity : points -= cost, active_spell = spell, persist + control --> boundary : {active_spell, spell_points} + boundary --> Player : {active_spell, spell_points} +end +note over entity : active spell acts in UC-08 combat\n(dmg/heal per round + upkeep) +@enduml diff --git a/docs/openup/analysis-design/sequences/uc-12-level-up.png b/docs/openup/analysis-design/sequences/uc-12-level-up.png new file mode 100644 index 0000000000000000000000000000000000000000..4bf7b1486fe71d3a09054d90e807502d1967eb07 GIT binary patch literal 61230 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

`^WT!q=%9Qc2P-Mrw&y6eBVg@TNk7i#M7Y}- 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 z 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 Ua(N$tv%m>8C2hqLdF$Z+2iQy>%m4rY literal 0 HcmV?d00001 diff --git a/docs/openup/analysis-design/sequences/uc-12-level-up.puml b/docs/openup/analysis-design/sequences/uc-12-level-up.puml new file mode 100644 index 0000000..eddd9b9 --- /dev/null +++ b/docs/openup/analysis-design/sequences/uc-12-level-up.puml @@ -0,0 +1,26 @@ +@startuml uc-12-level-up +autonumber +title UC-12 Level Up at Review Board (design sequence) +actor Player +participant "ReviewBoundary\n«/api/characters/{id}/level-up»" as boundary <> +participant "ReviewBoard\nsb-core::character::level_up" as control <> +participant "Progression\nxp_for_level + level_up_cost" as entity <> + +== Level up == +Player -> boundary : POST level-up +boundary -> control : level_up(character) +control -> entity : xp_for_level(next) = 18*100*level^2 +control -> entity : cost = 500 * next level +alt at max level 100 + control --> boundary : 422 (DomainError) +else XP below threshold + control --> boundary : 422 (DomainError) +else gold < cost + control --> boundary : 422 (DomainError) +else ok + control -> entity : level += 1, gold -= cost + control -> entity : recompute + fully restore\nHP/energy/nerve/max SP, persist + control --> boundary : {success, message, character} + boundary --> Player : {success, message, character} +end +@enduml diff --git a/docs/openup/model/BUILD-CHECKLIST.md b/docs/openup/model/BUILD-CHECKLIST.md index 98307ab..efdfd17 100644 --- a/docs/openup/model/BUILD-CHECKLIST.md +++ b/docs/openup/model/BUILD-CHECKLIST.md @@ -249,3 +249,34 @@ Read-only on the model: renders 14 diagrams to PNG for the markdown documents image methods live on **ProjectInterface** (not Repository); `PutDiagramImageToFile(id, path, 0)` = PNG; the diagram must be `OpenDiagram`-ed first or a blank 241×151 stub is written. Regenerate after model changes; renders reflect the manual layout. + +--- + +## 7. Documentation restructure (2026-10-05, non-PSP effort) + +The OpenUP markdown set was aligned to the blank templates (process-data repo, +`templates/openup/`) — no EA model change required: scenario content is unchanged, +reformatted only; the model's UC notes/actors already carry the brief descriptions the +template sections now expose. XMI backup added 2026-10-05 via manual EA export +(`exports/xmi-backup.xml`); the COM export path is broken in this EA 15 build +(`ExportPackageXMI` filename param declared as Object in the typelib — verified across +PowerShell/JScript/VBScript, arities 2–6; `ExportProjectXML` returns false silently). + +Restructured to template form: +- `requirements/vision.md` — positioning tables, stakeholder summary, user environment, + needs-and-features table (R1/R2), other product requirements. +- `requirements/use-case-model.md` — per-UC specification sections (Brief Description, + Actor Brief Descriptions, Preconditions, Basic Flow, named Alternative/Exception + subsections with numbered steps, Post-conditions, Special Requirements). Flow step + text unchanged from version 1.0. +- `requirements/supplementary-specifications.md` — category tables with Priority and + Use-Case columns + reverse Use Case Coverage Matrix; IDs unchanged; project-specific + categories (Quality Gates, Data) kept, DOC-01 added. +- `test/quality-check-procedure.md` — migrated from Joplin (single content home); + stale open items marked resolved (WI-1/WI-2). + +New design content: +- `analysis-design/sequences/uc-01..uc-12.puml` + PNG renders — design sequences per + realization (lifelines = analysis classes, messages = design elements; PlantUML per + the layout style guide). Embedded in Architecture Notebook §9.3, indexed §9.5. + EA import via PlantUML `-txmi` remains optional future work (workflow canon). diff --git a/docs/openup/requirements/supplementary-specifications.md b/docs/openup/requirements/supplementary-specifications.md index f876da5..79472b6 100644 --- a/docs/openup/requirements/supplementary-specifications.md +++ b/docs/openup/requirements/supplementary-specifications.md @@ -1,51 +1,93 @@ # Skara Brae — Supplementary Specifications -Version 1.0 (WI-2, 2026-10-03) · OpenUP artifact: `requirements/supplementary-specifications.md` -Non-functional requirements and constraints for the server MVP. Facts cite code where they are implemented; assumptions are marked. +`Skara Brae` — OpenUP Requirements · version 2.0 (2026-10-05, restructured to the OpenUP +supplementary-specifications template: category tables with priority and use-case trace + +coverage matrix; requirement IDs unchanged from version 1.0). +Non-functional requirements and constraints for the server MVP. Facts cite code where they +are implemented; assumptions are marked. Category tailoring vs stock OpenUP: this project +adds **Quality Gates** and **Data** categories (project-specific acceptance and +game-data rules); a Standards category is not applicable at R1. -## 1. Performance / Scalability +# Performance / Scalability -- **NFR-01 (in-memory state):** all game state (users, characters, shop stock) is held in process memory behind `tokio::sync::RwLock` (`crates/sb-api/src/routes/mod.rs:33–42`). Single-process deployment; persistence is write-through to SQLite, reads never hit the DB. -- **NFR-02 (lazy regeneration):** resource regeneration is computed on every character access from elapsed wall-clock time (`apply_regen`, character.rs:105–122) — no timers, no background ticks. Intervals: energy 180 s, nerve 300 s, HP 300 s (5% max HP per tick). -- **NFR-03 (client polling):** clients poll character state to observe regeneration; the assumed UI refresh cadence is ~15 s *(assumption carried from project planning; server-side behavior is poll-frequency-independent by design NFR-02)*. -- **NFR-04 (static catalogue):** items, enemies, zones, spells, and crit tables are compiled in via `include_str!` from `skara-brae-common` JSON and parsed once behind `LazyLock`; catalogue reads are lock-free after first access. +| **ID** | **Requirement** | **Priority** | **Use Cases** | +| --- | --- | --- | --- | +| NFR-01 | In-memory state: all game state (users, characters, shop stock) is held in process memory behind `tokio::sync::RwLock` (`crates/sb-api/src/routes/mod.rs:33–42`). Single-process deployment; persistence is write-through to SQLite, reads never hit the DB. | High | UC-01..UC-12 | +| NFR-02 | Lazy regeneration: resource regeneration is computed on every character access from elapsed wall-clock time (`apply_regen`, character.rs:105–122) — no timers, no background ticks. Intervals: energy 180 s, nerve 300 s, HP 300 s (5% max HP per tick). | High | UC-03, UC-05, UC-08 | +| NFR-03 | Client polling: clients poll character state to observe regeneration; the assumed UI refresh cadence is ~15 s *(assumption carried from project planning; server-side behavior is poll-frequency-independent by design NFR-02)*. | Medium | UC-03, UC-05, UC-08 | +| NFR-04 | Static catalogue: items, enemies, zones, spells, and crit tables are compiled in via `include_str!` from `skara-brae-common` JSON and parsed once behind `LazyLock`; catalogue reads are lock-free after first access. | High | UC-04 | -## 2. Reliability / Correctness +# Reliability / Correctness -- **NFR-05 (deterministic domain logic):** all domain randomness is injected `StdRng` (WI-1); identical seeds produce identical outcomes. Request paths construct RNG only at `request_rng()`. -- **NFR-06 (persistence best-effort):** persistence failures are logged (`tracing::error`) and do not fail the request; in-memory state remains authoritative for the process lifetime. -- **NFR-07 (referential data integrity):** zone encounter tables must reference existing enemy ids and loot drops must reference existing item ids; violations are detected at first use (WI-2: `DomainError::UnknownEncounterEnemy` → 500 instead of a panic). +| **ID** | **Requirement** | **Priority** | **Use Cases** | +| --- | --- | --- | --- | +| NFR-05 | Deterministic domain logic: all domain randomness is injected `StdRng` (WI-1); identical seeds produce identical outcomes. Request paths construct RNG only at `request_rng()`. | High | UC-03, UC-07, UC-08 | +| NFR-06 | Persistence best-effort: persistence failures are logged (`tracing::error`) and do not fail the request; in-memory state remains authoritative for the process lifetime. | Medium | UC-01, UC-03, UC-05..UC-12 | +| NFR-07 | Referential data integrity: zone encounter tables must reference existing enemy ids and loot drops must reference existing item ids; violations are detected at first use (WI-2: `DomainError::UnknownEncounterEnemy` → 500 instead of a panic). | High | UC-08 | -## 3. Quality Gates (per-commit acceptance) +# Quality Gates (per-commit acceptance) -- **NFR-08:** `cargo fmt --check` clean (fmt baseline established by WI-2). -- **NFR-09:** `cargo clippy --all-targets -- -D warnings` clean — zero-warning policy. -- **NFR-10:** `cargo test --workspace` fully green (45 sb-core tests at WI-2 start; suite only grows). -- **NFR-11 (WI-2-specific):** behavior-identical refactor — JSON field names/order, HTTP status codes, game semantics, and RNG draw order unchanged. -- **NFR-12:** no `unwrap()`/`expect()` on request paths outside the documented keep-with-reason invariants in the design-note §6 ledger (covers sb-api, sb-core, sb-db mutex poisoning, sb-auth time/entropy invariants). +| **ID** | **Requirement** | **Priority** | **Use Cases** | +| --- | --- | --- | --- | +| NFR-08 | `cargo fmt --check` clean (fmt baseline established by WI-2). | High | all | +| NFR-09 | `cargo clippy --all-targets -- -D warnings` clean — zero-warning policy. | High | all | +| NFR-10 | `cargo test --workspace` fully green (45 sb-core tests at WI-2 start; suite only grows). | High | all | +| NFR-11 | Behavior-identical refactor — JSON field names/order, HTTP status codes, game semantics, and RNG draw order unchanged (WI-2-specific; standing interpretation for future refactors). | High | all | +| NFR-12 | No `unwrap()`/`expect()` on request paths outside the documented keep-with-reason invariants in the design-note §6 ledger (covers sb-api, sb-core, sb-db mutex poisoning, sb-auth time/entropy invariants). | High | all | -## 4. Data +# Data -- **NFR-13 (shared data source):** all game content lives in the `skara-brae-common` repo as language-neutral JSON under `data/` — single source of truth consumed at build time by server (`include_str!` + serde) and client. Server must not duplicate or transform these definitions in code. -- **NFR-14 (persistence format):** optional SQLite via `SB_DB_PATH` (rusqlite; users, characters, shop stock with `next_character_id`). Absent the variable the server runs purely in-memory with seeded `admin`/`player` accounts. -- **NFR-15 (numeric headroom):** stats are `i64` (BIGINT) — “exponential growth, tiered display” is a product commitment; no narrowing conversions to smaller integers in new code. +| **ID** | **Requirement** | **Priority** | **Use Cases** | +| --- | --- | --- | --- | +| NFR-13 | Shared data source: all game content lives in the `skara-brae-common` repo as language-neutral JSON under `data/` — single source of truth consumed at build time by server (`include_str!` + serde) and client. Server must not duplicate or transform these definitions in code. | High | UC-04 | +| NFR-14 | Persistence format: optional SQLite via `SB_DB_PATH` (rusqlite; users, characters, shop stock with `next_character_id`). Absent the variable the server runs purely in-memory with seeded `admin`/`player` accounts. | Medium | UC-01, UC-03, UC-07 | +| NFR-15 | Numeric headroom: stats are `i64` (BIGINT) — "exponential growth, tiered display" is a product commitment; no narrowing conversions to smaller integers in new code. | High | UC-05, UC-08, UC-12 | -## 5. Security +# Security -- **NFR-16:** passwords hashed with argon2; verification constant-time via the crate. -- **NFR-17:** JWT (HS256, `jsonwebtoken`), 24 h expiry; all game routes behind auth middleware; cross-user access requires the `admin` role (403 otherwise). -- **NFR-18:** no secrets in code; JWT secret and admin/player seed passwords come from environment/configuration. +| **ID** | **Requirement** | **Priority** | **Use Cases** | +| --- | --- | --- | --- | +| NFR-16 | Passwords hashed with argon2; verification constant-time via the crate. | High | UC-01, UC-02 | +| NFR-17 | JWT (HS256, `jsonwebtoken`), 24 h expiry; all game routes behind auth middleware; cross-user access requires the `admin` role (403 otherwise). | High | UC-01..UC-12 | +| NFR-18 | No secrets in code; JWT secret and admin/player seed passwords come from environment/configuration. | High | UC-01, UC-02 | -## 6. Constraints +# Interfaces -- **CON-01:** Rust, edition **2024**; workspace crates `sb-api` / `sb-core` / `sb-db` / `sb-auth` / `sb-shared` + external sibling `sb-common` (absolute path dependency; submodule migration planned). -- **CON-02:** HTTP framework **Axum 0.8** (ws + macros features), tokio, tower stack (CORS/trace/compression-gzip). -- **CON-03:** `rand 0.9`; domain functions take `rng: &mut impl Rng`; handlers obtain RNG only from `request_rng()` (WI-1 rule). -- **CON-04:** Error handling: `thiserror 2` in-domain; **no new error/framework dependencies**; one domain error enum (`sb_core::error::DomainError`) with a single central HTTP status mapping in sb-api. -- **CON-05:** Clean Architecture dependency rule: sb-core has zero knowledge of HTTP/axum/serde_json/tokio/tracing/sb-db; ports (domain traits) would live in sb-core, adapters outward. -- **CON-06:** OpenUP work products are versioned in the **skara-brae-common repo** under `docs/openup/` — one canonical project-docs home (decision reversed 2026-10-03 from the earlier skara-brae-server `docs/openup/` plan). The drafted WI-2 artifacts move there verbatim (coder, session 2); WI-1 artifacts at the old project-top folder migrate there as well. `roadmap.md` stays at the project-top folder per the earlier PM decision. +| **ID** | **Requirement** | **Priority** | **Use Cases** | +| --- | --- | --- | --- | +| NFR-19 | REST JSON API; field names and order are a wire contract — refactors must preserve them byte-for-byte. The current API emits JSON object keys in lexicographic order (serde_json resolves without `preserve_order`; `json!` uses BTreeMap-backed maps), and the typed-response structs of WI-2 declare fields in that order to stay byte-identical. | High | UC-01..UC-12 | +| NFR-20 | Meaningful HTTP status codes: 400 malformed input, 401 auth failure, 403 foreign/non-permitted resource, 404 unknown resource, 409 name conflict, 410 shop stock exhausted, 422 game-rule violation (resources/requirements), 500 internal. | High | UC-01..UC-12 | -## 7. Usability / API +# Design Constraints -- **NFR-19:** REST JSON API; field names and order are a wire contract — refactors must preserve them byte-for-byte. The current API emits JSON object keys in **lexicographic order** (serde_json resolves without `preserve_order`; `json!` uses BTreeMap-backed maps), and the typed-response structs of WI-2 declare fields in that order to stay byte-identical. -- **NFR-20:** meaningful HTTP status codes: 400 malformed input, 401 auth failure, 403 foreign/non-permitted resource, 404 unknown resource, 409 name conflict, 410 shop stock exhausted, 422 game-rule violation (resources/requirements), 500 internal. +| **ID** | **Requirement** | **Priority** | **Use Cases** | +| --- | --- | --- | --- | +| CON-01 | Rust, edition **2024**; workspace crates `sb-api` / `sb-core` / `sb-db` / `sb-auth` / `sb-shared` + external sibling `sb-common` (absolute path dependency; submodule migration planned). | High | all | +| CON-02 | HTTP framework **Axum 0.8** (ws + macros features), tokio, tower stack (CORS/trace/compression-gzip). | High | all | +| CON-03 | `rand 0.9`; domain functions take `rng: &mut impl Rng`; handlers obtain RNG only from `request_rng()` (WI-1 rule). | High | UC-03, UC-07, UC-08 | +| CON-04 | Error handling: `thiserror 2` in-domain; **no new error/framework dependencies**; one domain error enum (`sb_core::error::DomainError`) with a single central HTTP status mapping in sb-api. | High | UC-05, UC-06, UC-08, UC-12 | +| CON-05 | Clean Architecture dependency rule: sb-core has zero knowledge of HTTP/axum/serde_json/tokio/tracing/sb-db; ports (domain traits) would live in sb-core, adapters outward. | High | all | +| CON-06 | OpenUP work products are versioned in the **skara-brae-common repo** under `docs/openup/` — one canonical project-docs home (decision reversed 2026-10-03 from the earlier skara-brae-server `docs/openup/` plan). `roadmap.md` stays at the project-top folder per the earlier PM decision. | Medium | — | + +# Documentation + +| **ID** | **Requirement** | **Priority** | **Use Cases** | +| --- | --- | --- | --- | +| DOC-01 | The OpenUP artifact set (Vision, Use-Case Specifications, Supplementary Specifications, Architecture Notebook, test artifacts) and the game-design canon (`docs/game/`) live in the skara-brae-common repo and are maintained there; the EA model and its exports render them. Joplin keeps project status only. | Medium | — | + +# Use Case Coverage Matrix + +| **ID** | **Use Case** | **Traced Requirements** | +| --- | --- | --- | +| UC-01 | Register Account | NFR-01, NFR-06, NFR-16, NFR-17, NFR-18, NFR-19, NFR-20 | +| UC-02 | Authenticate | NFR-16, NFR-17, NFR-18, NFR-19, NFR-20 | +| UC-03 | Manage Characters | NFR-01, NFR-02, NFR-03, NFR-05, NFR-06, NFR-14, NFR-17, NFR-19, NFR-20 | +| UC-04 | Browse Game Catalogue | NFR-04, NFR-13, NFR-19, NFR-20 | +| UC-05 | Train Stat | NFR-02, NFR-03, NFR-06, NFR-11, NFR-12, NFR-15, CON-04 | +| UC-06 | Manage Equipment | NFR-06, NFR-11, NFR-12, CON-04 | +| UC-07 | Trade at Shop | NFR-05, NFR-06, NFR-14, CON-03 | +| UC-08 | Run Adventure | NFR-02, NFR-03, NFR-05, NFR-07, NFR-11, NFR-15, CON-03, CON-04 | +| UC-09 | Heal at Temple | NFR-06, NFR-11, NFR-12 | +| UC-10 | Practice Bard Song | NFR-06, NFR-11, NFR-12 | +| UC-11 | Study Magic | NFR-06, NFR-11, NFR-12, NFR-15 | +| UC-12 | Level Up at Review Board | NFR-06, NFR-11, NFR-12, NFR-15, CON-04 | diff --git a/docs/openup/requirements/use-case-model.md b/docs/openup/requirements/use-case-model.md index 267adc1..bbee09b 100644 --- a/docs/openup/requirements/use-case-model.md +++ b/docs/openup/requirements/use-case-model.md @@ -1,23 +1,20 @@ -# Skara Brae — Use Case Model +# Skara Brae — Use-Case Specifications -Version 1.0 (WI-2, 2026-10-03) · OpenUP artifact: `requirements/use-case-model.md` -Scope: the **existing implemented system** (server MVP as of `wi-2-architecture-cleanup` @ 899fde8). Every flow below is derived from actual handler code (`crates/sb-api/src/routes/mod.rs`) — status codes cited are the implemented behavior and are normative. +`Skara Brae` — OpenUP Requirements · version 2.0 (2026-10-05, restructured to the OpenUP +use-case-specification template; scenario content unchanged from version 1.0). +Scope: the **existing implemented system** (server MVP as of `main`, formerly +`wi-2-architecture-cleanup` @ 899fde8). Every flow below is derived from actual handler +code (`crates/sb-api/src/routes/mod.rs`) — status codes cited are the implemented +behavior and are normative. The EA model (`docs/openup/model/skara-brae.eapx`) carries +the same scenarios with per-step actors; markdown and model must agree (drift rule). -## Actors +# Use Case Overview -| Actor | Description | -|---|---| -| **Player** | Authenticated user owning one or more characters (JWT role `player`). | -| **Administrator** | Player with elevated rights (`role = admin`); may view any user's and any character's resources read-only. | -| **Guest** | Unauthenticated caller; only register/login are open. | - -## Use Case Overview - -| ID | Use Case | Primary Actor | Includes / Extends | +| ID | Use Case | Actors | Includes / Extends | |---|---|---|---| | UC-01 | Register Account | Guest | — | | UC-02 | Authenticate | Guest | — | -| UC-03 | Manage Characters | Player (Admin read) | — | +| UC-03 | Manage Characters | Player, Administrator | — | | UC-04 | Browse Game Catalogue | Player | — | | UC-05 | Train Stat | Player | includes Regenerate Resources | | UC-06 | Manage Equipment | Player | — | @@ -30,88 +27,372 @@ Scope: the **existing implemented system** (server MVP as of `wi-2-architecture- ![Skara Brae Use Case Overview](use-case-overview.png) -*Figure 1: Use case overview (rendered from the EA model, `docs/openup/model/skara-brae.eapx`, via `scripts/openup/export-diagram-images.ps1`).* +*Figure 1: Use case overview (rendered from the EA model via `scripts/openup/export-diagram-images.ps1`).* -Shared sub-flow **Regenerate Resources**: the system recomputes time-based regeneration **at specific call sites only** — list characters, view character, run adventure, and train stat (routes/mod.rs:264–266, 331, 442, 642). Energy +1 per 180 s, nerve +1 per 300 s, HP +5% of max per 300 s (only if alive and injured), capped at maxima; `last_regen` advances to now. It is **not** applied by equip/unequip, gym view, shop, heal, songs, spells, or level-up. +Shared sub-flow **Regenerate Resources**: the system recomputes time-based regeneration +**at specific call sites only** — list characters, view character, run adventure, and +train stat (routes/mod.rs:264–266, 331, 442, 642). Energy +1 per 180 s, nerve +1 per +300 s, HP +5% of max per 300 s (only if alive and injured), capped at maxima; +`last_regen` advances to now. It is **not** applied by equip/unequip, gym view, shop, +heal, songs, spells, or level-up. --- -## UC-01 Register Account +# UC-01 Register Account + +## Brief Description + +Open registration: a guest submits name and password and receives a JWT with the `player` +role. No precondition. + +## Actor Brief Descriptions + +| **Actor** | **Type** | **Description** | +| --- | --- | --- | +| Guest | Primary | Unauthenticated caller; only register/login are open. | + +## Preconditions and Context + +Precondition: none. + +## Basic Flow of Events -**Precondition:** none. **Main success scenario:** 1. Guest submits name (3–32 chars) and password (≥ 6 chars). 2. System verifies the name is unused → 409 CONFLICT if taken. 3. System hashes the password (argon2), assigns the `player` role and the next id, persists the user. 4. System issues a JWT (HS256, `player` role) and returns `{token, user_id, name, role}`. -**Alternate flows:** name length invalid → 400; password too short → 400; name taken → 409; hashing/token failure → 500. +## Alternative and Exception Flows -## UC-02 Authenticate +### Invalid input (Alternate) + +1. System rejects a name outside 3–32 chars or a password under 6 chars with 400. + +### Hashing or token failure (Exception) + +1. System fails during password hashing or JWT creation → 500; no user is persisted. + +## Post-conditions + +- User persisted with `player` role; JWT issued and returned. + +## Special Requirements + +- Passwords hashed with argon2, verification constant-time (NFR-16). +- JWT HS256, 24 h expiry (NFR-17); no secrets in code (NFR-18). + +# UC-02 Authenticate + +## Brief Description + +Login with name and password; issues a JWT carrying the user's real role. + +## Actor Brief Descriptions + +| **Actor** | **Type** | **Description** | +| --- | --- | --- | +| Guest | Primary | Unauthenticated caller; only register/login are open. | + +## Preconditions and Context + +Precondition: none. + +## Basic Flow of Events -**Main success scenario:** 1. Guest submits name and password. 2. System finds the user (401 if unknown) and verifies the password hash (401 on mismatch). 3. System issues a JWT carrying the user's real role (`admin`/`player`) and returns `{token, user_id, name, role}`. -**Alternate flows:** unknown name or wrong password → 401 UNAUTHORIZED; token creation failure → 500. +## Alternative and Exception Flows -## UC-03 Manage Characters +### Credentials rejected (Alternate) -**Main success scenario (create):** -1. Player submits character name, race, class for their user id (Admin may act for any user). +1. Unknown name or wrong password → 401 UNAUTHORIZED. + +### Token creation failure (Exception) + +1. JWT creation fails → 500. + +## Post-conditions + +- JWT issued with the user's real role; no persistent state change. + +## Special Requirements + +- The middleware guards all UC-03…12 routes with this token (NFR-17). + +# UC-03 Manage Characters + +## Brief Description + +Create, list and view characters. Admin may act for any user (read-only view). + +## Actor Brief Descriptions + +| **Actor** | **Type** | **Description** | +| --- | --- | --- | +| Player | Primary | Authenticated user owning one or more characters (JWT role `player`). | +| Administrator | Supporting | Player with elevated rights (`role = admin`); may view any user's and any character's resources read-only. | + +## Preconditions and Context + +Precondition (create): target user exists. Admin may act for any user. + +## Basic Flow of Events (create) + +1. Player submits character name, race, class for their user id. 2. System validates the target user exists (404) and the trimmed name is 1–32 chars (400). 3. System rolls stats (d6+5 base 6–16 per stat ± race modifiers), computes max HP/energy/nerve from class, grants starting gold (50) and level-1 class spells to casters. 4. System assigns the next character id, stores and persists the character; returns it fully. -**Scenario (list/view):** Player lists their characters (Admin: any user's); the system applies Regenerate Resources to each returned character and returns them. Viewing one character applies regen then returns it. +## Alternative and Exception Flows -**Alternate flows:** foreign user/character without admin role → 403 FORBIDDEN; user/character not found → 404; invalid name → 400. +### List / view (Alternate) -## UC-04 Browse Game Catalogue +1. Player lists their characters (Admin: any user's); the system applies Regenerate Resources to each returned character and returns them. +2. Player views one character; the system applies regen then returns it. + +### Access denied (Alternate) + +1. Foreign user/character without admin role → 403 FORBIDDEN. + +### Not found (Alternate) + +1. User or character not found → 404. + +### Invalid name (Alternate) + +1. Trimmed name outside 1–32 chars → 400. + +## Post-conditions + +- (create) Character persisted with rolled stats, class resources and starting gold. +- (view/list) Regeneration applied to returned characters. + +## Special Requirements + +- Stat rolls use the injected rng — deterministic under seed (NFR-05, WI-1). + +# UC-04 Browse Game Catalogue + +## Brief Description + +Races, classes, items (type/quality/slot filters), enemies, adventure zones from static +game data. + +## Actor Brief Descriptions + +| **Actor** | **Type** | **Description** | +| --- | --- | --- | +| Player | Primary | Authenticated user owning one or more characters (JWT role `player`). | + +## Preconditions and Context + +Precondition: authenticated. + +## Basic Flow of Events -**Main success scenario:** 1. Player requests the catalogue: races, classes, items (optional type/quality/slot filters), enemies, or adventure zones. 2. System returns static game data loaded from `skara-brae-common` JSON (class info is enriched with `is_caster`). -**Alternate flows:** single item by unknown id → 404; filters may return an empty list (not an error). +## Alternative and Exception Flows -## UC-05 Train Stat +### Unknown item (Alternate) + +1. Single item by unknown id → 404. + +### Empty filter result (Alternate) + +1. Filters may return an empty list (not an error). + +## Post-conditions + +- None (read-only). + +## Special Requirements + +- Catalogue is compiled-in and parsed once behind `LazyLock`; lock-free reads (NFR-04). +- Content source is `skara-brae-common` JSON, never duplicated in code (NFR-13). + +# UC-05 Train Stat + +## Brief Description + +Train a stat at a training ground; costs 1 energy + gold. Includes Regenerate Resources. + +## Actor Brief Descriptions + +| **Actor** | **Type** | **Description** | +| --- | --- | --- | +| Player | Primary | Authenticated user owning one or more characters (JWT role `player`). | + +## Preconditions and Context + +Precondition: character exists and caller may act on it. + +## Basic Flow of Events -**Precondition:** character exists and caller may act on it. **Main success scenario:** 1. Player selects a training ground (strength / dexterity / constitution / intelligence / luck) and submits the stat name. 2. System applies Regenerate Resources. 3. System checks energy ≥ 1 and gold ≥ training cost (cost grows ~1.3× per 10 stat points). 4. System deducts 1 energy and the gold cost, increments the stat; constitution training recomputes max HP (current HP clamped). 5. System persists and returns `{success, message, character}`. -**Alternate flows:** foreign character → 403; character not found → 404; not enough energy → 422; not enough gold → 422; unknown stat name → 400. +## Alternative and Exception Flows -## UC-06 Manage Equipment +### Foreign character (Alternate) + +1. Character owned by another user without admin role → 403. + +### Not found (Alternate) + +1. Character not found → 404. + +### Not enough energy (Alternate) + +1. Energy < 1 → 422. + +### Not enough gold (Alternate) + +1. Gold below training cost → 422. + +### Unknown stat (Alternate) + +1. Unknown stat name → 400. + +## Post-conditions + +- Stat incremented; energy −1 and gold −cost deducted; max HP recomputed on constitution training; character persisted. + +## Special Requirements + +- Rule failures flow through `DomainError` → central status mapping (CON-04). + +# UC-06 Manage Equipment + +## Brief Description + +Equip from inventory / unequip back to inventory. + +## Actor Brief Descriptions + +| **Actor** | **Type** | **Description** | +| --- | --- | --- | +| Player | Primary | Authenticated user owning one or more characters (JWT role `player`). | + +## Preconditions and Context + +Precondition: character exists and caller may act on it. + +## Basic Flow of Events (equip) -**Main success scenario (equip):** 1. Player submits an item id from their inventory. 2. System moves the item from inventory to its slot; a previously equipped item in that slot returns to inventory. 3. System persists and returns the updated character. -**Scenario (unequip):** Player submits a slot name; the system moves the equipped item back to inventory. +## Alternative and Exception Flows -**Alternate flows:** foreign character → 403; character/item not found → 404; item not in inventory → 400; nothing equipped in slot → 400. +### Unequip (Alternate) -## UC-07 Trade at Shop +1. Player submits a slot name; the system moves the equipped item back to inventory. + +### Foreign character (Alternate) + +1. Foreign character without admin role → 403. + +### Not found (Alternate) + +1. Character or item not found → 404. + +### Item not in inventory (Alternate) + +1. Equip target not in inventory → 400. + +### Empty slot (Alternate) + +1. Unequip on a slot with nothing equipped → 400. + +## Post-conditions + +- Item moved between inventory and equipment slot; character persisted. + +## Special Requirements + +- Rule failures flow through `DomainError` → central status mapping (CON-04). + +# UC-07 Trade at Shop + +## Brief Description + +Buy from (always-stocked + rotating) shop stock or sell inventory items. + +## Actor Brief Descriptions + +| **Actor** | **Type** | **Description** | +| --- | --- | --- | +| Player | Primary | Authenticated user owning one or more characters (JWT role `player`). | + +## Preconditions and Context + +Precondition: character exists and caller may act on it. + +## Basic Flow of Events (buy) -**Main success scenario (buy):** 1. Player views the shop: always-stocked items plus rotating stock (with quantities) alongside their inventory. 2. Player submits `buy` + item id. 3. System checks gold ≥ price (422), and for non-always-in-stock items decrements the limited stock (410 GONE if 0). 4. System deducts gold, adds the item to inventory, persists character and stock; returns `{success, message, gold}`. -**Scenario (sell):** Player submits `sell` + item id; system removes the first matching inventory item, pays half the item value, increments shop stock for non-permanent items. +## Alternative and Exception Flows -**Alternate flows:** unknown action or item not owned (sell) → 400; item not found → 404; insufficient gold → 422; stock exhausted → 410. +### Sell (Alternate) -## UC-08 Run Adventure +1. Player submits `sell` + item id; system removes the first matching inventory item, pays half the item value, increments shop stock for non-permanent items. + +### Bad request (Alternate) + +1. Unknown action, or sell of an item not owned → 400. + +### Not found (Alternate) + +1. Item not found → 404. + +### Insufficient gold (Alternate) + +1. Gold below price → 422. + +### Stock exhausted (Alternate) + +1. Limited stock at 0 → 410. + +## Post-conditions + +- Buy: gold deducted, item in inventory, stock decremented; Sell: item removed, half value paid, stock incremented; persisted. + +## Special Requirements + +- Shop business logic is handler-side recorded debt (Architecture Notebook D1, Q3). + +# UC-08 Run Adventure + +## Brief Description + +Zone adventure with weighted enemy pick and turn-based combat. Includes Regenerate +Resources, Resolve Combat. Exception: encounter references an unknown enemy → 500 (post +WI-2; previously a panic). WI-2 design driver (`sb_core::adventure` extraction). + +## Actor Brief Descriptions + +| **Actor** | **Type** | **Description** | +| --- | --- | --- | +| Player | Primary | Authenticated user owning one or more characters (JWT role `player`). | + +## Preconditions and Context + +Precondition: character exists and caller may act on it. + +## Basic Flow of Events -**Precondition:** character exists and caller may act on it. **Main success scenario:** 1. Player requests an adventure for a zone (default `skara_brae_streets`). 2. System validates the zone (404) and applies Regenerate Resources. 3. System refuses incapacitated characters (HP ≤ 0 → 400) and characters with nerve below the zone cost (422); otherwise deducts the nerve cost. @@ -122,53 +403,232 @@ Shared sub-flow **Regenerate Resources**: the system recomputes time-based regen 8. Spell-point upkeep is charged whenever a spell was active, win or lose. 9. System persists the character and returns `{zone, enemy, combat_log, loot}` (loot = item display names). -**Alternate flows:** foreign character → 403; character/zone not found → 404; incapacitated → 400; insufficient nerve → 422. **Exception:** encounter references an unknown enemy (data error) → 500 (post WI-2; previously a panic). +## Alternative and Exception Flows -## UC-09 Heal at Temple +### Foreign character (Alternate) + +1. Foreign character without admin role → 403. + +### Not found (Alternate) + +1. Character or zone not found → 404. + +### Incapacitated (Alternate) + +1. HP ≤ 0 → 400. + +### Insufficient nerve (Alternate) + +1. Nerve below zone cost → 422. + +### Unknown encounter enemy (Exception) + +1. Encounter references an enemy id missing from the catalogue (data error) → 500 (post WI-2; previously a panic). + +## Post-conditions + +- Victory: rewards granted, loot added, HP set to last defender HP; defeat: HP 0, no rewards; spell upkeep charged if a spell was active; character persisted. + +## Special Requirements + +- Enemy draw and combat rolls use the injected rng (NFR-05, CON-03). +- Referential integrity violations surface as `DomainError::UnknownEncounterEnemy` → 500 (NFR-07). +- Crit damage caps by level gap; open-ended d100 (combat canon, `docs/game/`). + +# UC-09 Heal at Temple + +## Brief Description + +Full or partial healing, cost = amount healed, minimum 1 gold. + +## Actor Brief Descriptions + +| **Actor** | **Type** | **Description** | +| --- | --- | --- | +| Player | Primary | Authenticated user owning one or more characters (JWT role `player`). | + +## Preconditions and Context + +Precondition: character exists, is injured, and caller may act on it. + +## Basic Flow of Events -**Main success scenario:** 1. Player requests healing, optionally `partial`. 2. System computes missing HP; full heals all, partial heals half (rounded up); cost = amount healed, minimum 1 gold. 3. System checks gold (422), deducts it, restores HP, persists; returns `{hp, max_hp, gold, healed: true}`. -**Alternate flows:** foreign character → 403; not found → 404; already at full HP → 400; insufficient gold → 422. +## Alternative and Exception Flows -## UC-10 Practice Bard Song +### Foreign character (Alternate) + +1. Foreign character without admin role → 403. + +### Not found (Alternate) + +1. Character not found → 404. + +### Already at full HP (Alternate) + +1. No missing HP → 400. + +### Insufficient gold (Alternate) + +1. Gold below heal cost → 422. + +## Post-conditions + +- HP restored, gold deducted, character persisted. + +## Special Requirements + +- Healing logic is handler-side recorded debt (Architecture Notebook D1, Q3). + +# UC-10 Practice Bard Song + +## Brief Description + +Set or clear the active bard song (Bard only, level-gated). + +## Actor Brief Descriptions + +| **Actor** | **Type** | **Description** | +| --- | --- | --- | +| Player | Primary | Authenticated user owning one or more characters (JWT role `player`). | + +## Preconditions and Context + +Precondition: character class is Bard. + +## Basic Flow of Events -**Precondition:** character class is Bard. **Main success scenario:** 1. Player views available songs (level-gated, with combat effect descriptions) and the active song. 2. Player submits a song id; system validates level requirement (422) and sets it active; returns `{success, message, active_song}`. -**Scenario (clear):** submitting no song id clears the active song. **Alternate flows:** non-Bard → 403; unknown song → 404; level too low → 422; foreign character → 403; not found → 404. +## Alternative and Exception Flows -## UC-11 Study Magic +### Clear (Alternate) -**Precondition:** character belongs to a caster class (Mage→magician, Wizard, Conjurer, Sorcerer). Spell level = (character level / 3) + 1 — **uncapped by code** (level 100 → spell level 34); learn *requests* are validated to 1–7, and the practical ceiling is emergent from the data (spells are defined only through level 7, so higher computed levels surface no new spells). +1. Submitting no song id clears the active song. + +### Non-Bard (Alternate) + +1. Character class is not Bard → 403. + +### Unknown song (Alternate) + +1. Unknown song id → 404. + +### Level too low (Alternate) + +1. Character level below the song requirement → 422. + +### Foreign character / not found (Alternate) + +1. Foreign character → 403; character not found → 404. + +## Post-conditions + +- Active song set or cleared; character persisted. + +## Special Requirements + +- Song effects apply in UC-08 combat (step 5). + +# UC-11 Study Magic + +## Brief Description + +View spellbook, learn spell levels (1–7, gold cost), activate/clear the active spell. +Caster classes only; spell level = (character level / 3) + 1, uncapped by code. + +## Actor Brief Descriptions + +| **Actor** | **Type** | **Description** | +| --- | --- | --- | +| Player | Primary | Authenticated user owning one or more characters (JWT role `player`). | + +## Preconditions and Context + +Precondition: character belongs to a caster class (Mage→magician, Wizard, Conjurer, +Sorcerer). Spell level = (character level / 3) + 1 — uncapped by code (level 100 → spell +level 34); learn requests are validated to 1–7. + +## Basic Flow of Events (view spellbook) -**Scenario (view spellbook):** 1. Player requests their spellbook: caster class, current spell level, spell points, spells up to the achievable level (each marked known), and the learn-cost table for levels 2–7. -**Scenario (learn spell level):** +## Alternative and Exception Flows + +### Learn spell level (Alternate) + 1. Player submits a spell level (1–7). 2. System validates caster class (403), level range (400), level not above the character's current spell level (422), gold ≥ learn cost (422), and that new spells exist (400). 3. System deducts gold, adds all unknown spell ids of that level, recomputes and refills max spell points; returns `{learned_count, spell_points, max_spell_points, gold}`. -**Scenario (activate/clear active spell):** +### Activate / clear active spell (Alternate) + 1. Player submits a spell id (or empty to clear). 2. System validates the spell is known (403), exists (404), and spell points suffice (422); deducts the spell's points and sets it active; returns `{active_spell, spell_points}`. -## UC-12 Level Up at Review Board +## Post-conditions + +- (learn) spells of the level known, gold deducted, max spell points recomputed and refilled; (activate) active spell set, spell points deducted; persisted. + +## Special Requirements + +- Active spell deals damage/heals per round and charges upkeep in UC-08 combat (steps 5, 8). +- Parts of spell logic are handler-side recorded debt (Architecture Notebook D1, Q3). + +# UC-12 Level Up at Review Board + +## Brief Description + +Manual level-up: XP threshold + gold cost (500 per next level), full resource restore on +level-up. + +## Actor Brief Descriptions + +| **Actor** | **Type** | **Description** | +| --- | --- | --- | +| Player | Primary | Authenticated user owning one or more characters (JWT role `player`). | + +## Preconditions and Context + +Precondition: character exists and caller may act on it. + +## Basic Flow of Events -**Main success scenario:** 1. Player requests a level-up. 2. System validates: below max level 100, XP ≥ 18·100·(level)² for the next level (i.e. `xp_for_level(next)`), gold ≥ 500·next level. 3. System deducts the gold cost, increments the level, recomputes and fully restores HP/energy/nerve and max spell points; persists; returns `{success, message, character}`. -**Alternate flows (all 422):** already at max level; not enough XP; not enough gold. Foreign character → 403; not found → 404. +## Alternative and Exception Flows + +### Level-up rejected (Alternate) + +1. Already at max level, not enough XP, or not enough gold → 422. + +### Foreign character (Alternate) + +1. Foreign character without admin role → 403. + +### Not found (Alternate) + +1. Character not found → 404. + +## Post-conditions + +- Level +1, gold deducted, all resources fully restored and maxima recomputed; character persisted. + +## Special Requirements + +- Level-up rule failures flow through `DomainError` → central status mapping (CON-04). --- -## Traceability Notes +# Traceability Notes - UC-08 is the design driver for WI-2's service extraction (`sb_core::adventure`); its status mapping feeds `DomainError` (see `analysis-design/design-wi-2-architecture-cleanup.md` §4.1–4.2). - Catalogue data backing UC-04 lives in `skara-brae-common/data/` (items, enemies, zones, spells, crit tables). +- Analysis realizations for all twelve use cases: `analysis-design/uc-realization-mapping.md` §2 + EA model; design sequences: `analysis-design/sequences/`. +- Requirement traceability: `supplementary-specifications.md` coverage matrix. diff --git a/docs/openup/requirements/vision.md b/docs/openup/requirements/vision.md index 080cc11..9f9628f 100644 --- a/docs/openup/requirements/vision.md +++ b/docs/openup/requirements/vision.md @@ -1,41 +1,84 @@ # Skara Brae — Vision -Version 1.0 (WI-2, 2026-10-03) · OpenUP artifact: `requirements/vision.md` · Canonical home: **skara-brae-common repo**, `docs/openup/` (decision reversed 2026-10-03; drafts move verbatim from skara-brae-server/docs/) +`Skara Brae` — OpenUP Requirements · Vision · version 2.0 (2026-10-05, restructured to the +OpenUP vision template; content unchanged in substance from version 1.0, WI-2). +Canonical home: **skara-brae-common repo**, `docs/openup/` (decision 2026-10-03). -## Problem / Opportunity +## 1. Introduction -Text-based browser MMORPGs have proven retention and monetization for two decades (Torn City, since 2004), but incumbents carry 2000s-era engines. There is room for a modern, API-first, type-safe implementation of the formula: deep numeric progression, player-driven economy, idle-friendly pacing, real-time feedback. +This Vision describes Skara Brae, a text-based browser MMORPG built as a modern +re-implementation of a proven formula. The document is maintained alongside an +implemented, growing system: the server MVP (accounts, characters, training, adventures, +economy, magic, progression) is live at `main` with the OpenUP artifact set generated from +it; later-phase features are committed in intent but not built. -## Product Vision +The product comprises three repositories: `skara-brae-server` (Rust/Axum backend), +`skara-brae-client` (Vue 3 SPA) and `skara-brae-common` (bilingual game-data package and +OpenUP artifact home). In the tables below, R1 denotes the delivered server MVP and R2 the +later-phase features (not yet committed to dates). -**Skara Brae** is a fantasy text-based/idle MMORPG set in an ancient, labyrinthine city of stone and sorcery (The Bard's Tale I inspiration, dark-fantasy tone). It transplants **Torn City's proven loop** — energy-gated activities, training, economy, social systems — into that setting, adds **idle-RPG elements** (offline progression, hireable workers, pets; Idle Fantasy inspiration), and grounds combat in a **RoleMaster-inspired critical-hit system** (open-ended d100, crit tables with bleed/stun effects, level-gap damage caps). +References: game design canon in `docs/game/`, OpenUP artifact set in `docs/openup/`, +EA model in `docs/openup/model/skara-brae.eapx`. -**Tagline:** *Set your hero to work. Close the app. Come back to loot.* +## 2. Positioning -## Stakeholders +### 2.1 Problem Statement -- **Owner/developer (solo)** — builds and operates the game on self-hosted infrastructure (Forgejo/Jenkins pipeline). -- **Players** — web/PWA users; the API-first contract also serves future community tools. +| | | +| --- | --- | +| The problem of | 2000s-era engines under proven text-based browser MMORPGs | +| affects | players of the genre (retention-heavy games with dated UX and closed stacks) and a solo developer wanting a type-safe, API-first base for community tooling | +| the impact of which is | incumbents carry legacy engines; no modern reference implementation exists for the formula with real-time feedback, idle-friendly pacing and an open API | +| a successful solution would be | a 2026-era, type-safe full-stack implementation: instant feedback, mobile-first PWA, API-first design, offline-friendly idle progression, self-hostable by one operator | -## Key Features (committed MVP scope, Phase 1) +### 2.2 Product Position Statement -1. Accounts (register/login, JWT) and character creation (5 races, 10 classes). -2. Stat training with escalating gold costs; energy/nerve/HP resources with lazy timed regeneration. -3. Adventures (energy/nerve-gated zone runs) with turn-based combat, crit tables, XP/gold/loot. -4. Economy: shop (buy/sell, stock), equipment slots, inventory. -5. Magic (class-gated spell levels, spell points) and bard songs (combat buffs). -6. Level-up review board; temple healing. -7. REST API (Rust/Axum) + Vue 3 client; WebSocket notifications. +| For | players of deep, numeric-progression browser games and the solo operator building for them | +| --- | --- | +| Who | need a modern, maintainable instance of the proven Torn-style loop | +| Skara Brae | is a fantasy text-based/idle MMORPG set in an ancient city of stone and sorcery (The Bard's Tale I inspiration, dark-fantasy tone) | +| That | transplants the proven loop — energy-gated activities, training, economy — into that setting, adds idle-RPG elements (offline progression, hireable workers, pets) and grounds combat in a RoleMaster-inspired crit system | +| Unlike | incumbent PHP-era engines with closed APIs | +| Our product | ships a Rust/Axum REST API, a Vue 3 PWA client, language-neutral game data, and a self-hosted Forgejo/Jenkins pipeline — with the tagline: *Set your hero to work. Close the app. Come back to loot.* | -Later phases (not committed): PvP, guilds, properties, crafting, pets, blessings, offline workers, tower endgame. +## 3. Stakeholder Descriptions -## Constraints & Quality Bars +### 3.1 Stakeholder Summary -- Behavior continuity: refactors must be wire-format and game-semantics identical (WI-2 governs). -- Quality gates: `cargo fmt --check`, `cargo clippy --all-targets -- -D warnings`, full test suite — zero-warning policy. -- Game data lives in the shared `skara-brae-common` repo as language-neutral JSON (single source of truth for server, client, and a future generated wiki). -- BIGINT (`i64`) stat growth; stats only ever go up. +| **Name** | **Description** | **Responsibilities** | +| --- | --- | --- | +| Owner/developer (solo) | Builds and operates the game on self-hosted infrastructure | Scope, releases, quality gate, external hosting (Forgejo/Jenkins pipeline) | +| Players | Web/PWA users; the API-first contract also serves future community tools | Play; consume the public API within its contract | -## Success Criteria (current iteration) +### 3.2 User Environment -WI-1 delivered injectable RNG (deterministic domain tests). This iteration (WI-2) delivers an architecture cleanup that makes the codebase safe to grow on: typed responses, domain-extracted adventure service, named game-balance constants, one domain error taxonomy, fmt baseline — with all 45 existing tests green and zero behavior change. Longer term: a playable MVP per the feature list above. +Players use a browser or installed PWA against the hosted Vue 3 SPA; the client polls the +REST API (assumed refresh cadence ~15 s; server behavior is poll-frequency-independent by +design). The operator runs a single Rust process per deployment (systemd), with optional +write-through SQLite persistence, behind Caddy TLS; game state otherwise lives in memory. +All game content ships compiled-in from `skara-brae-common` JSON — no external data +services for R1. + +## 4. Product Overview + +### 4.1 Needs and Features + +| **Need** | **Priority** | **Features** | **Planned Release** | +| --- | --- | --- | --- | +| Progress a character | High | Accounts (register/login, JWT), character creation (5 races, 10 classes), stat training with escalating gold costs, level-up review board | R1 | +| Adventure and fight | High | Energy/nerve-gated zone adventures, turn-based combat with open-ended d100 rolls and RoleMaster crit tables, XP/gold/loot | R1 | +| Run an economy | High | Shop (buy/sell, rotating stock), equipment slots, inventory | R1 | +| Wield magic and song | High | Class-gated spell levels with spell points, bard songs with combat effects | R1 | +| Regenerate over time | High | Energy/nerve/HP resources with lazy timed regeneration; temple healing | R1 | +| Consume the game programmatically | High | REST JSON API (Rust/Axum), Vue 3 client; WebSocket notifications | R1 (WS: later R1+) | +| Play idly | Medium | Offline progression, hireable workers, pets; further endgame (tower, guilds, properties, crafting, blessings, PvP) | R2 | + +## 5. Other Product Requirements + +| **Requirement** | **Priority** | **Planned Release** | +| --- | --- | --- | +| Behavior continuity: refactors must be wire-format and game-semantics identical | High | R1 (standing) | +| Quality gates: `cargo fmt --check`, `cargo clippy --all-targets -- -D warnings`, full test suite — zero-warning policy | High | R1 (standing) | +| Game data lives in the shared `skara-brae-common` repo as language-neutral JSON (single source of truth for server, client and future generated wiki) | High | R1 | +| BIGINT (`i64`) stat growth; stats only ever go up | High | R1 | +| Self-hosted pipeline: Forgejo (git), Jenkins CI, systemd + Caddy deployment | Medium | R1 | diff --git a/docs/openup/test/quality-check-procedure.md b/docs/openup/test/quality-check-procedure.md new file mode 100644 index 0000000..be2c61b --- /dev/null +++ b/docs/openup/test/quality-check-procedure.md @@ -0,0 +1,107 @@ +# Quality Check Procedure + +`Skara Brae` — OpenUP Test · migrated 2026-10-05 from the Joplin note of the same name +(markdown is the single content home; Joplin keeps status only). Post-migration update: +the three unchecked items below were resolved — `rand::rng()` direct use by WI-1 +(single construction point `request_rng()`), handler-side business logic by WI-2 +(`run_adventure` extraction) and constants by WI-2 (`sb-core::constants`). + +## Purpose + +Systematic verification that the implementation matches design notes, passes all code +checks, and follows Clean Code / Clean Architecture principles. + +## Procedure + +### Step 1: Code Checks + +```bash +# Rust build + clippy +cd ~/Development/skara-brae/skara-brae-server && cargo clippy -- -W clippy::all 2>&1 + +# Rust tests +cd ~/Development/skara-brae/skara-brae-server && cargo test 2>&1 + +# Vue typecheck +cd ~/Development/skara-brae/skara-brae-client && npx vue-tsc --noEmit 2>&1 +``` + +### Step 2: Implementation vs Design Notes + +For each design note, verify the implementation matches: + +| Note (docs/) | What to Check | +|---|---| +| `docs/game/game-concept-overview.md` | Character system (races, classes, stats), economy model, adventure structure | +| `docs/game/combat-system-stat-scaling-design.md` | BIGINT stats, open-ended d100, crit tables, crit caps by level diff | +| `docs/game/mechanics-source-mapping.md` | BT1/RM/IF/Torn mapping consistency | +| `docs/game/tech-stack-architecture.md` | Crate structure, dependency direction, deployment | +| `docs/game/skill-magic-system.md` | Spell system design vs implementation | +| `docs/game/medals-honours-system.md` | Medal system (not yet implemented) | +| `docs/game/idle-fantasy-inspirations.md` | Features adopted from IF | +| `docs/openup/analysis-design/architecture-notebook.md` | Layers, dependency rule, key abstractions | + +Check items: +- [x] Stats are i64 (BIGINT) — not i32 +- [x] 5 races match design (Human, Elf, Dwarf, Hobbit, HalfElf) +- [x] 10 classes match design (Warrior through Sorcerer, no Cleric) +- [x] Crit damage cap by level difference implemented +- [x] Open-ended d100 combat rolls +- [x] BT1 items (127), enemies (125), spells (79), songs (6) all present +- [x] Zones match BT1 dungeon structure (8 zones) +- [x] Shop economy uses BT1 gold values +- [x] Bard songs with combat integration +- [x] Spell system with SP costs, learning, combat casting +- [x] Training costs gold (not just energy) +- [x] Review Board level-up: XP threshold polynomial (18×100×(level-1)²), gold cost, max level 100 + +### Step 3: Clean Architecture Audit + +Check dependency direction: +- [x] `sb-shared` → no dependencies on other game crates (domain types only) +- [x] `sb-core` → depends only on `sb-shared` + `sb-common` (domain services, no HTTP) +- [x] `sb-api` → depends on `sb-core`, `sb-shared`, `sb-auth`, `sb-db` (HTTP adapters) + +Check layer violations: +- [x] No `serde_json` in domain logic (only in LazyLock data loaders) +- [x] No `include_str!` called during business logic (only module-level const) +- [x] No `rand::rng()` in domain functions — resolved by WI-1: single construction point + `request_rng()`, domain takes injected rng +- [x] Route handlers delegate to domain services — resolved by WI-2 for adventure; + remaining handler-side logic (shop, heal, parts of spells) is recorded debt + (Architecture Notebook D1, follow-up question Q3) + +Check code quality: +- [x] No magic numbers — resolved by WI-2: `sb-core::constants` is the audit home +- [x] No abbreviations in variable names +- [x] Functions do one thing, are short +- [x] No duplicated logic across modules +- [x] No comments that restate code +- [x] Fail fast, return early — happy path flat +- [x] No mixed concerns (HTTP + business logic in same function) + +### Step 4: Bug Scan + +- [x] All gold/energy/nerve/SP costs are both displayed AND enforced +- [x] All state mutations happen inside write locks +- [x] No unwrap() on fallible operations in request paths — WI-2 §6 ledger classifies + the remaining ones as documented keep-with-reason invariants +- [x] All enum match arms exhaustive +- [x] No integer overflow paths (xp_for_level uses saturating arithmetic) + +## Audit History + +| Date | Clippy | Tests | vue-tsc | Criticals Found | Criticals Fixed | +|---|---|---|---|---|---| +| 2026-08-03 #1 | 18 warnings | 0 tests | clean | 3 | 3 | +| 2026-08-03 #2 | 0 | 42 pass | clean | 4 | 4 | +| 2026-08-03 #3 | 0 | 44 pass | clean | 1 | 1 | + +## Quality Gate + +A check passes when: +- Zero clippy warnings (excluding allowed lints) +- Zero typecheck errors +- All tests pass +- Zero critical architecture violations +- All tracked inconsistencies have a ticket or accepted rationale