From fd6aca0b4e696814b9ce1b71d9bed85c255c8ffd Mon Sep 17 00:00:00 2001 From: xtaodada Date: Fri, 21 Jun 2024 00:10:01 +0800 Subject: [PATCH] :sparkles: Support starrail notes rogue tourn weekly --- pdm.lock | 8 +++---- plugins/starrail/daily_note.py | 13 ++++++++++-- pyproject.toml | 2 +- requirements.txt | 4 ++-- resources/starrail/daily_note/daily_note.html | 20 ++++++++++++++++++ .../starrail/daily_note/items/拟合值.webp | Bin 0 -> 18282 bytes 6 files changed, 38 insertions(+), 9 deletions(-) create mode 100644 resources/starrail/daily_note/items/拟合值.webp diff --git a/pdm.lock b/pdm.lock index 8557d4c..c1c979c 100644 --- a/pdm.lock +++ b/pdm.lock @@ -2150,7 +2150,7 @@ files = [ [[package]] name = "sentry-sdk" -version = "2.5.1" +version = "2.6.0" requires_python = ">=3.6" summary = "Python client for Sentry (https://sentry.io)" groups = ["default"] @@ -2159,8 +2159,8 @@ dependencies = [ "urllib3>=1.26.11", ] files = [ - {file = "sentry_sdk-2.5.1-py2.py3-none-any.whl", hash = "sha256:1f87acdce4a43a523ae5aa21a3fc37522d73ebd9ec04b1dbf01aa3d173852def"}, - {file = "sentry_sdk-2.5.1.tar.gz", hash = "sha256:fbc40a78a8a9c6675133031116144f0d0940376fa6e4e1acd5624c90b0aaf58b"}, + {file = "sentry_sdk-2.6.0-py2.py3-none-any.whl", hash = "sha256:422b91cb49378b97e7e8d0e8d5a1069df23689d45262b86f54988a7db264e874"}, + {file = "sentry_sdk-2.6.0.tar.gz", hash = "sha256:65cc07e9c6995c5e316109f138570b32da3bd7ff8d0d0ee4aaf2628c3dd8127d"}, ] [[package]] @@ -2190,7 +2190,7 @@ name = "simnet" version = "0.1.22" requires_python = "<4.0,>=3.8" git = "https://github.com/PaiGramTeam/SIMNet" -revision = "13a0d8a4f626c22484b3650eef5c177fa2939ac8" +revision = "6c2c41239e0bfa177dee1ab91d63e04382cb29ab" summary = "Modern API wrapper for Genshin Impact & Honkai: Star Rail built on asyncio and pydantic." groups = ["default"] dependencies = [ diff --git a/plugins/starrail/daily_note.py b/plugins/starrail/daily_note.py index 9245182..ce3ed83 100644 --- a/plugins/starrail/daily_note.py +++ b/plugins/starrail/daily_note.py @@ -74,12 +74,16 @@ class DailyNotePlugin(Plugin): "max_weekly_discounts": daily_info.max_weekly_discounts, "current_rogue_score": daily_info.current_rogue_score, "max_rogue_score": daily_info.max_rogue_score, + "rogue_tourn_weekly_unlocked": daily_info.rogue_tourn_weekly_unlocked, + "rogue_tourn_weekly_max": daily_info.rogue_tourn_weekly_max, + "rogue_tourn_weekly_cur": daily_info.rogue_tourn_weekly_cur, } render_result = await self.template_service.render( "starrail/daily_note/daily_note.html", render_data, - {"width": 600, "height": 530}, + {"width": 600, "height": 1000}, full_page=False, + query_selector=".container", ttl=8 * 60, ) return render_result @@ -87,7 +91,12 @@ class DailyNotePlugin(Plugin): @staticmethod def get_task_button(bot_username: str) -> InlineKeyboardMarkup: return InlineKeyboardMarkup( - [[InlineKeyboardButton(">> 设置状态提醒 <<", url=create_deep_linked_url(bot_username, "daily_note_tasks"))]] + [ + [ + InlineKeyboardButton("设置状态提醒", url=create_deep_linked_url(bot_username, "daily_note_tasks")), + InlineKeyboardButton("在其他对话使用", switch_inline_query="功能"), + ] + ] ) @handler.command("dailynote", cookie=True, block=False) diff --git a/pyproject.toml b/pyproject.toml index d7604e0..ec9df90 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -34,7 +34,7 @@ dependencies = [ "arko-wrapper<1.0.0,>=0.2.8", "fastapi<1.0.0,>=0.111.0", "uvicorn[standard]<1.0.0,>=0.30.1", - "sentry-sdk<3.0.0,>=2.5.1", + "sentry-sdk<3.0.0,>=2.6.0", "GitPython<4.0.0,>=3.1.30", "openpyxl<4.0.0,>=3.1.1", "async-lru<3.0.0,>=2.0.4", diff --git a/requirements.txt b/requirements.txt index a5fe712..22e2cc7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -84,10 +84,10 @@ rapidfuzz==3.9.3 reactivex==4.0.4 redis==5.0.6 rich==13.7.1 -sentry-sdk==2.5.1 +sentry-sdk==2.6.0 setuptools==70.0.0 shellingham==1.5.4 -simnet @ git+https://github.com/PaiGramTeam/SIMNet@0b8ef8e8e35d13b15c13dfaf6ddf28a83c2b72a7 +simnet @ git+https://github.com/PaiGramTeam/SIMNet@6c2c41239e0bfa177dee1ab91d63e04382cb29ab six==1.16.0 smmap==5.0.1 sniffio==1.3.1 diff --git a/resources/starrail/daily_note/daily_note.html b/resources/starrail/daily_note/daily_note.html index 364f9cf..1b4e694 100644 --- a/resources/starrail/daily_note/daily_note.html +++ b/resources/starrail/daily_note/daily_note.html @@ -131,6 +131,26 @@ >{{ remaining_weekly_discounts }}/{{ max_weekly_discounts }} + {% if rogue_tourn_weekly_unlocked %} +
+
+
+ +
+
额外拟合值
+
+ {% if rogue_tourn_weekly_cur == rogue_tourn_weekly_max %}本周差分宇宙已完成 + {% else %}本周差分宇宙未完成{% endif %} +
+
+
+
+ {{ rogue_tourn_weekly_cur }}/{{ rogue_tourn_weekly_max }} +
+
+ {% endif %} diff --git a/resources/starrail/daily_note/items/拟合值.webp b/resources/starrail/daily_note/items/拟合值.webp new file mode 100644 index 0000000000000000000000000000000000000000..08e535ae58c39f59e60cea1de552b2578cae77f3 GIT binary patch literal 18282 zcmV($K;yqsNk&FuM*sj!=?+}QQP8#xlY~F(9SjjM0pK64vO`jNskNZHq%!6dSi|NrEqF`1e591!T1id^h>f)w1!VWtkc^+H{uCtxPKg+kp*<2hbl zOd|!iTV#jSSelDc%5aiODaB35>{bboW3v-@DP;ua)-@#QmWKv}IX2?tI6J}2-JM(G z&bkztS;&XMhwa(U&d#Nst*v43;)A)%*XxyetC?{~%*rrqZEfxB?C$Pt&rXI5=hpZ6 zDgX@(X2nj*>_jq_?X9g@DUOq%TOKMP8)x6%-MM`E@|C^4ot>@OP<*R+0FYe>Qj zaI%;UHal5vE?v5E<;rcBE^l2L^UO@%?ZQ@0s9VEYgL)IXFxODZNqcwi{!%2>Cl3N>)`G~DD%!haW;vfCvfAWw0 zz9+El?U@fQb0Tj=hfH%UTXs)Xal2A>+&}OmKl!c)9(elA-~B7Uc$vWmE8_@rXVsOI zF8-bimC@Vu02p{Lb%EDge)e`|#frNU%e*zcZ*xHoWhijv{Y!WNcYXlMOhFf7x1bN8 zZ2=7sxO4gTLW#`gv3{h(L+m3f7xGkKM-X%h1;3y7wYvWOR=qv%LHQKQHR`CWN1P&I{F=noum5Rn}JQU&v}maiIyp1U8>RmTq!I@mKkIHY~u9 zh>#i(-Gn5a8d}0FSa>hTg?6KaLShzX{cLeCL3umRZ$WgmWh_RQjS}S|(uj_axNuHo z*JrE;9jT&ZN~hKU!hcoD#B`^LLnrjVPU;YM2b1y=mPTMkZLT(C=mw2 z$wJEN|u5gp#CrG?W*`Aoc2(%q$WDOYb+DrPjl? ztZZ1_xVnwkGRJCvt&3e#Saux7l3^_ojntUWH~P;>X=6(=1wP8hqoW|o;ZAFZZ+hEZ zKv{=(0@mH2cge$FF2krtATcjwe@~Ms`-dzu)J$_bDv>Co)BW5c>Fni^js;PgOHM78 z$nds%lk2?c$0kyw!?$Q)VM$95!b!)QwUXW(f_{8f%NSK9WN^M=1m18cVPLIzW`QL2 zI*+{l;c4PGdpvM(;AzzolCIr_REd(RG^{8zA8Mvzlw`Lx(fLMpHZz|WsSAOUDC9)j z-+JrYFXyz1+?CgMFarW>3X!Fi#Ph@3l+6KTpyOTo_==@-2Aiwr4i?+B&u>Kf@XW z&MISNRVg=dK08ZV5T^`Gp~A?a)Pwm$-+d>iQJ_5j7W>jC_qTSAZ6OqWcKzBDKi(1T z9R2pk9{tik<+fTqm944Cr1Luha{wE&T$x40!Tw|4bLSjrStis%9ja`2%ac1_{phQg zx73_k8tvxOKhkr8PRo0K@bW)=@wPIjF6_R|ICo7gec20_qDX|U9G;|ye&E4{kkMvN zv;OiD4lLQ4Jo=vU;`8ipfz=`RFa7?yj8oU)13&u@KDfODm8vZLhZ&v29^KZWNZqDD zq~ou^y+811t&^&-roEncir;wQ)!P7GR!qYhe5(Z|Wp}E4O zJU+VjT~E}CPp#UzjoBxEjosPJ;b+#;WBc%zKJvfcFy>BSnesf2P?y|1OyG93zx9KU z9a8T9Q}N=R4gGca zJrhN&mgumyYKx4T!*_3_!fikE*Vt9_K~~(XBO7P`c@x>e1Si?u6$R{dzVqj&TWBZh zyzsI6p-uBJ(2AG-)qh^ldQ&OseC;!@rQUe#Cr(+L_29I`mD+&t_dNO+FFWqtwd{tR z19aNuD3-fsZjRlkKXb9dWca&X*nj-L8n;J#^A?M)hDMI$G(-|lbw z``3%i`~(r+Yqv7}NC~jc%cWHRiAT@MD{YO3bQ-pAeB?jP#)2A+B5aC5Ri zYLSB0cWOeSwJGIB`RDd`w`MXc#mvw;cl?fA8V_ybK+Oe)N;WBi>>F#_cT-Egb#H$- zRyQUhm6>OB!ekjt3wzev(v~A9nGz%vxP;1&g_+h(uPDzZMX3K!(Tnz z+<;i3$7Yf9xWZ4*zS-?JyoFG{?c44X^PBH<-ihHz<^hv%s$S;%XxG zQ||}QVjU@yozb0_Wl}0Ogb7y+uWkR%4PwFJJ7r{!YpXG)D7BuNdSO-!b29R*O4XI| zs#&`5*Z9ql;hUAQoW@w1t2&A_%1w#RU^fd{mPB~s=sLdy$XOXj4hx6S2vR}WPiW}7 zG1Yk!3+gimrDj@+4B#y0=-y>!mddTr(eW=$8%p@dG#|0HvuGJyn{Uk&nYq9?&!EWC zfGm_b-1rViO;yg-0q)aoU?Jz;Z*d$rI)QW+?^(f!YtHi@*kjMP+ z?bkKO`X?mPEYFnd2Y?ci_V4+=sS1+gC&=wfTJpvD)~r>4zT+7x!yNbYG~(#;kLN_K z)&#Vyln#?3{S|P%n3N zTP!OPy8gryG+WoK#P#Mh0qo8g>1s1? z{0Mbx?Pn(*H~7Mdg#k3X_hZyXX43CFPFwjUw5{87r0?%u`$_O=9@Z98XWU-kRlJBP zTM~WPo`I7bkDeIT28M4w{$^TfzP3S2of_Y{)j$E7zS)tA=r@y6GXlE~~fp3<2(GN_}l|Nc{; z?RZNhO43}lk2MT@>AI6GGFZ6ZX}{_$iw%TlHeLF~LwQ*v#I)S5#<9)>dQ%e1>kYhf zIngoTTCiM`xt7yce7A*2%QWJY;oZ1WveZ)i^>-d(wvN*$cVz+F-4ZjyPpi9b!T}M{ zmiX;dlX)qn;BdsHXAY;(fv!OAL(4Jwq_fboP{_j8>+j@nq9dN{GeVDl zdf2@Rl0{0XQ$7gHii)|$>KV4zHY1iOSz(d!r4saIVTB%$Z^hphTzc_P0a&M{%-t-> zhXU|nusU$~rpudz)9pWc9IC=)boAn2lF~@i=}Mt^8Hx{C=CmI>9mhTM2Xyy#x4=o6 zTb`QwiCC5yBxw;Dwf>{ws2v?02icUxkXcUu_h%wUfq`io-thj@`wHRY35Vvn$l&ko!%?lY z);)p!Dts#6V_K@W&-T$151h|`>av+0>5xjEe|DF{d8PJF>d5CQ{!gvv&eqZ6aFJx1 zH5oboGW$nBi`H6Z--C1}kZm^@ox;VJXfE>E4( z>Ig1$4^oS&7YxO46XFD|LH2p_%A1j%H0SbT8yl&bmb+fl-$8}cv+7mmM57tu(;6Uw zaD{b@EaSoTkV-9!5j)7iP_e{ecC@-%h7cloAYL8zPX^2*)69F$lRohYo)}4KJiWGw zQm}yy(;7h!TxvJ2RhN;r(POiIC>jz;PW)PQCmRX39Pp?)jBI`j$a$+WOa#*>@82Hv zsi&sh7?rzOuI)-|?s|FkIvgLhxf#feY27N-AyNh$@7}w9jA(^9opvWOyWbNo0w)>+ zdCjf&bBNErQjR05;T=KAm@<{xbt$brHu;uC_b#S*7xlL8&Arm!wH{X+Pt25%6B%xi zpQltErhQcWfPef8b0trAB@Un4r=Gx2|2vFLEN-5b?aG@r&X4c}zg_FvLOS}T-JgWa7| zTRd9FZp%cQ;-9=+3d$rx6YV|H60q=wH+D{~(xrQj1jiHwL8dY$T+n2Q+}hveyd#w9 zT)fIrg!;e8n?_UhJ&iEf$@6|r!39DHBx~i5kAfBdZ@hPvZ6Z^VXsRLJJgiZ&aVfdL z(z>U|3J>LSk6pTPlSW2Fh6Ga>(xMZCDtBBUaH$4mDxpI zwY4%Z&+!7wu5a4%U=dn0Q}B(T)|OE*Vj2t$qL6L-aD|)CTbW7O>vc;YX*CRc!CGeY zX=CFlg~HQCb${iF6&hOF^IP__lH7l-cP$lW>C$i@L~=k=?s~)P+cS4BMKYspxVp&* zOK+mI`V<#fLUQB_feod)y8GVGz~JUn`~a)8%#z^YmG(3jTiPdMwTplEUbeT~9W!Y& ziXyR4ddI={-?7m;@RHod`RFNV^9XPPms!treQP=dt}wD>tM_d1blL$yM04!{MTO-R z11B3Xp5z59QQ`i}*SFkslGD^-lVl1*COEq7!HeigOKw0-z>@#>-1$X(aD)TIW-+WZ zBcZ{=7t!aepvl`iMV7PxW&<1E~vG(Tx89=+yh=%9JWagw-BUT zqwd|m`mtx>U?)ft=k9vj@*>VN;Mq!W1M)`Wu*B>H#Rg2KGSApZMekTEX{>Rbm#7HG z0Pos9#BmI;&58wvDbcY1$c5E6k;A6{i4|a*GM1i(w+-5@YY1iAyJNlbV(v8A?(I>G z(KQ?EqYcn`EB)|}`&JZE3tTqCLcYo&Kt5oGksFG}lLXaA zPx}q|)D_K=w632wHaxL_k`2yfKA&vom=~XlyeW-rJib zoGA3n4cjQyyq$&(@c;Kdaf&@KQEkjA!Km&_SCc-yB{mcS`kO5v*27pL(TIR=FR_E| z{UxNWZGIt6WB2#y%Wla(S7{KBaSeTt&&nVP~2v?gT|K}<1q*p!v2 zWr{S^7(8K+)3q;wT4U@RoA>PpeEE@6?dC_5E zr(2!uMd%utn_0jz6-tzeS16nLXweGU4I~_ZElJWei#&JH;YdimbF4v0D~PG9?qse) zrUi~R91@Uz%3HsgQsh~mGWXft-=)e(17b5h0)vJ>|MrQWuxUtN(j}%$xoUUPQXZCR z6Bw%jG4TA`&vGWv>NTvWzTPR4WZ=A>`OOw9vR! z78Eb9bL1&_V{(BoJEc}r{rZC(6p^O1X1Rf`9is>fZ(rm;XMAq0MvRXBqW7Cv8HbdyUhkn^MP&Ylb_ql6V4JfM3wcbm>% zf5+MRioC2D$Gaqtc=J4OKlZAUGUmg^kGAEK{bY4RzLdA)&eR@=K4O z`lDv>ZNF^72Tu6Z?!$-PN@Dl|rOn7^S_ZVX!>1lkq`b(x0r1Hus7kOXEelLgMaRK! z?0xx>wb#ttRCi0};lFRzG8}yQ@qMSH0YVjNODH$#F#jc3_C~0$xN{|a!fhMvDfBN%X81a`$nFW z=HvM^ao@Q*g77)pU;WZ|6fVG&TANGZS!xAO#}_@faTOj`l}VFk{P*|nU4&&5F3&y3 zA%(=q)HsM_g4Dbk*?hjuSHJWV=X&#mN47R2^DHL-6K;znr$B^fOP`n5Zs&h@kMD}- zQsmmtyv3e&K!+^nj1Kq+cx$;(G$hGGYkRI`;eUQ~`&GFqg>oFMDFkYrhvwEm^~z_S zduFw2sp-PU2PTlKMx(=jPTW2+X3N!d4&{_y&h|Mow> zgR*2o*vu;UvX2q?&>=YFgCD$n{qX4Ez)T92xuuxYDAC=tB{yHc@(=zLRqNQdGs$F^ z2IVW%=#eJo@K3mY^WfmHCZ;I!4SH)WH1GCaIY&7w+c)nk1)ol7dkx#mezIZeE!U01 z-4n?CNLb(5k``_N!}j*p(abdV5Lx6}-+P&B!J3#4%%NeWczGJiTBgwiK9Jru}4l{X8MTZ+?_o(MmbrY7Wz{$101kLBV^{}dM|tdABkx^3u9=PmpNu30sHRob_9w+BQMb%2b6e{%^g{r z9UrF&Oj2N{yZu!rX1$&+;QC_Fu63ulP8=!IFq{J)DW{OEe8GC}c;h7GS+x0#47pAtF1wE+{gG53grBws#_z)OM#|w;1KQWsuoINMxSg z2^e9$MHS)6%)V?ZoFnaFCpg~KK=6mOM=eqgSiYhrN0%Z;nW+X@%!^z{j(Tx#D6)!?J+!J`FzXaCBz&MeU2>;R%eEb#+% zc7m_0V>0_#N0M*oFI|V$XuVp|qpMFpOAVk&)_*5t*ENS~9|-cWl&F#TS45V^gkP;Tg9sUw9FNx~QB|OCtG01)F#&a*hQKbg0JIN&T>_FKgV!YnEx^kUuKK3y#hV(q!K-7~2bU0%n z-a9e79zhUMvmO=|_BsXMjHT%57i);~@ak_Ia@1-gBchRQ3FkA^Bp2?aB#G9t&Fk^J z@+uvfxA*=f!ASpm`(w9x>y|_^EVCmm&K$_@tVJ7BtwF7oXFFo=Uig;;o{A6uz2CzT zqX`!Nt9S`vJ99{hjLaAh)H;tkZ;QH;~t z>2sVQXjyes>Th32e(ead__IhghJs5(42kj0zjx{PxBV7TbDk{-8gx0jk!Pz((&-We zbuJ>J(sB;({PMqsf(vRH8|lWqANk&Q>>p>H*NCo#Vwu~{A{HkAGFlsl$Gp{l>#x5o z7qmj|X>khlFUL>abDdOcEuvcv7m&%BMMi+bT>T!5Xms;@|A|xzpW8X1+{gds&wYUX zihN${cuYtFv$OiAU76|(7m>Br@q}otM%K6gdi9>a{_#y@QnaY`5cI}FjinrcI!;&r z#o_O~*A$iTd7Ky7bc>-8)B?X%h&`o`Sz1poT;Z~xx? zqXOX6h(&W431=EBc@WuJd-eMDt5=df{y06>4o(dK@uh$G==VN+EmA2{Dk5UOG+fU? zwTKpxwRPe*`itJz2OnqQ3(Fu8|N7Zqe0=}Lt~DqL9)W6yJU4&knFe#52oY%olWZ_< z-n{LBVX32}QJzcVECEdui)(SLa*Y4<@80=4+Raw>XZUz9oFq!3{sF*INYD^XfxDTz z6_XE#^Go-y9GTzukU^NNOG3qX^?3W9)%mOd zo_qG@PrRAem9k#$DNc}xNRrSZWu3x-VRC#FxDRkMZFPfOj#F&$?q_%f@0J@JJWW_4 ziAktt_e|7G!qRY)GQ<4lE57$_u;!g6g%(h|QD69v<<0MJakzU}l#)Dk0<2rt5+;Gs zpCdD=1PlMxytV)8{&4rENHpn9p8w$f``&fwdQBK|VP1(6*n%sOJ(=<#as`iU! zMUs&PxbcZke&QF)dulx_M_YkeI5~ue(a)3X^aY;n?J22$usn#!N?<Q!_iJT4*~NLL?hv$+f-Ip@-qkCUWCXuNJ=b3(P&Jl<-+ZM^-Nw*j+haP8W) z=T8uvNZ6-U$D7GYbqk8kyZ6oFsEeYht}Ol6p2*Cap?M5t+eg`z+ppYz_nmj`URv96 z!2XSwUViE7ORw$+-tw^3147+;qYJ6gO$20j zF(4XITN{d(q1Z{IJMX-*JsX(qfCG&Kj_1e30;l6S^LcCasJ4?!tzlu^o3_lm89b8< z3EiBL%Ki{GidqnZ56s-H%wQMTp|>|IU&6S%u;lovcpFVI4)(WptIwbpW+FUGz#MjDv|QTk`isQp@X@nF#s z+1t{>GMjh8lVW4Bu0g^3+Lj_(C!qC$=+0_HL`y4kjBtZoGT%jnRV>n?IW38_KDjd% zE9rE31!yM-@+6OvXc0AthzuC2F}4D6Az~o{MT8}3m@k~U;m9e8qoqh_Nh2HM3CxLh zg6zLkDL@0@!bBp-Ov{X6!Ei;^y__8rhE^aUk{BBS^Gq`6;|DCU_8&r1xkr7Z1i-J z&c=(Tw(MH0tXR@$y}1o&7M*)8R;+Q)j+a17I4(Sct14m{(S>IaLY*%zMod6WXbBQ* zk!jj$%jRlJ-zt!hLRw&%SlEIzjj-O{0T{P7G+?Q5!)X>lW!b}cG2;|dgIK}(_WhX9=cDgXfh0X}Uolt-i@q9G{ro1lOViDGVrVNvGL22!s2 zK4blB@-xB*_bxFX@D>*NdB4?tfLa=ZNx17JO|7gAge_#LTb~ydi_JIAu zKb!cE3N;7)$s*`^#l<2PjAh%dnIb#yI<`&&_OO5!l+CAdRyxo6yv~2H z%^l*W0PgzB@2xK; z09FvOzu8}{Es*Dc!hA^yC*X#lerWxeO}e6Y`w8DZdk~-^>b2l?Y_X75B4bAf{{ruI z64`7cr!5f#nf|D06*6x&F3|u)zQN_W+tM-5_VS03@qEB33QB%nKBSo3mC!SUSu-g4 z-p)cf$1a7tLuSh}zH`aSP95E>_IquseRTl@`?fi=6T;srY9C%#pxG0JM*13Y@ca(* zi_6PKCPSZlKUax;*ZROMM?%b{@Q&>U!bd%rt1S)nc$`m~E4e;7C%_c3MR6RcC;A$) zW+9J$#*`^yw0_(Y^eh2RBroF6f0nj=!dMzbLexK5UVr&AKGi*!%Ab-(XHp(w$j+;g zDn9KK`Dc?t`O&cw+9<1p!Q_L>iYfmBkF82KABMl<&zmCu8%_(?bU&D=d;=-VuQJb` zXsq_4WF!dcaGb5MFK`br+*zknxGgO2gxtCz)CSPh%;i=Yvb|}lvYQ|7T+1w^<0{e5 z`~7*LPE|dn3f;4wGZ-+w64t~i#r0?}t$bMRdkZc?4c7kf)4eI9@51qw1OyuDgER8+ zA}~+UQc<-%eC~VQ`#8c=Sd!AJbKLg5(n;Y|0oCyAg-v&&Yb$E&|xy+5XbgxX!uXo!dd?ut)i#db|+cUT$-kf)pjqXm0d zwg_+MwwmQ#V7Z!LH+O`l5&$42i^*kmeNWRTla>?B+lyE~bUc)#^MS_^PP>ffKkM`r zhau|$+=$lV5+z1Kw=M$~?Z!g6!mPUn{u|$hBx^x1axD;JfOc!cXhOdOCWP zzt=Sp#nhQ50e~=^3ym-ooiU2mM@sf56B{qFDg9MQUYj!iq*3@M`Ih^3Hjbk<~QqYscEdw7jE3Z{1;FWXadtlZ!gJX=<8*%*ADBP=~ zB>z~%Z>O^kHY_XD_f*TTXSQ>iuuuR10013TJzh8X%qXnx?fHtqMp1NP3~3lZG<9TK zd0W!a@etRdF@SPr3rw3_rd>}sY)r}aBgGg;N|Hqx7jAt8FL&je7N65bP$|VaNdBAI z5j(`CG7Nw3;xSjz+aJz#Hu>}qjx_#JcH=>6cERAN%AkuF=CD^u4Lw+oAA7IzYV5lp zZ5j@$O*0v&xg~jeAw?F9sNuyJ@DGF#Wu-?Aaa3`u?=<$ui@lUOJ?Q4odeW-viRE>6Kag*&@T@qDOlqBmmo6av>OR zQDWt24C#GqIvwApOCo=+Kd88JzwP)Yzr*|s)7}}9?Jc~Nc%0GD6L7E*Or}+iWG#^N zax0FZ{Yy{eYqr79kjK3=?K#OMq=!Ltsx((lqePP?Ecc82)& z=^MGt&q`auP24{p3Jd?X!(-V5q9zo+Yv5&Y#FXY z6Cs3j7^>=AJ;=gUx z&kMg!;}rI)dlCkmwm0|i&I6y>A;%y&D*i5S3<5##Q)eu|>U*`b1Z9MG3DQ^oVY8Xk z#oDx=zx~2i&EnR)?KSGpWlv^=tf?W=Oy)YF`y7)aR48fCv5O&kk$?ZetoFel@G+gA z|H{7)Q&@RXHQyUhMJn+OpR+Ei3sYZGKUnWt|iz*J%Pl!q<>%NL@~%pT{!&!!I5E5MFrqo(guzSP|d^ z3ZQx`emN=M4g=Mn1QRGh8ND3PV3mP?$!flfB!(t}NGWUEMPU9kP`KO`{OPJoGw&su zlioc9bi)IMJFd5uhOiqaXY`N**^L-0`6{>^r8xUm=$3}-nM>)DjVT+oqP=+|6G_dH z-xbs48T%OE#(LBG+(8ji(iHjyYldWu9K&k4bAxuI!!HrwqC8&i1sLv<>57c~3cQbk zye+23=KBw~$1`;<)PJKQOSHdhUIn5+KR<3;aK{f_^Jl(!kF~D{(U6TSNaIwnHv}UV z25n|iwd@+_5hUjlPu@g;Z;slKM0lCFxU3IYqml@c;SlFcRJzJjm81V`_@%{(c=7&) zD>wlHg$Qtfp2dKxl;xkPVHed)zXQX0=X1k0#dfmEX92b^F;>m)hlAT%Y8NwDU5fpE zr@h?MT=vlBK{10!;fcCBaUgk+OPEr+SJ0PPdEtby_+fzsx2o;6t&MccoT$Hxq}0t# z;xbKrRe|wJICy3nKO{TXu#`ynJ@3MQR&9=^tnkzXod9eER6Xg!}~n zXw86}NGk8dJeEO_2KGS$jR*;ollH!x4xh}I%=;QljPrSof8AR!ydE*OBKD4WZpqEp z=u4#fokq)?ZCm})n%*HXm-6Dd@(3jVP%-_EpP-re&ordX@$J@2V;aN_Tybwu1OOb$ zddHH@92zKOH5%$&i*Cx8w4_fkKf%3lYW*gnM@x&$Lo&jblrwSZ{zQRG)k*Oy1Q&eErofwLLSzuduCL(UVu!x>hH+F$MSVq1vE_9>nd$|!va2J>>&ke8y z%`J_E#NRViBJDpg280OO$#be|%lT9{$ucLv_31C93YcXFwmjSq$LUt0F~T8Dtd02N`)9*4-g?=tLEjP++Y! z{t4MueFZ9RbHuQQilsi?gF!moNA;^|V zLr@%BT!Y^?Olo6g&|J8d0DC~IS=3Krq6QxRyL{-yd4BLDFRUn;fj9uaKn}iiVe1VlvJdxV?{F=r47;r8 zx59mYFTp@=OE&m{m;?0p8zWvheLMa~QU$vEOG)QH%%mLjvIx0=QYbv4o=$edRS~ie znJdpm0*u_Yp04KNmiU-{kbLcB_PJXoI%b;;mkZylw;OxN4}M82nh}$g>=DeX0SQK^ z0CQAEM@fPT!I_sMu|y8!VAi6^usmlRbeKa1)aXs$v6{p3OTy2=@#{6mNpa(%N8iB$ zu`~gt^#hL8u#y^Gh?;&{f9nolrE&3Hc*4jw+0~X1Q4X7o{LuOgSP%QmT&Md({_LzR_&8azfwv5mE#OA!b--CDvgUpx)x@u_% z0N8_2?EG9vwwbmlUg3sbg(*Xj`dklxWaTEsgItN}&Iqptynyo;9WbwJ>J|Jp#wV?Q zxd}7J)?p$w8Ww%Kk)Rn(lG(bpxol11a~cZmqwR0eZfr}@B2~gJo2uB zOo9%ld?EQoA*H=q{Whnylfa?dC1&m5x%WxS*BWtu%Ybr9?5}%R$qgnsoDsJ@1M%Ck zpy1gY)7Y3@QvsvA7hz|+NZ{{|EN+PlWX`oW*T2!0)8?rg{}(qXTCl_XR?JJX&RUPYIYco(}2cTF=J&S>{SE6G}vM@RV4%vhJ_?sbx^tL zHHk22A?f{hXd*f1UV=E@Qf77wqEEevy31Y}mjY^B46RPq*VX~(y9LASg{zFQ(~m@{ zyCz`FSuYs#xb2oeN6WY4AUhA9_bXB#mTgqotU(NUWjc1_dWtC7n0g8rgw$en8PGMP zoW=nVY$auZdb=&B6a9pvkDv~f)Bw|Ykc8w7YO_^M%fppH6`Wcf{X6+$7bHeUAk_VS zdp((3xQW1-@n;DesHhg97vF+g=f>d#80(Zm<2WIO49aa_@R^v3h&98L0g9~^N?YLC z+<=O_lM{Ki{WA`&k@e*37u?ogs7M@4*fW8~86krp99$Q23H=h4z&QebzY-lqY&#?~ zn1`5TftYMfFrLD<9eUnVs2$m=OAe3XF1V+1C80b)+$)kr0N9$n_6e{Ls)z*?x3!_{ zfHHM^T~3!GMMC_tVWAI$t2!4)qU?QX^g5={Ziuo&R(giXD zlgAS4|p~t>4YcAdDyHxv{=9UYa_n{J6(EOhoDX^2$H&I z#4D5kq^^NF6~N)tY9|ep(SZIC0I5+8si+b-5ffoi7|gGk+f99LHwf2Ei6%94R7by2 z?b(YIhX! z?-Ja&Z%xXDam@ZK_zOPiRo_;|N&krsJy_Y~4?VmG6o3VRw*<|POc87Q((P!xMQ<&f zk_vM_b#l7bIxk;%xWODg^@^;~G`H*pUVQcZB|njSp~~Uqgi;K0v&mkCY`uVW9^3Y7 zDe$o@#7UXc=ldUD2QoVZ3uHt%lzn^khxt;)%kV8=fS@yW^Gn~-r54zhj zXU^3x;Bv;OU{_xTYDQdV+~j>WVsb1vOVWGjOrt$|kkiq1+r1PNk&Y^E0E+>FKPT24 z1iVJW-_!g*lGE}iY0;2646)y%)-}(Kp~sPOd;38}Q(FF58cg|U;7@*Ftzz?XKhpFe zRWx1~a)mOkIK7jUgR#TO4K7gpuW1(`{F-gDmZG+zJX3uI;kMkr|0+XWW+{ic{>YY# z2p2kv!hV0_Ap>Zo!b*U(iKZFP zU)$0(J3eKFgS}Q%Yai1Yw2kpYnfne2-Mwaqu!AJO(nDf0yXV9D6BW}u`B?QdXb8hj6I9|hSdKZbrJP3 zFoHKPX9@E|P5qe?FcSg7$NzN#uhLAFTiO*{m^O^?F*w~bP*d(6TD8%jIxH{7Ys%ni zvij&9 zI0_wZ3bvFHo~W3>huUyU0G3#PW6=|5Ae2o7SpA{g2UdoK9wI*bKkWMcA+G$k2Y zPDYVK@oj6wbdx~DcIbB@iHJVJW7@DBt1zKbnf>W20E&Cf%FEyz_@xH#Bv3Ge+n}Y2 z3Qfi4c$#0LRbfiB6xEjY0vD1`Focnj>Xd$-JyU4FYqLuzjvuhN_Wye()#+8-GYaGT zd>}~0Lf3o{i!h6bgm}ABChK8cUHLeD9xE_Ubo*i$luudQhYK=tp%X)id96d(fE~{E zd`kOKt{wu;+@kO?N8YSNZBYLopwgZmS1_*4bG)j!q=8NT>Vsx);k;d;{vrfN9jSG5A3&oiXKR(mT_VTOFZqKilfH5`;`ew$P{omc-wvXenrDKFHH>boYMTl ztE7gepu#e|Hi95;6^~DDt@duI`*#baD9Frt5xzo6*vshKv18bJMmahqL)=_}HFY!?o0l4yo6;gT#FWQ{+W$#m!L z6rsY~kf<4I_!BxjhjLJ=2P}U~<3#hWm5~g$k>+>iK#NMj*9=dvRJ2K})JydLWz4k! z!{2kwK{+ZJ@e>8@Z-^S}H9zp~bj%d`UJnGu{A*U(tGc$LFUCpeZch4e$tLU_XJiir zS3}4|OtZ@?7U;h>Fe5wiUUeT)ODgE$-xp|W-mMXb3LwT3h~T44Q6%6gN{I0cD3IV79kFDpdFV$tvAWPvqWmLTV;TdlA8 ztgl-+*sBhp4c~Sh`P4`b)9A%`dixFX>7P|50_5|ArzEmshqEyKH?lbGuS~Z1=}W<= zB_s%2UZ9GtSO~tnXj<$1qeqk<{LqQ*Y0RM*PNr+{Y6=wf9{{3A?vea)nZWKG;zHEW zez9LLvotwW&ZJ7df7otlaPhZP{hG2{eM{2%en zJvg%N=)X-GBoxfp`sdqbims9CqA2nPe81~b+sHz)!_|V~TTdYZ8nF(CUZK_7m5@1z z;;KJqm8;=IU`=ru*n`L2^BDQC4Yp^{0RSfK>2o=+D4c~B@e-H+SbTrW(dax;J%$$b z9Y?~MN|I@c<5&>!(~k8Tim&|p2L`1zp}e#SaysddL?>U{L?HNL5Y}UOK`YtoZafB6 z?3~t;w_J5gu)(imR~)b=c$G2nzS(`Dn7SgHF@vKy1lQ&Jn%XT2P+vTB^bTUN#A~ ze~s{PJ$>bdxZXy>JxJ(}Pj-tz3qiFvZbm-G??19+Y6(CM>z&d^SkG<9qhbsO->(?- z=Uyjb^TYfvYe5!}P(?S&b)KbBx~NqJU)TM+loO8-5lZa>kh%`4{G)Vw!-!>DKrJiw z{b$t1=$ct!5u3BxukNO3=TIw4u&@66(!JWf@z5BVoR3RSIru?jT7)S?uN4F^Cxe`Y zn+*77(I$W>9|a)ElyTGKe-HL&3o}w$EUHGMUMnSHDP2(djtlXCz_%sgv8;gbkX2Q<8tH+I4UTKn4mjrKReA1HV5FQ<{b$jFALhs&38WmiF_e9-);ZCx zltOatx*T8jBL4>xMbjDfqJ)FZ6$xdJ`p+*H zp?55|dlex15ukP+d`H%EVB&7j`u=l=s8WguP&YoT zc=(dch9;*C4A!nPHp~+!5)98}VSj&LNG8DjT3w1lZ7%%Ds!+8&el?<=!u5UjT7`yk zVGP95C*5VI7_30#Auo^n-D~JZbLq1Tgs(TJ7}S z)Q10+@hf2A9f~2I1O`bki0`1M0|nQuEtUCCUMxP;)NcLa`e4<&Qh+S4DOa>V?eJQ0 zAKH8?PcIK0MCY2bDDR3WJCyn3d?!8gBq}H}%uL49quzxhk6e-e{t*MoY;|*IOefo%nxY^ct@=P+$>3F?!ZLWUdZWK=mC9Hx9s&g=CFw|}tCi-=i_3?8PTHymipybJ?{u<9(ViU-ZW`UmJHz4{{Fge-BpnHz@FQ{# z{eg`g7lbuB_zX%{+W!Ar&5caO-;=Zt31*@2jHg0whHApMG!84f9fTu#U1g0)Z#_XO z2di5KYX4SeDtLoHxcFZH9rza*5wXmB2I^kD2e*Kjf85F4hvfDQ00Wx_6X}F1irTsP z$m9=9-mR+ruc=a4(CX^=OiG`~Y;76p}<`#pO+Z8Rc>hf`KDMa(uv-8dy0l z&)C56r54Ba`>?LW-Df<0j$#&I<%sJ_7O-wLDsbB6TQ96oER@#ZG#Q3zF$N8ePa6(a#Q-GrJ`6K{4jrG+O3m5bV}N!N0~EPxdtF>z(KNe;iZgX zk=%=yc|QR#`-R~lcMqYgFSXC#-92ad9oOF^sEcSAtQ-I+f!B0t{VI1${2h6)0000N z9VI?@li=JNp$-l)7+zz}KX(Rr#P(OcXp_^tx36i}#prYPN#MQfR&m{fTUY7R)u{4I z#0ybTX=rUn08j+2*s{^jEz{q!@>1)FP|`kPKw~y|xxXXeQu`qF9!W{!PXS}`m&!t= tG!eCb%=|`HVi;R}tw(8ric|wUx@$+Ub%O#jA0?n%4Y&9!o_zQK003?17_a~U literal 0 HcmV?d00001