From 381f2f35e5826e391c0af1866e1a4abb357b4e27 Mon Sep 17 00:00:00 2001 From: Elias Dejene Date: Wed, 18 Nov 2020 19:50:12 +0100 Subject: [PATCH] Add GridGenerator::convert_hypercube_to_simplex_mesh() --- ...ypercube_to_simplex_mesh_visualization.png | Bin 0 -> 100708 bytes doc/news/changes/minor/20201123DejeneMunch | 6 + include/deal.II/grid/grid_generator.h | 32 + source/grid/grid_generator.cc | 201 +++++ source/grid/grid_generator.inst.in | 13 + tests/simplex/conv_hex_to_simplex.cc | 133 +++ ..._to_simplex.with_simplex_support=on.output | 832 ++++++++++++++++++ 7 files changed, 1217 insertions(+) create mode 100644 doc/doxygen/images/convert_hypercube_to_simplex_mesh_visualization.png create mode 100644 doc/news/changes/minor/20201123DejeneMunch create mode 100644 tests/simplex/conv_hex_to_simplex.cc create mode 100644 tests/simplex/conv_hex_to_simplex.with_simplex_support=on.output diff --git a/doc/doxygen/images/convert_hypercube_to_simplex_mesh_visualization.png b/doc/doxygen/images/convert_hypercube_to_simplex_mesh_visualization.png new file mode 100644 index 0000000000000000000000000000000000000000..f98152aaab7cb67cac01fd6eff2a56ec1b2f8643 GIT binary patch literal 100708 zcmYg%Wmr_<);1v^-Q6uBASm74QW6e5h>Uc1hYa0FH`3ibNJ^Kagf!C9{q6Cb^IqQ% z1xDQac~-A`-78G}ojf)M1qK2F0=A-pj3xpCasvVa62o&;;1g2SV^81&^)4}!p3l>qILDB%T-fZb-4NA zZtI_;aJszbNJ^Lm>hZC$Gz!P5KaOJ(0)Bjy`V^nqa`kTPPQ=4`tR9!2|0?S$WBi6H zRsoe{4k1+n`-Ckv$6CO)FDAe`hvJ&__4@^T>wd~>Y=bc#YnURKL~f7w zHFc_(y$HvM+AxPTKJy+2_I3Xlyt#0yHBa-Nnurn@XAaFgwu&wvRTG$`8m$=F6)7PR zdw|mxF`B-Tlop|8=*x!AJ&{0wK;toj#?TkDH@>hl33T;m_c$jSZyB!W@vhm`QHhY$ zkd4CSnBtmKLj3V}U*G+ZGWtl>t=UR5hqH#a*gSZjd{kqn4*dRak5<|xQsSsVzH^wH zbBs?^ykrY{77P*i)LaSGoUsQFId9ux4ylJY@`oW=7}<;0;*Hu6X`HIOyPI}g2kN-< znEhQ}Yd0hz=AhcRu4&Or3*ccs?omermuwsvL)XVrnk3Pzkpnpv_x{feRt$o}y8Nf0b2H|mXHU|Z-z4ZhTwa(n!8L4NmMCOH%| z$%qO=dIdaH*nl=#|2O)5{#n;H5r|KL=}1Mb?u#@&7bYIHU6H&Yg{97{((Wd749AD^{ct*5i=# zePnkKPdz()WzxG%4m}#ONon*_ORg@@v6>&Il(RMHXqsRquXl&a${zTRR}L2@Crxka zn-W1kB-RbrEF&7F)~=xStct6rawEa%2@wk2n!>b5O`y+S$^pPN3!&%SPGS-d)E$ga zUV|`_LoTFaxXiwz)rc)<+OBHTk$BzkpIEiJ7VG2fx6~4a4f+fs=}fw;<=|h-q}m^> z`hpnhx_(~#h9r0Af5F!0dC6((YvAtwT~<-CoBZac!SDK{$39|?TJFKm&IU?; zUp7KH&^s{q1l}5&nm@7kFq&8J{g8UxnZOz}HaqM2$63fw$-rQFug;>QYj_N&!F{hy z(~=oEj7a9?Ft5Z5hOO&Q1rtJn&w7Ps$^s;zU|N3UQNW^*AD`3v(dq?|89v}$hrz84 z(I0Uh>(#Nf7pYCbF^;?e?GQfOIX28`uwgcu4)K~o0qGl^=DBYu-;~<`-K-;r)W~;Y zx+$}tE8Vk5`TkMRw=204H0wg%nm=-^B|-=Pc%aa~?uIo%@3M)$Vs4Nh9gCY9fY<*v zcLxnbk@LL*PhOwi)|{SVd*b3^p-M0BFEwHt3)mWL>5`M@9?IpTonYG&uCL^MLZ$b8 zqGcT0!@<3NVY54to9*-TU_#5q)zjd#le{M?k{G2K^0vO-ooZ+lTjaeu-h}B}&t7?% z`Y{#NiU@Q}D^vju&>yeXygYR7&$S2+ob5Ow40AI|s2DMHj|hznwo-o2jIHQMq;q(GszJyv_U=o zF)kc0=?=f{Vw|CJ)H1sTjXQ#D{D!yTDU`3$3AAR}D{-cr8Pnis?E>BJDS|HIcft~& zP9Sh*@Q)uq*a^(cSO;)vL_UH*ptW+1dWfmhZ^o1?nZEfw( zSsV&@){{A?X$S}5$r8{?9u!woaeLI-yzVVGsNJj(PJTsxJ{rf^T_+z?ne`gn>z}2^ zO%_EZ=<@PJ-M7=v$*OE+ZmG>|q}nuU@AT9qD=W*;F;Xot`IgiD{*)etm>3gp|K}VX z52u^t_`Wm~f!lWjh~#_41jgd%Zs0rNfmuz6q;q)#UfUwN1eSG5FiAZ<2f`0%YE!n8 zuc!K`=PZb0A z5~Ih(F=}nB=aEFy+9{Cp6yQ6wTXL+LaMm}yGBW7gTIy18>*VP{%ZqKbgjlJsdI9+%2w~MCwTxo6nE8@0rmZ?6* z(FoF}fzJGNyB^^J(|>ZCR<%gSLVch#_M;YM;Hh=^(Hmy_p?=2XZLK&z|E{{Nt%SUM zsI9t54!zIyNk8+(fbO2PLidp*q>a8%XMIc|*M&wC!kny-o1`bbFGY!RFJ6f3AYCxg ziW@W?irw}~kkj@kwz@hvA|WAYr>Ll@_sf??hEK~jX&(G!SO%@W4|-0yC;}ghj3V_g z@;+G;fCx#z!)jk&vEA|s3vY&~iG}I&x>(8@$OJDwb##CWVOnRc3w7-GK0b$OaX>+m`$2 zNUHg^RJyUwcDlYn`#@Z`Fk)NqY;efD=a_kd10mw)!#PgI)^YG_!g^u?QR(hi{;wPH5p1w=t2>luQa*znh7ZlLGG3Q~VBM z_dl51QeMOBedfvIv}5B{a?e$(89T?j&y^vgFP7?E_8VY=HL77zHVTo^w%5+bE6;g} z<4cQ6PH%trhQR{gSa>f+$@zd)REGZ=VTfFWbUx>RTR3S9UC8VQxLq)W=zy^~Fb}n% zdFq-F>KH|cv5pX)Fu8)1uq8-yidRuO^qoRj78P0NSz5y?R(gWAw2E{R=YD#yYby+yy#4EAYpec6HlRqEMWwm~re(ZaHW8Qz z3cEXbQH?hL&6&;?3K#@4Toek(w(@OKlmSE_iyZS@ABrpD#ldsap5zn^5!H9^Xx{RR zb}Xy_g3aa6MVWV7mod@Nm@FC#&!rUrK~xiM7F%7YPm&d_5gCF4L53d`hBQ#JZl(N! zNeTc1K>n}H3E1ihtO^j_a%^%R(x(EN=|Lom7XE&Wx1>k@7R_Bx!5Zl3WrPfj15v69 z&-Dd-Ma)8Rc!}K|6_gz8<{9b{jLkpRXT4&(`A*Ee5KtF9E7QVTgJQ2k&!!bn#E63O zSaEomg|4B&Q8zthnJ*=62nuNFlEMVi@1p#uRGECix(A~Cgps@&MupP}@>Bo@o$hbF z1KDAzbfkN%3k(~9bx#K@2U`d_a9lG1aFiYDM6vY?SH_T8L3bdf;?NN`Phf$Xkkp*y zqbzq53w`0%u@me%TVAVA!tqA~g7_{mIT_jVW&EafF7IUi{H=!LTE@KoG>pcC2f;mK`u~xz*AO&|=nWf?n5Ho*2!~|hl3ncdH zT&5PKSgC!gZG>Zl$;=pWq*+8CPLE?Lpo)m`@?S+>fnI0rdY7XBKcm^Lxdf91lI`k+ zx?0KsE{B5-?UeQ0*`W1Lk}%!b@Q=gCuhZPv;G!iUN%q#z)SO>;*ud(^&r5SK2`K6` zc}=EwUuIlbl`hwK~HkLB?OGjpgRaXNM|f*}n( zs3_Oh^}p&I%#>`j5?Eox39Mgje6N3Jj9pA5YU_H@3V86)RpoteS~i&|>h0qd&IioU zKJlL!x@y!-Ahi#A6&eBgvZ1vIoF_lu7d2jw=2EQmJhwFpqL>`tX zzm0NFG9N;wr}^fn`ioAK6sA4xP6&xixgBGHoNAr!EFdTmK6@hwA}7*HN^)8&JiG4o zFf!!5!Vqck=9{Ise9i&mPfcAxi>6sV2%oox{gkp=4+NK8otOZrh&WYN_K|eiXP9FKijv*2=CQp?oay*Z%99#* z)E^mau-)(%!69aQQ6g(T5q!uD7w@B|QHC&zhdPnYac=FNt~& zGlv+E58-mmF{?x}QqBDLi|6QoAsDn?aA>Zt|1o}8k9f@-*n)S6ij0}%4*nHG`szgu z^VYmfe~A{NU}2$>nnAHF5X8D#fp9+C>-q@H;KQlkpR2*ZB6& z^{_G|d%LtIq2*?2xjxTcX#eNm0$=>%!FDHz%gaJ9mp2ffkrT3~)Pxvz)0mKe`9uif zG7DzcP3Mrspm$lxfE5J_pbg>4_C&(;5m#26L_6A9#P4tS9p*-|d_H|Y`K>ziW!?>t z!k?4h(IfZw;~9Xz0;LjuuMddhKNo|E8#mv4GS+%oJJu7#u|G$9)3;xRyOfkfOu!9M zx3bpL8?K*u|C7UIcyRox>%64s3sI)v8%i`xc*24pSD;sfT?zTkgcE`0ro#ocyL5zN zF@Yp@kx2LQc^TlMl{>;RlI*-@1Rz1_eIY)VM}(8UTxmN*uBXRu>2k+E#&B+rJAHzV z^c%~6%?-%MjZ{BA=a6`(p}{=F(WMUfPW8)1NnhXot`%Re&OO=e!&Tbz)0K|jy6-Ye z)BJ+!LP+2;e}HI1egZxi#*3QkliPu7gI+;G7TTy4-7}drVHrRfD^-TN*d^e++Zbx> zv9()1nQ!$~EfaJ%<8_RE^LHXw;w##eT5bhkleAoHg4>bv))I$+KMlP9NcdGPL$B%h z+F><3je<)T%>rBZU#>2u1j3Kxu$0vzNDiZ7gFIMIy38f_XPR?KrUQ%v)&V)5PYb?0 zRzh3<^2@)tzf3mwf%k;_h`yfXKj-k`w;p^Jsb=hDW2$PFf5m9m&RtMYI>h`T^??}V zZ@94V7>a=*=ICtA2beMMWZC>mgY)MFcKs%~W}(;02F&$zg*tgg@aSHFc}NQsb6EA9 z_2RM^6>nmJg03GMq7QjOIRK2x!v39gT|~II?z?o?%PjWFV)ut(E=GReM~`N$uI9R- zQ*2BUqAP6(V&~Y9Wodck%Hbezdn+j`Dd=H;lujQX%iDS%bqR@KAU<|0Jwr1Lb|ra7 z0*`hYtbpqW!G-=y5^^l>HC5;e6qMx-$eNI!BZ4)eAiZ5mVuGpLlTz(IMl-XehD+L~roaYm&lyW7bmq32Kfi;K?D1dG3>G*<}=3oBL7=UOMyb~UUoJVocm(sf(*hPe#W zzLW?5%R{a1RDh0QKLi_@OH<=KCI7mWTDV_r*_y(18FuK%0<}kV~r&vl`NbiAs5liu`|7ddma_QFNbCC8`u$-?kDM z6(roF^PgykhK0Ynig@l$^goisJJwGiQ4Nh(A^xR0{m`*y3z+f!Pn)I6hXrM>hRlkp z{WB&U6{$AEJ&9jf@Nx`ZgZ5AdUoyix6Zo5wKR>OX z{MM)O-b&(x=f#{Vpu(2&I{O}iL%7&@>AD;?rCCHu@ZATlLP}#Fmr+qlzWTI?imI3x zhuLBcUfQFT!}>r|rGJ6rMGO&W2MCIQ^(gB8)1^x;_J4$VB85>g``?$jU;I>YszIr4 zicM^pFcSCclny3YYs<)h<=@<73;j9sgf0Ky>y|0`8&e_(oO#Igu-+pdBQ*ipLPG_a1j!=64G+ag47C#u6igtp`=7$N*R*<72-59&R81}em}sfGy3$JH0Omn^k=xkc{XT-bGGUJs<( zi5)?JHdw>J0B1&ccjFx9hqu!ZCbhB56E+xv&hGrtzoFo*j2On8s|0n%5Qf!!bB;Du;U4gEj!!Q&RG%Sn?~7) zvHP7++Ca+N>WXQ2?>l4wK}^%vf50O*4QI5lWUe$}GC5ptLEtVeeda`TZ!1p_vFoqL z)BiKzJYZ6^el=Pl#EDlL!B6I8)9l{fYR=EI@5ph>Z;JD z{253Gz_>y(6uHcd_#a*>jjXi|i}oTb)J$c45#XN@3Ca$<@IBC!0dAPvH4I*>-Jc5fgV(Q&TUmeARltXgzV0PL@^vNe=gJZ=Pqpun?!TeoHZG(XAL2;dJd{ulDYp4>Fa*n*616_8lR(qq(dF zD-KivnH(czW*%2jRrR@RnlnBoBq5uB3>{5ptV$7T;ItWxWziSkfa5)_790I0>}n-> zcJy#7&Oy`wrWU9l!ke#^Z{>;eUVORPHY>un+L{?7g$9~#A0Qa%(vi4r5cX0CIyFu_ zxR=GPGKPOiJ;NG$UeRXiK_!ewZO>6|+7()9b(9vn|Czck)Bh$?71_Q?s%BnV@Puq# zgfA{e&yHh{+DxrvP_d?l!_CO|hAs1`eOeBOV&*n|ztU;9RWWE%!B)19t@YCMb{Gxj z$FW$xOo&Eds2O(*YOQw!x|N{Ag*MlV^F3`-Ny+5>_zG$}S)j6TAm*YkrS9{?KLn*hd2c{#l)XM1vN9|KdTUOyjE=O8^wB%YuvMX_ zCw6A!+8_&jwyq_7;;Dh$$3I7wKvV1Un5_TK=eCy+jWv=?<1CcYcF^N`h+PdAMp|NqTx-+zGqkG;T!^^YR+u zc3px-7g}4HOt9DIIi){hx{hn>A^?DtZY{0DnRirxcEA|%fwZ#}AAO_B6b3ca#=BE? zguzm>wO$I1A?a4XSD`f7b~g&f4&w|SQJ|8it_G5i8yi(bM+VZ0y!DQg=5HYA7??Qi z#LU(*bV?hr8lfCi?!MgnV9nLGo0p~-7S@1UY4D-d_UPB&Cbt8q^CqcZQkb}Ao zxFmerf$X{vtW@Vfe6qNPUW4Rf*#!dV3YQrPg@$WE|4Tc44I()kW z>(U!-4;>n3r6Ag(5T-&M`2U0dck=o3myN?kDr~FCarl0*7sTXK zct3i$G$;0O)P~)Sh-jmaOM9fVpra+#0Vil=2EYFMviJ78wG2fp zfqt68Ods7ENCxHj5SnL2pvY5Qd-lYiKhmg2aKVjR!=X)nqBe#Zp=ix7=C%>FT*|O7 zD$?w{-dl>>`M?JrE&uS4X1W}gN^W1AvzGtp{iR^_f0=fpua6ODYx{O9Dd{F!SplLa zX0CMcKtTX6kmHI|(eS*S(uQ!w0_R<~6T$e3iT%hmU;4be+Vt@#N0n=+n|l$w{Btv7 zvJdV(lxm<%mL}+6(cI6ohl(<$Un|08nKY2qrd_VWLjBpGQjR9{jmdWJ!Xm8ZGZP36 zytgCWtlizMjDzNrGMDu;JM*3UlI{Iflsrjo$Y({~lKyyyd(K^P$OetpB+7S70Y(wwEh_9;25*19u!qX_5!T zPwi4Q3NzjIYZ~k}F?#jnO*BHz!#(MI)RmTy34PzepKm@T+O2d5=ZOcv+kHkiVRg)} zX_y=m9;&KLc~YI9{s|+2snzZU?(4;$0SfPBn>5beZF+E5*SH$(2E5fpW6;1hg5E)y zOQ25DJg*h|JXcp2MSHJrx`W&fMn=l34b1kB_pQjXV<(!oU;z`I&*FgO;g{EZz0}#R zyH4~Ahj z`aOv*OGh$mYiEnMf1dsgKqS7~Y9kb)tuKq31#((zCXWgug`;VHKE$T8&rO%2HSOvH z=|y2ik@$qp@QQ>(raUYj%Rmf8tR8Yl3yv}VfxyflaNPwot2-F2yZ+ZuDAuM9IdZ0O z0BYU91+{W7MH350s=%ps!MqYv{NuE$bplYM=mWAjQ&#rz@;VEfn$q-Cb4yk@kOLrH zc+8`q=Xh!P2Rnk~VZi``O-(H%J@=iidS(?Az2}lAO(v)SSV!wQramy5Ydf9A5AA zy80PqRRI{FgQcbA@)KvZ+o5hK?j6<0*dr`SQVA93zYo(86h-HN?F|k2<4;byh_+u) zeFEQM{C(t#Q@D+B814=d_xL#dP5SQauXhm>>s-bQwmpaAMW2C~x!H&gM`nUhMmx)Y zxu7@&6P-iCNk4sTd}+yK*n+vQzp>qZzap&0)buN(g*7vQ;?o{Oqt&O87k$grgQtbUbC&vx(a{wn&kj{7D+V^9R`anG?pz+?4-9bvP$#gy z`(?TOdj;t4J3>~ZQDgfTTwHWT)hAAcNQuqj|GN}@2XGcsbMuMn!9hjR$d+pw6mFeKWsvADeEF4o{B#D6I}gIT`zk`a#4zlD=xw)MVfQD zR_P<;6`2Uo%zinp!PIEIHlmOLSeat=;d1HuG~qya_{)GgjD8jeCt%)DFZ1?9L86So0%-GGkbgwea~F^QE|3FtzZdAgyXDh@5g6l$KoQ4*VzW3mbwGMAb$B zu0NoYi}IqZ5(f+YIb`qHEv@&m5}T6m!S3mi(*F{({oXXVJtYMV3)OdZRloq&1|$9y z!zFLP-l@SvaU~gww-EBl<}30W{GcdH7A$%WmW8xuujI}-Hp{`Q+_r-DYr416p_Tk( zQJtAKX81l)&N(_Q6V_n9>Zr2>Kdk@<7*8LABP|K?)5g8Y?pu?$_AY+ndSig5zB`Tq zp!w@HITWx1e`Vg?pfi(wCIBH1XJ(Ls229@UzfkHd8|myno?{1hk(D1O~yz1GdKoY+%w5v&;o$ z*lQoQk($88arBh68Y*2nH_y+nWuXIpE5?87JX|@sF zT_X;1V1~;;Jyp-wffDCgdf5O2ty%R_cuxn*5T3lLr~l&jY=zIuAhOw4U@J`+c8y)V zaNt0{KHqqG74$QUlPNCc?Bxk!ENX^Ccm(5(@H$c!1{HEC;If}0pHJQr=LMc=yceP@ zVrGe<^4LKx)2V2)T&&OUT50!~FQ1tyjRTr2@teCFsqw%i41m-)7P_D6m@SYL;QG0M%1k_$I-a*DKH^xvGxN73+& z)XqnPxEX|sLOd%Hi-FLXwk{ z$MAyw<&e2mdV(1^ExT>+8$O71>BQfE;f;LMpV}{cd~fSJ3oAyw0De*%kv_aW;ry5O zKKeVogA}QWv(`tAj(XB^RoRvl!e`-S-&E77-?*R1Rz_*w0TX6KOG*k6Ml@{8qlcvE z9_oKxAA3<@!CPl5HI-N5vFXCswGmvliC}i1W?7W^SG-`Ed@3wlwqmPC5Z~NJjR}is z0_~kfD|6YT@LSGI4|+jIok>D!+lFeGzeM9?=HBsL}*VSo)3 zElEUGebv2-JvrIVM?s-di(1QAP)5vVjp z$DY5V5UkycM<<*`;C_cWg{=@7nc=z|h%zn=NbjAl4r(McTF1G{gd_ZLzPWkJsXw}7 z%?j|eTJUNZAwEI`>pN>t@Mzlbry=rx`g!(W{cykGz36O9=FoT3#svsAMn~fFc@l}d zNBT8+J~x{`#)ZVBu3&Ga@ASmAqDKJ+@AQqQ7kj5{+-xtOpqQ_(rFHpFXHUZJ$43rC zF)`|*@r=_@C$LwEifl4aIbAUR>#R}n-e_qZw^`l%ZGabcj|r^EtWi`8`_?AVF26gV z_$-W!j?mwlf6)-bs1>a`!_V*K<>k>JyxBwL|D|`9kxfWwHhHzD8J}^;>0LI?8!{{* zJn&t?KSR?H1uhbwHHn<7ghsDH?JMCwC3%jLFmajaXq{L7O-@|o<T@a0uItIAqUP6XjA;4wtqGSp%8cj!h21^m@qWj5 z4>(V8dD&SsHfEa%Mg>8!p>+`xQ+ZZg{1kY9KVMpk0-)_w)w#HceQOkh9%AH>6(cAi zq>j=}B97A?(QCu5U=Ufx_~HQjHDjo+EXN7XYlTVZ+i+lNRUljzuK)9F8Cx)0B z-^fLQR)?3g@Ts-5@Eah#{wYK$0izW#vyAMhw&xBH>OWT_dbjSe^`dum-I1*Pp8%F+ z6kN1>(GB<)dM2%9$Z^FORy%!~u(_WB^U`_}Fed#Fk~IZiUs#`_qO0y)$3wg_1xYmZ z9Z@D*GjcGuM7a6JfY+srz-xOTpq-=|?IBNwC_3{Y_^35KthQ<^X znL=b_rY8dfIX~z9a}meGMdj~-fuD@l4s{X4NNiT1(Pbakz=t&P&m!Gi=m>tUp}eY_ z>cn_2{G|j0RMkw&du*zzKdF_%rU58{Ovvy3kCB;~JC?$Nf`ym$2-r3@&#te@4j(w- zA)~^8oDU!Zig~S;nU))|dv|mkiurbE=xN}m;E|W?>WDSQk`YelvDBzSqm6hh&LKX= zE9nH3UX6K;d^s%*4a0Y&g+=^8UQum^MOL(jDwNZYV}>!K!ayX7>~u=!)4{lh(n_zZsltl7Z|@$Y{lui%nE-EYw_4!onNmy`l0rsWB*@F7cs%}= zUTbIA-uyjob$V*0a?Z?i{p)RxR>JE)Dz04xd?`d8j{0+E(c7Ex7 zhdQ;$8dks$zg5#|3#AXVgEH5S_q9k$cF8yiQ%hU+_1`O@IkQoZcl9<%U1bLqC&ebTZDHOwr7xdEK zzf)Xz`jAQ*C1$N)8Pq-=Hr?>OnQmviMSfi+zRK>Pys~>Ar=ao{xeNGujx4Cf9{2qG zlhl&APlQpG#o)&SFDdgPMojJ;8~u46ppCjOSN^UO{9^DgJra2T^ejxQn-cK8VPv8 zEcHHVNkeQeF;t+@u6o_^p*j_RJ3oF8UIpf|Gl8GKTsn{fHI0{-a2Cm%U=Rbq>fHhq z6Y174&(hy(@D|7l^gGTf5J<-)MIbEZ#fE{_F9YDQIWE8gtgTV{9tZH%yZyW2Kg%Jzp zg|Pezk#`yYwM1O?Ue*ulH?w{e{kV09(?GC6rHG*`RbN5*7^SRmJqREH&reRd-zh7X z-MAmGoGg)YC4-lUsZZF)XqS2*7RMbXYt$y}dG-UW{ykUZE+lXwz+%6gp`J<3Xi~h5 z>0TcxKR+cFEo1avC`?`=g|VwAEE1_x-r$W=$HlGRBjnNhD+ULwudfJ|je~#UGxs}}RXr7zNdbxFv%Wh$6 z3q;@7XlxMlBFC9kJ<|2^;wNGk;ur!h!X3Vsp7L!BjXREp_o0Icm(C@sE?ZE5A7g3O z6RA5cSph`mNSbIpr4!K_?GgQ%Qb`gP(=45>$Ty9(nZWRHVR?5HMe-l*@jUpyT$#~=^lR-%X9s8lV#te*Z@a55M47C!9+{9n@UiRAf zJy?N1ySNao&wJ9n^m*)?T-|uqj*sN4v16946J(lMWJJ5J1mt8J>+?vew}Upo=oQ!% z5Y~DBmQ>-``Y(zv`mf!=OUveF6z3TL~Vcp z+t;B%P3yZ}cNw&w^|pej-18~rdNPep!r+tPw@@BLjlKDz0XGHfEzULHG1_58s8t;a z#_}U}Gty+$34#vtID9YZ1lI(8eg02?3yikjUQ>Z78k}S*! z^H7ay@EdJqUx8!ZFl!Q* zc|vrhst*hMl=La>k&=#RQ;4X29xgCR-({qxE$-{^ba!@sSs6QSudRg%nhogeQxh30 zx-{%uv8r9ZzX6znzuVJlJlm0ce3k%Cph089JEIS&en3&&k>6E^eEoa#2ZHXSKEhC0 zsdr3<(9h}P&L08BydMvMs4j4QyRm<0!+W_K8>?gGXU4|OJ?apI7PEMAvx8ZumhHO` zS0fPiymv3I4CeOra^h(4?E8mvXCKipo`I>!_xZoN@*6{48?HF8pkA3<2u5$#+wIX3 zg}B=Bg4UB|@6zDmhQJPCE|ni>ENq+i!`YR5I@%8?c+&+f-!JFeb&|VHe-FX#G&1T3 zZWd2O*|yI0bfZ=o=;g$Tio-Bl+>-W$OaiJuM8g4qrH*#&Ulx;>7~sR`KPkzH=P+bl zL*B!o5-oOXj|Y8YzhxndgLzC6e<9CX=ZSkGBPaSrY}7_-F{*Ze`sSDUt|;O;4xa(P zo2|C5N6YHAT~}0%`;EAI*UTrzPl!{al=;%qXFDO#F)|Ob+*3( za(nJTSr6o+nyV`;>TKt$@LwkmL7;WMvC&CBUdhPl-!L~X9KgVEr5PN5B0UiVC$47r z3HyOV%~@# z;)%tYYD8m|dKVc5ewW{{IkBH~i`gC|QG`oOro5ZqA|JkX*3J5oX;V#iG{wPksXOSm z`OlwX3GwlzPo8&&tcS!PJg>P&$XLeET<1N{`lT`_8*;PH>H0QK^HbH+4K7A_1;H-9 zl#e)gf)4e%_N*pNO9hbuKZG(1ah73fbw!e>Lz7yIkdW4QtrTDg98-Xt{tgY@=SxW) zR92>c(A&K;my=sdT?BD)br|sjWzEe|p)z~m{R1`v+TXJWHw*IydQ=e|*UrOi*mQLG za+nHArvw%O2hz&`i>{%;dGE6buE$S5&-dQgwQa_GT2xh4*gz%(L6FR_ZU|F;4$N<7 zGQU4#x@eq+i+y-CJ@rOMTWgwg4EN&*l9()(=P25c|0;v#Un(gjgI@=myO7ZFlZTtS z@h_{*_NEKC12K1*FWAt@$f=i41}N=Ds70;ymiXmk`kCb9=dfeK|L_$zzYy&pZ~h2q zCLggzJDeD1_FV97Ve*RF_?u?SZb}E5)tF)q{IC~7?&1JHQfVDq1&szkalhjugK={n z&zEzdkK=VvB16U#ioD8*0>55l7wE+gU4~D+#*&plPQvrflalhio~~%3m>bJTjZv69 z5l%bha-_wiQy9$bYP0Gq5#Ef0p zTspM$RwCyUoZHhiHgdk=_V?pM*mThuE-{hy4-U>pTn66J_z%w!-6z86J%Dnl_m8Lu zl@OWzReuzlMi6R)NUNtyXTuIDP{ZFUNJBlKHRt78!FUv&|T3@kv&Dd z_*F#Qj(^p@gFmcY@BE}CyaLO{+mYrxL4&W)=ECw}%h2mNzDAcULmaoZxnKbpa;k#%*VEQ9AG1p|~=;*jX2&@5k8s=!$DncU0vNFSO zEk3+TMKlO3-dx`3swt@b8`|W0pqHi#@|?>9kQT9OZ;!Hkl=G#LksQH%d132S6Zy%B zsrA#I9|@0bJa6=!hKGitzb1YJ_zR~r9bCMx(JQprkwR~73`ID2f6}7Ok~Dkue3>bZ zjor=)p6yLB?J1>9Pv5`F6u`$PAe+w;^L7vM&@PeP+Z%0-j#lqg63!lm^c(K!7~ z<&^uA;NQxb7}U%PV0@YqEZ$A@d)oi|X4jOu4QT6yH{R!>oSdCwY1wPwh>tQIa_@80{-tgp*%NY2M z7E7)V&Y%{+PzQ*oBA&!>a)X0$24_7BXX@+RBY3^V<2FK81(ggMvq5wkSnpHyZ1(Hf z$@V%Dc396Ii|p=833f$}EwO)f2`oiKiVnnt&dkp3XL}rXK!7bBHa51X{p}G!t7A`% zH@TUCdaNaIs~Q$-Z`#a1?rftks?P;y<$XyF90Y zNqI$&NpK=X~gU0R(A)p(B?2JL+b|4dbND|Tp!5R5HUM7T|KaN zX}k2hhyDW!3X@^p(*L*sh`Y|M!NtYN3!gtX0BlMQV9{!KJDOU5A$!~nIoD7{98jg4 zJW>2&W+t`!R{iIP+m3TNW&QNW%uL~j&hZ~5;~ZRE2f+HFv3!_KH7VvAOrR5$HEsAOX1U65oL|tC4sr&j$ zXjzqY=G0D!zopArk7ia57aheA`N_w7bM5YN!LB-u9o)G3rhZmHSE021zEXChf5A}U zkBUu&yb7dPx~Zr3)yaAGaTk~O;V_q9xYK34Ys&;u0Ty-Z$L~=5hnILRS6{G8xJ^w} zyYw3VB<8R4#L>_i|D6A2&~)4z2A%Ln=$Q`={)@;0?92RT=d;K5-?ZUMQUkE6!(S~) zPxGz3>pNc!0XkgO@An@?^Ir51177#ihxp&36*8+D>Lx%hYIJkn)mmRq14vULKD`4sOqsZ@k;dS>`UFT%G?tS&;uKYQDXl{>CI@R zK<5gq{iQwC*{$YeODy*G_L|%_C&jP_&r%IbX#(SpmtNKvmTtuQ08L#P?xfsQHC0v1|6SIzK8drySt^N zQ$e}~B&55fQ@W%MAf1AMG)KA{Bm@j31*AkmK)OMcj(6ex-{*Hfyq|cUb2xkTTyu^& z#@vUzp&*NY$X#F%9|WwACx!wJgEur6N~KU(kAEl4L*c_^L-Sd>2>p7)mlKTjPcKBS zi&Y&1`u9n<`!+}`2q*)km87NTF7YM2te4M@HpVSxL|PiGa9360C*Z@?ZMSwOaFka7+09EI);bKEh!dLhh@wPt z(%$#iUxn*SHg>YJI)4UiBCN*V_e=l_y<00F@bi<%&a=y~U$WR|tcr??R(5uqfP$c9 zMM`GmIS#HteI>`W*X%n!c6R2A^Rtekyjh`haA6XhZ*;&iMaA^kNqcRqFfM5^$kj(X z1Et3CJJd7IUstFzF=f=>O2bllY#-qf+})SoSStWUIKS(U)?1(ttDvUpe11E(nDVsi z&-m$jtu|uj2~hmWL~nl!E{U8zIk|VRJF`47GwDT!kDt_pkjn;g<{U~TE0s9Kg4)`z zi$GYw{sv2#6!{=a>gc9*@ypfjTE>nyEo}rDYMx1pZ*@YMjC~9ScD7i+Fa_`KCPBHH zy&Cv|%S;1Hb6fMn!CiLqC07iD=33AwP<)K6umD0}55dwctnoEwpY0XFb*wp1OMH`O zN~~@*oKszrA?XsD>v5xD{wEfZ2z)CicPbS!#JvY(^Gyy5nM5=rqxdb(L)_fBWfisG zqtMWNe$1|<_r_7<(9)iIQ6zjh@bp~tF@3#oh-3yd1&tI51amyA85x(?s|`a>Oi1Om zjk8P5YFkCP%eC#9R4OWX&<1lUvIOr$V5!d4N4G(sTtGDSdn3b_N?SK+AKl%))ji|n zZLpGB>JV~Pq9vmH`R6cAzv7Ag*8$O>*}f;95Fg$vj|x4oQ24H&RjXOFA^geg=Nxyc zOhud*h5}zfK4ZX*hV9>oxc@~Fem5<1v(u{iHLDl=l{!;X{{- zXKkLD)OCjhDB%a_{tO;q!F`dtFS!659kvHnoOVDT3A4o2$rx;OCnV%~uSuq-gMtqL ztGcyjGQlRWujPXA_Y_SjU*?uQwucc#;V1(DvA$fc))wJn?{IW>^BJ>y!O+m9SXb9u zI=WXyRHKzd9E%1`QWt2yzlDt z*=u|BeBklYo4va}@oC1W{$RiA=kC6Q57>G@ZggQ0a@*qmDN1-GPq=nauGFa;z>tcR z36E*v>ZMjcUbC-dgE;mi>qn!?b?5tz1^7rYeRb!on3oQS6Ld5uR z7V)18LHePrvDbS10Z8NbfFSMt?CcyR9qmHQ4<&<{5BjYxagKr% zUQTwSJmwKk2zQb$aH;DUE4_mN_)rfFsIT)>o$=3ch zOjLVelC>!w;Q1aSo8R7(Y3-2A+7?H&01(y5*Qe#Qi}*fOQrhd+^xSMS?tdoBzeZC& z@=Uy^l@Jp4ZrTO;rCm1!{4SSSk(@^%hl+36oOb-99W#3f+sYRoo$*rwflRn;`Dwq=b9&Ria`74=;L)$ zMhaAqykqHOVeisAXU_}uayb4S;^%>uA3x$;759}jQe0I*BjM!5b?sycgLdU)jUi@FlcN+BDn zp9R{zwL!cmNLaMCmGr49SlTn~OT69(v<)V^;$o2|nh+TU1r1ppoum+z=L}6o$|BQL z6(mMIg8V{4Xmv)F(9%eTxjG;W&J_QvpmC|DmwuyRX7)8ECFPgg{iip=-3`A53tGMl zJ7J5+0bhPcwz8Shs5<%OW}}GOKk@&2z&pFIFCxTyI0?dELZGS?@|-N&o*5g%9k{!2%EmTIVA)x78w^>N#VGa7!SYu z6c8*|(vAVc;#M(cR?w5GjV`AP8PdsqKVdy2ZR zo6@D-_=)fWcW#q(rp@<;sQzSJMn){W5*%_yjx*0+(j`c51!&_r4eBU?^e1}^0 zi%SJF<5r&GzTRTX<^ETO7oB#3PY#Rl!8G6^WK}fLIRP)byx0x-{mb-fl&2+cBXVh# znY~vcuPd%E-$(iG2f7+9c9B9}gvKgRrF6u!^Vt1YI?6W1@|MqzHXnk=P;KHfkcmHP zc_k@{TzGv=zb6>tve3?FPM#4f>_uQ?6IQzNy=I`s#%@tDGd*Lyvup@%-Bftp0(JA)bdRtA}uOn3WJvG zRpsx6`n9472UC^O2#wAzBUWP5c5kN%;@~u_>hrhSjODv;880FHBrP}=w*ph=8-y;= z?%LE7|Ao75X}G-9W6fAGvMt#gC}K7gR0C7t3VVkH9PV7iL%el{reo=dbO%+fmJMYv zEp;)UCw`m{R%}gFKE$kUM|sNB;l;lCB<#NSH@;Uor*(DXnaJo}4HvcDFEb`4y7iAa zb?mdz2j#WG@y$CLlO|qKN8A=B7cEr{oh8 zL)spmaYT&`J`X2Qo?d|V#|b!^NW9r1PQ2@wo1iqKSO-dE3mUivR4I|0+bT>li-wse zpO={UaKSGb?2aN0kjZLX{kOE1#ST;dF&iO3;EaYJX}CiG~?O0Z=7JT4Km@(i(2BSr^pLv8J2P{O8~3aeU` zr?1zzbvKcjx!-ktW5b4ogn1n0snIv;9_M5$9pnP?vwKZQP%4CjZh>!s+ut3IRlSS> z6GyjDT3Df%PT%c9XNW3()6|P+{l$$9ZV3f!(`h3f(x4Og(_$_0z{4Rk)FD7ah=WB~ zVo4(Xc#RJcKzBTv()SX!!?fO*d7`b)O+WU54ZR8q%lXY6t<)@D{moGH&`S>=)NY0z z!!L6Q`Qa-Jw2mzJu$SQ@Z#NSvt6e(GzI~%Nee(1mO;f|7(wRI?zF8}ii(vjB{tWpY zN3AJ?;{cQmOm^3q(7EsdzsRmGTb}Qql2m)$cXFA*Kz?uUP#A-Y7#Y zOYZp^uqEPTL++YFn$Nmg*o@DjW-$Az&R{({X?+hF!sAK}Vjc%nK{?0-#p6EY(tJwv z;cul{Af7N)b#`_X0+fRIv}m0IEfs!Lbp~>hSB_TiT7Aze<)YTlJKFVpaIrZZIDX(3 z^MiXM9md;5QTgS@H*7fGGm{Vs)}4?n45u@acVj`C>qQz5hM(E_K{tYFoXiBnu^1{blT#1 z`-x^EgMQG%RQdfMtShkfKS_+NLg)MRxqfr-0Yp93B!w>EC-*Jikl}PQG9I-KeDNTR zN2=rv68!_9Fn^bsao?=X(~h(sci`KqW+rS(tGqdK%Q++!?JfNc)$D!P;e%&1>q=FT zJ|Ws@i2LB9MdZ`oxSh{V_NVBrN!5_N#kQuVsZ0IZOuZLG$1pU--p+(#xW7nXo_r~k zajbtPbG@oc15aa3?48FL8{2msWcc&hT<$UsVpOGw5*b&N>*&U`D$p=cKw6^fPhp+P zZ+1qrVV!~b!N2sKs0f9Rrx-j)G=?<{CtFguYlJvQHBi1z?@ajOt{;l$#rGk~KG1mx z)?_Wn#w`;0rQY0HkU{Vl7Zv?nYSrT+T6Kmta;h)t5z}t-kWRr-eNa;GnqhX0+oagPnr7#3~hG(AxndV{y=+d2J)mN z7rgBQ#Z>`f4f8JbaOU{86eGtB$gzV~0W{2){PbsJe~aUuJ6I+r_ywA*K{tKRA0;7j z6=T_tPzLG@aF*EYO{G~KP*bXZ^F$L&Hc%xzmk;w&*M@TJM94gusER&iVWbd5^J2)1 z*zqQ-JEC6Ub1bVPE>yc=L#VXotMiqn9F%foaop2afRY6O{0%o8XrPs zsQ2_Ac(8bg&VHJPzGQyL8SWR5Y=WaN!>YwL{Ed*ge8UF%ZkQM$i_l;r!TSIELwpZf zaFY4IuWiGHSb|U(nsHeeoXR|<8?=ABkB0H~cQwc-uQEL`LnBvPLeD&Y$+%?;jkDQ zf!<&)3Er*Te}7I=bHt4qdVD_)xa z8^$say;7>Npv%Z-9N-`kjQSAZ96f-)FXP?)pRqbfqeIF|Aq^~qa2IFv4+K^)E>u2x zYbfl0=ETtrR!3Z9A-3pG)x*&eZt-SO=5#{qza4vR8`&Zl&;pSm`N5eZde< z0}1y3Ek<1!m~vaVQdLENmsO6NY9tHXq$Qj$nHTEB69{;Y+(X!-BZT}v6UD>Sv+|oi zu#apOQ-Z!O(tp=eh{ZBl;up#K@^O7L>TT+hJ84Hdz2rF2gT~H!H&{qgwU|OVTkXWaE3TS^7Y`0F+6GRZTh(RtAP@xo(VN&uT4G6lW!W`G z*~9Q~FA?0(b^T4thiKkE5bvcE^}}MU_=U}MC)TkAh;M3RtiF+YZ}jp(#L}XMB-aEG zMRiHgBc&*L$5}ToMl5NkhkJrDwi|30#8^G%YL{%#Vzv-TE+v-05+WA0AFIGzjXu$k zpDID27i;y6=lk07eL5l(3rTqPoz;JXDB-5DhHq7XR!~)vJzMWt$=Fhmmf-ePB|{Wt zB|$pcTGTa1wAC!fdq%UkLTp^bTAEtRriNPOCn7Ns*6FF?+PuV3MZ%=Iq@)fNtGAbs3N0V z%^&%wo*;<2%s8PXyiNaSZ0A(7=YeMPND{m_3fjd)HTmRP$pNOHF3m~%{bjz{QeNkFv)U;hxZZ)2k(?dZ{p4_+7Gev_Ud2v zlpcoB=rIb=?_;5a=>yy0C_5go)TfuM#!wkRcaH=sbbq2Qq-8?Np%|@^bwLz!qXP$OUb&=(MdfO$935{Rl1Kv89rBBF< z*QBPVhE~Wl~J2 zxcFlv3sI#o7T)BwO(|qQ!ukC2zp%DxTC}#?H0TVa2fYB9Hu4vG0Vi-_Pd6?hJ*2aD z?B!{&8SPUQ8Kh9@P0H2GhrY-2wD(Nq=%@rOOMYCePrn(jV(ch@PCLUsqI1JA0_Vj& z=g=aHX(Vr5&&s+AQ+_0B8o!ji_riBKXl3@R(}^$rybHU2KPtonQ6Mjg4lTPA#&o1k z^zxboYD)Uf)Ljj3I~pcODNdb4V7oq=n;S9`5mSls-D31;X{I$Z(Id;%)$u~I{(({K zAP-5R4sdjl_ZShB=b|$5n|#4tMH8g&fkAc<4eXHn9j~cLA2KubiFoq0T!zd(3w6)6 z)f{aP1gS_jJdBe;!`|9#U;cwcfWE|?EKzpCfO&Q1w)g_qTId8lSyu{=fiq-Nx-8VM z#opZlkWQAiGX)#zbadGE=euv0%p4r-lDQ^Kz7Sde{gMHxcik0NA@lLk>*g^`At9$V zHDyXW>ApOCW@hHjZz@wNMwD!I$=+XZte5N}gI(YsfT4c~qol~k_PA9+QcgZ&DjTDU zrB|ZM5n&}YG3Z#Uj_M5-ZlzmhznWo$1{C?lup;T;Fq@ z{_$hR1x1<8J8$pZqkbj??P6iybzJN79}$=558D}HU&?ll)tXNw9j|+5NjT4hzUh(n zj-hA!t4TV`oDPg^@fZ(uYL|K*sb#+reu+$ttBJMO;f!t>$rj;5ITyMas%3v(N0P4Z zCn`q&hKQW}-S4)I{drzaVq-(2-^CNP98C@|I=brs`Nz}QY+1sAe!ZV1gMKDp;^<`X zMZcxgMSQgoAu|OJ6?Zf5`qzrgCrKYu$9-jmbjB_dXS({EDR0x-TmKsG?X=of_Bk%D zmmc*Rf9zW<7Osj*&)8ZZi+fEPa9jH+c?kq6Tu}J=%t>7A_{_HxPw(m*j|;D@-|X6C z5(~vc>dC5$ufJ#@ip#=5WKRpAhlE2fA4$IAr};f;qY}R8P$D1qLjq0<^>BE#~MM#cP#sR$K3S$-!HFT!Y4Twg$&7GjasT`sxW~b zpxf9W*`Y_Vs>I-cqCpRC;dPHu;cZ_a%c6kqp_m5*uZ{6kL`BZR1R>?unT zpt+`onfU*50W9^>nOnSfJcL%pk&4HHLq)-Zr}Of9Y`n z#Z0Q%_xQVRM@@rf%O|&)nx2%+{HAM`#fI*urqZ_W)HjtoDJk`y)`F8EamsQ11G9g$N%*vSn-DF`qEEPt&MhwT?&rDtUR&u2c)7&T=R(Z zkufTCPlDOvyAApWX$&2#F~{A`yaT`8I9PglBt_d_C%kKtE(G)KR;fpOy|B={?KO(9 zocjlvoFN-vq{tXm9*|ksYIWQ+dz-q_2&w*Sj`k^uQKm^^)~rzkLM1!Pfsq{>GKZa^ zU6Ib7L+@sv{Q}Sp`?ki&Sl6fz!wUd(DNSO!!0*;A?3d-M?rdsul`RQSoz?&?z~6uK zcchLp{XZx#M4ZehSI_lL!lVFu)0641<}U^pr&wHny~X_MqL=6@4t~()qHzB_O`g%rIwD6P_Mm31NEP2BxZ4VPno^7tJPEZpI zoLZ!iz1$RB=anE`+V_cy<=*gPZnEm|4md0#UneKWes5|L-|(OP7^!dGtd*)XNY~>A z6~Z1-uQVoLn0h#i2f|dLOzx&T3v`5Ls3!`JVrGd1oE;KvppB;cgKRi{O*iDe8Lnl2 zYavGPFdFs;m5;FKQy-@ZEp3v-Vr~8?ASeFL`_n!I4C-eIM6fuvJxdcru(?HPUn!>> z5jjjNRAqu+?*g-6h7&?Gf3Ka>>(D6KZV5m`tOPyG$sZKdO9}Pm_>>aN-vfa~+hmrk zeOgs!>z@at#_EXXv2;D1=$A;LAK!cc?iSXRyjC!`aTn5(Xn+5$I>ZjOQwXA=Egz>? z`MMd~_l4zPOTivtEa51jN8q#Fod$tXeTWCV!C*;TNmi%}Y|2NEphuWX1n_Ex?+NU{ z!AGu1Ozbn;TwL_*Em8(M9Ac}k2;*4;3`cOpd)_DH=YK$+7L9d5hXx=YKws(8a(Z%Sl+p$5x$jo`;S|Ek ztxh>zh@Dv3(9k#p#e-1i7nVghyCok%7xv!eQq7nsWPtBsrB8$${5ll@knxMK`C(mu z!X6DW%WtG$U$3Z5(qjPc1y9`IZ(-cnPad{94{x`!hYBV}1#x4HgL46X2W+;1TIltr z*dDdo<5)e8kHh$Qo*=HFD>9>M!J{k!{A8=j_TQE0aN#@D%_#h{L){pXc$$&WOFc|d zi&X6;CMu$U0C>QK@lnvxC)mq90({RA;RVF{q@p#fo5XXPk~bmcCw;nw|{Z z#8{AXGHG|T-?;FXiI{#@CdTUwH9hoZXkXf1_0lm0=bw0B;KY5NZLKgBZ1L#)MQz|G z#N)nk0@Z~W=18cTB~Hsl=x_^lGZt)Q^6TF`ssK zd7yGMsS=NgFkA1}@tBf1`I%WEk>W|8j#1^$QO!=MQNBzBP`c!{Z6gWQtVn2O;YvOE z#oyy`J$o1f;43o@e$Q|*95b|sVHgMa`Ng~(_9@IJn4>D|Hn&Dv8vMN%d1z{%7GVEF zQZfIt3+`Udd%YeEU?-SSIzzE#E3LnF7MGge1RCz1DXcuc{(aQ4;M_NXlMJk~`OU8g za>wReFkDdZij$m)+a+aS?cM9V=OO3Q+#OWqI-BdOI@Egy=0{$AiKlUN;sl+iL%bg# z6mMRAxCu={d#nCaod}`KH3P4RI9aFftPB=zWgV9c=EB0=Co(dL?wXnpe{vh^JvD9S zuseRm^mCBh$k1r;%im4H*U5P|7i)8^-LO_s)E<cLB@ygT<_I7tuTV)Vv>i@O+m6ChL>}=oWcT!AM+WFQ5B7TDFYiY z#fS&9nuw!?b)|mnWE1fh(1CJP)mxHW=hFFqw3%vHc;8HOUtY4XScXb7VEjF)$(ro& zMI@w66=wbrEH9tFpPGUfW{t?kVN95V(b#a{p@H-B=vTUs(B2#xIzImI!{|TW?nj#o zB?&gIhlk_snpcYTE?E+n>2ZaC&+{ZU=nVjc=S%auh_`l(y#-ioeti!(J&_1r8~k#{k_?UK zi%9)8f(*D6Hj#RmyhT2HPEJ;WPnny4rHpYPES;u5R!I22-cTr=4xO z9L{9wt2GV4-(64*k}itCs@^I?DgV)LbAh~xc0+3n50R~8CbpKMxBI4V4_g9n01}$G zIN^Tq7?`J4aPr}$cJC?+3pI&NBxIbEzF)hMc42dWKOL)(g9#XS#4PaTMQeg9Aas%= z;^d-Dw__$zfmp{mAyP)xm@^H_8Y`k;OJDLaNIt!=EiwJLHz%a~@F63oii!fY`C=^j z%F1!Cg)ayg+9k6eVFuybHeZa@kYD;%Drp zCQ+lZV$?-eUxg8C;vm)CSMvAZ;QSRG@Bw?*)@0GCsfAih48r<%?Z#XW+U4G~wsNX6 zNT_istTPHRTw`@%aWC51pND-*r>XqtP;M&bsn$9?F<@pwX2hc7OsV*5Yd6pz$R{3- z`W)2!r8CkUDK7redUWz!K=9eOPf=v#&lehofXQ3CwEPkg=q9!!)Z=#KXHYjI*@i~Q+awjm=m6iNAEl7JHMLNDZUTqVqW zH0RuH=v!gxNv@bMevfI8`1B%42vGi3wdaOa zA(0w+8;FUC`XpiFhm<@EyZ@lR$iVnUMZM*Kns#9|#q5%QVPKtZi$TGd2kzw(d0bQ%03o&Rh^Xq4S#8 z4Dj-xO?acH^{;v;{pB)$_W6H0sV&QyI;6>+Cd(}F1Iz5oOEPJt%L0agIb2~ps480%6jd~x^Un>c{-$ED!ok4>_^EsJIywd%s~)d9QnhteccxFP zxVef3e*7?FYWMjn{H1Cxb5dugSnAsAB>&~h@01~)>mZWnctDT9-J~J<9iQJ3&CMGr_fRUXZat)h&Y}2S-Bngf( z-CcODK{y-8`t!icqhW7MJ=d$oz5qQQiyH!m*XPjJ*UmKT5krd*1Iw$Q$jP5RZcu}B zvI5l8NHnjEJW1}%Nw)kQ8^AhjPC>y3@I7X+P>@1FX*SojUs`l~2O;Lo&y!?%qD&Bc zg92K`V>e&v5!W<58GNn?@0i2Cv=sYmq_wOcv{@c8x||LTzO2E+i?_b4QeoDe;$&pp z%?`Re+3ohQIWEo?{vOI@WRF!mHiE2}n1J^O<&fmgQkF`=PnI_7bCDUjL5v^ia2E?k z;Vb;);d!X~J|B$&cpQ2k^78iima+2h^Pg^&4&5W*`ss02clhM-7j@!bKw*@ENR0-q zWT8%@(@%rGFTH_HaZ;;l1I03mXA%Rf<~LpPombR^?1;yT#>gZC?b8f(to1c@ZSIl8 zpaA2nYx?P9EVE_(mo=$!-~E~MckKef^`fa+j@KtorE*1blKHZ?PKA)}XbZ5ip+rO8 z52>|raf%0JY|5>5bwpMyegdyAZEP%^R8+oXRJDnTOmXEuz(f}H$vOG^^SxY?60;4S zY)3q>k_5of9R7cSFNhau16=wET3f%wKU1|=;pC8)4egm}c1XC_D%~Ng z?6#RiR6eLj4$2k>e1?Z4vlUrXnzov+7IJ@CQo|UWx0W<$x7T#HEvyRv3Pf^JQnnm@ z`*xa%ld~er3GvYtS-qg|L4z85@Da^uhDdXGJ-BzohFIMHXA1bt7bU^ENY*0|Er4NR zQ8u5*FY@Zm<_x#^y#1x#6myCZmNZI(xeyk!$V@GRN*LhFNHT0hki%D?=SZ8#z~5fN z_Xu)BcO#Le>pxAxmz_iIk%weKl1LsvPuhRb_+Zw}eNXq*)rZWf1wLO_^IKuPxk}b9 zFUQN3m3_k%#RTzDTC2zs!v8XS7kLaWi`l3M31Vuh!L}>p$0Wx0;N=Y8e~Lqk;ntYz z;bXI*Ip~B?4e}ZCYOoT>9Mi}oy0F1fAas~2I$$}}u{D2H22o|+^~jbjR|}`~HXH__ z^z3G!<0w%tyuS<|e#_V~A8_hiB#_y!#T=$Tluimjm}3Q`P&3TD*r7pr5G2M2)sKK0 zUESBmqow%wnTMZkOHi(3Ctq7XF+=7<0?so(oC#{LX!?rYrZE_llY6O%j)sSApR=Tl zhd1&?GG+&u^Ij%Js^-85fmb?#US9L}yKjG9_c1AouVN|G4XUh%@A@vck6qmHBor1_ z2A~=w`yoAPTX_ulF+{UX_q045ZDTCRMOOGEvQf!@JThCVL8Zc8IX0dyChuN%>osfQ)`YULN7+kS@A3F!{Af$ zj*w?!bj06~iu9(KNZ=Nu=f`G2Zwr^#Hw_jf**3eHBO*Rr;&N70$P01o`As8>Cg_TB#bkbXT`d{^9NYKc_yJhEieDK~0Jp=yxkzJ6Py|BIrvHNzXPKV_s4XYv{jnzoJ+sOX8Y zYNxI30)P{+E?t&V&9u)B5og`6U+27y!mos?tQjSlmSWIyUx{9+(L_m}l{>v2 zv_=fHwUG|AmC)jVJO^V8|Kj$gA0$L~0H+!=Srk8`9@jQe^A)CqHC*Qpjk7IrQ`9D)7d8zXx z_HVXv>y7@O!)0;S6+t8)hQcIVbkui}DOkyCG6@EcJghI`Z?5B1X@@@yWzhbPi{s7@ z*k%tO+AnL^Uy?b!*_$K3>}aDDo7-Rtmh$}K@Hv)rJALQ(TBp6=aV?VJt7N+iw?jN7 zOOlbj;t6DScq>&?8uGi3vRv&2kQ-Wpm`;XtI%&g)CuPp%%OdX~FHINwl@0xmUJ0iw z%E~84E^`8H-m6qf`=}jgds3mx-CqmvXj@!z#ZJGZR&eM{Phyk?pBF!zxTXp+X!doj zRExsDwFX6gsNv5TRQz?9ha}`_hoCE~LFsJ@9FIIYyXD4ATNI_>#K$yknEYTnM+^eouVEVa`jO{^fJXbYAOMjO>{1^;?}&(>%jFR%hUpXr`*nT zT31a?t48H%ZX>yLvv3pu8aKSC* zYy4x*&cRPYAs`sJPIIjuX*K83fcm4q`~$+Tv8rufTVC#Vep{JI?Csx0{ZUwt+VgID ze}8At$&q5g`VHuWi#@GI9%gmQ0z;nM{7%%ATwi*)`sovuPaD;y*(re= zi7Z3z{IVeACiuc@u9>tOaLRlv^qi}ogCiDAxuywU8fW{y_Od`4!;tmm(vi2-N@{TE z_ya;o$xpx#iwaxq%?@>t^QvQZtcYc``n$rJfZ2pbKY5 z8`niQDK-V)668&c@z!W0_SDaq@jT6dfoc19*H=C2^4wY|oN`V)+2(oQjfz^(apPie zW%@wo&VhNm_fU%BSr8r9==XN= zJzdLs1O86W4Rktgqsc#s(QK4Io1KJj)44kyT=V1gOP)Zz5-@b}r~=H>gsw>0H50$&uw_dDFt3ZHP(N1PnfW`88F zIj@>9rq=82{PQC~VyKcsHKn16l3PJf%U_&*s}Mxg^)}nM$H3%VEiC+PKgv;8YX-MZ z7WH_ze$DWk?q_mDi@hh~)y6^qptDiy9(S9>;Eo9Mk(3-|i_lv*<~=zupO)Zoq%^28 ze#+1N{_R^mAR;2k_uXGt%MRX~O?&gJ@eOO8ZY74Dm{=Dsnbg0dB8Y}#Fa{7noVofs z1yu_R|NZv?WY~`rh&1XSn#Z#?JDHhHB)G~3Y&}j{sTTV&avR`(bB5WRj!d8dU+|nKUzrcozzz?xuhbLuT^HeLLP~zoD1~Hz+R$1oa!=y3 zRsDN_H%^Uz2t5+u!yg<{!0x*J={we7v+OD4eAtnm=^*HPeG#@$`cxa?@)IS@+Tkab zg^{uA0ihZ&A}2RDX~?2p6w5eg6cSHj%VW^%U_CFOpc#VMFm!w_7ZxJ35wA!;f81SK zQkyKsmB;I^W-cz1P?Z}_h?OiQL-as(VRa!PEm!i4iem?dMEa+Bs=Y1z>I}+{Ltq1R zBOO7j@hW>+l$9N8c`ARGvcc$Y)g`cA60o%o(}?ZlCYZNMd7L}dY)6e+0e>;gnz=pU_Q8 z@+D`~S6ZzX$fU`pQ2NorF`@NP6R|Ku++lf~{h6bib86w;B9AtBtc%1hp!wF3^gMz% zrGFb408&;BA4jv3ZPk8yz;cP=$4uVIDZXFgmamkKzMMHkw9@h4(Qt3L6Ukpx|rUE>xKqej7Gmd;R77*X)+O6g#of(c7(x9 zWQJw7nT7@7+Rl*uhWjUkT#fL-e7SyVJ&?uY_1LpYMST<_L&#K*fFP^pyPzQT^qa}( z_X!EkFS>(2csD*GIkph#kIh$fmU4faRvxZ2Fw(M1LeW1Y(+aZLl7Sp+6C~v0U%Gk-=!06PL(mj%*;%G2L1GVQ{oN%a(3W%bn-s93v$~kR{_QLv zn7p}moo_3g@U^ioRksOZWU@nqGHCn7p!P4>OJLF8d5k60RT;o(e>K2BbmW2RYM|;? zhdd|4H_#l9qgMGV>#M})(Wz!5)(lRqgZcVm%S#NkkPx$6@_40ckI3{Sl|)^`Ry+OS zxKEGGkq+LI4g8l2059$6TcbVmTEG`>5D5Gczm@%cQF7wT=vD8Dx`V^uNb3FD_ph=m z8|zG-JZ(LoASs&qT`*BzuBQTC06MvllET!k=%7Ue6W5uz$uCD!b!**~uA?)gk zv;DoH5WMSMN)EPzU>gbYA_q&+HXr}HXkxlA)1q^62AHD}qfE35O zayDy9!rC%l5;es1-4a*okW4QbJS#wncrWL(Mfuugij}UBs7PAznym;2z1Yl*GP3x4 z&mZxaP*?7R_~#RO%U>P&2S2pSo%Uuyu1ML5J4K#7B7H@$>B%5Wweqqym_pMG4Em)q zMgK;2q^5!jAc00LRdiFJj)atOtATA{QC*J;!^2@1gcMp(rebgZ!C2~g^=^Er%%LK= zDVF5)w5C7*aJDJdbp*uw4y8{y_aQg|&Sdml#G|P9_uiaDy6fV8T6(^#m)f_h@~6p5iUsV zFhchW)_f<1U(r2LdczOwytjGhnWcPDQj&6Np1qvAVdmJ6524?>(;A$g>S=1yz!{)D z$OK*aw~Rwc)87+1{-DDp5#YbHH{E_jEuFtS<-T~Vm;u1}tp&<_GJ10#Mt=9Lq=*PP znOc#+bq+WN^d1Ia@7``<0l|)De4Hx=miv9S2j|C$*m?dXJ#UJAVxK&D3Gg!3YQ_%) zdLPWp_Mu1g9XhO^wqBETfD!Fg6luM39ZGLDm6hXUJ=xN(nib{%p&-xMGP=SO4-avO z5N-hZL+W93L2`v-l6-Z$s*V+M&m78&v)>0L0Q+LV@9)74SDVA5&&x74dJ(=yp*D;I zRm#**>O;)+)QS5KUe6LFdyNoJcIuTSbI|R5TIv`ZMA%!)B)0gBFC5g)nwx5KbFp>Z zKk`2PHJOs>y3rYAd$XNXT)2@)*SZsDI;WF2ZtZmoV?#6ivW?>L(Uw|7_0AC91gs$B zRxacfBHBeoh1z!SiwJ)oSzNe|(fXtfQibRi=yNh|1S7F7cWDnHqL}!B(_tQtlwq@O z$&J=VyZgvxNQQZN{i}8wXNtLFJX*FQbkl9e$gDs0?|cry(MJm-L&koLEC6}_nfj56 z1v=rNX9kYV=Wm5?DCoPdB7(22^RJJh^gH12aYECMin)DDf?`rq@S2RzDuy23KKm1b zjIv0HPh7NoTBcq(ec#{uC>^V_5Fj1nq$+c@5)>(9yP$x7`5eY zue11C8cXQ;Sk8dF=##W*Iz4Qb$pcPy z&+UJ&vYH2oFnxNip*n1;HhOGg&;B$r)iOW;a8Ux}QLI#w!0S7iYpc!kFZ-+z#TsM$ zd~TD+*O$Cm5ABmR8wOkcp4M(JB0e2fva@%KqX@(wQIhy5^^ZtKe~N-xoHrb;c%I}+ zEn42-OP!$v_~~plTALEz*Vdx3l#}x}#48Q2J%|P=svJWhQy@+gPk&>d;da@g=HgP_ zzxb)p$DmZ5CAg+W?I-aA3~p5BosRBo_!Aij_(#kBjT`IP^6-yg$ zY08-?|lm$hg<0X`WZIOjQ2y2LAVnd| z@r>L)ycgsWod+fB?21rrg}4tgA13qi*l|g80z1+3MYGert{~K>6{f~|x-1P%bs7N^ z{>)9v%Et-hED=oNWOG$qdc8nHSg6OL%ct4J*jT3_5O94#1E^TKqG%}bpw2Tq;tQx< zF>Egff`2Id7m=dc=(XpvY7|ec>WPqzc%+7w z-tVGzhl-F!Prpw3WAfz0`WEGqna4N!vLC|^P7W3Ye9zpPX)jb99Psw8uc;G|K&+5X zP`^<3Y=L~DR8juoqJc3~`NxkI$(kB8yP;t&uGhm0bu!-g+!2;q2;K2+(~iNQZ{GxK zt^Yr&-U2G>sM{MJK)PGHyFux0R6;tW1nKS$=?(>@1(6PcVdzdpLb^MoyX!qX_dfSq z9}Cu+8UAx}pMCcJ?XoyPZtu@FMDtWLj3!^+443r0{5>NRAwKP~Dm&o6H7qhT#g{Z5 zH~)?dn~BLNwF~4Ve~wE`VSiSwFv|!`Xspo2mHi!k4m=d|Vj&?|?&4yCwmwS_QG2*? zJY|-Vnzlz)4>yZ4H4-;sI{sg)dFlo4<;a@Kz^Y(@^O%P_Q}^Y@x~-Ch{26|WqaSiH z9^`z^iaxGq|A=z9+WZ{S!wWUE9s&!0Kjy%tRc*wK=Ru)oy%l4Hk0hg2W`2sL+HtZp z3<6U(fY(NA%>nC|KF4D9#`+X1hRO47w2uWP{#_LZF2Q=q0uG0%~< z_)%SB{|08;=LLLTaSk>n*fe8!gKxgs0=q0TxE6=>+KgZ;Be_x3zZhBcxm$HAI~_0f zPq8jeSam2gzr7!z3WbQmHKUl|Do(CVx<6tk#(EQzJtQl#r^aX9PJYlp{PhfhX}JIB z2;J)QwlZy1aVGc50=ivyK9{rer)mS}kzKteIrXhYTgB~TF(kf3lnH5Mol>j9nN{fe zUNzvh{FULpzIBMYctYsKjXNuJka#<{RHv}*`2Lawm4t-RI6Bk#ot@e>+Ee`MPf+S$ zc_L44@E@gE<5gqhg~{3}OD_|R$nA0tF{js!#nS(@ZrBd`tKxB)ZbmMHRiOz zFM63wX8eq!+NE}$BrCX9)LqjFtTQRcU4r?3Ad0YWpx74$Z;)(AX42x$x&TWqk z86Pa{PHNH?m(1$tzT*_QIWaU_wzFSoFwp%fg%2q~&2F9I>-Z!N9KaVkLfpc&Rc8^O zecqDrqUL1huy@P){(it;lXyP?P6=ZIzMVJa!VfYG|6CmAdl|yA*DHs)?!63du@JZbbao*VfhB`B6aShR=3q$fy3#qEtAO2d zI(Ct>bY*s*t}{6|XHbqjg4xcH^5p>)Brh6(EW$e>x9b!nOgr%&E{Zj79Ie>OVN>Zd z&w-HUId@c47R1OA&ijooYfO0f+m!mzc-s=FsC;i&V1?=$6vAPl{}`T(&O6J|Bk<-# zYjJiOuD+>pt7zJVOsjYSxP>ZO zfBj)&#D-r=@OSZYGehATIJ8p}pb$#KJ)(VdTxb;BTn)3Qc_jC`{oAUWq*#Q5@@ywu znGhn5{1dhP5yJkgeHxEg!xL@V1}40z?~}U?6{be9RD`x{Jgxk^54+~9Q7~b;yGU`L;v9IZIcufzxjq&{3aYfD$0XulH)%*jK*Ah`>fn| zdBRXHZ>_k)nVSAmIrNsg+<(!(DfJuIzryX=+nMJY8GQgaOV+rUYENp@^Up^1OBs%o zm^f>cR6VJVAaH#oSfFnEs#FW&l@|OH?lMp);O;O|$JpLc!o%*8u*u`PY`$eK3ys69 z8zPAG?Rk43HQ%G3DMnB!_3MK`xqJP=QQ-FVrkbFkxsg;`c=F{RcGhaYtT|~BR7u+Y zss*_Am<1XU?ZI%mTH%T48MP2bpK53z_y9MzKj5di1X zSbcvNPm}(64N->>z)!<}`zvnYk3)8Yib5x5{;rKn~VI|09&yHniW{^-o?9N=BC{B3MGN!{u)Q-}|7o?tc? z5}@gQ#~x$?$&xzZa7z0CNi7o1#%@PyXZPs*OUa4O0r~Uz;M)f5&=YuGF;e*+l&@*5 zV{qCXA&rw_9&kruK@rp;rk|0y5kPECL&A zZJdTKWH%ki+B&UwC)K=CEQ8Ty0-q#*_p_#9oQTCD=zS;=2q)|;F&kd(>4WdCuL~WT z<{e7qK#v-Em?#4%U^twUhCK)ceh*oj0rC9LgMsa~o2XqE_&TR-9qU@9$bO7%E~ORN zjNK1pVY%?1gH8A}P+*4=sY%34P~JVa)*-%iH8G){`r3VUo8TX?EIEW$F3s6jS*Yq; zPfv+n&YJ#v?d{Pzi2=g}3|3nLJaWfYx@;~PTw?zg0nLA7Vj{1u&f(nC z)lHL~ja)pPj*I*!^_%*fa#liIkLhqsy+;KejWHy z_coV7*UD;Zpjv>lYs;*Z1;4a$I*t(ra<38rgOR?wmlrKG$e}OQwkYN;2GXJT8+?3% z7alj?q)sg{$@`UZQ+}HZI$c+rx!adFn)Pp+86f8jTWVXsvU{0{UzGH!AwUH}dJqT_ zifkB4OTW?@KynEKSK{C1!?rIDf^Jr#^-HA_4aD@qCq{-T-!^+5Yg_B#=A z@c;xugL3ZK+OK~dce8t95)k!Jil%uXgtPMGkP&Xw1Pr&C=lFN1->RhyIIch`;9~0m zBo^l%SiL;vb4kNYPFTy0+d7kyOOE@9H+b%sq%Hb#wP^Qy95gpwuc9`0LcKj5A?4j?|L)kcM3 zTt&tcTy*Z@;ov4lMnYy_p8gNxJvODI790e`2%PYU`Id+b>lHRP>gzH=@!Rcl5&K`( zt!Ss9L45Th<(R@fw@3fYyI0qim#6$1U)t^_+0d6#$I(%`F+9akGJ)!w%^Pi;`*pow_d-yNV0)lhE8r9*tL$@6$x&ixHX^ zXL=QTxg6z1I0s^Ziz^{nB4Xn64P&S6KVEYPM}%s&NCezv$)0GIov+z({s5M9E(kl%?oSO9C+U1_(6{%0Y{;*HL+VM@Ly86ixm*Y{M6Lou5ks>jjwx57U^43P1B z;c_gLF3pyKz)M}2&p+i#kkOm^ngFUjLvn)mVtl@B9CD|M?%3Is?4JePXHR<%JY8x2 z3yqm#TSLckRw;gv?T79XLug^E59N1vIfo!?FTd7o-{&JWtCYR6+ZC-PX=;MiG3&AFSwuuFiLnOP zq?nKp0*EkhgZV4M`uhaPB=ed3dnJ|_&(*ka(}BWs<+d}AYk5|o-__Yxo#l|f2tHitJze$(AY;NE_!D*#55P}lVDztTV z$L@DUqXmb=#r3L-ivk&$_vp2iRx!Ln7(e3+w?F8rV&~z-VK8X*C@qc1oKRc+w9ONu zt>dr+qXNgS`u%ABJdkr1ws9#R)IN={USHn0TZ2Ute`>}Xg%#=pxMDaT46?ksOidWm z6aCBohJd2cZ>G4UG2J&q{iQ1vJR`Ao+lk*PR;SG_cx|NMl zmr9^sWlst;C^R-vJc9{Rw^{Z7aaqoDezAlRn)?3Pduf@zW*p+naF&aa-{!nh7N)ri z#h(f4)}o@a0cyj^34^I85OI_&l8Ep-N)Knt8FA?UgH8!DFcqRSV$;6;gF;xPB|^=N zhsLu}TzKH`x(vzLnP6p^1_)aPUvY6<{=)dzsF9Q8@jbg;SU>>jk5Wgsv#vT&q|Nni zN2@QvT(XfWDK5^<#w8HT=TVyJ4f}>@4-ssO`XevllbLrg)r}k@;Uh zWq*Hjg{i4`d1lr*B}JRDHscU8v*LSRBQ%L({5gj7ZvM``LUnqa$Yd8+p`3jf&6m+J z9skp3O^l|q%C!JAz5%~^BW zm#Msz8dvv2e)|((qS*@b@?NN`{%K+!xP06#yIWJ|P&^Q;Y#siB0S0X0%+q(n5)}pU zF>vbCUj^#JgZd@aDlR9=||E=a-wCY3)!T%0g%WqJm%oiNMc*#{n; zQ-t~Xyf|VWL~c_Q%*Li2V}8S;$bw{P?j5^MPtANz(=Ax^UdCrb8wcI@PY zzGkXoaL#w7Q}zk!12LvwNc3Ia0jI8sYv_wFbW;_zjlg5s^n-QO^v|E2MoCHD6d@t# zqM4bo$=|j#U0kjoXG9Kd}Sy?N94 z4uzJkhdM%#iS>?WqD6#Krx|eHdW-|O1MTrFy*TCW)~snO~ku8u}ut4iFbU=609 z!{|*AQBEzkSz!}JBdpPM#dj9lqXv|ImkS^I@aHxf8h%meLyM}~OjV?$?ydwD`*m`) zM7J}NoO|ME(Dol>B34uF7c+&KM4C3{_x7|!E)J9r(z9CwWh;&5kUS2vmny8sTB`p3 z?R%4go^le6#!pDNK@&DZu%Q#r0JA*XsrA%&`*t+m|CW8mx$D)Yg{8#FnPpDczESJr za>rMR)(d?Qx6-l>Olg(C7$vn(*@CV_crZsyOhMSAF=gm^HaeynDAZy-CT`JJieg&% zs_;GfVT-4#1fjm1GdtlDyP?kj0!R^mru)9hWH3FSPYhPt&%zwpb{Z#eqG?5_dgFHB zcOFM4KTl!xwn!f_8|Gj?nlBYnO_P>}D8tKl>I<`P;`g}x&67xrwu@dVoN_95x4 z7$su%W~ISYwR~`4Z0yG~DAeEMfRER*2Mz3%=u9sTL4?MaX@1A?e^y_#%YR#N8l>9k z*mYC~%)yEs11}eD78n>(2VWdYcyVuD*yM6RcSL_5>$Q5jy2zJm7o4pr9Ul{drHQ%q z-1j+h#AhlPHf-Qk>X{U_o0G6xy=vObv3g%BUCLaMr&6^Lcx3Vh{2&7AYCTr4YC#vZ zKVm+5QSW={$A>POCgtI9;NXU&B!uN2wNEG$zW24&E^Y3j0?}lLt1UM0;B=USM1wc< zf`U+A;iuPH@A@ZUH*WXG@yX)i2&yKKUjWhfg8pH<3w!JkfNs(~lYVwBRhf#Q|J_&m za7+lPg%m9DKfEY)a|G8Vv7>NfnRr6%D%cU(fU<1lHEVvCu0Q%29cef zl`-e?0JhnpLN_TJycs`$SGC}F-1to=hm3V+;z`b#D?$6SSDX7h$TA2HCTEV{YGD`X zJE=D(@l|Ln?%ukmtS9Es7gVYVnO)sl!4|hN1J$Cllaqb;zHrzg3i67q$*vdH+G^Z* z>=2|b_4SvPwO|`N%RMB=k%{=AaP;4={c!5Wu@;oJ$V%vp7@Z^@kNGUQlOl5Uxz7p>6bXH@%zC=gb<2>>=X{p`n?apl6F4><;U7Q3yFvPl z<<)PmS<#mKUw5x@z@84~*2Qk!qapEup@FV?_0E|0>1G8RbCK4{wb!4ap^Nj!If4=Q z6f9HMw{NAV&dz>f^2#DK%+=kp%6l_nxxA=bE<(x>e5kk<`-Dd;ZKq{rI5-4JU}HjR z@*@|4kfV80N1GkFD~~|mewR6}s@hn=>Sg68CS+K*o4bfvaIQzmnL=c8qFUvEb@B3D zZh~#lg<2-;4=lrfI4IG=mbkp$iWp#nACPp&%zUTcSEn+)+i4AQ_~YPHh`)Rl8B?kl z4MOd8_M|Tnu%9a^aYRmAG`@Qp#&96y@T}dtUl@6#dxM0kFI!F|8$S)ReJdL|@7u{{ z&2W4XT8FDnW&Ax06BDhik#6@h>fv2o@uMotDnTUGDvrvcW$@JE@ha4MF#hpV{Myl8 z3R_Ml)I>^BPgo$!-@{Z>^Yf+8U~#+tskFw&56VVH@0%p7oQ*UQ;zqfmI>J}qTl3R2QgJhSRsq+FV1ZBv39RL#?!kQ*^$r<5 zh$V%4r!)*5y=;Drcbx59XMleW6N^<(XSA_ns&||L_%EPZR_ka&KJw{u#^-ynL*aV~s$f5?h9H}@y@OhLe)zB<*G{k= zaQxhXp@y4@sX_Jj!qjjnGb_WO&E)c6rvJ2?-2_Sf>sgpnFD{Fqx=lyc``eq{ zx-6LaaW}@(RA`)7s^c#LOxjvjn6Xx5%*zLyK$87Y)~IMUK@8F8vPw!!ziTi$vqPV? zID{l>*ajh?-E^z}C$Q~_qRVxPf4?k24E8Ylgvx#mWY|aUPfLY({LyV~UV#JDcsnsH zkr22N!xewq`ZVxEpVPtW5_{hQ>dUC$cH@x^ws_OWT$!ptG6Af)H})P54);w6JEN6*OAxlIh&yNO;zC+B zJb2%GAo#hz6KAfE>5XEuLwDo?7jWMuE2TNS^ZAvW5MS$Qf7}sLwYKC_dX@#m1M&q} zUlqBa3%ziaQOi$Ebzju-ZQs@GB0+td4vPO=X3=?GxVY~{e6LSNL8Qdke!NVS=;Zpw zV1Q?DtS@80qu4nAQ2U6Iz^14hN!#^C6r`z`{l?DD{eIH7HA=Dvg!}AQcBM)Pqoog}q3s0} zBAcxeX1!u^O`c!;UN{=*F9KGI98X@1oj*&Fk)!#?5Vp5CRiGSW{OQY=pQZWqu=SB# zD?xB6jgvD3Cs3sj2^xJeY_zSrB*f`i?X4Q1RCTgguwUw2zzY3ewe4n(NhoB|C zo37%~32yxa|BHrT?08C_UmBmb1oP0=Y%3Q$W_Pq$p`5g&UKDyu&z#_#DAfJcP~&u$ zDVBFirnYG1Qsxt3(`Z*1dbdbUbWXVHGuo(eFh%#}R;@}$sagIhSmd20^O5m4L??W8 z!2=r`9eD}Lp2NZPmqcHW=Hmnye=ssNZAw{qDk<$1bati?`JJWp-<%aFzWtmK+^!)hX2O1ibHrsp=OUEhvG?_MrA*JWke(^<Jds$IgtaORo68hcT=286X zhlhKz$FmM(7KR9HPXsI9wYb9b-FczgrXR0|rR#Q4Q*IO|j{a&@D$oUbE@k+n7BS=P zOz_n{|M#220FTpWHR?}hXD59Saob(B`)O}n+qLPr4dLv_cC=`nd!>&*GIuW_UoDc# zD>?04cZND3#X;hNu^|E#8_uM48XQn+`y1Smk!&aU)g?`kHJMSpRueVrOEEC8i?`eI z_u!#KX`+{RFtqzi1sEOs)>y>dgN5FA9gE#BBV@x1T>QDB@kxRo(Oc1e$9a!+J-2&1 zGaALNrDV!k(fuwMCPzSHx7bkQa=kgI3=-{AQ+iPf{_6dCw?PSR$&1gQyZ!6jtjVA# zpGibzYezm}NIw!ch`*r;9M1Mp)=+=5q;nTeZ1m3tg+o%s)N~ZPRHqMw?jt!q4SZt5 z*hzWIhTHVc@U+tJVkQ{dP;h;fsqjyhxdH|dV>aGU^^wwIvy^s`#}H!3QNpn1oDP<* z1XIy6KiUPanfnXGShdJ6A|kT0+!10)ODHs$N7p*$G2D60 zmrWPUTxs^UKUGDgZTMP-I6v?97k}n0yG@<_i_y)PE-Dqts~wqi>Z#Msqwx2r9_KXF zY2=IfbRokre*`w0t8R$T!Z9gmuA-oo^HF@KZn=J@74v7fUw7X%qPS#vT%{!)A z2vq`=#N%(v9Ez*uun;b9o8Qep3uxPJcBqib^u%gg(8}40*)abhylE7geS?<_-#i@d zn)A&3O0bn~KKNOOO1p1PH=cPa58ef%LzI8bcTdP*OFZG4U2a(8At4)T701;2M$6cD z<&3GE#)liExSgrG58bWJ)ydbkQw57+K5iXVi=SFPyr!w12u*X78Et5BmPxlTq9M5C64Y7wIF;CNh>~{>gu~jlO>s=uM&Y@|=CS z9`&j_To-=hrMdUVtv9FU%f!B&JQO0giNr~1PQ$RQAf;RJFFKlP5}ZS^2_;gRZZEog z&u3q5Y~{2dyFW^q&$G2J?yl11KSVL9HrXhb3s5b2Z+$HLoPXz}`E;PgqS_sUPlKb{ z{qm>#5M{$hW|i=qIJnWS2(I9~$e)LtYS{56YASv&n!s50RJ?m-|1zd5`C!EP?jU)a*@? zwAng|{R>`2Zfrdww=6v--DYRAkk~V~u_^IDZd>hHE+HY2#I2~qM7wxfC#e-aVkf+x zWLIJ*fA}%$$-TOgvaG57{I;^t%d)EobMH&CK+O%MXW599GV&7(YDrTZ^fdOj%xVz7 z54JCYli=pVMc<^*PUsT4{tI^#^rVyHS%e8>2Gu`PN_%K4nM%-e%U(^`{L_H;)4umY zw`{S|UEoB(p3w{!)vIdfoQ^TDRZEs;szY;Gp&e~T;%yXswruDT@%#h~GfAp3B9UOd zavzf^¬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 +(Elias Dejene, Peter Munch, 2020/11/23) diff --git a/include/deal.II/grid/grid_generator.h b/include/deal.II/grid/grid_generator.h index 3a2ceeebbd..ca91dd04bf 100644 --- a/include/deal.II/grid/grid_generator.h +++ b/include/deal.II/grid/grid_generator.h @@ -1907,6 +1907,38 @@ namespace GridGenerator flatten_triangulation(const Triangulation &in_tria, Triangulation & out_tria); + /** + * Convert a triangulation consisting only of hypercube cells + * (quadrilaterals, hexahedrons) to a triangulation only consisting of + * simplices (triangles, tetrahedra). + * + * As an example, the following image shows how a set of three hexahedra + * meshing one eighths of a sphere are subdivided into tetrahedra, and how + * the curved surface is taken into account. Colors indicate how boundary + * indicators are inherited: + * @image html "convert_hypercube_to_simplex_mesh_visualization.png" + * + * Thereby, in 2D a quadrilateral cell is converted into 8 triangle cells, + * whereas in 3D a hexahedron cell is converted into 24 tetrahedra cells. + * + * Material ID and boundary IDs will be inherited after conversion. + * + * @param in_tria The triangulation containing hex elements. + * @param out_tria The converted triangulation containing tet elements. + */ + template + void + convert_hypercube_to_simplex_mesh(const Triangulation &in_tria, + Triangulation &out_tria); + + /** + * Specialization of the above function for 1D: simply copy triangulation. + */ + template + void + convert_hypercube_to_simplex_mesh(const Triangulation<1, spacedim> &in_tria, + Triangulation<1, spacedim> & out_tria); + /** * Namespace Airfoil contains classes and functions in order to create a diff --git a/source/grid/grid_generator.cc b/source/grid/grid_generator.cc index 59a2d23827..852f918279 100644 --- a/source/grid/grid_generator.cc +++ b/source/grid/grid_generator.cc @@ -26,6 +26,7 @@ #include #include +#include #include #include @@ -7090,6 +7091,206 @@ namespace GridGenerator + template + void + convert_hypercube_to_simplex_mesh(const Triangulation &in_tria, + Triangulation &out_tria) + { + Assert(in_tria.n_global_levels() == 1, + ExcMessage("Number of global levels has to be 1.")); + + Assert(dim > 1, ExcNotImplemented()); + + // static tables with the definitions of cells and boundary faces for 2D + // and 3D + static const std::array, 8> table_2D_cell = { + {{{0, 6, 4}}, + {{8, 4, 6}}, + {{8, 6, 5}}, + {{1, 5, 6}}, + {{2, 4, 7}}, + {{8, 7, 4}}, + {{8, 5, 7}}, + {{3, 7, 5}}}}; + + static const std::array, 24> table_3D_cell = { + {{{0, 1, 12, 10}}, {{2, 3, 11, 12}}, {{7, 6, 11, 13}}, + {{5, 4, 13, 10}}, {{0, 2, 8, 12}}, {{4, 6, 13, 8}}, + {{5, 13, 7, 9}}, {{1, 9, 3, 12}}, {{0, 8, 4, 10}}, + {{1, 5, 9, 10}}, {{3, 7, 11, 9}}, {{2, 6, 8, 11}}, + {{12, 13, 10, 9}}, {{12, 13, 9, 11}}, {{12, 13, 11, 8}}, + {{12, 13, 8, 10}}, {{13, 8, 10, 4}}, {{13, 10, 9, 5}}, + {{13, 9, 11, 7}}, {{13, 11, 8, 6}}, {{10, 12, 9, 1}}, + {{9, 12, 11, 3}}, {{11, 12, 8, 2}}, {{8, 12, 10, 0}}}}; + + static const std::array, 2>, 4> + table_2D_boundary_faces = {{{{{{0, 4}}, {{4, 2}}}}, + {{{{1, 5}}, {{5, 3}}}}, + {{{{0, 6}}, {{6, 1}}}}, + {{{{2, 7}}, {{7, 3}}}}}}; + + static const std::array, 4>, 6> + table_3D_boundary_faces = { + {{{{{0, 4, 8}}, {{4, 8, 6}}, {{8, 6, 2}}, {{0, 2, 8}}}}, + {{{{1, 3, 9}}, {{3, 9, 7}}, {{9, 7, 5}}, {{1, 9, 5}}}}, + {{{{0, 1, 10}}, {{1, 10, 5}}, {{10, 5, 4}}, {{0, 10, 4}}}}, + {{{{2, 3, 11}}, {{3, 11, 7}}, {{11, 7, 6}}, {{2, 11, 6}}}}, + {{{{0, 1, 12}}, {{1, 12, 3}}, {{12, 3, 2}}, {{0, 12, 2}}}}, + {{{{4, 5, 13}}, {{5, 13, 7}}, {{13, 7, 6}}, {{4, 13, 6}}}}}}; + + std::vector> vertices; + std::vector> cells; + SubCellData subcell_data; + + // store for each vertex and face the assigned index so that we only + // assign them a value once + std::vector old_to_new_vertex_indices( + in_tria.n_vertices(), numbers::invalid_unsigned_int); + std::vector face_to_new_vertex_indices( + in_tria.n_faces(), numbers::invalid_unsigned_int); + + // We first have to create all of the new vertices. To do this, we loop over + // all cells and on each cell + // (i) copy the existing vertex locations (and record their new indices in + // the 'old_to_new_vertex_indices' vector), + // (ii) create new midpoint vertex locations for each face (and record their + // new indices in the 'face_to_new_vertex_indices' vector), + // (iii) create new midpoint vertex locations for each cell (dim = 2 only) + for (const auto &cell : in_tria) + { + // temporary array storing the global indices of each cell entity in the + // sequence: vertices, edges/faces, cell + std::array local_vertex_indices; + + // (i) copy the existing vertex locations + for (const auto v : cell.vertex_indices()) + { + const auto v_global = cell.vertex_index(v); + + if (old_to_new_vertex_indices[v_global] == + numbers::invalid_unsigned_int) + { + old_to_new_vertex_indices[v_global] = vertices.size(); + vertices.push_back(cell.vertex(v)); + } + + local_vertex_indices[v] = old_to_new_vertex_indices[v_global]; + } + + // (ii) create new midpoint vertex locations for each face + for (const auto f : cell.face_indices()) + { + const auto f_global = cell.face_index(f); + + if (face_to_new_vertex_indices[f_global] == + numbers::invalid_unsigned_int) + { + face_to_new_vertex_indices[f_global] = vertices.size(); + vertices.push_back( + cell.face(f)->center(/*respect_manifold*/ true)); + } + + local_vertex_indices[cell.n_vertices() + f] = + face_to_new_vertex_indices[f_global]; + } + + // (iii) create new midpoint vertex locations for each cell + if (dim == 2) + { + local_vertex_indices[cell.n_vertices() + cell.n_faces()] = + vertices.size(); + vertices.push_back(cell.center(/*respect_manifold*/ true)); + } + + // helper function for creating cells and subcells + const auto add_cell = [&](const unsigned int struct_dim, + const auto & index_vertices, + const unsigned int material_or_boundary_id) { + if (struct_dim == dim) // cells + { + CellData cell_data(index_vertices.size()); + for (unsigned int i = 0; i < index_vertices.size(); ++i) + { + cell_data.vertices[i] = + local_vertex_indices[index_vertices[i]]; + cell_data.material_id = material_or_boundary_id; + } + cells.push_back(cell_data); + } + else if (dim == 2 && struct_dim == 1) // an edge of a triangle + { + CellData<1> boundary_line(2); + boundary_line.boundary_id = material_or_boundary_id; + for (unsigned int i = 0; i < index_vertices.size(); ++i) + { + boundary_line.vertices[i] = + local_vertex_indices[index_vertices[i]]; + } + subcell_data.boundary_lines.push_back(boundary_line); + } + else if (dim == 3 && struct_dim == 2) // a face of a thetrahedron + { + CellData<2> boundary_quad(3); + boundary_quad.boundary_id = material_or_boundary_id; + for (unsigned int i = 0; i < index_vertices.size(); ++i) + { + boundary_quad.vertices[i] = + local_vertex_indices[index_vertices[i]]; + } + subcell_data.boundary_quads.push_back(boundary_quad); + } + else + { + Assert(false, ExcNotImplemented()); + } + }; + + const auto current_material_id = cell.material_id(); + + // create cells one by one + + if (dim == 2) + for (const auto &cell : table_2D_cell) + add_cell(dim, cell, current_material_id); + else if (dim == 3) + for (const auto &cell : table_3D_cell) + add_cell(dim, cell, current_material_id); + else + Assert(false, ExcNotImplemented()); + + // Set up sub-cell data. + for (const auto f : cell.face_indices()) + if (cell.face(f)->boundary_id() != + numbers::internal_face_boundary_id) // face at boundary + { + const auto current_boundary_id = cell.face(f)->boundary_id(); + if (dim == 2) // 2D boundary_lines + for (const auto &face : table_2D_boundary_faces[f]) + add_cell(1, face, current_boundary_id); + else if (dim == 3) // 3D boundary_quads + for (const auto &face : table_3D_boundary_faces[f]) + add_cell(2, face, current_boundary_id); + else + Assert(false, ExcNotImplemented()); + } + } + + out_tria.create_triangulation(vertices, cells, subcell_data); + } + + + + template + void + convert_hypercube_to_simplex_mesh(const Triangulation<1, spacedim> &in_tria, + Triangulation<1, spacedim> & out_tria) + { + out_tria.copy_triangulation(in_tria); + return; + } + + + template