From 90d5e69df4cd1b7447a08276fb119c31b0a52583 Mon Sep 17 00:00:00 2001 From: Eddoursul Date: Sun, 19 Jun 2022 22:35:56 +0200 Subject: [PATCH] Merged in DLL source code --- SKSE/Plugins/ArtifactTrackerFunctions.dll | Bin 0 -> 412160 bytes Scripts/ETR_CellStorageScript.pex | Bin 481 -> 0 bytes Scripts/ETR_Functions.pex | Bin 0 -> 1371 bytes Scripts/ETR_TrackFoundItems.pex | Bin 5353 -> 5347 bytes Scripts/ETR_TrackNewItems.pex | Bin 3656 -> 3650 bytes Scripts/ETR_TrackStoredItems.pex | Bin 3073 -> 3067 bytes Source/DLL/.clang-format | 101 ++++ Source/DLL/.gitignore | 539 +++++++++++++++++++++ Source/DLL/CMakeLists.txt | 69 +++ Source/DLL/CMakePresets.json | 252 ++++++++++ Source/DLL/cmake/version.rc.in | 32 ++ Source/DLL/cmake/x64-windows-skse.cmake | 8 + Source/DLL/src/Functions/ArtifactTracker.h | 180 +++++++ Source/DLL/src/Functions/ObjectReference.h | 270 +++++++++++ Source/DLL/src/Main.cpp | 40 ++ Source/DLL/src/PCH.h | 120 +++++ Source/DLL/src/Papyrus.cpp | 22 + Source/DLL/src/Papyrus.h | 15 + Source/DLL/vcpkg-configuration.json | 15 + Source/DLL/vcpkg.json | 20 + Source/Scripts/ETR_CellStorageScript.psc | 1 - Source/Scripts/ETR_Functions.psc | 25 + Source/Scripts/ETR_TrackFoundItems.psc | 70 +-- Source/Scripts/ETR_TrackNewItems.psc | 34 +- Source/Scripts/ETR_TrackStoredItems.psc | 12 +- 25 files changed, 1766 insertions(+), 59 deletions(-) create mode 100644 SKSE/Plugins/ArtifactTrackerFunctions.dll delete mode 100644 Scripts/ETR_CellStorageScript.pex create mode 100644 Scripts/ETR_Functions.pex create mode 100644 Source/DLL/.clang-format create mode 100644 Source/DLL/.gitignore create mode 100644 Source/DLL/CMakeLists.txt create mode 100644 Source/DLL/CMakePresets.json create mode 100644 Source/DLL/cmake/version.rc.in create mode 100644 Source/DLL/cmake/x64-windows-skse.cmake create mode 100644 Source/DLL/src/Functions/ArtifactTracker.h create mode 100644 Source/DLL/src/Functions/ObjectReference.h create mode 100644 Source/DLL/src/Main.cpp create mode 100644 Source/DLL/src/PCH.h create mode 100644 Source/DLL/src/Papyrus.cpp create mode 100644 Source/DLL/src/Papyrus.h create mode 100644 Source/DLL/vcpkg-configuration.json create mode 100644 Source/DLL/vcpkg.json delete mode 100644 Source/Scripts/ETR_CellStorageScript.psc create mode 100644 Source/Scripts/ETR_Functions.psc diff --git a/SKSE/Plugins/ArtifactTrackerFunctions.dll b/SKSE/Plugins/ArtifactTrackerFunctions.dll new file mode 100644 index 0000000000000000000000000000000000000000..3a49b5aef2c1fca68bd79859e057560b1f7db538 GIT binary patch literal 412160 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%0DD#eKCOg%DcUITga{cC426Y3ArJq- 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

CVgU0p3jQVc_j9Zz6XCy%R!ss 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 `< z)pBumZuv+MmWM(_<(>>!(KPc<(U^#QN|p|-oqhY72e0)dFYl;5MkTN#i=v>2^`@If zG3GDRN3SXd-lnycX^Ui!{U=pcR2yNB_GmT0>0q)krx&A8%}&3Kkyt}&V|t6Y{8hF{ z0!5N+x%BIRoz{nx=gpU$aVTNYlR>hiWB%}hCb`IfT%`y^ygU_4oZ65Jizt>cS*0ljt{~FnU47T^wB_8g#aQsp)H(g&*=$TFRnu))?@YJ%#uByk5eaK3q{w1HFXzpZoV3-sjP^ zqr&?b3Uz|_S0lQD_q#m(cHymC#t`?+R&&jPbgQ<;ImOdR);E?%K|}Ko#!7%%81Xcy*B|ov$YeEO^xQwSYqId<86j=iayPy3A(%!)Plzt+WfM=39rWVO^EfBcrw1 z@Bqtp!r;u>lnqaKjalo3h#63^s=AmoB=hliGkgo`;aOQ`cy2QNVh_-9syrR#%$c5LiVq0}=<~Gtge$9*pc|dt z>i{}6FBlxJQA)l<$(HkU$#GC}CM;Qx5;)<>hT_ST5|0}4x(iPx!8;4+*1Xx>5V-c} z{5n)F1F$yVaD~emj)1S7`N2J&F7Wk;{NPg}1s)Y&8z|)BtD+Ve&I_ZuTIau@*td?4 zI@U|z5o*h{jjyz88k)VdodmO9!Dj-pWGDK2MEGnvsR!_RhC)&L>(8K@be5jV!hOiw z6`&SS{#yrB6ei$Ln&8h6T9!w>g3tM>y@k&oPV51EDk+qNKWWbV%ew;09TfZ4!J_sD zYX22oSyAcXtIN8V9$=6nJqVAy+?55$KO5)!FY;vq0ec1CEd&Segn!>0k^i621Ni1s zC<(q9&hct+N9O*FEXw`UoR5pTnvbnH|AP6@F&%=QrL?Gkcm((bt+r%-3=4P|;~SFk zQRUqv`p+1;rf(4c0!93{IL`4&@Y5~L*>PzC9&TMC+160({|rBGpbOnew_V_;lXryj z@Sm78?BX+wDvr)Amn5U}k?2L|`G}~<-5utmtusC+=40{D9?ZuS3dQkRw{jeE&zGC_f7haeFGvES1i7mO_6|;cszOMD;-!c%Mwyx+eEY`nUZ9yMXsUc-R@fla`bpzHHIuqF=q=)vsPIHNHu{rz6xDVzYibd5PF#j;e@>md|h&7Ix3tI{;<>cjEL-7$OFoB2kMMi-t$P ztyyDaamvyqea1MLq;6))g5p875GCD$D)e}=Z+#1sS$m=7(omffC(>%uDq7^2ps~@J zqIHGEZOJ>tT#F8XDRUc$H*PVAnG*KTYaR%vz z7Sfzkd-cI_&KKt%y#WOYYLBBylXKv{1RG4u*{=t0+!xO1W# z<=~w>Kr6sML|QtErryOj|2x!V(agy`l+g`Z~9Tu_I2OC$TzcAqNj-x%h~`CQLJGH zi|GV)G*=J(rQ-tcPJe|ZsgwRHXb;IU(T(8)D|*HN>a2L%VoSB&GHSk|#Wk)La;F*X zPr=R(s;w8k5Yv1@wWV8-h(l3B6N>x}G(r?x7aiNxL?zJ(F)C>kiqZ&cJCyzDKX*i3 zDb?Jcd5USYdT3?pu|~^4>4*6_P@seJdQKI}{gi-aRQEtSME%&jLJB4Q*KPUu%oweExr_qMfB(I^-2all$9EuxPR)bd?~i7WRNTS3 zj-ws50u&R|Jh+4NXL)r{^RMjymtk3;5Q^*=3UMq0aBOt4?>!U&s$%VQ&n?*J&iP#U zj2tq8ARV|)`2#r{P=>;?SXMd#8sg`dFhZwU&g)zIwSCf$Rw7(i@8I;-wD2RTY3-Q&(nGg z-?bEN2j3C%x`OYM6#ExpZWO*pw@+2YAQ+fgTRcW<$N!TEHUUJMm;Amx_vqe!rTG8; zP9i{OSE-pBRGaZm#07z*X*3GnG(+{t#;w0LcOd~BIHCk_p{EBDzyJ!ho3>?y3W@D= zV`{n0&PRQEKW#k|0gUNm@HZLYzYKkjr&`NO!+gK~E<;;VdzUtMXU1KowxpV!Z1bJ; zKxVi*`AY&1N>v`VRN1XX)MlSkE9&83c&@S#qGOniuNDTwxP=gRh=P*Zj06Yp`isE?^@nYp8%wre}DL3vH*Sr_?n&kmtOlvC-@%4f9VQZ>sG-RgKrLn zqWe=j{b|}@AS<|p7Be(P5gm~7M{hSC*|olXs4JkaK_R77q#0kTvG7QZpo!U=aqv!fdAtZiozf7qD@ZQtOULo~H8wLCtXBFbx81rk4M~ide74sL1c@DTHU)O)Y`Q{|>p&M;wSBABXM=0M( zTd6rKj#%8z98~%cF@`-+3URD^mM&-w%1LNW;)tW zzwS)WVuHbXXVZc1<~zxL`V58K`Ib#)I|m5+L>X?^mS~`-{L0!H?r!bX2byzE56Yv& z!_;l3Ke~&~*x5hkqQ@Z}Jt*CcetnCxaesmy#MFIToWJt4m&n^QdC8>*p&u6GK>cRP zdAMU0Ir+7mDs}rArN1dk|6i?6yhei{ji5)0aI|yRcF!LR{eXzXg2pEMNAEYRW@$|; zzb;j#>N?a1xO0iF_OP6U80dTD<<^_`9radiLpech3Z z_zY}z7E;J17fJTcJ9(Ipbz=6;Yk2zY+TR4%{wp@}arhhE!T)Aj{uDF;7<|0G+|1pfa15f`I@VBli=9HQ8!Mfm%NQC$)F@Igi z)m+YRC*(`n50Sy+y5fp$S~=o#3QxD&q}NWm*mIkQI3i!(qXpt`>Zj=1O?Q} zRWvJ?lPhX82Ezu_XgjAR%0^|udx@JYv*|{7NS@FECI|2^OE9DBWkwC#NHshgAYSW5 zX{Brq(JjR3hqrfJJa}dM3ciT5>SV8Mmww4EV*cKv^J*zKfpRfkO;BuzSd?F1=<;hq z9BpyVrciexCIY=W>JSq#1ywG;4OEHwbtn4t!RJW}F3#MKd~hX(EFj9P;`kXW4$8*a zGx~Sa^QXABN6T4Uct)yInlE)52{X0*;ZKx&TS9^Oy^rWen7v40K`3qy`7seGS z?|+@XXs{du-f-+f4*df)jE6u5hEF9kY9^vrjv2yTQ5SIlB^6I*U zoZE6jcdrU$_gWRMtgLMP+`b5dWmC=JbgNEIyX}R?{U}rR7G1gs5p9T=c6Diea4Tt& zT4vRaDrn=lw<3X-*fVjBFYkboTw-9Gn|}T z6|m3s6CEQEo>9%oxrSn>pE@~rfRlBdPR^|}-IFA1TDrrOYw#qdkSw>SDCA;_DS4?1 zfN>o3uR9Zu2lRf(0k6XT9BXQ>wFU?g%#CSKd*t%!lHsjy8{Vw~e|0Pv=n#Uy-6$*g zcl`?ZkB`E?#Xe_n&7pK_odDlqM}r2Y@38{^F1O)4RJ8+ts+hHIRKZU9W}~yMf3nI} zz#t=hc~7sgIhjhLv5{N?@jL=anj3dsi3wB4Uj5pfIr!WY*VfWe_N*5R!5CUj*6)}E z<`FCx%-wH#ug#fm2ib)or6;v7BE>P%~$+1l)y=IwillepishYf6R#y2jzDW|l* z8M>0VF-zHZoArH#1vBD884o*kBJy8bG>?dvdM?4sa@kc{6ADdxvS3d>TBBRc$oN9t z3gksSlbq?3CG^x}`QG$S=2HriZ*fBBPtT2gif-QdBtw{euRhCkUg+^hxv{n~oCkXR z(dDs^(wty#Kg!H=PB_vxlM4Z4zL1nDb!q+2la|<~LoO%ta7)nY3#vIgJ{FN8$kTOQ zo`8${lC<+M5+|>Y9!AbN4~aB4nGlie`Is9O&`=^Df*9bCP`QbQx5Ej|*n*$xp3&%X z-NvaxuE;nNct}M+U7V4k{YZjh5yLOF+lp^ttWtN}oFzuAgiT9e(DYIFVpT8uC)zjZ zm!`bq6X_3Vbk#X;3mc)9=&PtFQ0 z7R?y(y6G3EjJuhpTii~QwP?v7Iw~UZ7 z`9gUK{6UVANcQAtp(zwvAcbZa_L2Z6EN4r=9%A)`$LF@B8TP_}Vg0d8X3e^7fkYC@ zi^r276h_e6tQ@O>Goe-pKtd1_?>hu@4=s_{2;=et#G!M)Zj6Vd<6!!7RpGOFkE`p7 zyaujw5RzEi#gOOCVgz2gb|p`79e(r!7lKiFKN=5*wR#hO2qa&0%wS5&5^tNKjUz;! zh(scxDVJo4+DaNsNkXOEljZDrj5)zFi?5eleQuPgJ|p)LQ*_nTEP(quYO@{U=xr5Fz4ErjWyIV8WP#GbZ z-f){JT`d%KhJ?iMt|=K*R&;96I#>$dul{qY8SdMXe&KpkqQOCetBUEqOM1QFtVE#I z#_z41kSXD82#t%vsBZiK@9=uD%naNWEC81sjHIu)bMg+f# zl4R?fD98TbHZHNjaqWP===n*>0{*_~M^+^Qi3BSuF5g!|tVF9)je3V8Nt2`4D-QMT zFjmzU-=zfXtLQRWAVrUI6<9tt$MmiztX-%Uy~EYHtW${}94x3|aj}hdu3re6GTy7v zLr|XNk+ey`$Rqh#yIqO)!qs;X5j>tMZ};)Qd?Zmf%JZt!07$zW+CN=;@ZY(^D>oyW zFj)HAjDiSFU zp84rK1E)&XaZ%|J?ee^p@{Aj%RlIJ<=A;cwJe{b*Y07&7Xs4gFnZ%CT{l2_hiO)1c z9v4dpv|{22Eil5%TrvmU&6VZ~g(|p>1E(_8&aD#F$<-e@lQ?`J0hkm73BWYzPI^Kh zAxBCsU0cn?rCJhcJm596N(M`qu6iLm0GYh6dPWAyNSWm3DOV=EvIJk)En&8vBy`Sx zmO$*R4Q7uX5dtZ1Xms`};0-(w)Ra(2xz5AW-C$Umw4r4kubo8ITD@s4L@w^+(5^shqBc$`t%o(}A`f2&FL}79AV4^l~e6BoU0wxs76Byw5Vl6*d#)FA$8L8vJGO3Pi zGZ+ykFNnp5>pE8B?o#;Mz5d2{WKXcT7yy%QDZNru_K!u18Bf2$*iqO&xk8@G>Y8_ z2*8;^tGLZ9sE$RYoOfI#`v<>;7DlqaCl~4OL*EtJ2*F%&hk(vjI3V%AxK$bKKoSDk zA@jSw0=L~hRl~Mai7I<6sl)PEfQ+tnhYQs9_ofyuTb5yp4=s!4cqEMm1iea zN#4OuRkFp5RtX?CIoD595GDHo-=3NDZF2Ic`!Yijl`t{h8E64?zEA>R1K$&=q&VLik7&o+TsgMy<&J_kWW0@Kr{a}=a|(XolD zV=<9QLfK^@Gr7!C31ZQpY!d~KZoXYHOH-I-JtuSpltLJRHdD%Vb7W#Mec9-oO-X)e z60~m+BY6?9EAEbvWkhln*F)R_8kv-gb5yr|2?(xE{wZM%j;bSc>V+mtVXma*oq`d0 zXUR1pW?2w(!gJq{C-J#y5ayRJmC#)xpQ|ezJ(o8U!>xVB8YBgBs#ERG(%-k7Xvop~ zz9gBJA@RAYb)tORIf%4$Kbjmm-gWiEm3Jh^n;dT;*Y;@%Iv$YuOqE42z_d~nKv<-r zLOfPF#x((@7>tra<*E7~ytX(tRq9^W=aJ=`-%jl$-xMuphC0eO3n|BJEa8$gq;~wp zjhC7fp&bUZMvF2SKWWvKa1{==xxvhZJP>Kz#Slh45B^XkcSW#(Drf6b(01fLVO}a! z`wSIj6lOY2xSsaHfVD44Ze<8fab-!~by^l%82{t&p)74+@EL^8c*xx1%1fo%TnV>0 z(J!I1Cp|7WIH8<~_h}>d@q|WZ%Pz?f=0_BD2@A}xVtK(cVK^!wW!PWl7$nCDSPq=5 zk~QYsb*oF|gvST%S7rk&>C>gO7 zW)-{mnqh=hPk_k{BA8rV=-{a#>sfl&zBWaQRJiymqJ2B{x2Pp1L!lf8sa*7l$TEb1<_k(5-3Sy2q7{`V8L~xA||TfMI!OD=sK>41b(`vB6lYaUKR|9i>=G4 zS!uadFyCBhq(~7K2?lwuJ9|91kNA3BYu2RAIgTgmE z{mELs4#TvrnNgpb&gkm(wEkR#!wRz%rMHe`ujdO&L1d)sbw&T@K`b zdNOIo2~|EDoH-PGrq)M?{2FhvJy@mslAhi_M!k>sRgy>A`lqB8qU(f!7TQC;J!+DC zI0T{wCjQ@&tfJ(Ec44H0);JbSgQLGkj4&&rU$!_!dk9r!im_URKK{F(MAee4n$7Cs zEv9u_mTB#ahoQcNsMT3>2WnY;A@47+b=V>xZ@Jg7zA-{uG@@Xmfndu%A=OyAKP3yD z()ot1lNYN-`_Z2j8aFt*Sx_Pl#Vz~EDY8@ohuZAT0 zUjR5%@wD^B?;;U}d6TxN8NWbg+X}uQ8mH)_cO6~+H?-t5vBb*X)+)p;hOeHEWT&p^ zrUQ3$?f|JKGMw3TpuAdp6x@w=;oQz$=rR)bdCm>0`Ohw8BW@Kk1`_HrmZGpdk-ac2QkbxwA0G2OT z_>q1}zc}G5Q&0A*Jv;rPxrDNmpCU4k-oZ^@GlCMCC5f zUTl{DRNw`@OXy$shZbg~l$@^;J>Gr25*=@-M3N>8`DAVld;Saw^EXxfCiKw8>4%ZA z4EtX7IN(0caW(~DDfd$o1KahuBAZHG8&`O-^afKniFB)<(fPYuwm{JD=suuWC*6_t z=E!}bu(i`C$Pi^GbZwTEecHWAn#EWQ@XSX02Yt{?9J+_N;8t43W$9yQOEhpJouP6$WI#qQk6%qu|@rEDQW=xAbFix8SiN`%u`-yi~;N_zhnSV;>^4B2vQ zzU=pgs$B>YTvjAI{U=Ihe5|@9y&^(j=gP6Uq!8(s;z_9=dr_a1d`i_@)Df**S(Ic7p9mLaEYD%?kHaY_p8Bk+$L&6H5RP(F0ce>~p-Q}3R#1mhj zv(*As8woKzM;geuaY%bmGL&N+fU7Gs;&AdrS1Nyw7eufOgy-e+M+yy?F5E$WGI0oJvzXnw9%zD0F>T)uJHxI*nmHF5`DoG4Z1B7yjz zQ7q*tD0rCRf*AmM?~SCS9E;c}uhV$V zC$d$(21+t6-}E-j%O%!=s+!}HiPl7u#22;8<%{U&>$p+j{Gl$>*j~;XQ?SAC(5X(J zNs{B1JmqMn-pSsm(1(CGEol%pQfPS+n5Y%QdM{GlA3`#G-8qwmyj%$K#S^4^iG&G1 zQ1>hHs%7?;u9evqP7qat4CZZD>tE3$W*SXIvK~TapEh<}qX0~jwi}_ZJ7fzM*F{+U z#Vpft)3nifl5gmsQbwTAiS3hIq>sDLh%(}SN+$QI_Kp^v1;ciss^Za8Q(gu&5?!JCc>_4 z>cCe+a`DO?noiYHxvqnwv8 ztWRV)(@DSf{IoP}@_N1OU?1%)R-;L1km>)_9`&P%-FugIe#4wO72B4Kk@uyebn9Ky zdsB|MW28#B_VsRP*dSyT_1%kwGW=MWSm(ZJ;7{wjgsE*_13bjT1%W2Xw?zWWDrxi@ z3CLV%M8;)}tZx1(Wd+G+)3pVe`o4N{U+APUL0DU*Tia1)uhR1CoFAV8>AZ`w726ix zLaDTpGf5@)PwnP9XZz_wFRPJ%3q@?SF**-^;$Xz`U(|dtA87fTdA7=V?<{(&-lIt` zl(V~gonwD~knBry-_5v-yJiFtVE(eQ1BgBx)z(%q|1B_TnlCa}Gg|&5!HUYGQSUF7 z+gRF9PHK;6T>5^bA2YCD*L-ai>#woX`Uf;$?b7;9h-krzn$rG3PjzGqze@I*HM@=t z)qfqd8teTHQjy6ix2iSJ|AKnsabsq~m|#{=C4CjGbxm7t`YoX4&qBNVd1`CgJjCVq z+2^c#R+xjGe&;R9fU(oKB@KpJO$tSJpxU1reaJOb8`S<(Yt}Sl{(h4jtvk8hKq*pV z=+;IPCt0z3lyPg;wB$;}WIKH@6>6_7o6_et!Y2`mJye5Ee^0Jwi^=P-ANShEaInhs zGzIJ+fS-g{njZ~51_mHq6#jC~uj>VyJPmrag9+7N91a%iWxHIRYrxtpIB^JwSW}Bz z2J#Qf$uqUlnnb?C_r*}btO*X6Tm-IUm10G>k$gYfO3+KAyN;~KCm4U+vdaofkL50c zO>$3a>0Vir&Mr^~%_A78<;yM?$_RY)+w@y+yJc$fZqntKF8{?clr@qK7Q)AyKC3>+ zN}VA23CCuPv4)gk5iTQv>NXY83P6YPsM7ch}&fD|~^JbUsh3rA8Av~(mbpq?a zt&{iDLW&E8646yC+WL~yC1<)2Uon~T<2~Wc`SAy@%C@>i|8uHy_E?#OovvgJ%@Ms$ z#;a+nnztosy+=I)detSF5GDIYOxF#%tmQ>{`NjL{QqiK4ITpyejj56vC8IL9lwIyB z8_qeKwJvS&Y+{b~Jf?H0og4KLX7}Weia`Zo0*0t_+AG4NOhCy$?e@>l=2ahJNi6-O z*dxPAuRVb3MeL&$g&?J9F^s_U-G=qbO10LBmgXP1EfAKBk=fgy=M(taY|ssIE%_Yl z{gt^u!WW)|24qqpn4T;21+y2s5Py;T?lD=vf$(FyxESHb8s*|zPmHj=Q|{_394@*1 z`NEGa0Bb3&c0b|AgzHjzrCh>xrCjPO9_JD*oligg)*ioobE+7vCqVJ4AyzdkZGGu3 zcJC=Q&Byz!^)QOk9G!I3gLSLPXRrP@D2XX1rLvTkyL4+?#rjf@-`ePJ|0ZC(C?Y3Y z;S?cwH31j3L5JgiDmX9=0X7y`Ng;}(2;QRRBu=A9ruXfVv#@_e=+n7@+Q ziF=m#%VZw(Xd&m}0$^oT2!K^GY_j!Q3eHm3FezoLsjw>KBGtv-x{fLpyLdeE?eLQ_ zA*xnY-no=|ecslRoB2TIL)9xYBK3mhQn8vft3ocS;^^yW#WJZ4N;GF5P`UMm&HHgBZ z30@q9h0l6h5MpGtIMPfi^H~jK)zZr6(^(V`AjnuNv(nlM`D|j_<7tGiVI7f}W$-Fa z?R?H<|Jd-5N;6Uu^lq55QHT-SwqP0b*S;1v!bz3$0Ch56VYHT-g|Jdiyne)vEmc)S zN;iOa`EiW$7s<2_mRS$x@&=Do{*{OBWcv#Rg@gk53pkeI&f{14?mQj`6u|tr|JJvG z|I+gq?i>VPXj3mxy>k}REXeV{TM^)&FZ_yNge-yy(M3=%+GMG`*O)es5( z3#$Frdp^zFse79iop{%BpOyI&nf-Cz%(Bw6BOCNc18){PI=Sl4R>Ih7;F6+EsHv!4 zc!KmYzghOaNw3D&w0vM4)(Z|p`5t1$eGvkv$bw5=vi?dwNgfa@P(X&( z8jwZSq8rY2$>j0S7F5k)4Ynr8lCKZ}r11%P@oe|O;&UyM0qnCu$nfuIlk`wZMtr^FfJo{RMy5Yg$h6TmLDT?6-nhe$VSZq?C!ewZZS*s%wGu zy63R1r+Vub_g84v+(b$5mL>hH+Gas+lG#I=a(v#83@spf2fIQZ`@9zrEd((k-<}-N zy>DpC&~2o6w=dFk@3zJLt=fV*pEV>TUD=^~|F-A^-Me-15Nm^8fbv(2z$`qLL!}hh zqH|6jNt~|-dv`3>q!bL^pHB^{zz%v#URivj8ng#(Kx!6n>Y>IAwWVqg&XxO`UAY3F zH+(2DCaR%p_B}w_Y~6Vh`xRERqPV=x^E7~2`Sw^8Fn5YRrzCHNUYT~0k00mgkvdu9 z=a`YT;=MV=FG~1xX`o`g_V9SFy7gXwc>^dSf?uoH9oYN;E2j*Vnmx=I6CU<}FdU9f zi}?KxOW4{ryS@NQTc0V>;@O!)ct+cvmLCkc2RDo};hW_uPGa zj^W)23q%JwE(>y}*ivdy^C!sNR=r-ZR+=l;Q~fXvslXbSBecKb&oTn=VlI|joPcm+ zj#bA)LmSI_9+!n60C{4gyshN6WccEal|R->tCZQ)1@DI#!ue%0<-={;6#(Ait9)j( zFv|Ul<{g*JyLm2{t2R~s!VX}Vb(*3bPuG;yP;6XAWk&N!3`i%Fxp(Ig01(6;$_{^@ z_RuVNT@YHU=rsh#GbzVs`3o&u7NzcK@NO;jDi#E9>BxZ)E|E%Db<3rTiV2N~GocTJ z37xEFRhv)`{~4rPk>($Q^X{|p^(}j>sW}Bo7O8l9Nr?gDu}7V($m#K&$!RkE6pn*X z<#L={m*WWBReu2Xa`-`v=?K4B6XQ3Kdnbf~?X0QLW~P}gCC?Y6!)K}Ok*{D9C4}j` zC!+tIQGUiSV@vdL7|$b$>D0JP=MmHxXf0qm*THnw1iWvTZt=6?@{{=$9nh^BSk8}) z0^v75cKOW);WrA*D6>vX;%~q=G-|o98;acjIlC&uJGFA&@!)j_cEf}Ve*wS!W$anv z?4`;@k#H{5tGKLQp^08ODy==`xzXj)kJN(JmOUjq-FUyM=@(VD4c9h7B_E%%sGUGQ43OY3_%_`2j&xg#cf;pL@6$JC`2s^N?|>?@3zkbSNlneBTKc!_rWKG$c=&*-jq#yp&Z&}jeC)LKru2>01Lf+I)7G?DnF`3aG zQo#z~)lp4tqRYNtZ{{KZfS zWd*#P^@fX2kE{B%s%o=W^-zpMqA-AWEfDqmWmE=*>TzY0Rb@-546uooLJW)BR7R8) zd1a!;Sh`lU8Oc`KsQ%;sRKNT4tLVeOOuu^phhw|Z@9sm*-a)@Rvb?i?H!@ftC>yYZ zez&0F{|o(Yx&K?%?~bIxf4zS96}4vn=lb2@pI}h!q~9IC@qeY?&EWIi=yx$DVeeM) zDwKz1z#15^M?HdeHE6xn`X0G12!?HKF`HU+QPv>DzwNg^GMoM(E~fT?^B?E9JH-I5$;2JjI$IMdjML z$62u+XU(i$`J>bn`SPdI!cE7&uvI>jYrKU4HG2lktj#(TT2rvIWlmL7@H<&jNUrfh zeQWmgb>rYmp`c2*Duqs|Xt_3CD7|J+I!SV+M1h)FDY1#!jhFB+n|9hGo@y!650gie z&w9rfz7jMNca|$2)elA{STBDrv#poa7Me{TqklD;cAL}93~VpH$|0%2>DOlH_Lx-W zJwx~EnVNkvP`>Ou?cu(N_(A*DJY4;byV_1GLpPTqH8&b|+Ru%qJ?w%~q#~)kMQ;aUrcnn!9~^s?#wyA}#_YZ9!WU=3oC780pb@dhJIB;+)}anzMl?Cm01yocfsaDsAeA z)A}U!RC}m|g0b}#?XULG?L6$<=UvU?dA?whX>Eu$%O+2nZ3JSYO+eRAfvRPQ>D@6W z-z?a{CK{i*#yP{VqRQBGZyjxDkJd6*%#w_;rLX>~z*lr3$lF+A??zjI-Cm!n-->I> zjjwuAF61wZzm``#DRulUJ?yI?9#eF09)!gsmzLERA+{^F1MyNTp^bgdvI$zak zurb}J4eUeNT;69x(SQDNp&IZHOKr98UBBpE z(J>92Su51!ijn*`Kh0{4)aZ8Fv9hqyvKYtKwv1X06-%+lj$rs^Q?pKitzY2dOH{BxW7ADeceg1ta9eg%zJJIOeYU)bq~9^{tP*EIF2c`{2Bl_T83a_BH0ER_{vB z)PvR?S(T}EdMYdseQChDFGHNd*saXX33?8i1%!3Pt7<#dLDV<>QyYl)kn^88*g^+r z`R|HTz!%PcaO<=7vc*0g^J|WK^1pH3U!tbatd?hV>#*THJSWEl(+MxNLmh{HB>uiq zx>h==;?t6wO%FaJTVnJ=dtT>uDkxcj-aRjCg1cN?EcuOxJloa)%@R-zQ)evtiaY-`(ihVY$&_@ zyQN>FN+<8qm_8#TR(*VbENT_))f7}?K2$4kmqt`%rOmGtQWeoSQuTs8df7MUYJLYA zT5@*T4R^+Xuak0b~Za-r+cyd_6YwB@DF5D__wd7 zBLd>h<04>+AYgT$x|D#z!Auti(H4ET<=A~&%id3|em}izy^DrMY8`$-q7I3}w}<$c zjbB6(KKAAI{}vzri%s(XxA?e;o%a6(A4kJfdVr5vD&BR}HFg?=aP(VoL`0kIp6|sc zQrW7+B?ae?IT=bB%JDpY92Qqs)M98y<$-Shpnpp-jv7l(mG;{Np?S+saqM^{gViAx zPmJf7WO&2^5?6b4xcF*J+Aroxsw>{Nu20FSM#a98VX>NH1yRJh#@V==Mg^6MgItFi z(f`H@N*%6OC0)$t=*^-$;$oy-Slz;znxWG1>)^7iJZ+#yLR}czz^k)xvsK=-;>O7O z{`?HF3Uc-m$7!6VB_{R<%DGlHLhgS^8asvcSm_6LMuEtQaGu}+QEfHWIL9yDEiMoc zvj&_aF3^|Oh~ERszg(D`6KqAMgPqA2(&A!TgpEm+YqS^l9N%&VC5MgN231TdH94u2 zzMAOYoIT(yxYPkB!UyEpyuIoseYiN5ho8%9<5qkAEpZ)dbo zYJTcfBJSujzYqy2z(*qa1^8kW*P6paefDkm2-@K?p>`dlA-xOQ3KYtR?L94dX1B=&#GpN)adiRF+Zq<{zgrH?EV!a5bwpP za}rlQv_GOP8|eP(yJR@`XKD|pa&JywbJCRFkGX_?h$rTkVT?@`L@;b3aK* z+4|{N_CCIXH|$I*s!iAT)uw6{cSvQ-6`NaK#3-39W=VSiWE$kN(^8in7&(#|cyJ^I z{RLm)v8DZK9barVnw-4U%hzZXgWdkn6V3hAS9|C!+NDoAeX7^Ji|W%5n49Gx#<%jf zaYADxi_YWUzDxY{ZwUR9!Q6iuAE94gM@hnvj?w;W zTNh!^-nw`&FB4*9I&UJi81@LPS=)!P>YgT}W;X(1ZHu2~4lf?6yLEl%MT5`N@8xgvIpK4|lvNg_NY zds#>Z@74N(^~<7@cs8;|l9%Xnr*R)$$T3d2NNIl||eao8FV&n_oo>8#L9v4Kg$KYjd zC0Lt=Y(Lzz*&QO^2Q)w9uIFjempH~~p(lVMrEsByQzX}GR8cSg;dFcK-j-a{{-r}j zi0tQvlu4@R)y>!%Sq*h!eKq#s508;A4-()#NN3DA40%X3(>5W|KfwQ4zu#1+CA`(0WdD)&olYrD8s-IWX9>yu$#^cUTkb%wOwU(eAC+3*G@(p*0uoTjS9xgk-^!nrd45%-nd^uUYJ6yHmC2x7IWd z!EZ0B7@bFS)d=_T^a?Psh`?BRI+))=kt9$A7DE~+06rPfsIFTZ_L`=ewk?;bE9$_0C!Fb^gb$sC5ek2w)tN~NFjbuxZ43<8T z@iGkiB1K;f@0gsq1a7$s!Dkr94w?E!s%v4?@0I;9kC^99P7YsrXXnfvi2H*S>#K_W zj$#J8IhNx)%`3QBEgK@Izfd9ZoGo`FK(fKYQ7Mmh}1usXNR`vcn4IsMI(fZd#l>te}L@k@3jH<8%3Av9j|0 zdlUZ-}Q4bHmrX(l{BSJj;B)*P+x7V67U z_03AE?;!n>nP!H6(4nq{)MbQkSBDaFX)1-$m1NY7&pB_^IW6>E)1Dt#Ihi9I6Ed{t zQ!B?Kr`HQB6R3(z+I*5!y&_L20W-9cOG249b&WF&MzGu&%D;-gxsg9k5F0xC206?& zWtvoQHCT0x`->CIoW$pt@s)BfzvE8pe4Vcjr>E};^Dc}BnaTPXlN&t>d0h@XzfbJ^ zYYtI8+9Z|@$>uoJ%g?q`<`3i~3YF$JH=e9&&nK9`V>F}|tb4xNXKk=*f5uiPwEGkc z25sr7OP@($SWDkO1-iAkzaCkyht}^xErkY5D__Pt+42-}+#f`NlZYez4%w^Rp}&;N zTf`1mKP=wx2=?P}N4Ux!vK(OrZ?vXe&@@lI-sFVQl##S!`Oor&Q zPYsvi>V#bK`Mr34lU#MueliDkl%dH-Xff8D52$eL+j>G^=<|HzvwkMO{GKm$Yetse zi_>Y9dSGq#Yk@7E&vo$@Tc<4({^s*;(jNXVDK2M@YIN`0IEmF-tKnxco@!p})j}Ji1I8-t%z-k@2k9iQUvFj4}3?i4Ia3h|WxTw{MPqXz!xW7^JS+4k} z{aucRuoQCTaJct+)ifL{9w(UNAs4CRAzLG*%O%P&emwNP!;qT4L(~$N-qZEB0;pm! z8(KdR2>2`o2oI*Pt8qUBNg7MC75H`6Z&91T{+NZZMkGwZDk9P7_O+3M4fsTE)xEWg zP6|qVBmVqWTF563k=c<3@%O96A+omgFM@nhf%>;y)#Gbpa~b1D@Ud9FpZHQxle=0v z8?bOcS_o@?)A}#DC$%fl;&jxU_KZ#DH~j&?=Qa ziqqzQl%AR7v{`a~yKYUWMf;n>>9k2;W4kxwYg_&ywH6$zh%C8Vx6c`EcxUC{VusRI zpf5-^OLVrgp!qwLmu`4g)`GKjJdQo}Si7(UVUV*0jLU_dMcu2UBraB|3tJ%O$Tm@@ zUgvbYSK{Z= zkBF&GL&4*_EbjqasJO*rcL6R`L@-nkV9hHCL=(lUu-h9&8y#8a+>g5w3^{x$3|v^T z#13Z7p%ar+RxG?Y-;1LJ`tqFkO^pA6+iwX%U7KsVX{C%X`zXSW){o867)GUsW~cheTeWfx-kMRNP9%U*XtPtiG%s)z|j(?(3t!Cv@N6{2tZ+_z~()3dMp< z%&IU5nQGY2M)wcUsV|&{Q3MrW2^9tqG&m8KFEcBGkH~s)`6(m7L}g1H38usl=oo5? z83j!AB5XNFg)WRAAVnAVgLP5a(BEcE|EI9TdOb^8vFciPqQf!k}9QJmaTg8V;O-J1qN9(2&R8O_4`jye@R}M>5{|wbjt*Uxy zr&INlsGhYRY!iX6jSaBqI#x*yOV^fhVSDc$EF`|C#MoK-i2x5sr>%`k;SD^I7=x|^ zJ`ErCV$lRo`xlvS`sx{tXmV3(^GN|cwq#|&pHS-ly^nB1L?8GgQNo?4Qa#qJIU#{C~@5_#cXlPExm>hWE=7 z4vKUcW1O8INA$Jl`>G)N>_H-REnC=l{Ase(f2&*nZ0Cs)5aO0GqDz>lAR2|0@_&st zMfoWzcx4PgKnds0Vi9(xIe&9wg1H+nndHG)w6S!pOrwM?rq#<-tC&({z>~qJau);a z^q*SNAL_&SRK#hqN24#$H9M`R@y<^FM1jNw5v6j`CGf8lmFi^2x16i<4r!M#;6MKe zxDb0*PYv-!osgH*ModNVLnB;kKanSVu658`SF;3%o^mkK3LDywGOy-<$HM356i?%< zJtrB{YuWuT{ZtBbM7zAM_>Qy`ZD3kn!KTs-!hANbr5FC0J4LG_N4GL&u9KfCbcY!I zYuX0m@M27_@fEyjZGsA%5-6w%TFdHIeFv{5I8>{g>}e#3B{%4E0-kLz7E>h-Rz_%h z3eu?3{~+$8pv0%5>7&50)!dm)d(311S@G$@3^P%(8$%oSM%LIKRK%FiL%Tir))-+y9CcQfjhgHVU{VqyBTG+C zjiX@N6+CkT*1b98>@abiSCRwlZnUwr#q_+3f62UbxJ?T_9^y^zWvKYjk7qlgu7a)iJm6~WV8uE(OqjrBr0r8#2 zySu+Lg#JJ`8I+c6Gn+)tj8(=GeSZm2=11 z;a{Fjv);z}S0DssRLR#qZ}pN9$^Pv#H;4v(>3-#jaSTE{(s1>nX4`0^B9JmXaE(!Q zX!9NA1Lwc~dwly0khZ4zM3v)8LaFF8w@C#vYf{d=Ahn=TY!4$xY7dIgN!QTJUBEA& zTS$++9qzvEqm{SHfZVsSm;Z3b=+VkwlMZ+I^!M)DG_AaXU%2B)>-y4fRR2q9GQH$_ zeP)vyl(%zXl9zFR93rMNoJ;b*#GyM z!|t#`PtWtbzxVU+{k+46z2-X1bTk!QT%v85A5Bsw zp|=_sfVZeB*jrQ>lCXV4N9Z64dQF3}mDv0ElqHGjClh<0oBH$++x;6*jvAYoC*Jd8 z0v6YMpP$+*5l=ja+HQG8+5d!fMZE2cEcnVS;3)szIJBbwmPFg*m)Wa_ho>B+48)Y( z((Kv{&@Pjb9e#sKe)eG*DV$BG^w3*|=>HxGD7k-z=S{;$;oRu330SXahP{IG+9c|;bfvZ1KEGFUr_kS=f zd^CY>6eTUlBepQgTtU&)p!cBhF+8Iol&gJ*2eGi<{wDT&C;J^Wm?%BiZ%6jqmi_v( z-!BIdcNc!~T#!}}uxPM``hCYkEvQ`Ru7hPl%v(bb-HCPcGV}x^(d7KM6NdRH8O>)( z64-Bd_N(C++OX8u2ANpnyn>aq&6Yq{XorDx&OPqPb2g(kV2KpxXJUqi;xfY)&c8z2 zjkE5=G4X5ZX5tFHZUCO<;R@jCT`N~;G{>S&`#VbE~9jC~Yb=XB_a2Pqo++V@dJkFIWqFtD~5T+&JN zO{{{(K@%x~LjgGF92gzx2uf_9pV4s_K5(rjN{tN|`-KKyj|LP;dyd7jB8g>1Vi4cs z8joiX1$xm;*q+3A_N)lkFB8|%jMiJEW8+(6d`U_z8rM<4Bk*EpEOJj7r?q11me?{g zMqy`h>36QB@~}Exp;Kd3Ki&XV-;ciBk62`zl}Lh>y_HIi?4`DcqUhyO0Y{QKR?iU{ zIi=9p60L-eKgRH>2-h3WdgzD`WyBz zSZ=WH*z9Ps%*WEA8j}sp*%VF3x}#*5>wp8qn`3+LvV>xJXS1UPP`}b+h0RKSx)NJ9 zI2f<0mwt&p0neK5wwOrnx|q$*7W6ck$qmC?c~9g)oNVU`?FmkQ}WXnL8aM9g9l!_aqqLol>Fus zQ_U_1PUXf+?=hRd4Rz1~8rCCdoVTH)w8vxfgas$HE`>oF@TL)WtFr?DUMaMfxSCo< zBI|cphQ+XrzsT)Q_6W%p`YKCO*wGbwv>y^-5PQjG!JQOqA0s&nJ@aui+&$P{iME5| zFdQX6eS=p}(Yqf(rlGf~B_U=FwOF=dfNhz0QP>q4!;|0P3Vp_-c`eg?6$BK~`>xPZ zra8`D^3z4Aw8m{K8xRt+CJee_N-tWBlu@LBLR7jsp6YH_XlJ*=pi&ci+J)@C!`MO7 zl0d+7MN*6`)|CA86UO`j$SgjGh{G%ByjGV52O}fN1eV0oofgXy>*#hf1w|&eT%qxJ zJ}aPll9e{I(Mov@y|Io4`5Bf~&~xZ~ zkpw3!K!q=q(efP5FQzUbDTZAH)O;g4`;u)2v|QFV8+b#)+z1US0!z|3k%L~3kK7e` zaE*2YbyKxSi%lx16nD@gPuFLds|BrYf%!q3iI~mZ?}Jm3iAuYkexj8UsHX)#JP3OY zNnP##WWUXkBUk$y*l#HNy^a0e&VKJ?zwOy?2lm^M{SIfpBiQdF?DtXj`zrhWl>P3& zFZ$|hgYv#=@4zk}`)K%_#OBSxWB%OiauxbuM7%55dAJoNru&Lx2PUWR@^(|a)vvuC zMHz364>;{lch!(cJH~n+1>WDTiB|Y)SMo7pYn9LGKVg)mweqyh9Q*Lp;q*<80^pb{ zc18(8CGF2^=I8*V3bSM+r8JSd9DRJS=gJ;5m+Ok04Td^k3+S-Rt+H@vam-I&(TsUdLKUo03aDg_xmjr`Ea`_kUMt z8oGQoxWGWdNL{3!x=740`Tk$sXlF7uCoo^%U`lW>zb)|oTi6{t!Z`{|$B$oL#zJ$U zzvFQx>hW_g-i9Z?o!b!MV}hX7{(rV@g5v|$p$xR3*sat3e**59iR2GicS6KV0Ryiu)`_Qq6j_aBRs%pNZofS8x$f>=DzB(I>+K=aJ$MF)K&r zDA%tO{szM>opEU*@kJK@L51YrPS@{2&-j}lfbmE!0HFkdP6XKQAA?^XR^rIQ8h>Qo zu?Xf^J;2;xb9Lfl*e2Q2e^B6MS7A|ndf*g9Fi-AD!1uFfdm2&Fg`=xmBFAHT#)K6n z;gpe}Ph#+5%tK)~W(QGh@oZI`U~BbRd|62NAZ+*!vkq>RfM-%Ito;J8hXt?l1mN*- z#OV{bet1Mc)hna~J1M48tOe?2Q@|#ynucxVWi;cc<0lktDUH{h)N?_%b1&MB$A-;+cL7yPbay`3 zfoEy4mb!4qKGrwOS|IXcJxUqa?f8MWM9eOBJKjQ^hMGTd`>eBV>KILz%kj!=cHA;CNgx0ltj*X6Yz9felwlfqVXiAxO@r`O(*W( zH0U180Wdt|id~_0bfZ{;J^jsTb}PX+ly>hnG!}y|W*zwxUl#ASgA)MoUE4Yua&bE& zYp0LIR}+q7cQR!ibAZrM)Kedf_hlX#VT|$|ar!In3LiJ&R1i3&XS-RpI-kKSZ`ALg zKf{jdo|vXuBIu`0$zL=aqPEShuwyXxubuXHv;_!S&HFogF^)O~TqF&rs0GbsgLh{b z5{Z5c=P!HKOLcs}g>GOil%U%z-AR=p21jnpI5HihU&ALpC4FAPce${g>{GCI_&*DT zvfy|TLUf3m<5lWjhR{zAe$XtxG7t#d3gB4Hx{bn)j*eVh2mT_?A5Z*p@OSv%3#G83 z8M;#AcpWRyhEi8yUk6SuMpZcyUlOg+7KojW(=3}7bPC(oQUVO)@USw$8hE}h#v!f) zF8@wY#UHz4xGp+fItp4@(Oc6DDIJF9SSzP;rv9DA0(!%Yi&p<%@EI#S3Jm0l4Rl>b zZ*}b~^FIWJqXUk#W+kI5>GKo_O$vKBdc!lv6D^@~FMdker-81)jW3bc$b*I%`yIa_ zcK%4)V6ABP|r{!R6o-U zk8){~u&tkqb{)iFEUlSQPUwkSV8o)Qt8+TU75e=H=)aHfNm)?o$DpFruyBe+(@H$P z^swfutW?Y=Ig3u3?hd70*-ed-#nD_72ZPMr?AVS<3d1ktF~hVW2{%4AsLqC2Ji_%a zarqV++!i}47A+l-GLfe&Y;GIrgDapv9U^62p&i{hKiw23l7Wj30!@YH6#UF;dEID5 z059>eTk-|EAOD6%g1hAzlxqU!cIYTkLD-#Fo(JxnCEAy~?z**=)Th}3TZE$X4NZ<_ z$c9|B+tB-Z06_&rF@!>*juCHm6X~qo&`Th)G3saCDP?F&@(j!R)(hCrM0PAfYY~PNQgZYk-PXPd@`vm^PfTzkPb(yG+$tC>?WATvYO@yM&)7dpmw7B zAH9{=qQa)=eW|~ITpW_SLf>Fn4Ae7SyDUvzq1}i=HwJg#4&g8+{1{jzcTx!iFnkyn z)jiJ6WK!iFH<0qX!MFPBm(e11;1?iSLz_`TdzpV*5X*eoXm2Dk9J2W@tUuF$hoD0KI7W`e8gpU(7CIhOR+3R{=7be)b`lR=(8ho94@N_x92XWZJYf#r~w z2eF6jwE8c6+eeEj^P>StAF!AajG3Q>LS8;r{}Dt-@m>#^=3FKMBCFYv6@jkn$-ykj zpf&I;5GpdT&vaAop;rH9NQql0^t7Y#y)ASf$=U)x;Yrw*wRBQx3tY)mUWEdvd;A2H{EfKKcf?t-qfm8zTp6oL~5u^G8^} z8`stz^XHLRybnIDzn=voVtmUP_i!xX?sYg&QAKlf4}_JD8QysZWxi4JGZvFW!V{?7 zCPp4hz}j9IUO!F@>i4-R!Fo%3439LN=2p;VOw6<2X?2OVS2gS*j@j-@)Iy8~kQQA5 zhI!k9F_&`JyU1Ox&}Na8G0Za$BZB>I4Bff5xu0g2m8ccbFgHZ{pQG2@2xG3$on6_W zxY-)I7wzqc%ek~Q?h@|+qcyK+G-n%KUo2ThWBrsCSog!f>NS{4|p8 z@ZSsyncd;P4l(M>clduQV(h_9{CGRnn+=q5ho28w_Ry_?uPsKiEKBgyNh0=k1(r)9 z623SN&B;aGH^xz{9N6v)1BQgI&@*r--n!xflt$uPICi$3m0p1g-Af$Q_nv&ch!$0` z*n`ck3D`r4V$q}fCZd@=7>LBCXts7V6UkgVN?c8*d<1(2HfrPdT=a%`RzZC?PR@?p z6|@KqDK7FDoh$HcU9QEH9rNtjtX$I|tmRtksE_RL6W6jPXi?0wzYR3y7MA&i$F)2F zBYxJ4bX73LZdLerd`aNew|p=uuIuXxir?Y?9uTcq)B4z(Von{=Ck5+BmfQQ73Eb>o zb@4K8p}L9T@mPJPKe!n5*5(3iZ1;a3Jz5O5e8iUdFGBQmGtgc^ggqUKwZ&iRT{q<} z$~H2BV?QY)G8;i_zi(d9BCh3Tq#c7KJN$1!Hb{GHS>R2G2Ce-mB&g&iPVfU^9omIf z*6s>cpulTeFbTi66cj+cPYr)_rG~8`P*u_0v9;IM!bhzB`ypMjGhm1RMnq_^U*^9a zv6%B)b(ZLoow^#Zg2UqT0{v9WBx2->t`zz_$k`F5DY$~12s z@7~8+ho5!#-i~W1gN|+JD=@#ZCDz4M*Z6^O1IUEBLJRd&^Img6EZ#Qv2$*P(sDZA~ z;lx4ByIU_JW|Th~N<1mlIS$fX%@*4BNxA_O;X~w!jbn8q=yZJcc))*7CD`k_E;`Zam3yED z-;BYTS*9=~NesjO_D-PTyxjP*IBfonMrN_f)P>@6c$`j%W%$>Sw9@%{iCF2W)x}35 z9*IZrk(=eaNYHdAkVuayOi{7u<=>jJfC?2K|0n9Ne+xo!-yg-+YG|Mqj45w_6ABa? z@IsHl5UXsEq2~>@z@F$4ar1o+IfDPTz>dJ3)Hk7QIw8*VINoYQD20m7m&5m8avb!QG zC}ceR2xNot-%#17CdDMEcA!haB6dBjq8IeM%;j(A-sQ=p#G~@REl&gW zV2*J(0_>lc=PhZhJXyBP=XrU$vvnWKmW?0AzGaIj&$n?CR?9O5#o$cZ>n=~UZL}W` z&f4S3fo^_0@h#9M%HKeEh)2GX@KTRFZ;wLW-Cppm66}CQ`wJ{FMd6ViK4GGROufcO z*Vj5Dg7o=Gd)65`;CR<8z*)B$^41wC#7_zm`LXi;;}Ce1KexRETc92?G3?&4HkfqK zXHzVvmB!5NjU;^*S--3^jD(kZ>%$4BCACd>{`FUo|7eG93ie5}I~Q5z0r`uj^syp6 z>T3$&Q65}Rc(?~={$}8t9HhaW{|4;U*&8S?+YFZfIg@#RN9}|3mwIq!@6eC#>t|;6 ze{$o@-w+QT4nFR$k9DMe8v0oN7K`$B=Wnf!#BjQ#;~l3`q;5V22mE@Yztvrhx7n6K z-qFe1h5GVTzSlwi3SBE#=n0tiDqvARkiP|B)+;Yz5A_T7sD9ZuHCSHEAHMC&TANx^e3Iot7dut|vUhgBuB-v%!760vI1Ce3=_|_Sflzy@7U#&B$36FZ0 z^Ofu6Ro_z_!I1H4E^2=QdC`Bd_GNY$8jweQv6H>n&)xZ9cL;OSUxcQlc`+4}3p4IodWvqS+Jj`i-o8da}o#&)|8}DDkJ^C2m zQsdU2Lh>g!xbr)mrH5{I{lxuaWmP?#`J>;%{HdhtlZ3dq-YJAz)(PBeykUoOyeUV= z+U%G{k`xd%d!j{%^6>`a|NVG_L>v<{`FMj6w8Ut~!(I4zgH&BJ-e6MyWV}(+p2i!0 zegEGXZ!E|AGw8fowzOaQc*C8oO?px#xWm?p@kS4v&#sO)SpBx(T8i>y*JIm0jw|)q ztN%%HXwdjK_1WO=uME^*#XD-&Tq}?I$=c&e@Wl1k;|e*GFxpgbT>l8C(cd z^5b(1vLgf9BQLLC-SxGc^1o8zwiyP(4@HUm*k)7^o`H`clMbY3{)g9jl{ZSvh`T~O z)-*6wnp;gnCB!v$Uw0(p&>`=lXIT>Zka9YtoqKM79xwUSL?ipqp>uo|Aap!KI^6RYc0Ez6u*1tA*U%8}Pep~T)(+<>R5O-=2!~B3 z?k6(fm7WfN$5%T%_VkX&WRjqU?CFHP2#>ud+=vQb6GwSjv$V?9XB&xC(E$2iC^Z}g5$wO6>fMT*n)tfT7@^`t0I(Vu6m7S|X3zYqB5pSGZ8Q)LHEB(VY^M^{L@vfxEFRMSL9(}cB&*H%igrB?F z-Cl|aPxA1MgqOzF=UY|@f2sV2(*zz*K2GhJRte#9EFtcgwivP2_{S>Lz|jC@)0S~8 zYcj*gEvz2uP#SDwGOCnq1pYD5e54;;vLm={)Ix{?qIEn*(F=(3J4h`NW2&#mFV^~Q zBh6wZqkkIi8O4)znk516_>oVPaymf-M9X;$#(nXsUr|u-gTX?1L?1;X3@q^V$uR z8NLb;9~1`)zC*@zBpR^v7?0Nt4R{NUl@**Z1QO52Q4c!~pJTMy!Gb7**lcLP@&b`i zDjKXg-akNXnjXeYnt$VtCYB|IS6tKM^wMzb3id+eTyoTN$L`KnT;T6Nxn19WE8VUi{2D#+H5ZcA z23%!qv=NIrz2j}eu_nxxwf>R%EqHdk$MN$qRzRqPcf{bE=k?ZgqH!RTyJHs-(Z6E; z@!3sm{vqavem&gnB?2xxw{;hI{r+ZzIUX-xq{rhWn9pLWeAc4nXxK;Hw$U3Q-A{0B zoGY{4{Y47t_mlc`(%Gypl5{RZ@tKHQJO;8SPj zlj<}0X0m57xcxgqc*aNW{;z`YBoAIqc&rB}qs}N#dTLnCa1UQcct|I=e(E8dCsW=2 zvh*v*b6oLHjDIk{#`wo(qhyY~RbE4&`tmgXCwa`TZSf@k+TY9j3HeKquSGT;Ie#x7 zAmsm)&7hCByzHO-JpQFH|L=ACUrD$h60-4w7*8Y(X`nvgr9V7vq&k(D;z)Z;-0MDZ z@LMChjB-3++3qe+J=6b$+g>!`=kTF=W>3tw!m&^x?CXf1k>{3Y_2Jy7Zhed&yG`KM z8EpP|5^D#PUMYVuU*qc`yrDX-JneN0L-`ajdon+^84kjeJUFXAhqk)yvHVzsJ@{Kk z@}-{ql@q==*PZ_=!lOQO=Rbq+aDglNP2uxJg>_IUYWtw5BQ zp6SO|m>4ejhqk!$%j8#1b@QpeK>G`J8j)w{6L^@@P!HER_4RPQvl#DQdgSAs!NkY@ zjbD8<=e^(XPtc=0b(9~=G`Br7;V0$w68+b?nVj$Oe;Sn&pJD`;EFpweg>;U0k=?A6txYw_o8UFRl^W?$$ z*L#kKuZKS8N?*4;$0gs&)(ddGQ=E0{(OHT59((DMtUoD~KFWg^5gr@h*2nOqX7%w> zFZ^%#I?@*+i3bpnkFT9NS#jv-0^(#(Q4vTcpR0^c8nvGytS0 z|Ji)U?gy=IJj_`;kJVqJ(Lj@(+4>9T%W)roVt2=ku#XubJ>ftC4 zqqFYJCCWeXF&3yKu|5stU-0XQKk6F$?(}S0ljzO&u1{!mWq300?l3&|&2*bjyuh>R z@z1TlnE0=WWs3&*c9#Bpqv>miKS~r+1L=jl^7k8m`vr{Bic2Q0EbLi?bC*d_|XlfH)KpRasvuaPbwf0-m7CDU8^{W=MG zp+ZLe)bsoWIBPVda^qpnI&6doUQGEthq4m#(+Q6i_JzE2rH|m(A3rBz*2xze;|xfK znN=LQPjDok6BsnHz{tU@kCBZi*5AzQ4_;M} z+X_Ve!RjJEX5(+4f!`0SdmLl-{?qz%OMg~>%#MODdHtcmzs}K(Wy6Nu8oS>T^`{CG zXHWfE2{J1malec5Twl>%Go5xbYp=y94`->A7xgc8rMrC_sQqUMzIT6tiO4H^8o1sW z(ww(RB*Z-)XZ0cKeRqACTl+#<{zQE^6K_J|9%2i}$o3pigJYkM?yW-CKwiFz#l;vbuI@gYTg z%=6jk^n#pPORF7mI?5RybDzG$k^2?Oi@vm27Qn?v1~^iPRu<+M2T0l@Xf@^9teBA% zC`JcN8+BsTtjMiPGq6NOb1vtryHKcZ6*FjT0g5~8Ql1N++98FJeJU1fFxv!)0@h*0 ze+4X2Dab;&2jZkj-OPgqgZb2>r?5ND)&AY)y#54UbTWJa$Hn^vwLY4|J_yU0wm>I+ z76<-12W_HSM1>hR0(?5Nr#0Rapxxd({QH7J0ZhGzxr8%smQ1$ikJ_yaOrI?f-`vt1 zm5(SaFkM9Uh#-TPuQ* z8@_FFEwOyDZ#1wPj<{;5P}pm>EDIp7`4;z|oQd-f4p+dTsge1_LJytbotM_th7 z{sGtzTG);@6=EZKFsHR58a^YzX!JphcHNMY5`{v_;XpsMwu+U_ZpVW=scN-rB?LMs zTH8vkurs+8y_low4BRD(^;TSaEEYdUC=N-VyTxVH;Q}m`Wo!+6L`b%PBs&ljM?BgB zeL!{me4bs?RVWIFna3Zcc+Li7%NBU$IO3^1{wCs{U6RfRL1p#lBJ?=>0ONb>Psgxq zKS5Y1d^6=y3QMdwE2d`DK zs`UT={O?QP>;m+h2uB25FW~C}t}f;LodSL*;CTUCOym4p1&k7Kuz*hpXc4g0t6aW9 z;2#LMMZkjso)qw$fR_cl{&}80Lcn+dM+%rB-~<7m7jUtF&k4VB1xymqAfR5rFacW# zI78Tv5cv;#h3Dfg0Ur?1D4W5dQDBLCB_8ABL!R_;Bf)(uyKBdfJ+5DF5oRQIX_##^#TUW;`Af|7YcY%KwUZKKOx{g0h_+W z=^+B@1bjfi1Od$g&J%F0fX4+qC18u$Twj=g;R4<-V2Xe<1^igRuLS&6z~Gm;o^SyN z3uqQ_fhb>#fSCgJ67UuQFO+dT+XP%B;Bx|w5paNjcL*3D;Lp=}`VR!0F5oZ$!v)j? zJof^ZuNH8gfa3&wSilDa3>WZ6k>3PSPh`FNQM3bz@A1MdbGW@^0oRK1*(2Z#L0=}| zRY8vz_yYn)33#`FAp!;nI84BkBE8JdVlVtT(a&TGSRtU4Pn*m0J4C?a0!sejd7Llt z2*LkV*!P>y`L_!CHi1j|T9N)&FFijC`B(wZ3#b>ciIBfez+Qqb^?ohv>=E>80c!+( zt$@n~oFm``k?(RLUnJxlP~`1Y9a$8^Qlrz-0o? z6L7GANdl$_7$u;zyGP*JLa(G33Hl5H$9bh|A?mf1Pid_c(|}S!gP$MAy`YpY_vL(v zuMZaK1*{TK6HqU4nLxsezRZq9|GTjI2+v2|A#T6?c^{_F&?@0$(Ta(*ph=pz%R2Uz5P$2|?c>;86ibUgq}a2s;K*4#9VcauelLTy}H0%$~AmIJx`G)!CP|nwj@~mxBUw`dQ9A75V zd-L@-a{hm^{>2yvvC20nH_IaHQ5N1&&L5MSZqj8H=yD6QvjyX!LR0>vL6V8ju*s+{ z!!#xf3Q)T!NnW8vmp4Y2k!mrql>f>6yR%ck+YlKXW*VDS02f9N$}v;k2e{i&zTlu4 zQ5!N($}cR?x!quy#m|2rzgfBI*@YRV4;t= z==2J;8j2gCPrp_VOIF^9e1)LwaDPQ1e%A+LqI7*12)!ZcEagZ_Ukkz3cR2*DbF8deW`VFKVYBJvjfKgw@SAO!?^P zW}T{kda2!}@{Hh5+MU%^jf;PB&F{x!HkM93^wrI$Pkxj0(5ge{c1-)chhScCp3NXn9q9M!HTh&)v7ShTBI zQPf2(Xy&r!^TH~w`*vO6xMw=`$qAUBo$-=Sa{7DH)ak3x-=}>3qAB6frID#0 zC+>S_RWFOS{;luy>kh>%IWhRlxkvisY&)>{(z(N*k8@`AzkD<|YQXfd@7GkPd{xlN zFZPFazLBF7TD-e!O5iv5Kk09LH>OF4;NX@UpVzh8)qYjxBP*um>6#xJv*wMHsr#IZqT}M0KQBhO1a@m(VZtSz-(Psl!cJ7_L;gk2X*V=U@)xWG>v1vi8?^gRRIQWsJ z=fE#ceK_&pYoT`?^DAldb;0#5)4wn6oiXQuaXEp@9vk;m%l+4#e9hJTXEcRcaJp{KiNI|rk|RQ&z;cr(AC;|J}-Ohsjq_f z4E|3-^Q*xF!qu4OTTHl zs_%o{KaT(Ep1>msZCiYJez0%%l&Ab+ww_5jG2+D7WoKsQcA2y>Yru;uQg`26GG=|{ z!Myg}zsnppcVeqOz5`pXThpe=9rxYkKVoC=wVy_`-0<=2$5!6sH*Q7p+paISblG3C z%KG}zd)s|*{PC(S8L!@THvQ*?Z;dN#@p4X+cbYa|*th$2r>Bi=mVd(|n*VcyH_Z)s zs`|SR?)hkPblcUfUY&VxcHqV@e)#0f*HdmkajfN`gP%X&@4G|4U0Cr=W^Tz>x9x4S z@!7}kT66x}iB)+M2YwRv<6{BS&EtYxpY?7!Cb^|gYuD?hSy>;XUHIHJJ~eKCcAKK_ zT2%geF!0Ny62Bo^R`~Wzy=&~-f3``fNgS9p=-9;E2L_Kj@WI!Q9X>jy2Eo^VZ)3qYd_P!ykhv$w^oMxcduFda?>yOc6{V`(x$OT z@9g~4m=)E7Q@1r~n>lLEJ$ZNc*w}LAn=@N&ZF|E1G259YovbhOKH&cO97;UARM21G zP~w5FaJ=tp97=qnjpMJr#G%C3%;fl+vpJOb1tEV}$V+_KEH2ki(|(SC0)JP?jTZh&{5?TW5p;<^io+KuY!^`CqmIz=VK{!PEx+SPe8Gc^ zti>gADDiOucMaimi6;vBcY-eQO?|lB`#1!Pg2X2a{db9U60a8WONG3|-#W(Acm0M# ziRbj-_)!5Ro|9_6uK*)xOJ1HXJ1=)Em-77nXYcoe?i-Xl!IVp5`nX(6{-jvkBl)fW zg1G;syv*-^5|#@*c%Gnp-T#W_i~FXKGYeQLpiZRozHhF6g8TeI3WpM>&*D+|GKB$6 z;)ewNh@eaSpr9WXbcxRt^ydX#;76sLgJA^Po|KUc*)cJvEc3s z4kdm;T(|N?{JI(zb7&N>b_vJpBrafz7cT3EUeI*{mWz3IozN33(~ET_<6B&Ru;8aG z<+vuHkT(ik&d($?r{<^T;L_Zmn`+6LV0wUGrT@ryndZ;K;*yQY#?UoCnilYn+D|PC2{kdI<`_1F|`(D&%iTiZq`M6upp~S-jIX?b+4kiAk@c%AR zJ`x|co9q8{ABPfOF68eO@)Cbo$nO^N5)T(OD5NjfBk}fv9xCV(ztf8@aa{%P5A_>( zeU|n0|5lhz2Ye%3n8%^SEB5np*m{sdiMKq;uk+)#@art`-j8xQt0-5A2l@ms#tj3w zyu@F*!u5>r$LSLPRowR<5c(y4M#%3M@)D01){Szt-E6c%tl#$dUNEji>_bg4Sb)eEyz^L0cOeD^#)&kQvl24`!B zhVXijjCx4_GQFhjs>0nGwh1S}G;SilzroFkyrzfj6_#&_pEqWVmIN4!|3UbF1pjgP?~nhX_@_|!3a>YYPJErZb{>bu-J-ua!q>U$ zA~{_@mqSB;4($uLobg_cS54!vE{a2OzrxMRf^6z6SvjVs@^aAx;6rDfrcLgp?>ZIv z(ETq1`C`P_ItKp~46pKh)!xnXVJPO%F6f4PIIa_P!$RS&kS~|=Ui3;S{~DLC5qhem zyrAoa9^I4NPWwkYwa@9)K10_&zE}IiUhRkTY-*3+efQnEgrNgsbdR?$5I>XK7feOlpkR2N+btLRjb&VaT|W->vpFm-=g|B9P& zbv6o^BFjOHw>0tG!&}ZS zk|pGq)|WSo67pVjeWH+myS}_}h>-W9n}-VdW%cEQhY5KvdgT*B{+;^rm1Bgw7rpjD zA^&cD`QpJs-iuy4UdX>!U*4D}n8~LDlYHtr_zMH7riz^$bVE{zBpaTd(mrC zg#5?#^OGXmqZhqytdL((Up`p2M=yHaQ$l{Fm%MC`UUZ#okE^`oWqb6Zm&^9Jy1sm| zY>!@a?NO1RPwLCp4d8UU7hRL>vAVvzUbaUsx>2^rHD2+8!KWP9|YSIYLdp}xFPwnr~|rEHHI>&vI)it_ZLn`L|4R9`+= zwnssCx5ugCdfC0?Wqb6Z+lz$!=KAu*qTSiO>7v~kw$zu`M7y&Kx@>oP*5zr~FM$*96=t z^7l{WrQI4~r|t``&wD?K`533`zUHt-;Kc&!1-+L}<6~mL$x|m!B_Gr`n7CrOr2WuxRAEDP>YGXasZQrQDW&QSd>TMeFZq@h&C*p4IBUdi}=BA5C<%Iy^q+%u5e%y#Mku=eNOO}p%wAbd8g);@96bh``yzlU!I%4 zY5v~*&sYAi{O%hoT11_h`Ej?qFO7}>y+54+jSqD$a_8*=0!f^fOs1(=w zT_f&V`_hZkhRoaWbVqae#EU0pRsT@^#)cD1=S;Os-#_}D3;SPPHtS_`?3(eRL7Ohr z1MUmpP5{<{ky)eH0^!Q-P?kbPkuhTAnTRz@OQ8KOe;CN>V+$(Z*Dz1 zBjAVid!`%nn(tZv;=QJuz8iVtCkJ?08x|4_UUJBxX=%$pJzeyEY4bT3ihA~ac138j zU6c3Cx0{nsP2Sh_=~M#WqC3$~x%x6zq2eACyTd>3=a*&BbqJbg(~^5?Ja)9pDi{PxMeKh~zAm;Sc- zU$3hCZr+OTlZPKTy6pbgw-+Cs^6I7F*u`%rBurR$^FqVwGc(__-dp;}(%>_<)pYFg zlJkef!LPp7YT=ugUJd@K&%Gt+mdj06c6Kiuf%{x8**Sc4GH+kVhS%>ex^vI?BOD|q}`_kr1 zUtc>A`scRlTT#kIn<&*gCWYPV|9+HfsLo31U=HfTq* zvs$1}2cLdE$vzW(X8SDn+2Ql8&t;!BO}aEmXfmeBvrS%Yvbsr4lhaL_`s#dp`;PE6 z`&xaM_}YEH^8Ld%$nS1H?DyNj`;Xx7c)Rrxj)-ZEmLYKZHZKMG4lf1z<}L;Lz%B*) zm@W(7{^8HyXA62Wc(P?u6N)${#NSAeS2`%j9}?CaxZ$bb-yZ`k-oE&08yVT0clP-^ z0cVUVic5!)jJH>;t__5OGQT@_%pj}uh6sItn7&EeF?rUOx6FN7d{N}QYwe&`O{0#?e>JUZ{9ck;K!|=TrTrbHEYPIy3FsV z%ltgNI%rb*he)|T_9Dl<(f0^IF^KTEG{Mwbh zl<&fxFSW|b_%-NP3zw2*;nSb2EL(h|MM5`eQI&@#OhKi-A9)i zx|s69lDd5zz7nVwce}wnuub&DKBJq36CP7}bV|&D#V406k7`DEpzhNjj&@Aik#xq) ziYBY+=D%L*J#q6y`f4gd=)Oly#{7@&I=T5eh9B5+{QY;nFFQ2ncXrjaQMP-_)}=Vg z+s$WeZPL)Zwwoq(Huk)g<39v_KmO6M!(X>-%5m9`PYzml!$OCn{r44}46cGv`^vB1 z+3EH^EiUERPwYA}c*WA&;!oM*-@WhL`iv+4eEsuf&sTKuZL-ic>VpX{HofWBuWUz0 zHh=Y-@Wb!--hXOHhVjk~A6}{mxcK_)13%1KIRDf4&irB9l78;izxvuf+wkt!uf0(I z=nrlD+Xatn(QnT_(cg}H;Bnh^Cj&0Lzo4SSg!E-|-x<7k(hb^A-+XlMpKFV?UBC5A z|K@t@_HeOWVBE@cuW7HXGT*c8{ZC)xxUMc>+}8HymOorw`Ni;oHQmoPxoiJ>&7ZjP z+BPlZ0R5T;n(CUm3pimeA)v8BlVpRQ8J>zZ181_MJ0YE`F_PgzL}Xqkdn_ zDSqh9d)lsByEJJ`%*YQv?x4*-u=A=Q_AHElKV~eVv(%O7g-9PQ+-nSKw>$AJni6+CI8a8+5>He*5E$$H{>pO3>ns$?L zMBbR6KG)hW)>>FUyTflylyBEh&b=Q3RXl`fMlHrKX+)e) zQfTbl5hF&lX5ShB)2JDOH9yTK$;Y7i$AU9rL{iK{{(ebuBVt2CMvQnU6up(!I#>(U z=yXga#-xzA)-nDDmcW<rnp@BcL7OkIVfZym!UEXS-ewdE(E}{TB7@y`bA4e;)iy-p2<$UHj4} z2Q052du`-|_D!$fKJ3$9KmXu`d4CS?T^PGJWaEN}8MEhV3vxDpEb8T%$zNHFmF?!s z`~T9^xvQrRzV+vTQSD~W{B`!rgI6x@-u2yy)ydx`ZreC#?vGzBuj=*Zly>F8N0OUU zpAd50$_M-1(D_?AZg9ODz8l{Q`f$@1ziild^~YlsOICJ|8Er0;pRC`|kM~@wv$8+* z-_Yav@X~>82QL5gZ8_e!|HM$+{M_qHTC(2q%eQ2I%A7~9FJPsBI|clULq1Nyr4sEc z{2Zgpn~iS$Muta>|CK>e`3#@*UrV^W)!hA4=}SP1&*^@|NLs7x^3Le*0sS`ZYC989 zR6WClUgKLHm-iVtF4Bshy77~{zC5CpFVF2-^!y9j%12uCZIk(qtaz2BA%@h49xdIu zG|Z=*}dkqykUVHhv|;Rue*86hPrdp16LVenJ}-*Y2$Z``-ZH) z(*B2=XAZsT^u`|hYpM^Nnf<=MuYZT_?|pL9j{e)LKAHDJo*2Jbe?NKibDKu3$ko68 zX4-w-YHJpJer4939}akbW%jgq->e<(itU4#8$qdv&;UuY{yzcvUEcGn-^s^Ab-(lR zkhhbm_$XYK)(K;<0{l)yJQpxs%hU2T6JiD0Bv8_|OvJObF8J+=f4$ZjBdKis$uJ($ z`H(b$76}<|{_t#*$=n|gRM^hehg0*jXbX6Mxjd~sk~-cLlbwBygw&sMUDINA?SeQ= zOU=-wW@lpuIp2pZ<>GoJC+1~jU~Zetw`>zykeow5G5MA(Y{j+clJKBoyeU6e{6Ohwg*yj!Zhvi_SvI!?I*B(<;LtnSRS2_mzsgOC7!p_ z1HEiu$WG_ZotZp{^em9J3>Rc#gS%uiCVqyQESdRv6KSqrn9H}ln~Ku$aER?M&Sm+g zheWCQV+(VzvqqPT2Zm$v@C1x&$jK@wpu`=fcEGa~T207FwZQFsQ6%Z9xs;+{VwNR6 zQ#S^C2z051mOKb$rPC@x4n4=p*16TA&`d=lEm>$Fy-0$@9!-s=FU*Chbn?969LfyS zzWp&-cygL=da@Aj1r+ECvc~2jnbgeP)f$)2Mfv2zsrm`BawnjcU|U31cD61(6T3Rn zv0GZ#VR8qq5UKFkjV>JRm`ckMml@C2L^`hmmE~>5s|#5Lbdd^V)|oN>b`DD8&Ij^OIKQ$wa~|8t&7L5$P3uyQZ39uVG-${GZAi=z zj~?NV%rrAiy_nPJn>yEfwexQ59lu1`zG-mgP_6>C| zno4=Y;;gZ*W}tgR?Y0(w1%Q4H>~7jd({t^=fDxbZ`(?4$bILle=Z~^IxZ6tsyRoVL z_QR%pYQUOCYlH=put_5a^IO>oi|6QLO}W&oXa$Ao>864L+&8i3pZ!v1@g5UiZcsN{ z(tR&Il|SWA%|`FS#k5r1cXPEu+{e+EXPYxq6}lOBZ^F~EQ**})dK%3Bsw*k?lPjBZ-M@Y(Q-k z4OYmTAx~os!p(G3bkhq#O=t81Y*k~847>v9P6eIt0`XsHHoNTd`R;rAK0azna;M2t@9ov+_7;Hw zc%P+juP3HFo}8R~->8m=i+6seU@v1wPL1e%cgJu|o50@iyFV>2FZ%(toit|ezoPrN zgOGIN*F;DFA8c$i{8y&_U*S)l8Zmil$6gpba&z~yv3x3Pt<=hB)ULxXwYfajMsm@< ziIR^$ngu+-67q8Pl(6Xc+}ps}csxHpb&@XEG*Opr${kC0aZMW``#U-4ITraxsR_#=D`(Mct!1 zVW6CmH?g2o!T17Gvgbv!g!_h>Yv-=n1li$3EV|+^qDx43jQB4?EOZ$FF01 zrFiiPuhscOUYZ5-4gQ!-rl8$QG-9Ib)xyZ~N(wDBX|ZIQXh58ap&VWaWTUwP?7}iz zum{j$!mt`|;jsw=8*+^)%twNJ9X9IX4w9OiZsPNW+CttB-5_!lmyuE6HAi8b)Y18- zF+=m|-8vm|8IzGQ2=}jop<`%+a7=E-gQiIn^YSy2^0-8SZU}Z;A!X`l3&xlx%YQqe z$Pe=tA9T$hW*YO)46|`AhV|GMX@Z+V4>FAD5$qAidN7O_>XSuz#C``eVjs8I((<&KXKR8WgEdjG@=0 z>9(rozd;cYjoGP_O!))y*xZ7r@=kZH2-5X8WoHkEomAPD$=?4n*Tbs@<9gKh|60@W zsRg)vgK~-E<##>S@JYGpYHCHVH;dH#ulzCcmuT4%M0#Ffc1CUo3wvGt;Y8hV?Cqtx zJz&I;{z-#|4v`BdlY8C$M5KNy#+7J|sErw;8-7Daj#sf*kf}>6#PWv)Jqs!g%QeR7 zr+B|mbxgdsE?|m)Mu~g9KVuN-%wO|#64na&nnu!Pigb37PQpromkXHUWv^VMGknAC zNmwW3Ya2;dEz*^XbP}2co+6=_y;_k@JI?J%XczKTjid`W&C9b~q?1rDaGikO{^>=! z;1k@Qgmxic)kr$?&)lB=2u~;XNgBTt7afNMX+){FYEJaGijfSGg36bd`cG zVX?r?0;YJSTPDlppvb3ywL-2&K)YAE8j;Q}!f`F zWx41?c~*&Z5=wiOg6?fEUZm4RIZIe4q%;Kc&gdgZh3SAN}f zo5XdN?;Q#Ff7^RdRhxM}Q+9J$`7h0X?GB!Q z4*sS258lf2AN()Pzg_f0cG2(t+xpKcJ1>97zdZlZ|ML1X{a>1Y*?y1wOY<-L&xn8d z{j2C-ntwTd*!eHbzZ}1Xo%wf;ALRJ?f4YA1zgrJw2X76+W23?X9A1Eh6t@0k%HV6G zw4{I+4DwU4*h9;~4Cm*V<(P8#d3;$JUGdr|P7)F84-$Coub@RwJYC1`f=sMJvL(=r z3_QKZK8UQee7qpbR!WoT(RL2b0>o2xiZ-$?3J#WZ^Kx+DUlyG|NLm}x>3Li(*Jas) zt4TK&Cj{QB!;TN6!eM6_dDuq4c0b@r6b?1iWm!5)Kj>tV`{;1M`}i)7g8PInJmlz{ zUNC{=dg<=a?zk5}2-p-+V8II9Fupw@11AsC0wQxYfxF6=im~CtZI>mY)Ogo6HJ4?@ z{WiDmj`jt2;2rUFydG|12+Lc;a-FsGylkc?-jqr!$#NTlT%aapEPZUDIUDc&;)Qc8 zA7vNj^J!*%4G%0Vk@sKxt4&nW1O?cHeIyO zpcQ0yZm>?CZZc(19Wh~FN>Nr$VUBoGK`ZKApXeIZsf)aTN!YD122V10KB(fL#zD20 zPARUDJT|UO`o{@)cJbahDmdT9z)KSEXXlT>6I5o>s}wx0$n4zFK7(Huq3&9JVnH2S zKX9I)*mT04i;_$KTz>=A5j7FpfKU;zQ->EVZBY`NvOvaeBCrd15lPc{zEkMg4#b}K zDEPGxeAsgq(O$^MhVwyEu!vJbCs7`RWvp}3!x3ynq3ViurxTA`Zd~K z(a%tmP0ONvad^l5@7gs9iEuxj#naRET=x7s7f;m2;Q4bld(xJQr}QTATrEFM)AG@B zWV#W#1-vssj#KM*b<{0kv(ta1$4i}n^B~xvtnRHs|FgbNra}k8HfBk``lB3j@Rx@Y zNkB=Y;k}RHI3-{x%4H0m=$r5?l6D|YVEYR-R@RhujQgC5bQF`tq$|K)B9skQxy`hV ztdN~&Gn!fkGgX+IiT;@#^~z4NVfDw&WzXrv;jc)Mi~hXP=X30NA0D~o>R>8A51SXr zy!SP6-$UpWS?^0TDX$REHqqILPOX9am*-w1HdUqTWDzPi9e2&8)|{1FXrea9y0N?r zoV_{L#MF4_4KlKxd%GcQbk+?TgI0qsh~LQE)!<&zjt&F&G`iJ}H=$u!GO_c|+Xihu zq+8%5JWl`*S4Pxdk7Et_gKPgFyZ)oKVcH072+offq$RRbBY2G&jr3|Y=-lE_ zT+PhX2_{({c-)BkLt_CGdKpuCAwSg^rCyMigKd|zZ4xJRi2kRuZWzfE(JMh3Hlxz@ zWM)vYC*fgcL0&ctkszv0p?G#n`AtTt(f%CTJ2O@rAo`R+z{a3$C1Yo96#jcM*bl$S zcrAdQ<7c2hqUZe&qYU%W(y~}fB#rpgGW#v=3ox2R@k4v7WS~79e)y;TCKRs6Kb0%d zDLjM!+wdPmhzLy(e0}jYf>#jiVg*v%{coVnCI5j?w8)?DANJB+-JREyodSBXHNHde z8tQ+HkZ^_P$J>Bi`}#M!g8%(cfHA9j2XHJ^rh#bjLTuNmk0(V4W38l<|Esql*tpZ>$O@}x^v3EI_83Jv%t{S5_@ zwJW?DB~J3S&?kecZ<&{zv`Mo1b^e-ez8}t*YS<>pkU!Cok->;~N(26oE~#6!Px{p$ zWr!BM!C$KcA7>S+BK6{AzgpqfAnxruB_Lf=w`!mCt3k>T&FtS)GdtnGmkjY#xhlv_ zhaAojBUZhj$`!rqubCl(v#;vOs0jHpUEx{=D)(PXv9A0lDbv9@dt(x>QGWhu`5SNIi(H&p(lOX^nb zlYTWw8KRXVjRSnUmy9aU{IB%r2t&Lf`=m?iR_&91HAoqv)sg?uhqKsJk$Q3FzrwF* z#6Ibgx>ft6Uky@*XvVGZAAGx)j4IFkf77EQ4Dp8iCtXsvYM=D0LCO%V3TZN-&!Fg6 zWhu`5SNIi;*e6|5w`!mCt3k>TEqELJ2jA``qslY?7kPAqA>NSxq)X~n?UQ~rNExD; zktP%R42phLmg3BRg>@AU(twt(j|4P_DR1Qqzuu@k;VbO-AhK5XZ|nt=mTt%m#u-|i)&$}|7p_UH&hydnQdm(;D=C;e)WGDOqwg#XZIQ1q*^6leY`{E9~G zlP;-SwNLuhAZ3VFjx-MN?OrmfJoA5{ z=D)(PXv9A0lDbvTtqN%} zq0gY`S7j;A{8#uDjo2q$QnzZK^s7P25H0vK_z%9_OGcGv{=e(d5r%j}{*x}LTeVO6 z)gWbvW=5J!=rbt#RauHN{}p~kBlby`)UDbl{c4ahM5`hH!MA(KsPfGJ_dGhn5O2tT z(j|4P_DR1QqzuvYyWv0d85I4hEXA4s3csQe`=m?iR_&91HAoqvl_QMNHOI>Hcd$bZr$b*uJCzZ#?r(Tb5K6Z#B_epQy@%zuSn(TIK0 zC3UOzNxvGT4AE-IfADdpvMN$9&iwz-!w*BeA^%C2)UDbl{c4ahL^JM#|IlYp^sBNI zXZ|bvibm{{E~#6!Px{p$Wr$XVG!F3XUNWjY^S{cYBMk9|{3l&fw`!mCt3k>TO}8KZ zL!Uv>ugX%K`LFOR8nI8hq;Azd=~si4A(|a&9N^o%WK?6Kk1UXRr{o0 z4N`_^#v1q!eFjCpDob(ZzrwF*#6Ibgx>ft6Uky@*XthY=0N?H<(dC0Jvzb=Z^(brC3UOzNxvGT45NJx|Dn&I=vQSa&iq&S6^+=}piAmj?UQ~r zNExD~AdLfjyO)eA&-`EI(GiAtL;jO4sav&A`qdz1h-N4Mq0gY`S7j;A{8#uDjo2q$ zQnzZK^s7P25KVUo{)2D#l2PTE|EoPZ!VquBf6^s&tM*C18l()-ijgK0`V5MGRhHt+ ze}!Msh<(x}b*uJCzZ#?r(Q3(m@aq0gY`S7j;A{8#uDjo2q$QnzZK^s7P2 z5Umnv9N^o%WK?Fu{NW1vpZV*Tg~MTk zpgDo~v<*kc7x_<*@~FadzWg&Ui?=SH`RkX3Bf?%m{=qMz@z-(rS>#`f9~ehIftSTw zm(Tq5%fjKX7-&u)K5fI%@kRch9_3Mm=Y08RUKVd%KJ(Wv3x~soIsf1n(fI4Q{4DaX z#Se@lpLtolb@|L+zbqUMi@b{bBOd=S(ou4rMgE@|jjzIUzWg&Ui?=SH`RkX3!(l_9 z=>Wfo#$U(fXOVv`eqbE=%**1f%V+-jW#MpG@HONg@o5{5jxX~6{ZSrOc+Qu9=4J8L zpZV*Tg(Jc;$Upc+H2yj+Ka2cp@dM+?C-Aa(>++euepxsi)(@H! zh)>&abbOKjXGeKd;rYmqM*S8p^RjsB@|nMWSvVXPc^&x&Km1cmN6C5SbH{yJ{2-pk zI|Ijr%u}Qp&w4soj(+Ls=m$*}@%VR^j*{~%&OiTPG(LpqC?MZiJSJqG`O?91^eYQI zD=m6@do@`)KJ)C?;>JsZ#gl1S2J^$e#B^5TS;t%RhKo)C2mb;agU11k%Q60cAB}Is z^QoWW?D{bD2r%Boytxed((}pk^h-}q0yO);AOA4YQF5NSJO;J+LwL?;ehZm-S-f@m z%wNCKz_TtL&vPUf&%$AzK`qWM+mgxnS@3QFF8)Dak&kg1KcU6HMoEJ`aG!NeJ z*Yo!$X&Y`Y{6jy<|IUFfnA_r@MyscTWij7lTD(OYKAyk+8tr3(-LDw1oRAi$%Vplo z2mipf#ErNy#96qy-gutR#m%R~%!FwNHNHdR9l?0DlPW<4oEJ^X8IIYdrMy zuuQ=p{OnfvG+OKb5KZFC&@p%-#xoj3#eevL+#&oY=_M2olN_l+a}fDN|;{?q1PqtWHF z4Ca^C;w||{#*rWTxh?-^Am6Xi=<-JK#TU{xuq1KFeT!X)WH8 zU-h5)^)GbPmj5%5@7HK_`7DF^MYMQJeqc8E&2W9$Uk7i?STKZ`PXQ4`7DF^rL}lV{-JT?hirY#i8GMz z*JyP4EQ9$)w0KK?W*qqkY`7ippRk2lJlGZepBAsnXBo^dt;Jik{uBAfr{FJa^`D29 zd9WP6hO5hE-pr>_i?`$sVob<4&K|Jg#^65zm}u-_o;;54(`fZ{uq@`A*5a*n439Vd z9kb>CG-=?x_%#|`KFbIpE~3R-@=qbox^(+s(1tr+{#j1HhO5hE-puEa7H`Q4zlQnB z@!ULeTnoYv{CaG7AHu_V!Ve()&>Lg%hY=ph6MhQeM_wO`AN&u@2lIrlLHM!ESo{RS z8-Fu4d;sD3zCV#hc)ss!oEQh+51IM!8xfw5e{7uaedF*M8Yg^AUQs3?zyRv%1R$NK z&a66R_e^o^W!(!IgC9W7nc~{(Itv+9(2Fz8&za)db*%$3`agi2GsU&*dImB)XcuRi zpEJd^x3w0?==%V2&J@?))`ubE)CZ7rrnvULW)1W>0XWlgJ5$`#@f)uV`E7lPy>GF% zd3)aw!B}VYy?Q@BWaFC|2k(dtFa5jx{4zGY=K zW`2GV8(!?K{CF)kyx`mU@e($?@PFmU+h@azW%J_=+VCQO%#U}-h8KP(Ki;qnkN%V& z?}QC6GY%g8XKsCDPUh!VWygCrKVH~|*Y{q2dt;3aZ}`7mWTiyc=UyA0A9(rJePTAe z#Hsvp`)zpiKl$aRZFs>y=a+lHhL;9E>(cXa%!U_yKfheh39A$&m+1fImz%ZmOM{2iZMe)QM;a-%l9=wI^7ZM5O_gP(Qjayx8z{1rPZXFA@14KMtE`Q`T6@P@$8x^#X+ zHoUYWzub%sF9^JRdUeEx7cuh7J!Qj7JM+s8{mv={nfeU)<&*2T;l<4Saw9f8zdOI& zLpHo&@XIH+#fHb!lF4P0$ur;K@KfW2`+qr>7vqP<36G2u-ZD;jVw~`O zj>wB!kA zKA}9}%%?9;IP*#831>e2dBT~`i9F%VC-myrbTXe)dGMJ}G!H&==+6_*ec+)y;oKgN z-o6#wV;n*e?$Ej}so$!Ueq|W}Bbwd;CMt&TgbnqD93n{S2R$<22Lw0eD5 z^!Z$t&D0)^hn^mm$^6%7@fM#U#95N{dN^XkO~9|G=g6NdDvQ%tm(#%dF`)6%)5Wq` zPDYEjxMaskSIj2Y1OJCjS6Jhvr;BB?oL(*7N>}Jm{_+Z*%q@>Y-<9py-tK~@a`6WL zhV*B(^y%s6G;(?xZE4~>#KuYgAscQCe!X1N=o3zNS@pe7yXAvPZ!G;a^A}=1Cci9m$gEn zx7&UjZU}yRx*DN_LpD9M@|(})H1Yo_q8e{KorJWo+yh#?#V0&YI;$|&=+_C=UN}t8 zPuQk+r}D^P8ct78!?pNTVSt#3U)7WO$J+xMFXo@H`8kX)mOG%uS^Vtn-pAaUX>UQCg{znMfDPA5qm^H~%l1Z}Mq}}0JeI-yhO~H#J`J0|(s*5d zbZO;0M>HB;KJ({vMgZf+O_AW9baX5oB=sLbfzkA1gLq`po_j`Q0KRS_qah<0=@*eAMh;TMZo?iAQx~y;GY2p0g3M#^d=zk6nOue zL4B1@ItVxfXq@7t^8we-aMJC7UjW_*_-8t)8*n3F*K8-<1Q=fGq@fi~a(>B4HGp#g zDZoC!5a1cW+I}bf9U!>hNng0rNol~189W0%`)fP{c4nRQIlzWLIjQw8PWlxf3;5Rm zIq5OLUjc7JbAt}7)ws|e+~{Kg{gV(@0=@L3UQ6LGgAM^`GH?J1zz`q<2v%TDTZOfX zshE#W2ku$$*8+bwp66hVFJw~jT$9QG0l;*?TtFDG7_ba*(ML>b1N;-ews+!@h7lG+ z-euTM@lV4rXd)wcJG*PcVZmo`wnf`Z{&^<-GxS>0UDM9ID2#b0WG?J%$Db2x&*dQe zb4#ReVK}^P`wpyI!_WQb!WB);wJj@_G0v&nuyq_pA49ppQFt3UD2OnPb~A^Ca>CXM ze&O7(6^z%I8zyKYIbrJrE&g?-$yg`wqB&tvf!C57Ch%f8Va)=sBR5RoB@otsIr5g| zazf(nLjM6r`fHmxz5G9|T9lUxOL7?g7e@VD=7O$vPfu5BCl@^b^Xobcf-3ylYp-qJ z3Q}ruV(k#_!enY&?b>A`J+Yjy%_2P=dRVi>OXP$}Jp3O_@=JB$@3rVR;fMM_2fB9E z!o`2XM&fHXOPT?MwLq&D_R73wufqChf#t95Wj;fnhV8<9;u2@gbuMalz%TWvj&bg} z-bLk%Bg4+&upxwL`c}_j9XGn@rOFY!1`eY^thuvZs^U&OgguAJ%3qr#{_j}q;t{{d z+YtKoU?IY`?h<|qy6OC-@Fx@#G_Dv}FHG)AZmSJ1Vlgps&(U<+c)rsJ;gc;Vj|U ztsLtxmjn?T3X7oF{T!W%3#^O?nsFT^jcW7XOm~+z=_@tLhbzOgVzrBB&7xkn-*^e* zyW1dloe@=TIIysgf~jc~Y@bTO`T+Xbaw^Z3WjOr<|LYWbQR6bml|ltVTnV5H*{I>d z(fkgtNnVtTx6Yji%r2nGjxFTNdNZD3ciK!iV@6n($D5%2IqInK&v+6`l$sLWMj8=kV z?t0v|0Q%jYVlKEk$hc*s4=$iYup_@5E@4aO|@d?bxz`Y+F${zriNYfk@n@$ekr zw*ZxX$0U({E?UF<8NyZiUw86|wV=?^$DGL^kkm=JY)(2#Z8QAkzwHB{xOlKDwYin&p@ted^yb3gJM+KY#M0K*%3 zktl5*rt7C6j{%IAh3}yDqDGi?0c2D&-$U~c7gN+#eHm}Grov4X zDK8bZ7m%yoLw>aA*#L8rl9S_yegc<(OEz4`3?I!%714}#xXpz$quxt1nxmZ zshdjc%c%5VQNkBPx{BRY41e)KZ=xXPi3WlwTStK08KK2dE{8!b2aiFXdNhDWqP2iK zI8Egym7lC6&*3Q|tnob9ohq%2qx*HbQf`x|FVxK#mUeZ&lx(~#v=g!1D0 zM42^N<>jHW=3>-+5tSv2Gbr1b?57IQPkE@MN$Eq<2s&&8*)>GaZ}Bp9Q~RZ`z~j%p*wFLFh*4aXfqW|?|08O=y~IE3Itr_y}_LY4YXMHX{ZXS;r{Bl2mM+x1;OhvKr_f$e|3Lp zO(E6PPo)}18C7H_XG(`l(o$0}-k`n?fkxEV(|9odN{h^!?gwfC}Vje=_n9kdl3GLN(bZUew|LpcxF__8kPY&m+RKkTt@!Oh^_<7 z_gXT%$ZMepOCvnO;hu53UXfLAHX7p7}1zG4$+L=H*5PgqtY+DjCrb9;gSQ%Ar;G>^Hn?hd|t0^+k|4kC( zV&4_eE5JR4vP^ZqqrjkoI+tvF?a-n6QmQy8+G(_OrWb9kie|o(t68j9ejoHIfLjnC z`++|5B;7vQ>X#jpiEE$xqXgGI<~LQ~?`f{0{$5N!03ndpV1DF3?k7*GRD>qe}ogsdy{ccW#`)=9$Q$Gji?y&v`MZ}Me?jnWQl`zE5ZJ`cSwl6lnqjxz2mz33|o zHa{t5cSl7KJoG~dcosp8Z^J>KJhs`yb5rOJ}9$T^h9;s zKkhZWcTv!I*6m(kn#+JI<(5$N7R)1W9o2c=?V~u80w$nb$<>G;#tlJU-)&|fte_?dW`)^VdaSt zf^|{oNu^1Z=<8g~C6u_G=)VAVJ>jsm`_Z4MwAlSRU0@2v#e<`ENCZi#ndhc?C%sg8 zypTNYld1p9M1^<2BrTD7)BS-OH^z>cgq|nEBL}B*n0c^1r>28`2L3q=)d939`W(OL zpF9-&2cp9OOGk9Sv@u{?Am1~ft259~%&3z#hNWY%ufcZt$5HwmzmkzgeEZ-ij_!B( zxy*}M-?P@JEO;OFQSd&Z^8i7=(hJyT?7taM&tb@~-9MJbga4%w9S2x>%<-!<4n6=K zdTqke(Q^)>9nxf(XS>B5#0)SOws1} zg$#)ody?pSfQ6Ui*YKj4_3Z>$csYJ8&5`dBeF|WuImfTzh0{bA0W7>6za}>fBl9AF zB{#>f;RO#9T>!A~biWwyl18GY4{MIFS6nDF{||^h3dl_6vco8y%I2$%tQp|tS#fhSrFIpI8nQJOs zgef6~F2Tb#fXBy@q7A$b(6YTB^4$)n=Uykh#r+_?oB4bd4?hBw z!&ZcuT+iH=8B5YuMxt9dWKi;dD)B0o#MT94yQW|<6JQqmVfKg>F=MS^i1~PP zA(u%O(h@b8LrjIuQ>xYk`d`O_5uhBTT$Z|D*_R2SH*Y|HiriFGSCE-BjClZ7qy(>% zJ}OP2Eh0a|zsBC#arB#tSFRuB0$c(v*>Gi9dwCs7)o}sd*CzTL;E>{_`yJ~x7Af@jb=6;8Ua$L6Jl8_y`43CpZ5xS*$A5rMknT&6>=?s z+d~V`n@}d9HazSEn4>FVF|*%9mrkW@yQ9zXCfy0Hi+w-~-HzM6jPK3-&T2nK04>$R zhb|$njDLvnxvrnagYiSGuZ^w)a{Ms_$6n>Q?c>)!^KfCJF6+O~s{g=j4^=i#q00J7 zs(hy;!}D&=R~V?*a=y;P!zzHv7q6%enQ_Cs3GGgd-id55U@PniF!H0Jn=u}77HeCU1nB+6)taX*VAJ0pOQ9Ay%V}#at}0IzKWqxRvjjyI8{xrTtGE^nf|r@E-Pj)9Egn z?8EkA1TBI@yRVb&{xH}HUHCB`j7=CncwMpr?Hy~ASeN9wdlOMfuDf^f@IFA+UD$Yy z`}G29Ll6qLFv7P4Zu8$mVDz;S z|3)JnfCl>qj91KA?$w@7)o{>H0G4i~HNR-vXrtVZO4|u*4d@%o z(KnXY!FJ+3fzfs>=aVTn_B$N(Ex=<)D(jo>*LaTLlL!07UI(2}_`2VL^)#$cW@`d& z3LKq8WrsavqECz!Ip``tRW)Q(qOBZ9d1HJpZ1<9hF`MJ=1q3-BX|Vfq=&2Zbj2Z=h z0)GM@0w01L0xuocQHgn1vk&dEkSgm&)^uZmU;&lBQIsvr6bw&FTdO>>{*EIJS8)Bk zg$Hvw7UhbExYAg?nzB)cHA;JS8^)t@=bcy2J?HHEf>Q7>W)kiE1_ z-{B(4ob8}ZAqVv;{<`1R{^fXsu{}M{LH`AKOwr`}kw+VjvQ;u-oPn;nplh)@2WDst@pQjVtHz$J7<;17d$viDFBjH|gXcJC2cU)dpxJnj zo8Vt4!ajmMfeyu=adf{53S->_{DV+)q0_gXRTJ z&#O-No9M<$dH)IfVuAf**H}}`?|R(s26)9d*w7Dd^LS*r&sZ#!_6L0kDQ-7{=4LQl zY~J8q&f}id{<9xL*d4u0q&hky*&gTHH1R+&%<`G7y3Vx1(G?&olf;V=kWT&%|6n_GjEC zF@FfIL>~fpjCpa`$pYbzBJ8l@&+(&vv!D3zJyhCg(9`HD2Ym$)JWI)e zPP6}OfcYE-9(I2YjhJ)i@(GmleggIq&<4xv@r?Zh*1re9FZM8Q##^W?l&4sO#u_Nf z)W6?agD#@jg$}wEFl40(Vm1~{ z2xU;K$^dPR{eD20!;scoKg!xp2OOP`T$9Iod^6jV-rO~Lu}3;GCyR;s^7c zFZ(Wb&_TcfB|Fy-MFg&}FKoCDpObtyc+&1L+Sg@1x(xkYb7~S@+>UjK<5;6O>IVN} zieBQNtpJ)W^QQYT&WOGuintD*mt2MiTqE{(TAoFyIm<(5fq&&u*xxB>e@8Yrs2i|F z@y+$4%7IV7x8{I)yqIHdMY^Y%G_4-xkaE*-vxEK@@RZ<(GPi}5PV>?<><3PR{!B|w z$yQ`0r%Mz580(sU4%%}7w_1Q%oaL6xwvsX1X;^bSUKc^vNRApG)j(frpf5FO6E$_y zv(qwx;VJ2ggxtTZ!Tx1c-u=s7ma`YPy8#~WV4H(7i@Ep6)bVp{tLRC}x6qBoOXe-q zYxbfSyvQ`G-9DpqP9e=fUp)tFC}O31xIA5!D2?&i5zfO==KU&e?~U+I3*KqLJ0f^T z$`f>*akCk7AM(sL%puQ%ruj_++>tNduRe}B0qVa3eI3??vR1#Fh&kvPfd6c%1G;~r zeYFnYhpxiyGXPWMw@;+0&%1@{jTg*^-6YneL?3|m4;?LsY_|1F%Xxos3YEW*y93F2 zO*7x;a2o~~lCSRydeZm{&PW*#VeJ8P(n(I5v>fxl81!V0m*zm9YOsG%hW1c|zJ|y3 zOagj+6^b8hY6$Iwbq+Y9%>akbHss=<-D)&)j>734ouiZn3NciRYCo zf%XQ9E_4wd_5-GRc}ly?EzVgzZHm3PWv;J_B|O*S1cvMyb8#3WYer5F!~v_P5%XyW zpTgp{7VGdIM=8{r$2@QP7P!l9E`MC~`!(}mBd|S#K6Lm72b}_lz87iM{qlU+bes>X z#`&QBoLM5Ti znXoDEhs)=xUT}vUh1j#N8{M-P^$mSZeAz+20^9+XHQ1kT4IcAVt*(nTrRlni;2=uXnZveM1jHS=L#`477D3(23FTU;cW5d`-8%^`O zZo0wkD0EQa8?g0eVDAlUMKfN=?TuK+W6Z7-w><#UH~bx#I)U<*EjP!!TkP++uZrQt{ik<9oS0SE0)P79>rqpi;vOzUw7Nez7$x8DN%AEX}7e~9*o%Bw~N zRszDFO7~Qwjw>)`ZbrRL1=Rb>z4bCA#B|{af1#CyE_THJ7z>{mU?L^#-s&DT~vJ- zYhWp!&%jPa?R)_+01|HZxqdZ{frdaspdlNLgXbZ|`3f3B}bHm&ZWEtnrxKS8s z5OdFvaR<(h<-x56iol(X2cy?;O!m;^=2DtmUqX}jmt>1FIO8{tZ6eRllwvOK$9`7{ zRqdDO2Iaa9_F)i)y%@1C>3*5uw|0I{@%_xt~nbh4Dg5MD#qjace7%&=zC0yVAs3 zU6ZGsgpGM}3T&B5*r64$LCfWNIn};jVV=Li?N0#HJM=uJLG{eJ#_(>U$BYhaUCd*> z=Dat1QBIiSG$BtT_GKl_%udft8xEwWBr0PS;9JUT7&!A-vS0Q;kwuWP7Prj+w~ss2 zbVJtaPs@90yL&2()~RNL+iwN|JjRK2OzbVxS5T!qn>sAc2k`nB>=kY={vV?~F<>eo z+8OLB_TLHE2T`mGxqj$3+d9DG^{O2Dk9g=KSYHWX&A(Lb{|^7eL6d)~)?fJaKH>@S zgm~Ty&W(qCq2UL{+0W&AjMga~ybKSd(zHS;ngxH+3+hMSpyBN1IXQlVL^s~|}7M^uh+U+EF zJ@S}9{TE_Srrk+}@E5`_+p%2h=Q6wlw4xo~iwEO!L+>Althn!TT!T?+oz2nCLottI zhz`Au+q(eSo}!{X)fgRnxG{M)8(Yku8Ac1%bF}`~U$0~b@L<#%0k+GQOM87jf?|s} z+@tz_FU4MW(3b)7ECBE{zs%R@9$y#JU&ZvBWt+pANl9}dl_ae_YA+4JnEn$W1vIX6 z-7n`DI6nfKa_FcyLn7u&We6)pn4jlJ2{BK7L7q{JasA;8ECx36?sq46?ixW@=@bu5 z!JK{y+VYen&evM=-*ZuJ0o-ZF58jQE}d$`}+O4wzl~(q^k(Gxd4wZhNZb0 z<9v2-yqu-=)rJ3v?H0qg#@J|>P40(0Zx~m2Fjrx{l6%rM^RWr2=4M0hIp`R`nw#l< zwI0ML0-;41=W(8K=25jDo0986egEyCM*&?(4(n2`AAL3OMPChkJ`Gk_92CxGWw1Ir|~dE#Gb>=XvyizUg7Z9Is9!B>&12I zt)M8{ZxDM>D4SxGjjP>@gZl>k0&pDYqWx-qncqK*o8L9(x#%6v?2e`%iEHUwF zLhK6B&b({!-5Ik3az1158KCm|>#5wahs3UBdQ!q2lkNQukpB}(x$!%9!Nm&rW3dJyhRu<2HAvVXVR1Xx*r%(gFt+sJ{CIa6^B@?GzLF zf+c7}Mj7lrvG;up>s-IU-uDYRd*8vuFjYBUbMepsfX#~5AoJDd{(?c%T_)ZU4g?IE z>KtWsPRtR?gl&!@OV7_ zpoupAFg#?sABTg?^0yx%{K74s58*k=FWwsMW?&}H*f>5*Zu!29IG2?H310P;eBXkn z{Nu<2SiUb=df-(oWBl%}VwvD~c-%a{kQS(48UF7 zUv707oQHmQsfjavdy(alu^#7&c&z91U$URZnKYaoa-8j@vmLW(S~ifGGF*|KoG6Qx zhW*jN*;wawgh;#r#&2Mu5?FTa1uiI6ssDK>>E~No>`sDorj+UNuy(_iz)zf0A8>EVuPZK zBYY1xeuhiaFirP##KFAaclcMC{)ec{Xm>wq`rT{H4sV?`4lcpCP@h-tV<5+Z5!V0k z@Q;8pFP}J(=R$;fw7Hg~!F*vBx0{F7<8utN4dKYP%DVHqtNcxR#2CaHlyR+liRU`+ zJ7woOi}#{VN>R>Y`~&OIk8$I*ad$DNKFoSA$`fA^_`kdZJXs>BBm=CxIVM^)eM}5msjup671JFldtc#d2nj`u+@xJo8 z$Y(wBc@FZqFejhuKyn4AVIv-X4X6|KpxU365V6QFJKtDGlB;)_@rHCBG^BfzQ@Taw zAf_!1!?-QPctH!pxXoh*(gJ9ST_F*FD4mUpezu}_nTn5#^TZlH1yV-cUlo{lkes+gm4eFvATcO2*9;e3G9tvW84v=~(O8orgr zVVYyUW~`?tF(gu8UIEs2@h%(o9^`v-I71bceQ5$L4gx214Ib_V6nnEB1`P>iznqhK zgG{s7Bgk}fNdMHY!l3a~dxO5sxHkaU{UH{>(E=e)o1Z=pma(7VW(1KRAI-!X^GvJ@ z&BVIU%oj%bfGD?_Q;f^!1(^q*ZK%sRry*>W>J{iG=HfOV@Nt0Y@k1AkdORAAzCl!o z(F}UIE>?(jF)vN76YF9z*_U~!KWWf+01?oLu)_ty|183qISlk1ulseHkvRs=0SfwN zlrs9r0N@^rC)W7b9|RmwJnjA*8a{hq<0IwxdG945*K9`5)o^)*R-$bz!mSZth;`?f zxt->Vwjt(0@*RA}Z3c>1zxWg$%=PjNwq^sS5FEN5x0^ZMo9#u{RLA#(u?I~(=WOSo zh5In$?lISKd5bwe`X#I_mZN_!KZx^?tOw6nak*zG9OYOq#@Q9?OocWFOBgZqlQ{1? z8*?gNA1lJz0>2+I{Aq)xTxU=gV!4iVzt!)azY6)#_xi;?MX9ofKPT*AK2jmis!S%| zL3Q>HHjfAIMuu-P=nsGx_=tBf#)M&&R>Ki>g!MT-Gc9xh>CArCpt*ghcfkW^b2Yy> zvxEJhz&p8fx|5vlzu@Lt&2`E9T(2AMyNuV}bOqO^gU587!Lnrd|K6Yr0hWv$zrgj- z@IHKV2oS7L<)!%@(+X%>djMw+s<7{dF-5#diE`(1z<$CYc>fn5hU9Qr>wf*5?<0s8 z<^4Dw%reX%kXF_!to6tLwv#(lJ1bV000|86{(^F{h)9bqmc>qxv+!fj}Paqq+JNr1;2{H?Im z**TIF_Xetl)wUI*Q`Uo?uvENTjJ5V=thHkvZ>_g8uj9a~pqxVBM!sicj zl_z?8_w^49`kp7K%6#`DMjs|2vYpkSo#j90-wZZiM?OQJ!oybqRmBM?>cT$0_493z zZ$o_J%r&uzrp;fZVb~(9i&*)M)NQOcL+?cRBuAg1%{c=FL65o@OZP|FfhZ9tmmRmc;?V@ z1K)FNfg;NDspxlJ$gz8bZB)JvJf`Dz4nXpVHV{5wCTz6Zn3unqIt-U#wixSh2;eRy@xTWiX}vFDUJnCDfv-3h=u6i8R3F|wR>9p@opVEz#E6=n2Sekxl}i;W>q zh2f2Q9`P+HF7vhcS%%HlNHgE(aC;fx_A^$Lbtc;AMBfJTT%>&)r~;lk z0Phb?hnw>)phaFsU&M_jc^iG(Y5v7&?GN!f@Mu5Z46@i|%;PR~W`Wl$N7v6&hzebg z+l`FlCG=>0?!{1uVe~Jb@X#l)j$DE>SL(cdOz3LLO%c5O@)f`>AY&cR@vFXY=rMd} z4`B6$y5GJZ!|SG2ADTuY{sgf0adP~MclbN_<{!Yq$?+?kLB#)D!_oaY-+_Uh#ovLk zt)__zf5-tc@N5Wza9gQ=$HQu51!5RsBs5jN;}YNq^X7D7-JJbb0gfqocK;X}*jj^6B5wdI|2ck@{~+QwXgIoGu3cl#t6uJT z@tDzfvC7LA@ZerZcNt05?nn2{93H}kK<;lv8wRo3I*-2=Hi%tQ_iwPQJZ4{P9neD?aoYkgj``BP4WvqoY!8)-HY3808_l@J5(2$?F9S7=5tOtHmEi82N?I8xcv*jC?2fE*z47y*O%ifATn=tg9&oJN&&so?b3}BDY zh5o}I#$GO90NIk?z`{Eu$6X@qZiGL;;mAAVjQVlL;Up$yz>{Z!aNZsK_e{_O7QU<6OhN(iC{^?=kAlUQUl}LnR|~0M?u8W*mz{Txd2P76DB0PCMT1 zKrOqs8{OvrP#}bL-S%l%&z(w@Si6@ef@GO&0m+v^-`I(Vs{pq!4^J6uMg~HSYuGQp zv)9ibMExzkQa8sW^93wZahkk12a0`MZYvJ}b?&3MJq1YMAcwFS#hO~i9Wp*|R%1Ox z!#`@_zb5d*Mzwp6$fr05fW8iE9GpkmDEo=VB0N+8!T^=VK2GCw_RBOT_~WfNJNo$h zt>zwMr9F*nfI7DcH<3nDrm-(KA6*vC9y}!6NS7(oCDz`8=nJbwU w!(0a9Y`{lw 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 Y9IR8rY$ui8sM*V(L635-Zq}{-7qgr<$p8QV literal 5353 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 NL4%?bAD9%ee*@UC53T?J literal 3073 zcmb7F+g96F5ZwYB8)FP1T+>V3rfnM967B@k8xY$Vn@bE0?NgSp51?WsmL$UBqxuhh z??3cI`qVw=NV1#Iu2m1VX6Ed<&k=u}{QhTuA1v^5`rCtZOqY+FZ;pMtb$JwezG~M( zbrsBA2QB2v?Y4L02REG}3M%I3ZXLIXUod{39i3*YDm)79P+_p@g`Qyt4&0jSgcv<= z4?Fgq@*AGruG&{hG!3t1hmPlNU)b)s!Z5MSp{cICx2laHBW||aBD6fW?FiWJVBo@` z(nX=E&Xlj*mfGw%c7TaeNpjPLn3~?awS8pIJpZcW1RSly%i@v|y!@ID5_E<~+CTwxbAv z>YO3(xm)Voag8o#UvAlflAS?8 zL`x;3LAF$)m+OUvgj-CwrG#5fxRr!kO}I6rS{!>Kzu=yC*8l^KNiwrz2Ng;EVR9MY zoJH*qFvfeA6jXC%uP|aRk-j_HGDB7~1)_U40{LER8vOFtJCse%i_T@pR%`1Uy{FV_NH&}F${Q`2Vw{C8J{9-&shA%S?j^Cu=5 zAf<=-wI1Vh%;P!xw7`-U*^ea-d6~}@o{INXp33OfsVkA+pnkSsVbQ|;Bp(toMR|d8 zPOBHp>05L=} z4>p+2n9gcL%s^+%P|DDir75q$xZbv~9=V>SHcbzcY}PvejMaK{|2qp*>Wl@Z>>Rs{%w;SU!RM)9y1!hGW0%o)7L})(or2P#-ix}!zzTZ2awja`F}8a+(#A%HA%C!kCKbZ>Sk+TE@S1TZRvIxxdC%-4>+kO4ovk1$q~?~i0v7+s?+!nmc$ uONjqk5=V0>}Sf6$PfjCIN>cDrS@;vY7*=K diff --git a/Source/DLL/.clang-format b/Source/DLL/.clang-format new file mode 100644 index 0000000..a74ee9e --- /dev/null +++ b/Source/DLL/.clang-format @@ -0,0 +1,101 @@ +--- +AccessModifierOffset: -4 +AlignAfterOpenBracket: DontAlign +AlignConsecutiveAssignments: 'false' +AlignConsecutiveBitFields: 'false' +AlignConsecutiveDeclarations: 'false' +AlignConsecutiveMacros: 'false' +AlignEscapedNewlines: Left +AlignOperands: Align +AlignTrailingComments: 'true' +AllowAllArgumentsOnNextLine: 'false' +AllowAllConstructorInitializersOnNextLine: 'false' +AllowAllParametersOfDeclarationOnNextLine: 'false' +AllowShortBlocksOnASingleLine: Empty +AllowShortCaseLabelsOnASingleLine: 'false' +AllowShortEnumsOnASingleLine: 'true' +AllowShortFunctionsOnASingleLine: All +AllowShortIfStatementsOnASingleLine: Never +AllowShortLambdasOnASingleLine: All +AllowShortLoopsOnASingleLine: 'true' +AlwaysBreakAfterReturnType: None +AlwaysBreakBeforeMultilineStrings: 'true' +AlwaysBreakTemplateDeclarations: 'Yes' +BinPackArguments: 'true' +BinPackParameters: 'true' +BitFieldColonSpacing: After +BraceWrapping: + AfterCaseLabel: 'true' + AfterClass: 'true' + AfterControlStatement: 'false' + AfterEnum: 'true' + AfterFunction: 'true' + AfterNamespace: 'true' + AfterStruct: 'true' + AfterUnion: 'true' + AfterExternBlock: 'true' + BeforeCatch: 'false' + BeforeElse: 'false' + BeforeLambdaBody: 'false' + BeforeWhile: 'false' + IndentBraces: 'false' + SplitEmptyFunction: 'false' + SplitEmptyRecord: 'false' + SplitEmptyNamespace: 'false' +BreakBeforeBinaryOperators: None +BreakBeforeBraces: Custom +BreakBeforeTernaryOperators: 'false' +BreakConstructorInitializers: AfterColon +BreakInheritanceList: AfterColon +BreakStringLiterals: 'true' +ColumnLimit: 0 +CompactNamespaces: 'false' +ConstructorInitializerAllOnOneLineOrOnePerLine: 'false' +ConstructorInitializerIndentWidth: 4 +ContinuationIndentWidth: 4 +Cpp11BracedListStyle: 'false' +DeriveLineEnding: 'true' +DerivePointerAlignment: 'false' +DisableFormat: 'false' +FixNamespaceComments: 'false' +IncludeBlocks: Preserve +IndentCaseBlocks: 'true' +IndentCaseLabels: 'false' +IndentExternBlock: Indent +IndentGotoLabels: 'false' +IndentPPDirectives: AfterHash +IndentWidth: 4 +IndentWrappedFunctionNames: 'true' +KeepEmptyLinesAtTheStartOfBlocks: 'false' +Language: Cpp +MaxEmptyLinesToKeep: 1 +NamespaceIndentation: All +PointerAlignment: Left +ReflowComments : 'false' +SortIncludes: 'true' +SortUsingDeclarations: 'true' +SpaceAfterCStyleCast: 'false' +SpaceAfterLogicalNot: 'false' +SpaceAfterTemplateKeyword: 'true' +SpaceBeforeAssignmentOperators: 'true' +SpaceBeforeCpp11BracedList: 'false' +SpaceBeforeCtorInitializerColon: 'true' +SpaceBeforeInheritanceColon: 'true' +SpaceBeforeParens: ControlStatements +SpaceBeforeRangeBasedForLoopColon: 'true' +SpaceBeforeSquareBrackets: 'false' +SpaceInEmptyBlock: 'false' +SpaceInEmptyParentheses: 'false' +SpacesBeforeTrailingComments: 2 +SpacesInAngles: 'false' +SpacesInCStyleCastParentheses: 'false' +SpacesInConditionalStatement: 'false' +SpacesInContainerLiterals: 'true' +SpacesInParentheses: 'false' +SpacesInSquareBrackets: 'false' +Standard: Latest +TabWidth: 4 +UseCRLF: 'true' +UseTab: AlignWithSpaces + +... diff --git a/Source/DLL/.gitignore b/Source/DLL/.gitignore new file mode 100644 index 0000000..6214d6e --- /dev/null +++ b/Source/DLL/.gitignore @@ -0,0 +1,539 @@ + +# Created by https://www.toptal.com/developers/gitignore/api/clion,visualstudio,visualstudiocode,cmake +# Edit at https://www.toptal.com/developers/gitignore?templates=clion,visualstudio,visualstudiocode,cmake + +### CLion ### +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/**/usage.statistics.xml +.idea/**/dictionaries +.idea/**/shelf +.vscode/ + +# AWS User-specific +.idea/**/aws.xml + +# Generated files +.idea/**/contentModel.xml + +# Sensitive or high-churn files +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml +.idea/**/dbnavigator.xml + +# Gradle +.idea/**/gradle.xml +.idea/**/libraries + +# Gradle and Maven with auto-import +# When using Gradle or Maven with auto-import, you should exclude module files, +# since they will be recreated, and may cause churn. Uncomment if using +# auto-import. +# .idea/artifacts +# .idea/compiler.xml +# .idea/jarRepositories.xml +# .idea/modules.xml +# .idea/*.iml +# .idea/modules +# *.iml +# *.ipr + +# CMake +cmake-build-*/ + +# Mongo Explorer plugin +.idea/**/mongoSettings.xml + +# File-based project format +*.iws + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +# Editor-based Rest Client +.idea/httpRequests + +# Android studio 3.1+ serialized cache file +.idea/caches/build_file_checksums.ser + +### CLion Patch ### +# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 + +# *.iml +# modules.xml +# .idea/misc.xml +# *.ipr + +# Sonarlint plugin +# https://plugins.jetbrains.com/plugin/7973-sonarlint +.idea/**/sonarlint/ + +# SonarQube Plugin +# https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin +.idea/**/sonarIssues.xml + +# Markdown Navigator plugin +# https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced +.idea/**/markdown-navigator.xml +.idea/**/markdown-navigator-enh.xml +.idea/**/markdown-navigator/ + +# Cache file creation bug +# See https://youtrack.jetbrains.com/issue/JBR-2257 +.idea/$CACHE_FILE$ + +# CodeStream plugin +# https://plugins.jetbrains.com/plugin/12206-codestream +.idea/codestream.xml + +### CMake ### +CMakeLists.txt.user +CMakeCache.txt +CMakeFiles +CMakeScripts +Testing +Makefile +cmake_install.cmake +install_manifest.txt +compile_commands.json +CTestTestfile.cmake +_deps + +### CMake Patch ### +# External projects +*-prefix/ + +### VisualStudioCode ### +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json + +# Local History for Visual Studio Code +.history/ + +### VisualStudioCode Patch ### +# Ignore all local history of files +.history +.ionide + +# Support for Project snippet scope +!.vscode/*.code-snippets + +### VisualStudio ### +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Ww][Ii][Nn]32/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ +[Ll]ogs/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUnit +*.VisualState.xml +TestResult.xml +nunit-*.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# ASP.NET Scaffolding +ScaffoldingReadMe.txt + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.tlog +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Coverlet is a free, cross platform Code Coverage Tool +coverage*.json +coverage*.xml +coverage*.info + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# NuGet Symbol Packages +*.snupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Nuget personal access tokens and Credentials +# nuget.config + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/ + +# Fody - auto-generated XML schema +FodyWeavers.xsd + +# VS Code files for those working on multiple tools + +# Local History for Visual Studio Code + +# Windows Installer files from build outputs +*.cab +*.msi +*.msix +*.msm +*.msp + +# JetBrains Rider +.idea/ +*.sln.iml + +### VisualStudio Patch ### +# Additional files built by Visual Studio + +# End of https://www.toptal.com/developers/gitignore/api/clion,visualstudio,visualstudiocode,cmake + +build/ + +contrib/Distribution/**/*.dll +contrib/Distribution/**/*.pdb +contrib/Distribution/**/*.pex diff --git a/Source/DLL/CMakeLists.txt b/Source/DLL/CMakeLists.txt new file mode 100644 index 0000000..138a6ed --- /dev/null +++ b/Source/DLL/CMakeLists.txt @@ -0,0 +1,69 @@ +cmake_minimum_required(VERSION 3.21) +message("Using toolchain file ${CMAKE_TOOLCHAIN_FILE}.") + +######################################################################################################################## +## Define project +######################################################################################################################## +project( + ArtifactTrackerFunctions + VERSION 1.0.0 + DESCRIPTION "Eddoursul's Artifact Tracker" + LANGUAGES CXX) +set(CMAKE_CXX_STANDARD 23) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON) + +include(GNUInstallDirs) + +configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/cmake/version.rc.in + ${CMAKE_CURRENT_BINARY_DIR}/version.rc + @ONLY) + +set(sources + src/Main.cpp + src/Papyrus.cpp + + ${CMAKE_CURRENT_BINARY_DIR}/version.rc) + +source_group( + TREE ${CMAKE_CURRENT_SOURCE_DIR} + FILES + ${headers} + ${sources}) + +######################################################################################################################## +## Configure target DLL +######################################################################################################################## +find_package(CommonLibSSE CONFIG REQUIRED) + +add_commonlibsse_plugin(${PROJECT_NAME} SOURCES ${headers} ${sources}) +add_library("${PROJECT_NAME}::${PROJECT_NAME}" ALIAS "${PROJECT_NAME}") + +target_include_directories(${PROJECT_NAME} + PRIVATE + $ + $ + $) + +target_include_directories(${PROJECT_NAME} + PUBLIC + $) + +target_precompile_headers(${PROJECT_NAME} + PRIVATE + src/PCH.h) + +install(TARGETS ${PROJECT_NAME} + DESTINATION "${CMAKE_INSTALL_LIBDIR}") + + + +######################################################################################################################## +## Automatic plugin deployment +######################################################################################################################## + +add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_CURRENT_SOURCE_DIR}/../../SKSE/Plugins/") +add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy $ "${CMAKE_CURRENT_SOURCE_DIR}/../../SKSE/Plugins/") diff --git a/Source/DLL/CMakePresets.json b/Source/DLL/CMakePresets.json new file mode 100644 index 0000000..566eb6b --- /dev/null +++ b/Source/DLL/CMakePresets.json @@ -0,0 +1,252 @@ +{ + "version": 2, + "cmakeMinimumRequired": { + "major": 3, + "minor": 21, + "patch": 0 + }, + "configurePresets": [ + { + "name": "base", + "hidden": true, + "cacheVariables": { + "CMAKE_CXX_FLAGS": "$env{COMMONLIBSSE_COMPILER} $env{COMMONLIBSSE_PLATFORM} $env{COMMONLIBSSE_TEXT}" + } + }, + { + "name": "vcpkg", + "hidden": true, + "cacheVariables": { + "CMAKE_TOOLCHAIN_FILE": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake", + "VCPKG_TARGET_TRIPLET": "x64-windows-skse", + "VCPKG_HOST_TRIPLET": "x64-windows-skse", + "VCPKG_OVERLAY_TRIPLETS": "${sourceDir}/cmake", + "CMAKE_MSVC_RUNTIME_LIBRARY": "MultiThreaded$<$:Debug>DLL" + } + }, + { + "name": "win32", + "hidden": true, + "environment": { + "COMMONLIBSSE_PLATFORM": "-DWIN32_LEAN_AND_MEAN -DNOMINMAX" + } + }, + { + "name": "win32-unicode", + "hidden": true, + "inherits": "win32", + "environment": { + "COMMONLIBSSE_TEXT": "-DUNICODE -D_UNICODE" + } + }, + { + "name": "x64", + "hidden": true, + "architecture": { + "value": "x64", + "strategy": "external" + } + }, + { + "name": "msvc", + "hidden": true, + "environment": { + "COMMONLIBSSE_COMPILER": "/permissive- /Zc:preprocessor /EHsc $penv{CXXFLAGS}" + }, + "vendor": { + "microsoft.com/VisualStudioSettings/CMake/1.0": { + "intelliSenseMode": "windows-msvc-x64", + "enableMicrosoftCodeAnalysis": true, + "enableClangTidyCodeAnalysis": true + } + } + }, + { + "name": "clang-cl", + "hidden": true, + "cacheVariables": { + "CMAKE_C_COMPILER": "clang-cl", + "CMAKE_CXX_COMPILER": "clang-cl" + }, + "environment": { + "COMMONLIBSSE_COMPILER": "/permissive- /EHsc -Wno-overloaded-virtual -Wno-delete-non-abstract-non-virtual-dtor -D__cpp_lib_char8_t -D__cpp_consteval -D__cpp_lib_format $penv{CXXFLAGS}" + }, + "vendor": { + "microsoft.com/VisualStudioSettings/CMake/1.0": { + "intelliSenseMode": "windows-clang-x64", + "enableMicrosoftCodeAnalysis": true, + "enableClangTidyCodeAnalysis": true + } + } + }, + { + "name": "build-tests", + "displayName": "Build Tests", + "hidden": true, + "description": "Include test suites in the build.", + "cacheVariables": { + "BUILD_TESTS": { + "type": "STRING", + "value": "ON" + } + } + }, + { + "name": "build-release-msvc", + "inherits": [ + "base", + "vcpkg", + "win32-unicode", + "x64", + "build-tests", + "msvc" + ], + "displayName": "Release", + "description": "Optimized release build.", + "generator": "Ninja", + "binaryDir": "${sourceDir}/build/release-msvc", + "cacheVariables": { + "CMAKE_BUILD_TYPE": { + "type": "STRING", + "value": "Release" + } + } + }, + { + "name": "build-debug-msvc", + "inherits": [ + "base", + "vcpkg", + "win32-unicode", + "x64", + "build-tests", + "msvc" + ], + "displayName": "Debug", + "description": "Debug build for testing.", + "generator": "Ninja", + "binaryDir": "${sourceDir}/build/debug-msvc", + "cacheVariables": { + "CMAKE_BUILD_TYPE": { + "type": "STRING", + "value": "Debug" + } + } + }, + { + "name": "build-debug-clang-cl", + "inherits": [ + "base", + "vcpkg", + "win32-unicode", + "x64", + "build-tests", + "clang-cl" + ], + "displayName": "Debug", + "description": "Debug build for testing.", + "generator": "Ninja", + "binaryDir": "${sourceDir}/build/debug-clang", + "cacheVariables": { + "CMAKE_BUILD_TYPE": { + "type": "STRING", + "value": "Debug" + } + } + }, + { + "name": "build-release-clang-cl", + "inherits": [ + "base", + "vcpkg", + "win32-unicode", + "x64", + "build-tests", + "clang-cl" + ], + "displayName": "Release", + "description": "Optimized release build.", + "generator": "Ninja", + "binaryDir": "${sourceDir}/build/release-clang", + "cacheVariables": { + "CMAKE_BUILD_TYPE": { + "type": "STRING", + "value": "Release" + } + } + } + ], + "buildPresets": [ + { + "name": "release-msvc", + "displayName": "Release (MSVC)", + "configurePreset": "build-release-msvc", + "description": "Optimized release build." + }, + { + "name": "debug-msvc", + "displayName": "Debug (MSVC)", + "configurePreset": "build-debug-msvc", + "description": "Debug build for testing." + }, + { + "name": "release-clang-cl", + "displayName": "Release (Clang)", + "configurePreset": "build-release-clang-cl", + "description": "Optimized release build." + }, + { + "name": "debug-clang-cl", + "displayName": "Debug (Clang)", + "configurePreset": "build-debug-clang-cl", + "description": "Debug build for testing." + } + ], + "testPresets": [ + { + "name": "tests-all", + "displayName": "All Tests", + "configurePreset": "build-debug-msvc", + "output": { + "outputOnFailure": true + }, + "execution": { + "noTestsAction": "error", + "stopOnFailure": false + } + }, + { + "name": "tests-unit", + "displayName": "Unit Tests", + "description": "Runs tests that do not require any Skyrim module loaded into the process.", + "inherits": "tests-all", + "filter": { + "exclude": { + "label": "[integration],[e2e]" + } + } + }, + { + "name": "tests-integration", + "displayName": "Integration Tests", + "description": "Runs tests that interact with a Skyrim module at rest (do not require the Skyrim module to have run any main function).", + "inherits": "tests-all", + "filter": { + "include": { + "label": "[integration]" + } + } + }, + { + "name": "tests-e2e", + "displayName": "End-to-End Tests", + "description": "Runs test that depend on a fully running Skyrim engine in the process.", + "inherits": "tests-all", + "filter": { + "include": { + "label": "[e2e]" + } + } + } + ] +} diff --git a/Source/DLL/cmake/version.rc.in b/Source/DLL/cmake/version.rc.in new file mode 100644 index 0000000..c0d89e4 --- /dev/null +++ b/Source/DLL/cmake/version.rc.in @@ -0,0 +1,32 @@ +#include + +1 VERSIONINFO + FILEVERSION @PROJECT_VERSION_MAJOR@, @PROJECT_VERSION_MINOR@, @PROJECT_VERSION_PATCH@, 0 + PRODUCTVERSION @PROJECT_VERSION_MAJOR@, @PROJECT_VERSION_MINOR@, @PROJECT_VERSION_PATCH@, 0 + FILEFLAGSMASK 0x17L +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x4L + FILETYPE 0x1L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "FileDescription", "@PROJECT_DESCRIPTION@" + VALUE "FileVersion", "@PROJECT_VERSION@" + VALUE "InternalName", "@PROJECT_NAME@" + VALUE "LegalCopyright", "MIT License" + VALUE "ProductName", "@PROJECT_FRIENDLY_NAME@" + VALUE "ProductVersion", "@PROJECT_VERSION@" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END diff --git a/Source/DLL/cmake/x64-windows-skse.cmake b/Source/DLL/cmake/x64-windows-skse.cmake new file mode 100644 index 0000000..2925afa --- /dev/null +++ b/Source/DLL/cmake/x64-windows-skse.cmake @@ -0,0 +1,8 @@ +set(VCPKG_TARGET_ARCHITECTURE x64) +set(VCPKG_CRT_LINKAGE dynamic) + +if (${PORT} MATCHES "fully-dynamic-game-engine|skse|qt*") + set(VCPKG_LIBRARY_LINKAGE dynamic) +else () + set(VCPKG_LIBRARY_LINKAGE static) +endif () diff --git a/Source/DLL/src/Functions/ArtifactTracker.h b/Source/DLL/src/Functions/ArtifactTracker.h new file mode 100644 index 0000000..d30461c --- /dev/null +++ b/Source/DLL/src/Functions/ArtifactTracker.h @@ -0,0 +1,180 @@ +#pragma once + +namespace Papyrus::ArtifactTracker +{ + inline bool is_artifact(RE::TESForm* a_form, RE::TESForm* a_excludeForm = NULL) + { + const auto formType = a_form->GetFormType(); + + if (formType != RE::FormType::Armor && formType != RE::FormType::Weapon && formType != RE::FormType::Book && formType != RE::FormType::Misc) { + return false; + } + + if (Papyrus::ObjectReference::inv_util::is_excluded(a_form, a_excludeForm)) { + return false; + } + + return true; + } + + inline RE::TESObjectREFR* GetCellStorage(RE::StaticFunctionTag*, + RE::TESObjectREFR* a_ref, + RE::BGSListForm* a_refList, + RE::TESBoundObject* a_objectToCreate, + bool a_autoCreate = true) + { + RE::TESObjectREFR* result = NULL; + + if (!a_ref || !a_refList || !a_objectToCreate) { + return result; + } + + RE::TESObjectCELL* cell = a_ref->GetParentCell(); + + a_refList->ForEachForm([&result, &cell, &a_objectToCreate](RE::TESForm& a_exform) { + const auto ref = a_exform.As(); + + if (ref && ref->GetParentCell() == cell && ref->GetBaseObject()->formID == a_objectToCreate->formID) { + result = ref; + return false; + } + + return true; + }); + + if (!result && a_autoCreate) { + result = a_ref->PlaceObjectAtMe(a_objectToCreate, true).get(); + result->Disable(); + a_refList->AddForm(result); + } + + return result; + } + + inline bool HasRefInCell(VM* a_vm, StackID a_stackID, RE::StaticFunctionTag*, + RE::TESBoundObject* a_item, + RE::TESObjectCELL* a_cell = NULL, + bool a_checkInContainers = true, + RE::BGSListForm* a_excludeList = NULL) + { + bool bResult = false; + + if (!a_cell) { + a_cell = RE::PlayerCharacter::GetSingleton()->GetParentCell(); + } + + a_cell->ForEachReference([&](RE::TESObjectREFR& a_ref) { + const auto baseObj = a_ref.GetBaseObject(); + + if (a_item->formID == baseObj->formID) { + if (a_ref.IsDisabled() || a_ref.IsMarkedForDeletion()) { + return true; + } + if (a_excludeList && a_excludeList->HasForm(a_ref.formID)) { + return true; + } + bResult = true; + return false; + } else if (a_checkInContainers) { + if (baseObj->formType == RE::FormType::Container || (baseObj->formType == RE::FormType::NPC && !a_ref.IsDisabled() && baseObj->As()->GetRace()->formID == 0x0010760A)) { + if (a_excludeList && a_excludeList->HasForm(a_ref.formID)) { + return true; + } + const auto inv = a_ref.GetInventory([&](RE::TESBoundObject& a_object) -> bool { + return a_item->formID == a_object.formID; + }); + const auto it = inv.find(a_item); + if (it != inv.end() ? it->second.first : 0) { + bResult = true; + return false; + } + } + } + + return true; + }); + + return bResult; + } + + inline void SyncCellStorage(VM* a_vm, StackID a_stackID, RE::StaticFunctionTag*, + RE::TESObjectREFR* a_cellStorage, + RE::TESForm* a_excludeForm = NULL) + { + if (!a_cellStorage) { + return; + } + + std::unordered_map cellItems; + + const auto storageBase = a_cellStorage->GetBaseObject(); + const auto cell = a_cellStorage->GetParentCell(); + const auto inv = a_cellStorage->GetInventory(); + + for (const auto a_ref : cell->references) { + const auto baseObj = a_ref->GetBaseObject(); + + if (baseObj->formType == RE::FormType::Container || (baseObj->formType == RE::FormType::NPC && !a_ref->IsDisabled() && baseObj->As()->GetRace()->formID == 0x0010760A)) { + if (a_ref->GetBaseObject()->formID == storageBase->formID) { + continue; + } + + const auto contInv = a_ref->GetInventory(); + + for (const auto& [item, data] : contInv) { + if (cellItems.contains(item->formID)) { + continue; + } + const auto& [count, entry] = data; + if (count > 0) { + cellItems[item->formID] = true; + if (inv.find(item) == inv.end()) { + if (is_artifact(item, a_excludeForm)) { + a_cellStorage->AddObjectToContainer(item, nullptr, 1, nullptr); + } + } + } + } + + continue; + } + + if (a_ref->IsDisabled() || a_ref->IsMarkedForDeletion()) { + continue; + } + + if (cellItems.contains(baseObj->formID)) { + continue; + } + + if (!is_artifact(baseObj, a_excludeForm)) { + continue; + } + + cellItems[baseObj->formID] = true; + + if (inv.find(baseObj) == inv.end()) { + a_cellStorage->AddObjectToContainer(baseObj, nullptr, 1, nullptr); + } + } + + for (const auto& [item, data] : inv) { + const auto& [count, entry] = data; + if (count > 0 && !cellItems.contains(item->formID)) { + a_cellStorage->RemoveItem(item, count, RE::ITEM_REMOVE_REASON::kRemove, nullptr, nullptr); + } + } + + cellItems.clear(); + } + + inline void Bind(VM& a_vm) + { + BIND(GetCellStorage); + logger::info("Registered GetCellStorage"sv); + BIND(HasRefInCell); + logger::info("Registered HasRefInCell"sv); + BIND(SyncCellStorage); + logger::info("Registered SyncCellStorage"sv); + } +} diff --git a/Source/DLL/src/Functions/ObjectReference.h b/Source/DLL/src/Functions/ObjectReference.h new file mode 100644 index 0000000..5958db9 --- /dev/null +++ b/Source/DLL/src/Functions/ObjectReference.h @@ -0,0 +1,270 @@ +#pragma once + +namespace Papyrus::ObjectReference +{ + namespace inv_util + { + inline bool can_be_taken(const std::unique_ptr& a_entry, bool a_noEquipped, bool a_noFavourited, bool a_noQuestItem) + { + if (a_noEquipped && a_entry->IsWorn()) { + return false; + } + if (a_noFavourited && a_entry->IsFavorited()) { + return false; + } + if (a_noQuestItem && a_entry->IsQuestObject()) { + return false; + } + if (a_entry->object->formID == 0x000001F4) { // Unarmed + return false; + } + return true; + } + + inline bool is_excluded(RE::TESForm* a_form, RE::TESForm* a_excludeForm = NULL) + { + if (!a_excludeForm) { + return false; + } + + const RE::BGSListForm* list = a_excludeForm->As(); + + if (list) { + if (list->HasForm(a_form)) { + return true; + } else { + bool isExcluded = false; + + list->ForEachForm([&](RE::TESForm& a_exform) { + const auto exlist = a_exform.As(); + if (exlist) { + if (exlist->forms.size() > 0) { + if (exlist->forms[0]->Is(RE::FormType::Keyword) ? a_form->HasKeywordInList(exlist, false) : exlist->HasForm(a_form)) { + isExcluded = true; + return false; + } + } + } else { + const auto exkeyword = a_exform.As(); + if (exkeyword && a_form->As()->HasKeyword(exkeyword)) { + isExcluded = true; + return false; + } + } + return true; + }); + + return isExcluded; + } + } + + const RE::BGSKeyword* keyword = a_excludeForm->As(); + + if (keyword) { + if (a_form->As()->HasKeyword(keyword)) { + return true; + } + } + + return false; + } + + inline RE::ITEM_REMOVE_REASON get_remove_reason(RE::TESObjectREFR* atargetRef) + { + RE::ITEM_REMOVE_REASON iReason = RE::ITEM_REMOVE_REASON::kStoreInContainer; + + if (atargetRef->As() && atargetRef->As()->IsPlayerTeammate()) { + iReason = RE::ITEM_REMOVE_REASON::kStoreInTeammate; + } + + return iReason; + } + } + + inline std::int32_t AddAllFormsToList(RE::StaticFunctionTag*, + RE::BGSListForm* a_targetList, + std::int32_t a_formType, + RE::TESForm* a_keywordOrList = NULL, + RE::TESForm* a_excludeForm = NULL, + bool a_onlyPlayable = true) + { + const auto formType = static_cast(a_formType); + + const auto keyword = a_keywordOrList ? a_keywordOrList->As() : nullptr; + const auto keywordList = a_keywordOrList ? a_keywordOrList->As() : nullptr; + + const auto dataHandler = RE::TESDataHandler::GetSingleton(); + + if (!dataHandler) { + return a_targetList->forms.size(); + } + + for (const auto& form : dataHandler->GetFormArray(formType)) { + if (!form) { + continue; + } + if (a_onlyPlayable && !form->GetPlayable()) { + continue; + } + if ((keyword && !form->As()->HasKeyword(keyword)) || (keywordList && !form->HasKeywordInList(keywordList, false))) { + continue; + } + if (a_excludeForm && inv_util::is_excluded(form, a_excludeForm)) { + continue; + } + a_targetList->AddForm(form); + } + + return a_targetList->forms.size(); + } + + inline std::int32_t AddItemsOfTypeAndKeywordToList(VM* a_vm, StackID a_stackID, RE::StaticFunctionTag*, + RE::TESForm* a_refOrList, + RE::BGSListForm* a_targetList, + std::uint32_t a_formType = 0, + RE::TESForm* a_keywordOrList = NULL, + RE::TESForm* a_excludeForm = NULL, + bool a_noEquipped = TRUE, + bool a_noFavourited = TRUE, + bool a_noQuestItem = TRUE) + { + if (!a_refOrList) { + a_vm->TraceStack("a_refOrList in AddItemsOfTypeAndKeywordToList is None", a_stackID); + return 0; + } + if (!a_targetList) { + a_vm->TraceStack("a_targetList in AddItemsOfTypeAndKeywordToList is None", a_stackID); + return 0; + } + + if (a_refOrList->Is(RE::FormType::FormList)) { + a_refOrList->As()->ForEachForm([&](RE::TESForm& a_exform) { + const auto refrItem = a_exform.As(); + if (refrItem) { + AddItemsOfTypeAndKeywordToList(a_vm, a_stackID, {}, refrItem, a_targetList, a_formType, a_keywordOrList, a_excludeForm, a_noEquipped, a_noFavourited, a_noQuestItem); + } + return true; + }); + return a_targetList->forms.size(); + } + + const auto containerRef = a_refOrList->As(); + + if (!containerRef) { + a_vm->TraceStack("containerRef in AddItemsOfTypeAndKeywordToList is not a reference", a_stackID); + return 0; + } + + const auto formType = static_cast(a_formType); + const bool bNoType = formType == RE::FormType::None; + + const auto keyword = a_keywordOrList ? a_keywordOrList->As() : nullptr; + const auto keywordList = a_keywordOrList ? a_keywordOrList->As() : nullptr; + + auto inv = containerRef->GetInventory([&](RE::TESBoundObject& a_exform) { + return (bNoType || a_exform.formType == formType) + && ( + (!keyword && !keywordList) + || (keyword && a_exform.As()->HasKeyword(keyword)) + || (keywordList && a_exform.HasKeywordInList(keywordList, false))) + && (!a_excludeForm || !inv_util::is_excluded(&a_exform, a_excludeForm)) + && a_exform.GetPlayable() && a_exform.formID != 0x000001F4; + }); + + if (containerRef->IsPlayerRef()) { + for (const auto& [item, data] : inv) { + const auto& [count, entry] = data; + if (count > 0 && inv_util::can_be_taken(entry, a_noEquipped, a_noFavourited, a_noQuestItem)) { + a_targetList->AddForm(item); + } + } + } else { + for (const auto& [item, data] : inv) { + const auto& [count, entry] = data; + if (count > 0) { + a_targetList->AddForm(item); + } + } + } + + return a_targetList->forms.size(); + } + + inline std::uint32_t GetItemCountInList(RE::StaticFunctionTag*, + RE::BGSListForm* a_containerList, + RE::TESBoundObject* a_form) + { + if (!a_containerList || !a_form) { + return 0; + } + + std::uint32_t iResult = 0; + + a_containerList->ForEachForm([&](RE::TESForm& a_container) { + const auto refrItem = a_container.As(); + if (refrItem) { + const auto inv = refrItem->GetInventory([&](RE::TESBoundObject& a_object) -> bool { + return a_form->formID == a_object.formID; + }); + const auto it = inv.find(a_form); + iResult += it != inv.end() ? it->second.first : 0; + } + return true; + }); + + return iResult; + } + + inline std::uint32_t GetItemCountInActors(RE::StaticFunctionTag*, + std::vector a_refArray, // accepts ObjectReference[] and Actor[] + RE::TESBoundObject* a_form) + { + if (a_refArray.size() <= 0 || !a_form) { + return 0; + } + + std::uint32_t iResult = 0; + + for (RE::Actor* actorItem : a_refArray) { + if (actorItem) { + const auto inv = actorItem->GetInventory([&](RE::TESBoundObject& a_object) -> bool { + return a_form->formID == a_object.formID; + }); + const auto it = inv.find(a_form); + iResult += it != inv.end() ? it->second.first : 0; + } + } + + return iResult; + } + + // From po3's Papyrus Extender + inline std::vector GetPlayerFollowers(RE::StaticFunctionTag*) + { + std::vector result; + + if (const auto processLists = RE::ProcessLists::GetSingleton(); processLists) { + for (auto& actorHandle : processLists->highActorHandles) { + if (auto actor = actorHandle.get(); actor && actor->IsPlayerTeammate()) { + result.push_back(actor.get()); + } + } + } + + return result; + } + + inline void Bind(VM& a_vm) + { + BIND(AddAllFormsToList); + logger::info("Registered AddAllFormsToList"sv); + BIND(AddItemsOfTypeAndKeywordToList); + logger::info("Registered AddItemsOfTypeAndKeywordToList"sv); + BIND(GetItemCountInList); + logger::info("Registered GetItemCountInList"sv); + BIND(GetItemCountInActors); + logger::info("Registered GetItemCountInActors"sv); + BIND(GetPlayerFollowers); + logger::info("Registered GetPlayerFollowers"sv); + } +} diff --git a/Source/DLL/src/Main.cpp b/Source/DLL/src/Main.cpp new file mode 100644 index 0000000..2abc0f6 --- /dev/null +++ b/Source/DLL/src/Main.cpp @@ -0,0 +1,40 @@ +#include "Papyrus.h" + +using namespace RE::BSScript; +using namespace SKSE; +using namespace SKSE::log; +using namespace SKSE::stl; + +namespace { + void InitializeLogging() { + auto path = logger::log_directory(); + if (!path) { + stl::report_and_fail("Failed to find standard logging directory"sv); + } + + *path /= "ArtifactTrackerFunctions.log"sv; + auto sink = std::make_shared(path->string(), true); + + auto log = std::make_shared("global log"s, std::move(sink)); + + log->set_level(spdlog::level::info); + log->flush_on(spdlog::level::info); + + spdlog::set_default_logger(std::move(log)); + spdlog::set_pattern("[%l] %v"s); + } +} + +SKSEPluginLoad(const LoadInterface* skse) { + InitializeLogging(); + + auto* plugin = PluginDeclaration::GetSingleton(); + auto version = plugin->GetVersion(); + log::info("{} {} is loading...", plugin->GetName(), version); + + Init(skse); + SKSE::GetPapyrusInterface()->Register(Papyrus::Bind); + + log::info("{} has finished loading.", plugin->GetName()); + return true; +} diff --git a/Source/DLL/src/PCH.h b/Source/DLL/src/PCH.h new file mode 100644 index 0000000..165cd7e --- /dev/null +++ b/Source/DLL/src/PCH.h @@ -0,0 +1,120 @@ +#pragma once + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include +#include +#undef cdecl // Workaround for Clang 14 CMake configure error. + +#include +#include + +// Compatible declarations with other sample projects. +#define DLLEXPORT __declspec(dllexport) + +using namespace std::literals; +using namespace REL::literals; + +namespace logger = SKSE::log; + +namespace util { + using SKSE::stl::report_and_fail; +} diff --git a/Source/DLL/src/Papyrus.cpp b/Source/DLL/src/Papyrus.cpp new file mode 100644 index 0000000..b43d919 --- /dev/null +++ b/Source/DLL/src/Papyrus.cpp @@ -0,0 +1,22 @@ +#include "Papyrus.h" + +#include "Functions/ObjectReference.h" +#include "Functions/ArtifactTracker.h" + +namespace Papyrus +{ + bool Bind(VM* a_vm) + { + if (!a_vm) { + logger::critical("couldn't get VM State"sv); + return false; + } + + logger::info("{:*^30}", "FUNCTIONS"sv); + + ObjectReference::Bind(*a_vm); + ArtifactTracker::Bind(*a_vm); + + return true; + } +} diff --git a/Source/DLL/src/Papyrus.h b/Source/DLL/src/Papyrus.h new file mode 100644 index 0000000..3a4e060 --- /dev/null +++ b/Source/DLL/src/Papyrus.h @@ -0,0 +1,15 @@ +#pragma once + +#define BIND(a_method, ...) a_vm.RegisterFunction(#a_method##sv, script, a_method __VA_OPT__(, ) __VA_ARGS__) + +#include + +namespace Papyrus { + using VM = RE::BSScript::Internal::VirtualMachine; + using StackID = RE::VMStackID; + using Severity = RE::BSScript::ErrorLogger::Severity; + + inline constexpr auto script = "EddsArtifactTracker"sv; + + bool Bind(VM* a_vm); +} diff --git a/Source/DLL/vcpkg-configuration.json b/Source/DLL/vcpkg-configuration.json new file mode 100644 index 0000000..337bdfa --- /dev/null +++ b/Source/DLL/vcpkg-configuration.json @@ -0,0 +1,15 @@ +{ + "registries": [ + { + "kind": "git", + "repository": "https://gitlab.com/colorglass/vcpkg-colorglass", + "baseline": "5a11d06fd1b2d7cd6339d6aea48d450309e89cc1", + "packages": [ + "commonlibsse-ng", + "gluino", + "script-extender-common", + "skse" + ] + } + ] +} diff --git a/Source/DLL/vcpkg.json b/Source/DLL/vcpkg.json new file mode 100644 index 0000000..2a63dce --- /dev/null +++ b/Source/DLL/vcpkg.json @@ -0,0 +1,20 @@ +{ + "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg/master/scripts/vcpkg.schema.json", + "name": "artifact-tracker", + "version-string": "1.0.0", + "port-version": 0, + "description": "Artifact Tracker functions", + "homepage": "https://eddoursul.win", + "license": "MIT", + "features": { + "plugin": { + "description": "Build the SKSE plugin.", + "dependencies": [ + "commonlibsse-ng" + ] + } + }, + "default-features": [ + "plugin" + ] +} diff --git a/Source/Scripts/ETR_CellStorageScript.psc b/Source/Scripts/ETR_CellStorageScript.psc deleted file mode 100644 index cf850a0..0000000 --- a/Source/Scripts/ETR_CellStorageScript.psc +++ /dev/null @@ -1 +0,0 @@ -Scriptname ETR_CellStorageScript extends ObjectReference diff --git a/Source/Scripts/ETR_Functions.psc b/Source/Scripts/ETR_Functions.psc new file mode 100644 index 0000000..3e4faa3 --- /dev/null +++ b/Source/Scripts/ETR_Functions.psc @@ -0,0 +1,25 @@ +Scriptname ETR_Functions Hidden + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; ObjectReference functions +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +int function AddAllFormsToList(FormList targetList, int formType, Form keywordOrList = None, Form excludeForm = None, bool onlyPlayable = true) native global + +int function AddItemsOfTypeAndKeywordToList(Form refOrList, FormList targetList, int formType = 0, Form keywordOrList = None, Form excludeForm = None, bool noEquipped = true, bool noFavourited = true, bool noQuestItem = true) native global + +int function GetItemCountInList(FormList refList, Form baseForm) native global + +int function GetItemCountInActors(Actor[] refArray, Form baseForm) native global + +Actor[] function GetPlayerFollowers() native global + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Artifact Tracker +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +ObjectReference function GetCellStorage(ObjectReference ref, FormList refList, Form refToCreate, bool autoCreate = true) native global + +bool function HasRefInCell(Form item, Cell currentCell = None, bool checkContainers = true, FormList excludeList = None) native global + +function SyncCellStorage(ObjectReference cellStorage, Form excludeForm = None) native global diff --git a/Source/Scripts/ETR_TrackFoundItems.psc b/Source/Scripts/ETR_TrackFoundItems.psc index 3c338d5..273f2f3 100644 --- a/Source/Scripts/ETR_TrackFoundItems.psc +++ b/Source/Scripts/ETR_TrackFoundItems.psc @@ -35,7 +35,7 @@ Event OnLocationChange(Location akOldLoc, Location akNewLoc) bAtHome = akNewLoc && akNewLoc.HasKeyword(LocTypePlayerHouse) int iCurrentFollowers = 0; - Actor[] aFollowers = Eddoursul_Functions.GetPlayerFollowers() + Actor[] aFollowers = ETR_Functions.GetPlayerFollowers() int i = aFollowers.length while i > 0 i -= 1 @@ -69,36 +69,36 @@ Event OnUpdate() if bSyncStorage bSyncStorage = false - ObjectReference cellStorage = Eddoursul_Functions.GetCellStorage(PlayerRef, ETR_PersistentStorageList, ETR_CellStorageContainer) - Eddoursul_Functions.SyncCellStorage(cellStorage, ETR_ExcludeFromCellItems) + ObjectReference cellStorage = ETR_Functions.GetCellStorage(PlayerRef, ETR_PersistentStorageList, ETR_CellStorageContainer) + ETR_Functions.SyncCellStorage(cellStorage, ETR_ExcludeFromCellItems) endif - Eddoursul_Functions.AddItemsOfTypeAndKeywordToList(ETR_PersistentStorageList, ETR_ItemsStored, 26, None, ETR_ExcludeFromCellItems) - Eddoursul_Functions.AddItemsOfTypeAndKeywordToList(ETR_PersistentStorageList, ETR_ItemsStored, 41, None, ETR_ExcludeFromCellItems) - Eddoursul_Functions.AddItemsOfTypeAndKeywordToList(ETR_PersistentStorageList, ETR_ItemsStored, 27, None, ETR_ExcludeFromCellItems) - Eddoursul_Functions.AddItemsOfTypeAndKeywordToList(ETR_PersistentStorageList, ETR_ItemsStored, 32, None, ETR_ExcludeFromCellItems) + ETR_Functions.AddItemsOfTypeAndKeywordToList(ETR_PersistentStorageList, ETR_ItemsStored, 26, None, ETR_ExcludeFromCellItems) + ETR_Functions.AddItemsOfTypeAndKeywordToList(ETR_PersistentStorageList, ETR_ItemsStored, 41, None, ETR_ExcludeFromCellItems) + ETR_Functions.AddItemsOfTypeAndKeywordToList(ETR_PersistentStorageList, ETR_ItemsStored, 27, None, ETR_ExcludeFromCellItems) + ETR_Functions.AddItemsOfTypeAndKeywordToList(ETR_PersistentStorageList, ETR_ItemsStored, 32, None, ETR_ExcludeFromCellItems) ETR_ItemsFound.Revert() - Eddoursul_Functions.AddItemsOfTypeAndKeywordToList(PlayerRef, ETR_ItemsFound, 26, None, ETR_ExcludeFromNew, false, false, false) - Eddoursul_Functions.AddItemsOfTypeAndKeywordToList(PlayerRef, ETR_ItemsFound, 41, None, ETR_ExcludeFromNew, false, false, false) - Eddoursul_Functions.AddItemsOfTypeAndKeywordToList(PlayerRef, ETR_ItemsFound, 27, None, ETR_ExcludeFromNew, false, false, false) - Eddoursul_Functions.AddItemsOfTypeAndKeywordToList(PlayerRef, ETR_ItemsFound, 32, None, ETR_ExcludeFromNew, false, false, false) + ETR_Functions.AddItemsOfTypeAndKeywordToList(PlayerRef, ETR_ItemsFound, 26, None, ETR_ExcludeFromNew, false, false, false) + ETR_Functions.AddItemsOfTypeAndKeywordToList(PlayerRef, ETR_ItemsFound, 41, None, ETR_ExcludeFromNew, false, false, false) + ETR_Functions.AddItemsOfTypeAndKeywordToList(PlayerRef, ETR_ItemsFound, 27, None, ETR_ExcludeFromNew, false, false, false) + ETR_Functions.AddItemsOfTypeAndKeywordToList(PlayerRef, ETR_ItemsFound, 32, None, ETR_ExcludeFromNew, false, false, false) - aFollowers = Eddoursul_Functions.GetPlayerFollowers() + aFollowers = ETR_Functions.GetPlayerFollowers() i = aFollowers.length while i > 0 i -= 1 - Eddoursul_Functions.AddItemsOfTypeAndKeywordToList(aFollowers[i], ETR_ItemsFound, 26, None, ETR_ExcludeFromNew, false, false, false) - Eddoursul_Functions.AddItemsOfTypeAndKeywordToList(aFollowers[i], ETR_ItemsFound, 41, None, ETR_ExcludeFromNew, false, false, false) - Eddoursul_Functions.AddItemsOfTypeAndKeywordToList(aFollowers[i], ETR_ItemsFound, 27, None, ETR_ExcludeFromNew, false, false, false) - Eddoursul_Functions.AddItemsOfTypeAndKeywordToList(aFollowers[i], ETR_ItemsFound, 32, None, ETR_ExcludeFromNew, false, false, false) + ETR_Functions.AddItemsOfTypeAndKeywordToList(aFollowers[i], ETR_ItemsFound, 26, None, ETR_ExcludeFromNew, false, false, false) + ETR_Functions.AddItemsOfTypeAndKeywordToList(aFollowers[i], ETR_ItemsFound, 41, None, ETR_ExcludeFromNew, false, false, false) + ETR_Functions.AddItemsOfTypeAndKeywordToList(aFollowers[i], ETR_ItemsFound, 27, None, ETR_ExcludeFromNew, false, false, false) + ETR_Functions.AddItemsOfTypeAndKeywordToList(aFollowers[i], ETR_ItemsFound, 32, None, ETR_ExcludeFromNew, false, false, false) endwhile ETR_ItemsNew.Revert() - Eddoursul_Functions.AddAllFormsToList(ETR_ItemsNew, 26, None, ETR_ExcludeFromNew) ; armor - Eddoursul_Functions.AddAllFormsToList(ETR_ItemsNew, 41, None, ETR_ExcludeFromNew) ; weapons - Eddoursul_Functions.AddAllFormsToList(ETR_ItemsNew, 27, None, ETR_ExcludeFromNew) ; books - Eddoursul_Functions.AddAllFormsToList(ETR_ItemsNew, 32, None, ETR_ExcludeFromNew) ; misc items + ETR_Functions.AddAllFormsToList(ETR_ItemsNew, 26, None, ETR_ExcludeFromNew) ; armor + ETR_Functions.AddAllFormsToList(ETR_ItemsNew, 41, None, ETR_ExcludeFromNew) ; weapons + ETR_Functions.AddAllFormsToList(ETR_ItemsNew, 27, None, ETR_ExcludeFromNew) ; books + ETR_Functions.AddAllFormsToList(ETR_ItemsNew, 32, None, ETR_ExcludeFromNew) ; misc items return @@ -110,26 +110,26 @@ Event OnUpdate() Debug.Notification("Team changed, updating lists") ETR_ItemsFound.Revert() - Eddoursul_Functions.AddItemsOfTypeAndKeywordToList(PlayerRef, ETR_ItemsFound, 26, None, ETR_ExcludeFromNew, false, false, false) - Eddoursul_Functions.AddItemsOfTypeAndKeywordToList(PlayerRef, ETR_ItemsFound, 41, None, ETR_ExcludeFromNew, false, false, false) - Eddoursul_Functions.AddItemsOfTypeAndKeywordToList(PlayerRef, ETR_ItemsFound, 27, None, ETR_ExcludeFromNew, false, false, false) - Eddoursul_Functions.AddItemsOfTypeAndKeywordToList(PlayerRef, ETR_ItemsFound, 32, None, ETR_ExcludeFromNew, false, false, false) + ETR_Functions.AddItemsOfTypeAndKeywordToList(PlayerRef, ETR_ItemsFound, 26, None, ETR_ExcludeFromNew, false, false, false) + ETR_Functions.AddItemsOfTypeAndKeywordToList(PlayerRef, ETR_ItemsFound, 41, None, ETR_ExcludeFromNew, false, false, false) + ETR_Functions.AddItemsOfTypeAndKeywordToList(PlayerRef, ETR_ItemsFound, 27, None, ETR_ExcludeFromNew, false, false, false) + ETR_Functions.AddItemsOfTypeAndKeywordToList(PlayerRef, ETR_ItemsFound, 32, None, ETR_ExcludeFromNew, false, false, false) - aFollowers = Eddoursul_Functions.GetPlayerFollowers() + aFollowers = ETR_Functions.GetPlayerFollowers() i = aFollowers.length while i > 0 i -= 1 - Eddoursul_Functions.AddItemsOfTypeAndKeywordToList(aFollowers[i], ETR_ItemsFound, 26, None, ETR_ExcludeFromNew, false, false, false) - Eddoursul_Functions.AddItemsOfTypeAndKeywordToList(aFollowers[i], ETR_ItemsFound, 41, None, ETR_ExcludeFromNew, false, false, false) - Eddoursul_Functions.AddItemsOfTypeAndKeywordToList(aFollowers[i], ETR_ItemsFound, 27, None, ETR_ExcludeFromNew, false, false, false) - Eddoursul_Functions.AddItemsOfTypeAndKeywordToList(aFollowers[i], ETR_ItemsFound, 32, None, ETR_ExcludeFromNew, false, false, false) + ETR_Functions.AddItemsOfTypeAndKeywordToList(aFollowers[i], ETR_ItemsFound, 26, None, ETR_ExcludeFromNew, false, false, false) + ETR_Functions.AddItemsOfTypeAndKeywordToList(aFollowers[i], ETR_ItemsFound, 41, None, ETR_ExcludeFromNew, false, false, false) + ETR_Functions.AddItemsOfTypeAndKeywordToList(aFollowers[i], ETR_ItemsFound, 27, None, ETR_ExcludeFromNew, false, false, false) + ETR_Functions.AddItemsOfTypeAndKeywordToList(aFollowers[i], ETR_ItemsFound, 32, None, ETR_ExcludeFromNew, false, false, false) endwhile ETR_ItemsNew.Revert() - Eddoursul_Functions.AddAllFormsToList(ETR_ItemsNew, 26, None, ETR_ExcludeFromNew) ; armor - Eddoursul_Functions.AddAllFormsToList(ETR_ItemsNew, 41, None, ETR_ExcludeFromNew) ; weapons - Eddoursul_Functions.AddAllFormsToList(ETR_ItemsNew, 27, None, ETR_ExcludeFromNew) ; books - Eddoursul_Functions.AddAllFormsToList(ETR_ItemsNew, 32, None, ETR_ExcludeFromNew) ; misc items + ETR_Functions.AddAllFormsToList(ETR_ItemsNew, 26, None, ETR_ExcludeFromNew) ; armor + ETR_Functions.AddAllFormsToList(ETR_ItemsNew, 41, None, ETR_ExcludeFromNew) ; weapons + ETR_Functions.AddAllFormsToList(ETR_ItemsNew, 27, None, ETR_ExcludeFromNew) ; books + ETR_Functions.AddAllFormsToList(ETR_ItemsNew, 32, None, ETR_ExcludeFromNew) ; misc items endif @@ -145,8 +145,8 @@ event OnItemRemoved(Form akBaseItem, int aiItemCount, ObjectReference akItemRefe elseif bAtHome && akItemReference ETR_ItemsFound.RemoveAddedForm(akBaseItem) ETR_ItemsStored.AddForm(akBaseItem) - Eddoursul_Functions.GetCellStorage(PlayerRef, ETR_PersistentStorageList, ETR_CellStorageContainer).AddItem(akBaseItem, 1, true) - elseif PlayerRef.GetItemCount(akBaseItem) == 0 && Eddoursul_Functions.GetItemCountInActors(Eddoursul_Functions.GetPlayerFollowers(), akBaseItem) == 0 + ETR_Functions.GetCellStorage(PlayerRef, ETR_PersistentStorageList, ETR_CellStorageContainer).AddItem(akBaseItem, 1, true) + elseif PlayerRef.GetItemCount(akBaseItem) == 0 && ETR_Functions.GetItemCountInActors(ETR_Functions.GetPlayerFollowers(), akBaseItem) == 0 ETR_ItemsFound.RemoveAddedForm(akBaseItem) ETR_ItemsNew.AddForm(akBaseItem) endif diff --git a/Source/Scripts/ETR_TrackNewItems.psc b/Source/Scripts/ETR_TrackNewItems.psc index 2ce602e..3e4a6a8 100644 --- a/Source/Scripts/ETR_TrackNewItems.psc +++ b/Source/Scripts/ETR_TrackNewItems.psc @@ -39,34 +39,34 @@ event OnPlayerLoadGame() ; Rebuild all lists to avoid discrepancies, stale data, and broken records ETR_ItemsStored.Revert() - Eddoursul_Functions.AddItemsOfTypeAndKeywordToList(ETR_PersistentStorageList, ETR_ItemsStored, 26, None, ETR_ExcludeFromNew) - Eddoursul_Functions.AddItemsOfTypeAndKeywordToList(ETR_PersistentStorageList, ETR_ItemsStored, 41, None, ETR_ExcludeFromNew) - Eddoursul_Functions.AddItemsOfTypeAndKeywordToList(ETR_PersistentStorageList, ETR_ItemsStored, 27, None, ETR_ExcludeFromNew) - Eddoursul_Functions.AddItemsOfTypeAndKeywordToList(ETR_PersistentStorageList, ETR_ItemsStored, 32, None, ETR_ExcludeFromNew) + ETR_Functions.AddItemsOfTypeAndKeywordToList(ETR_PersistentStorageList, ETR_ItemsStored, 26, None, ETR_ExcludeFromNew) + ETR_Functions.AddItemsOfTypeAndKeywordToList(ETR_PersistentStorageList, ETR_ItemsStored, 41, None, ETR_ExcludeFromNew) + ETR_Functions.AddItemsOfTypeAndKeywordToList(ETR_PersistentStorageList, ETR_ItemsStored, 27, None, ETR_ExcludeFromNew) + ETR_Functions.AddItemsOfTypeAndKeywordToList(ETR_PersistentStorageList, ETR_ItemsStored, 32, None, ETR_ExcludeFromNew) ETR_ItemsFound.Revert() - Eddoursul_Functions.AddItemsOfTypeAndKeywordToList(PlayerRef, ETR_ItemsFound, 26, None, ETR_ExcludeFromNew, false, false, false) - Eddoursul_Functions.AddItemsOfTypeAndKeywordToList(PlayerRef, ETR_ItemsFound, 41, None, ETR_ExcludeFromNew, false, false, false) - Eddoursul_Functions.AddItemsOfTypeAndKeywordToList(PlayerRef, ETR_ItemsFound, 27, None, ETR_ExcludeFromNew, false, false, false) - Eddoursul_Functions.AddItemsOfTypeAndKeywordToList(PlayerRef, ETR_ItemsFound, 32, None, ETR_ExcludeFromNew, false, false, false) + ETR_Functions.AddItemsOfTypeAndKeywordToList(PlayerRef, ETR_ItemsFound, 26, None, ETR_ExcludeFromNew, false, false, false) + ETR_Functions.AddItemsOfTypeAndKeywordToList(PlayerRef, ETR_ItemsFound, 41, None, ETR_ExcludeFromNew, false, false, false) + ETR_Functions.AddItemsOfTypeAndKeywordToList(PlayerRef, ETR_ItemsFound, 27, None, ETR_ExcludeFromNew, false, false, false) + ETR_Functions.AddItemsOfTypeAndKeywordToList(PlayerRef, ETR_ItemsFound, 32, None, ETR_ExcludeFromNew, false, false, false) - Actor[] aFollowers = Eddoursul_Functions.GetPlayerFollowers() + Actor[] aFollowers = ETR_Functions.GetPlayerFollowers() int i = aFollowers.length while i > 0 i -= 1 if ! aFollowers[i].IsDead() && ! aFollowers[i].IsDisabled() - Eddoursul_Functions.AddItemsOfTypeAndKeywordToList(aFollowers[i], ETR_ItemsFound, 26, None, ETR_ExcludeFromNew, false, false, false) - Eddoursul_Functions.AddItemsOfTypeAndKeywordToList(aFollowers[i], ETR_ItemsFound, 41, None, ETR_ExcludeFromNew, false, false, false) - Eddoursul_Functions.AddItemsOfTypeAndKeywordToList(aFollowers[i], ETR_ItemsFound, 27, None, ETR_ExcludeFromNew, false, false, false) - Eddoursul_Functions.AddItemsOfTypeAndKeywordToList(aFollowers[i], ETR_ItemsFound, 32, None, ETR_ExcludeFromNew, false, false, false) + ETR_Functions.AddItemsOfTypeAndKeywordToList(aFollowers[i], ETR_ItemsFound, 26, None, ETR_ExcludeFromNew, false, false, false) + ETR_Functions.AddItemsOfTypeAndKeywordToList(aFollowers[i], ETR_ItemsFound, 41, None, ETR_ExcludeFromNew, false, false, false) + ETR_Functions.AddItemsOfTypeAndKeywordToList(aFollowers[i], ETR_ItemsFound, 27, None, ETR_ExcludeFromNew, false, false, false) + ETR_Functions.AddItemsOfTypeAndKeywordToList(aFollowers[i], ETR_ItemsFound, 32, None, ETR_ExcludeFromNew, false, false, false) endif endwhile ETR_ItemsNew.Revert() - Eddoursul_Functions.AddAllFormsToList(ETR_ItemsNew, 26, None, ETR_ExcludeFromNew) ; armor - Eddoursul_Functions.AddAllFormsToList(ETR_ItemsNew, 41, None, ETR_ExcludeFromNew) ; weapons - Eddoursul_Functions.AddAllFormsToList(ETR_ItemsNew, 27, None, ETR_ExcludeFromNew) ; books - Eddoursul_Functions.AddAllFormsToList(ETR_ItemsNew, 32, None, ETR_ExcludeFromNew) ; misc items + ETR_Functions.AddAllFormsToList(ETR_ItemsNew, 26, None, ETR_ExcludeFromNew) ; armor + ETR_Functions.AddAllFormsToList(ETR_ItemsNew, 41, None, ETR_ExcludeFromNew) ; weapons + ETR_Functions.AddAllFormsToList(ETR_ItemsNew, 27, None, ETR_ExcludeFromNew) ; books + ETR_Functions.AddAllFormsToList(ETR_ItemsNew, 32, None, ETR_ExcludeFromNew) ; misc items endevent diff --git a/Source/Scripts/ETR_TrackStoredItems.psc b/Source/Scripts/ETR_TrackStoredItems.psc index 6ce1851..cc0f79c 100644 --- a/Source/Scripts/ETR_TrackStoredItems.psc +++ b/Source/Scripts/ETR_TrackStoredItems.psc @@ -48,9 +48,9 @@ event OnItemRemoved(Form akBaseItem, int aiItemCount, ObjectReference akItemRefe endif - if ((akDestContainer && akDestContainer.GetParentCell() == PlayerRef.GetParentCell()) || (! akDestContainer && Eddoursul_Functions.HasRefInCell(akBaseItem, None, true, ETR_PersistentStorageList))) + if ((akDestContainer && akDestContainer.GetParentCell() == PlayerRef.GetParentCell()) || (! akDestContainer && ETR_Functions.HasRefInCell(akBaseItem, None, true, ETR_PersistentStorageList))) - ObjectReference cellStorage = Eddoursul_Functions.GetCellStorage(PlayerRef, ETR_PersistentStorageList, ETR_CellStorageContainer) + ObjectReference cellStorage = ETR_Functions.GetCellStorage(PlayerRef, ETR_PersistentStorageList, ETR_CellStorageContainer) if cellStorage.GetItemCount(akBaseItem) == 0 cellStorage.AddItem(akBaseItem, 1, true) @@ -65,19 +65,19 @@ endevent event OnItemAdded(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akSourceContainer) if akSourceContainer && !(akSourceContainer as Actor) && ETR_PersistentStorageList.HasForm(akSourceContainer) - if Eddoursul_Functions.GetItemCountInList(ETR_PersistentStorageList, akBaseItem) == 0 + if ETR_Functions.GetItemCountInList(ETR_PersistentStorageList, akBaseItem) == 0 ETR_ItemsStored.RemoveAddedForm(akBaseItem) ETR_ItemsFound.AddForm(akBaseItem) endif elseif bAtHome - ObjectReference cellStorage = Eddoursul_Functions.GetCellStorage(PlayerRef, ETR_PersistentStorageList, ETR_CellStorageContainer) + ObjectReference cellStorage = ETR_Functions.GetCellStorage(PlayerRef, ETR_PersistentStorageList, ETR_CellStorageContainer) int iCount = cellStorage.GetItemCount(akBaseItem) - if iCount > 0 && ! Eddoursul_Functions.HasRefInCell(akBaseItem, None, true, ETR_PersistentStorageList) + if iCount > 0 && ! ETR_Functions.HasRefInCell(akBaseItem, None, true, ETR_PersistentStorageList) cellStorage.RemoveItem(akBaseItem, iCount, true) - if Eddoursul_Functions.GetItemCountInList(ETR_PersistentStorageList, akBaseItem) == 0 + if ETR_Functions.GetItemCountInList(ETR_PersistentStorageList, akBaseItem) == 0 ETR_ItemsStored.RemoveAddedForm(akBaseItem) ETR_ItemsFound.AddForm(akBaseItem) endif