From 2b46d049c7b70340db481d2dc44f8f01048281d5 Mon Sep 17 00:00:00 2001 From: Sohan V <66461499+sohanv@users.noreply.github.com> Date: Sat, 21 Jun 2025 22:00:43 +0530 Subject: [PATCH 1/2] symbolic map for enum --- clang/include/clang/Basic/LangOptions.def | 4 +- clang/include/clang/Driver/Options.td | 7 ++ clang/lib/CodeGen/CodeGenModule.cpp | 75 ++++++++++++++++++++-- clang/lib/CodeGen/CodeGenModule.h | 4 ++ test1.cpp | 14 ++++ test1.exe | Bin 0 -> 257205 bytes test_enum.cpp | 32 +++++++++ test_enum.o | Bin 0 -> 126446 bytes 8 files changed, 130 insertions(+), 6 deletions(-) create mode 100644 test1.cpp create mode 100644 test1.exe create mode 100644 test_enum.cpp create mode 100644 test_enum.o diff --git a/clang/include/clang/Basic/LangOptions.def b/clang/include/clang/Basic/LangOptions.def index 789761c1f3647..bc1f9075b2476 100644 --- a/clang/include/clang/Basic/LangOptions.def +++ b/clang/include/clang/Basic/LangOptions.def @@ -39,7 +39,7 @@ //===----------------------------------------------------------------------===// #ifndef LANGOPT -# error Define the LANGOPT macro to handle language options +# define LANGOPT(Name, Bits, Default, Description) #endif #ifndef COMPATIBLE_LANGOPT @@ -250,6 +250,8 @@ ENUM_LANGOPT(DefaultCallingConv, DefaultCallingConvention, 3, DCC_None, "default LANGOPT(ShortEnums , 1, 0, "short enum types") +LANGOPT(SymbolicMap, 1, 0, "Automatically generate a map of symbolic names for enumerators") + LANGOPT(OpenCL , 1, 0, "OpenCL") LANGOPT(OpenCLVersion , 32, 0, "OpenCL C version") LANGOPT(OpenCLCPlusPlus , 1, 0, "C++ for OpenCL") diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td index 1b07deb4a8482..190db6b57dd37 100644 --- a/clang/include/clang/Driver/Options.td +++ b/clang/include/clang/Driver/Options.td @@ -2807,6 +2807,13 @@ def ffreestanding : Flag<["-"], "ffreestanding">, Group, Visibility<[ClangOption, CC1Option]>, HelpText<"Assert that the compilation takes place in a freestanding environment">, MarshallingInfoFlag>; + +def symbolic_map : Flag<["-"], "symbolic-map">, + Group, + Visibility<[ClangOption, CC1Option]>, + HelpText<"Automatically generate a map of symbolic names for enumerators">, + MarshallingInfoFlag>; + def fgnuc_version_EQ : Joined<["-"], "fgnuc-version=">, Group, HelpText<"Sets various macros to claim compatibility with the given GCC version (default is 4.2.1)">, Visibility<[ClangOption, CC1Option, CLOption]>; diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp index c036902b0b130..bc7f092c56fb2 100644 --- a/clang/lib/CodeGen/CodeGenModule.cpp +++ b/clang/lib/CodeGen/CodeGenModule.cpp @@ -7372,11 +7372,22 @@ void CodeGenModule::EmitTopLevelDecl(Decl *D) { DI->EmitAndRetainType(getContext().getRecordType(cast(D))); break; - case Decl::Enum: - if (CGDebugInfo *DI = getModuleDebugInfo()) - if (cast(D)->getDefinition()) - DI->EmitAndRetainType(getContext().getEnumType(cast(D))); - break; + case Decl::Enum: { + // Cast the declaration to the specific Enum type + auto *ED = cast(D); + + // Call your function *only if* the command-line flag was used + if (getLangOpts().SymbolicMap) { + EmitEnumSymbolicMap(ED); + } + + // Handle debug info, which is standard for enums + if (CGDebugInfo *DI = getModuleDebugInfo()) + if (ED->getDefinition()) + DI->EmitAndRetainType(getContext().getEnumType(ED)); + + break; + } case Decl::HLSLBuffer: getHLSLRuntime().addBuffer(cast(D)); @@ -7398,6 +7409,60 @@ void CodeGenModule::EmitTopLevelDecl(Decl *D) { } } +void CodeGenModule::EmitEnumSymbolicMap(const EnumDecl *ED) { + // We can't generate a map for an anonymous enum, as it has no name + // to derive our variable name from. e.g., enum { A, B }; + if (!ED->getDeclName() || ED->getName().empty()) { + return; + } + + // Also, don't generate a map for an empty enum. + if (ED->enumerator_begin() == ED->enumerator_end()) { + return; + } + + // We only want to emit this for the definition of the enum, not for + // forward declarations. + if (!ED->isThisDeclarationADefinition()) { + return; + } + + // Collect the enumerator names. + std::vector EnumeratorNames; + + for (const EnumConstantDecl *ECD : ED->enumerators()) { + // FIX #1 & #2: Use the correct function 'GetAddrOfConstantCString' + // and convert the StringRef from getName() to a std::string using .str(). + EnumeratorNames.push_back( + GetAddrOfConstantCString(ECD->getName().str()).getPointer()); + } + + // FIX #3: Get the 'i8*' type using the fundamental, two-step method. + llvm::Type *I8Ty = llvm::Type::getInt8Ty(getLLVMContext()); + llvm::PointerType *CharPtrTy = llvm::PointerType::get(I8Ty, 0); + + llvm::ArrayType *ArrayTy = llvm::ArrayType::get(CharPtrTy, EnumeratorNames.size()); + + // Create the constant array initializer with the collected string pointers. + llvm::Constant *Initializer = llvm::ConstantArray::get(ArrayTy, EnumeratorNames); + + // Construct the name for our global variable, e.g., "__nameof_Day". + std::string VarName = "__nameof_" + ED->getNameAsString(); + + // Create the global variable in the LLVM Module. + auto *GV = new llvm::GlobalVariable( + getModule(), + ArrayTy, + true, // isConstant + llvm::GlobalValue::WeakODRLinkage, + Initializer, + VarName + ); + + // Pass the required address space argument (0 for the default). + GV->setAlignment(llvm::MaybeAlign(getDataLayout().getPointerABIAlignment(0))); +} + void CodeGenModule::AddDeferredUnusedCoverageMapping(Decl *D) { // Do we need to generate coverage mapping? if (!CodeGenOpts.CoverageMapping) diff --git a/clang/lib/CodeGen/CodeGenModule.h b/clang/lib/CodeGen/CodeGenModule.h index 1b67d4354efc0..2b42ec365eb29 100644 --- a/clang/lib/CodeGen/CodeGenModule.h +++ b/clang/lib/CodeGen/CodeGenModule.h @@ -1820,6 +1820,10 @@ class CodeGenModule : public CodeGenTypeCache { } private: + /// Emits a global array of C-string pointers for the symbolic + /// names of an enumeration's members. + void EmitEnumSymbolicMap(const EnumDecl *ED); + bool shouldDropDLLAttribute(const Decl *D, const llvm::GlobalValue *GV) const; llvm::Constant *GetOrCreateLLVMFunction( diff --git a/test1.cpp b/test1.cpp new file mode 100644 index 0000000000000..048af36b493a7 --- /dev/null +++ b/test1.cpp @@ -0,0 +1,14 @@ +// using namespace std; +#include + +int main() +{ + int a = 5; + int b = 10; + int sum = a + b; + + // Print the result + printf("The sum of %d and %d is %d\n", a, b, sum); + + return 0; +} \ No newline at end of file diff --git a/test1.exe b/test1.exe new file mode 100644 index 0000000000000000000000000000000000000000..dfcbcf99ef68f51166bc8c741637c4c0312a51ce GIT binary patch literal 257205 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 WMoS@eUx_TdZUbG3i`edtmhiPW$J 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 a#@!7RTwe0kKpp9^JSm +#include +#include + +enum Day { + Monday, + Tuesday, + Wednesday, + Thursday, + Friday, + Saturday, + Sunday +}; + +// Tell C++ that this variable is defined externally by the compiler +extern const char *__nameof_Day[]; + +int main() { + std::cout << "Symbolic map for enum Day:" << std::endl; + + // Loop through the enum and print the names from our generated array + for (int i = Monday; i <= Sunday; ++i) { + std::cout << "Value " << i << " -> Name: " << __nameof_Day[i] << std::endl; + } + + // Prove it's correct with an assertion + assert(strcmp(__nameof_Day[Friday], "Friday") == 0); + + std::cout << "\nAssertion passed." << std::endl; + + return 0; +} \ No newline at end of file diff --git a/test_enum.o b/test_enum.o new file mode 100644 index 0000000000000000000000000000000000000000..03d2a0b428b785e360110d3f6b8c9c7085228e6a GIT binary patch literal 126446 zcmeFa3w)H-wKu$ZES0gdZ-3#Ap*A8Rz=&>2C)_O*ivg-T5ZKkYY?r}T1%~MzW>^LKXW7G^y~L> zzVp7X^ZV`Dd#%0p+H2qM>#4qWkZBoXI+(FB#ty-zpM(ET{MQ5T^t>n2*>}t@%sQl0 zy)dhxtvzH91pOO=-cEb7x2ww^wm13g!AO_Ay~|!vTW|05xA+#NrKRLc)@~Xo)RPI1{rHZ_~@^Zu|mn3;|?;mlM4`~NN|i)gFXQxfZ;nCTR%a# zMPXle7^IFI{E7D zIpDJ>An14+8{tVAx)LVt=ODUnK{rTg2*6Oh@QD8bbS!ELg$UO}bUoxc``1JAwF`bc zuLnV6f+_X87qGF8Ab&Q@OFSvpf4VH#lcwXw&m5=My#%8_ez&?Y}<0`)5Dt(>>^P1rS0}J z*3Wi~gzKN6$};-X$@r_lpQ}InH=yXx?6axx!z%m|#(^Cp)}8kX0i1}YcexT?Up(UK zeY)^St19yo3bFh&xSiTh@>?Hw=d^D7C{+nN$So10nX?GaGia=D+-!sa?IUyGU&H(NSYNew# z#6D=v>w%l{&xMpPMLMbm^xxV4N#{4%ef{g%8@D~MbJ0maq#$I&;yt+MZQWuI<_t3NBx)pyv{d&D&Q640&{ry@V8 zQr>VqLo*y!)mJbFyhg79H2UTwAo}%bK=h|g!GBdBiK-_87b5OYd%FXbS3ipX9nV^~ z9{_{?>=y}oF?=nG$bQ|8o*PQ9KO)Qh2MEJXKJ<^VF;q>|8}Rz+Wn`s23F{dHd5>BV zDdq4m$PSGGbLuhFwa;o#?u&*S{TXQb^*1A;xJY7c6nw7{e9K^sJ`Cz-43zsPZzLXr zuD&BDEvT7&hescQ-xGNhuOF^KDVJ#9cdb$z^yoem%ithyRn!iIe}wxZEF1k?g8#`Y ziC650ay3)zZ}Mj3U`JwJ+_e@Ai(CU8`9-6zArGE$eoRb}ExnjzplRH(98vs|P$;;8 z?4QFmdIEpXIH{4c-doQYZo3iW4T8Lz$cNzp^8U4FMjsYVg!GZm=Ox&@_Ka&le+EMu z>cp|p%~7fdT%$es>vx{%9Z~w6XHM+`_dgKjK=wnhM)zUl>pjE5(~z|3U<$kgR_USX z2sW0jy_J}zJ$)(nSwgYqz(a_Sj)0BM!XNKKif%YEI9BjE1Q>*Ui?o}hUB_)TzcJmD z?P-2OdmlT7)^;`d4!F_C9VS;_wu`_WBat_Fp~aD-{CMAh9z1(73D~dcJKTF_EWBdJ zvtfJR(cY7aYhcDxu6ajY1L3F6P zF)H?=LxeB56;<{f2bXKX<$a2yu(I!us9tb~F-p7vxO0m#k+;z+hcGg;FBTQUP1p5!Ob!FW`gUfCJf{rA@>?8IQir0U+(IAo(8V< zT=Xi8UX4|KRrzhMzJ~nuG?*2RekYv@A^SH757|c-LTXokIKNON_ABJu_iOaqAhYp!GAKgI8(qVFk2>r7QjzIqvHF)o2e2)z$Y5%HO*E_aFevuY)C;#AB|* zZ)jZ#sJiXX5L-6-C5&MGS6fQ?FzXtyps4hlIdwz6-PKo>lQWk6&2EGyZfMG^zaqb4 z!2NOW>wgQI2HYdPum2#D*{i=CK_JD`ZVVTwqv%;QuKp@;=x@khUV6xZfQNMWtFTs# zxU{+16hq&Yrpmrwx%%pDW7!pm0!{s~vFsFzY#>dG9PN8*G|Zc)gB5>xauyX8+FdIN zj0r{B@KVZ`ikzI$8c-phfeQmSdO5)O=>+6iTY7cry3)0!4I<-R)KxqBm+k zTmwE6BrmrH6w)*U~=ScjHtsp?L(_8{J|NA|PIC?^fU|`nCO6nkxD~rK?s>TOa#rb-$@v`AhFdcI)&5z`D)M$9N;B=!q&JzBs1w=H~9 z@%gK$tov6@+Jw>PD?gO z`r=6ouT~Y5rc~#SXCrA9Cc#2OVKal%xEP-4DooC`?q4A`mzgdSa7JX~E zRyXI$0m~BP@#q|$6dg~>+k_llLbU{G`N_#kP;jyNO=-UoWtCR>UC^Sm5S97(S=lx1 z3G#8RIBNaEevqNiu=cjzaX&0sXpjDl@=ip^3+-vN{gbPC>UuziTJe~1yQmZtNpht~ zN2LJOZMCSDJzFa!R}bfkj8IFYi@2UfhM@d0OWd&zPAa~W%gHg2_E-s|lT(?|!yf@h zGyQ5*`+>CQ;5Yg(;Re#yk$X4Xn1{Wy9%Yt|tqdBc=3$iBp5KEQTdi3?Lmz8*4bUGt z+CpnaLw*rPg^GN~*fE;Gtv^EZzqDU9L8veqCw19;so?6*=+~ex?K`~fHKf+Q?XTtK zYfwAC0KTiff_;X~YgYBc+T_(^T)4dVjCu1$blyEAebP8q{GwQyY^BD}7Y>(E#h_-Y zkfUFJ3!*2{o#=8Ql>Iu_*oj#AuEM$wwdw1KdGq2`XjMIt=MVAHB+?^;AC~FR%4wN) zYLw~|pGd(&?eABiJ&c53Sd|MaawnvrG9LW{utJ($07;tdL9pPSW5-V27mHt&|9fhP z9S#saNo6V$_BD8%ya_ll9{@dSDjU5+(ue1B?peg0JjRZlTqTIN1CmUDER1sH!K;ZY z1rjlFp;r)&>Udo21;C9CBU?_sMSb<)pj_=0qLN(YMReJJyP0x1Hy?m&$IIcxuKtBN zK|-xM37^6K)Ultt`hGO_OBcHDG>jZ(SARJsjen$xm)QM!Yc7U4*f<2&>XlX|02meMd>M>6mBqD=Ux( zrMAeaYGCG6_Bm{$Uo{}eK-z~Miuw@P$QWY%XP^EFc%J&XI)6g`VD4$%P94Db z>et^73aWEI0qz<703fPQhv*NPOqqw_NE`V>zdph#!*7n}qj*pKrggAi-y{O>_zbA~ z^$mc~tRhdLB{|?G;pfElu}BA20mv?zWW9>UBr+12^E;$t5rue0uZ2awXY`76jb(q= zk4n`ps%ix)SvmY;5=PTI+K-;=B<-2V`Y@38s~ahEzC_{kfR__NX}$bL;(Q+Kg>5Uu zZqQZO4f^S}6?`|yggodWk;s2b4)$ffJOY#h{Yxpxj#?jg8Cp?vt17IIJF@sX#nN}h zKn2UG8mKy27;C>3{SHeN79cC03YxSoOyHjjrqU#@YQ@pW8xv%*Upe*pnEY6oJ+x3{!zIWjTUB$} zN=#Zy<*r#YpIS?|b&~+^IeFG#EDpbknT#XLHSedT16N_t$ogWX%%5Xt<C)8K*l{6S94qxhd4chkd(FBLR!|0pu{f~8Cs7F{k6Zf>~XQ7$Vv@c@pcU#cM{c^{%xBZTqUbS+Z0>t`&tK67< z+0f1~Ey)Q^b!|JzpRMck|#)r@9TM5Mz#pg?X z&yVIKmoa}C$f|T5eqD!^JfF(Ye$I0@(ab7lzbN5<)_z^m|99CbGQN+n4?}XlEp6JT z;pvd}lhWQN?R%yDIceX*?USkRBn$!6Cw%hz-!})k*E0vrQ`8>@c>YsiOhprZ|hQ1=8lhyul5dJY9Yd>`14tD;yHsI6Bhh>kfFkT6`_zdXMAD6YWy@ zOZ(H(_O`SHeW8%2)!W(Lu?3NaJ)uY-;17mjU-c8>24sTNjupL34 zw`Ge5Y3=eg^I%eJPe*$w>IYSX0oy(bwe(vDohkf$0XVMrPYP}#P3ZSr=s$Ld}b5%T#qG6WZC zY7cq5o@gd8S$>{S`z=1!jk+CfvKwG{~o1-uX#aC2LG zM+=o}GZiZkyr9VTH*buqn!u~H4DrEDb>kH&*)B?_0L!pPaqXc_Z3 zLy_h-wW6T>)hbL3Vm>@DfxM7G7RwWrFqRCossw+6Lr4*23^h4Vh>O92SZgCMUzb0! zp$&=cM3v+Iu|^y%M-MKNHTybHh%r=r^N3-IB}%`uJxoQOh#!yfW`6|b(L}k=P^c)X z7IX=Wvj~N#;h;9QgH<%QMJ_*u;ci~LQriD#lX;(&L)3Hdo!=ao(|t8AFgVll|^K; z=RLvZAiB_4Z4GZh4@f_peDHb4&!zpQv_F!zrBwLOmi8smUM=lwrQIs+ptNyuh4Xz- z+K)^7sI-4A?Y~IdS|;O>_NCHZBkgt4Zj<(H(jJud*QEV~v|o|-sI>noZ9}<;$13fa z(!NmI%cZ?q+Sf|^CTV|4+P%`gOWOOS{iw8$O8aGLzb9>Tg@`{#+9lF1lXji7J<{%w z_AS!BL)!OB`(bGxk@m~d{*$!LP7z<0wC6~BskE!4-6ZWEY2PpHZ%g}GX&;yNThjic zw5_XU`ANG(+HPq#O50QKY4ZC!yd8lyF9XoxYbL9;y&KINjy7L6S$xRo@^+BB!`B)n z+uzKsVEcwP?g%xvi!q9G2(|e)H+eD3042Ete(;C^m;wR6u|2SvyCPlfVT=ld#B9YE zY?dLtEjL9%VGMg6TpD5+1zJ1&-k4XrACsQWaBGKmLkRsRCr`k2dPPd&={nJsh~KD7 z%>(c8;{|(w-~rB57YH?JJ~xwX~b0-68GG(%vrZFG+hy+TW1&Q_}v0 zw2?u4HVP}u^R@{|08;!@M+P8_i^aSUy8J<3po2zPB0G@%o(N2=Wms+R!m5xlO%`X z{d-)|s;D@*qbRjt8?O{{Z9Hni^r;=P2Bz z<^8Hr+Ue5HmbM(?nM=YLl|sn!prP6nA=`r$4DG(?hF)qJT%wE$^c~7 z39)WiV81}PE|_OuwaQ+E0U0x0Vz#ImtE`mLP{nqp5 zkN;{h|3C+|+0N%CYVg{1&brlAwO7w$ZZA^l?XY)Xd1Cjs+C%Ldx-h-xQ#yO0yQ;Rn zo^xvOhtEmX5T(Ku>^3|n;FBUdo*H1fVh?qCJ38Rv4-I?)nvi4O-(oLZTT`J*u~sZ_ zg?La27O`7WL5!4VeHJ&v9SX%6)^t^ z^9sy6FyDizM!sxbxOv$UdgMT}EIYO5NYHl)0^(OHR$lgkfW6HdvUmCI?VVT=E(~Fr zMe}yMeO-Gn9PxHs74ZeP@W7CrDqca0omM;{yEkl?lXP(5Oz{^D=f*++yws4J+rw@4 zX7qgaqV59R7_r;cvIH-Ck}_+3gviJfkfvGe&O(5fJVFJQYd$-F6H_m9WM z$UPIbnlJpFLli(diW1vTQ4)OOi;4d0&u%x4`2DeDe@7DiP<0|dTM~a)66{Wb2W9(J zlhB<6hm+ty5_~KPb|k^BB)BI@{=p>p?j(3P3GPYa=T3r0lHe1$iTP7BB@u2+qF+;9 zeu=%X&bMjl0()7cy#w!ww%DuducU$Gv{ycl}(nZCKibRfmLjOtrd{Q4iX)mAj z5C1*=p*l{{7>Tizv8x!42ykIU{)!3{`*#%&l7yc-Bau$^wAseTtMlTX|7w1$GWx_G zKL>DjufWioPUJPK%)nDZxKSSLYcLkL55j&M&pxu?J`Fo9i?MvT=}qoJmz=Xk_DKQl38+8G#TQg#o{za%4ME?Q$ z03+HmwG*etPH|>yZJ)6er8cGn%p=BQ`V-pIikrv#fQ(D8 zVfqrKNHOV|sZ3X-ZPWy!vNgrYNU{>Fri1L{F!6rz?&NgD`;l9f0q+0qpL;MCt>&N?jNg#8iT_kOXw6B+TSlVBd_Px>`miCjKPK%F zX+J0Jm!$n$X^%=T-@eDN>S`ANQt9Qj|BuXB|O94&`^<=EN8 zu4G5O+?T6XoOF928O?TT*7(9z-cZ=d??AAxXe)7~gB?!nhb0q#psn(GH=TuM_vq_= z;k8|DxDA6-ZD)70FF<>NtFgP`3$lmw^&LK6fW4q^=m;S)zU|EZu9y3Sa=#BVY!$g0K;IZ3AcUG|N7Ggbs+aa^BYZKc>Zhw=9Zf8(4_uzg7 z4(tN~k2t9PvcTZV3Elgk{ZhsrWgc&5XoCkgKf;VX28eHEv*&QxN8o+~m%o#aUofvz za9YJ(_bEJDB(alq>-g0dwq1wQ9nPm;hs?*$BxCpJ1m+vMR$T7r3b(RHb*(`kczvj& ztzM!T)8WcMb6^W&c0KJV!ZtS`8z`9 zRxK`B)Y5@`KwpAz=i79KHsR)&h_MjyC7X`+rck)0`N9hqE>p!K(LVWok^`UQ!2hHi zC=x1x*pOq$J=8c980s0?IW#!L99ZLHvRgE?96m!s!$Sv$y7%<#*|}$M&)s{5_6+Yi zxaZKGkv&KE9NTkz&xt*wdrt2;vxn_9?X~UA*=yfhxVLEU^1Y6|uD$NP>-RS9ZQC2z z+r77E@6Nr0d+**mw0C&#!M%s}j_f_U_t@U!dr#~g-FtfPnZ0b-G;ABr8MY4>4i^nC zA9f78hTX&KhZ~36h6BUh!#%@0hX;r69v&JV9zHmHXn17!=Z{J_Izi9vR{f_;v z{qFti_aEJVZ2$57C-#r-KfV9V{=x%A2bLdj9B?1#Ik5A<;DO@@P8=9LaQeWR1MFeb z!$S{`Jbd)wV-FvHn7OfTM_Ha2Iz7a8+jiS`7wvZJcJFT79oXHodvN#A?t{BWb|2e) zV)yCY>;c;Y_6Ld{a6I6Cpz(pg13eE6KG2BN4DnR_|5qUvAZiVd9xo5+C->Wy>I9hl zFX$_=5)|~<$8pe_=)Gh@3D1D7Vb9^ok>sC5C;Z=8d@g?x-|b6Of9whI__RrUR8a7n zyG*55@v1HOeLw22?jL?lB}lRbzd`6)nMnS*m!HdD#P^~@^;gfk&LqX7f+9ZL(mF?c zg5Tp&f9!Md{Akpx91?Arf7h%0u;<0;s}jkgkcfXL<}Tx>SMbYiRQ=WSy#Js|FwRfV z&kU&a*iYl}e^FGrvqFgY7kx^lPbLujo{suszwMu>4{ci~=I6Xs^~ata=lA<_R4^gm zqgV}3ls}DF9SeW#%W-~=#>tXQeC>HX05$^#R_?# zZeQ4mYb^^qy`j!k-f$SMFdlKN+Tg=Q>Go#w2sXE^>cTDbF0Xyz2K&O=68l0-`d4k} zih#+&)-M0TCOWdm9W@K_$5dn7@x`bZXjR1uw!=S#ZkBk$OgDSM5J02JNRKdZe+Yk( zE?Vs2ehgi)G@A4=A3~%=@E-_cb;fj8^1vyZ#cB;ZcRBBaS;23JqsEAPn!#`qH=Uj{ z)d{BL){{7T6FN4d&X^drP6(BVR7_ErCr96ipy?jx`f{hcp|ZBdQ|BzN#XZ}*Po-w1 zp!-vzEB|s@AitBERz#h6485A}c(Qi|UZ)uVyFaAPx(=2pMkFs7vG-Eb9!7ARQWNQH z@&$443U|`5*bcGNfhJ@ zV8?XJj0I+JSKP%ef2WUKY)tzqm(^Xu;pGB0DelD_ULjzc;$FhxO9Y&wxR-MHQUTi) z_c9Kz6mX$Zjz=80xh_(^%9u(yQlwOOmxqGvG6618>U|r^L+o;6%53;9C$J*K90I(A zKxc@R3UDQXt3#|zfR_=tCdA4G=pe8@#3}?>rZ`2!P7zauQV}d-tA%VX0L5&L0Nemd zm`ecb0W4;f0%!!Vj9npsHUJm1D+Lfx>Tol+N&wwTU2`|97C?_u*V4^u1h7-7YwBjT z0vJ^4LILI$z}@f(u&V?x1fO^cFQR_fXV?0Ny5S@jn)wQR+*4%=t` zV4ZIRUIk$bX{N(8(`c#b4_s$oARypQTwN?C1f71Q@xsllg|UDM!X z`u?d`5O6iMTKyf90anT(|~*mzlBM*5PmBJ5}Be-1@`? z)euXan$CL?#UQ&d-bENSdeIm0{%dVjZOs~wyP=L5iWdz!M(1wvVv(c zl?-a72BK#;_sFtB77huFQB&|Ff*UwPfih_Xhq&ITc5Optjgx6!*UZC#51T{s6~dvT z9!5u#M6h^`+~ap3*vJ>EaTsfMyvpzlAZD_itzb zSNnr4>;lp2Fr}VX5ssTJa2ln-yMZI}jVY9Pol=K;twB78D`o`(rC0bCbZvlcd$Ktq zpg|&ATj^QaT+xqVw4lxEdTex4>tuz3))M7e!sZE7x>5o4(zPP=d=c8lanZmR3d*c# z;Kgi#KuwnY^g`Y(c#S3kSy~ld5H@dNO-55R zx+2zWG*QJHqR5L`i+~OiRKk1$8X;&gYZcHjf|jri0y;s^Qr0G*(-uI>Si6AG6#~4N z-6TL82bZ&r0qZ;fRXofVBx0bgP-O zn2H`jogQem8q=w#n9`4$dc8`K&J1x~hM4+j-cL0)QePF{n@Fz@QuFRaSUoX_pEbE_ zD=`bHt7kT|CF?jm`9vtiGIbN&qD5iGP=}{*Xj7>c8;NL&k2}ghW3d>&0$)A-&3!v# zdMft5YDn+;sf;2w0k}QBiM=C$1R?62Ybxs->PqA1aki5gSrn@9uOvv}S~yLZIl-Fy zhm2c^or|CF1lfBTGpJ+DQO{&f3z*GSGWQbQ>UPZ7sO6z+H&Mr%vrgQ|X4*^>pA@Eh zYH+MjS;m%soH6@y%%)?Lxhf2`?C%+iNEF_eG;b`US4IEG;1faO&+50mrG)pB!a}zE> z{Yk(Yf&=UW0qF<|b~Lj;3)sMYy}`DYAp20DOhDlkmpK3Wi@>E2&f6_;X9UgyTqwl; zDxh?N0_-CJ*#I?%BAx7S0?q`C`P0V&%HqE4?*f_(sH4?OLj6Nva)9w~>hiNO0Z#*r z#}W81Zs{5Qo^*kmfZ+b2pExc`8G3MuH}2kr8vPiDD_lSV%6DDTXzjJeKj|0strk%2g&Nf@jf95x(-Of?w83?BS>PR8Ok;O z4Ed$TQOj4hrB!Nvo_H`f>w^rQpH%zz$lTOKP?mdhEi{$UXkG#^EC8+MCIAn~NHzBY z*e3v!W(>f70a!Go0``CaY#Q2JdRPEi3Uzk1t-SaAhQQ@$8bR<)0nE^(V`w@k0J~-* z_&g$jd`&HYZwV0#HBSNfwgBd9J_hg|0W8oQ1n{T;7HKX7@R$IKH1iS9;{qtrybYg2 zg7p&3B=|fbfaRJ}_&h0ql^Pl>zAFF+BxCG*fgwOW{nM+dx;0FSz z((D8$?0F_X8i&wMk}IHKQ7Y1c&Yy?zSMsmU+OOl;dH#zUlD*P z_1_3Ul=^Q4AWHpJ0c2?!k)RW~d~K1#OZYY6BTD#n0f-WQLx>|v_)P(b68@b4L<#?1 z0HTE75`ZY-Q2~e&J}Fp>5`J3%qJ&QgK$P%10uUwqu3#Wa_zwaQCH$U9f+*qB0&w#Z z{-Xfa^Adhv0FAta|0Gzq@e=+(038|!GUU&qgac~hO)5~7l;*=+cQ5e%(#O(g%H1p6V)4md%sO)_^{qN3sdux@ z%%j?p6O|%?y(VMk^m|EwnfO!Xj8QO+eda8RT=i4PB9#ymXLYpWV68(df?Ryc8} z!%Eg+%~-Rxn$Lw&6pdjTE-!1>;aW(wyWtw)tXW%Cg}D!qm1v^eUc$6w*Db*WhV11` zPj>k=%s@7JamYZfGR$I`iQ_8k-K7oXE@mdkSyxwE$5J>6ZG@zf3$j#})-*5+0c&fn ztf{@ahNTfu;Vj2sTgB1|s4QkSP60=TaFno2;aI{ZagyaMOCXlBY>oii$pQn{6ms#s zjT~|zJL-`yY$^e?A2N*`^`)zwrFC_s*RbgXmJ9a`a<8p-)>SxHV>_dQ7wamEmv3L0J(#QU>s*#5j##6!Y)ZWrRdj09W3!nyX3$ok_63iBBY}3B z0b08CmxIjp7JNiwuxztEN_E=<{XcXcP28bt;g~3lXQ8O+;=-CrpkbB7#nP+yBm4ql zf;~6VbhHVxT@feQ&>LXcapB={y-5!Xv)n$_f)O~y<6gIV9ZM_DIgUjdph|*DrqG6y zUW<1FSKzLjyraho(|4t818yq6Aea7Ck=Uv90Gy@YmqA{pskmoX%+l|-`~Vzm1eLJ# zAr9qC6)%ff`fd)}nf?x>#o$3hEUjbKF|CbG9gv<%dM3;la?0eXH2*cri*%S?QwE!( zckGlrj+l~xxPK0_n1XjhUl&v6q(29Q0B>Q+Tn3@=h%^ncWQ^A%k zT^`(C<2U!9ho_^X32RBFEWF^C=ncUaOOg$nV;2UMi?}G$kmP1oEacSMd&H3=VK=eG z8Qbs#!>rAbSpDq)^|vGTX}FOXU`wRGO$|jC7m;afnPg{)d2}I*T1ZXA#nR8D`r)m$ zrlknIATxxlLTdOe@c( z$n$W@t)o;io4jXfE6JoC=Q8rhfJ0YBV=2EAZj+ZSZH`QWuOkv_25hOkt!ey`*shL{ z4-Yb5-W1I!w^#AYp2keY{$=v!U5Ab9SF_xlLC~WrT31g)HT|(!9#6m%yTxkRFynbp z>B(E4`*kOQ>dTq9EjelmTD+;^oUcQfUAd()?9EHfNPf(=LczlucVY z`4I}0hYaO^5R0k|R)n1%)Rkqtyj~)b=pWNljlDqJBA#^Hw0Fsu?;_a}ZvtCBHHC6` z)=c=@;m}boia)~Z$b;#rcVCK371w{$Z3+)mMuF&$>GLTzwYp*3IsUeA`W{mUQPLmN z-;95L%+NzP9=ay(GO^{RoO{TFSAtnoUcAS!bnuEG3SGTetV~NMkp)uRFgEVaArwSG z$XK6b>CbsD%C%PBH#T0Z@PnSBEYUZiHuImds}ze%H@^?9tWl;@Bf!#!pI={v_iYYD zz!YSYNvYF*O{rt7t|bzH5-jlb1OjLZ=nz9pS*D~Z!{C(VZ6<&xI?KC>+)D_b;oXGB zxLir4&M>2$DJv8MB|8H(_Y#4v&j7{cN(yf=OizRj&22s?ii7$t>iD>V93@lX?On;U zBXj^;QF8LFWGUItW7xv#8W0KGiWUsLt=`rOi^b1g_f|( zJRW{?yu7Xf+Z{BTv*$@pJPG7kaS30+B1?8HoXyx;8dg30vbORoaW-IM&Vpr(L z9G(Nz1%!q+7t+!8lN35uE(K;O%ZMa1Dvf5K zFmL*8pa>v97fk*aC`vZ_Z{U1da#mCa`OxoJ&V{pZS$sZ7r(cf09^h_)nSK?3d*Q(K z8Jsjz)%Z-NNI2Is@v;70gqyw*_-}$>Kg@IwfS2Gn29v!Rz)3jXAYeNH+Qy*XBl`;g zD&U~6CtQ6m0LaIV&w|gt1Gpa8YhhBKkkL`coB2ZtP#1dyq^N_MFm~Qvk$CF1P0D)0 zu^C^EBPPO4K+gUKV(FPAYq9E}`c1z-q~)V%F8&2*rvDy)tq`CEhGnYx^(*uwt3X4Q zKLy{DTVE?9xmF;RA`=Ff63CzwvD60XN!?ziR{|~oTS1+Rwv)M8B2Pl_e-|vwTC_J_ zwOHy_>HRXiQ~x4?V+4FG0U8`qb7X>O0Li>r0@Q21CF03du41WoNjwcgnMc$RAhMv| zLKsf;s>JtzXa-)qayh84LV}fA##YeK64w+CP*bqUUID!LPuaBvEN9Y`DYj|R0=C42m^iy{IEng<)Iv#}fsP2JT{xGU( zmZa8Td!JozyA`DQF94tY8vecossk|D9{_j`jvo^e__vy5F|6E2SggHU4B;A>)<{=%6LAxf>D zBEHa5NvAQ?&GLssI8fT)Q;%rgHW;bP{Sb6n4Jc<6v-WMnVh)Q(L;xMUSJubosOr0A$<-4EKV{dAzXe)z zXGivXuumZreO75U(cUd-qYj)-@n5$>51jKUU_OPK@wKz-!;CLT98H)|6V1_;3wpKK zf(5;sS!wRh-TdTaT;+y4i>*qqh6zcu<=)6 zH1StqG|?*-nxtzTw101j@rcpIUB%EuuVNS`Iz$v_j_*^Fapt%Ibyt~)Ts?D~kSOWQ zaYEYInd5|HiD!;!$@_{VzxJ;5`$_x>_7x54z9P}2+`gjNeWcSu%xVZw_Z2yz+*c%b+`b}#v3$L%!iwlURk&>7@i5CJzyenhhf5=ziPpgCeqf2^Rn%#- zwn*L4kZU{x)_COeAOd7iL@ZO?99XKjF_~;-c%-Q#Cda6I}5f_nc|Rg`RPJ`7zV&Q`68H#e!lV zp7s%FNfg2Ya;Ny{#E#j1kQ zt^!GR8j@+wqhu{uB;5s*{EAeMu~U(YC*_=rC+Pc0d~u|VyHrv{qF_arN=njF3GmrV zC2Zs-J|I%mr4mGoUn(i_OC=>bIw^@urC8_~Mcg7ui7t|~(Vcc|TEBquNzNT*7yA;> zR6z4_75IEs9Sy3?5}4~yAe!i5vtrbLf!CYHq2Moov8n%>NLru-Se*;kadB_=TM~@DPr>sP zo(-|8npl}le?ai8s7!H{e%vaZ{a;VXjJm%-K0PL7@1T=6PZU6%lubyKwDO;jHn#Gg zkSuZKuannX6Ye|Vx>Fi@S_`GYlnK}5x%kuXMsDe=>5p7&ioC`}L8BK!am-Vwub-9m zHUb#<;f}l!TH9LZ-OTS(Hq6TSK7}_pyIRijTq`_HhNw>^zV6k{)(N~VhA+pxfim11 z2(hb$UyecCdcD>c^y9u*2U|ZYjij|3lJC1-BRuk%PTcKHPQkUajFjN>g${PV1T*v6ZwTk%?e>94xs}(pdZD9+i=R+j3c0{TVPeTwK z@Uc}SsabnWh7jmm*kuBJT%vP4IF#^IH{ewOUkf9`@h@)prkju>xXd7<5t22tRw>z` zsAME@3)?I4BQdvG8~YU0ZBPk-LXeC zh+Rg>wyi?p<R7BY zyiz#=BF^;;!hJxDh$|WjZW>Ci*>Gf#A+CjRV5*H|V-CmIf%=$_As z#+M-wCGZ)@qKRFlQYRWcvc{(WrqqOJV3i{=YD>_@}24|Jn>f z_M*i(laL*{9Q>JpqU&-cQ|1tgF2|ey1Es2;3fJW@hOJa#sGp$=Y33p#(B2*EPJq6J zr3ke8Z2`RjR9h1Q(SYww`P>J~MG@&>k~O+i z02g#>b7^tbxy(PkO{U|FlO}}!+%{QkhbwWiWr*E+VuhMr_aWOAe%(>? zRr4!UoC?40sJSnLyi5wt8jG3ce#>@v*$Bev!4QXX6rAVb0WQ<*=CGaV=qiPg!Wl^O zAU=gvq@6{*o5Ht*wFRl~@fbYKIAPMx;qjRi4>auIh;c6Wv_YjHG$Sx=A@|JzNC&Oj zc^sUf;4_QfAaT~t=NLPJM_Qp)f@v@0hZ#Aye+}LirX!J!gvF5Tg(ke18bz&d3gPc0;twb->Cwwm8eE^A*~=kG9DesrGsm_%1_6pk&= z)W{(S7ehjzx(3%nv^cfYeSOMy1&%`9*K@d|NcZ)rbgw{HhClZ2Fw}}p-~{!2_QOx3 zwfv1*4Bn=qMJL}UHR+*=20g}LQh)sX6d_)^1)J;Vu|Ez&tbH)aYL-?4XTWW`u1K?I zlNVn=#2ZXaPA=uz0u$bW3$-UvuWtjdYB^a*fFT+vZyGfltnazj6YcB;G;jESq4mTN zJHXYhpZ!+~JnpW9@oWVrDO{|it^>MG&fc0ZCT~qFGEM41H4z#HFcjp{Z6$-cpw!)# zRzfh>qM+-aO1EDOTyKKzj%hOp5KB$n01p>^S#NNQ5Q71_oxyuE-YYLsaq%6hXBywGZB8cBdNzlF^lET-n`r<`Y2!{H~ zYn`43rvK91I)t`Hm$DR#m8(^N>IJ$f6Q>a%u_ukDERG^>!5Y&UV4rCHDb5f`6@>xI z)d$e}|2H^8nBu8+R^#0vp5WG3mg7`(b!{CkLE~iuD|%!yZNzEmcDwot@mrJALdayM zEhP=F{QFe=^82?1-V}#dHQ;_{avBxCO^b^=VH^kgyDD4QW0Ng(@hD46+64Sv{7vJb z$>}ZNoukDnH|%3ih;VkT%IHaf$k#T|*Ga!Cph9LnX9B)A*+`{ebx%MsYcG^L;;)7YvH?Z@Ub zrva9)hAG7}$Xk6iO#b;2Azuv>YK{oPUk%$4rVw!K)$lfy>`InHgyhNdSS#Qn6*e>L zSxhxGGtH#v1P`yo*WT1PJ~NZoVT+d7$2MMi1sYXb zJimu78@VO3UHD|h`G~9IsO%xOL-^*ze5-Kl3?CiD9o!JRUHHz>3Kda^E-vV2XYvxX zM?K?1?i8LEXp{G6`UJ~-v;~pFNm=r_nYrIYmZVSy7bl-8Qjcc5EBzf>?@Vy2Xje}a zi5`y+4W#(tlT$^?f&Xhy71NRU_$P4$M^6BMpSSHfE=shw1z$ynnuk?p>K~b&UTNUg zrg9mF@mUV_QH%H(B)WTy=pHDX@APacX3FK-Ft|*&tobuB!$-uS8!CxYrQoEeWgZ?= zT){!;beVuL9x`01JaY9M9t4D!F5s7X*6dtz}Sqpi(()6EoHJO%pqBr%R7;Is9Gl#BYEHn z1|vnaxfJeJ$xX8otp2QMUz>!vS`9ohucyB@{G~g|I1bxcr(b#CTk>EVa?@0X$ZL;!+r0 zEdWxAN4NWQ*8w0kd9^Uv@!@q8-l!-%?Dg=ymdGh=D;#vMfrkyi(FJ41dk`M)gP_0@ z1l&Ta)7*wln|CCh>XE={l&dti!o6Nuf++IeM+&Zn*Gu&!;uAJo+D+U9GQd2)f~B4;>XL85^&|k zIH)G%W?)`XEFY`V&jM>YR^bs}2**4ENcyF4EQaC5sD{^3c(oWE@V$)4sTi+-!$kmv zZGfW=#(aOA&@aaceQ*My@oaWm3^_!RXRHU8dxMeHISV4wn!{OJR_xSeP$@WKa#W3yynX%s0i=$wwd; zN+5MBv(V=br+pev-cq+FR?c|O#9At=*Bn_1HL63cUN0(p(6V{W*o&A+D;`hFBXE3^ z0LtX=!tn$QuU;w#o$63oaVB&M@-&5`k~#**j|m_qzlMXJ#G8wyEL6RAAab>Ol}Y?~ z)vFl!X7l^UDCJtW(D%`Q^O*UxSv973t-&Tclo_&BcA*_*n^Cs^lUxo-ktz0l-umZEQ5V zS*pzCZocunR9Q@bg@$%dJCr_MtfZw70#ln7QrmX1GDU?k)sYjT<&tPqiH8(B%d8!4&TKvdF|}GJn8^|n_w;rOck8nf-&1U8C1y1=v?iWX`e-;eW3j; zjQK%HPgTYPS`GHcL#Q?1koft)r+!ZY(Q0}qT20NTWl|1;5Qnb3X%K^48HOfF=28jJ z{OUhB(N$Wc2jh~)RK(1$$MHWUc$l?4Y8Vhy=8@3{*pr%C4QEX>>k>`SR5pwisA-h91G49$c(#NdbL zc;<}~?F71?qj9d_P~|h<5*O-$Sg4&6orX{&A{3;hG>4Ht_%;U``9 zWsrwS!%yqvVI2V_OrF(g;Ly__ z)6pdiLns_io^mg6X6->ad&N;%l6nBmUYnkZo|xjCOwOj0iT0TAbyi+m(68~Ivg-!w zBwE>w1r+okD)RvtE56{$>3$ESQGKBgtq0;*2_Nmk`b^bipn1@wR)fo;Y_-TYW|>7v zdm0SC52NL|XDOlFdj;@u!g-6Cf^+uTFkBJ;c{5shfb>}=g*Ck)e)s1@qrV|HXu%g#;bxCJm zfX_br(j}jLrILQHX>{Kq{RLzjOQl;6nQ=P9VtW2xf=^6StE%Sz4IM(o&_d@t)cg}( zH_3yV4K@G7e|$Cn%du=2U(G);IJcVr891}FV;3j&Ww6dlRPO&QLdGfgFGLi8qssjW zj#utaaJ+JVg5#C@6Ks!D?oaU9%Kb^)IOYBX#wquw1!$ade*)u_`x6+a+@HWW<^BXZ zV#@sqj92bYF-4X8lWbAt{scso`x6jV?oU8exjz9><^BW&ROS8zM3ws!(4#8%Ct# z<^F^o)>+0;?oU1k<9$>G{ZQ^teusn~o~Mg%Wk!|zljlg1ry3T@{mJ_%z6i|Em9_m- z^{DzreiE&{W7^{o-Wa{~d>W8Wy>X9TC;p^Z7k}g47}L`)Z#fGlxKOKmieFqS+QK5d1>H0jfW6cfviYSP~X*h=J2!KB>* zQlo%hRADQdObz{Y753l)ld3;ompG}2@J#|-8V%qMhjslEnyC;PG-|=S?EK)IIau!pWDXQ%r z%I;}Ldot-VUZ4`BGt*hh?xE|RW(KCSb=^bNy$2yvDR}(EA*!h!s_wrIKRy?Lrh6yc zqBSLGx+n2W@exPEL(zQ;JX7f}=fA#Masup02g1K$X{4EmTzv^KAyLvxhzV(9FCiu* zOMD5Dx(jm7T8;eQ4@de4<&JS8#jN^_DU>whgxXv6nFYk|g5*ARwk- zfuNXz1%iZv1#+nh7KB?WScrMVv?)}m6fu;OPzeea2tf)KxGfYckn?N>3uX!#r(l8L z=qWV;>M1oRl&93>jyt6$Fm_5E2Srb*2^W7#4TT8-+7tA&LU$*Q%rYmV7n-dug3nfa zd0^&GQ19``M6Ukwqk0pSytD$E24Nr4v@(Y(^ek+Y@KsMbL2S;sbR>R9p~+72dJfv8 zu%eqQuDQ~gDBnC)zO#_fCFq>(Fg7|`g-#)S8$HM#OCjNR0^LnsP=$|R>~Rxue;Jq` z5EgrsQ25sxh_FLOT9Ms=4xtt%W#vq<9iWBOFT>Cs+2vZOC@W%xt$7`RN0btfFA{W56&C$t^^27Fg)1ze$77HARA?KTqIS3%o^ByBWH`H#D@7x;VC` zAblTCB{8V?b$SE%Zl{mA1Ud)OK^r5#Z&6v0(NAe-CdzfAdpr?^B4$=nF#Fe(sZ`C3 z=DHD>E8_T!&Swo<}(|Ho?d$z$Q@#zEhf9_ZQJgynZp_ zVwTFNvZrLK!2T#z9#=bS`k`VYt?MF#Emb~z*DN{Ef)mj|7PKE})LRySuxOSjMA867KV=t9V$5w79UU${w_&&B zQssUO!|Z)9W~mM2Q|XjNOEDqKrAZl0ZRo3iY^#;>@H@cK;>UiEWbYB&+20^n3Q8)# z`sPpp&BDM?AK z%00%#@Xy|dKf_j47)Zu0pm04Bqj?Az<#wYdN}Daeuk9gP!`~$x)s3`;(u+zyNf>qZ zN);KG0C`oXI*C*0W<~iCxKHMZ_wkyWKN%^Z2{9qqZQz&})^=p{)O39QOMIJmLmQqYpMi)!JIWB3J z3BR~Hly;Z&9w#*>>YoazuBdaqo1#Kbp<4A<#QhhTIgbH2Ca0!(lIA7EHRW-5XmM&Z z1}ei#lHy`yoZ(jzxB$T1QxbsObn?v7AC(9yk3XFybYaT5g=Taah~~qmaqr=Lp3?a+ zt^W$l@6g^f(Z~H3Jryj}l1i07>M`ArlximK4xCS^v{*1Kg>lG+iV>9m^0G)uRoT8` zHY5{3fy}R@j91eAhV!_Rco6cv3PU#?q0i~uH=@O5XX75oW!9E%6K!9s>HwN3q=%VA zD2EKiIuIFEi%%hOx#ux)jW`@0gmKFPpu3;+`zFPI&ht^dOw`Q#Kx&SyqP7FnC!d|_ z$2~jMi?dT$(X&&1(%C8Cv(HZT$!Di|CUe{}=`|8aJ({5x<7Rcu^gQ__teN!c(TrI< z2-FT{d!ZM1oKtv;y*8E`Zey|hYRmR)CQFzCFL>WqI zM4qWY@rL-U=SldGQ=1joK3Nl@%N zk_07wN0Kn{-;pFZ?mLo{;)L%=l7G^7BncJ&9mxj~ChZ9rx3bs zB0ofu()WW4z7RZ^Fx)StRzEVA6c8VXq<3{T3QeE#Tjgq=utWs@uDg{qSW$^3!q|Yg_qM3w&TuHGa{iz8-ULpH>e?T#>Z=;H3^Nk%3he$qO%Xw6|w|mxx6cdGAz37a#t% ztX4m-8eDS`_h$L;VbXf8kIWSqajVf2N6*u5a6LxcYVzGug}68)?kvNv^jvgYK4rlo zjg)tl8v+)tZEomnWi?X<7H#CscCoVhjJ9sEEc*s7-&lzjlV|xxtlr2rr9)J>G5z_F z>Mx-&73aY+tV72nfm5A*ZAS-dJ62(of_nPacBHt5@Kp6%GuC!w$ji32BU^KhwH>jv zV;yK0KL`|E3E$F=SlN-RYitMK zc!pS`zRBgU1Thig@F6bA=%A`Ux5bCJ1mj(&EFa?XPL=PD?`v9oh|9ZpCrX#|e@=@J zad~&7=N!JG_z;(_TkYQTm&Av-ym^?2?)dnYWJbHH%&0p)zP$-`FQz6Bvz_y6hQ5N! z!`U%7pRI|p?65Ps+g5T}=~LUfQ|ZO4*5LW@1vR|mM(o+AH=cpn#b(T0gy&lLm35&} zwV`GP#$2Os0X0MPWEa&4No*4zb*;mCfq15}imPz-NI3d1eiD7Lyefeoxy&w+uyWm- zgt=W>Q$Vq`yMz%o)zn=Eaf&I^5rKvCibk-*AC6U-I$QA8{<&qphQRztaIkl{3m~JI z2|e-n?tA@U!hWgIj1v9R89$`v>;HVyy1i{Vmq^ESupMa750PHa5podmZBoQ$-f#wf z(kN>)9vVl!hhnJ8?+6R}p#Mh-IcrhTW}H4cWD@Li4DO7_K0?yRS{p6KVsAZ;yXA$ov6#Xi8i}>Hf$vxOnl|SMumq%4eQ=iP>Eo?88+C@OG8iK~;VVK7!t5H$ zu0@fr73Qqp4n<9@RTZjV8RRI&F6vi}lS74IknGg9&eq16D({)OKG9-qp!3!#a-Ws5 zK{&o~g~71bPLoVM)Z+!bxm6+Ikyp^B~rxo+&DqL<_3GVIvg@R0ct=*nN??%uBK2c~$$gsM?o7@JrZ*(7K@WAxd`S78>Ed9^#@@HleqI+}E%Rp||7YUhLSi z2<`hGcM0v3RFe0I0+jqo{2E)9G?t9%0jsA$=uzyVDxY#2mvN40R-z4Q3elH9BEAl# zbNX11VrKjXs3Fz=4t(CkE^6^toP3B~wV|6;N$WoWX(+Va)-U4n3)qF$-cmdx&x7HqSO6}o)(&Fej%lswli@ES z)VE?68oUc9cVNdrdbeWsUDV`7uo{Yoq-*fdbb+FL6X1lUa9n^pL-8r?3HWIts4`((c>9q3)s<(5gHNQ*jS;70%~BK&;Tf6l+cFvK@#5Bsf>~S zYnp1=!K6CGx5Qz^kRPIZ7qkZp+C!39XxGD zAAugk3l!`ZzmJROv1bJMB}z%g4wNr5ML9lW{25VMPV|$1!PS3b7b=dTk=xi2$>=dX zib5kH*btD}Jq`v&DfXin^D)f;JIEt&U4vbC>@1v2;{`qTQk-nWj{XWepEs6bb;<+z zz;_m!Y!CJiz$cP_SzFV&1wvsFmW*f9@4{vjbqYvC58$KGze3D9YI=+ehxL$#+c8)+ zQ@=s-alJC~&%Z5FAZN{t96M|@^b`364zV9X+CmVPJ8cxy{!Xi@1MZdg=iEzl)VwB#P&0v zz45qJC`~R8YZjK?43r2{eOQnym^lPs8b5)>C507c#gJEU1IrX>&EA7c@mih6C=s+W znd5hk2o;3-e+qIO$oexge*pWgjQZn?f7jo2{af&GqpLN6ulGvXNF&>D&>A4XuK^dg zV%X1ctI%4eb#Napr4C%25Y;1c4GT4ob1OsO;K-+0!yw@5M9SfitvhwwR|`gQt|>01D>aL z|5ghe6e~R$zU0kR8~kZ!V2cJ~rrA!s5zvMidz!m3UPp9vUogdll(*4Y`7TD;3pm&r z2d@0I6{9VNd*fkJDG>K2^aa9PRny7HfuOcEL4@O*0)N3duy1H3f@Ws203x#Prz{MD$QcMWGM zk1G);*^}Nr5`Pb1ZaERJadcoWS2fme9bF5)2XZW7F%Q|lnfcwx)FU-ToS{4-W+ptM zcsD5Gf)f*t5t(`{BIhL>D{htJwH;2SK2F>ljw{Ye_z7_}62;V{ghvWMHHykP36B!j zqp=c-o<{v>L2jI3ix~+c6Zna|9bb_-gPK{o6F00M;!wcf%(%ziq>T9f0-mE&@!-5` zW?3a?dB7~-s;O`^)U{j=Um`0V&C?T1jL^at{N320jt&v$}3PlH#+ANn$iBi^or6go(!tF{wG;7(2{_wWXqKhJMZz${aTcXsp{Ow6xAAYf7|% zj|_@Kn;)fwsj=uRq+MNOk^Iq<1jF%@#h+SXR)_WSnRbG3811CIX&7~skOYqL)L%19 zssz6**>I0jY6^;L?AevlL5X`@4Vv~uEpqWEYYwHz)cPb>SxP*quH$P#=R~3R8le$t zt$z6Vg7air5ic*eDm`_t6BXJgBTAyTly9;ImLzT8K1uM75~e zqGEI)i~VqTt+;chl3zqHM#i&TA0W@B;w8@6fTCp`Q+ehvR-=imc(O#%6QWCMOZ_0f z%%7@6JYtQ{2`YhN;4{ZsP}k^~Ku1I?xUymDcpdTLv5evHAUha*eX%@ylPU20w5CEg z@R$dLZ?OFo2D}|jMGAI-uwjvhP8v%4h(MVhUm~4%P&U6S)$taA-XG)x?X^PoP=j4h z5Ng&+qW&w{+bEk?`RqSLcUb+XPgceD_h-&TG>Q{z9KxuJs0?WZ*%cb|s?A1TC>wcE zwkj6`7;0N3!M24*v920PFCqkV`&-Imd2V2s-g(3;NCmO5<@%Y>n-{U@RUZ02^6{)M zQUD=R&hc7}SNA6;tRI}M6CGBZ0`1^)r zP$IjzL7r$eqopI4`uwBJyDh{jmwhBM2{$ho>}f?Su~J&JO8WAUfMHQTI^j^=c@1+T zqq;LZXg)Un5kY6x`OHByL^wk0GGIQ#~CLQ~0vuE94*g5T;)9Wu79l^?cvb zt=-2#`J8JJ2v$Ue70A@Y*KW0?3#Auj=CiIo1EHyep?Q#dPc<;v$(6cbRm5-2vVg&4 zJ_t|L8LsQ)6*7^e$SS$r_g1SLQbg;=l1(t`jSnygaJ}EjRIwfq2;54dGg{#bfjt9$Ztx{UEN^^3X!4TKQ zWf~`X@S%Eaq8n-r+16B1$-}ivj?g2IV4^PvI|qw&NoJ6RqWxvYShn#)!pw<_u>k51 z#~BqAS2{s;_70}TGnpKv>488^A!RRP^N?<9UIo>GiHcyIwrPxa$K zT8+jQ??pKd<;BQND4ZeC%4ULa4D`IMW{B)03Uolo69zMtUL5S?OS~~>+elsuCg5MbLi+D_aS< zWjL!uy@StvssvKzV0=hGYB?Amszc#0PkG*8e0cUa1*gr-{}0l6(ZRC8kMs?F50N6f zV_H_@&}^gJQQ1bh)$S;_#&g5Nvc-TsZO&7kaoq;LCmj9k=j9|3iQ=>~S=Qv9yU{XcyyCj(yG7!%B+; zYpVU5q&@A|M0G~*8)S+BrWZI>ey;sf1X|h)os`dPBHP4(&?_fXOkE5?6>PcTgH46L?v>G_L@(58XBUs|LcTc2@8B|cmdfDiYo#)4&xpU}I!;#T(2cB= ziEd>`=o*nM;)%4I0K>`kvq<6HLv@#|f-afMgm1W(KgvfEUcNUXKtWaeAeS|5sUBdW z0caYY4peT(0i>rq5k|?(Yht8NBHr zM~Diz4>#D%#(058_&dEEv%Y$n0OG1QmX+zmk$wQ4O$#M67vBG89Io#m!=gdqx6)WO zg}w(7cv9pup)x=;tiQ}eL62z*y}nC^YgZLaL5tmpqpU6)=LOJGphxj!4Rf}`8g?}I zXz(6c76hY#_oU%p#L}&rFYZta8L{W%tflTDvp#H<&ft5<8jM4^9uazOQZq(J(n4P- z;BzjK*w?%>NRE`VJxo>4xMU+Nl^tlA?$^o#y&fEfy`KJ!OoUR}cd+MhmD&xeYTeew z(Bky~L;QV|cY}m6S*q6}NqAT=>WF?0Lu%K9RrfA?x`6lU3{%L+pnz#9)X$OLv+Wx3 z2*?ThcQms*FYsy@lh(@k#gft%Wx6>dPmbnxK5mr+sw*?SK{_u()A+wDY;EQ;X2Y7g#2Ta(FU*yZ>yDHW$ z!;G5IVSje4xs{G-ecLo0tE#fHa)>iBYC0w7J0q?0YaJ`P(m5E{R`dn+_j{F21pv`B zVC$S|I2|+xrzbnnsCkJ~U_E+~>6GH#J~Jf>1L`;+VtpNdOlL6fG~v!Y;<8F#e$y$$ zT`RhjWbk*BGa7#dlXD%X%CR70v=U{k)qip<>$~QkDxIOkoZ}QkV`D3wB3u+izvq-j z%@|?U6OhAt!dDis2hB$nVxK^qLW1A9$c)|%>QGK&g;Gu_%FeBxm!ZqOi)gpylTt+z3awDQeoL zQ_Q+se>3*AJb*Ek1R8`3CPU|m@Pv`UmZC~EyNWjaMyQuN|l zr#fn;omefZb+vN@#2ZwL%70Fn$cgsxHt#yoYbu=>&YkFGP7Pr<0d0xnJibJr97CLL=&y1;SQIV{xV6kkgJD1lMGDxkB`D7UssYDq3?63w5fXo`lN;re9 z^_SE-b)w9x&Qap8DX)8hW0l2Lu-!8tn74pZi&Kfyg6LM|H*<37 z#{N6%Iu!5Ko{W77cA=l>CcbI=MP6RV17|mh+=GMlFb*ca_9WHXTvQ{a2=-&K3u=-1 zI5U^N^~`B%?R=~LXnKEs|1AtG(ZM)(;CziwN|}~h>v%3#4QWH zBbp)obW^2M478#tXyQx2(sVu%JyPDD1Fq*aq4`@GQWk33 z8fp$u*S~@WKBN}dbw@_wbxV^kZJJY+*G$gkHC7MMzJh%Rc2U~mGDzmzy!;E#9#tf! zw< zrJHuXqP-~aEji5a^Dx(3mo^1CC=ouQ#{3~0b(Tj9}){0)wRGfr-00* z%I~kCuczlYRSdgxRW>HGvtxuLPV5w?mS?Tb2>zMl#Ma8QvruBGh~-hhw*3cy&f%TcYE76@-I)_hn4qM_3Sq#|QqS;n6xX;CDg){18aY~(t zBmg->lpO|=ngsgdBI_K{wGK{O>tZ)W{{+%ZMAc%FR$m0lip{MW0wRb8=yt7gW|UTU zY;d1w-{@sn-P$?m+@HS)J?z2OBj&44*~!kqH##MT$J>p3nqnmlD-LZ4T0^yx-l&Q)^81DnO4P4 zkcy3S4x!}G27CJ$q>WmGQRShPPI=U7<1K42nisC2u9KajsZLo7YCBJ+t;Nyfkzp}$ z1@S1-Nz~(hQ4hx~cPwOl!=_kmQ}CxLipqodc6ihz>suSqk|{qV`LZ)6I?SoC3a2#qis zWZk%NPEe|cgj9EHsZ5FnYl{|Oy?K$mh8m)qB`k^4dqtl<^d`n|Mt#u=o|X4Sf)$N5 zLC^1?dlZ=|Mi`KPC(L1u>P5d{wZ?j(ys_}YadVwPM>^x?OVQ>y#jueHl#@||t09zy zFh_M#jXRrQY-=a(7gQh?QYj~z%8I8bE6#61J0KDf_+6(EMX+4;i?LA-%C2mGA8)OyT&ARWxD!gbj zDV$$w4S|=@7}f(DP5kOutE#sgSeG0BWJ~F`^CPq{R(Z@tqR1&>SL|~CI zTSFMC9uoi)!y|-xYx~BXAe4$tv3_MVq4`9uJ2rBJXd?7lKQ(IEi`~1imp6vJnw7L2 z{jvyvHZyhWXgG}3@@N3lj`qC?=={3_(2{6}kR(`sDw?6y`Kpg%1tE`aY|U)rUHZlZOuktQ0r6aB5^2 z52JWEnup0ea8>)rVjhHT^aQ%rZy=Pl<$Iz_5P=6-Y61G!u`tt64zZW8XNuM_Y%`Y3 z6>+STPaZ^aFh_=~sI?w+tYW5}YoPX%@Yi~9<4)nc7;PPd6SKvMPIXG=!Zu~K&S6&f zPFTLlIShnR0;3)IMC4QGOH8K%X>OlW{u$gj8OcQy0c~D%l^E{hVMhhwbLCZZEkZj= zlvrzEaIh_(Be^0eAzRVW9)yn8YP%^qCz_6~lF76cUF!_SnA<5iO}I{3Z6!u(DKpB@ zdy1%LQLQuj7^mnos6Z$H_5YN3YE&GZ2lONjrnyheu8kCStBKXbDUw?v*;lw_+SQq8rt?M-(rPZe<5s5FLtI45K`;+NQfX zhDeyv^ojwdxc9-EcG9Cnbom3$%)ju^|HyDYro32*U6#BOXXaOU5UyFT=Dn~AS$ha~ zY{VQ;wEGYwD)5%Sqwh^KjdW;-O@f zvp{2>;*?g3CtYZ4HD^1c9;KJ=5l&K+cE&7m>?tt#nWD9nMrWf9#2s@&bc`T%sd&Ii z0T9xrW7LZjg^jF@Y5Qy{RtPE|a3UMC#?#-*Yj28Lk8i}2o3P9%e3g(FccVbBqIfkJ z{8m6b1`0ecaT8-WS6Orxq_1$CxlZ{MM332^Un(1iU~M9L2jnQRzGtM75_}sWJg4UH zyu|uGLsry!XyYY99uC2+?;033n^uFOD1_rv!qO(ECV^OUeA5(Xlr@KKC{~|ahe#}r zLxVgvIvNjTXi3xhdZv`G2`RVblkyUj`?-{I+eVBg5!i&*FzCXACx~Uvt&QF$3bqNsH-F3qjc*L9VJ zW|1lT{jkKkM$rC!KH9YZ^^*2G7y0bpix=Z?>jOM0_J;djZCu*({@;LJ?&AjI3D#S_0_ zkRN5knT$>R+EqN_mTRAAayNvDf^Qo{3Dn8?)Hum(JSsG+6WtD&^|GP|L4+$N`?wC>U<2%sY%klW)(-y&T(t5WQb4s#kRLnK2$$MU85dNrFa;v@0V9)zpwREr|u&! z61@EE(?ge&UbZM z@eHpfEK2^Q=l;l{=;e}&zcp~KLH%>VhYH`%zt?QMuIT#MSE7;4ML&D(ryj#;#X0Ls zfBlej)x-7kve0b=jQok$tMHbqb^!jD(O#SAub0|0N|TY7ir}2jfcvvB+;gQd&Qolh zqsr?i%Dwmnj~mKwj!Y{Z{zYqAY4w%%w9;|^;Y=&7yCT|9dctJ|4W;#)VhyFUE-jo< z+H1}%i8h{5^i0FE4bM&c!L%Pv`_Z%?H+&c02e3`$(i{EoHSp5UwN4RS4P!>>vJLb@ zmgD_hhe*H2qam^7qDMW9!!LpQ0nrnl9xjbAC|p>CT0c`7JH7Z^bvCW|EOmxQZ@K8s z0NozY)ekp5Eya-ffqpNeem5~5T*B8 z)-OW%;ln?%X}ms#_c<4@t`T@MiX-RY&zxe7m$|+d=p`lIO#&}hy$EkYuy9AlicdcL zEx^}tLO{A3hOOV6xQ2m)QP6A=Wy*&bTnK~Ps<*fn}+MT zc6B_^a6Q@Z@e*=e%?ZeO3Pf;J+@Ux~)C+iiyKMvHd^O`>CXQM;- zUeM8bpZ1G<_|^FFQ)hAm!EXe<&dmmb-vfM|M@es%dL}$``kq{J(qDH1UuQzPe}H~O z`)rb}6IlOm`*+lUx15H%)P{e3j%m#)teheiH_5)>2Nz25RoiaAd1T!iyowme2caO*Ll%P1NqklnYq3tk>tXySRS>jyVc0D zu!*RfP^uO{KyoYr<6n^^ydsMbHb5)1NKG!iwXR#3Xii}%Zr_5I?N}F4tyY-=A+ZK* zW{r}HgR!`+BLUw@z*n#`LvsFNm>wE5ren$}tn!`cZcAY;+?0{@97rwtp-f}6X;S}= z&Guuf^YjxZoIPRMgj9FSgbuD`IvxvUdS~NXy3-TXo>-r#Z84^wc+T19Ogjho=PX~- z*4{e)^x5-IJNx*FxZx7Yc_R-8mOp($2NoOB{PDM~v!#6vCa%qMZ$dKFx*BuzQ8HJ6 zTzoV=)JWFGJz3Y**_p0gWnfm|?zYbHnEbCDS7?L@px_J?fzp~-f%D~viRn};&Qj@C ztOJ6RM0dBCG!GhVPPPGnDRPM>FV>|uBoiq@d4j*-lIX^wD*{ol&|wLXj^^|#{7JW< zCEza>B>`2OB;_K|I9t)))l8vM8#;j`_zlD?xwJz2u54-Pz=AEpz^)oUb~}1pyfdx& z92#>i;Ocq+c4mzb?nS8o7y4{}4NJSDPt^R{@cE6e%m5X#4z0BXYx5jPh4^^*P6sGp zYkNCZZ&`aF>46KkJ~ql2zHY{M^PjCw2f9CDgacO< z#X|p)T_n1Mwl4I81N0Zs|HW4&+Oei$>OeY8CZo*j0m_?9CDycdjqm2#a0gP{e9byT zhK$R#NZD72#K!HWQP(VqlGoO=rA69~9axsVdxK19LK&5t2kmPjum)oi=2Y5A{{{JL zP=w%>O7{ln6YJCK(+9d2^6~JU4p2a(UV8rMf0fS$MF?JLN6hY~A*aiplyY%tk-Y!2 zffIdYdX>t^4qWW?xOis+?VP2aIFt#FH{3?3MkS~Q#_y>dZFhja1Mxawt^?^e9t-bm zfYMFJBA6?Z$J8B2@%%je>|Ey%T}h5Hx<5FNZ^!eK11V`XX4zl^R4&HHSOoV#3JgJV zCa*4c_hg{$!|jy@P|pr5Ix8QoU`_V}+8>b3~)&?q?IY*e5~dVCR61KZOm1bRMIO%Y7187zxWQ9eCCHI0=D$ z*8`O}=NcaeRC-94DsiZ+ z)sZgA*soc8El}PYV8DCg4k_)m-YLLeiGGRmCw!YZyhpw@u+{z%==-jvNS8R68)Fgf zypEtis=3h0xCIM1DiU_;~3U9$yiMK%GDGs74 zz-v-?O$x6`OMHP!feGjgnV(<319TP}h}U9<(CsIA|MH%?jL>>_JdlXk?j zx0vv?%fa8T6bNlJp)yTdRpqvtA4*-~g-i9%o_ZsS3S}2r%jRo>kC;C&i>!M0`UmFg zxZdtwziz&Z>n-l}yP#ZTy``^>r|}k-CyM<=`x;yLkQot9F0^Xj==?X{h_~;I-ia@_ z@aMfKu3nAZS%^PR74{V2&s{}N^3QjQUcw(yiU*H|2H7v$d%*!Dua25=(7LPue|}r= z_W}UF6uUE4nzFC9OZf85K^GZ^ZME-=-4ECW0oeVqM;Lt`i9H`HxxnxtKOg%(Z+t)Y zYQ~LMW7idd&viw26@kxPMK9wDBH6#SKeT1zx1b0@wm5G`q35@wJq1=Oy;ZbHTnhq= zWJv@Iz6gwe_KVKt(MbJP`xVr~is58a;ZucHta_{cR^fF;krUtqhTT{Acp=#7vvc%W zWa3sBUfY5mNphRgqGPGa)6<=<2Nn9{UF{qA-p9AVB81R5#D47E7K2sLluk zjXxJ&MZ@YdAq8QPV}umyHlz?|LJECb82{RWZ!iGc-zfNP0Yb8WvzI-_c=MR~Q#Qk& znpapd4qahgX90elb-x1KZ#`{6ZfuMoVzZwyUuKAW*?cg9-sFkM6&C)m2>#q}J%xB{ zKgD9``(%NYmz$L1a`Rymt%^KkM`FJo`LBrCB$13tFs?ig%#r|jtr%WhKNq*=&hw%y zL(CY!#+(r8HtZ8l@$T5h35b^h;>O=Y%oh8QQwnaeZ>!v7>Y#jr*$OlQs|Y+lBeDyb z+=GoJuov28mr_}mn)oC_h-__<-w42OB5zB;+mR0h;DgBDB;aq6FVIT%7pz`OS&=W107%?{ER81K5&1sup^uSnYj2P2Ag%y6 z+TVvC;_3sG6yMzn0Sr5d5AGJ)TXa&ijbUS(`45xSeJBfnvektCwu*bYQ?TzacQHWi zGCx3xRrUww-*Aa?_Q+*2mKpZs6M%5SVuZzq5v2USXK#-_QvmMI6ugB$qO~F5e-s6q zkD_lClzw)~)po3UbgX*JXVIgR>SG0OqQ6&y;rgxUz3l(*EqJh?Jb-<8uW3J6@EC7C z2I`@kf`t7-^hGjz1wEs=K!jbKe}oxchHn)TWE2}N@;B3d2V4u2Du37tJ`egX4ZP+H z!vIND3ZR<>Mgd7)!QP2-8Fn8>4GZlzoI9ej8N!45qPIkqTJ49N9S)MUr<@n@ z2O{AN6C$oh-D6B!{!A$59AXuDRk~jBUoYAJ+1UzGpx8%>g|djt`~&+Vy7{HfwUB|t zd1iHkI5&H@^<&=tvHc7DVQ<`PZ?jPcrdZ-UQ!(GPf6lZMoq4bQP1|Mjq1A(8_Qik- zyW(t{O{|>=$t!Qd(py`BPiCtE)l6c8~c*Hqb9}$aE&M`1@5y zcfWZpQUXyQo}DFiw9EXBS-MtPWUaKwZ+L%^cOT?!0b`zGe}@hDEDF36c-C5N3Zooc z%a4{WLYKA!5C8}(6j;NhVn!%zai@GZ%8xi&T6x6Lo{j5H!i|%9WHls}$qQhE1wH2A zTg-)ryS|MJG=OK z8^52>^|Y&&qMz6jL5q44&5(~;>|J=$Vc6T9mmTr^!)Wv4-)=u(+ds5>3+z1wyNmFE z!TGWy20exxq;NnZ1|?z?gCXS0K-wMsZBz`xI55~8v-@JZ5x4sAOhk+j4EtV;3&nWA zz~{4`aJ!Mv*n90B$9TyPE*x%GA7$9rBFnQMMpFT)$TuSBa(6`RooMS2-aCB}8KwPh z`BtE}^Jnm_q z^9{$o1F_lOiO5Wyxu-8Wzjo|*og1ToMjwjWkD^zzUxRWG&fHT}>R+(ciWPscdLVfJ z<0DMvVd589`D#)?nv2zyX;dT04cu}sZpK+Tc7Y?HcjMTHug2NPER#8jS5!Yicm+^= z^_dsv@4(s756%%FUEL2(J#c#a!C3|zO3IKbpB$_PWEnnO&sU3!fm7cP4ktO@3kBt) z^Bi#aJ*TI`mvGgahcbR+NkUYic_}mBq9g~R!D6*xV4aB4vrgvCZ)mN^ML>LoxOYg_Sg zkUD2Av&D_t^PaNR1i*GrmT*DDF?vR?FaZvVOJ z9;8j&YP-Ew$x@d2c{m@x^?i2hC)armVg}K(Ms>_~MLMc=x8t0smMPj4&fbd79V7Kw zzaoLJV(KU|zVHPOzNBgE}{DDMhUULT_TJ{&{IqpbWSY$dJi zeQpGhyPb;?J%T%Y1N1VtWUX)}0fqpuJGU;B+NDbg$i;w^XZ2ngspEJHi=Id;dp-V5 zC`I}J(xa4bNO=G;{{T4a<89%V8}7ftEf;JuHr;YB02~zoFGic-rd!;4fJwnJN8>0S zD+LhQ53=`@{ouu@3?pf9V?W5=PxgaTvuN5d*blPzV`M!j*lI*|OYn20JnZNgL_|I5rj6Z=2oZS7F?zJp)3ovO*Z`1wPPXLmB==*9* zp=rBws(LCWYmTIXDCHG?DDoCXK+{oqR6VYRM~Mg-#Nid~^}X@hUWWlSm`4$Z_Ns*I zNqgN#P-vqqmH{elQH?W7AKYk*HL$z1#aXx+=EZ!2S%%Cv!hT4KwAcN>k@n(y2U#}Q zt1gedv@Q0asI-Oe12si%Uu;p0GSU{RuY4~i`tfSzqwN$T1A(oR!~g5kBVu>a7etq@q+^rj#IeTDnI zd2C8F=IWd`iWz#gF^Fzo!(F@kzF<^*v`u>;GtlzJx@z1XxJ_x1@J3sV#e_4mZ@LZ$ zVg1k+N1_{*u`YM}+J(~nwXaXPw#ePSFduKf?Q2IKTWCGA-;wPLA2P`AJ_8E46DpB< z&fdO={0MORge`z0O78?@H(Uiufpvn}1u^3B^{w${N7T8*`G$;H92{1aGP<#?@Qgw*1GeICL(| zFR1LEJBQ@FcQUSC4?6U0Z`19aE9c4f?)wf|q3QNjCt4is<(1cG`_jI8P)N2fwvO;d zoA#d4e_XAHA^MA})sVHnxcWTmCHuJCarJ5l%xGYlH-`l#1XZa9+oH8m`ZSL(ZZ=?iEWt+7)iT#1O--CY^U`DuscJXwEJ|F47LlBVjG+U-;j3yv7(;w2X=29fZh9C zyQ^=^ePr}URI+_#?@zV%%Fv+9{>e+5pj#u4Spp`crFCZe%{Z!t%f!imuUNFCf8$_00@5ccLB&u_YcQ=bPX>@CYsBG_Z? zOC;$7Z`sSREd)3He7+v3j+FURbkM-2BgwOXLJ-ueE^wb0I+DDGb0`-$qj3yo)BuPc zrHe~P3V6a9(z755YQaKZ`F;I#}Daauc0@WQS?5P4)*3GNB?;Yp;-FQ4}Bbb zr>Jx}e)I+^>K=?48cRIM0fHQHGy+Ubd7Jj1A+G=UW&u%XI!5gloGe?@Tod%~W(L{fas!BaqXZ@8bYzxl84dHy-zSv?H%1K+W{|aupFJQMO z+h7(P{lo*xfx6)v<8Y+Ly-l~%D$t?D^JSigEYo)9^NkWutG@xxP^cj4&y-)2CeD;L7#%lHkU^AdaFyL%kq!mW^%s6A+kp@q{X? zJXB0FkN=P?+cIZgmu)$Bc6u)4kv@jUHfqWlzgT~SG5a7e`+{t3nYa~n3P>t^Llho` z)7?1pAmedbj!Jns(i}kc1aQs;q%VMTAt20}WGU^>QXcB(DoB5X;HVG#;?KJ^cXO65 z?*7&O97DaNKhsx(oA%Xe;7DJs0|LD*xG_c@n$*5pjs`e0h=42l>a|E8q^~XwI~Z{2 zt5+dUkiL3BRvh~3GTf1IjPiuhnA_ZlJ2JOHs+DDqtIQP9Abp#Tho6BIuCJ>3fHa!+je1myf@Jg6uy4?6!A<`{R}Ug^ zzN~auf;O$iRQ8OfmU%6X^pfC4o9;#3rA>49JH4*GszD&EM%v;{_(p&IP6CZx+Ty05 zAo>c`#VR5>a{#U9D_uSNW*t&AFwqg`a!yM%x>mjwnDmL@Mk{lPBWdOF!JF!et#Z3-WnIG{ zDy=*U8NRggS-2VYD7H8Y4N+S8<{$xm#R@?lprT$!X=vatdk3yHA$y0gJlYe!?s@`? ze<@IT-QpSt(Bd?Qf!P#Hvutc}tMFoqY;pew7y)ra3EE<=YYTD>Z?wg3*A~@4fD>eF zw8a|N7P&LMTU}c`oNkkG4@)tn(ON0lhzyJel7x^Hg0pSxE4`(7EdjpUKfM5k9g%kFTx1iDB z=yzY*JKHG)%^Hn$d!Gm#+1|r;*FE()z+v;S%yu04_G56PkIlSL`&be+d?1K`EBe@H zT_59H=i!Y#HJ?<-p89dJ3~ls7Hq!ojYDxejLgrUPGzg%t-Umr#+?WLwu!RISW}aP; zlzq5-|2cS{SBx#o%5`jEW|n0`O_t^HXO>`W!3QuZwp2sol-}F4Z`6YhZbF`8y_@Rn zWAhFD?wrdj#LCz|Ue#ejgrM%ddGw>(`+IJC56-^LGKlRutUm^Q9wnAD26msRLerBj^u6r@u^Q78(v*5x#MMP!N5E>h2hTo=YH) z%ou|+!)Y=pMlGS|>~S@0i+Wwu{j2?lcNh#ZpY9TIAhytPjKAl~IL3@3xal~y6F9VZ zzPx4GRobR|fgR4?Y11jLP45meQdf*)--97!9GjmNhjFYCd%ifv7;h%<2F*1ye5RpD6dOc_` z+xB_-4`c?Zklo2u`;VkU9LDA#G3`H%xbt!N58J!+A9_e|)Bf`l;PmG|jaO^`p}=8# z(SP>1{*wwaQdjhi9_;=3#?M^eI1eSm@rSa>5Z|~)`vz9O z&EXrLf=wC0EHk%nY#)GcOh%d}`-|MZaUn8T=^OVc3uXL)-5Uqs8`ZE`e`BH*LEmua zl++ww1dZMO_{Oh*vupsqA?f7zjU*U<9C3r+P4pKx-W`B%oOP}Cjgp+c@uLCw#_j?5 z#x(=*jiZqpOW(+yOY{uDH@HS$f4;HB^$mK%rr={NK>h(5?7!HjWE%^MrGl{5m7BAX zjByy~=u$FXHIOo77IXwo!Uw?@pepZ`rRYB#>tw___3c29x+9-RXW*#kEv`Iyeto;Z z^`B6+-Cuz}bp0pyuW!q*)BZCD+M?xx8~dFGR7b{^1Sp0#<}Jg~zVIJ)KLW=v8v7=G zGuvO^^k1%z-2ys{M8S=H(=S~gJ1fkH=-{(`06x~^`q(U4$j3_OEoXw3?3;qKm1@*J zsJ~qKMz(L4v~Nfp>Sq*+2F2DnNiXj77h8HzG}rh-=d_!EBV$W$-{7xrs2b!Emetj9 z|Mo)9cjLh(Gbqbk4QyI2xY0LmAE|xgN5PxwioS8O>l=q<#i4K155PCB1uxk*tpgnx zFJq%`OhkK^@rO^gvuxnAdjP({wK`?|sRt2S#oM$^>xA8*A9qyS2PEPGqS~@+FZb(3 zet|{Vy{{KpBmkMX4fg|(;&`|uF=9U<=j2yvgaUv+;Y#JxJieP@V!3H&u^_s0F=z9+LAnqReF+}{szuMctG z6XHH6#67uR+&>I)pB3W1H^hDM$He__A?}SK?jMG@FZ-Cdv!e`n)TE{mcXq`AoZ~+o z;=X>rG;fEvFAH(!@7+P}YeU?7_KSNg#C=tWdwGcaMIr86_KSN-h%Jw# zy?4L3mxs8o4{@&!alb0W{rdglUKQfr6XMQa?}K&!YKVK^esLcj;=U!sy)MN4))4n? z`^9}^h=qe;r-%1I>fy%#C=wX`;HLz9s9+7 zT!{O&5ckFq_wR+c@7yo$M~Ap?4{>h_asNq(`>y@sUKis2aESY|5cgk(xWBev+$V;( z?+9^U72>|fjQPM}ltZL2z)I|%Z|1uN34)^x50$m6BP1-o@Ez%z5x zBh5bCKtYV`GBLbgPkL|bG;U)=8wao-u@o(yq6C&ayczqoG;ao-W* zzAD7MKE!?aesRAw#QotA_hljObs_H6`^CL4#C>~+dsB$}@DTTL`^BAK+XN!Xq-`PY zjUn!EZCy&m`RDS)dELi(baWr*$lN~eK92NdU%=iDRq}1RkMm?!5Wjv@ z-CxdAcik8KFV<^fAL=3N74y|dp6XhBsI8o*k9$`8h8ccZub-m-!L56XH*+9n*3^u* zLj+m(>g@T(|DxR~6Tg!5Y=H`jNUf!ne_sO570?gwW}B&oSic6&NaP8qK5()>Y2OQ+ zW$W9Nrwc=U7YZ*?fUz{UFC|7DD-zwuGgh>R&eY%+zYnlT{@G|I1|@vyStFS zOvt1UGfPcw(%BAYBWa1BkGGu^cc5Y$fmaf>JQ8vOAj_aY5EuCRSqli`2203Nmjl8LW>b)B0ofa%^B^Fvx%z>g z+c^)+_JGW7!P*Zp1K=zdUg{|hMxBrL>_Kc2nfEpiUqRU&JuRuUcpoMli2 zXL^)$CIP~qU_8itLev&9KZ&!jJm)GLjyNQp6d?5hUKa_RY9Hn60b%>|cs&3}P#fO` zME4*OdS-hZac4(BW4{5;7R4Dj_&A62{?ZPfEefFZ@_;Q40Yr~Vq|8SGqGxZAkST!d zg;#l=umTYM7L&yJEFg6_^?d9KK!UZn0TBHTgDmv`Al#&cShKw)xk3K!>AgAp9pLaS zWsmzVKU9Gky8@7V0nu5vEcF5)>jP2r=YWtG?@OHb0I3UDhhH}AawTkD z-Ua)Cj%#;Z7^8tx=i(4DpQT)R;&IF>7sm&o*t|A)9&mz?6d=_og+QU?*+RE4(dzxc*#&gZ6J8+YfCXO*&>5SR&Rf9Q4d3wW{%4i~#H&RKt{By&4qH^a z*b>waaCX3}JUX?2c=|zcqaF|0XwhJs`aS$Yp>e zv3uNa#TAA1eEuOocEEz3O@9i=2?1@q2}pUMEq?^a`T(yYydk(F02u*D6*TWr9tQ~X zVvqaDfb_Xq#VunVAmsr%=K!)3y|q`1%K-8Ecb57xAoXr3(c{Apce<40?A%qCfX(YF0qc zlL2`xV2kO1=;t;flWAe@=lLOdGy!LvD>ETofUrGzdfoy^Fh+e95K1X=;ww73S`(-# zAhKQH#MlO$rhtUs0%UhU!sh@PhkU}b&U=6~21u>(*~S6l=irP84yMrFVo`}w0m7T}!p-xRD?*SP2?@lXdjMG#h^u=5Nd|B}0;C>0 z6svfZK;C*>dHM;~6t|4Sfa66`IRb&qftpUlRS$5zS}Xx%J;-`iJ|7U?_v&>mAly92 zy?|5$$%|3XC>-KN%+WZ8t^5n(1ho1NAU$p?K-_3gbRzx$>Sg97@XESCse=LO3E+$c zM6Xjr*%1!`nH7-mQ-F-a?rHTixatG0SN9tL@pMQ!PXfX(<2{@`gaqXI01z)qtW`I;N?PiRe*04=uy(9!*NyHnpnPOWxTn&xpQSAr7zn$S9Iy~=H<(~6KnNV zds}BhpRefV?_P=m6sb>%gH>0&>#mmewp7}s-rc!UUSrC4tW&WLuZ^#5Zf|RCgcKc# zbfSA!b7yNiU;XV)#9PEm@2)^z2ANG7ndLMKpLaUGIM#_&v8RYn-XK7IE5)6S01 zp1){u!@PO%88fGyd0PDRhQ+gHE?g*e1deT;Si&ZgU}s{T=qxhftzCLvZw$H9oOd6? z$VHfLI=v<=YaH{jx2>f`#r-%&psPciGLe9sP8h42Q}LFTbQfG9(=4s91V{3eJI?%l zd2=?h(m}e~TNCSBlIgg9DLh0@WV6|z&0*H!=~oz+{q@;xou_ALLoFb*PArs>M@=g` z*Tf-YBAIUM>dYxFP4>xMo+X>`-{h6Z&un`g2u=4pHx4Jo75y6s94^0!rgb99@h zw8{DBpRZZV79EdcC5U);VkH`FqC4&fwk9&bnQC0RC_S;IYfTz{)!G$b+1|Ch8BcWJ z0jU6lK7n|U=@io!pRq7LZ}y_a$p7dVZ3qkJCt6ulxeH18F0*>QdL#nRZilq0M0X;I zF?1Zd2Z4^}?$w;UPMB(4cU!u7c{|(d`b823VUvlr<4!m}-o2(X-PVzSHsJQnWWEkQ zO}1F}A|(I9Gv_a!efrFJ=j@O`>I^KEC@cDMR0mGg#wZ zeBJRArAQ>u+}i3A2o{u~C=bqc#f*jVv)DBtn0RqF zerj81YvW91Dcf|K~I#L^=?k@f}Jxc&0L=Vd*C$A z^zojZn%~u_U1oOY^flexiO#e@aOrZToOoM@aJcri<=xHQ8xS8m(7y`ZpiyCt&~o(*;a!TUO}tAHb!v~FH0iiWN;_`*maZq8 zIT*)tw`4R-1iALq>_zEgj%iud+#OG&g{D)pTV~E&2-tDUn^SEq@h(K%M03aNmc{Xz zizdYz=e8KN>k`eYk-E?ox>m&7x)_aG5Uf`;uW3)$isf(O!lLqdUmPuOIoceKs}tRw ziT2};jW z&eR>*scr3`Z^Tz6np-__I#O#n4I3m!pV@y-CfTr=`HC}N~e@iOub zS)mLi&S>6{sX(m;O6cZdXvXuJQ)$FZ(SHc#EuFupt35Td4I%+GnG!Kx2?7`&p3=U} zEzkghQCmw&XfTB?DGvKVo|e_3?IDAqY8B(eS_A}K%GQDWYfXD1-j*UgK-;>O$5*WB zq#lBVIF(R0BBTiX&7bb-j;GcvPi;UK+!0@!=uR=K5C&wu@H2_lm(=HsL_0F)>FCPZ zpl3HU%J`7K33~SPcfV(~AsK9LU$7?8y#cbu1=lv0Ylazw&z;(lUeVsXG8Ht4M_wph zX1>Y^nmbY}ku)K5^*G31LqFdE+YOUyT^KA?I@K z->RPeX@8&*kemq5r~LC0&1=JMu3B>AsS6i%EsD=n<`X@q=Q-K5>uMmEQ+NpdTS2yw zq+0_h60I1)*lWHsI}uAltu){G&Q&!covv4Abv+?53~C0Jjzs8QJkz*oaY`k=NUT?byQ&^chJ|?CAER`$L6$<9v04%`tYA;&b({vc`Wvv@k+Kbmb>7plXV(5KMN z+Lo4fL|9ihN+T_*xGTDHrjXBj2pL_Q7*fmHWcLuStCC}842M0jL|8?@zMvHk zx+-05He{B=!%%Z#*6R90K0MMp_V1Jw9^5{=Wnek!;`rh^WTnTmEe6v;zyF_+ zOmvE;N9a+I;`>56l_h`T%pQ)VR4f%3l)4Fz=$QQZj*Kj6pBlW}2SWPO1oHOx)Y%e| zMTx}f*0%0UMQ6z4dY&F!Nqy_zcRd3qleDU9;=q85;t1*0BGQsZM(36(qdzmv6jCHO zIvkODMj|E{QXZ!L^i(;R5Dup54QP(Wif1yu2Y-T;KOxN*4}8tR$DJgQC5azcU3~^p zyo@m%L=$bPjZaa19V0r0u4X)4ii-?VbVw`K)cG6X{yVuVnDk4}+(_?Nr_!tA9egB^ zJtX@F2C#~D0z?=z^<2Z|40~rA<;mQ@^Kvgm5XM8^5Y~{iS4LaZ_7^^dMhr21Xjy_G*r5z=YhW*?4Zh#{G1nS=7=OCi*=v|yb?1JEHW YNXxB&eD6_rkX+H2KQ!ys;s&_?52U3Z2LJ#7 literal 0 HcmV?d00001 From 2df74a4f396bf4870d5ea7723871b516123a9410 Mon Sep 17 00:00:00 2001 From: Sohan V <66461499+sohanv@users.noreply.github.com> Date: Sat, 21 Jun 2025 22:27:58 +0530 Subject: [PATCH 2/2] symbolic mapping for enums --- clang/include/clang/Basic/LangOptions.def | 1 + clang/include/clang/Driver/Options.td | 1 + clang/lib/CodeGen/CodeGenModule.cpp | 100 ++++++++++------------ clang/lib/CodeGen/CodeGenModule.h | 3 +- 4 files changed, 48 insertions(+), 57 deletions(-) diff --git a/clang/include/clang/Basic/LangOptions.def b/clang/include/clang/Basic/LangOptions.def index bc1f9075b2476..ec948235c0eca 100644 --- a/clang/include/clang/Basic/LangOptions.def +++ b/clang/include/clang/Basic/LangOptions.def @@ -250,6 +250,7 @@ ENUM_LANGOPT(DefaultCallingConv, DefaultCallingConvention, 3, DCC_None, "default LANGOPT(ShortEnums , 1, 0, "short enum types") +// Changes made for symbolic map LANGOPT(SymbolicMap, 1, 0, "Automatically generate a map of symbolic names for enumerators") LANGOPT(OpenCL , 1, 0, "OpenCL") diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td index 190db6b57dd37..b62c36545a5ea 100644 --- a/clang/include/clang/Driver/Options.td +++ b/clang/include/clang/Driver/Options.td @@ -2808,6 +2808,7 @@ def ffreestanding : Flag<["-"], "ffreestanding">, Group, HelpText<"Assert that the compilation takes place in a freestanding environment">, MarshallingInfoFlag>; +// Changes made for symbolic map def symbolic_map : Flag<["-"], "symbolic-map">, Group, Visibility<[ClangOption, CC1Option]>, diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp index bc7f092c56fb2..693b098b91e01 100644 --- a/clang/lib/CodeGen/CodeGenModule.cpp +++ b/clang/lib/CodeGen/CodeGenModule.cpp @@ -7376,7 +7376,7 @@ void CodeGenModule::EmitTopLevelDecl(Decl *D) { // Cast the declaration to the specific Enum type auto *ED = cast(D); - // Call your function *only if* the command-line flag was used + // Call the symbolic map emitter if the option is enabled. if (getLangOpts().SymbolicMap) { EmitEnumSymbolicMap(ED); } @@ -7409,60 +7409,6 @@ void CodeGenModule::EmitTopLevelDecl(Decl *D) { } } -void CodeGenModule::EmitEnumSymbolicMap(const EnumDecl *ED) { - // We can't generate a map for an anonymous enum, as it has no name - // to derive our variable name from. e.g., enum { A, B }; - if (!ED->getDeclName() || ED->getName().empty()) { - return; - } - - // Also, don't generate a map for an empty enum. - if (ED->enumerator_begin() == ED->enumerator_end()) { - return; - } - - // We only want to emit this for the definition of the enum, not for - // forward declarations. - if (!ED->isThisDeclarationADefinition()) { - return; - } - - // Collect the enumerator names. - std::vector EnumeratorNames; - - for (const EnumConstantDecl *ECD : ED->enumerators()) { - // FIX #1 & #2: Use the correct function 'GetAddrOfConstantCString' - // and convert the StringRef from getName() to a std::string using .str(). - EnumeratorNames.push_back( - GetAddrOfConstantCString(ECD->getName().str()).getPointer()); - } - - // FIX #3: Get the 'i8*' type using the fundamental, two-step method. - llvm::Type *I8Ty = llvm::Type::getInt8Ty(getLLVMContext()); - llvm::PointerType *CharPtrTy = llvm::PointerType::get(I8Ty, 0); - - llvm::ArrayType *ArrayTy = llvm::ArrayType::get(CharPtrTy, EnumeratorNames.size()); - - // Create the constant array initializer with the collected string pointers. - llvm::Constant *Initializer = llvm::ConstantArray::get(ArrayTy, EnumeratorNames); - - // Construct the name for our global variable, e.g., "__nameof_Day". - std::string VarName = "__nameof_" + ED->getNameAsString(); - - // Create the global variable in the LLVM Module. - auto *GV = new llvm::GlobalVariable( - getModule(), - ArrayTy, - true, // isConstant - llvm::GlobalValue::WeakODRLinkage, - Initializer, - VarName - ); - - // Pass the required address space argument (0 for the default). - GV->setAlignment(llvm::MaybeAlign(getDataLayout().getPointerABIAlignment(0))); -} - void CodeGenModule::AddDeferredUnusedCoverageMapping(Decl *D) { // Do we need to generate coverage mapping? if (!CodeGenOpts.CoverageMapping) @@ -7541,6 +7487,50 @@ void CodeGenModule::EmitDeferredUnusedCoverageMappings() { } } +// Additions to support symbolic maps for enums. +void CodeGenModule::EmitEnumSymbolicMap(const EnumDecl *ED) { + // Skip anonymous or unnamed enums. + if (!ED->getDeclName() || ED->getName().empty()) { + return; + } + + // Skip empty enums. + if (ED->enumerator_begin() == ED->enumerator_end()) { + return; + } + + // Only handle definitions, not forward declarations. + if (!ED->isThisDeclarationADefinition()) { + return; + } + + std::vector EnumeratorNames; + + for (const EnumConstantDecl *ECD : ED->enumerators()) { + EnumeratorNames.push_back( + GetAddrOfConstantCString(ECD->getName().str()).getPointer()); + } + + llvm::Type *I8Ty = llvm::Type::getInt8Ty(getLLVMContext()); + llvm::PointerType *CharPtrTy = llvm::PointerType::get(I8Ty, 0); + + llvm::ArrayType *ArrayTy = llvm::ArrayType::get(CharPtrTy, EnumeratorNames.size()); + llvm::Constant *Initializer = llvm::ConstantArray::get(ArrayTy, EnumeratorNames); + + std::string VarName = "__nameof_" + ED->getNameAsString(); + + auto *GV = new llvm::GlobalVariable( + getModule(), + ArrayTy, + true, + llvm::GlobalValue::WeakODRLinkage, + Initializer, + VarName + ); + + GV->setAlignment(llvm::MaybeAlign(getDataLayout().getPointerABIAlignment(0))); +} + void CodeGenModule::EmitMainVoidAlias() { // In order to transition away from "__original_main" gracefully, emit an // alias for "main" in the no-argument case so that libc can detect when diff --git a/clang/lib/CodeGen/CodeGenModule.h b/clang/lib/CodeGen/CodeGenModule.h index 2b42ec365eb29..f3f8f2d38c628 100644 --- a/clang/lib/CodeGen/CodeGenModule.h +++ b/clang/lib/CodeGen/CodeGenModule.h @@ -1820,8 +1820,7 @@ class CodeGenModule : public CodeGenTypeCache { } private: - /// Emits a global array of C-string pointers for the symbolic - /// names of an enumeration's members. + /// Emit the symbolic map for an enum declaration. void EmitEnumSymbolicMap(const EnumDecl *ED); bool shouldDropDLLAttribute(const Decl *D, const llvm::GlobalValue *GV) const;