From 051fa5822bd35151a4d76dc2e9cbdb477bbdd3f3 Mon Sep 17 00:00:00 2001 From: Parnic Date: Wed, 6 Oct 2010 04:19:21 +0000 Subject: [PATCH] - added new DHUD bar texture set and alternate elite/rare icons by request (ticket 80). the earliest place we found these textures was in the original DHUD which has no license at all, so it should be okay to use them. they are called DHUD in the mod, so it's clear that i'm not trying to pretend that we made them up or they are unique to IceHUD --- IceCore.lua | 11 +++++++++++ IceHUD.lua | 2 +- modules/TargetHealth.lua | 33 ++++++++++++++++++++++++++++++--- textures/DHUD.blp | Bin 0 -> 44884 bytes textures/DHUDBG.blp | Bin 0 -> 44884 bytes textures/Elite2.blp | Bin 0 -> 6660 bytes textures/Rare2.blp | Bin 0 -> 6660 bytes textures/RareElite2.blp | Bin 0 -> 6660 bytes 8 files changed, 42 insertions(+), 4 deletions(-) create mode 100644 textures/DHUD.blp create mode 100644 textures/DHUDBG.blp create mode 100644 textures/Elite2.blp create mode 100644 textures/Rare2.blp create mode 100644 textures/RareElite2.blp diff --git a/IceCore.lua b/IceCore.lua index b5659c8..4b432d1 100644 --- a/IceCore.lua +++ b/IceCore.lua @@ -825,5 +825,16 @@ function IceCore.prototype:LoadPresets() barBlendMode = "BLEND", barBgBlendMode = "BLEND", } + + self.presets["DHUD"] = { + barTexture = "DHUD", + barWidth = 128, + barHeight = 256, + barProportion = 0.14, + barSpace = 1, + barBlendMode = "BLEND", + barBgBlendMode = "BLEND", + } + end diff --git a/IceHUD.lua b/IceHUD.lua index 23884f4..f64a678 100644 --- a/IceHUD.lua +++ b/IceHUD.lua @@ -17,7 +17,7 @@ IceHUD.debugging = false IceHUD.WowVer = select(4, GetBuildInfo()) -IceHUD.validBarList = { "Bar", "HiBar", "RoundBar", "ColorBar", "RivetBar", "RivetBar2", "CleanCurves", "GlowArc", "BloodGlaives", "ArcHUD", "FangRune" } +IceHUD.validBarList = { "Bar", "HiBar", "RoundBar", "ColorBar", "RivetBar", "RivetBar2", "CleanCurves", "GlowArc", "BloodGlaives", "ArcHUD", "FangRune", "DHUD" } IceHUD.validCustomModules = {Bar="Buff/Debuff watcher", Counter="Buff/Debuff stack counter", CD="Ability cooldown bar", Health="Health bar", Mana="Mana bar"} local function deepcopy(object) diff --git a/modules/TargetHealth.lua b/modules/TargetHealth.lua index e5b475e..42c6f48 100644 --- a/modules/TargetHealth.lua +++ b/modules/TargetHealth.lua @@ -62,6 +62,7 @@ function IceTargetHealth.prototype:GetDefaultSettings() settings["showPartyRoleIcon"] = false settings["PartyRoleIconOffset"] = {x=33, y=-8} settings["PartyRoleIconScale"] = 0.9 + settings["EliteTextureSet"] = 1 return settings end @@ -456,6 +457,24 @@ end order = 60.1 }, + classIconSet = { + type = "select", + name = L["Icon set"], + desc = L["Which icon set to use for elite/rare elite/rare textures. This simply changes the look of the classification icon."], + get = function() + return self.moduleSettings.EliteTextureSet + end, + set = function(info, value) + self.moduleSettings.EliteTextureSet = value + self:Redraw() + end, + disabled = function() + return not self.moduleSettings.enabled or not self.moduleSettings.showClassificationIcon + end, + values = {"Blizzard", "DHUD"}, + order = 60.2 + }, + classIconXOffset = { type = "range", name = L["Elite Icon X Offset"], @@ -640,6 +659,13 @@ function IceTargetHealth.prototype:Disable(core) end end +function IceTargetHealth.prototype:GetEliteTextures() + if self.moduleSettings.EliteTextureSet == 1 then + return IceElement.TexturePath .. "Elite", IceElement.TexturePath .. "RareElite", IceElement.TexturePath .. "Rare" + else + return IceElement.TexturePath .. "Elite2", IceElement.TexturePath .. "RareElite2", IceElement.TexturePath .. "Rare2" + end +end function IceTargetHealth.prototype:CreateBackground(redraw) IceTargetHealth.super.prototype.CreateBackground(self) @@ -749,12 +775,13 @@ function IceTargetHealth.prototype:Update(unit) self.barFrame.classIcon:Show() self.barFrame.classIcon:SetAlpha(self.alpha == 0 and 0 or math.min(1, self.alpha + 0.2)) + local elite, rareelite, rare = self:GetEliteTextures() if self.configMode or IceHUD.IceCore:IsInConfigMode() or classification == "worldboss" or classification == "elite" then - self.barFrame.classIcon:SetTexture(self.EliteTexture) + self.barFrame.classIcon:SetTexture(elite) elseif classification == "rareelite" then - self.barFrame.classIcon:SetTexture(self.RareEliteTexture) + self.barFrame.classIcon:SetTexture(rareelite) elseif classification == "rare" then - self.barFrame.classIcon:SetTexture(self.RareTexture) + self.barFrame.classIcon:SetTexture(rare) else self:DestroyTexFrame(self.barFrame.classIcon) self.barFrame.classIcon:Hide() diff --git a/textures/DHUD.blp b/textures/DHUD.blp new file mode 100644 index 0000000000000000000000000000000000000000..cfd7f4b6a1b88963a792dc51619073e2bcec4513 GIT binary patch literal 44884 zcmeHQe{56tc0c)HaAKTTk4B`+TkEJV(r85qud$j)?ZZK@)1ZA|n4N?y%MYq*q6j5< zX{OMmBcr_rpi)4kfJyredx^>aTW3Y3!Z<~HVcFi3wG7D6nGpH4Pu z+f6w+7)bEb$zeOoG9p*(7JVXoeS)YX7V*ZhfFPoRA}BB~X2iJY7S|>!wOdRckIesn zm^=}h0m$Q`aIx0gO|*`5w1@iWg-N37>V|qn5Fw3`un1bBd77^F8?}yL&?fWy+JvPy zH+OYESeO_I>GJdQ0~taia>SN}iDL$9SBE8yNv90d$LW1mC@&Qf1rz*V5-0pW+pNpc zZ;|K2pM^)_`$4l95>X+Fa9+eBW-k*V6T5GR1>tZPYxN~1 zCYk?rlSll?=YbHz_SXjn26AZ&HP9(y`LNoio(HMR`S_FLJm3@I?h${J*5Oz^4~oLA zYtDlgFdxpJKR*=C5ZOX2bR*Cg>bg2QQXT)afBxGPp$pXb)Z;`mI1uFZU+yzfW@c7G zKVW_{h+l|iaY_V=CjYs@($d%{y{P_B3T!4;n#DB)1-?F7do)7;vabnGRa4lpe zFBF7qT2Hz3=X7uvk=1IoDTWYfibzb71{%dks7YI5@;GGvkA&9B14ZEze!WJc*#mpg zDGE@Ti>RT#t}ac1z-T31)2973ciCesvyMBrupFj*cr;fLOrnW>ZcKN6Z9eH!|JctY%9iC_WtLQ5zYtrg+a`ZC)kN6+==K@54tph?_3!O1En!R3jf@i}% zFt88y=IUyzatM>2m@JAp@tuf?=Y0nZ5C;?TV2yvj?=(Q357#E9ojZ2Gf(U!Dp0?9K zE#yHMjMI~9%E3AUZ@~rl3vBL6EzCnEncqkJ<-TP5(6x}w&HF(E9fdqNrpki~nF40E z4?!lpI$8|-kRzcFl>4rZLj2dr^WkLZ4Hxr2ngNMWBi6qeg1^AprTULkeI6{rTXct} z{tEiN$+YSp+ywoA1wxts75+`1&ja8q(uob?3DzGwIxMQcDAoBNi|YeM#3L2}WPTU= z-fPPN$m4R~?C8M2(2&?J8pKi2cQW+SW=l&;W2&Q{_RoI-A*f~|whzNRyrK^XF*{nR z)j=VU`CsU}jBa&s3!V^Ltq=iH|%+N?!l7 zqj8Mn`LN$#srAA@oJAUFgIZ$$K{X&%@m8NZPJu-+FJ_?;miw}cx4>a6^PBBK4Gnd5 z^0>p_+Ph;%rlb#UfJWE>`w`f$`Ug^cBHe~9fUgkNe+fY5_w|WeZJ&M$d*BM3@c-J* z=fRV-74c&Yr28BA2QWcW9R0L^e6|O8VG)>ivOQpx|5ryp^PG;wVlw}0{C0`|&9Ddb z!6Gp2G*W$iy~_U-pFyW#3u+W*k>3OUn^x^X%>Nk(cryRLzKJnl2)@BEMQM|d2<}0Z z|0&LYL);!D{GCQ^vOf5)9*4wlng8X!`2H_4aAk_Dav$4+tg1gC#rYq%2Ga6in{kaj z;3H4F+vRf2$o&6%kHgL8AViC4;2~be{=qIls-vIw&%cCd!9`m9wzhK3`v1sN<{ARX z{119;ZfU$8(E(bKQ-l4#1CaLgOLYP)z#cqLbAKV(gICZ0cK04h-jn&iFkyAyh<+19 zK2a_#!nzaC|5g5{I`i@TcWD;>fIC0iOqA^ZX?Oo}Gu#0Qf4~X#1$Y=YN@N+L@b+_+Z}s^+LbN z*QDgr3jDta2QHA$`zy|2dn{(L$m4eRE3ZoHKa)K`QEGP| zQ2jp&V1Fb0zo+5<4|$FmJSI~j{^O$kL;Ju0JAC3`b?=t=ABO*T2>$;!Jg65?S6{CH z5~MW>Uc`Sya6RT)8~-s3{?`Iz{%`VqxsBz&KE!`CBmU==Lqs(-wU8QBNM#Ce?AL9? z|CRO>YhnLQkFuO|`z$Nr+ah6XkMGnJW-XP-s<=OW^N zKjyMUW9kr!rtEM)Wtsu-&Xp zj{n|^`M@Caf1}IH@!#fki2u$){Qozw7gkkOsqw#YGNsN>Gx9$!koODWisEfjhAGF4FQhklbfr@Rd1!#Gl{uYV)fN z^7x9gv`6v>Zh*x%N35TA!rlvmZ|WebKIwfa0DGSqI=`hC_MU=*7iE51df#tLw)a`x zf45n(_iIE}G-Hgc?qh~7t5wbSyDw2w=fw+>z8{nLk8}^sD*t!C`YAvjJ3N0`%=|wE zeZK+qKPwlyUtMB`y-=Y4?B4qy3-b;lV{c66ir8nAH4~0+W|CICaAsrMx zy`=B0qj$Of4+Q@E{!#VCA2S7vkocwgUp5%{d^MtnEoJA%QPguGYdi*^<`R_!~_ ze;)1J>czMj_1~Tlx{a;_2FUxWymudxrqoN2^$8h%`90_lkR70Zi@^7x9~-^up> zQ}FKWLH*w=cI0=~tM>hSDVh?mH0Jj}UPFVRdD!;(%;$O@TXXso@!W;J!8YrveLpbe zoUFKf85RFf|2Z2dPC?&S>pP?buh%~0X&OgF_ub=&=f-)T(C-R;muq3(8wgY7TUkeSk ztv3Z{5zUt!&NxM%A)W)ry&BJvdK_Q##N+7y!W#aqPULgJp)2$IB=}trT$T5Q_|+jX z|L<=#p#MuQDmsnMqMi#1{I2<9>fpyu0ZF^38#kr>J~$)uJJ2cl^Ai5sXy>_Fl=prb z+WioA{4FiL|70*nVwTJm4Bx@$RsH_Q&+dDkaE=zu;(gTbAWDwk%kMdS=*^_~t&8?` z#RIVC!k427Wc1Mob|dsVb-%xdo~iMI@#fCBd_RufF7uG^qwgFuXf&(#T;_k(sy#Ps z>HV@IH}i`fdtlF9hxiQ(;yW7ferlkrK4pReEwJXc5bZ?#-D>^LKZwJJE)`~ExPtQj z|AGDNHthG$p!e%;l#%1y)wA2Vv*JqXrYDYJ~ndyZxho&NA+Zp?0wZrwAYt1j=w{F z8XNT2YdGMR(9v#T;zpr9D@Q*@;Y`T1`h^L^C)9M{WK=eAx9`o&oXt?Xo?G`#rz5IWsFGhpThKgNJ^uIPYte-`{%~)~*=V#7Xq4%F*jfxHbhM zR)@I1SxaNY8($B~{mJ!vTad$f#9tim=M%yUd<{J7J_;axzD9^r! z+;!{-^V7~^t*M~EA@2uulcCY0V`F2v$W`Kc<^DGIXH_Y$Ug>v;<{qbUj_)vGLzM9! z36;5?d8WUAE9Czn>`#-q3H?lh!PR~ypU+;dJ$J6ZpYv6*BWCVL zy&|-;RD8XXcsB=l`o!67QvJ4URBOl;8_H3yr=z3AqTHP@jv3E?mJhFvHfb}spAAACfH%s^rK|ctHKxp)(&1m0~7Wgy&izX581dya5$U{8;(*b{$ z2YCh*O*R=M{5hUCD#A7XOND0hE?A9~4P4KFudks0N%KE|`9CC1jfBo_+qLWU*OiSu z5zl?z|G#p=KEV55AG)_8rgz%ut1z3>VgH{-Kcji%GoLBc>vJ;1R#dEn48Z+L(&7B$ z+zyt2T9MzC0f<*?7J0y5+t{Lf`H!O=nF6hdZ^!~5vQ3I;z5@IenZMYAY;NTA-Y6t; zID!fN?=jcq+WvFr2BOe@SOXfJt<<7lkMit+oZk>5XnTym!^HAG!*eb}&maHu>eVrH zE80VOG>mv=)GJaR{v6*A8%RFtw-gkt=JQTD^Lq*k3flFO{X-k?-(6L$IQ)%>b>#Ej z0{oHA$n|T&xB_J^UqvKh-j%g-;6K}?%=o5=xFgkXY4@Bdbi4cC#cBTw)_9TcL0)g8 z68#~K`xYDM;*h zv!j8|$G?8hb980Bw;;Z!PJ!#a1-i{RB)q}4CT$7FJ8`yRpV0d|&Dw5E_{^2{uAq2E zj__>ZdRsOG{KT_4mc&NaF$2zbH{?4_0B0P>|FyK#DAE7BMrFGo=#TsY*RObS#%9x_ z8WjWgGv|C3X`rkh-qK}SW`CY7SOR~)j-I74Dhd~CZE$ctbX2)te1yi!v7eeCU!wOP z*8tZafq$*$QS<}%#xa!qop4}@yya8N;pH&*A2{&ErFR}W{@?q8rRc0=Uu1jw+c2;q z%3ks>aX(aBRrN#nudsb5f(S3}*R9uRN?5+j!;C0%6>F=i9zj1o0eKVm>?rq(HJO?* z7sI$h9+t1`9=?BNDc-Tpf$u~48dDU#C|SSZ{FO&ikDj}wLEdJ2f(Z^s?u8k}Bk}V* zlJ93}9~al_mE?Wt`@>{&8z0s8^9)!Twln^w5~e-tm>h5Mi13$YU@PPs?pMp-KZFV; z7op$PJc53tr?L82->AX<<8ry(d02hC205PI`UvV{uzhbXx)g2gJ!U}pj<@y5-eDc* zJ=A06c<=9RSN}glNZi~X!e(;>mjcTH=oonpca!$qw_FAAAp`68^R#pr{V7qNn&Ufk z(M+CimD=7pAV4l#rs{1Vh;Gzu-!R$uJehrALl=& z`w!a_*g6CI)F9+j*drXgUh*g(^2-B%Uiu5XzreoZ$d^8!M;zbtK;MsN=N&tQ^9mpL z@M`7zIrzsO=<~ea-Z~v-`I_wu8>H1nbQAH`)~X+tHzR@ZXYc5}y3!uA_T7UA-+CaX zCH<%0(|^(bP$ZY*TWa_1ZB2Sh`e#HR)5r26c^}%1w6k(2vO?BE1no@}kR?7M}L8}#G-cVBIN)dq8?7)K$f zsA*C*9}Ry@2x3x9H9Li%BoIw9K$OOibQ;{%EaoFaJW6UvAd6R8Wdp&)e^jGx@U!3k z&NI&;5JF})=|1SYH_r33{do7DbMHC7^KtKccWdt7MKQ*rRZ&rgaAY`Xj>YQ}yw2kF z8@#$1+t|a{n|S>rUaOWv_=OfP6<*Pd9l}A2SIWW*2c;+!P$-~K;6+g&lU;TM1tC>s zG#VX{QtY>}!nK9-kHR;JVr8!~hVKhs)J>JY^F2}^lMR}1JEPI_N4C#2IV^+(LxYwX z?a4=cg5dRkHM&3L6D^DR&!WPRchY}d7!K{fk*d1hp|i&_HPf>?_R$z!Us&)xwpzK> zpGScVwwIZtOZW2Eg`hv=H+Gp-_O!G#;fDKH7dR_t?9#Fi3yj8(xNwnv-xvIBwtlj9 z#Ms4{2NT{ML3L}Cmbe8|nm8H_zJ;nyE zpL3UcEp%R3kYBREeop#5H^lXEEnK|`AN&y|*vPwQArs#0(6XG-V`+@VunlaJh)Iq4 z`MJ_{%2A#aI2_2ms~u*&sjw&FQ2bWmpwJrX?{#FUiu0;-B>w*n`u%+ruJ%cJFd__v zAQSj8{9c3cL%P5n<&C9t8b9*vwbH5x1Myc0UXKL*P`2NRn3U%^#!^u34&mgs|)*?J!| z!pPse5gtF@Sbw}osq6B~fmnlWg6v%wiKDZ0}U{G)fMXpqp4ilQNKm*s!ZHN6& z_Wm+?FvJbQLikMTB4L4GKkp{{aK9yIH2istXn-pIB8f`!Jzfr;=Bs&ApcnJs?(rC% zunyf7-by+L94K1Ge_#QsQjdJzyZ%Yw$u~PvRmVEgba6lfYL?DuJShB^s3hNGt}k;! zJCxEVwGe1P!~@@5Gpn}c<<&_1H{l0Q(+5{VWFMXbo=k;(X!q#Dcp!?-fd}%XzpET& zN&yG^f}LiEO=uqB!BBq?cz}10UjrThARzviqe`up#)EX;!UGS$Mm)a_@+0gojPu6( z6T<$&VtlF;SyP~znOQE&klGmV&iV-xj9<%A9ZS>cEL;`*163>f2Wm&StMD0$@dX+` z!X{x0FoBKcf1ctWkjN_E;}hOu#^4_idWC_|t1j4gI=lTKM;-zvN9TnQ=u786u;4lJ z7fT(4zZmjkR>Xr4A0i%%hL1ogYl8xpgP-z8_>6q7y<_$W8OVrp6qJ7fH=uIv&Ut z0459&{)0K-X=H7P7rCS99MfNk7fFPZ>yfO1lkAApypU6}2N3_&>-EHMvIka-7x`*M zdqDCJx?{a@$RLQn*-ZHZMT$Kj5mv6pusx8eMf>97G@1b7g#o`$_yGAMqsQXXD#Uo9 zbwzuyb_5o|Fn2}joPG=RZ z!Ik61WDAmqnB+qTN@y!tgTcD|4zsGd+N{KjWy3l_du#;;s;SZ8O0QO)T-@`k5k#Asu0tw$o$tPWj-g5i=jBqJ*I(Rxr{y@Mvj}yKC zs&r2F+*169TmdmcAoU{vUx3f;^X6l`z#T9ejr_4#)GWmwlt?7&<4OJ``~gS!t!3KB z{s2UXDF27>{4)M8_Xi+bWYS;V0DmIzLmaXPfIFq6&|6Dh!1N}HX$~g&bF}WEQ%+VDE5RA?h92DV_B*^l-2kTU!dp@ywr^RVU(>{O|ld9+s~0dtoQ?E%Js+1Djg{u zrfR}RVtnr)Jc6iixsIef5C8ju;reEW$bY*HzTl6ML*8AJr6Tz<(tkxQNWMeM`KjD*5w-ezD%T z1^u0c@;v;nM?B~Q@SE(19`N3YO6Q9Fmo3{P4U_mE!T)Z7s`FK>AIw2njsNw5aE;^> zh}?Iw7BRn6k^d1w%k)h~pH{3(_LH_%BnoN1CN2=??_3ME-aGE9^fD z%Bu69uNU>duXMqG2>DNy){iOjKSE~Nz7ggBV*F3&uT^OM_H!*OD=S+S|A*0EC+|N% z_|IQ zOqeIg2OPnFlnshX@jvi?Rsa8j|2IVbUYh?q;s4zV|9|{HAby0h=vK;G8B(CsSL3S* z)C8n_K9T!Xek;ZQ5&kJ&4gd9p`Vavc63E{}`9l=_*@XBXofj4wjWX=A(xgQcAl@Gh z9OW%P!+K8OH*Y24zZLF^o5<%ZDk@nX|6dpo(w{)=7ZKnIe_%?>94Lv1|0XE$e~CP@ zKOW_q`Lq1lVA4YV2UZ7{Q~r-+zb%{pOY%RE`{A9%jv zYT)JIK&S&bfF!TUehX)R^<)1y(SBRLKLGI`IbhQDKIDG|+`RMF=Zp=Ej_PBP{}oLe zJF{`OtMZ`dzviM+>Jz)n=rUqto- zazERGjlsI=2CN^*$ui5e(?6tkJ+UFw(vD}cOsogal|CLu{`aKd6W(%_rs%MLB&`Of zO8I-aD9iZY7ta5dt`FKmJ40KAbjtrKgTp}jTsg{=0w!$TVrG$jd;)%~|G<6##J>|K zMn|n!|55Rb{Q!{vKg^BPPLjV^^cQRr68#DOc-kKX<|0;=Dn-^5IE>X_r`aW`jl4VP z457Y-{ekrQ_ueaCnD8sjf9wr~6=3xN()UKhd%YXHaqd`mG@X;ZApKqCC{qfY!Rk*3 zbD7XQasGC}I^MZTBf@0BUn zBh5;=o$^3CpBaec`@q-dw|Xr_@Yh3p?^=!j7YLf3KYC2bM~{N{HOex;2HRL7vsHd@%b>od&~X%oVfpM#J?ZL zd%T<0cM;xGi+C?a?%n<&w~ze$nGyjm1MN)+0X*LY&xg^ab&zl0iv7PYz*C3E0~wd$ zefajF^CQoL2=)i-Naxdjj~0vK-<9Yp+haBSdtanDr1sHXuOX+<`bsMUUVqO@zFjIN z{NSm0Z=!a#c6LGE8$EWv+8^(Qe~kPWl(!3GhpT^evj$xK`tlxcPc2J zTk{4!k75B zOx{y8A2MIMe%8x-gYID6E!g)bMsuw3@a;t5ON#g4`7cK4cgj&F6v#w0?iQiw{kgD1|I{Z_z?n&aC(A=lW`ypi(v=aY3cC6hvNdEk95s$0cSF~#W9@%#!?`i)Y*mr5}s5;npo7gXK zuE_h9sQ&->c?$e_hw+S`h2kLY3A~@y+cM2*w5d>9p`RT z()vd$t?q$uvK0S*|N3e86+sxkB zgZPad49Anb{gc8u->b;yC{1=4E4bfq-d_nfD8J8GSoG6jVbTwT*MG9vtkQLiTJ?zC z#sT5wApe{E0gL~(@_y}6;N7b!Ws6%K6h{pRy-g2eTCnP zX|;ylH<{2_u+sxi-*9Ir*sTXYjhf`rSayxgB?Q#_n(=(MU3u$nKi-T7dmm=-Y=-Pv zJDyK@qoNW|uc<@)8hFQ8kbh^_ptEzT)<^m*dqAflp2lEBidLjo{@T}XV~FP+V!4!` zXV(~wJ$Sn7TsdFqJ^;L4Y%p*EZU+9_-jQuskLfWQ)$AR1iuE%$)@S2!&TBtElNhAHB^G_`jQ^I`rk z4k8~5&*KO`-P6jc-X-}^m_NP;^P#_GN)P#;JGcX}N?zj20*u>p3v6VEH9@owW9 zxl>rbMD`5!A1kSytL3=|+)Q|VvfZ-*ct_2W8PNlezg+wA>n2D8JpWq@#%k ze9ppGQoLu!cEfgVoTLHQ`Csr4;cMeRBU{r6d2j>s1>{+O^1wQ8o3@SB5&x@gHoYhh zkijNR_9-?OGq-_H^dCr7?JyV&(&y{t=sER8PrI|p`v&@-jS0Wh{+~~Lpq@z@|1sf( zYD>;~l!p&ZbGgBrzy}V8MiYLTiA8*#3HdX|cMaC{o$7RwKFkJz)(hXIeq`_|^Xw6O zME%o1A6O9UrRV#Rex&F9c6LJ>+^C;QFT;M_c%G|t9pMRxheGLm%^n}I88*%C*ONZ5 zYcw{FYMr>Ak@h2jKA`HeQ~o0g?N+}5>y@+6|8bN$p2O6>e zJLp3cZWah}o_kOY`Jh4n!@G4SvU6{T@xq$ryVURjtZqOR^&J%6DfFHy`L`)Q8CU>l zfSbvH|BLufdzDlDIXr6XV!zU}tb?6ppSm#qVIF#VfQ8(sTj3Qb!G`YCcW#=S-VFSM z?t79L)ns-H{z4ib5*gR*@lz(&Bk+?!{Mo&nm-FLA_`kRq`3#!jzzlun@n|$8`%a-|d_wE9ApdCoLk6mM zgvUo%`X#b|g1xvd^q)u6f8*J&i~O~d{BMN*KiMpf?*i@-v|oUmrFqPux;}+(30akAk{`rseGA-dlU3m3Qv@~7T=rQVXyB}p>bz3gh zCsO{4Mnk!dm57Ovyw3;zub*nU(b?bGqqn9a{&8&G;eXSdX>RXS(-h%~*>t$M=lC(_NFQg8j4p>_2CF&%d3z)kgfkw>x|HQu}v0c}D#pF`#aQJ*2mo zs~-=XHT^CU6&$OZu|2AquN3>2W2r{}Y5iWy??nE4JU-Q2+*EWwqwfuQd28SQlYzBO zhgiE7?8EW~4R4t%p90>Y{6)j|9lMa*)(gyYpY}7M{21Dsb`Se8BYn6F3U5twof?0M zeZ%gv{}KJY5O}2RN#?r`XbI01K-;B<~^Zdt7bf@AwfPaSUYJ)_i}%9nebsxYXlmoUzSYQ$8`PvUl6I zi}DWhUHblkI*>TGVM?6umg;pd-*Z_L#{5{$&$O7&M*Ey)3i!TF^l#-Am*k7HeTEAV z-obR&IPol+WMDj!cO^)OlIXHlkJ|Y|!At%l!4$|ZyDkm>txD|Ia*(Tp{{rJ3{;f`@ zt8L~djnMD9d)bz_g^p@*To?Hrhc_m0t9IqN<;$4(pI-`O_mF$UCAv2DQf z*Nfrb-nMJ)%Qx!m;?mx9_n!5pmFyLJoH<9$y4ZDgTSfl-f?bB~i+}nu-nZNKHl}>V zCdi)Nz1v}TC3Pm()^T4E-n8L^mvPT0{^m5h#lB|kq|f2sG?tH8Zd=D}uJhX<|37Q~ zCLHZgV&^d*DE|4xwJ+kN33x-x=$|6V}Rps*0nFi-{#HH8i@3+L{)TvW+aVj_J-R>L+m+->O8TDe-vsJkv|X%nOZ``i97v$~ z3G?Hn^Z#q>AFMYm_bO&F-fg!1hOrG}G2@XuFVYi(W2p5C8B{^jk;|K?-184@UoZMpxF;g+dJlkN{vAVwfoE<=Os|L}2jF;>kV*8WC_QU_bI$p5uJ$~`ai+zN@cJJ=`B~dRC z^e6fi0D!N?ic7AmBgc0PtMB9ful;?Mb+z9w{r*dKo?S@jOrqHQNyZK^bW3a~+Z_$-l;e-)<%iJ%5m V^1q)&q4!jFzn=a2g@i8!tnvJOV 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