From 6b45e1948462a8feb8618ea810ff2ec7fe00b6ea Mon Sep 17 00:00:00 2001 From: eap Date: Wed, 14 Aug 2019 13:42:11 +0300 Subject: [PATCH] IPAL54417: Hexahedron(ijk) crashes salome --- .../SMESH/images/hypo_quad_params_dialog.png | Bin 0 -> 24096 bytes .../hypo_quad_params_dialog_corners.png | Bin 0 -> 18598 bytes src/SMDS/SMDS_Mesh.cxx | 1 + src/StdMeshers/StdMeshers_Hexa_3D.cxx | 38 ++++++++++++------ 4 files changed, 27 insertions(+), 12 deletions(-) create mode 100644 doc/salome/gui/SMESH/images/hypo_quad_params_dialog.png create mode 100644 doc/salome/gui/SMESH/images/hypo_quad_params_dialog_corners.png diff --git a/doc/salome/gui/SMESH/images/hypo_quad_params_dialog.png b/doc/salome/gui/SMESH/images/hypo_quad_params_dialog.png new file mode 100644 index 0000000000000000000000000000000000000000..f0c381a441763fc48cc57d23e958ed1be5e2dcd1 GIT binary patch literal 24096 zcmbrm1y~hd-!2RWAW}-Vh)9EUgVIPzcS(bEH%PaNbV+x2OLuO%ySrf%XYK#R z`Of#9^13#_pYEj9>sPrzT# z>;xqgk-#5!B!eLE{e`u-njP4m8}@;J`j*5W4(<({gzzUt=cN4w7gfdQbKNIL@$iU5 z7>2LDJQK0`^oiZ3)q}pGlT~BMm5!FSh!s+pLpcYTx0M*woaKm>>c^?F)%h}S`xJXV zP#OyZBf#bHjp$$exK9WOO#)M$4!vrJcByvOo^~-@8LY(IUEUaiNH(E%aCqFeO$moW zNMwGwuWYDeIUf$z(?33&_8=>I4}B$wL}upqSqsa*>*M&A(Ud9+*dQz|XS(1m@8g`+ z7oyYj`}1YIKHmBB7>@O2ajlj&yW?kt<@|mag3~e&S&HQ}XX;CwLEM%pZ2VqK-Q_+e zBU>7prEgV+NV{iv;3BKFzHph*Bx$Fnc6a(}^l&+~O~-+LL1R1~I2}BmSff{;Rz2Lk zAkvyQbAKog^9f4NFOBO&S)QnVxyy~sf%K<1qqRT_CFkL`*$fH})Z;-oMrrn$x=l!F zLD7FhlW$IrEu@zhjP+dcGnoUjogCq5uR;>_UwGe7@Iqt`zYB6lqDoAtzOd$wo3Rq~ z6R?h94XTu*llfs>?uqK`nY%ueOOcSd+95xG8uIlo{8NHx5{_UwsWuhkyRK{EQWLBbk!;zrsS)xeB_fc;(XnLctjnrO30j^C z^7Xfph^lUe#gS9V{5}ii>KL{?YQI_u)nj!lOMVf#!h{w@BgGGor|?7bk8Ws77fuXb z56s2HWHFrXQu2ry>{!dWEdyBtyh$vwt7>r)e3YbE$aP8XKI@sz z7;x43lW&35&uq8|M!Tu|&*V#hHj2Q)^pGQzw$jLJX#fE1AROE0NMvvlwtu ze5s9b-CZlKbRm*;#oguow92;k>}cplH!JpsmJ{BKsl@D;>V?-=MyRY|k*30u=#)fC zAv5Zr-ST=_GT{Tm!>Yw!H+}sf-w&aC|6)GP;j02f^$Z^EdA%#w)YTX~D! z*03GL#K*{N%e(kEiCibG;>;Av`>&&Uq7GeLo5PPO%4B+tV_AHWC0v6Y45(a}!`hRF zOG5o4;@Y7v^ls00!iae;XB#lDeBj0hCz-rj(XZJ|+g{#7E6A8aRrK9CU9B0tNJ83q z{yfKQa9kUm$Z^R`=J9&C=Qs&Om;drbx6mh@S>R9yb&sopp@eA%tr*UrfM{lIY>{(O zahTkb-=eyEF9z}b)KOm@ru+Gxk%@I;*;M)5bqf=J2kGMQk(<+3svZuFmm-D^se(bX z1&vd;A)7*S@yRXecT`pnogSZc0*QDW=^{&psb4v6R&=dvWgAk{U=KwQByfJTR7Ufs zLCnn%k;@yD(z*R`*^A0mIm0vTJgs4i_nSYAZAxsWeY;G*J3UuXvv93-m-z8G6`t>A zPm$f}Irqs_^HT#Jc6ePOcbe|Ki&g73wapIBv|L42i{*j97c=k1_oTnHsTnzqmiF0U z==&(8_=dRNIB|Iq@ymW~(ss_wvh&hH4f!lWD{DM^5$@B>1c!%$fE69$ur~$aPRCrR zztWxgiSpaSwCljwQnO4lmSJUO$DiRKzxRS;!tSJ+c|w0?gMKE~$n{=Ed-Heq0o5ZK zb#Wf^AttsoAtw|41GCuPRmP9>lWep2x$2DzYQNm3zUE2BeT#?eI7*J+&Ai!hT!zST ze5e}iw0#<$C!f%;{4?`5VhvBT6UujKW}Z!P3A$}55EVrEulcJMPdaojFQSNObqh~T zsN|Q{!p6y*60xBpz@4wA zm*{3Oo#XbatYpO!A)}`cUv?x*;{GWio@n0w5*hipa8F!)s49mf$sYNyx8UdGfUbkz zNl61f_fSs9eZ1$-pW}V`(uisr^{s^oVMCyNkD4*b?5Jc zymy)d?G?pOA8}WQ){D5|D)M1MZ5EGiusX-jCE3w>V2A19tKgiR**h{A7}B}{7@2G zakCLyWOb*)Me0-=!qWZnySN;|uZe4#=P3l%wv5O^3R9N@^C3LDC7MsJ+`rv5?Xzxp z?zat4YkAWlswf|D_4y&*p3G$vXHK55$-G|w-QJ@&C^0x-v|+XP$+SBJRiiFPhcqSF ztf%f=O8KD-{x`)^a|%KDzLdMDy?ir4R{(J2$R;iqOjI?IxLYs6aB36_M5GeOh-fIW@VIs_e{#*g^8I9 zc9BlTJWFLiuQvhT3kP45WQU-MMc+IX>-fvqt7YXMK3_kS&bpP(s83$PCX?lPRde{|A`f)9X-bIE**pF&-s@UwG9&)A`l!-)e#dQEU_;)72`8>=raadYf zg2fUA0nR_#?GavEzw>wcmwimtbIs9V97bjtMlxzYjJ8EphrV;?G3r^zeOcAW1}>Lf zRvxFruUm(F>l+(s9C%bWy{KBY%pOk?OCLH+U3ovGbdz{}Pv&v@`TN~44mO~)UWNRE zig|xu`7bm020`t(26+~HH)x-0Hp_pET>Mn1?h#Zt|0JfU)|YHeVB_HNeX09UKO9kL zB;p^X{ureO*hO}rmhU2!xp)f%Bi6{7ct7zV^Ze;#%gz^j{c^_sVB$Mt%TjlA;}c|5 z1d`jOnsr01_q6xli(Fgu$n;)KG!K;Knw+i&kdyh9@+dDE&h|8ri8(%eGLnHeh7?<` zXGV}Y)od(Cr2g>a|Cy9TtNY=Pt@U4TADxz@uH}ZK)mCWWD~x5?{+Lf2lP#_nGzvMx ze~eQ-Do)BCzQ-N%J3cnM{<7E?9TL0#HJeDZR zQQui4-|(o#QHFdT9`gzdQIb-w(vbV*q*v|1Xza{+|5pT5B5|RTfNN*BSdGW3siozC znF_i%4&0Wm@R@Q4+7emUm(ia)y&vvrn$p3b2)oen3-UUyz7u;L5tW=QZ6w3L#kk4* z)mbIQ?HWJg+kNm5G0#|r28U+?|Mz+V#P+#98K^H~v@eW#8|NQ&;qJ zI_$ExlxTDhn39g=8%kEH)89ic^v5g6;~#qk;h0%icE*|lZAhB5WmOd`Pp&MRZZU`m zL=|%w!rU#fc6N5UY`h9JWS8bFbKH)a>C|r3@(d9J1Ii3`jL&!HQq}A>l~rjuS;K~# zuYZwv+>TYq3QSsELpTp>mL939i0pEV)-DhAr-jflUo8alATIT14<-&;CN7VBz@b)_lr*@w@EyVgqB-Evjz!kXGZ_B2?IMe?ZGO(3+X4tnDEcpN+sn zkBn^P=d-{7n~lC`+o`H=kvBItVP1xBiMhLB9S0rdXwU-FFJIN(uhv3^&Y~WrP1n2N zxqqhikp8ijMf`am%Bqv6aI8$SwXN;jH-A$-J)p)qWaE^BR4G1m(r^2ae_d+6!;H(B1=@xgI%anWg3#`%Zhu&iv@WM*fd z-ez*da~%lHR#|k5*==faSaoGd-j%yz4-E}%Owu^soElCRKLk%NxW%1c@|^E1g#P}m z_;9tUF_6HNT;1CGKK7~g&KSj_>z3A{+ZMe#tJTnGMmOI5D&A!A%?nCO%BZu<%*;~9 z3!2LVfxpwS-IydK0dBqs*q5dUuGly@r*p#vYA0(nqWl~o!I)hYHzlZas@K#naXkAF zkD3)MAI~-i-oK;!-qhffrd&X;KJ|<5;o?eEUS475xZA3>UUBKl44KT*0_XW^o!yqn z?__lEML50Wgp*DuH=D7pGn;rw;vq31~?`P{^iHKm7L)uvRsjuQG1sI z5ZSZ|vz@Uz%mX2znHn#FCfD;)@Dxp&cdWIKny{Ylj{4S}Z8Ck^#(=AL+Uu&sXDK{f z`eiD4i3cWp+X<#St2z59ar*XRQQ{283qd3~B|78|GN+}^0WPbP({7O*dXC3vZ-r#d zU63vGd$_E%*P+`#ZN=Nm+GYQPbH(# z=hf)`dn8Yu4HNgZV(XHQe7X zQly;WU_(Yh;V&XttVM}}Za#ci%UOLi{mIdh-EMP`(J8sVKq=+;Qm^B1aj^fM9h>7L6 zYMC5_jTaxdacb%#wiz~l+EPaNj>xGw0q#YTX^RlrY&%eoJvS zdzY7&mpfs`pK>pk2XQTtN%{-ciZppF64D3Kwc~9xViQO<+r1@WP)Q^@pR4`W@d`Pd zv#aarWhTe<5n)uVD_iPHxcV_W2^4bz4n<% zoVQ;wSCj`WG*9F^+#f~CGhfU?nm%kcEje!hY@sUPS1r9j_<>lpSl?E>YBZ>4L zG$9;Qsx$y9grHZ-a>fAUNS1yCPnK-IIk>KgDuNQN(q1j~uOF$DZl9fK%J8?3)sU?H z3{L%#WdF>=lf;Ef&0zbNIFDPB-3zyHr`X$P0p**qI>#p`o8M)OZQgKmavo1+KC0D) zupM=ltzCO8a3>`vo01arC0aFVL+D|A&s)jI`Ep+khkl{0a0?3e;rg)Q+F?Z)?z{fs zTUv5|g~xq3WN_Epv*|THd#t~u-oZ-XPDp%E%Vx=uEjmrGwFk7V+HfLc4#%t9yJV@} zaj!8d3X`0K6pb?~%H?MP*9=ym-bw9C%1gVI4$s?*9fi)Kmw*c@b?=JR+}FC}OGro% z@hG1UV$*9Nq>1`AziAn_2SZnhg1p*L(!Bm%M#an(><@?;agYoFDm*;=c!>@v6>@Xx zlzXd%@8PrYF7i)D0jMXJmtBK{sNqoxc{~5GP<@9tf^t;c(bvnox|cTJHnVZT`0fW! z=sdmyOmjZ$9R_T-fBpRU1Uv(NaQ};6Xl}NvXZQO#iMt`T!93B*kRovK2lDwP-#4v15tk?cn&;<|$t7UC`sgn6w}D>!68_*0fv3DQ+&VpNWYY z2mRQ<^yqo-Go9sz9{pxUnAq6v>ytIp`C2A|@PHpbFq)x< z4GES7T`sP!=~T!O5fPPU6CtFY*J;@rG_k(EPl3pusBX;7rNR>VB!^XPwWMtUPB9%b z7=gjUV0gS|)iRgw9*xKE&Y8$=@%3P~3PuUK2(3QYu8TLId+%B=|An`;wROH)aB?{x z6_b#R8n(a*4G-_s{V>w#a+Y8zf+Xkv4JRlg)hz~4tMsY862hq>71HlQ?LoWa{y&Gq z-}3P-a58{d*3;vEI4 z;!*T)cmIO*Tt!9YuyzgYS5#E^nsTA)CrGyR$;E}??s#5SOc52bLXJ%5@Nndmj#pEg zdPw>Q{Vo&&HZ$S1uJD_aZqo2I&+C;y`F(=VP5kfC30RSu zv?DVz$V1Y9L`N$f*2f&2>`oN$-W|7(7pS0%$eGMmn)=U)AlcZJtGy8w5nVkx8a~CQ zEg`Jg8NMKzZHblkDyFQJCd6S-*EDkn?4;$sG2vAty79VQhRIAhMdIV^$0Kb%wbEk+ zI0miy4zQs0CqB9*6Kk-aJj_|0wMba0xetCDPT{LG8GRxk&?4XNcCp*(^Au4E!9@+1 zLG!Qf2kVu#=WpM>yG-<(y8mSxdbTt@Bn z=`wvf&DtMZsa_=BXIsN(;|j862EDH<`r*Z8Ww+vuQ}kNDKi6z@{+T5id%7MaYx@uP zl`Wa7_%_1~o+l&}lu8(ZE+{Si;pg}4y;R)azp$klRU`*uGo|Hpa@cUBJpGu!X8xsM zVts2%{{vpF>xG&Bo_cxrlGkH0IH%q1xhV?5(_o54>lb8}^z2P}M*A;^S&pLo*Ect! z3HZ0xT+a6)k!Z>KaX>djq*8fU*Z`tsJ5=p|z!viB)V8Pv4EF#R2O-0a^)g%&& zB-ZaKMKmFu@zF!)3j?qKF&Dk##wFTiqgHw)5iMCPf z(^8i+qsyZuSz+O4U_Nhen+&D!ne*vqEQT+;HuT2OAFqkitcudaD-+Dv0S56)P8v z?7f8lfcK_e2rKaNi2ed|Jl$WU$=}Zpb}rCK4YO+DZ<=W2Ds`=0aVAR2?(3r> zjhfR1r=>ERHPO@4Q`IUnY@l{|3jhf?TZ0fkU^78VkmFpFsCs5JR z$@%$xHfWWVcQc+#C$ev}B9g8@K##VTTYU|TjLN@uA}@MEE!KX<6co^c#k5eTC8e;C zZqe(}W9<$|Cr(bzFD2T1L#YD8fux=$L{nLkxa?Mo1Gg7@y#oWRZtF%8MW^;VWB%cU z9H&=HUQzM!y&6_chPL%_ad>DXygguAS#Bfs%<|JVXd5bxwKqXUQue9+;D54(jrCn+f@|NXf_iu39V_3CfIEiGREB7k76 z8%PyM6(jZd4W6*o!^4Qg#5o5D0HAWCL4p_tt&rGQ+>rF;)zz<~%$Aw|;(C#U91#)3 zJOH9(WMq_!_U>-Z0LzR1ECLo7JQgDnz!VLHRlVFWT3j z%&B1EFuclFnC#5xgIaay75z%!w6@o%T*T4!@yyIvo z5t6RzPN0D#SBBXeTYG0n{uugp-49?r@2q#&3nPuhh<4f>z+a0p`TP)u z$CRF}fhjmWLhs~9bp$6Ya(8z}yYfm`&uF+!$ zq5HF~7t|Vb(W&VaEw#}BTEY#Qs64gZ^tnW(O{oo;2khh6+WDjlHFxx%DsrsGE7}0cXPsnS|u9w!U^OGgwEu=B*#b z6T)X-$MPWKqbA#n8E&JH#{yS)4tW3cZg-2h>SUm9)|N6Qq-y|;t7)V`@7Uj`tH0Wg z_$2oM3rE@EChM5g*I?c`+l0gsA~ z^@sE6vn>bi4{zq`*niwBW7UXZ|3?-8`g_K>d2x|#K`v{0ogh8weU;RSV_$FG*Slfu zFJHc7@GX2JA|f)GrTal1hz{T5SWIEiGQn?nrDkD}C{~02vH3;L*S?lHDq32}hl)Az zPoLlcBy=fQlqZ`b&RA8+&Uh#j&TOk?Bdl|dzNV=DnS@ZD{A*6R+U|f1T6CGW0hQnn zgxRRN86R2kP&OXc*Ei)$nj3mkeVpdiR_>H8);10#Wh@yGe0>l|v;pcR5*hcCk_iva zHCT~0K`(O*_jDPw8&%2qDoqJ(73eb93x1LdQ-%jf;zDZenZgGNAJg@O7}t&jN^bII zZ^fIf(I~^ac5T?G>lJX-tI@K-@!afBK?BijIAdBk7Ocv1J2h_10>rU=-Riaq};A{?T zh5JOWu{QbFSJd-io?{>WSCoRJw7}JxOQjjHQ~|q%TE!+V3PMkRLthYOYPL-j+&qEv z2m|W?r>sz_C>T1X{RhO+y$fe&7g!^Oh2PdVec?Ut51i6@9J7C>3iuw@C$4qND%Wa; zPBp!rEY$8SBM($<+7(;9Jp9Kd-Fd(~?(0yQsdQl>9gG_qI?#x}UBRmUHX|r1Dk@#0 z-1md*s@%OZM84f|e?Hh(T{;j=PN_W17kZUm*3J>QiS_tM_3#1(rO-O%W&O)a%ZYk| zdd$lKQL!KdTF-&Or@)HbU##+-(oROg<8(a#fWMR1LCPluy-XX3eTI%j2KEZmqt=}%e z?a;ShkAtpJe$Mi>{^F1MRZ5{o%_3(L+gwp$vxjR`T%53Ao6TA&Hmx$VK~Gb3zLiusB&z8 zyL;#+1w#-USG=HB=`4}uT9P|;8Y4$|spe2Is+Fy@mQ|*ot5H*Ya&;vTH((6-gsm;J zzrX+a0VHSqT)#V_RU#wJtED+JE9+-!s_faO4-ud3@0ul-*kUdH?WGb@V4dPzm6~rc zyd{6TJyo+E`E`{RGmg)gK}}7qwzf7-t2iS=ANw0T1YyCY=47d6iQW5fp#k4(sXl8v zlADq;@OdiTdX)dm`0KuB>{c^^pFblLKF)d<6cpIp!VICV%$m5n2e)U>tCo9yX7KWu zv9>%`;}}!s$oCWTUXuXs?D;;-3%^QzaFUf^uU!m1SIxV>XrK+ycTA>(=acUoEUX;XWqqm5j9Q};s&sa`9IRxSEtiB@F}XYbcY=^roisroKF2vM*I zkfkrxY}FO|9jtSmA{h5`1E{PHCb z8?k!#^4;J~+yQ_H*+_`Ftt(h&+vkMg+yrr;d;pb38t9flf zA;B;!VQptmtk5~5&E_g0gve%Q7Dwr`kk|E~Apgr*C&!6Rh8p6Ln$b4OP^L{q6 zI-<1PmB;k-AT>UE$crnDGgiCF5&=%Xdf0GC$JW?r7zb^r$Xb0Q&5oNzG<+;kZ-Cu~ z*O-{WVPTm7)ZusqT(NY#&geIoCfr<_x;i`KwE~(BSlslc#DXX`);Iq+TK}Dxz)qIw zE}XF&886$f4@gZVB~SGX`Q(I>X?(;F{D;*om0OMXFewF$f$!>-RBVm<_N*DAEq?*o z+L^DzWHIs-hK_uhYks5A(+`PyxW6s)yhliJcIR|kUA?}Et#Sw4g4J?92#j0LmX168 z#|ooC)#`n>hiiRefrr|VJVj}g(ru=)rYMLy$>OM z0$THWj)IA4bTuV3{tlYAZWudTIh?OBxTM(LBJkdlo%+UYDz4Zsz;A?~_j{|*Avq0m z{y3{)4&#Hz$*(Nd6O7`2mMFAQA?KhJ@WNE^O;j z&(B;AE*?k0stqfeKHRxrGfc&BOkhb$N*XWJUpzx#fBJ@z10Au702i0Ox0l+z-b5~M zhw$e1bUNd)`|;sQhnb~9yv6xvPmpy)XZKlq`33-D<=O%Gr?(Zf>@gytG1f=Rtz9dV zlkhyrr2(SOJ3>Fs&+jq;mj#a7G3-5OEo#&4x&AdKIg^2#hH+nn!+0NNY;jL#*~z|mpg;` zsh+DTZpB&!Wz}eZF@Zg_4UCK#ZoF_&ea8ofy~zswEe35jhqs^T)j#akZQ-4bNwVMf zbp1wO%u&dR2qU;n-7QI@~$7nPKG0r zd5RL2X74rP4^~0L4M)v`FdF*s)G`M+X3^?Xr>^u?_?Okg`~GA0+j#9Gqerh|ZG-n& zPUsFj^l{}lEEd~J5f5{|G~eb4(nN(J<)c zb}>o({cRIwL{TWJ3%+g53SDX(=;v-g#hV}UM78EbZ=SoJZa^2m3Dr5i6|T0Ue+yW> zoY|E`Hx0UQm3sK6yt}|5E9{VTT{r?)j!dO582&dZaw?p$xnXU01zn+cplj%`uJyun z!aCB)ajTcfM13^<=Os-Pe`gohGSjn|ghOEv5>B?%($BBdjz;`C>g(fMP`@u-AU&r$ zqYZ>xmf_Olmkl_~r{p-QaV}I#AtE#c+JS|Wc z0FyWWkF3c5{g)+2GQYo$OC7rXR?fLaRsQ$Cz^Qwt1eAm!^;x!mu;)c4s_w4L3z%qg4czGo}2dlH$s96>3OO(td@3|2(tr_BmhIs-| z=ldf$WqHkkYOwsLVY=QS(I!cjTmTsv`CAhKII$UZ15!t3$2%h8-H|MF6*w5QW6JWj z!ag8<2p6=oNGwwHo_gnZF99$gH#?aaPc9R!Z1;P}7Cp^h>v&!$RTcSSfLg#H!;=$( zRf#7Wm2e?#$H4Ai8%Yx);og0MDIY78v#Jpo5K^Afw%-k%+>?JlheyAQ{9&&?$@v66%@j&8XG<0Tb40r{R3W& z@h9m_K9~{JY;NfU1?_*F`*AsN@2s6iLX*!0q?uoU|Jeg#6m1~|a6(*XMBZfQWD%C& z%fvH3FH#N-3`7J@B`67JOT|C&u8Bl9%`<&(?ic7knk`LuNNh`5VKl6_H)*kb;R@IM zaQYIsb6dkH??s$QfT@}03zZm6-WqAW2RH}QqFK9!1_q`2b2xx>_7#*gBYXrbT)!*A zaC2bi+fsczi}7$wLQZ-Du%iv2lk`&VhJyZ8;PF#rY(NqY#Yg!=^gwL-r1EYE3C;#W3SBTD#sllqEn;b%U5(dI)Qe)8J)l2gQe;5P zi^r)G)bz<08XVdI_@6LFR^)GnGV;nU)H}e_{O2IlyVXV&Lf}8>wLJrbR9sq`f{iVj zR;Bp3kG2Hv4`k=q+KI77xgdt#WjhV==B|PQSdFJ!I$rR9ej|-(H8`HEnu?5FSNS4sYsCZQ{waI{570F8)KRWB8lklmo`e5dhx zRrR!3dt=5}l%U%oJh&|1$mO5AE0DD_!W58}u|&?W@p{I1Rc(ImA^_QPw$VSW{V?Nr ziBP?;jK`59L|qz83}@)IcdPf|68dHV7Sc=fmb67bjI514RCW(VH4C@K1bTDaDF?;G zW^_SSnJndseJJVnB->`dF7JQ!1;3Gs1$Dm7cq{RlTVy_EI=w*x`#HLk)03x(qa8XV z3m_cV=D1IT0srL5-9}v&nELt2TJwsaL?}4U+Q1`-C8#KH!{4!6K))Xg{I&ExtGCo> zSQ?%sx)%BL@ESZl)Cy$6MRJKp4A_^lpv)-N~mzYBZNLH`XB;p%Jel|)pQq1}})aH5rL51E|5g0JIsrBc|k4~`sgw#Mb^*^cGt}`f* zS(@Is3Q5;k_y6Q^JAe&K4d;!n%f-)O_gN0mCE+5sLN$v*dMn=jR81i)Fs884Kq7;K zbr<8w|NR%M24KQ9SbZ(s;NTsfoNe=jjp_PcYJOU^U*Ua4!$+ylQmbIm9fOR)TVGk{ zs8xIfx7WOu1)QFPr2)BPdRi5%>=^ji(n3~NaK9Y5U#~{~j7bm_HZVYSGD+@|e!}_F z8YNs*L7xwn6M>MYZj9$C5b@oiA08gEO@aXAG|T@A(#)+l0*}qv1)6YI=XTs=6gyKZ z0SC5Jt5Y<5a60U6iV2cG$t=d%~W1<}bHMOto56+KbJssNY(B(FFv}%*^s!wivJd9Mkmt zD$%!Mt6B)U@6RD-Z{PBauxIkw38Vx9h>YrAsxrsDN1TuFf_wydgx1>&!oC9sU>a4T zn#u|*+UIS=tE1ah9g(;*0yVcik;BO6c2!i0Zf>ShspWV$-|0Pvu)4K`1^VNuT0Ose z@Wu~gqL-nV>|a>Q6SUFz#nQ?2iGZX-YKM;-D9ESi{;9z1R(r9oqL#@IETEr2) z#=^`zU1sqTNCRWwXW%bJ#zIb%T7?_ zZP$OqABwQh0JTJRu1J|2{qAad*nN(Y<&*B-rgwIB)~q4fn9#1WeeMB8*WEndsWhLO zOy{R7(&BB(JNT87GW5uIi+9v`#_ohx|CEw4=d%?eSYH{yEyQ8L`zS}l2L&)=#f$>~ zUiRh(W6N#A`nmzkK3Hf_$ve^4c83oa6#_1cxTGwlfIzBNS;NkJ9t%jV!Qla;C5BGT zRqKG5$I%*80$r~TRLq>e%D=WyuVJ4VmSha??CkVU;d8~n$CubYTtL}g0s-&R>}m># zy2jkN<4l^e zwllIoxy*IqGjNnuYdra0;xf>%N%xwE1Crj>)|T#F?cJ*TCR-BMQ?ss7-h;4@E@$0U zRblRzX;G1dSp!y+Roz2)f4C*M{!)sD+JNao(>E_pPOxQSF}%Y5A`4c4aLKt)%MkT_VuHJ7mEM$Z!?v> z`>ctN4}{TAr0)_HZ%!M!Ixt?3MFi!V91=RV%p6nq&&?&~k;<&p$z|+Ja|Ixv?kWsV zT-5K(FD%^L7BF6K&K;RdWYdG$@r>16Tkl|7MhlN+lY&2i3*vl#ENZ4PCuVrdkaBc3 z9K&q&@Z?D%BED6A-ZzjI&qezTNz+FW5^E9D?4u|j?x?7}x?tR%oUU|v30zLGG;OPk z#s+<-jNFMzlUII#WZ|J~Kium!fA%RoJ|^59i~#}JcwjXmqLHj8mNYk}se@jCnXdu@ zOmVR#9Mk7=hE)eAX4QpSnp1LGH_$i2ucFll%a6SNXiUWs=AT^$NL6}%f+Ko#Eceh9 zqQk+*mXIH#UcKzVS&+`Ba;|N_#G4L#|8NOXHY>7Wx`PR+c^WkgazB4crCx%<87TXt zzy3EMnornC#?swZ_L=vMrU7Oq0PZhLA^eY!@k#FNkuV)Tm6C_=XR!AF8ycU1T3|(Q zsH4&py$fP4y}1g7#^Nj5{Fr|bF&fo7ADKa+^=rXwwX5%&{Y0?!Np1qh2Pam8VR-%i zl#T6D$DaT?@D{|8#>WFUEbyx@>-qdFU{LqDtY$Ab=2<9cGr&*p;2i+GTD=$q@2XZq z>C)-^YQEG%Y$Zt;z7m@Y{+-Prb3?+@xTF&ctbzen+dE0Yzl$X0T97GB3KVk~YWbL=Gzg~Bj}W<&JpUrlQzk$+lDI>fFf2j`)R&BMse&q&)v`B#e^h%nIe z{~X}mq{YFSQ(sK^8E=tyePvM)DO9ohq9Y#-M`IG+pZ63Ln(ZyI_PEi zRkc0VSyC^hVGLrA#9W!syq^#qO8Gy-br|~)MEc)LYOT+K*A=D@6Y;*?prTh*RhR0( zn99vB14h*AD9(82U+0zfaPxfgrjv9(yx|@R4y8Z{e{i7q2@^Xzj#wbb zHHbh)<_NtFk|X@C^)s`wF<#-TwG(TvL3$!zZVf5!F%xpUSQc($VkMBSVyMZSUTAP} zU9U*ub_fB^PwT=$Q>XI+f1}f@Ew&L$cQ2hmhz{tnvoY0z3y@(df zyjYDjU`;mOOwIw6%PC70Sa3UE?N%ztH$}BXwcGL>=wH)*E8?Wx_65mC0j!;XOSFxq zp=s4SvhheuT^&-Hu}Mhe49KwD-r&wOdmt`(oMDSa60L67Fftu(oZJD#)Ts23s|j^9J~H|xL5{I$=K6f;{^#YR?FAA zcYOanT<6=&1B09FZTV9Rp;;E7?y_PIHV*pdBez}=;0!@YrHV^qVrv-BaNPwPMm_+o zbk;ws1M*R~rVe=<*Q}>3bX>FcVa~#K4rHiRx z{|0l`sI|)@0hozvGTu`&eq7AN1k64>kR#E%7ec&>O6M5{@(~0(R{*lZi_6Fu4NR8} zBylAlXmHqV?$7LPHaVZXovX3b19h0bA|*OJR#}irO9*Y;gA6#QNRg`jdt6 zAd+LvMDA;|rlU7IjxG@-(6>KB%Cwmk+tb_2)L_Y-905DdV>Ynycr`RLOKUEI!i}-y zGC!KuWQqT`z*Nav3F;o*Zu{8mhDGf8x&6b@Xg40y>WkMA#AG5)DbN74ym4@eNOt?X z*$K%15~*BVJn_kct*!8#1MU>kDW_yW{j-6>8x{`ESc4NIoa13gmcG3hh=e2jy^ie$ zIjb@Gv*zozvvFX|x2gZ5T0wZ|zpB=TuTGFU1>^dzjyNr}zaVzOX}^sD>c_NfyiC-= z>_r-hnl-W71fij!FZtZg-!L=(0uus%q~+0}N#j3(d4IYts@h`Cc4>r+qY>n>+lYXy zc0zXoWEZ$1F+9mKIqmHO;Y6(#v*2BapJ!W)%X@qJM9qf%%AoS_B~LMTg67Ti8gmDNBE#ljJW$^y~ zzI+ao-G4_i*dsy@F*<>3IbCat3EGjmu{Nvohyej;Vs7Cw3n+WF<$@?oAm_+%aA|dK zo1l?$wW;WMS)A;&nnJRpKr#gA?Q-K`lJo(0zs`i&$xFHTW_WIguuYIPDpale)!5ib zSWM}Mkqw@91lEi0FRFiIq!R~ZDsGNiryb`TU4ve~S66^k4efJ(@$e`~MpZbL`R)4e=Z zYg4zUpj~w8?B>RD(N4|FVa5u!kNo-Mv0GQK&5_*Dz@y`J@qEc0N?bHs+1WoA>uoeh zTS&Z+_fo&Bu|tf-cy(n(&z9T#|A)JL5c$vd1SRW)FXNqYu9_d7PZK1vTj_0=La8d3 z-^Y|Yb{~q$6_}2`MY19#{eU-e4{ddiexkRsf-}`OJZyaD7o5~$ost!byRvTZK#;-L zH!xrT!~qef^A9WF}m3uek4ZM4K3Igi zVmuz7F4T9;e@X7<=$dh(sy$gO-sCLEzY;y`4=3hGy{z6#zXEjDw#RmxkW7$hmpvJy8UACYx zn}`^hOt^D@^`BUc9Ay6x3E<}aIuxUzF-8M#gbY8wY{tbfns7935ut-j^WF7<-# zNTbAzS5((!ba26`A;b8|*&JrVPKU9zem#&&qR*yJ(VkEEhp>=6gY}Z^*}r{XTU0qD zABU;I{SDFh+3CPiEAZR-)%A$aWH7(M=B1q?E!)C(3`e12GFSxZKZ8iukC%tM{Q0Mg zYuCoi!5^QnzVO39no)i73=7GR0-p9wXpC93NJ-J+>R7$^w=p-Js>J0sw6`WD$R;8m z9YyA5Lp{n~kOhw;2Yr*k@_F_e0|{PYb6((s-HUfDcE4trZ<=)&K`m?8WymUJfOjcr zE2%dq2>v3{z1>@`(*^4)K=9IhU6myk+6&v;aL6B3k6`Mr$6FP&%4 z?urq6l@D3?Rh>_R?`W#fsFnjY(jGr(O|gHW-{Vk|{k*0b%g-V8iJWj!J`J8ZCR`OC z%~{|9Efvz!K(JBDrrS23G4_jjg^m^#<}~Q4Jb4wWsE*%P>8qSG-wR)`k69Lbe;#yP2uvSYt;%=bwN^vfsGWKs8a713c`s73P z_U#iY43O%COBTX&@oYMpR;~q>UUC+|R+c z5>irc`T2*sql1IQ-<%cL1c;wYedA~K>X3_D zevO*oEs)sLUOK8Ox3d*Lm`Kds#tR7z^-!0T4r@O0Z02?znKG;u=`=4bEDW0qL|X%I zAo3TBXIh>mejFGY$~J{qBcS370&T0Or|0MI|1<7)$AM7bE1XHcq;K76*Y{UTXE|Hh zqZcuUl@a0ke~W6$^wvZf`FwBnM$n z&NygSnBK|il)F}lc=9H$Ph4uOtoX6?d4ErCwe+nwylSEH=~+v0^{14YdIL?S3v@4go2`T%5c1=fmYcX#OQD8Q6g)h#i`}C6ErC8#}3qQ z9b$BzeYMnPkT{s-vY0B?ayvb>EjT3Shy@ANlTE@BNS&QA0f*&4&?^DGT^5Bn7AtX&L*odTlDbwcj?7ku&iI zcrtRdNLG~|Teb1gtZ#^8Sl$V*l5se>v5sZURJVM zXIgA0GMO2d(Ocd`KDDs0piiD|+MA}L$kC}KBpjN%&nFWmGC^kDVKzs*p47GqjC|3T zLX%WV{DFuwAf)zXfB*f65EF$Uf@rdGV5u)oJWoYBK^e}F{qf^-ZR5OBw`FFJ8q%W3 z-YKuewTF4ShZ2uquoIo!@jt6PAqzV>6{S-|;&8-*kC z^ipegd{x7a>M^5_S51pM`ug(ieS8v1PB3}*NSqvSgr8v5Nnnt58!8<~zj*nw>_Pct z1+*uvRk?dQx3rWo72Wndyy`@$^0m|{mj=KP)v1g#lYb26c8jVS!GFH}wlY?yu zP`>F{&xQmbjR63_rsU8;SCP7mO{j#DzqndS1#SodAD$uqM)9tKRiAE1C%4k?rc`-p zx25~0MHa2wn7mg}5TGDbyMWlbrEt%5dtwLovvMJmo~-CI{~3dO zIy+A@JG-+f5SOwQ>5F(nqs^t}*Wpr!ilBe@K+n0-1p^Pllh|Wb2y8Yy3g1DYW^Ct| zR!@dV=$VU^ki=Whp4!CUe3JT zck7$iX7xgu5SujKY?V?0Zdg7Yg0XMP*K9ftOI-LM&ybr@;$ z(A=eFtMyXeHj%|(Am8Q;I#s@E8i0mA0N|wo>1f03_6O&pSb%U0~E8TIxsR8Xv>5Mms&JLXR0|hUa@tjV&bv}N6SRl#9yv*lfXSxyMZ49qkSuv&& z19Tm;EuErC>eHb|rE(#u#o0psW^Q`~%kHPU73%RjsMl90;5a#b>Ua|ZOb4IZc0s`% z@e2jtoLZ5M;!!PZ>wEIk(vt%4kspfL_uGYyp~4antMxCY zc^NzUW0%Nyr*Yq~bD#MOK;(i?dJ7{>zg(8$`!Q5$))oD1Qy6nl5W|QJbtx#mj7*T- zD9#JJ^Q?HEo!klgVTV2C<*-0|tPo+&Tj3-^BH5JV%GZ!)@fM;okx>Fyug1v<^+ki~ zrljYWxm>-lo$d&TEhdivScP((Tt$3wJzM_TCl(qKt_54az&V~iqYJb$~z|31q9;bb7Z;Cl*^b1EP?=U?Hu zX#?JLb7_=&IJe}(mLGa{`aqmIH@HWfGjY~&^s7-Z&^@10%|K?l$Oh8ZyM_pZhihPJ~kENby)TsY8 z&R_lZIA}{JuWU zg_YZFA)VaHlvUDgT9&iB+&=EVTK}K{pu|_{7B3Z`NL3lBfteei_mC6ZI<-PPqhDKr%tw1*dk)7QNmt3I8TWpCa9b&uW? zG_oPCI2&rco<#tv=xtbbnD&W(K+Mv}uNJ^PSae7GRZW|RduGn5L#)q%GD6C6CG5Hr zL6jb{{}#Z$r1zG?Jsq8^e^DM_-$}I2^uUc(P1l+R{>3(UVDq;05S8x*FIb{DU?o}v zL8D7aG@PCgF(qY@`ivOnRY+6q=eDaTs>oK`_!CuAXP&p(*>-Z4u<#u5Q<`#6D*mU= zPCqILc@(M!qHk`Xh3A=_4TkSSPI;w%%ToCZ4)`fOpk&UzGi6B%WmwY@xIZlOw8tYm z`<8dxzlqNscO%>@JxIc!F1aAFA&P5Fgi1PetWWr1^w{7xpEZTLnKu#O?lD}77VcrD zPZ$>}eaP!T9sTn-L^jitb}0p~lOv8?H_AzNN8^!sTF+`{zlCl_3SwGb3D857=D$t; zx_wsLhdG4`$S0x>7s3WXccn+&IdmUCQ-L0y< z!jsFPSjZFL!2M_RJTlLma#@?KO9aind_mU?@}cZxA_75-0W%hSiwj;H1yYA5SSa~} z*y)EK^{hA($%ls<8IE8pLPM7p|`OT^WFmeVqvQaFi3lWwHz6se2S z@C$SBw>NyxFrGH_S!2{WBUfM&fvwzlJilZ(*43RZ->9!2Ko6Dz_?%fLzY4OQp;ix; zRPQ)BSsPel;?8IE6X1|o`26~foe??w7-3)SR#8mJOGey_BGZxjs+1%4<%$)jHDMf0 zq&vg+xCH5gIWD``Lm370xG;1^-`A2ydah;tqEhd2ax}(UmJO=j5czG+Mk8H))$Ze% zSI;(`(|ArKDjZH4F)?i_H7P_~;qy1PR#Ynb==)|CG0n~U7O^)B%^Iy_zCzjfX7kGi za&eD*iyimCtsk1YT|3g#$>W=qZX{ydD?T}5zEjY#q!3R&d&)i2Xb)^_TW~7u_xGz` zRo??>od=ucN)x^{fF;M*0%Yb3MWypD6!71sc9|IjpgVi<%bEAc@VTPsNM-8x>m{9v0cJsCKV_WnCox zN;nKB2b*J+EnGi4Nl?rxN&E_+I=U2ls1Of{aU>vQl z0@Dm4*wZNNsWQtd%ZbTcaHzdTl`&PuV+}73(f}&@mxjS_e@~43|DXKd0#FiBt)(QE zJ3A-m6((Ol=xfIF0hK~Uy&oJboY>lNISylAD|TZLBo$Fy<-Ty8@T6n3yo~FGwi#^1 zNMZFplnm&k@0#WKgH2R_(nwVH^@}tPDblWOJ!!v;Ej+4kk^6(WU=N+ByU0>WmnrnYa;Le4)QoxNz4 zE^Vb2fv|ndwr`tcTV~EB-=CDS=%=fBGI@~})6>H)el`mY#W4I3a8myxx&U@gqo7a5 zDG8T+Lxz^N*gDnDd#m8X4G8eDXM=8coIrN9RH>F8U2yj@@|rJPc#16R2<`Q1$hAe4 zlJHGBxw$IjwQ|3u{%|Nd1?c}FBVer;=z*RhWC9*l`m@^H=!bRSB+wYBX~P~S8@RUp zJU@EMe*bWxTQ^fK{r!7!4b6&=Hq)U+R%Jir`yln|;AMLvw|`e`yR?RZazgMC38x0z z2(s^$tZ;BGCwWLcJJ=KkTS6!F$}k{G<*;qxD9EwQP1f`LccMzGq-i;w`Z64Mmac<% z)x3?#KSlgTSb1uv3kf@*iQ!WHF(|0BG*rM3{Jo;)zomfNi%&{wu$b)g8ZCL?v!=Pi z=h=sX8^Xfi-m*(p1)szl_pH@!efvq9c^F9SFq}G`IR(t3_kaNua5?)H1k=Hye3R{B z(N97E74_@<>TO~E>fI5`WHoms_%G~ugJNC;J;WB(7F}PlCRQ7`p^t(`-_^%=0F?&~ zL+p2`wDUA?@^8dli}p&}p{45=E@XW5gzzwR0?Vy7e(X(5y3%%Y9>aR<`b14+_{%da zlTvVSw&@qE*JxFcnYITb`?%sYp-U1iXj%^aCAWJ zcNgD*uJS|5ln_xW!D5NAjC82Q@`}~I<6Q}g58{o>!vc8Jj$bGlJ8fhdK#d$e_Z_(9 zVZ>i$y6O8-eWT;)>EwXDq$BcnACfEo2{+M4-D_7`4|r-G14TZVOY{*jx!kE^JiRkt zIZz6=bpg+&7L}D{$3rCb!H!7F2YxMokYVAovwT7Z$vxLf>Tk8rI}p~f?Gik}h@#14 zumN6*xHdaM=JHn!A99+?h`>loc@&*M?F1b=G;4niaC(=Xjz-0*+_SKdNRfZCn1Fi> z?UgKZaGgP-rjak7%^h7kgN2q`H@xeRWK(%63Hl)5KAnXKC@GDf9e&jP(xR)A{X$;i$z_-9A<8@h6Q`4$3IN3V6?ymN7Pe;&315}-o zOaWu;x=jBl(|})_iONV_g!(O=69K`BYS{X!?5_-Rhg@XvghE zbp26VYJ%$@G&E(?^ykiH6&2B1*3gws+()8K^_xNu&6_;d>Bxo7tN0s3?czCV+lwl0 z_lHS8-a6j(-8g)*`bEKKXJlJa+NnC2ejw3|Mo>sVGMFgI6SQ`{aiS>`M-%oJeWx-2Zr)!Q-3Pl<66q|ppjE77aJx(~_h z@*Z5RnwsxFe6XXV&+|5CqZT&!>O3%u)ZrYBp5Cp(Jll2nb5mUv0}zGK9<;mG2^u|^ zHwG(S(z#a{jGy8G@V2;KvkE6iA;Y1I4GfY_y;i-M%I(0+-O)*k;+d=?qrr#Gl6m_Z zX~%O(EJ;04 zmuELyr$WFx_-lp3qkkj3K8VBO)ekmfqr#q@1Rg`%U)|@c_ojlLlGhzo_9kRP$!i-| z#KZ(;WZt798n?!L{p2Wkhu!vS4Yp{WalH)JdX@TYqso~{b9%=QWN13-YkU!isNdt1 znK5U+qc3wOCMaArzcG7$jQ0bro6qfRcWmHqOx;Faef>nV;~6#Na2J_Vu3w%15Z*46 zCp+g1(BPqUy0jg(#d|HaB&0G-%eQUJpqGUe%k!N7np2Wugfr2trcf{V1x9Xq9tW$Z zFORz1er*uXW9&3HA8YUMp_~$`rcxp%L9f8A2NB7NsNEaiNcgOjgNbZ?EOGAajh9vm z5lg+b>Cy4(F>w!j+a3t~3-*L30B7|sGiWH^Hx^uydm{?*M}AQ~tthKoWvzcT{@Tr( zrd?g#V2fI^b@R z7Y>8sXcPN*g<9H2tFIKKv^~)1=}-IhPzlfaZ??`}lbW*4bR5?S@!O4s;EpX%UU143 z29w7*>9XuxW`=znJ&dFrmdN?@Tuif)?*o+M4XEx5b8%R%qv{pPEh znmcoU-d{si7j>H5yHD@^$a>bZnqUPv3FNo*pB^7j zQILhd^FSnmee>%YgO~R9_iN(I9Y6n&5M(S=H5G-9GRgSghM!&_&J?`;&~hE~&+~PZ z@aw*#X5YUhQj(lMDN=hMPUoau`p@r8U0jc3<~fAn`3=a)$sN)i;c!oSEz8P8L`DBn za%Q$jPN=Vs!J_N07dn=eNIajUpQ`@g^z!$i!|#C*baZrktk624C>k^-EX{Rw#_lLL zE0R10j^kGi4a&8e0{u6ya5Ra?$(5Xxz~2<2ti2~a;!aUrp!d5ARq(&frTZNH8ycKg z-f#-lJZ{UrL%Tp(a%V-@Jn*=S9~dTbK5BWh!9x~Wt}1; zC#RgQvDw!V@Ku{VB2(LV4Nnzduoe&;*cH&``4)?Q`;--v$Dn+$Pn63LLuPQmUgcV< zoqm0QGMi9hfcmVh{J`n)ypL?7MYDlDouX$@@sZ`{9&;_7C2@1R7W(|4 zdxm^#Z{00Og*Jz8cUUj2k?97fZ?}0BL4xwseM?}{uhEo3KKu80@@&B$*XhXwPbXfV zQIlq22Y8}U4~teFZRk!N29wdSM11qW;?dfLhYhbHWW)EH4AElTFMte7l~|wYZ~3WN z=JAe|65`9{N7ilf9%!0Oo4Q#&FmmgpHA`~^B`ciqQ9El}S32HoG?z80j zm~uN(z&x!nReM&IMt+7G9cb+>ca9ejT@Gb45obIf*+1;c5|bL--Q4tgq<>rz8LYT- zo52s6l<8W;?&-QQZeByhu!`&%sltGFSsPAU8(e*$_}f95IY;*2ZzsHB{BsZdq0^h%nrXJ4$PCeS~MR%LbO%YdB>bGJs++FM;j~u;xE?l?=9TunVt1Qaus)0 z7}xB`TUY-`?*&RDIMt9)a?b~KW+Mi6^pGEJ>_;(tJ{Po$9c#MH#qd;~!Mzj)RotaO_<>Y@fk8aN z+Bu_vZrM3RayNdwR*>nOXCS16Cz{b))9ie?iXvFvQ=2G2tCPg(rLLUD`aP{O2XpVONdY!B9Zl2fE`(mqGGZG|9SLQqwiT0F z-hrk&M>c>ympQu$%jbX{i-tm^fMfp$(d4g;Eb^;{C}`lRyl&S`o^tqnXY#oz%iF zRgBrZE^8UDBpRBeNC$kM(jS^!qf%1#zQRFb&gCe4b>o+{bDfuh9Ew0RPQ)|NnIWcw-^kfdAp-$joN z%+?ClL7C}!hBLK%xKn+_uLrluB*JhzqH?A1IvKZ1`mSilOOQfeF}b1^HFa$Mpg6$h z`mi2uP`SnIy|p-Vmq0oCb%3JB#uRJ1a-;iGDKNf`3>X#a6?X8+vQ4@nXC-ba6;kA z7kRVcG=sa^(u4WB$cYIR8Kkf?uG2|-R12ac`Ngb13p{o(RkdBbTYcu*jT~C8XEJvQ zVS1Plzw^GAiO%cG27Y08=jO&5y0G%xKFl zO-jP;?1Ti*k;sQI9J+mUvF6dL>zj1{JNjVv27!dd=GAhAnTVI{G;+R`Zcd<|V zv*`$0YAd2v{L75G@Zz|sbvB#lPnH4ssXxoAvSFB!_f@@pYHs8kC0ufq>oVLDr3l*e zUEWm%y1Z({aOH{Tu$=m)*vBFtvHr-)wfEM=5pJZ~{1c@wlOa=Xh1UZoGc1fl2~R$L z)jrew=0HVaoAIVa#^D?mSMg7=d6XBM9Tm*ByO|6Bst6#OYV8)dPU%GP)>^m;UejQ8 z)TgYyr>woycE`7z=0y#LNfz(PN;CpY(w~Yp-{776;8}^Dp0T?yW(>`64W>rfnM1^=$tXX|0aA{ZYamUKA96+<-k{!WOrm> z4&zPe^5>O!$NFS*Ps!bJIPJ*v8Kv=_!GjkUS#yNUov&(J4tai0D;=bi;6lV)|Ou9+eoIvT0dhVUQ4`@ z!M4CJN!yP6uykmir-b{p*8S)FAbupbzkOA-p6wpU(xXq|1lF zL6S%PFI7l6%U0$+)JHN^qrDpHy2cThFmxx$uj}E|L|K4h_gaTI2xr}E}?Z&|1&encNqo}B8$YhksX>vpa?_;iK zr>N+LM=Z;o)BB{Lpx19j0c`!~_ko-o_MIW=aLNPENTg5lxY_UuF@DG9#zv=wrl@F6 z@8-juP1={{d#<@_61kRoV`BGap{G_y`nm`!k^8M0HxIXW;y3^^i_tFo)jMx9Vqjtx zV#Zw6a6LXgCgla2!{T~1nNXh)p7-ScG`yZOU#7e53)_v@#fkxNcx+=o%6ww=J-f|# zXb@wa-AS+FRH@cTV|c2hoLskQigB~!`b9FEQ@Kuh?x@7BLyzPU(V5=!kX6X7jUqZa zjr&xZ4J-Q+$YS(BkQFL|LT0sm9F#fYSYJglc=1`_atsZ0A(o`^!?_J znE|iA{P+OFUZB@zmnaO@1b@>KwNh>fpKz`czv)dOC*P#z#k$*p$yMg(93x{LQ{R?& z>Au1l*;qck`;d(v+!%)PSgME9^z^^oE3ffJ|8Vp*u1JdJ{O!9|%~PdS(;sQ<`b(Yb zaKAu#MaVy7UB_;Euv7RqgI`o>jFMTF-o_>=>7Mn@`gYlY?FpYfDuu&Rq0L7i|4^^N z;b+~Fdt%w5=UBBEolS!?jL_4W<)=h>Z3_C|Je;XRlO{ny8yc;s$;1NoG5E4g=-#~1 z{yoF2PIeN+E!T=yWj;iqU7gk=Uf)v_Uln(S%IiW=y^q{e;)RA*@(66QgrRR$ioT4R z-;K1KVDvk1$?XMqhJ-f%~?*Sq+1MHocR!V-Ox z^G+_KZSY?Qk^4;w=>gct;T+x z+iOEI!kduCAx=y>;bdvvb}Y-sySb%hce08aLW1ADQ8*406d9TCz0DZmZpBG}&Y;DY z;Tm!v_tots!+fpT381|Au69 zP7Pd;>BX7Kxaj$>##26lQR@izdjEG<@@?Plzk@9XEj+hv9d_Hr1fK_6lg%Pkp0d<` zC$IBH(!{oH1a@Y(17sdH)y#YnEyv;tosOpbdox-znrsA&bUo9tt>^3=pXRyUb`;7k zg}Cq0tz7sFhBVRei92$o6Vn(ir|?1Oz=gIcR$EN_fmuB+c2n0qfNj#d&xvTa_`rqF zE&nj@j91}fvG2QRYhcNKx@NqaZjryMwLZPL$T1zlzc?68Cv&aYScGbEqo=;aRVgAm z`f9mRUXLV0_pe{GS8#TxYht>1Yzfod&BBYk&NEG}B$51&FNK)yU&zak zSZ(uoUeOCN-DH%`*RrkcMzdRDf71W>vCMhPwc)^pukEq^8+6%wq#`hoZ7(^xcYinV_#)p(9&X9pj#C*wS-yd2MY%wqd@A-xRYS1M32@LJgukC}~Ez z+}yUje1A_`P%^dkuo$dSYz?Q%4>mZ?9J=tj?7-w44po1h3ahoAgJHh!Fz~vZOp`fZ z61r%M_-8kz*1aph&%d)!_#S6ClbVAgo*I6tM>xuNrVg} zl9*4trO~-crxt;vp2XJHcCOA+di=z$)@EMZIFZr4h)rmK!>L!FpPxVIVC-ikm8{{) zw|N*aIi_vfolWch$UrroWr;==Ji_na?oa-x=8Hv?>3q)pr;#twqdQ~rKQk=&LzYVqK?xUK0Mkg9b4rvyA47Dnf^p4V`Ui8S;v@MrVG5`veIZ&~ZV zPog0z8N+0af#S>ut-m6+)s+tGHISPh2G()3<6n#no1RUWFZe!r4{EdqA_mi>HQOaC zkMada3LxjaG8j2pEaxRmQJkbzt*^8t$?)=^xI-l*1p%r{I)T-^UnM|@9Z7QDuCb}1 z()3W1QK#{5^)4IXIW@Ijw?)m`;W}it$}Cy%{P_IG5P8ZU`*YK&5*=wnLvlvqjq%rEX>ym{RlckjNVv>@2_c$zPYrXko zA&_$&vrmb1ZI^eqw{{ylqx`a|>HYC^r^ii4Yfv+ZXf%=$=*;=6B4tsE^0Vr|q(7F3 ztwZEN%gqU)I80}YcadYxJM;BTO-A8n`4zn z=XWN4`L7ciJ$MY;Ho2Wbx808YQK82Vkf7k;4vQMrQ^++N(Uhml1X~#4B_TFMzjx({ zJD|>HGDJKaf2?W*S*1)Rm{Etf%JZ5S=DWYYyYq!K|I^slGHoe?6M-ie&A_VKG#Wj@ zq){gRk*5sLh`2bFBV0E=!PZuFSsaBj!dSuEs8ib($P8DvJ@m|^xw(0!-lZnCc3^xv zFZJ}~17t>Bmx`H`blDl(so_lPX~pw+GlK7!N|4MC+46C4`p+=*mOz)74I9Gz8UPzOi`3VC@kuQd=eb7d-#wUQ;eIH5L=^8%cw*dK|q!vOoYA4ldwBgPgVKViOqcsN(lwy>Zr z4|5L(j&SnWWSiJ1V*2JyuuLXT?4sutGc@~vsjROU1Z@}Vc_qpC;GkXrm)z8)=cPh# zEwmqxMDCZfwD7Jkz4Cl{W9r#@k}msO76dG4%}|az5@KW=lwfh>NVXPEKgbcztkpMG zD;?TlKVD$Q)2ePv?2fymh;ngp>Eb;Y3gV1j5|f<13r(Q!7#Il6TU~9wA44o-lmb99 zy8I)*&pr3J*+U0HqzgjU69d=zK(!*w510DnABbi=e;gU~^OXZpO77PqW$LsE1-)KI zvJyYt9J6{Kr`Nr0kv${|33^xR((O%`2V$XG71AW7A_a)A5X z+&oNEbOCzI>2oC&*8JdMT5nI>d%8d4@Sn33eb*yG!9hXym^5f&qM{0QRl`aj?6T~Jr|Q0a~Qw11N3au@K{|m zhn+U&qt$W)A{_h!;y61IgjdXk`gWz`_fA=ROl&M3j{}8jv04`d;$Kn0yfv7-zV}C) zk((PA!ffa2n*Yfk-s^mbtBkRa2AGJFvNE`T0)v(zE_{GN1z2CheRa_gwdg}K-Fi1a zJs%wvl_8vv4u6Cy;4warP%}eAL$}@BL|jg*FTtqa)+)U3TmTTj<#VCGUT{R+9!__3 zmZIzqKqg?8jpcRTt8aXVP9rLY9Tdrbk47SM^E!3NWwKr_dhrc%WR}VN6_TeLcV%T| zg#E8obeR;^_~AtlwAm^y%jr_HLCf;--?Dr*N4^9Is6-AjP3{9~@JsGELt1sYdQVy! z4Hl{y`+RmQFy~uC>#4S_Wc>VudU|^BNVx4gquF?DrbsY2jM}8!+%qilz!@_#G9tEt ze{?b`Ep7t`IZyOzi!DR)MB#ev=fnOV=ln} zxB2d)rSF=OYbe@4>=?Z}BZZ zpL%q36r|*~fy=$(a-{|blOpx<;j_&FJV7sRK|w)w^RXW-p4VHNPqJK#KZZ;pi;F}M zW=Tm&yT%d?%Vvkox2}uMI6gi;xB;KQ*|L2x(Z}QvdNi%tub;y4Ig+@Z=8L;awOiwK z=4&eeBoij!Fr2%%9t!v&IjA6oG&-p z?C!YawvOC$@=GL;)%(`z>S%Ew`n^P1%Jo8nT?k+`f}EUrh| zz^Dpznp`sW29F(P4_#0Qx!c)B_#wz#3m@Iwxbx*Rx3*GkO%G-&8>ZUqR)tH{=m2$) zl-Czer|zIL6~@7+SsfG$n9PeEMVavpg#e*?(T!WB9GuB8w*y5g+4OEuY05yTWzs~a zj|9vo%iv=3<=)fso;P&;5`kae+!O<7%FW%K)vnzd{2Fagrj8&Mc-x*glsemFOHzm2 z?4QS=$#OE>#O=L>1U!5|*;-dumnXu}(GkKNrak}cBn6r^v|#tb@Yn(tn_S_{J=uu( zTyi|Gk8Yq)7LSXa;w|s1Sub3a*H0Aj8aJ_zbI26vcB&njJ^4}Oxy_~qo<#4TGJHzN`p`qb1nw0!WTMR!48Gj;Q zHFV4Cu`4mcAhphFb6d}6vr2<)rqN!2#QS7P6-U&~%?(DsM)Tyu`YNtXjb_E{0ZbBA zwasJJf~muq2{550LBTWu&xBnzAsU6Ip%k$S-=`N_Lr=9I z>#%?P_;FJ1`w$A^XQfdO%G&yRvXHM}dFySFk^I2)G>)sQYXYOrXJKL3^0voDqsN>a ziiL%Rlk@ZSjlS4s=vHck{o#C_*<_I_y-s7?&CLzr^}^X$0^9S+t`Mwy@brIsdd~al z%8mJS0#S%&Dvc1v^X1#}1hVd@H2!V&)7ITSJUkG2#=g>+!soC!nK6oFG3b2BsN38N zkR_r@eo&l^7;(^Kv1+#K2r&f(1uTHfbYP_9h#(j9g&%_X9DDP}L-;tlo}5U*jrn8W zEbr~I9|02o$TRik1i-3l*4fC8WC)y|pBw$l`s8)Hn}4x8-orA4K;qR7!k(-@JaU1; zukS`~#>NywDID2qrJ5IelcBZN^Ss@vMJmCOLXSyLkJoJz<$9UmzTBk{4Xt67GVSEP zSZc=+foniEc*DZMonBwJSv0P!=wmZ#_kv2~gI+6tfWgZ8dThR6S?=(6Ms=Tk-@U^8 zuj6^h;Qa1xa=A%5zdLJyfqvzeuk*DG^8BZwW#!Z0D}@{2ii(Mimg(>%E*R00{~US! z-{hj#6?t&a6#{;Th++lrO+&f~A9kK`#q2Xrt^Rx^j`rx&-HC!Pd z{!}j8tsW9zCubgV@}Gu#Il)eQGruI~i2u+NA6s0)1l?LJTwYq@3@Hjz=^`CJZ?)>FT- z3I?DM?d^?;=DapXRit=MG@H=3x}a57Uv`D&KY*|;7#$Q8hx=bpV6@ z*ne4mmWY6ub#|s%6IDW26a>+l-k!rwa7#`KXM24<+2>q4TlB?=W=8jGc4_C=## zuJtMBOMPw>6&4m&WPgeT`zxZs#6+uF^zv&uR(#k#4-1Rm^CbB2d5cGTV-yHf-@1gG zT&$tc{7e{c!O#9B^VMSo|KLsmSCf>N9uO{E`2~qNtn=vi1)J=FORNY&Hjn!)dlH!K zC;dLp19PEyRYN^vZLRz{uvpMCS7B6JC0hjFJ=R{pJRK`tW`9cb zE;v^#U|K3Oa_m=Jn_MI6GopO;TiZ-#d~kdnlx$&mclffM?+X+vSr7SKwu*Ti&-i`q z1#Xu)zX2d)if>vsZ;nCSQ6%*EK_T_Ur%ezj?fIGXDp{oxnVO8DAp;4eTDw!(IF|$g z4v+Ux!+ox7@o>l^x_6u@kP zwbFKk5f&CU-T51ow+{T753|%=YCRFwS|`1${zq16 z#SGdf0(Vyjh8@?-mF@%BK98H~>WL~ANv21Ua0tJlM|a22gIM|J^rEY4Vm?uU9!o7t zPD+Y4{sX{Q(S6Rt0;N)Tu0=0IMMVUn^E-r>ryYTqUvcMtuo&q%BHevmqrhiJ%Kenx zO|N|uYjn$DIgLJBiV$C!_#til5(w`|L%yh zEG|=S5MGW_@RQ4zf4a>k9TOtijhw5o+~yrA9MAtclV#As8|NE_;n`d515wBuNs`KE zjBdVuM1ZM2{ug|UEE4>6DdvtCH(__b4(zMRR*C%1zd}SJK39{zm|U2goSc&l<@e@O zzp;QhV9b^V8f9FxwBH2^1Pz&HE3PwxYc>JYO1?t#y*qThU2?-jAJTFdY4PU)tZCT; zcHqVN^yd8o5yU}LVt5JyAWy^Ll^=Wf*I{I?OQWuk_}Q!L(Z5p7SGNQa+W=x`siwM6 zP*QHr$xThOH92RD-vij|bcEk`ib)M~W7jFcFSynRTgJgQ-BWw0Rj5;p4YI|s%l$4} ze#7x20xsJY*45FHRB-}B!;>EZs|*|{2&}Z*61FplHgR26J700yeCa_rZtLlNdO&67 z@fA!!mly2vJZ^=o`YXz$ar;S-c&6p#NXyOL-mR`G2FxQYbmQoGy-1><_*-?-lUaYR z=l^!%F|E9{-J%A=aqAt9q0z||8Qfai#kBnCtPhMn{kv5jz=urcYY!L3p44m}+a5n2WkO5l^JG&wS@c&( zJ5xBb!Jf4~8GM?vqs|N#3&p_%#ze&HVtN~v{HjQxPBZ;7TG@KI7VF80^0s)MQM+k;)e!^v!t#MkcX zKtt`m76~9FtGi@gcZ_iSz)GWeY`|*f*_#;|x}EJtH{V@pRev2#>r>7GCLv-!N=6va^dNkrmf-(1`^SWB zh|BOVCTQ#YD>g#~tzZcNf-R>?Oh8EqY$@4%P9zXzv_LVNaK3-1jPKZZC5zAP^yhXm zz?RjP^9dk`!oB-^w>wp)BN0m#j>mp-B?C#nRLqyNzB-y6C^qUI1BlAw@?h8PA@p(6?Zw4CpeOy730(p5naglanmz#Njj{Uq6stge|5v+Wp{~&zJ71%@-7qFVC4+fRxnQz@vLSbaKM5I!iZi@`0NTp0Bz0vvR@EXhM7`yKty8Ku( zEu1meck5vqH-G=+IxtkC+Y%5+?DK<3@M#d89~z$+%Fzj$A%bpEnACFI-zncWnY&iU zUq0d=r#HeM%q?> zA&@x9=tW&2L+U*QlBrzABmC@D8HR6RzBC%6Bl_M4Gqt5ab`tegM^x#Eeyz%UVk(k) z@-n7o%A9QW*&1ISAmFmjGl0M^I5@V+9CCZglkhqPVKZp{E7Q?}A@(-r*7Jg54I8UB zRcUhBE~PzhMbnhEskxdVYBFpD7fH_H($mfOh!@Kpn~TkIe@-w-bj+ssV%YXQ5~SU< zO0igtVQcsy1$4!rM@`4OuICKetzJAM97*onRLtq)gxSBJ~;Uc&qgTD35}%6xcwBP9;0LX?z09}rMh_V))G zk{o~jd2~?9cd@o<+!a59j-YYc&I&6jVKliOZ*>F)U=k2Wr%sj5)|+EWC(u&@&d7d! zImg`1%}=;dcAxWLsVa5E)c1({LL1F>(Vf~hj6hyR<(>E4MQh&G!~H$z7yVO(%-5O^ zToLglaoPIhAr3q2XKU72AbGC%ED>JA+uPg!{rh*r_XVPqu3)h{bkNL$DV0i`^Llyn zx=J-_?p(>zC2i8BbbfHGL=?eLye~1nOXs$_UZ?JB z>zF}9TYoG7_Yz^ueU(wBQDtg1-qYh<73>6Wf#(O-Vy7^=M|7zS1=t) z8xGBuaNL{N<-d$p)n(dB;x>QEaR6)yh5>u00)W+jGbki zeeUmHQNbHK;a}5xC6Nn)w(hg0kC^d0B6)Z<=Hn^<{)vma97}EX#|IzG{nTl41&At9 zZ)i1llnH?Fj*bqb$B`D5zAfe%UqJb^xATGCrrAIqa>VK;pxf_;PMZa72&v`LfE97u zw(ztnBr>#(jYQwvK}UaycoMrCbFX+2@o1qcQ_HV~pRNPQNe_S}U_rX3h6t(-=Lg1P zi5Ht#KpTQyt8s>fpOlnT@34JxpFba(2;6(lc|ZB?QXQ}Y%=fE-?rVM2U~#C`)6a)= zmKdi#D0ioCXL=@pgEJNSOMQg+VlVm9(7%mQDVWDml|&9mJ<6CBR`Ldm}tL7i3Q)c3o1uD>v{Dlqj}Ez{3DrQxj%k{i4{y~pP61>Nq!QL2KmG`f~1Fm>w4f+Ku3@}snSSqb9Osp z8>9{-=zg4p4^Q!=2Fb8sx%(nmd^|F^3}yuWGyK#MU5e8gA5*8M+Sr2mTHAc*`P!U> zG0*jo*wiMz{i%`{|9I(yclV)dUEJ_XEU%k|+j|^I;vKd(32VTNs1$w~ zzQUg<&L5GWiMCHw!^iR->2J?;B0fh^Q{%g=A1}$<)1O+WCn!70Dbv|!NzH4q5+qV_Mz5# zX>b%GQJ`BDP%KTu1EeWRDU?)HV`WCv2d2A^lQ(Nq6u)VT)k^_$|J)78QAmpvh+Hfq z$z%*VuiVzrfmQg-Si~Y5`^?a2q4&tjwi_@n}!Rtb$@gWMVVfV^0YP9IvrV)XsNR zGqRtyjmuj6ql6WdXU=Lh!%VAE&~6kd0RPd;i@$Esg#gf5`L@fg_c!a23m*HW2g_|F z;0H&Yo_rcpod|ZJ!4ijzjO>|2Mj@Irs?kiBJ1*&tae7@SWxj_QW1FerTdJWMsHkYQ|7&=+kqXjWQR}oB=Q-ksi zaNE4yVq#*IhMS*(>SHLC!*L>czJ4uRBo7*slG3l^y7)6QlLQdm&OgXLrt>-ng@nbOF+1R3p(d2q*#gcE zWWEG?ozKgy-UVNN!2%%bJh5w~ZBP3tA5FSPj02ECEBobbTkDZR-G-I=xbT1&gd_d% zA!tPKE=)07932<8w`xRi;9$1u4HA-*{Uo_Vi`2Xb{SqC!>(QJT1Rl9^{&1o|BbLo< z7>$G^a?xh{Z!qRF*;eGM^L6Hr>Ok9`lVF(}2_-eUbQiH9;2ZK{h2Gn=T&neuDWjvS zvka{X1b(fWovE`G>g($R^=dbZ*Y%MAyX_MF;ajE!Z&(`;l?KP)w_{V_Y%-J2?nEgT7nr#0k~jmYHw1oGO>Lc{w3Up>D?oA>(4)N$5dT0Cluv>hB+A%UpWA3nT>Fay@H6p;=qdOtd|jij(vg&8T) zSI^wsT^~1RPU-ag+VOG#A?~-pU)xq_06;&Abv8PJ_a`C&NO+w`i%l>+0aA#YfDCM=5{C?(-@4v`aRlmkA;)4qs` z1AJUCCMb|XI~7E=^VCYwP{brKy-7pr>$%kvm1#jQVRiplLQ*oQSo+0hMN-&m>-hwL zu#|E?V*y6`?MEjkcEH(~0PrT0#Ow#=WN|t8a#X*Lf}>7HKAjphSEHlzUE5!&Mz0Mh zf-o>J+zu*x>NgX#D&`MCpaFc6J7|~zq8%hPwr6pQ$JK!p=q1fmnMD>$W1&YY<*2+|dwjTa2h9;~_cIDW z9_TOB+fNj!h5|kq5JNlT`KZAAp6LmC-R2~)0hsvsdwYMxM04KJVEKK?mm|8rzkgS^FFOJRD#;5HyGLGkw5Qs%n3!1UxEd?%HpBpiPUF7wiK^^5IQX z6q*m{h!~cA78QMz0+ACmUg7y%k2daqBBt>;&rRmWy~UzcrC=tF0=TP;@zrx8dKUs( zH~P40x1f3k189rYO7y48bST#vBQY?8WS8%Ww6qBWYV3U90%$!nAITu^N;BaiCd%3f zBv4#S6Xi3$f`!$V%Z2ZS7`0dSSifPs3#$DQ8uzA5lfqgrSU`i~FeE64&vDPG^2upT zNKA_7ueKrVXgf^E){yZ##U^s{~bir;MlnOOW@bIUWbLDn_%fT)Z%kLVoV=Y%sy z&Dzk&s8X|ZqC_JWP&8e@;dO&vCGd;)^+95=gXCfc+3{SB1d!ld(mxxoWlHeiC3;=n z@1mkd8v+`$9GbYJ{sct;G=tITZ?Su`6SPK`!_Nu|3S_DuhU2oVIMW4*Gul#LWLg=V zB+m1oyCz3Rb2z3;G=-5Xr5(7Orx5R2f1y{qz1WooP7xd-xPuGqR+GHRIo~0^sM>r! zLM#-UuR9*`wei9YSK)FN*{|@_le>_3{>zDRl|s$%+QYdj+hw1g>bCncy3+aTT#K5$ zi+xu%Ac(4*m+cPsjaAIfaF)Trbd1of*^i2fO0s;KZd{=J)b~a-cF@y}hkuPR|Lk%r zb^`gVvlntL6E=fRy_Ad!E?E)vTZF%6#GvB`0RbF^%hiks= zr#qNy@W*D*I%|hR)lYFb!ex(gKi`gxad8LT6>@i|ZOq$^hJk1yTuIJHwj|Ah`>Mu0nbarh5FNb&<%gFGn>tqt>^QqX>k~!|F26W zc#Dl`8PY+kwKxM*}w(azba&c%>a4d_PNgLj&SD~dB6!PV;#~(*?ug#^JI0_ zpPRm=(3LW|>l5u}2zQYYVrBi&+vo?=?CI!zkk=PZV#}BiBPKeQyj7Df!tS^1t0f20 za?%5I`!jDNcOy_V)y=aY!J*2d_Siv~0YhuP&24So zgt5EM`nU{G&es*v)|7KBAZ?^(WQ+jq)F%$c>qo@j6pJp3v?$5MEm5M&g#^2N&hOz& ztv5IIQ0-_LXIXsi|M*9odgt40bepF-^{R-5q?_02jlXX}<|>YV0_um$y(yFaIGQ9E zzEaIvW6(tTcgDTnM5|NH_H!>$a-VysfN*2O2Gl-2AtlFbH(owilMziiHp_X)}_ef zr}qup;-`R*O%rqsaCotKb1|;r#bJi>OSZE>C6~5le`yuoOhhC!B=J$rgXC-M0GVZ_B;t5*s{P0NilPvsokLAt{(%&&0dnfkPBPK$( zvnpIOWigA(88xt@f4i2d%i1j0PL85{97-We4iIAx*MDpt45S~=7jU@%RpWmdLUj$zYWVa^{{nw+RWo~uL=k{J%s>82b9(Lq>l@?PJq}aC3ldO z8K*xXYv1D#NsAEjxKZ$%W7w6E?&DF=Fnk8z)okUf-S-fL?DUAXDS}67TIn~MjQ`2* zuiv7OPbRz#04T!InJ4#qmm%e3!e<4$KJL<7py#1^>F4*!YPm6;${@TlAq(=2GI`O) z=<*QeqPG3Kj0&-&p*5|u3ee-HW!y6(?86Yg+2 zG$`o*B^CPL7cTz?UD5v?{6DL#{_kr1-_`g(De(TUZT$aZ8!%kzI8jHTBZBtMZ@??* zM0DtWGsUj9&!L%onumxL3myH_f8O5t|B_4oPn(tXx~;I=um)Ro956mV%Oqj#kEWO3 ziB&yQU3vfDSjc~y1BwaALN`Fi-P_yiZIcv`E0E`hT7cJx{%fA6<)uYw=G~Ph>vo%KlqhrW4bX*V}Gh;%=hc!Xg1=ydD=K(+0AWUkhoX znT$*e6o-&xkw-Oj!n3l_a)y%cB>f4jhSLPY_fiOO*S8@0vUhoPDHu>zQ}N{jz_W6n`)Y zZ|^pr?DLzx21`mR)Mbm)OF#`tWaZ`I`}z6lddkalP@b7YN}FEvR4%L2Cjau5r6K)k zA9<{$Rq4F1_P4v+@aDvhf{Lnh)y_$)$0GcbnER_7w6Eqi-9Qnge>hk3)v*BykB$Ff z?Mg)U$@Q4{Pn`+GM*bs^#l+-MudZxo5>!2XdwjkN@0Q&(|DhXrbs#Q29?#)mKN|0| za-J|QjyOQKe&f4;aRO0*ZXFbjv0vJJ;O=Fpa`N+C%cyfdDl21xk~u&smfFD6g%bvs z_bPBVGNnwn1%A4y?3ezN50Gee>^hM%9gBdF55|i zj>vHq%PD$e+kt?%?g*Wc6x{|7ss-(&uW z`oPH8aS*2>8jc^njhVlGbK2%S?^@^xb~brwc5>cQGt#??5~-oVJ*cK@HQ6k4KYz#-ps47V$>d9vYbK5M?%f51$bM;2 zVoCm^fASJf8o!bF2+K!WlDir%OGS^`m!NSB35mDWpQ|o>O(LkB=&jI)^pi&UO}3ox zeCV9x9Z?syaP_hj1?AY-*oqxt_x?bl(cd6+_^?_!dDmo*y1c{V$ve-ZnFh>EZx@(4 zo5k;Fus~zFIJI1F00+2=sFaxR0Riv}O|Gb2lwB3`)cU8t#dK=n-eF;7|Nf0pWtQ(W zFFtv>9~2qtFX}6EdcvrT-|RGGKx2PZI@eG;LU{Y!DKcT z_cPA}?-=42T(;g7Ii znp}_{J?^<#S#^IxPIG_Bj*cI;E|r-Jf4}2({=mQ>wz?`zNW&ktv-35L+aA{UW?f>j zo7rjS-|#k&r`k1Wqglg#EA095^Q#DGL!$7t9#ob_IJYdKL2D542QLN<-ndR9^5v0D zMm&_QA8|WQSPH4Iikx$ZzCXsm$HDY>KiBO93RSzpKNzmZ3mrfoSz$SiFjMa%63Lee zTK|ER(%9>hKSS-RYNuxS(ws_m>yvQllY~g<)XLg_o^OwiErdzO$M^R43mb{RX=-V$ z3K_o+`1xbS)SBVyaKJWm&MnIaRWOs&`ECEez^WbhiMOTY_F18F-U<*?a{~#uW=iVf zQPa}1_j{PBM@}1iiYW73z0e1QX1(V&3aA->0&b3)N;ZvK-=UuF=P}t^k*5G%T^kga zgPC9xAt((#0m13SP5w#Ka%&_Mam$$?F$zQYt+7d|e-s8H4pRqC;A2>C@9V`Ls~F-u znY&+k?(RG@Ez}6fbju%gbcnhmNg^lP?q6lF3kC0vV@5~m_e^YKvRF)f7?hIk>N*QS z*t>4m$a=@DHTYrX3Ek)XsOd|a!TY1-w#a4Qq(D$5uZ_zKb$cFLLlR2c#4Ro9z>6~W zm;G&b)+7RxalMJV=@26Kxlg}a$Wj>Z`kGz``{2Xa9j>6nTLz6)>=v<1;YRMO@UlVHbM+h+%E48N z7xDk+dEy~UgBaVFv?5g!lx*xAqM=<#>Zyp#$)tbRof~c52?_bu&uLeD8MH~P%G>+T zB`j;CUzKpVaqRz$Nj7J9YRDrjl4;kJ#-X}hm?zpAmi$YO<9XI% zXZluWUi;ddmvy#W0%I@;h@o9!|Nc?y6Y+H)I!vjg=l>_+1@KM|{_{d+>9#mL&*~MJ ziVIRmyModified) { + myGrid->Modified(); this->myModifTime++; myModified = false; } diff --git a/src/StdMeshers/StdMeshers_Hexa_3D.cxx b/src/StdMeshers/StdMeshers_Hexa_3D.cxx index 86f77bbd1..edfca5ae5 100644 --- a/src/StdMeshers/StdMeshers_Hexa_3D.cxx +++ b/src/StdMeshers/StdMeshers_Hexa_3D.cxx @@ -167,7 +167,7 @@ namespace // map of (node parameter on EDGE) to (column (vector) of nodes) TParam2ColumnMap _u2nodesMap; - // node column's taken form _u2nodesMap taking into account sub-shape orientation + // node column's taken from _u2nodesMap taking into account sub-shape orientation vector _columns; // columns of normalized parameters of nodes within the unitary cube @@ -542,18 +542,24 @@ bool StdMeshers_Hexa_3D::Compute(SMESH_Mesh & aMesh, _FaceGrid* fFront = & aCubeSide[ B_FRONT ]; _FaceGrid* fBack = & aCubeSide[ B_BACK ]; - // compute normalized parameters of nodes on sides (PAL23189) - computeIJK( *fBottom, COO_X, COO_Y, /*z=*/0. ); - computeIJK( *fRight, COO_Y, COO_Z, /*x=*/1. ); - computeIJK( *fTop, COO_X, COO_Y, /*z=*/1. ); - computeIJK( *fLeft, COO_Y, COO_Z, /*x=*/0. ); - computeIJK( *fFront, COO_X, COO_Z, /*y=*/0. ); - computeIJK( *fBack, COO_X, COO_Z, /*y=*/1. ); - // cube size measured in nb of nodes - int x, xSize = fBottom->_columns.size() , X = xSize - 1; - int y, ySize = fLeft->_columns.size() , Y = ySize - 1; - int z, zSize = fLeft->_columns[0].size(), Z = zSize - 1; + size_t x, xSize = fBottom->_columns.size() , X = xSize - 1; + size_t y, ySize = fLeft->_columns.size() , Y = ySize - 1; + size_t z, zSize = fLeft->_columns[0].size(), Z = zSize - 1; + + // check sharing of FACEs (IPAL54417) + if ( fFront ->_columns.size() != xSize || + fBack ->_columns.size() != xSize || + fTop ->_columns.size() != xSize || + + fRight ->_columns.size() != ySize || + fTop ->_columns[0].size() != ySize || + fBottom->_columns[0].size() != ySize || + + fRight ->_columns[0].size() != zSize || + fFront ->_columns[0].size() != zSize || + fBack ->_columns[0].size() != zSize ) + return error( COMPERR_BAD_SHAPE, "Not sewed faces" ); // columns of internal nodes "rising" from nodes of fBottom _Indexer colIndex( xSize, ySize ); @@ -591,6 +597,14 @@ bool StdMeshers_Hexa_3D::Compute(SMESH_Mesh & aMesh, } } + // compute normalized parameters of nodes on sides (PAL23189) + computeIJK( *fBottom, COO_X, COO_Y, /*z=*/0. ); + computeIJK( *fRight, COO_Y, COO_Z, /*x=*/1. ); + computeIJK( *fTop, COO_X, COO_Y, /*z=*/1. ); + computeIJK( *fLeft, COO_Y, COO_Z, /*x=*/0. ); + computeIJK( *fFront, COO_X, COO_Z, /*y=*/0. ); + computeIJK( *fBack, COO_X, COO_Z, /*y=*/1. ); + // projection points of the internal node on cube sub-shapes by which // coordinates of the internal node are computed vector pointsOnShapes( SMESH_Block::ID_Shell );