From 0bd7102b35afa25db49fd3e60002a1b63deea05c Mon Sep 17 00:00:00 2001 From: Katajisto Date: Sat, 3 Oct 2026 22:59:28 +0300 Subject: [PATCH] keep moving rendering to new format --- first.jai | 10 +- first.rdi | Bin 0 -> 3551264 bytes libtacoma.so | Bin 658960 -> 658976 bytes log_nvprosample.txt | 87 +- modules/Fontstash/wasm/fontstash.a | Bin 0 -> 48936 bytes modules/Tacoma/libtacoma.so | Bin 658960 -> 658976 bytes modules/Tacoma/module.jai | 17 +- modules/Tacoma/shaders/raytrace.comp.glsl.spv | Bin 81440 -> 81036 bytes modules/Tacoma/shaders/sh_bake.comp.glsl.spv | Bin 43188 -> 39156 bytes settings.cfg | 2 +- src/assets/asset_manager.jai | 22 +- src/editor/level_editor.jai | 46 +- src/editor/material_studio.jai | 66 +- src/editor/particle_editor.jai | 1 + src/editor/tacoma.jai | 672 +- src/editor/trile_editor.jai | 50 +- src/input/keybinds.jai | 2 + src/main.jai | 4 +- src/particles/particles.jai | 2 + src/renderer_sokol/billboards.jai | 59 - src/renderer_sokol/gpu.jai | 99 +- src/renderer_sokol/lines.jai | 49 + src/renderer_sokol/probes.jai | 107 + src/renderer_sokol/renderer.jai | 44 +- src/renderer_sokol/shaders/billboard.glsl | 43 - src/renderer_sokol/shaders/common.glsl | 62 + src/renderer_sokol/shaders/composite.glsl | 27 - src/renderer_sokol/shaders/jai/shaders.jai | 12153 ++++++++++++++-- src/renderer_sokol/shaders/line.glsl | 41 + src/renderer_sokol/shaders/post.glsl | 90 + src/renderer_sokol/shaders/shaders.glsl | 6 +- src/renderer_sokol/shaders/sky.glsl | 53 + src/renderer_sokol/shaders/sprite.glsl | 97 + src/renderer_sokol/shaders/trile.glsl | 200 +- src/renderer_sokol/shaders/water.glsl | 69 +- src/renderer_sokol/sky.jai | 29 + src/renderer_sokol/sprites.jai | 101 + src/renderer_sokol/triles.jai | 93 +- src/renderer_sokol/ui.jai | 2 +- src/renderer_sokol/views.jai | 151 +- src/renderer_sokol/water.jai | 58 +- src/rendering/camera.jai | 23 + src/rendering/rendering.jai | 2 + src/rendering/scene.jai | 165 +- src/rendering/trile_mesher.jai | 3 +- src/trile.jai | 84 +- src/world.jai | 89 +- test_packs/game_core.pack | Bin 1773347 -> 132576 bytes 48 files changed, 12601 insertions(+), 2379 deletions(-) create mode 100755 first.rdi create mode 100644 modules/Fontstash/wasm/fontstash.a delete mode 100644 src/renderer_sokol/billboards.jai create mode 100644 src/renderer_sokol/lines.jai create mode 100644 src/renderer_sokol/probes.jai delete mode 100644 src/renderer_sokol/shaders/billboard.glsl delete mode 100644 src/renderer_sokol/shaders/composite.glsl create mode 100644 src/renderer_sokol/shaders/line.glsl create mode 100644 src/renderer_sokol/shaders/post.glsl create mode 100644 src/renderer_sokol/shaders/sky.glsl create mode 100644 src/renderer_sokol/shaders/sprite.glsl create mode 100644 src/renderer_sokol/sky.jai create mode 100644 src/renderer_sokol/sprites.jai diff --git a/first.jai b/first.jai index 4e6ab43..38d1e6d 100644 --- a/first.jai +++ b/first.jai @@ -80,16 +80,17 @@ add_asset_buffer_sizes_to_compiler_strings :: (trueno_opts: Trueno_Build_Options pack_dir := ifx use_test_game then "./test_packs" else "./packs"; game_resources_dir := ifx use_test_game then "./test_game/resources" else "./game/resources"; - sizes: [3]s64; + sizes: [4]s64; sizes[0] = max_asset_file_size(pack_dir, ".pack", 1 * 1024 * 1024); sizes[1] = max( max_asset_file_size(game_resources_dir, "world.json", 64 * 1024), max_asset_file_size(game_resources_dir, "index.world", 64 * 1024) ); sizes[2] = max_asset_file_size(game_resources_dir, "chunks.bin", 1 * 1024 * 1024); + sizes[3] = max_asset_file_size(game_resources_dir, "probes.bin", 4 * 1024 * 1024); - names :: string.["MAX_PACK_SIZE", "MAX_WORLD_SIZE", "MAX_CHUNKS_SIZE"]; - for i: 0..2 { + names :: string.["MAX_PACK_SIZE", "MAX_WORLD_SIZE", "MAX_CHUNKS_SIZE", "MAX_PROBES_SIZE"]; + for i: 0..3 { add_build_string(tprint("% :: %;\n", names[i], sizes[i]), w); } } @@ -145,7 +146,8 @@ native_build :: (opts: Build_Options, trueno_opts: Trueno_Build_Options) { opts.cpu_target = root_opts.cpu_target; opts.os_target = root_opts.os_target; - opts.backend = ifx (trueno_opts.release_build || OS == .MACOS) then .LLVM else .X64; + // opts.backend = ifx (trueno_opts.release_build || OS == .MACOS) then .LLVM else .X64; + opts.backend = .LLVM; // rad debugger doesn't currently work with the x64 backend. opts.output_executable_name = root_opts.output_executable_name; set_build_options(opts, w); diff --git a/first.rdi b/first.rdi new file mode 100755 index 0000000000000000000000000000000000000000..065c8640092a1c05a238449b9ca6bd6f3c70db89 GIT binary patch literal 3551264 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

4aNB|@pcubIREGGSmpNz+4nO| zT{1?FD&>*)>p5SnbUfIXeKe^)dA5*kop|{hdD*^us%Jy-6IL9zGA+j80NW|Yy=bD0yo1QK z)pz8#mw7gp-&wrNzWQ-fR?9cPb!|Yt8_zz!g?`R&3yXeDpQOxOhh*IMSFb#iJVzP% z8(wD`kBz0d+V79DO&&1clj6ELX>*;rpXrXuUXRnn%Xb6MC@0@q<@mWozD2uQTbFY4 zJIQd>h+6tA4!*M zXrNLV*3>LHTmu65&G*$WiJ(H4{iV1^nMzd z-Z&dI zI~rHXw?*i;YQnPbjxhd{=6C&*<=m^Je{wC7?-W1P-)*INPkqiLadZ8iX`X|m{LGh$ zpY)@pZzlgDZnojewqeG5_MN9q6Mskb%C&Olb1p8nLzZ(LlY5Z-J%N0$le!f5g}F}3 ze7*_DHANq7&izc%?IqrM<_D`zwoCT^vn{`>-lyn~XN8|8&OORY`~%G&qdyO^+_u!V zLxts=^_9}y$jJdZ1tk$0R4AENKlN14wvwnJ=}3+1yt3Cr+jS%VY$~!U9&FR>239FA^c9ubJQn)C#`rkQuJ}Iw=YoNYfJUbJLC@1 zRaB3Rze_Wgv) zlwaz4x#iS5*S1NM?|bvkHsAXuUf%U(n&&gQFUk1Hbz)qv-)gd@bora18G~i&oBS$R zUySFwOL?ST+3(l=jy&HR_Ab>s&mGdn`O^Pvo3^*ka4%aU|J$ik>WggC?d3mIoC}5Z zDWxALJjdtckukG}va%268G97-nPwZz7B9~Le>9){IN!?Vxp&4@+MH{tTt{Vol6YxX zBg^Txya&#^psdUFcizJk*E=U!pYU9VZzDvnHYx!?+=CTtl^+WPa{ZpURaf@~ABhNzKT^15& zur{45eLdwQkDLqA_Q>}%d1jIDVqD&4d4|5ovHLw^Z7YV0*G}J`FKy!9U5ejEoZPc+ z%|?t6cXM%%lRoh>PLl7s$LAU9pR%*>^>9o|yfX9INBWiep?C&STnm)5{&r~=>5Hqi zWx2RXmwhPGA363G*QlG9!qQ(K$ur~VCFyTtgHqbm;brTSwzK)f$+#=#lYf3Qwziy7 zpJnV6`$LYE$>S|)9xvsYZyz$=`}WaX zn7mugewDEFe=*JZHS^h)$-lnkT-*Mre!Y$5iKTWVO`+I6&l`LBdlpHTIwp_e_c2*6 z?j(CWh?_usm5U;xQxn{~SF4Jb>3{c+bp_$Dmy6u4H^^EaiT#xL?S#nDlQCZGTN!&+xN0WM9bp|GZ<% zK9cPe8N?gh4Gc zm~@@ZUtb!hzsWmkmYO~yUe{81{(e#i@rvhAImX>D>{tC*92>G-v%e&LzPU|3_gBYa zOeDOV_4(~xEp_`!ADmO_gY;S2mN>b$PT!}D;=VO?&3lG?dskey=NjZ$VR`O)&J8{8&m)Mj^SnL9wEouZ+SwzQDmD}wm$E> zvv1|^lbvmv=PlQm<{s@g^P}aLeXiKwifjKY7yD!0Y22l~ISv-bo{Xd98>wraZN?CB zi$45AzMo2WsQPUpZPFC)ev9|Nc?TSAtt(_*^2|1QP#ba|k^A@@lhW@+->1)WuY9xq zsmfN$Xs%6Ps^+1V^Si$dnNaGpx5Z7`VWn$hOpQu423A`Y3U-zn`Q0 z;``X^N@;T+pY?~Brp^t?KA5l^qbJC3kUlP_?ITNVO&RN6A0H>~ht?-eekYvv=Gt+z zx~KmWp646s^TI6K_B;6{?#470FYV0sDcWS-#!K`9IIX>I&;4{sQH`V%@#uxkJ)q z|0wR&UJ@tUB=7xl&s{u|$v(HPq{|pidm_tu5AcKh_bqMf+;1d2--TuRVQHHEI`zx3 z{R@4N`Ty&)<)!&4KbiS$_FWJN=t@zlm3j|Ayk$wr+op z(Z31LyYkA)KUkf96rSI>CSBegMdtIngp8fn<@JzfK^Ka@qxx3R#=O@}oK46y+beY~ z+Olma{55Ga<_o#TPyZ#~A}r~1ulcO-%ooqr^6gFHwUVazJ5ISK`b=5*PJ4Z0F2~rU zsmj^fQjhJ(wg27PmERR+eU9Ie=PlVz+b~iazEJMUQd=@kzp_5@)1FnAEi%*t4s3OM4x3^O`0*L#qUEFNjsEH=qvsK z;_qcUr|)viNZ%#z{FWorSLBmzaJTyHz!G)L-?|wpe)2Dlsl_y5YwIaZ=8M07lDzWV zZ;|}6J+cilJwhF>Fn^_b{TgnI?}~rGCwIZQ5Ck)0}JS>Yokt z%^YbLe#*;yUGff~ z=!b-5>=kv*a^mJ&wv^Re+~U}lWA55-&(tILMp>V{k|twwnELFYF8K!aeDhn-L;Wg? zpE%#hH!`2=l)Nj-bB-L-*FEPH^NIH>DL-Ww|Bp(Rhuhz>?-kDzi)*xequf^=1}ZbZ zU+k|gMf#lUQs*s|oBm7w`8`ke?es^M^Lwwf|4fQ~JKwD2dh!`*?aXR`#p(W9qbpX@1j~eP!M8k?Zxeqn+s*bs1xQ z{?5T^9AQ5BX8mpYEo0+i?aKSK_pMKO#_N!SJ`E`$T`37c|@%R=g zw~{z%S26B$EKb^_%l0Ym?bFU&-{m{T+{YL9U%5|9+_};uUG8U#-)ZK1%B*{z6@_P8X(tDNt16ao}`1gqs6Og{ulLllJrTDf9jDu^PDK@t`jfQ zqimNv8{bp?E35lg`r_PDnJG6aiMNM#uSf26&k*N8l7F6=Wtw-RDI@#;5^-9RcU4D7 z|BY$N%I{e6uCt$f@?AjQfebD6Res;{e<-^T=qSoJ-s7Qnh|-&cjvx?v$Iv@ODN;2c zO}f&1Xi}tvjvyF1D7_2P5u^yAOEnbfy?5^O=Jy?w|DJQtJ@-AneNJ3BkGNtW!! zdw#5JeQsa-xb50ZV8_XQ9dpkg?lxR*r}en=&dqVQ?EbB)8vFF#>TdmmcHgSmd}6oh zuBn*c|G0g=Yd!9>FJf8G7JJ@)YUgV;i$~bG)6!-?>v4VVZ^O8s{oHFW?zV^6vfB^$ zyytzr{M+`y^}6#sv-P{>6gJ)W6yEQ%%(utH{o9S(#vRMMeR9{hcc0wv7`bi6%(>sq zb=z{^cY0sT&)Rm}bl;DSwrkq`Y~{A)-kaiHzjE7mkEvU)wdub1^rox1_vO0ht(eoh z4Y$wkH4=BOy6s~+2AZ_mfQ9@TmIFKp*tpSy4!U1MRrWx?*qB# zWEZ<$w~o6%?t4fV7qI*8?vr=khFJe_+m`FkV$*GJmer@*ez<>IcX@YQeBa09^6psg zwe7p@t+ajce(%cNUKPu^9`|+A^|_xcd~EFE@Q&eab8KdG#so9|Uad zw||3k+nYgsLD8&H`5Dv~xHk;i$ZqG5Tk`4yLe=Nh2ZX9`TORd!^>{6_MXm4E=tV?ye|=>A>PZP}|w^wajddW1VcY;-8DzDVlBcju4FM^Yc|zF6BxWNEiO zuO6JfKvdqV2dB3a(Z<+(+%EO-Wd)=1UOn9XlB*5(yP0+w_=W$j`lU}AMdiKvrA)SC zHvTbO-&N}G@hbKA7-H9i>+{R6?Ic6L%-T*e9B%i+_4!i|D6f8h>H!7Rf6C4)cM5s+ z>hyW_>hzTlps%jBQxd(tlJrfp>&Qd;Ydcrb|ZR<9uCrnZ@D(sn^+oc{}Nqt^DJf-?_+v66sy8S596rDqhQV zNt<8c9Z`GX=hb^1t`b!W%l*IGE452o_v$OdszvoJ@VVU~OSEOL9$2b+R3dfY|8DQ6 z6uMoneyDn_sJ@3e{S=q=eQ!6Bosc#*QBT;UUQ|4)$p3C{1RMA2`|2!(rm?ny-|9SiQ$Q~m%+%wR{s3rT^CZleb-H*!7wsY6@xIMMQ5j8%t z1=r)QVLKJ0hWpH9*JEFf{A{nb9HoPAD z(jK+1?%#u5&UVSqzHN&dldb6LZrHb%QTKhbHF>!&E$5EUGy5rl(9z54)ht`kN&ToC*=yfa|bv*p-V7TLw-DXagw9z2I zem;#_vY#bQ_gGy>7kxkM@J1c;1p(2=)SjlI9;;)v;N9P^E$1F5_cOV7KWrDG9?$o7 zfZe%khcW7R`HZOB_0D4#yT@*t9WZZQduXDTtJ$4(IXl&(J}b`fdti6e)!nc|8TEK= z3D9j6u(+a4H{5;8AGPG?7i7A}IhEacZ{5Nc+g*)%UzK;er7d>%sfz83_ZWR^v3s1$ z+I{oZwWpA%y4zue9yGSTN4C=|>T|~pzk+r@Tu%uXFizV8 z=z823Wz(HA%j_7q?Uk}w&ZZk1?WFd${fou!oJemEq<25cSnST5V*$#!*MZC1bi;k$ z?dop)W;4L%b-QowHr%LS({|0Ti2cvoUKNXN^HIMu=yapAO?NK2_qcn<+2!52f5r}? zx4p_1yYuawolNdLsAO}7O*a|@L_c0GcIVqYJCVF~n^^45X@5J{+`d$`S-*eddw8OLH!{9i(`IvlP! z73qKX>`BP=c*C9NGwg))?nfhw18utZcf>Ip*!0E$>+_!D8d}ml$D~dcooj5dJNM7q z?Rwk$!eVz$H?ke~a)T|lL+m%*PDpQi-&EAW8cE&JezK~b-l;I#qQj8IeX}$##i?LQZ{=fjLwBv?5@|9c5uAD zb{4yHdsj~FUn^T~ZPN|6J#SxK?5>FncAV{0jT)Wo|L*!qVaL?nw>CC=*>uCL>usm2 z#qL_FWG7c@(~b5v-Sg+)cDvrb4751N=4E?4yuNQNu3)p7T|{24gT)oyjHO&hTmIdq z8(-K1vCaPPuCKy@(S6-5cGt=?JE^^OM_cT!r({WV8$E5=8}oBT z-`*HYx@%x+y6EeCn8ofIYiuWttGUs~W*wXE>!p|LYjIthW$bpnTtAEJ*>v~I%k{VA zV4FYN#p&e+SnRGb_nM`bvoPwjklpJs-s3jNa_)SOV;7c}+hno3#x@j*zCJ=NZfMiJ z9^sC+8$)b1vboLn&&v(9*j-<#V_aJYEpBYHtX&An&EYmD+jOHrfPNn>)%?-83%{x!0 zS?sQV;;82dJOAtqH``k*yeq^AKv4(#o|z#cQQv` zzXvRK&mHbPXWsd;$71)~;if(8QDd|H-#u4mO&k3^oGT2s`LCS^Uf(H;N7xLvW8mHH zc8kBaxgtaK*Pf#mkF>e}j;JO5&pqd#Nvd^s+wxv&uFu=fKFhi1oh5c{dB@+o&-Zrf|2M*H>80IY@3`_;T#AbHzjcZ2Yltmgj*+Vp zpq?u+a_M8M=W2{xQ@d|5d*)ls^<6Zt#prXl;r8LW&D-P~msHOUi{Fwr7H=SBwW`_=R}UEgDuv}HFA z+Vs|WV#~{HZnEupxu+H{x0x+LbncnOD{KbZ$>;i>+k9cujUGkqYp@oh{^r$6TXyf8 z^S1ZO;#D>?W{vK1?W=8Ov-|7%UfX@8ZIrn~f_cdf!f#~Zff#rU;+_4zBq?X%ixoX9uAM-?( z+h)0(_8j4zYwmmB?Ur-z<8`;;KI`25zK$Eo?D)Cc^TrNan2njNFHo z+hw^lcC5VHurTU#)ehVKdFQD+pY~XOO0npi>-)pz+JNZ$>wfpheZ8n+kMB9tjg*$# zXV#06bH7jYr{$j7q~1ncP@VwBbU)~hb))hzD~R2 zlHOu(T+FB6iSpvVY+;r?!Ftz>%OAG6ph)y>xX*k!V!72Za;`7J{qO%W5?TH;J6~gt zBo_Qr;=fBUs${$E*T)_!dz$)h*weA!GkZ+q{Fl*dboY}-f30#QyS)7Tv+DI!uhpKi z{N~zz+Lw+0hTDyJb{lpn|2NXv(w71M`&zP{`hM~3e{SEsk;xX~+YZ^O{ok;|8udPI zcYnNL50hVUyA3-%{~NYze(`LF?CJ5pVNYXGpNnmG<-cL8`Bk!nI~Lxs(=zJ!y8OL_ znak$PkMtU*m(Fbqhx6_moS^zjQYL87`Yadsehbg_ktwl6_m!t7=<&@K*lzIx+ZTWD$zP(?3cerNNb-8Xj*d!xH8 z%&>LcIqZ#|w(!hOsw!T>>}9i_9r&s-a=mSNx}AUSy!J*PTL_D-*WkQdUt9Ru9-tat z!t7`Br)+u+&P(^Vg<|%ESj$V818lm#m0deVZlEo~#=J4X78VBR8uM~twh(T|#a(0Gm}m>B z?Ys){66PeE`R!V586!8@mRlv#YinM5iY*LCr`OiJ+*DiWUr?{DdAVt}kipLJHeSM< zZnLeOLv3T^ezfH?fiV)cILl^TdvbBtr#EKX!c#k6-1X^=Ikr&Mp2K2}pDpN+O0U6r z`MI|6-kuXXcnNd9%|dp4#2gDPm}mDl=2&b&YCA45$5IQ16pNYB&o#I0He!xnE%+#z zUgz`j%Wa{lof|R73JculXv7>VEg0!@8>=k$Do)HU{Ty=C_Rl@{cw?Y#}nOo};|n zW?N{KP_OfOxh=M^(sDh#g!#M8>ULau#>j28<&JjV_ll9*X3KGkM*mxuEA6yd%l5gC z3mCi2R>}0boR`~U3qNMm^Ol$U!xn1Uee3Tf%)K@{C(!ejm)>U!i&N@#IWPC8EeyB) zbI)7e*l!Epe4y9hyxaj>=$=B)TVC#mXMqsHshdVcdN$7~^1QoSzc<&N8e`7V%bIftug535P#T<7nC|@{c#{R9? z!c{r{H+SE{&7b^l?xBUp>>P?Y9$Qe-=Nf!sxgCKqyX<++!YX!N#T?Hqc;vHxFD$nq zYs@ZtozcR{AOCOewS|?k|8MS%h3SWho z%;8>#IOMagd)*YYs1b zj-Pw2!+l;w%;8?c7?m$(Mz1+cuv}P-w0q6Leb#Zz;a+nXWVwkklI}H!rZHl-=w5SZ zV@`^Zcds!F_PG|^>u;xu#%Qud_u9k^pPYMrVYcNa|8ML6GrGVrYL>yihhcdD*F~37 z_B|4}bKRb+-N@3|zE=*`a-GcbL2r9L=&a>!TxTooo5fl^m2-cC!Hw6U_A^7TsKuzy znQ}{e?8)@YzRG!b>80f+k+WTh8b$00_8__UDap;S*K&9w%0geb`_O3{?=itv#Rai6 zhT$>1jA`8)|811SP#@JP*=_&px>@gZ^L9a`^uoQ4PS4i??1KF=?RyW+3- z7~||>|FH?q^>GjJ11z;$>(#(P_%mMjG4USt*Tw0$7|-Kdtn!EYJ=+t9;?KARPh%vO z->da+Vbq8I+vD`*KIJ>O4;Qg9$bC4Hjb(Tn{SGMK7P}o({0m;kl?ijB{9hdGQE-eMI@ocpHjAiG_Z zi+#L8T=E~)Ju4Bn#mSMXZ@47y`uOo>I=h6cNNdLCsRC-0XP;< z;XwBTu#GT$jY;?hs6BSW6Zi=IA8Y;mSOfpW@7)Jd*jS9a@i~6sKJdWCB24vMaanAF z9dQ(f;~R|qLhFTKH~b6VW5!o(AMd08Yvn(}(%28bdaL?xcoJW|Q$FK+`3;WdUtgzU zIKIP7vGt8b@i?+6&cI0bW_lY5=`zaq$N9Jgk7Jwi>KlTy@iz?kRP}-QCsqnlzIO$=8Bo8VT<*Q+iYKjB#2Rx4tut9b8jlnoI6!*rgH5K>5TXhus)sUTfgy4V zE^MVZxV8KPBd}B(f7r}pUav$Xb`pV%rt-s>`e>~PhCaW|gEI3raLz@|7H|HP!D)Rz^DV>g_QTk#gw9If?!!Ng+}cfbRf_Xp+2 z;4Qp1PWcB|YrNuhcn|$1D1QVKg(+T-Ehj0C?cS7TVPcdkl>ND{t+<^D-HTrK?e@C3W zLvc7J*s1tS?1cSrB>sUpcBy{^ZrrW-<{q~5hn$4r7=N$wpW__7g%$Rx9*kS@<3E*e ziz6}Be&tJJj{}P1ACwXJ3JV`nKJ{T)8G~^pzCr&Z>g$L@aSJ}d#1ZNX!Od9WsPZ*1 z-Z90;@E*Rz1jkiRkEu^6?t#6q4-Ul97>>11YQ3LN$x>%zQ|yNO@D0{GtG*E2gN@HA zzZwr?iSx>5xhSvvBRfaR2>kGp;%3+nSK?`m#3Gl~-`vOT#QS_aOMDF>D!&nTV+0nyrg}~M+{dQGy?wk&`~aig>}k*Y{jO_!Q*a~h z#E)*M9*Bjp7T(6BH`Uh@TijNh^{)ICliyPuj6dQgyo>ekt8W+n@=$S?$MPMvexi6O zKEe;4DqjOb@e$T~rusoVh6$c4pBEdvP~7{a{1vZYx>w431`!A2I!yXneRZ)ThTQ+h^>6QxN?6yS>64@ zrj1|mE*5vc=x?JT4#ryU4-MGpj`Z*T+$qJel%e;D^Z-7r@@Q4EN$|3{0W^HaHWH;BAcMJ`CDMajc0+-5+JJ5rB*E zGCsyUAF8iDhTsLvno{*2F#?mNQobqf#e-NYwdx~r4(4zlU}~cYUdDj5$}h!>m@=L6 z6R}MO#TPMUM#VqjQLN|wAf%1q_#58CyqQ(+h@p59t7K7q2wunJ0j!5t@zZR|kHMGO z6<5w7m*kWiv0X03>+mGz$*p`9oQjL_DHh73z7Dt@PhVOj{!IWcjHlfhDAzfy;|4+zr+CdM-FW4#jE%XmzPrg9wsWSI2~rjDj1CGFlia} z7s6>cA6J)E{VzONPH`mGDzCT`zQktk!;EdbLH{7dQ*bq2#`jpLg8JIwH#i1=$1`{x zGgs7lRk1sc#*f_}G_}zSci<~5R$27{7>Q%6C||Ow+>RIVHNM3R)znuD+hYg(0dH4V zU#1$e6qdo}xT~h>k1C5fjTk>>*7asl`n`zu?-HzgZLH`)zf+bI0Ro} zx?t6_``C_n2Cl{(nCUaE*BwLgIR1lKK388p48m!6+sB*@)L-4l^~9d18mjN5k8K+% z?>YYq#e01$(pY)V810?ReS8R?SuKf}waFE4NU+K6b>>xD=1!Tg>yN z)+>j>*cl@*)>rDQ8zMX42;77Fu~SR+{oYFc{k1I8S{B3cI1^W4;x_6liYsvkrfI8s z9gM&h?UXOsUcSSKZxlyjg${~4;yv{5sC+xzhLKpJlj>nOA6H?r&Z?)z>KKf3aXTKs zllTw|b)-w+&&({UmGfyXh$w^}bd24Wf9 zjTi7Ge)yf%D~VOH4bH_4_z079*LsEUQ~V4YVLR-L$MG`0!yG-dy}~#Qr{hxm18?I? zOx{!LH^xxBi|u-;z7GGu<9HEo;4@6nTk9pll=u&w9Ee--68iU3e=jW1U-1zVw^FG{qbj9gsbs)Jd6Kg>>srLkC=6=;vyJ~*Rkt3 z)ra6CTrggF&t1fxsVAuZ5eDNg7(Yz))f442EHO#(dAxy-@q@{#XU9DF%@pPP<9b{= zP5D*05g%fT>8gK+y>ZhF$KgHfS9yj1qjQV44_WkA;Gqs-Q6yoJR7MZ2KikRvr z#Q_+IKjRY&o~^!S*bgV*&v+J7&ryFXT#3VeRz3`$VEJ(6TjS?*6_3Ytcw?UO`R2>H z7-xav0PKx_W5$K5=f*&sh)eMj=3J!ymNfhmV9K1sL2{;EIVV;$$7r_enHHKmsKF2Dnv|e3ogv&AB zYSqKn$XA$dtzyr*#7*#bOuJ5f18_b1uUEbu?!gEwzCrZ{*dF)dYfQ3Hecf;;mfNKK zEKK#A;s6Z9HP~>o>fzXRi{iZ)fq8#dzBvxYA8<0x!bNx-Z{icIuvOcugjKKuF2;T6 zw@v-Au?#lFUN{x!;wsFrUF)~UUON?s;&p7bNBKH`$S$}XPw!R!m;LfCCO@D!0B7Q3 z{Q98k{V>lV#XYdtUy47&^@kPT!W>5w2jUov7oogA_Q$dK2ERV4zIHeWN8=+reO!IB zPRg985Te|pOsB<2A)5seBAT0JO<;hnCOD){Z^|ruPEMnRUW}dnEYSm!!Yog;!U^*Q(RZRA%2UGaqhp&`a0{dz+Rijwf(Lyp>90P|2E@H_!3V1E`%u2~v2;r1Kg9|- zA9rBJRO)Mw-S8lOkXrQs9EKIsC?AZ=aUTv&tNLU-hJNXk{}cz|cJxcHdIcPcCoxY3 z)%)XN%o)!LYW%kVu01*m=# z(`QxO1COA8Hsyn`0WLwm?5a1$J(w;B+s99HD(;NS@eBs$Qhhvb!}pjex9Wj76_5FN zjrg9AY4d1(&uqkjKDHrF@Ui+cV<1k$RoEo2`iA3Z%#%;~FK{4M{zUoy7>eccE8i9S zV;J7Tcm>o~8GGO~T!keI(ucwL2PO(sJq;GXNf?fI@jaF=r1h@j3rt^F`R}j?F30!S zril8E-~;q4s(feci4k}MA7I>K>aT)baTT7$YxoGC7{^uBiyYLCdE1|yM@FX@Z zsr&#OiHk8_Db=%J1N;^b;Cl=xt^OeFgX3^BCM%=9NPK}^$|^qyr{M}rUS9R`SPAQ6 zM;wM%K2?9dAXyR@;&wcT53o@M^`FA0n7X3!MX>=6!a2AVFJRnCTJIAK!i9JRA7Yxy z>aUL-u?G&qN>$W%2NPFS?3szUn2(=SQ(tEsh12mTjKCt*)!zgA<3#)g{cEVNC$7bv zcn!1HR9_jajCC<(E!BU=vv>#R*H-;1zQ^QsluwCeFc?>0tGendQBNifmLKDFJoK6J zT|SrHa4D|G9ay=(`r6=kn4y94Yw#roHB|m@%+W}32zJKQUnrje|HMZa*jV)$_%{YN zQGN)PY^t~iZo_2Fl&^+;a4DX}msqU1`YT{CF2)yFsD=8v;UT<f~wo|`nBjS$O z3r}G{d-WH?6}SmAeWQ9)9Efx9JvQ&4z6BlSbstN2QobI}#x*|rbylBe65;?KyAb!o zFua8&yJ$Ooa2keV`mU;X!M#|woAP6D8ir${Z&fdXOK=NDVA=1~*960GE?&f}-PKne zn__D$*hBS;_!^V-RK70u!kM@fSKuB@(M#)pOQUskM&!*CWZz!lhisMgCgOqRyl7-zWhmGLX=g57ZzuEHcEv|b?` zgE_ueJ`gA1Rs47)`+-5Y6yIQqQR=IQop1?m#e0}{wE92A30P!|@}8d)_r#xmQ2qC@ z@){-@r?}qu|8*GgD4c=&@GL&Z#1piBZY+r{@fW;_xx%lLw$eZ zUp`(XPVl4piq4c@%#uTJ0p9vadC!k#E3S$|aXf}&ygBO2jJtkToFZJ7!g$bDF&wkbQ@t+kz;yGKFXQ79;^nvx_v3Ypw?OOrV@B+Y({U5-#iKs{P5ct$E!1{B z+Y)J^*_f>xDJnDB*tB={)$UvFn)>Ma1zeP-FU*stV^|>%08|p-i{Z2 z4EROsRq}BavFCZ>_da&|RqId0WBAoFipydJ48_y<1V7xb{xUco!|@f?I-tHL*y^C-Nc20TxGA>7aepa4 z6F1?|!^;1Jt8l~-<>%qo5sLTVejIaD`Bj+WnBotx2sXs-cmQvq-*K(?6>h;Z7>Tt{ zs4omp;S;QLQuXgJ6tCiKEO$zM5m@T9;vlSu9enIfJk!Sne{22hK6WM!^YJZl?lW4i z46ehixC{UF@$<7<&+}*ET|O2(r@nSRb|RkO;~Qen8t1isCm+uc|BDZ>{RQ>=U6e^M z2bRQ+*as)zE=>N9*3XQ^u{n0aemDvz;37POH}MrFjMVl&z&zLtLvR2N!s)mYcVOmA z>@R+ewXZ1e*_OB)7QU)_5YERx@E#udSACDs|C-`P@kO#Dds5bTd7A1l8M6FpJf7`tPcr^>IyRL>Om#4ucqEuX8t4v*kJxcY_a zhcMSm#mDfASBl%=eXRLf`4HTO=iey*?5)i3PBz9l?-lPw?=M;S^H-Mp;v77VO=9W8 zH7DRkyoZHjtKJJY<2yVaNA)FfW$Sn{9OK4UJOrO(@&w9%?&G(_Q*cW{^_@#3<0Y0g za6%Hr8-2V@TsNueA-EYYV2)&}SI5E06@QdM*220UC~k_~@B)_pQ1!{U3uC2JzBJat zk+>9}VDVJy55>D!Gqv*b@fd!PM){i945#C77&oo@s$yRZ!#5Z|o%;N-6jsO9*xkoP z#GA25dTnO{uE?NxA4XuIjLMhA4mblJV2jM^oA!}hg6nVx_Q|6946GEOcrc#FJ6V;_ zn@zUD?YKF+^2u|^N;ufZg~Z1(c~13L@v$1QXB*-H_yPlRX?@SC#655&Ui0w=v1k0; z+D>Nt5qDyRJgU#dOZX7$f2{g9d1c9bGR()N#HaDYPt;e#$6Camors6wdmqQ-*LLP& z<^qa~VLN<>{smR9>rT&HBkM*xDG!kq{iJ{BsadQ~5%5dVrV@ypWc?}mS4*)qzn z#5C>?huT<-&oNCo<=gr=h4^=Tjs?oA-!qVS0oMLh_4+sz|G-0-FGzi#ViO#If8*u~ z>bryYFm^@dlVbo5!oW(Z2jOoRP+9ph_!ai>aToDvyom{_X#FZUuPXadO=iNXcpK-{ zP~9_GO~nJSb#29Y>dH;{Q9Z?9<1#$xW1L|1<;PP#J|k}PnfmI~mmf5gb1^|9#kFxN zuJiE@ahfmGUl>c_Mr_?!^^W*e6U8mD501dVW~!IKx>z5ZVtbr~C7Nr!doBLgCSNN4 z6IX>O?$Jud{aSXwmG}bFwpQJ<9&umH)<$*Dio~n&$9Af>_(tBv`W+O{z)R@YQF+gj z#I0};zQLuP)ZeVLY=y0{KaRp8UDX$aE$}YB!mHn^&okk7iZlDzkvJ4b;DGMxAC1F% zD)wALyw%4fz0?fsL`zVC6f8%JrCY zh~mQdDOSeMumygH!?D*;tv?J8;Id)L7Z@&^;VfK&>v0z*8lnDlnC5%M`9{i~_%A-f z_gHn5`s!mR48=#-ZM6EP<28IbR{1gGWS;Tz2V8+WF#816TVqEYfphQ``h}@~7XFUy zCMq9ilI)9D@$<>b-@~t_DDE^>4#2Va7QdgS`a!&a1*R+i7p9$|xGiqR$bv4zTig(q>rBIU1Ps>O;kVnO^3 z&tRb?>g$hnmn!}OSKu`q@Qdo@ew739FeY85d~KYK=P=`P)w|{YSC$ zN^Td&;cWaD-(uZW>i-hE;5sa{TJ;L}8Mef}7>XIzsJ}lR#Y_rH>s~1rv6QFeyoDcaX7}=tiER03S0iJ{3JY# zXYm0x-m1R2m~orp;@B6%Fnqh}7w`doyi55&oPwwEDyG}5zM@zM+u~3R!$f=3UlA|i zz(17Fv{!zDwS62$dg+)wQJoH+NNTHkXp@n&qfU-ftgHEb0epl#4{JTog~aReE+#*szD7RwC0>E2ut|ja zJ(m*yh7a+>qv~tw<3QqhK5inuhFOnk{l-2vCHCw~ycjQI`r}&PGb6EQG2*Xr4xaS! zG_mIs;v6Tmea`{JqkWu4yw}H%PHO#pK9(eIk2`$4Og!Y2)(^wCK4w0xdL3MdCwfeoV&MMA_&3yco_?(YL&S|~Bal(1UA77AHu*F5ir}49Yh%pkY zMk@au&cGG88=v9_m(-sRgYY@}T~@s{4#i*aHs-pbzKZw-j>UDj9k1d8>~K}<@5P4y zDh|PecmuzB6pMz!nt@7Utp)Z>g$aQ@i^wYr}~Wh^5_G3 z1^Yf!ybmL==p*Gj;&@z#i65&z8kav&yz!~rfhnIU4#qw>6dOKQJp`{}ikHe4#WMIk zuEWb1`<43p;Sqd|&0nh?foCw@8|6!3c})0L`TW=tyW(t|hjHJj{|B6b-@jLW98SWg z*vBtb)a!*qV#!fhCAQ*D7>bWDUmVpBVduDtC*nH1jCb)hPIiAx-o|OXjM?HV{}ZN3 zpg0Hz;WqS7sQOsEh0oA0k?L)*Ph!OzlF0KIJE`KDI23Q8UozEO;5uCLf%215$~viJ z2yVbksg>W0anmRsfXA?CTIJtj^>m7V##NXkz48O`1$NJ%{9p{jC-@$-WmI1iyof0> zDPIn!V(gEUui*X=u8sQG5VxU!fa*PPFwVm>_+?i0O~9>~I-BxCv&)@14aKD} z2z%62ekB&JrMP8nITa6L(z?p0#MJl+?#GJt)VCbd2P^&(r{GfDgz-L8U$f8UFbv1L zc&dTw1sclI7>vvDASQ04zB;%bkK+^k;tTbCgJWV;A~x zL|6Lp<8F#S!*6gpuEc$KAJcxT^$KEF+=tIG_jl_10w>}MJb-b#tFH>K#PmIspNEg} z4X*8}dIXN_rT7t6>8m(vKY0^B=&v{phTuNTGC=iuI0st}RQ?v08KgMTU>S~EF#^Yg zsvc{IEICX*!MVc~@5cor6leKf?!v;{&WUhCW<`mofiX)qCUjI2GUGSL4(din}rXc;z!=f(eTKu?LhP|Ih0C7Q2Ki?u)Z=Ge%(1 zx$65ATj7uR(LB}b;Xpiz6&I*JWTBjlQ!&;ea3;>jVoTH)gf($L z9>ga>YT|4*TLTtiD2h=~l|> zSQES8KpcvzFcL?v()u%SC*H@jt5pxc^Y|Ehtx{i@>6L z6bIv2T!Z`Y-XH3Fi2-{R7r-DKyN~VtDOcb{e1+}ztKI{9;bfeFw-2Z<$w65iTVgjn zk3A2mZ!Av!OK~{HIjr~tY=pCLF|NWCN7UaD!|*j0j!=CH{*0?}A2vOzzPlLvnBsc4 z9-m?#(d|rUM(Djb8!`BIiy)hL3!P}VdvHF9sHiqCqZ2d%iGjRd_f@`tL zQ}qR7Q#^y`@FqUQH(2VK*6)g;cp0BzlIQBnf+g@X?1bOrG+gmQ>utseEbvnKFR>rq zz$f?&Q@&DvI_&sb@elYXUcv|1o%mb36Sewar2EEt$p@jFbCPH{S{m0s}=xE@nyP(B;3#ZnoS z--FpRD_)D&K2jW(Ma~G2JF!4k#mn(7Hq55{daR#aapRnFA;!t2_&wInt+;s}xfJJo ztoSw_%BwhiJ{ji|8H|PUD_(^6@eTSHRJ{tOE2OwFuE$>rE5EOZj9XOJ!KT<2L-8iw z#WBUS-pS(f8U~b59D*b9N1TrxORBGYDcJ?P;S`*YOYjuNFRk@{!$0vcrYfU)Sq#Rl z_zEkORo^K58CPNQa;lfdruZkGz*G1bUtq0IwSGrjf;%w+%Lb|MB;LWt6_od@DBEHO zoQ&a^xsv({V|QFuS^3R)7H?p)s;Ym3qwxr4uBLh*j>m0y7OPiRUjuA}-LVfItf9W! zn5U-V3K)#PW5Zgicf!!xim#$y9mQp_752tCbyZ)A5qJ?FVA){xJwm_F6lccPK5is_ zhDknGe{CF9U-2~DfP1iXL)EKedtBw?BjR`H-$?6q!8y1Y^L(LtQ7n%2u`&MISbYaE zVH3q!F%W;m!cA4Lfx*obhu}_(-(303Sf+*I_85w{@fpVdQhh(*Z9MUn^0$3_L7Xr| z^&o7COMN^;AB!KfR@@%1V9Pej=W0to&d1I8 zNjuepZ~;EWZS7V6;2T*OU*W+H$|vk7tKdL9ix04VC-qIiKkzTi*je=w7=(-PA57at zeJybnp2xghRrjn;+#5grR`mqkWfm;vV@u+0xEEjJXFat3IQ+1u;*PipWA#$LDK5qb zSfjV<)9@e6)kparn6t0qAMj^fhC48@AGe1G@C@F-=a{O$`iJ9DEHOa&k+>Q24phE3 zUcmf=ln=oZcnhCn+`;NgiP^9a*1%~v9~a^p%oM8a6vj`nHa5c!*cYeZReXq#F~JaR zw=}N6J$Mu^;$3`$Nrr0uT-Y5$aVSnhzhUZ6gV`|4-h1>BqrX8>P z1WX>LxF&YQb$A@_VC9MGAB9UX#U$m&-~-GxS@}VD9A9Jb6xI9SI!r%R`9NHbPrdwf z)w|#_+=MA+sGbWK;XX_@Q}y#$WR~KZxDS)eRz3rk#?hEyj_O}yKb(kX@B!BOS^ew6 zKb>PvLj#wB9sKvtIEUe2xh=DE}#j;1VAX5&ilFC62=2bAw}P@eirR)~<_;6z-HCyuKA0zW^YI1HEhnC_(N zLD(MW;VMjaN`0R7iA$bQ-t%+f5ZsLSG5cBdS3D=X;R$?%A6-y=ExUa)VBp+;0ITg55Uow^Izr5Vx?<}gYhutx~}|q zT!NKvC_f#aW2&3VdltB>xE%iQQ1LRn|5UO6Gx_B!IT(+>Q~U&n#7PtNdgna+H-X~# z3FYauvS2z{K7$;K4>FR^BV&R4If~gYU-co<9*@}tE=ugnD{0>$1XM0cLxjAQarS_9FDW_ zQeEX=_*lQ5^1Xb#Lfku8^-#Qu_wmEeRIh=D@jd4MT=fz7sJ`Mt4P_;)g7fhTKEP^? z)bBZt__2?Pzfhk)euuL#sIlr#acvXD1)Iu}7>w)jA?9sHA1=XJ&6U58gMbKnk4IY#;J80O=|v8w+wPQD#43r&>mCdvMj|JNPU z6`#N}SZapy7w|Dw`BC{MH~^E*RDLb)z@S;mPsMONjgeU9C-nv64t$ONvsI5fNBUzB z24mpQst4f?EFMlCm*OhChkkR_mvo*Cz&#j&E#|A<4VU6tyo?_#;C8Vq9>rH!YoYpD z;2=DM_wfn7$Fz&IUN+2uZE+`F#&V0*-x#}KH=Kg^G2IgNcgN9q6(6DBQuU?6>{tt% zV@Di@VR#cCV5MKQygAAAfWo{N9tWAt0b?cgW) z4R*sm7>c8O3?p8FTUKbhM==s_V8WH$E@tvEfVe0&!(liZf5BC_3lHH3t8_a7SP~;J z67OJ|)%0T#Y=+&jH%`F4YqZ{BjKE`f4E}jj|gKz?FCzQ*TmV9t^~4I3Hj9roL30Wlk)E!Po{z;sl(H zoACvlqL7*5Cg7-y^cnqgPGjBmXB zHucTLRrou`-mZErY>ulj0x#lie1QHtwSE9r#bAu^;$7;Cz~J4)7`%rVga07L;Ju3X zVgz2r=KECdhQrbSPvrwJ2t#l@ZrZQD3qv}fG_aFgX&L(IWaeu#L`#`n_@fc zhQo0>hT|$cgb^5t4>0K=?N5HJf$eZC{)!QJAM^gD^_$@UT#d&t!D02~!4^0Jci;^y zctrhua6jHb{|ME~;}DF%+(%V!fPHWg-o%o})HeZl;J=vcxa!5Q5%$5ExEG&emJ?bp z2s`0y+=Y?&!AbQO#%4GWH{wZrh3QXez4F)sXW)Lkg;`FsU)U3;;X#c5xB3cTBb<%b zu*4blHN`==4DVz4v+A3QyYL#OI;Z*#H6?hht zTvUG`*2TdXj{EU8=KM$NRl@c-5|`mYj324~+*lpI!3B5-pJ4h+TCXgI;CTEEuVLcL z>Mx1SaU8C}vl#n|`U9{6evKn=H6F*fSGC?JSQ9(qbo>o(VZwj4UM{SL-Eb1_!1MSP z(_hp2C9pa6$8g+^uQ1zntydE#;#tghL-po31efAbe1xfPs=qik#?iPMkKq%{d5itP z_V^=i#w!@_w)#KC7C02=;$Hk01MXevl8qTgNBKf|H87?0p{Om|QHrLj2iT9%{X+*afHI7QBNWJW_utY>9(09CzVW zjQ?2c6~qu6g^O?>-ozwNv|d?kihb}$+=3U-@2S?ygypaa_Qs!Z3r6C5Ed5N|X@z6( zC}w!BdPf|OYcLYCzfj+IxF4TkhL@_B$04{6v%gZk0=C5w_zUjGxUbd!2{yo4comDi zQD0*mfWP2fEc;e{lW_-L#f0xvuZ0uwE+%=edLY)r9yl2f<1_roFKyK8{*|yTj=@cM z1^r{GzbH1w0XPN2aS5i5t@VO17+c|c42Yw?-|zv(kE?tcY>XW-43FSlOcGD)<-ujR z7tdja`0C4q6)+T6;Ew;pu6@7d{Qv(S4%klWS5zYj3{KU z>`i92LUv@85i+vJ_c-3SYd?IR|H1b-Uhf}Xm*aN7-|mm|e4W3&dEx!+>L+1W3uP0| z#)Y^X!!Zgk;B8F8A35}%Sx&weHo|T=7Q^uvCgDGH%B6RFa1QRqB(%t_UVZF^lW;G_ zVLBGb!yR_TC3qN<&>}B=?2Vy#2oo@urTP`HEe^*}+=Ho@&x+5%-Z&c%;S>CWRrBet z4GzKS7=lr_!CL)jyollXnd5PMfJs=mn0j`&3?tFmR(nqzgR3zLU*K=Fvg2KJz~(p< zXW|Nsz-Wv`zfyW{F>b(Uj6sLe>N#S&49jTlhk>{sPhqRF>UG6YI36SLJU+%W99d5H zff#~eco_?oSFbA8MHlqJ5jYux>~$A{7w`p|IcV>Mqc8-w;x$adk65jO?gtw*kr&{1 zoL-UdgIn+rUcdx=g}*RwCEdGVSL}(tI0mEfGR9#tT2|J3wG6tDd*VPGiShUf^H$M2 zwb2XxF$~vXG~PtNs=6OvO}<1+N98wow>r6|%v4MIq6q_WHzwj6OvB%3R$K2hMi=ai zuQ3hH>!@E1UC;}A;UF|&FlMQ%dn;Utk(hvqn7tm~4_l!p_QRK$y}tUn(GDH49s1!6 z48yG$jWKu)?_&~Xa?x_85o7>=GjI;h#}JIdTNuzrpF1BT(Yu}ICR~8K@FHgORIeFM#~A#J4ZYOsiBm8P4`V#$ zYp=c+j=|X&g1a!fgZlsY-~ay4&wu~;?-%&*7x?cN`0p3^?-%&*7x?cN`0p3^?-%&* z7x?cN`0p3^?-%&*7x?cN`0p3^?-%&*7x@4B7s&W?zq|bTU!9KnbHFaxA5Y**{DN&d zsoxei;c+a`S$h{;fx9qU7wvPQ9Xg^jdScVA>U-iAjK<^Lw2#A=n2MFUYhN3EaSYb% zp?x3Rg*Pz?)3KSi`d!c$$6*LY;USE{t9TnfVy>Qg*9z^h7P??p9D)n+7QV%nz4V?h zPQm4P67S#x-0Q2m1-<1~Jdcks4ZmZ_KI+?HV@$$;e%c4(QapyqXx3l7JZOcbu`<@d zi5P-WxE-%y8s;CM_luw%y5VHZGf=%|gQPF+!x+4XahQl7(QL5p3!@4DqU8|nOQR#M z!DzfXRJ|m8g=uIuO#1@piTyAV4`2*F!{Nhqe;Zv!D0`wej=)(Mf}8OK-oS^Lf|h=I z*B%FBIBqm)zkQ_KGfEyBEpOomH1pTo30<%ydZI7-V*t*@`51|(F#+%5TYQI^#_01) zqbqu%FAl;$48okY;hG+0D zW*V=%!f1z%*dBfHEMCDMXg)#jcw#87$J>~WjV7v}p)YwgCgMA^ous}C1{vH={+rR8 z%=f|RxB=f9%sWN>^4JHr;ZaP*JX6*0WN;ig3g6)$tQN@k!W9OOk^f=KY3g^yxwsua z8!R+k{i^7J!!QUV(QbzN(damnjE=LEW6))`avGZEkkJ%GMpLlzO-#aCb2UGXargv3 zpxHe2`ryj>%KH|`JPT!Qbit08h-v7#Nc|QeavJW$*En#o_9l$Q6#Rg-Le&evaX10@ z;c1M=L`=ihOZ1K}9>pt|h{?*ewpsQa2hVhtN0W%Emyw~R>uXn z5x3zFEE=Xee>{jIR%jlLB~~hT#c;fWiFk39dgiNTW$b|wcoa|J<#6?juaQl$FV4ly zxC`H4rnS1WL_2iCrq~-NVi>N(Js5-L5qj4OTcRgk!Z=(OseUB(TCZ%vd-xXrVUZ2$ z)xgeZ!bNxluVWJaM5idd^Jk;1y-9XO6UJhb&Dwk7E#W-}|t-Uvn!P$5NlQ3(v`c`{no4qn@0<<2WR;u_3)LGu#mh>LOC zMeVQP8(eou^L_XnpIz4c%vE_C&95nExh|jIkm*=1PPuHnG`}Sap&K^8t$DdSviyA+ z`AAwPN;?e3#kdV^9;@evvvDt;#IyJo&7SD42d=}dcmmJkReX)<_zm+V@qN(|o1rIe z#wVEhsqPw}7y4re9>&kl)Gz&9HpcEa2g|?EzAh%Im5@~RQ!p#Ug>*fSd^Th1Gx@1!%hbK zk~17d4#b5RVQ?oo!{g-3cn@D2{6@|&+iU%M6u{D0)1WK4KZfE;j4^nH{2q(E)#ubp zm3{`dlMB7mz6dVHw`lfWdmC(oozWkc<6gXtX;|rl-syl7@eJll)4m%{!brT1`97-W zi~I2@X8ojnO$@;ESoE{@4bc~8Vl3wQqF!$d#Y6Z6v!|=)fbKX97vgS=$Ioc{Rrj7a z4p-tae1sO?)US`da1w6AEBFNqeb-$}9E_p3AKzk*AL>`a7C0DZVGO=PtDm~-f|2+h z^ZnAkHul9$n2xP}s~3Q)@FM2=qkVVWh4Gk!V$*jo# z{+zlDHp2lJg!}O&=E?wrvVgK;}1;$O7SqPtcYh-)zhAK_mt zX0E$VI2kwMWqgPEvhw|K2!`P?e2sassqcs#aU6!@HT;Cdvg@u14#XhbhF9@DT3P6> zI(EP@xDLMektsTqi`uk<4t^z6^iNJ9f#t4 z+>LM0y14pI=!4U76W+#u=wzciADn}`@f!Zc@+H)7hGTFE?!hGdjU`Izt`2s@01UBuRbypv|<9ytSPteRx{TkQ_gYg`uVu4cX_rNIpgau3U`8W`_;ScmEqh1j1#030< zRm-Z^8Ry^*yo`UacscbOVK}1V>q6}bSzOx{kAw77vnj6hUS&kx5Fmb3s>S%e2Bl%wucl zy`{JxZ{cUOYpk9N`ruT9o5&gNC%ZW7-Up}RT0DtwF_(+_7113B7+gt?#=Ne&YmMhH z4(m42ej#4LKiHcGD|#5*MLvvY@jO1lUpTV2-dlyoFxH?$ANAJb6->qN2D|lDzZXu%&uG(6`$pKx z;5M>HfAxH^@&IKQ9DydxJWzX2+=#sgX+Czav>qaBq17q+1g*O#~b(qmyXfCT7dK$EB|5k@ycD%cY^XSoHtQ^?<4#x(3YRr8%# zGEg}X-{O*Kn(r}ql6)P_rmI&92OFGEK7b)J)L(|CnaUTj)hy+s*l)IS-Z}Cx_6bt% z7c2+Nm4oKVfcY{IZ{aV@zd-v+IAfu51Rle?SbdT9F1Q2}(LO|bSKN%Yi#4x-?JyRd zL$#lSA((`tmS`V{x3Jh!&D)?ahTwB7vrN6r%jE@}8>T#Cgewz3>GNS)*PW2CP+ni_IgHBk(6$MQT0~m*951guB{}}(^{!NtBb*pll?egOeY1%2{@zHMOX?vvEUfCOm?N`os zP|m;*{DoN#X>W_O@d-9Oti8LzqDM5ZfIV;$o->$2{(;$!>OLPjpeM#+)nn>SGPvTn z=3DRq{=%jww9jw=IRrmrrjzRR!{b=sl;#0=4;!7o=n${@ zF1&_iZfPEMTSj9HHc!xeD9*xk>~Kf>o;VX%VKg4coA?g1+|_+mG~qhDg-O`pp8Cfy z6)WD?yf>Qg5k^1IzSAS=gE9CG3q97}4ukMJhCb2$0%m!pY=t9nDz3p?&($l04Y4f_ zz{{9|shB01&%u7U6{FESMZNlH!dR^JN_%&lgd<*S9*7UI)*H?D<44T-R&#rF#Km|U z`=+XQ6Q5y&cbW&|13da(^F<$|XPW$hRv(oI;xhF8qSLuk0aqBnDW6*79L~nW><(!DR*`$p;L!E~L9|_!*rFYrY#x6;XD?R`>U2I@IdWrVte$(p%{Rn*maQZreVXu%A>H; z5akuP0XO0^Ou^hk)o+gOXgN&t%V;)S*$anbBEG^mXg@;z8dw*bq9-24f_~}`!g$;{ zlKE(vg6{sx^DzOxV97Ds-@zoT8=!eGp2I3*HTS>~< zkAMz3`*bwhqC5njV8^YR561C08_(k{ z%)L#0FYJvYa3_Ai!rRraj193B2H|D=gRVPtHy#(_U9{Y(eQlhI_p#(Iz9){w(`dO{ z`>q&*53p>s_EoScj=&lC9PRh0?}Pq$8?*1#-WKbiH*UZ;_!-Ui=`II4Vtwp^L(w0@ zF&1y)ZG3_6u=##{PER~{K=}*SKBznnL+}Yc=Yr<9wXmMskqCEvw^XVn{dUjD+~7nC>Q z2h1C*c~gV_DVe+c{Tn_QEu}}ZhtLL z;!UjaMspWjhhMSJTkSXEBP^e)c`Jhl$=9&=JM~O>4;#PNyaO)9%O5nqhu<+rX{cogs8 zo;=$B!$EnKCty`efh2k&Zib#H@p zusw$0GpuE+epBp(-EkO}vQw`nHph-wsg(B47>pb61l~uB(&~4|9e50{;Z1yjU-2LI zE2DQ>mgPO{hflFZIqk=kmvitPR(H_+8GgYZSh9ll8P+0q!D$t>Usp*cV4lj#8P+9d zsiOIGY+F_NFIrSnw#K4Z6FZ?FF2?N`hi}l*QSVj2wm1kE;AXsv$(XCU?#rP&F2KEb z9TV^w7OSEAdswNa@?>0zHnlYGizd8_4{B>)ppI;dL3j?$>S~`K%VT}qi>vCXcMjt) z89!m4`s(e&Sq+uL@fgNookrUC#PfKrvF7!i6vp{zUcy(_ z>L(XqBxdffc}}#(V%Pv%V+V}H^%#YZ(SLy6osO$!pE3~={RnX z?q_2J?!=GSVX%4u7>c{_8a~4>_ybD~(S1$qfWvSCobJw8I0rZ3F^tD|m}8jk z9k3R<;A%XA>3D3o?y`=M9ncp|ewvpw$v$`=okwc!i{V(=U-MV^e2lVBfb2F_nvava z@iXQeuX+6m(i0Ek9sGk;C#n~Y8}Svs!77u~tA?%76Q5#^$?Dl*2u5L+DcWb~P9ARX z0r@KynyR~6I2{)myhHwBa6q8$_oCM{M>Mm}t?+zjaWFO%a!ZkR*c1a_zlN}slOa!@r%L6E7a?4@H%V1P;Wx2EUP8ZBTzD9yeGaN_$6afg^Ad2IDRKYOwD{ zy%UB{F&T?))_w*?V&^TIZ^7?ae5>Xe29cxi7{;K@HuX|tNRQ) zlgArOCcniT`*fFK2XcVH=j2zIZNKg^^dyfqm_&YwSq|vV%3yc$WP@+WAF$Fv-8aQ> zT!$wx`yurz8Vn-@kkayM-0MbOhflX^}FIgJdLd%Yd;W87=pL)A*N!cC*0vTG*8kz!){~~-bAaX z>XpQ%7>Fxy9d1X{Gu;(^F6&||G<%`BD|+KlG~o)2#w;&&R}a_VMl7GKy$=T9A`HXL zco@H8!*TJu`yg6r`LCSeMuCnt@+e%1oAC%9!y7r&PsF@Al`CN=MjA{Z z=gg&khGWSaa3dDWt)30ez*(4zP4cMciBb3l|6;zp>e*o(?1FHiQB+kQ)_#FRWGkd+$3pe5^%;BJY8SIS{@df_HffdxBhR^Uf z_N=J=SX_+v@Do<5q+W9j!#$X#vi2p=4}U-ck+=!`|ttvenh)3`imaC?o zGfu|Un8#838rTz;;|g4bd+`z`U=n`Aa@F;22b_kx@hRr7p~Wh-o)4V9?k0MT_0SG5AZEU)K~8qx;QEK!Qr?79UExB5Vv3={=^Oq)eFL{cnLE# z(!LPB#!QVhAB%G^0uNzf7xh|T8}vqhoR6ul>ep%_U2zv)#21)`E1Igm8%sA+zK`Fq zU~|oFup-vQ`FI11x~cDtn{Yp##?md+8;2>Fj`dn<-`rqt@?^Y#xAB?5+^zJE2ll|V zxZPkZ`8ig0*S!58ZiVZ}h_>24l%@FrcmOm*D}tjbE@-JM~=A7Xxvd z!Q14Tp4?$eT#g&i%uBsT9pq!Q?WkN9H)8QlnwQ6MI2{+EMQ8O2;wWs}P4jR(hnMgZ z+VoJ*9;@Oc48~+U(@XvD_!Ix3uaEYdaUaHDabNB0^p+ld7cm9X&||QA6LA-wK*u54yWmQ^ zh!62Ae#hEFb?1pDyoAYEW|(?T7=o#2Ib8dGcm!YL$`RUc^pjVyzDarQNO=MCj#BQ7 zi|_%aVVlwFt;1xr_1Am?hF}_27^D3FG#Q*i4l($c+#x{sK4`+sV>K^^J#ZtMjnm!+ zD_~9Rfqif=Zp9mzX}sRahh=aG`r&-Mh#%2ng6`X)7mmh2oP*af1^-~%iF#)UUcfI{ zWs>&w(Gy?dH(WDWJ?AO%DgMRcQ#G%Lr?5ew=7aDB=9{K@V{}K0>6+IZG)5@aR%PUUk0-TtDg%8;dRVDSNj~;5q;5wFLBH~ z_2=PIjK>eSZoYc07RZlSV4-qd?2a$6?;`C(&@x21Ar8YSSb4Gb-LMbN!F-|G7ezaq zfzR9dR?33DbNyTCY%cMH61a6#RrP zE7kW~B@bW>TCCQ*IgY>wSU6mJ7aWPH_#P{*QLiHo#Y<~7|BY4=%H#1GCSjRK?Ym+a z-oZBOv_FK?*DF`rAj7d|l=5n*q4g2vPS_hw zcn?P&Rc|xy!9y5>?T@L~69-~4zQV7V`?&gr(F1+)0=k?~uQyJ`5d46Du;@wkYvXx* zgY{1FJ@Ft~#%SILk73@^d_IoE&6w+q_Gj@1+Md-s4PDMD=Q}Tp;cN`WNc@I27u5I0 z!5DzySUXm|K#W6+i<;YEJ=}-4FbNx9Qa>I8FDpOA>{pb%a6X0^yh%<+n`^pjcwLS* zxSM=FPJ4@ZSqAH2YxKZAxCUb|9v|Z?%yv`nmd4iTj{z8JFp_)-oo?wJZ|sXEOu!fT z38yFMZrmNY91q}GjK^naeph{KEP)NNEB3@4cmaQ)+kL&0|ADND&2bb?!oz6(P<=OC zfny$Nz8#aXaiZoe@dUoaG;I1kvbFslQ z&Bx$WoQJ0|5pz6Ozckjz4(NvqaR;8kYxn_|ztDRpG0#h7d#sHAuy(Tc?Qk-NV2Z&i zDeC_+X#GlaJDiS@_y|+5&TIA0y^+tbz+2^7*dMo`b*lDdu?-HvaJ-C8@6_*uCcKH= z-)lb(_v3l|ht40=8-U|*I<`pDJ`MAIR4#+PaR^?_}RD`)ukt8%Gt|JQZoofv}--_^T@rXR|aa6Lw&`A_XLbSEbmOeLHBQr`+o zpfh^nDTB3t>uxPh_^Vvo%;tZ8pM45TXHxEmJMpT)OqtaifU`46Y+bV|EMmDjMuY9*K)_kHLN9Z`d-2-t$10oXTy`7sufXOv4Vj)bD{6 zb1T=ufj9vJ@gY{oqyA#tho>+eE9F(s1(#q6OU?VE3GZPYEA7MaFqX=v`5$X}xPYu% zP_Dv9Sgw%f&2R)d71q2D&c#Ulf=)%$Ym2?ngg5aQmM^M)H%!LN#Wc6Vs_277i)&vF zYoas0$A32JWh)_v;n0%GqtGAc;c{G!TQLUf+UmXu4#9CaA9r9p7P8Zw3%cVl48dr; zf;md*t~lDEE3U<8Jb>46L}}g6#CLeLtmbpd%Y63I9}nU`Ea{+q2Rwof6*SLYNuH@J z+gFi?@ejIH)x1Bh!Sfi0wX3Pu#b5wA3@_m?gMY}C9Q96yEy;ek4sRJuAZJ*jy56ae zD-FITo7GUy3M*rEbir+CUQ_*^7>pM&Q!VYSu`LeA!}t@c)K=dG4`Qx5n)k)GXkSup{Zt7P=H|&B_Fa%TZ zd<)&hVZD~h!MGfcU}7unf4a-Et>qw$Zlin;b9*S;qa#M(F-$?5w(3{GA-EH7V=|`U z;dZ*~=lOpn76%h6AZ?kcpOh-8rpQwog*&9BpQ zFbFr|UVM!?dgz@3XpgnAJ@&;VxE{}AEN1cMJzRz5dTQPphhi{p!!!5*oqFkR5w5{4 z*uzKr517kWxgd5!U#!tvdspm+zSsu`;%>Z;-*9Xny%URL`YO-FEBFRKV%C1@HNmMk z8-wr+#^PtD*c@A+4-UmK7>q0M23if!d+yi<18_dB#Elp?P4S6?a z8pa*2#nTvvpD@>O^&6lIc0?Z>fzxp_Ud1@9JVNgU;UXQ*$E`LHF9z@_+Truuni$r9KUdtmgc6p2Iiz9UF(J*9phqJ^X;{7OOWbRMuT0 z+u5j2K6#5 zL(Z@U*%w#iO}uR|Yn0xz!jbrKqvn;j$QcIrlh0tet?C8gVSJALwrM{b_hTHUp!*K> zI-@Tp;zzXIsa`ppg&`P;#doQfp)1)7XJ8bj8noQ4dk3tC5AaX4_C@x{_Bhz!B60-A z<0o|5tNRRlk^^xKMq~bc>Q^%8Lhfa7GkK4}Gvri*&GzekFN1x^^YMkj@8m)Ubl(I$ z@omQZp!QSn37Q|$ydk#6_Ba`r;%|fH4(q-HF2wT&W64%W)GvcR=x1;$dAGsrM|Gc} zJ-Lg)-Q*1KX51a)9(`~QMqnI%#XtD_xbAIE%HyBKv^dE^;c=d65! z=I4|vU|$T!1?RQjc0pdj*9P;&YVT@rB{|ncJ_q~bVuL5h?+iA-r29jdfIgQspNzS# zD3`<9*b4jLBwU0McmQwUGyIC#uIhagPQfnMHUE4=TF1%i*cAhD0bawWn2x>Ub-xZz zeA|G?U}ls&LN&cbDQ0t?<&-xa-ZBnIOeOf>kFTsA@P_~3GbE6CA!4$bfAF2fS! z);Jqa7(7M(hSl!sok+Ze&#}-w?aSj+Tzp^iW0;D29%$bEp`4DPcoZ*V*dz7&CCY_( z3I{#bJl_-PjS=_@^CxL<1ihYKUF`&=j5Ll@J#y*&7Uh5$1vQDwO{ZaUN`uf zT==DW?J?NkJaUFnKJWftE*z6VW;b`1o@E3XVYxP6$(;H>8 zw{kzmU?P@E)xIG%!{M0wo%VKE2Ltf|ZhNm@G?x0H>}zlgc`n9bgOBQG*ovHCFY;(S zf>l22F2e@o3_Z#HaXZ?k>n_78+_#V% zhJpAIvliCg3uohL{Ea<}sCN>tU~o~*+ZU4)@Ge#^uK77k!*6JAqrEdO$BQ_$g!bcb zU`gdsxYMAyt@gDH&L=Oj(|#$=D5bm*FB!Bet-YtgE#&QGv@cv%dSQ25hxgIGoO&Cv zQF-MsT#L5$n%BTKxBzoFXkP{!;dtDGSMV_wtDrl3^uXabx}x?OP9g6yn5~j}MX^3U z$5)uQvU*jqRu$z8oymR%W62NjCq`A(eamWcIo`z~)iwW#^=c^hF*uyO8t-79n(Ak0 zNiL3#=!X4pBnILuEL=89KeQTyp?(xW+O-84NStC?&|l)f~}Q1;9dNNMcQcZh|BOPj`h%fI%aOG?1mw@8Iv#_ z|KZ4Xx|@Q5IL%Y@5d4V0(bh}*&iD{>x7XYWL-Ah+%^P%*9@q}|pjl__d*d)%gcq=N z7xgCLHq6{rbH8qKdv|#PPoYB(%>(f%rlO^{_HK9ue`Cd-+E2$1y_75Y%0}pn8!!#M zdaLJ+Q}G}+=%f8GT!o*|r=Rw#`^%lU8w(83+!s&dRs4YE2dcLnA7Rcxn)ksQgOzg) zl_k&?r(hgbAEsVI^ugs=e7N>)a01>$XFu&Hn&bjpg!l0?+K*JP5qjcwEH_$vM_h$l z{WZ@vMvlZle2TsS+F!t9W0l|IUmQ42^L2P01IBA^K0$VwBrjou$;vx1_Y~!!c-i0w z@;|IKRsBx5#$XIN!*p`iK;1cE58Pnz0y)FC<+y~%UrO!Np=ZjXns+g!~@;B1USw|Uz4z|lAk9p-D_2s`0qJcwuU z0L9EWYf)gOdW z7=ypD$Qt!Jq6u%{TXbKm-a$Nz4I(t(hwsonQuDu*$SuNQM``>_NX@$gYouW&C~D` z=GdosV;qfJFcC}cSI-d_WB5VMk73zE$~AE4VP)^5atEF@`0<$bSB}d@C!{BC#zS}o zZ=&T%^^2hm*2M0owD-reXdR<@0c?t+a1CC>!l%`5g2QnI-oPYG#~)bzjPAX$KbkP# zS?!CUH*QCZbJ|zJRyY_Np4Z+T?_q@tntS3NJdXF#CRV+1cm+RP)O`OXc^yCCh0B`f zy&}DE0dB>DSGBK=!!Q(mu4x~H>oEyyU)R0~CSWQ$+|a%;_Q$EX1`pvQEE1=?s@M>_ z;iP!&?_i#r$_FtP6Y=~l?H}Um+se1FOoH+e9CAl_3;w{mcQqf27ctvC&E0S<*1E6x zODyw1*&p}fCv5sq`)PO@i$2o4E_TA%xB#sa)vJoNu{-X<0~n95@H1LG);lF|fx(01 z7ijxL{murvlE+~*UdDL5hXs=KPEl-v-Z&N4;WHfjRCmwuCuV)7c{y}NFYJ%ecniN{ z?&rEMk9BYcZospc?S=Z@I1e9T>6h9M#Xa~Et&_Fyit`P|k$+<46!m)<^dYx08JQ&`F^NZ1Rc;7*I+c}{HcCLY=*n=H3s}r@3%p#-+V8FPUH;R zlD!R%Bd^2+gPwo%elLR)$YGfHPrYAeCI9#LHg1{aJhaH7?1bylF{|b+@H)Ok?`+ze zFa@(_*L(~HV_gf)XP|2i<(_yrr}8_r&!y~$i*YBuM$6plmBp5Mlsn)A48m2IoL9Y- zmNFX8<0Z^wrF~`Wg41yxhG6!5>X*Z1xB**RYafQ~@+%L*vjvpDV~v8!E*OEg(5;a6 zUg(Pfn60q(%W*sAD5Cicyo0asC;r2xMb*E7Nm#QOpN~0{p; zJb|(3R!Mg)u`~9bI=to!cx4V|lM?um2pGJeD?)zr&_H*vkA<~Q*+e#h+9 zwa<-CI0TE;(7poJ!xrd=f%qKr*VNr!Jb{^OYu>Dm?2J8d7+TlW-U&T%2bQR(y(2Eh zo%k9p>#J85TRJIszzG7_gk z7vUQGf;T&;_Z5qDRCdI9cnt4i^G@n{VFxtf7(Cxuy_ZqQtM+|yNH^s` z{EDM{Xnq>Kyp_FiAdbQy+>A~=)t`+^F>^1?OX7Uog4=L6I{BzS8fW2LT!g#O)mQyc zjKs6pwzu|ka3!wAJ$M`c_Tl^XlbvuezQ8oh+F!jK=!(NI4A0;djKh`#bl(QM;z}$$ zQ2XJy5F^oIkoL_m7_Z}VOv9#w)vr24w#Gn=#yGr*Dfk+54Ap%ubU|P2gVXT=<{YNG zoWo@eY=vVo9HIR>Jd6)99liY2JBT$*%8hU|p20ZmIa0k9xC-}U48~!ZQR;_b9JU>; z`AR&8_YK(Gf#2-+1lqa5Qei zkO|sPm?*nVlCG1bCtkyQ_zFK`!Kv!^!YqNx|FHBl<+hl8hH@Fah88n5x5EHjijlLl zKaEeZ@@&l~;9@+3N!W9ade^a1ka9iD6s$ZS*JBF)Mc29Nb;V%pJx}vgtT|tK0?x(| zT!$O+pure&`2~8XBF3WSBF*ivJFddhcncG8V~Fm?EtXqw8(zmme1=w`>bqbn{=)K0 zwC{+MFa-Z#!KLc;!p#_iaad`YdOdI~zQm9C8LgJ9Ul99;DbK<)_z>S<=N0OGz-%j( z^Q@9~xCZy)XRHveUR~^h{V`#U_RlfPTIJRljRhk#ABa2g6q-e9UuT_chW&69?!lXw zgl_9~=Z+~@ElP72oPbC1DSpO3cz&bqR&0_N@iM;0KbU#5dXDIe`L}3Z8a>b(XJQC` z$HiN97mM+D7n5+*HuWas9L%;|a|u9}0?_}7Y9Ek_;D^}a3ek1IO zL-Fx$?Nc##v~qicOUaQKjrsPdUj+x_B8~~P_nlK(8V)jGY7f0vA%AJqM5l7|bWAe;#nRr4LJtb?!$abgYyfbps zS$X=L{BvHqUyzw%+mxCbv|&im@S<8}Omg&t^M14rR#-XcdBxJEQpn{K6b~Tcj~`Im-ot(@B)_mpm~OE$OG^Re#d%g>bqfoZ173*Kc8jh zFY;cx-1<%K!X-bH`~CXA4j>2O11$7gy|(C$5x5mE;bVM`P5Q{ifI*ci>xGm|MML7>5<} zXubefSScr?OFre5n2KiBns>qZxEs&nZ!{H9|0e#xP6ag|jk__bu;#n5coF6An5UR> zE9`+=@DwJYQ*rgXV`dxWlDMaY@|}|MIVRdF|GUS2+FtvzSQS6xSqJSuV>%YCpt%E9!5%md8&p)!9lPNW48=(NiR~)s zt}hP3S6I5T_TE^yit+?>sHW_US1}0#9kri>SFl)h&HXV94`2fBuc6)<^sK484liPb zTAJ5FFIe-$@no#9rv;s<}7XG*Rw|QRviE z^S4-`neqfYjNh?UbM5C~EZVwhegFrwP>#ZMtl3iY(RdCsx6-@`uEGNthnd{f`+w}( zXIRhuANTPevR5`)S=lLjgsjXcAzRs7X1452M98SjL?j7W*;|p39oeI@H`j6fU(er- z^LrfE{p&{Ojq`E5-tX7@Q~&S1lYbUmj5}}-#$(yG>Q}~=*c*r76kLYi3|hC-JMD2H z#uz+Beu`Gkx~qu|uqjT**|;0e;cLv^UhlNSC+OTk^Zqyrm*Xxxg0X1jqPvFJ7bl=E z2H|_m>8iV`=!K{712*ZX-h7P1f^M2OLobZNB!lHUsqc)FaGSv$vjQzSPPsS?UmF+PJi}ujm7NhVgX6&hbDV&1a@Hsm7 zQg0$gp>1!?$Kpiv!^VBIKYyaWj_o< zrwN*`!yj1KTk~pI6IWq_iQ0F<-FO<`;nYd$RhcaR@z4MMV0$?F*!RfwV7>_65?uK-w2b`vPfSAngmJeS!ZEzJMKne(8xba3em# zVpH_zoIh~TROJM0KTY`%T1{7OffH~(Mqm=&n4$hBZ04if(Vz!;BKqKQjKgX(b?=Br zFb)&3=q&ZhpaXi~U>t+pQE4mYpyiSlb7bpGquifuON-GMj}7vTon zjWKuulQ9)d8};4`OvUeL+N6D5jKKu-3e?^Q1Mm>OGw*}ci^BrJ%AIjK2H;tY!&IES znV*LXFcM?1(-!qSa3cEP3rxlDXxgefOLRmR?1_FDkNLLg&JF!A0%I@^pJOWK-LCtY zn2eq~G@pUKm@S0g6DyztHo}g$4#RLSp2loD^@g6-(esSQ-gD|(<17rq zC_I7x&Z{4Gk)Lykdz^_I@D8rKtX{1va?e#+K34k2$xiX|;!SCBOHR8j*J3>W!H)^r zcfKd*qc6V2XZN*FMaKuqC$Z^6<@V@-V{sC$#2^gE^Y|5QAL+f?xDMZ;>9O`b@BrS& zpJ!9z)!Z+R{c;B$QTLi01PdO0vZmc#1kgf6%P&wtkajW6;8I(=2{gL5$$mwwZ} z=yzEGYvC6x_e1+t=#N*h!%yvp;CS@IeRv$7{Zjukmi?_<6W`!hH2u-u6KCK?oc&k( z6&UbOIR+b>tpE34X=~9co$^PllwNrU+GJ3!gQIW?`r>Z9iZ9T@LiaY<6#JtO9>Ld` zEu-!nuoo`JOZXA3GO6#0q4*tZWY)eb`d|p&#dKNJtB&qC9z*aPzCw$vy0gKiI1P8< z75s}Ov+2$imtZ75z%tp@8;;TV1+8*u-xP=9dOVGvu}Dt!>)=pafT4H}U!g@V-8DuJ zoQX&A8Rp2XzC8}d6?hn*;6Jpp)LmDcfIILkCZS~>^{b#W4#YXQ9Z%siH09NO0~~^j z@F+gS-1*eE!@f8d594PnmS6qmxEOC@=>pofz#+H>?_tG)>P^E?yoSHAaUu1V;Zw|4 zSo6B*feUaaUdH!Wq=@d?;28A76PStxtkkc8o;VA4;Z?LKs(xu~jvhD*H{o5(TugTr zuscq{FuaDQ;_8<{cU+0l_!KLaP=5@@U=n67seLV+i084Wwf3!WI0oQDtWrunAKZtx z@h{qxwl@9We_G-YT#N_t6{GhMO@4pWA#+bb0liaWZbgE0~IV@qJddw2qrLi$I1-oRNqma=tE*oN2jOPCgdee9 z4fSVX9Dc$=HMMVn3-Auw)zZE_df^h>gO@O4ZS`%iB@V_dco{!o;X1l&fPHW&9>O?G z#0GVBcM9WhT0PBuF%dJ=*StBp;6eP16&t9RfT`HlLGwh+-B5WY?#1$r_&Ml={m=_< z;A{MhiyG_RAJ^kCjKjK)>Mg}bIHrl_KA5$svL*JzId}^XG*hpklk9{WFdVbB)V>rp z!XCH`ty`-%zm2ThR(`}1?UdU(OK)6-LHHLv+pCw1**Yj&<0dTVqWLPE>8gAg6YzIO z&0D+4br_E4v3w`(?XWp!>#VsYKEPBg(M5Y}9EXSTEXJX$yZYNP729>yJQ^*!DSH?U zAs@mwn7zCDZU!fiv-i+`7+%J)JvDF8OXlh=tM6c$4&SVO&;oZ$MqP2 zO+B@rg@G83Ir?hf5(^Aa?t&h84KokazB_Km8iO=XMbltq7YxGB*klNM48kk;5vvSU z&k?(DKCtYiP*$Tx!oA~VXX8TC$Hnf3Ce%5xVQ36oH9w- zG+BD$@Ttmqrb}P^fWLh-51u9S&6d`91mm#b9PJkvd_w+!W#+2a9G4i}OD;c8y<1pw zzOvl{8HAY^DqG_LEU-xP;kXJN7Hd8M|6##pnoq=)7>y4x6 ztF(WBomVRt@|S)XgqCYGZ-9;0D%-7-`2%Dy#^PTbxnBE?Sa5@KLv+Ed7>RGucBA^; z&;w7QbD;Jfcn<$z`5^5#U^wOq)_gdw!Q-1XPsCL0xJC1YSa+-PCp2wS9**61D0|^K z{Dsv*w0A^bypDRYG31ld^0c(ZI%kv}F%o}c z{j=J)$KE&rPvO*a>Ww)sKjQNX%BD-Q9CpG@7=Fx_2c zv$@D6&;>{1VS^9I8Sm+xM0}1h_cgEhK+eQ_IOn0}wvS{2E_H=X^h7Uwh;@_I^FS|5z#%ExC*bo`A z)XRq*a1I{EpJ-WF{fT%Bf8&56+BYdGe;1Qeipxi6T|#*XF2D#JT2gx-e2q=4HE)mI zuuv(@2O6A9PR2`R)SFvQ=C+YzFcSY@vGUrRbtSLD3z&d!(6NHCCxjb2QIInc@U1TrR;+?wUzDAzMirpob(c%-c$R7wnC*F$NRx3BJX!*1C6VBS+(Gtlw7iDd>;eFcfcK zBDQL$yHsrDtUL=};%CgzLHnxM8OP&ljKUbai4QRmTe;}HCs@c;xfGU1J3NI~@eX$B zsJpH>5U1jNJce=j98<8co8Ga;srVjEowRqu06dNFFh^(gT<{sD>!NupOmSEKg_d2F zM`4+6%67OGkKt1++g-hQtk6UG3VQWaZqiHk!11^o!!ZV9@dbXt+`aXVH9DXR_Qiqd zg^TbJ9_XWY&f#rL#HJqFPr=Rj2eWxvcT4f&WaYn@V~TP`Y=Q1L9K-PS zRQ11Mp=rwHun~IVRP@DXSbw_iJTTJWPjcrO>X{u*_Q5BZ#Yeq*_;{xB8_YRN*?zWk zog)|E8N7%e&@@-Q-Z&Y9a1Z`K>v`(W!qM}Uzv9jX%0m~*(|8>VFVg%5wpgtE0@E*1 zu7KUpd#UC@_!)m;)@9n~#!_g9E_fXi@ExXGuKQZJ5?7%=p2f%b3r)Vdcf~2V3uEvr zW?!LxWpuaL)!KhVTYu#)I2SMCGklGo z*QnoOtsH?%F%qw10_I<*er2qOZLmLj;W7-tGk6YfVDSLG+X#Kpv|jU4I2M0mp$*!1 z$2k~`H!uYYZdBh9d*L$Ng%9u_X4<5?rq~S!;Zh96_gE-UcXe?g-oejUKS;gd=!5lw zHFw65=!2OyYj2IQSZ0gnb+8T2L$__(Z^IwkmD}!+p&{}ZUPt?#nmb}wT!VqQ15aWc zmJQYYIJ|(xc4=M#?QlK@V-jZCt$r~ag4-|@ijXt;zPvBL2fIo1~A-!`O|6#tvnmgcMtPrhvL+pUV za0Le9DQtU0cN;JXZI5d1fk*H$zQh#Fcuf7mSQi7)_PF*fZ~{KV_gLwKdR1@;`rsET6Z#e6;=F2b$vz*aP_IQrlV%y~`w@%SWG z*)~pYxh_+2K)mujY;;RG7_;9|?uu6vl&$W{TK8lqdfit(j-Rl}1I?Y$0}o>HhuYg= zbDW6NaML68ianO~unR81EBG2~C#vs=0T_Xgao`j6>OPeoNpddw;v3BJO#9||0`ouD z{3gD|xEGq+zm$%+9*^S#{EJmzsox1_;uXyJTKnGUg+3UBd+-`Qz~7kdjozt*bqzX_ zx8oz6{Z@Au@DpZzr+G8nh@UY3d+pm{SMGexn@_UgXX%N7`2LIL1-{A-=z)=V6yxzN{=@9wbYBR2;$ZZ`IJEn&zAFY| z0zSi3%=<%qU+n)=c^vxSag0H$U+Rss8|NZ^W z4&05e@H3jysb`J-aTrd;75EM3r`O#ogRjY^4B9Wl)A$67TWIfr!*CHc&!~MDOu!eI zDU)sQG;TZJ6OBj#yi|B48uE8LT#++8_dEiX+#hgX8FNw{uBl;K9 zem}-yA{HsG{a3Uop_~=#q6_xKQMeHU@e0Oa-I99mI%c+3&Vz-}8YA!+o=2xrx@(19 zus06Do%k42v2AJH4=f|6m6gHx7%SRn?uv^s2(y;gzBsnRF1XI%F7h>l4JzmzN1S9Z zhMZ*3rK0XS8w@0$GFYvW`W+0eBOf(bv9kK-Fc!;K(cB4raX(sD)xMd*aI)E-O|Dr}`~ElvR~mdk{%3G_ zE!`Ka{a-tiCmMWCeuG8o=+10E@;rl|$ltMiUEP@-O1KZ6g+rpD@-9YG$0 z8*!JxFXY0Gx;HzQoTZ881)N6s_I3t0k~ia3gM~WjuD-z?YHs(9&PXu+01br7&!?4VmD9qrs8gl!B~8W$@mTP z^wqr;+G7oLKu6qz>HF)>5{Kd(tU5sZA-D#2;a$u+P`!HSj9)Q$koMoP%V6cP=!35@ z(-7?&VtZVS*YFEw9;$vGe1MCGX}%kehj|YkwCX zVKQc#pnVCP?yYFGB}Eyil!O5tBoDe3q$b&TKK4623w*FM&nt`FjM_1_zN@5(mW5=z;-wW zpJImD{9J5^Ubq57F%F+%);YQ_h?UR<$KhNI!5jDtKj3f7JXh~l#CA9U7vo;6F;9I* z?1YnX2KwS9w4ATI(pU}aV+$OFp?Df!W6lM7XAN$}L-+_2@fCJhsJl@7fHsRXAAp-M z4l6I#z7D>_8cQ^9iItWr=UygTpeHWE)p!yg;(N@tT=zEE0^M)`4#i2h8Y6M5uiklr z@6ohE^T9X;mtzQ?!WU>-sk@Tc8hfJ`-oOEV>X%<7-{RiY$}cgKzjA&ojWw_{_QQqv z2~BHspB?jJVJwezu$w^-a-_kZszS*{954?yEF#S69D`0ILfnj(Plkhzr2++Of zdU*&(ZBSl-d+{Nb*r#d@1H&=zCiPvgH_pZwOu#4j7Q+K|-z`Xb<3c=-S%S4M zgVnJP_CYVaflu)>*4wOi8lVq`VGLft2lyUSvE>%MGZg3HDKu@>J`dU$97q0xO}DA< zi|;V^cFo)2MBKMS^Dk%{qU?ir@hjHYseLG#LY3Xo8~yMAzQP8()OW$1cozSnoETw&D&#!y~@q7JI+8~d}iFWK8E3S{D_72>%Jo{G`N`j5%Wc=-v;NSFP1o*$~`a?Gv3g=SG-(@|Ip^9<~6XI zDi^*leK7{pKhS&tPQ_nn{ZRX=SRXS#(%b=kam{1R*CzhgtK?L)da8Z>B-tNB@Z&Sh zt)Bna_T)w{G;fOoUMg35C0o3fGw~&kf1`OIe#K00HD8Y2@05cu=X>RfI0O$hTwP1Wug68yoK-3Gn4i^GRyB-3r;W3Ou+cJ7*20kyV{J5O_iIz6XWw9#SVOR9PXdF~tcV2h{Q?W_~ z?N6e8Mdd5ltFrQAY+FUStgU>ApV6(F<{lV>>FhMmf`!o@mtqk9LVtVR9mY5uT3z!M zn1Hr5G;fTj@DaAGseK6U$BDHxUySF`s>Vfr{YqBzsN$3bqr1? z2OG@gqC2zo$-N9-BBx*@SKV#GCk88b)V{sJBjhn|+ONhS498>m7*nxhC*AcyKiq=b zFal3urp~&%-$iD2m-Fy07VoP00^E$}@izX&>)q6Ujk&ukf5RV`wTI@mH~^R93cQG> zp6Xko2Tn4$i5!Ku@vFh_WQ$(BizD$m_U^6y3Ot4%u|gm1+o1;@!7JFqL%q4^kKZxX zQ~UaTr3>!Evi&qK-Cri-@d3(H2g-PSj}-@LJ{iwov%#9XV4oq%Q*Z+w!kbuWsCtg* zhed~J-VeQS0scVKaP`9RI6lWum~n)9Rj@vG$Bme2qM$<&?yJO}_%9c0} z!|*2F$Iti+vrg819UO?W(I1cDUHpg^Q*@sfo8cH-iQDiBzQUeUb$P!U#;pj4QS8jH9r) zpXMF$BIa48c?EP>t?Yt_(A8h_`M3htU=UVcqh3R7iRbVF-o{7x8Y`~VeIN9~8)&&s z`x4j;eQ+%X<1QQ#pu2qQr9C#opV(l7_FZrQ4#kxigg*`D+Q|Dj3zuUA-rc0$k3d-_ zNDjii!OC|q`(|acg~$WZ3-@6R=G&sXn&^T-xF7RwRc|!LVYO|V2Vgih+OGM|kpCJ< zzJuvPwJ)_xcE+U!50ZU$t5+xNzcwWgz~y_i-@8{PVbO49H-ihvC-EsZ*r$F6tQw&_ z1gB#lZpXI!)mwz;@IKa$)V>9}U^kqBfw&JlN9oS&9P&DYFUj@?)px?&hm>#Pcg%TM zbF)3j+c4VTS@J8)dqnrukII3#$>44BA3SnQ{V~VoQrw5<4CX(fUT++WHZhvt#YFsK zu-QrVS{ZaBPr#s4>cyOvpRvjrWwZUsi?Q`t?ajKAhZ~G0pFsa}y1Rid4gMippI5KV z1v&Jh+=RC=*Cox(HX{$heRvGxFcDv2Dt^Oam-TK%tc6Xm8Ft12I2xzn44j947>K(t z%wRY;eFcfcKBK||0INjUfb}W8f z^GZ1NhVlVy6R+%!)o&>e!<`s|k1!Rx-d6tumcOHHk9E)yZ{S0Gi31aKHy9`25?q5< zF%cc^>Mjt&F&5uq=6mYZzz*n-NAWmjysv&`w8O3#h-dKWO) z3j5-2yn%P{CECBxy*u{A2^fPf@GWM1sk;t19w*}}e1sOS)X$1#a0L3{YCMOjSpT)| zJ#YZdz>AoIpE1`P-F3z3=!2p78Li%`UlOa~Bn-r0+>WVO@SW~k;Bq{GxA7b1d#}DT zuEtMzJz4v2XqBRDi;lPnBQSlcdS>&HiyE{gn{7&VF*uxT)`z^zU?|z_aq<;|ugGS9 zle2x$?`_tGY_>kRmBIdGvlGel3~nZyjUt~hm`LvRQNPc5jKj8{G#`Rn@DC3Bto6YI>R-c>R?3ah8=qnO zqS{B|onp$V#bt*Qa*x5|uT7i*N&eks1hVdXSmjNNRM>y?+4E6D5>r6nd|R3*(9 zR+c@h$T0ki9ja;`gqduWdt(&ls-}57PPJ3sidWFuUh~wq+TkjL2gzp)7U-!vdxIOv zIeTeu_6d1hZ_Um6k%KS_TlZ1V1^3`n%;=&0B%Fg0n22>f)!Wur-tQ;hn+_#Imh(th<|`52$!h#{H><88DYs(DT9ioJ(v9)fZB9j%9J-wDUz zPCPI|`;#N(#ZfY!m#l+*a6Sg(c8tL{n18hH8{t|E$6RByZ;Au(E;d{wbP|!8pu1RrAVN73W|Cp2PIh z)E|oxcoWl4*S;S{V+xj?p?x=8hOf}VM|(>giW6sQo@urmhd%fe8_&^x6K4^4!I`&$C22qs>y~+USHX=z(5nu}u9i z9J^e(kFT^{Azg3`uEHoxz@J!brS2MG51fdrF#==p9cJ~@y$!mW^D50xqsMCHKN#Sz zym^hhgKzO4=3A?Md2E0kupfHkB`m&9cO&rx<_*w%07hZv^_oAxNgI?4Zj}4+JjP=Z z?%br_Wvm>iJRg&=X^`f@xCdWi?qKc9<1pNdpRmqm^E~{VUiY$Fq z4#%z6lq2v47Kqin9eUy#V`jLY$><0fk z@Bt=c(|GMW;c9$|UogW>^@ieYgRjWhZ>eW?A~^`p;vM{HaL{eto1H}7U@+?)^$MUh zj>TE{7XM<^1l^s%W_OiOV~cyr=dtyD<;&RQfwEZ-@*tduOYsxVeyBUMe&mvmH2;AY z9xK01lz*SdJV~-3`r}vZ@=W`==!hV;;9GhBoqUfe*y+9IL6|OCIR{q5 zf%q1SrKr~iH)HM(nz#KZdto0uiI$(VAB|Hn5N~6T&+09~Xw3UX^BG^|k#F)U#$u80 zn%BTV=!+llH-#^2ky(KZ1yPmF=j2GeZ_*Z7p^vVmHZ746jDDLpW`RYTUh(**dM3jOgw-CtkmC) z-|-LTDXM*8{En@PY5ogCiYuEvNq&a8N@{OwE&F1C!5ie?7+p&J6S$+ave^joE&NwT z`;z6P8!pDv27i$&+oawZpo z)HCZu-is&jCceYp*x5n%{V)OF;(&(Q55gzdzLDl07=@3pPGjxeF&uB=ZTy5LNA(Ng zDD=U{n6HU?^KbgE0o(T-6K2 zFf7_p^E$W==M+eiCwZ0@Oi6yxzV zn)+(r1N-4foP=Hasn;9(;VAUMSD1qN`s>afXW${cir>r*P(R~9=`u);LtosFcknr8 z8LWO2bi)C-00ZzKej1{?0z;)WUd5YOc$oHs@I1c3EW@?0fL0@vE8}6zHd1qYT!|a; z7@9_@*Aw?*yqD%{N6QF|$7^FWFF00q!_~MCi;vU3A$sFR96DZmKMcdS*ldFKF8B)n zVFPdNU2!6=#BjWXDOh=;?wVi+9EGbVX`g}>CoA8;=lBbgrfB~I4^LJ8fK8?;-@ygb zmCs?J8Ooh;HNL>IKHB%kqu6n#<{4(mCb$yg&~mo+o*0OavCbUryW%7a#eLXdu6pj+ z8)xG^e1d;4|2*B5#5(AXp$6m0>E`Rs0mm8~PhO2z@g*kX7qnlX_iAGwoP>dR64NhK zKL9f=QZ9}auod>lakv<7<8LgrSnt%uj@TFXVl1X$^(DGnhR3klQq3nATtPm8Khb`f z`etj8%{q}M7`#S)f-i8)a=rJ`;7@WTU+vA#BCp2N=)6L`Etq|!@>P6>{(hRTN9R?_ zb8#(}S*>|}9D^(H0~YmHuLqvS4_IxD_B-$$e!v`SwLgxH)+rysUzj~W^A-32o2=K| z2an;rr)Zb9eQAnZJHNFCme_2n0>o?4bUCW;&qJ2RQ!T1LUca>H{%h! zgtd377mF|OeW>Q9UD6ZR;vsy5HFvAGAMb=IKiMNw(Pgjl3S5hO@I00YSI-XDqWwP2 z2jOV+Mjy-@pqwqLh#7z5j?|?3N49}xwqQ%z?nER0C*4P~b@Fd3LL)>;)cN3#!2!`S{e27oc@`(D5_zBY=)jSV6V1M+&8`$}n z`u@jd(h2zwd&Vdq#&}Fbuanw`;a6;YO7l+WfnK-;qcH{xpVr+}^u-UD^NjYbaTLzM zkh9wF$9wn+f1=ZQ^(-&QVYnU-V!4aj+hYxM!Opntl6q$`{bl8%SPA{G$`$RKp~qF_ zb9e~{UDJGTtc<~*SU*m4PaKQWu*G%l3*V5funmsHX*dhRF%g%<>wZ0+!_QdkruKHY z8K2(L{L3Ag<(@o-aSxP}9?9j8We}dm%!!)kHduyi)|On)U>EXkynvaX=-pyi0jpv& zoQ2CU2(vuZeK6j^C-@RmaaNN0OK}Yre5QF}v_V^}hm&wG#$c)Ex^IY+Fc2d#;e~oh znC&G$7c1d}SDIIOEgdleqwy@>#}jYVzm6y0Dt|z~WaU8IidQfZ2c@Vt8V95*FT_Ng z|3UN9A7!P_@+D^cqC6D6@jCwarhW16vH>>5NjT5oPqJC(AG&w^DYxJY%=Sxjvqi|( zSRcFNL|ln`@Dx74?*@O83;ov5+l`;Gz#q-apaZtW1Na;Z{8hgN&PHFnXRzu&_3Pno zjK-=aoB#cNSrGol*6B3wjwA7c!JA~W<h=I7V6nzFy_yw zxfdS8Yxoq~WKz#;7qZ!%=~JcsVgt|4#1QaQD+hMTcKF3m^dag4v+iWGq2%*; z3yWClZUBzKqXu*5QLiYj!yRaqSNo;-8f)j%ye0O)(*|S7W=rSSU1M~{6_}xb_Ra=_ z$h)ypLG|k5E-X<<^T~J~6Yw2&Dy*Ja53%JEb!@Zcdg!bdnA2;J3EKpLtM%Wf3@IG2tt7nA`&>g*S z1qNam9>F{K3V-9^QhML)II`LEPdQNy4tCZDz0p7wF_z8QI zZa##bs@fo^SQSUfj!E9AEw=w8NHhY>Ji_W&X>w(v>Nj1$k;v4*h zx$U$cVsJd!>;>|3{Df8QbzhQ4UA=F1EZOWiauR+(%X+%& zjt6m31I@2u6$j-}=!cPb0&ijAhU(j31pdZujkK@g$h&wA^EA=i8fV}t%-dA^o_H9S zG}k;9ZCfahMjw2PpE13YdezVYqtT+J_MTX?wX!$f#v*MruYmJ$171T@TlL1`F|=x@ z`Fm$+*IowTLwtvAJ818L@mSnN^U3JkQP~%NVna90+u<&Z!Rz=O`*u>_>`1cNljKME z4m)?&T?Ec`SH6JNyDE>wvA7Z+V7+eY<>(jO!Ev||ci~~Yhi~y8j_##* z%uXYljU&IuUzoMG?%XgOXM1RV4$FBe4@Pgijc@S>X6vhdAzWoJh-~%~*|MMRN?;Y7 zfbqC}fO@adZJ@G0ZbOSfnis*vgO%4|G+xHX*nWt5X1kNkhLJB}0)E3LLv_CiM-Nwy z#1bQvJ<$te@fp?|sor?>!Tp$jl=kJYIu`ZP+-!NW*~#QJxDEH?AM8F_?^GQty)YK@ zj?=sp`rv8|#*dhJy!ttC5;{-R+!s@@`XtSpU=SWa`^nl*!35kjRr6%*I!$>!hGN#~ znwP+u=!bzAj^{D^4Ba{S$aXjsM`5p-+Aqa8Y&=VIC!BzJ=V)FVyWmKSLyNiU6~u-( z3B&REJoP;1%kk)gFYpb{U!Y#>LYatGiq4UWbbe22vX)bEYU@Hkqn z*M0)t!1Nn5ua4s|3JY%3-U%n*cD#-GH>uYg=ivp+7N~vJAUOcHU_53B*1iUg$AkC< zT{o-OALpPiZoqKNyhZ(%*lDZs9E`-T7{5*XB>aZ;wrf5Gm*F-%h5L4>mxA^o%FVF{ zj>K^Mi0MMrZ-%9JDUaMO7h@3q!P8;dciAI7a6djrtG(I}#W}bZ?_#cS^(?Ukj>g4U zf1i4d@i*3t(0n*n->>Y4x3ONN=8NzW7CNALTU>_Mu|$;ip6GK>Iq;C&iAOOO9S&WFe3Y=$nl1@B|Kqv~(K>sa!b=GCwR_Qy%MAMfBVoOMF?LAWzUx%NqU z4Q);-FU5@*f#>l77CWtea~zJV@F31Tquvor!93?QFLz$$>u0>~TZc7puoB2jSYA%1^QJEoB#sz*qPQ zy>6=)iQlmJ9nI~rF}fybz8CY}RUV8*?kU&DF}M*!?rZ-Py&v!%=6R@G6CJS^4!}|9 zjhpcjZhNG6KA`<$Wp6B!s9YV}W4({p+6O+9 z;rIqCJ=fe7`{4+z{zCioFJ*PCiCu9J4#xnzgkxXneinw|ea!G$drKUP-nbFNG5Z_! z8=yO$#p@W4srUt3ywm*v+>A%?64rRH-W5#3H_4itQluA7!uQxTRr@8l2J?T=+yQ%$$I5?B$V=(|jFd8#uQ7;bdvno5|LfngI z@KrYTKA}~1$|osCO9S@EzLa)!yuE z@^OsE{Q1;#&M$l56kLeE3uvFMpsa*m1|!JFF%Ih%(%p5;Tv#~|7D8)`z+-qGor>tL z6?VbiI0Uz2Dw?cxXMy>!8oHnd_Q$cf6gOfJUcp4%S6n|Q21}Jt-i}8M#*#l`L2LDE zl#;zL7+;sxJWrYb+JZb2H)0INVfnJUn~c}+F?J}Y{Ux-sQErL-(F^Bb_VVhLKx>?d z`|&DPub}>Bd|FZ2vXZP`SvJP^Sf`5S18^oD!y;9+ua6P<2TRy$UkBaL4@cQ)zY%|+ zmA&R&&>Q`5FXpPQUQu+%(KR%mfW9@A@8JtfMT=V6cSH}IhMVvZe#M%#bvFjXF&V4W z(cT$H;(XkN=P`3#^;_aFT#oxO7IW8A-ws`I4EkXt#$nz1x?75S@C|-OR|oY*;vsy2 zgBxnU3vC*a4JMQGG}hkibh3q`<}L9o7Hpzijy%Cr*_o-0=~qSZklK4#2#Pb zi_V&F?jnC;S$Aa@EZbH29q#O=Jg~d8?ICBQbx-9JxV4wEV;|WIz3>+1@z8!KUch8* z@2P!fjKlVQH80ffzg8r-L$ChY`wo!N_z=qs(%h^&xi@;CH_pO!_{gB;V7=#py>S}4 z4b{HDaA}39Ba}~$lIL*OXyvJ6|Lb&e5Prjoy;1;YjnRn3xqwy=+PEl_>{=}M7HE)XfrYYZ_F8yc7B;4qud>9{KDz=)b{Y(tU z46`&ZjCSaYVR!^f%vQe>F2g2sGA_HH;A zqw(Yd?Hv}%MHq}JXj-IwJzR*#G1p@49nlv}OEkB{ifD%`FbrQ~?xngbi>;O^yWwP9 zfC2boxq9n-WjLO}SbT&ZvCs%caf7$WiRiFecaiuWi}`E5WQ{z9*Dw+5uho7zZoyEjuul8FxB=Y* zG>^u?8i@$0!OFvNHtt4;&Dy`ifBf^m z|JYCaSK1dy`vPfSAngmJeSx$ukoE=AzChX+Nc#e5Um)!ZqH(!N027fAa8 zXL^WM>OqFe>Dc-D@;YJ5cRCF0XD`#co!dH*`2zZh!-&#O`+Ns!|LdW{qe>w^;U+- zgBXvA_!DjK@TLg}Ea5-;ae2T9X^#<^Ad>;s>;f)Z7jo(G91dA6AZ1|I0y{=a8(5 zj_8gt7>Cc$bXa%!u{_p8N1Tqn7=(8)5z9vFJv;P3FI#G}8YbWyOvUeLI-;Lb z7+azX4#apIbyWTA$K(!tf~nZ@|FCP{e?9;I9>*gyD?2OMWK~FZnPp~gvNAF(HT2o3?^b4en+QEdhd*_u@m;kWw-%D@f4%!x(HDsk=LN!!fuBH(&^+W2UQmUj=L9VvNQom^Vs$2b^Ru zn0z0LUen$dd*M{PWbhTa-gUj3ii`0qCSt`K+L>%c9)KJ1C4R$7H}$S1E;o3T{1k1Y zwXciAaWTdj{7$YPqjz&~6<)ztXcw!U$&O?%T!7p0JjS5+Exk`e@7rYbzC%XuI5K+Q zC8PH}GJ4-vPR2C!eW3o*LunN+Cq0(&39{i68GuPxGf{mXJb|CE%2VCPVc>J+o0y1B zFVvsM7`%@UF%duGxMaQa!w|fK8D8n$8@=%@j(V;8Hhh9bQq*_GS$GgjywTkbm*7>* z@mBX-m zG;IA_?>+E6n*CA#^sh|A3}zMo`@fj-U}3C;P0< zvISPgK^T)s_eA`HIWw!zj~%cNdf-^}!-tqBi{4koCfE^IWYygzyWEPQn8`xD8!o{R z{ETgLXy<|FF$!|Ryn2JBpvYPfj7=XITG~y+uXe#Dev-cf_vfi-++Mn%CF9BDTU&7>tpahB+JPT~%z3 z192{H#*3JU#Tx2;6ZFDE_zT?{X*V7NF%ok)>)rzoV=R8cJTBVVV;h`@p?DulHr9R! z9>ZstwTbSv&=;?uO;g<)q6bdF4H%AJutYPxYlg#c4W7i;n5((=cGwz6;9T5_moW)5 zwa|MT?1{5*4}QdYuG-JXaD0MU-E^;x9ykwAU;?IN^_F_q21nsS+=o{&Q!DMOU?&X1 z=jhN{y8$>4L-9UlZ=;<(_D6r*hWGI+TD8@?n%D)$;69AQ-&nex-gQJ@48cfD#=`E} zH^Sby1ovVTCSe+GXs`F77>1=gsQ19(co#Ew)ZG%Da3KcZJ8alV`@`tdS-DCV*#uM2 ztgCuYJdf#U*-iJG7=snNs~?54@c_nS8h*jfJ@l?_PuUecuxT&#?l=U0qh)X1194*? z7uH(tQ+IADx+6L1gC8ms;l zenzu#>fJFB+xw_rhi|drc=dZR=LBUNoQ7t;>gVGtOvCmQb>D{#CM)lpBJ)p^_0S!6 z;~P9RUAq{x_fxJvQ$C#~J!Z>ucw?^eJIv*;d=b6oE2m-m1(4SM4?e295gYS$F!U;utXhgI55z-w4?wffHJf#>kXTHW7au64>6(JM$f4co6* z?!7@y!(i;RQT?wFIbxIa!v|P+v-$+=xnL&|m-fCmn%k3h>K%FS>t2H+1Yd{n#sxDS6}tz)`(N9Sz*`yuW8OPuXd}Qzs z**i|(Ig3_zm9L}!edRki^ntP;CSZ++>gQp;N6M?vDqcAVtsg6I!ZVnFf3S0cc7C`8 zFXL;>@kBctoP%dD67xRQt`J^JQoe_Y==4nedJM%p&(#;kMmQXA;(aXjLVG)OHRWXW zZdmFiJM>4JSL&DG8cfEFuXTTjL))^6QjS;nl= zfBz0J7b7um2K9D02t%+?M%@P*oJ0=Bi{{!r&m^rfOLv2l$d55=7VTPN$85^}m^-_& z4KB*19D+gll|#{^fU-BvF0LGanMx@8;~jj7r>u3qiq<8S+v5oI#bCUHFL9`i-YvsW zjKF*N1TU7-J_gH_R_=|-XkJEr1q{FqcmxyhTv_ey%gOop2)9&F{{-__RJK81jKUaf zUP-(5I1_JRMO)pQ;yzqdMSY8E@-kMcuIzHCe*9rs`vXWds~aTjGfT#IRF+gSH`xS@%13^r=2yapYbk

K@=OfCzi87! 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'bFn;|u^+$VP>$wQ&gKEW zVT?aRZyILgSFF$O?89-K#zox4Lp;Y9jC8fa|d_vFe4uheeW?o z)3YbP=P1tRFFejmyvhhiLViv*VJm*mVcf?3yvr0vLryAYWdnBN_xy>6`HU%!g`7{= zk|Vj6XZem%j)%GEOvrMq#Vip!*Nq)+j{DH%`j92-VAD#^P z*_n%#*^q76g9AB+)47n#xt3e_JFhd>snB19C0K?PSe;$Ci>G;;cleI+PKW$TY|Zbv zkOz5_cNqOlm@msV9K(&=&6j+|RA<9{YJSWL?8bo{&Pj}ZF3hK7W)|WnY|j21$q8J` zo!rk$yv59ag}y@U&OzMG<2=PX{P293PtP2z%;xOG!CcR6+|PS_!FU%!er6VBIX2@! z{=k`>&s{vslRU%Qe91f)LvL|bU}g5^e6Hhm?&ndSWrRy1Hxu)*B+IisdvGQ<@;J}) zCLi)&{>M6(LvKU2;SU_n(OkjJ+{aVA$>)rACFCb&L6%_^*5zc*;9PFx4j$kQ{>PYC zL*EC?$&Xo{U$Pa4avYa%6}R#vAMh$jlPUmc{;BP$2lRV9< ze9VY^1ZN6Jf>ha7GNb-Wi2*lOSWe} zj^!%u=N(49ANt>8I%Z&Y=4CNfVJo&{2ae<@PT*9|=TffZ?>xz;jPZBaGb0P~Q+~zz z?99O&&N*DinuswUS59e?T_wWth|0nE|j=5NrrCEvf*_H!1j8nLXtGJzi@+>1i3;hY0iaA)C ztvHA?xPm)*h<6zIdC32OSy_OkS&3h>2}g4(S8@w4@;)Ch@{7=$n)z9o4cLm^_$|ls z5HIjCUo+;*(36B|n2SYNh8_4lXYptL#y@$MxA>Uv80+8ApO|Twoi*8#t=Wzp*@-`L z5m#^z&oK6@(EB0NGdGK|Jgc)2+j0O$a~!Ag1aC9*>(HBXLA9!aVPik7|-(=WB(WW<1-cWurQ0WJgc%XTd*64aRe7~ z9ryA8kMc7AW#o5ZzqtH>nV6kWh*$Elpo z<=nu{+{yj?ljj&Ca=2$gW?^0yU~zuNGOWnzti^_G!B*_Vp6tW#IgBGYlgoIHHyI^L z*gq>vrg#PTz$$~7(;w-}oti+nE&xUNtwrtNn9K<2~-_L{m-}4xsZ{Q{#=3o4W z&lxFhxL0bXV_}wNWwzoXF5wEUT-*N)ya04&$3IE}1M*k@ECT1FDWHFXzPkzhsoX6GN!Cm~5M|h0qc!^i}lvz@T z{Tgx<@A5xJO%u)ymGCz_*N?F7(7=36^0M z)?hPsVQ=>1AdcWDPU3zZ;W1ug;`Cvkah$;gJk1Nd#9K_BA$(fgJ*^`4flH)jy^SFj5`G^tng`SW31uL>XM{p{C;(G4nF<#_7zGn3Np)WpD zGCeb~2z&BpZsKm9<~_bU%e9WXp!+vepgQGZ&i@1&Zd6EzLn$e4e+%(L= zk6DHF*q*~Uoj-FU5Ah-&@ipTV554a*HS@9*tFk6*^BYd)BL2diJjSbh&WI&Ke?n$p z0hVD6*5)_t&3+uo*__ACe98PJLvKfZ&+(kd)jZ8xe8E?YTPoyL;1EvXG_L1qUgRUb zW4up7UIHd!Hn!qI9_KaQ;w#4bG~}h=M@++y*@J8Oknb4rvyk&4KVvo4WGjBhk(|t< zyu^Ea!HA_pPkg3eewJhfw&XM(;5#NP6Y?^#6u)FOwqQGUWp9q*G|uM=Zsa~5;%VOH zzl>5g>=m0SSd3-)HJh<57jh?0@g|?}4c{?BxzHPl37DMOnTKDoJ!fzuUod(3kXwkK zvl6SY5l3?tS8)fA@G>7U!snsqeWqqM=41s9;ZE-1NnU2OFG6lSre|)}WM9tXK0f9P zM*1@3Wn>P1%n~fcY8=ZY+{WEJ!wbB`{}``A=uOJZEX?w(#-?n~p8Sp@IE{Rt)8 zF6DA=a~Xf;CO+XmjLi!qWVbb=ZP4xQ?5-ojVx6dFU;~a;(Lc?9LxJh4Z+dkC>!I$SuL< z9Kp4G!elMO`An?DZk)lt82y`YJ}2980%!4e-e#CFEw+pI=gcK=W`{u@gPt0I^Sy-^0TubtFRv1un&iDG57Hp z@AD<2wGTasn2z~aiY+*V!(1Eo<}i-peBS0m zzGj+E-X|Nf1Ha=K&gNpSXPnLQ=V2ihV@X!yP|o69 zuI6RlXY3v!KPA(#7)$X}R%H`*V=wmMa8BlGuH~=X$wNHH^SsUbe85OOy%!c{71m}Q zwqbh?;1(X_Vcui3UZE!qbFvUivm)!W9S3nFM{^br@DwleF8|?wjL|#nlYl9ik-1rf zrCEu!*@Ugwkv-U-gE)fYIgN9{Xi$*@Epj zk(0TcYq*tn`H0E;hx|0m%v>zU25ida?9C-y!}Gk!M|{O7--h0}EXY!9&2AjPv7E}e z+|NtA#fMBXAoL|;R_0@@UAAKf_Ty-dy&RvzF*Ugk3v{yywknGM;PJvoHKIFqxuifg%^ z`+100d7XE8kB|A1ulbg-ehB-fVLBFNMK)z~c4AKs;1G`C6i(-2uHb5J<8B_{VgALd zyvx7&FCz>J_ld#xnUEhbBXhDKOYjp`WOdeKGqz+G_U3mS#&Mj;xm?0k+{hi=#lt+s zi@eD@e8xA7GB~`C*i6JEEY0qG#h5>ax%{llAzaU^j5j2lFUb1r#Gd??BRHPZIG0Pf zoNKw6C5DE+hHTFv9L-6b$=|t`XL*fx_<|9Kg`QZ<$FJFlE!m#kIFqxvg8O)wr+9%; zhlk$iOw8OY#1bsScI?3ZT+Uy(gMaV@FY-2@@C~Dl2z$NHFH$8#EY zayO4N;uzl_KVV9xV^-#2VU}cBR%CV7WfQhyM^521{>0-v$1A+ehkVXdW5YdCGcOCX zEUT~%zvB>2;!G~!0sh11j5sdzMrT|m>Y=Rn1X5f1uL*Fmre-t>$si!c#P+HlaKg{Q6`3*xJ=5l%+7)=#V=T$4fqW^ zusi$l2M*^rPURdf<_fOoR_@|G{>?YcIw{;MKTEJYtFj(jup@i(2ae(t&f{|a!X5mB zCwP&!`Gjv6ZF1Q6eI{pm=44@h$_lK>Mr_Tl?9U+_#~ED2Rou+oJj64+%KLoI2vfp6 z-eV%BVrJ&$$1KHiti&3u$EIw}PVC8VIhZ54o*TG_kNATBG3wNCkJwDe3=Wr#r^B~Xj9$zu$w6IT7W@15>VRbfTXAa~T&gKfP<1QZK6+YrS#+@Ga`H7F@XL32Wa69+#B(L)pBh3zb}7?%l|jHy_FWm%KW*?~hjl}osW2Y8;h_?!_IhP{$A6DzVd+i@fpa|5^VAm3jU za+5JL^RN^fuqoTJ4}aizuI5^9g z4&XE{`!#=6`2^+Hw2XGpfay@_LA3VWJyu&9+QK!q?2TBIJF- z&YaCXJjHu_%bY92e0f%4eU9Q1ZsZ+CUKQqJGcnUL9W$^XTXPoYat&|tG2bxf>d;q_ zwb+F1*pc6HEqCxP6Rin(=~<91Ign$yljnJpkNJkN*M{7*%+7)=#m`uk_1Ti0IGm$6 zjf=U4Tlp*h$?@F9hm5{E%q3wO7GMjuVLSHYa$ev~zG3p; zLw*)kWfQjJcU;R~c$V?@gq%{W#)j<7AGw()c!RGQe{aaE#)(|X{k+e3`@;FWEW=i8 z!`Yn6{rrPh_&1~O54l9pNKSKWJtj9JSz|~yGQ;hy+m@mu< zY{vHN#vvTfY5bY%_&d+>DdQdpeaV@g*;tPa*^Ps^j@x;SZy5Pt$dAWFOw3Q&pBs3a z|1rj)kduf_*@eS6mmB$-kq?LY4_TPi*pRK*i$gh{^SGK@_&X0X%8}3)pV^t0#aNa# z*pRI_jXSxEXL*Z{8U3hUW?(6P&8{54VVuAPJjtt!c`W27;TLSrIb6)OJjC;ia6IIs zXF=9xb9Uo*+`wbJz~}tnM959StSrK!EXS`olA}0_%XpN3G2Y40lbd&;25sv8t&v_MmQaEqcR1vu?~lGDwlE#@ADyJoC&#QIE26P z1+$(F=RRf`R%TO9X zK4qcvA@>t@Ku4*qc@O4coFCCvh5Qa0xeZ9}n;p&+!_gJ`DXa8HYJpm?c1oK1&kC%UzHe@??Wq%IhXinl*p5iOUcpLUf%;K!Y z7M#y*yvXak&nJAv2>*rr7>vt|EX79L%ZGfyobN(TO*Y_IZsImRVw?yC{{R0MOUH6- z%)T7Wxm?D*Jjy40!^9Coeh!vmW47TS&f*&G<`JIbKa3SAmUg4NlPo!Es#xrH&Jgudz=#A#f`D}2B>QNvsc=4CN< z8g|#b_}?eooe6 zT{dAW_T)1D$yZDmGvpOwIo4ubwqiT><3Nt)c+TfyuHahk;-5Uno6P)P*sBh^ayS?A zC$8gmp5aB_;Zw$m74qXV3G=Zy%drlJa}39EA6wYyn49@nh{afvmDz;N*pYqtEk|=67jPA~@>d?_RbJ;KzTrE@OXj^XJ#(`dOR^eU zvn_k_2mZ+U+{xWM!t=bu2Yknf$-{o{GY!)*7mKnuKW7crW<54$Gxp~cPUm_a<}qI6 zUH;8~88t=NJ313H6SJ}?E3yh3vkSYkH^1d~9LI%R!fiak)4au3e9NdQ!`?9%oAH>I zwb+#H*`MRMjGK6c_xOu_#k1aWohj^T4c#eNF z<3}N<28VGM5Agle;aqB#=Rp3z3EagKJk487oF?R@VO|zzd49>d9L9-U#MRu&UwN4S zF=pD(o17V#oB8+|JF_20aVi&ZF*oogA2U+A&>M$InS$9^ht1iY137}DIiJTEF@5Oy zl(pEIL-_}UA? z%Ikc=?Ab!z$LzxCoXJ(Z!6(d~JDjddnT)+*y&wrUO zXUM6+T5QdZ9K@D<-H5PHh;D^_Pq&gVLw=QZBuT|VI(zGL))-aoT44-2v|%d;Bma|Fk7JMS}P zq0p0#nV5_DS&X0XbJk&F4&X@c=OIQa9QvX#KU=URyKn)o@iy-=*2f_)3DdD6`*0oi z@C+aE70VR~d9~P*ZPPzjH|eXJNPHh^BNyBb+OQ! zn=QG5ry0Gt_s0et$*uf{=}Lt2pRywdayZBGS03SMUgAyu%LpYyessoV9v0{4?8BeA zmiPIBxl4uI60E?lSdC5Do;|sk%Xya3KMA=BS%(eTn0+~t6S<71nDEn(_ZdHDbGGJC zj^b9H;RVL}EaYWk7S>`HcH>Mg>+mO@;aT3{Q@&-&N+BmBi?am3V0AX&4;;mXT*Nip$~`>J zCyY=z^ylVhtjQm_k;nLe?^Ox&dD(;$xsQi=f|vP{QNIc~NtuQX*piF5m>YPT$*P8& zR7}m>EXp$M%3fT=(~Mdz4vf?}_!;gMHbbqd1lGd5otSrFO{8%Yyup zm06el_#=mN47YP9FEIMop(g=9VHYmpI^O3?=Bg9si?SoTa}1Yq6JN4W-7w#Rv$&hb z7_nYBmy%`q6$fw)uP|}_Fqf8f*n%_p6E8AhgD_W>V>z4ixrW<$mXRBV`RGi*PuQK` zaWnVuEn_wcIVISU>-mbg8i#W&Ifo0mm>am02Y8y1n}nR~%)4imNr^XXWfgZK+?F=@+i z{&QAh6}D$D4&WgE#y#A}n|#cde9Mo&3B4s)ij`T1&De_Lxr`@yo;UeHtB_xj{ke$` z`I-e{j0{n!XIh&h#o%i^R={ts;uKb>(IE9CJiT4?; zQFm1^F54aw1pp3?uajd2yJQ)%YDJa~9`wCHL|KqxKBB zA22P8uq#J%1F!Hllk^HXx!8d1*@fLWgyT7rM|q0TdxzZotjtlo$iJDfPdMM29oUJ3 zIhNBohvyl!Z^+5XS{%mF9Lq&q%`M!)cg)i-<4 z6R{+#u_gQPB5yO%;4q($HQ9?ZxSRL+hM9j1^B=PbJ8&Fl^8hdN3STh#kdT*^h1iHg zIh)IQn%5a;Xvq19C0Lg~auGN45U=t%V+{*=nOTNS_$_B}6HoCe-ya@wa`I!AVH37v z4-V!!{>3OGLS8{OXP z1xv9UYq13l%ej)f z_#bmj4>`qIogLYSTezLa7-vS9FUAUN%5OQ0fAAo$Fy+jU^Cj!D2ZwPkf8!yZWwKcz zCnZa=H-F+b?&nEf;C0^P3w|^^Twr$v=6EvF3#Na{Pu}*pq`fmOpa`|Kt&# z<0D3!8+uZ+Jgad$f8r)am>1?^GbvLr8#}W!4c{@|{LojEP1v5DIFS2z zf|q%XPg!I^$SupNtik4-!UOz|xfh1{;;hI&I+u; zMx4&WJi|v!x;W(KVNrg;s;tW%9L=$u!^PadbG*V=jJPE9CSgjZVotW=OfKSf-sEGx zWt5*nenKW?a%N>ScH$ro;TX>5JZ|7kK4y%ip*I#2vMhUX2#0eK8!ij;UHBuXb0bgk z3F9pfbJ_VhTkw0%;X1baIn4FuVkTP|KF`KdY{0&p#-Xdi`PZw1Dc1x`upNJ9%(day zKV-^v;kf`yvl{EO8N0AI$8su{@Mo^!2JYcGUf>Ph=L5cD-t}S6c)tXbF%7G;4(st7 zPUm&rZwPE!@U~jIbrlRpZxe$2mOA+l;a`%)Q6N{G4C0I%~2CCvqm|a2{9i z3h(efAMh1(Y;%7WW)YTUFAn4n9L#b2odv4t=N;xxQl=A z6tD6+-!j6lp+6o!WgRwVJN9B9PT*uN;#ofCOGeod`rc;(W@AnkXGadc?!v7e5XXyKitvQg(d5JHXcvqN9&wQ-Faa_io z{F|wFhxvm1inZB{J-C5Kc#8>s4>@JnfPFcPQ@MsO8Glch&&+BZ%-P(=KY5N%`SIS6 zQ^xQ@3O@j%Fn#t&GYjo6akayWnG8D8LhesnP8 z7h(z4WD`!}O0MHBK4;uRA@2jGVRq(ZIex*fIf4tgj2pO3O~f8b!w<~*+Eb-rQbqoFSzlQSg?urSN9 zH^*@)f96VV=VQh^7W&dKJu|WZzu^E*;dIXAa$e#K#ycK*5-<_du_oJdFo$wDr|}?f z@GT>p2tARQiFG)F^SG4jd5|$qhMW|v%LeSqsXV~{nB-KLPs`k_#L-;B2mFWcoeuN4 z*n|_flxw(+C;9%FFrSW1*@AsJmnRtQY?%9qSy`AhIhm{YoNt)mT*xWJ)||oh+`&V< z&m4b+`LZ0raa_WKjBq}j&&w}alg;=Yckw*aUI_DG zkZ&08u6%Z4KThK!{=}tR&ZCTSFXRK?%^9oeh|(lV>VV~eYWCwZsTqq=Np!K7;^h_GLP^y@9{O0JqmMmIgvl} z2JbV{<8VF!bF(v-b2ncx>XR^6f@N5jEjX4FIFZY^osXH}X~=EIAGw6Pd7jsJgHIXp zpOBM?Ntl$$nTt)>hZ8xUtGSIwd4i{Tj(_n2pD@ES?~S$Df?YY7(>RlJIG+o+h%0!7 ziJphPoXp4KEYFH;%w}xM**wWuFGBA7Ov%Emz^~YdP1%OCIG>BSiT9cRW$3HK4*Zd8 zd5CfT4d=`9TaM#w&f|LCX1Z5lzBn7OI|p(cXL2F;@d(c`>Fbc2nV+#G=Wrh%@(rWB z3G=ZSm+$itnU9$6UC6J>25ih$oWZ$Vz~A@}BSa|p|3B9-5SK4+rHp{E>cvm<+OAct`j7jP$^FI1D|@jIhjANE@;v{Ky}N+As_GiP zuY@Swl5$ZJq9|eqA&8WOC@Kb_A{JqxptLl0D}s&P-QC@d-QC4I|6Kn$zVn^$mK(jj zpW%4kZ;rA2t+~$H`|MnMpR*5_@9D?-ss5ttRW4ngZMCoNq(gLfJwVUV8}$x-P#@DL z^mVOXrS$!_(IGlq_t!BxP8aIa`nIl8wRC<}wV}4wjkK%w)7|tyJzD4LX?lTHs#f|w z?R2ot(S>@OKBBMaYSl}pUr#&hAl*-o)C=@+eN(^HiZx2-*Fd+@z4S1hqYL#~eOO=C zay4B)-C76gzB*pd)O+=L{aBZ2om!>y?WhCvD7{MW)3^0YUA1=U^fk1Hj@SG3C4E%IDxex^Tbg?gp^ zPuE-YbzQT5>FaH^n~v1QdYwL@U+FpxN~hmich(7dy*{LGYx#zy({<8;dVn6Q59@3C zz5cFc83-lTN8w%S)G>+$-U{;Xw6N~f!!YiJFvtM#-*TWTxqsS|a+Uaa@%ySir6 z()Vqx+vx5(L9fs|^~K$~eR zZKE6L#=5C?*6!Lv_tw*NiC(Vv>Qb%UqI5Z1>bkm(4%3tL0$rka>Qb%U()np;-Briy zrFxs*r?2R5y8haw^XsDX^b&nYf6>aVO8d9ab+n`Q(_M6gPSE4^T76%C&}ywq=U-Qw z=;qo@x7VF@xK7ZM^;&&jf6!`ed><{*=DL{<);W5nUaPn0gZhZRrDfWdzRyOwt?r?F z>o}dDC+j(SlRl%%jLg5bef4!p->f}x zZ$st(1VX;4ZWdv~L?F2#lu0-`N`*3|uC5KWM4M_eZLTfDjNwsXJK_O)V3qxR|J`<< zniGX2MvPd+8`GoNvs2c~p!4a{gzqF1#PI|B?NU-|Bbzz5b{_>CgI${-(d{ zGF`>@VVq_DjI&ry%WDN?{WBQv$3#KKA7tD?#vNqb$zVM%j{S*C^isX7U_WmduRj(A z8Ap(D1fSHW^y#8JU(f!}`}(HJ{Q>jYT(?l}*=XNN+4mV-6B+N2@h*d7t$Y+*O}YOf z=l%;TDaS5(l_(kX85RYHXJg1Q-9Q^r*0#kj;u^wVbltw6ok9 z^nE)DzN7EzdwPrBs<-LwIz^`{#{l!=y>N!k)LFW_?xB0?&@iK8RQ8M&!=bF8!STfV zBJYdLADKVSj*^knBgZ{*+#|<5a@=Py{gf!Uvh!zp=Chh|{*bS(YiPc2W%DYU`71FE z)4i&%>FfH2z8Pk)ohQe9aEeaVX*ykx(V03+=jdGJI?epJP9x(gGOi-mYh--IzRLKS z(Kjk4ZQFX~ImcBUWO z8QHG*mM+z|^&|aQKh@9l3uPQk*~ z?~A-2@_xven!(sxW7Snw!J1l2Ylj)zMWsR%TwR$agZZ*uuyd4*T2Y}5YiLc~G0b2+ zHjnqiEp*F*_iqyIlcV4iWt=3Rt~2x)?>#t+vy3bp!378!Ge5VBFxo0l9BL z?i(^V*0^s#?pHGC$9+Xc`Ka`bg4=8Tc%8g~GG34mjFQ3F!1;!pXSiAPN5(Z|T*KmV zjqT1j!gj~ImF=Iw`&||VFVDu1{)PL8?f!_{xkGd&-%va1M!IoP`)1~kIsFrV^Zxp8 z&F_WSPORsP`m(-Su>GdR>x|dPc#Vt^xQFhkL&FT_TR5NDk#lc}8|lWnNtnSH#dv`m zXb0Ue%-Ad{-1lMOeII>Ji-M=?8DR#?HN0%;dXLb3bfo@W=h?nR^WQ)6jNwtaEehVP z_v(FmzdooB>m&N8J`rXxmU5iq6?&y!rB~~%*&iw=L`J?i~J|${($^9{au%7nK*8FopBWzSCMfTD=DAL$oZUxRl^L9??)rY$MkW1 zLZ8&9^l5!opVQ}+@qqa;9^gyLxIoVL;K=vi_*PN=c2WMW`3L&3exjf1XZpE*sbA^W z`mKJa-|G+hv;LyL>TmkH@}ZICUscO!d0kEUewKcGKZ|@%h*h+zR?}KqTkB|DT~q66 zgD|5;R1S*e!_hiczl=88IS%m~w^a=%TL}e=7;O*dit;0qucTr9seB@p9Am^JyZ|V!*#qK zp-1XbdbCc_sX9%k>oGc0XX$L6qjPnE9;?UciF%5js>RRqvi&q)KU2@rvvr|<5Zi+7 z!F?DO&+i=jE!K1OJUw5Fr@O%R3pJ--Vt%P!rk88+e6sxtU%yJP`Gfx1eyy)xr#I<| zalg-co}?%1DSDcou4m|(dR9^UIp&LWv7W2v6}4Yzevw|Rm+0ksgh*eq-l#X} zt;+o(>&g8ha=(bLD4zq#xo^Zbb*XaSNc%g=eIxmMTD+g$x1IY+`f*>G!F}@ZC^$m* z(*2b4o!2?vk?{)|w~+H557tAJaftTA^$2A=qJ4rg-jOrjA>&#`y{KfVZ@qyw%ueBy zD0Q^1uBlAV>r9VKk4%q^l(x03UD2sxgS;~6=gkeY4dHEcW!9C#ocpVpn8C-X` zzG2mZcKRJ>|Ks(9g4frN*Ew#H;}*GoBF8U|*CUkUn0Ah1 zaIo&IyXdYuMA_%`-(C06J$0zI({*({Z69WEY}bzU#yVP88)#!)OH0BG#*dk?A8?k= z);Zcd`ty1Vooo9%U7-8K%^&?n>b`oQ9;Bmnj2^6q=;1nEkI)Hvlupv(@sak7t)tQ< zmJhpz88f2tZWMek8$4%#Py;=jc40uM3LWk2n9jzUO6r88f2tU=-wY20pBh>f`!EQT|lq z8QVmK@fnZE#;|FWxym*opRWt_SUpis(o^(QJxx#7GjySzqdUcM!~5)_yXp|#O&8h! zygxbJ`S!m+FVrP}az2;Y|8l)TuhMJu+Aw2IRE~>+$Lk5o_M@Hcm%+7bhfKoa*Ex0% zitT~_r0?-IiRIZe3U01jDCZ9CTSdv>*!pjt&%55;+d59_1)xIU>*>vQ^iQU0R& z%lb-~Q7$T+XZW-}qtEJ#`jWn)uj`xomcFg;=)3y9exQ8L<$XWWkM%Rn`Fv^qm42w5xDR2$t_s!&$l;;-YJhwoe zTVQpqsXWJ^o#znqPO$Qx^kHq~ajwzksN+E&-mcDk;vr|WA+-AFgq zO>|S;T({7zbZhOT+#j?2+#e(Nzt}^!(_Uc)_pyu@$o(9?7A2!)RE9^vy|OW+ALB~K ziuy6`(EqLM9PSx~@fsPgkv`Z-J8Kv1s@-*4WgVGrJMF2xw0D@nx-f3x=gPQ6&Ul62 z=(qa4GJa*uj|%sJSXsGNlGoBYMfsXVd42N+x|TN45^bu@lx@xXwAFRAU6{drdzTml zu)A)nJ#;(mrMVMg<)jE(aj8RwDl9U0&8cU`7DH>SO!uBr8v z&%wOT=U;59e4kCezIM=#+C#U~0m`_?bc2J*)-(>42X-$;KxZzG?# zk9{bXb5w>#!M${p?xzRnfy%z_9A%7-(}Q)A4hu6lX8)V_dHFsZ z(`*ZDk&Pkme@Lu1a-Br3gUEFjkJKHN`*_;fZ^(W_?(32Lg8$9+V*Y%7!IfG5=(arA zNBrIm`Mn#iqx|lTd_8Ti>np#1<8^-jh8yX|VFqJetp4(UqZfzWaycz&=RO!K=o-p3 zo_5ADtfJMly0WgkUQ-$8$QkFbt}@P%*Hgwh@hhD+v+;nPKW7m-AngYz9-{-_?`^;o(xCn{(3-B&i7{Y<9jn4 zt9*Y(en;#uC3gc+Mfh0lk0r55JVv^<#4(@y`2zN)Y3>-v^1)wlIMeP2J+ zkMv{xRKL)#!i+z=yni%Zw&!|fJ~k>lL_zNNk^6ld93|tRsBqk4CFQs$ud196qjj=Q4>M{+WyU{n9Add9+%K0~m3eQLJG3EIv`4h_XQF5M-X0Tk0 zE6BNlj4Q}El`$_Wj6+C&EF6EzM}AopygW)q_A8u@`4;AkgXD~Z*j^b23;T62-%vX$ zV^9X~e^nH`TCWK+m>=U_#>(_(d@Nj!&5QCa&9~C6wX=57uDXpft}@?kwTJc!Gg!XM zqG0iM?Hz4Q-$(m~87rD@`|K3{yMD~Se-s>`1H+6JP0xKt;q*J156+3h6-~eMpXkT? z?7EWu=|}%Ojv2?v8OM?H3-{EaIxNg!x&Pg9#=RKx;W~hf`?z&JZe z&CcP9`qPj8x&Hf`AD{;+*9rP@oxm|sGFCKy`qBSjJtQXz*#>;@!ZKP`*U*YuNh@nr zt)|trhSthF@k&RK4Hd!sFaI>TywD`N=A*SJQLSpd{&>+7xYEt_jeh`MuqQ#kmnd!Lu)F} zHE6G`Jl`nn$M=UB?3&A>VBz(J{tcau?-w&x)W5|3d=JU={H_LDuH^KsSF&GQ=ga$K ztZ2E``wRU>$Ba2Ya4YSk9RIWz|2~KFC}Ttcpk z8N;LUVL?C6@xOBaJ(U^8`s1p~b|YuIA4es#@x4ncdpqStvIK|A9{;dJ~?kDPG?Id72j7n^C}I58vIAB=(z z>BIV{KCVv`B6r9G#~* zzkR%JkJM2``2pq!h8ch7dXFiX@9=m7evgj)9v%4|IxbXxhfaQ*-mdrRePIUIY*MVE zRkfN{SFUmN%h&6e*H!Lcc)h-I-}2v{f4s%=VE^@u;}3glAMLB#Yk%c=8T|`?AHX_a z6(xh$2icG3Gvqv<$zVTo9wX;5avmb*A#(m9=N)q1A=htYx(w#e@3)ZWJ;?Jl+)MY? zeRN;lUk^~mPp0E{PB=~vR-Qj)u-+?sKRuynx+`)fA@9TMcyv*}m7V{jqUnm~&+E*8 zicZz(Izx|9z89wdES;N_pGYk52j{TYEfrZQ8vrOsd zAASeH`t;V7{r6>s|E`SXYg4XtyS3GI!VHevzhhjl81p$Y3Qo|8dQ_Of`*FXIy|Xc7 zI{M+!Iw{OxJ*Jf}U5^=hjLy>8I!EW}0zEd&_%p}J2~K~ao~)W1QpO|N4^qY@@-blsp9TMp-~HzNa{f5h_hTH)_;0))^XL5zQN}@X#x0zz zj9=u8UpP&(ALAD7j9WNcbGyznXB^{o#wGl}bvqyH`ZNBr9gf!%^hC{mjKB0dP0!M^ zb)lZ4i*#|Au`=fg|89c!IbSc(3-zKfV`b)d*`Mg2^X(j!kE38GrB3-oKhw|kEB#Kt z*B^9Qm@z0SKgV+6FZ!$U`$^h=*JZj&j7PLHE@4?Mr~H1Bc78vJ{C*Po{UlaYem_ZG zS@|6$`S-rh56bT-X|JLDo|2s3QzE~o#INoDjq>|S+W9*X$nPtW-&Z2PuSEVnFg8+t zZ%MwEHqjDos>RFM%=YHW?=hJVzsJNj+E)2pChf(`&F?g6=XaXeK{r%>r42h~=Ppd2ukTot z^ZbR^ch^02s1DZ=%4ae9AD{>7K{`gqD&PCl{}4S?57Wc-2<1MG{@lkQ_i@Pm8BWs4 zIz^}IF*;Lc>l~e{9Ba&Pz8iznFa(~YI^1Tc4y$e2~kLqLkgg&KD>ofYS zKCdt6i~6#@qHpR_eOuqrclAB}FwCeH70y>|t(>>yZKGtcJ|9Ivu5b9MexYA#ZijEp zztivaNBvco=_a~am{AfHzVE{3+CusMi}tmP+S{1(y>~{9s7%i!Wce4ZR_bCsPtVs2 z^&-7kmxLL6Muq)@>>qqd*-zx`CwxQS)VIP6w)fSsym(E)ax>l1>=dr3ANxIHMg2Gq znD6`gfpT2X&i>8VH!43z!C#d9M*f=)kLArgnwAIeKP3t>?%+(FrL)6~oF0FVf;nIE zjK4D9oZqsTN#T6SGyckabAGE9>@ViCGUpS^QRXjB$M@VBf9Czl7ftuCjyINzez@97 z_NO2HE39OH`q6)lg8rP3-O87qkKMxz)~|3mi}UQq^gUKEU17hTzE3ahqkVOI?H^{W z=zRy+f1vK5gLEeytUK#2VMfcS>>LGm(Os4M6WRyqj+*_rFUcq#=a_Cr6g)=%llRH_ z#H^ObhVfs1H;;UuibHfa-Cg(4J$0xKQ_gp$AEA3`PQOp&8LSig9QVr@?X{ow*8#eN z4pNS9rrSveE5|wQdqm0DGb+p*|_XFU;5|Dr^(X!tp?TGvzqQ;Mifg zk>y5~8(D5-xsmeXh+ZVU={M<^n)<1jx zc5=F*&UcvpPru(7-*>G3-RpO-^F2Z*>QVatuW#vb^}peGie0)qhR1*JDN}mx-mCZP z1Nx9Y9A>nQ3fC(3@vQ)LF{sEMA|Ze4j(UK#x_fJ+vRMxjq~R zv~wKbBBecpYwNl(?&5m7zHXo$bVKc^8)^36H1dqDQQTP<5-l=!%J$kR+r}ygv`j9@NkLnZpq~`lPYyP~xpf83Q zTStZWMcy}qd#lQkW7UFo`mtOYy`oYn3Rcd>@Q(BjY(To+IZkF4D!yI8Hm`I5Li7&WCY0qghnCMZxa6t@hCEG+$?3G7gFg>w|Ta z`&)AEZ!?%b;}0^9BI77Bjw0hI9#NDte$sw)l#Gp|(l`pPm5pI>KeqX;1+On(*4UrO z_=1ct_+=FQTEEfnw5gyAFPZ^Gm-|rUa}EB{e(vGx+i5TD zt$nnw_6svs_Wa^|j4Ptxm3oz4t=xC<`gMA}(l3Mc_}{SIM#p;W6$STJ?)S(?>IeFv z?z@8acxidCeRvLzJO@XfgCozaab?bD`te*Fc@B*{cgFwr{NM37dsjcwkM&diOux{t z^c($Nf7GA#7yV87y#ni%IlouP=o6KOQLvFRu9GvaW0NQu3!+jk3et`xT3%Pv)wQB> z-KIa+W2~yxlx3v7mey9TYqWDcL%y%UoDa)S&hlsc-?kswR=Y((u20DI3Aw+)p*li2 zKWXQ@M9xd(JVfq|@BlqfIfrQP}$>^P3U{r|NX&8cq95ouzz!qkW#vSB@dtkJS_OL_Jw^dz@y@ePRah**(rX4EE9ghWlrZeV*UqzRLG=BN9$_?t*foHv96`9wN04uPuVUk$A9y4 zMXv8IQ5g~IkE6BlIQgI2?z}(WzhwMV_CqcYV{XN=rDJa;t*lkFTA0B-Cx7P^`8%)3 z-+9H(+C{tSHrg%B;F>Ze3QpCT%Ka(rv!i4%fBtSPZmazL*uwYi6?sONsN50-Z_UP# z{=;K^aD?uqdn^CHQeGda{C`HtN9le=?b+|3XwTr9Gdc=#{l&4$=K=B~^ho9N0PPd? zC_P#WKOb-$Jrl~^gBgQQ~rM#w4b5;e=*3<)`hxQ z&(-tvB3+`F=%sp@UanW@ReH5vqu1&6dV}7iH|wo>o8GQ>>Roz|-mCX1&u3Xrp3mZg z%5z$Bp3~wZ`lvppkLwfqv_7NH>T~+MzMwDaOZu|DqOa;}`li06OZ9DiN8i==^nLw6 zKh%%(WBo)w*Dv%-{Yt;qZ}eOJPQTY5^hfAwTzb23c9*7?q+b_ zOo;j5L_Jz3>13Uv({+Z<)LA-P=PKtN^PjJrf8?Bh$a#k+D(4?L=O3P`oPXq;f5`cV zXX;tXc}P3wA)Zsz&Us0D&X4nw{Cv&zxybxt<$R?d=PPo)BIhe|zG6=p%g*FAJk9je20xQ@`h!i?@w z;qSg6f9D0aQ~u5iIe+H``8zJyU-^42bC~gG?{ji`+~q%< z57RTBU3G}=u6t-Mf36qzLrlkg5ORN$u~}4jeu#z7r?Ve&zm&0}{`8~&{(69NA4U6U z9ivC-(K=bD=v1AiGxQkE{<%Nr+CESD{~7VV3&M;QEr0gU`J7lZ-7vQkpIyYog$_dYxXcH)xrdj(&V!hJ0U!<#jc!psVW|n*G?H8Qd@alRiIlZ#gdt z&esKcoG#MEdajxiyhtzBC3>k|rkCqg%5lf^ z9CsNbqr&lvEA#zJm*~gmZrn@v4l~L}h4)9^KZE}J*ngz*ezcF${d9jlK=XAz=XWWX z&%u#rtmu6UKcCNt3Ao-M*Bktw`d!1n8ZY=xp6?$sipLACv;2Q9GB_l-&qMC>ko!F3 zJ}-mm^7Gc`F>aB6po2-YSB>T5eadJ#Ew8I-1zla&&`Mfa zt7uiNuC=tb*3r6JPwQ&~ZKzGOM4M_eZJ{l7ZEdam-4)i8zq^9%bX{Ff`8#X8&fi%> z{>~b9)Qxmw-9$Ij&2GTi@XFg_d~1vxhHL_JAQ z)>HIUJxx#7Gc^03W&U@M_gBX9vkKhTBlrKv{XB9%kKE5^uwMU-@pN3w_m(&x@X3Pl ziTlLQqGU9S%2%0$ISydKVy?ojVp%g{*2~A&%o(>k6imST^0^Z^-!s;X%9KpPs!{3} z|)V_Z~N{tV{BeI)W+1i2n<iU-6zrm1i}G!X@^0qc!;D%{p&e<*ZM8?3 z(KafBqF~{1!*VSuSguZy^Sln*Maf{kdq=^2bYz&pHftFL*UrX}`DE!_(9S(~qbS%| z*}mi@+APdy5*6-Kkoy$8LOG7fn`?_OgL5WJgKP|$H~Saa@5r(v>xi|rj@DJqOFJyaVusqvG!G79b2k5{sgZ(o!3J%lZI-;nZ<0OOS=65I9Uq4jtt7-pM`TZFA z5Bihx`!U*oEqZ;K`Ko39-_w;h&-o9u-wrw`%;*@EGov8ay^NEh!usP5I;be;d@6i> zr=onYInS0eN}|HJfQ$>s^RU8voH_T+v}ex0Z^+=7CdJBHCCnHXl|Hc@@Ivhz2M9Tz z^O4Wj$oE9Z|K|tmlrNQkFHJs9`Fm>_90$vy;PM5*i1niMRgSNWno(Id3epGL>-xGu zn87*KDwA-tDDUa}`hk8_lz&{5e^QixX8vWE!KxKL-_7=BQDOUH;r3;D7!NX7mnlt4 z*J-Lw)9HGQ&eT~tTj%Ipou~74fgY>J>G67ko~S43$$E;Os;BAcdWN2(QE^YnbZKrhsb^kQA2m*}N>nO?3}=#_evUai;YwR)XiuQ%w8n)~Hu^IP;*y-jb| zJM>PyOYhcu^j^JB@7D+PL48Oc)<^VFeM}$MC-g~uN}twe^jUpQpVt@kMSV$M)>rgZ zeNA82H}p+?OPA`~`i{P<@9F#cfqtkT>BpM;f8E`zN_!)`}%=?s2}Oa`iXw3pXulNg?_1D>DT&=eyiW<_xgkW zs6Xk?`iuUmzv=Iq>%B^e`%}wkSuLmKbv3P^tLqwCQ7dU>t)f-6npW2uT2pIjZLOnq zbxp0O^|gUE)JED^bG@6GmuORMrp>j5w$!z?mA2M4+E&-mcDk;vr|orp-9S6&hT2g# z(v5W!-BdTz&2QQ>M zPSVLbMW^aCovyju$C%I5Svp(i=vFIigo~gOq zXPYn7b99j|)^qhdJzp=-3-uzsSeNJ}dZ}KfSA-d>M};vGxj)6i`_q!hw~K;3wU74I zemX!0DxV`tqVV|v`P_hfUO+xC;1JzS`98cP%APt*N9bO-bv3P^tLqwCQ7dU>t)f-6npW3*-eEz|z*%f9=v7%N|mWOth894?sW<=$~DEO&i_q7I@3KH1z*%x!VKPX(DT1VFmGuS5=N5Lg}iC!9Jw2R8jC^$Djta&(TG?SkDhLSijd}z3~m@cW@c(w>*YgN1eQlwhc3eMrE&< z4oB*~x}WZ^2kB@XtK;-wJv7W3+Jua?H^GK+S%KM4rJh^?d9vd_&*V zrD4X&QCTgMkn??bK|U?&J)>Z+g7$e)XTKo(C1Yw-SUzO=@SrFeZ0Co{ly2{b!;IqV z$k2FURxBqj&|~#DJt54P5tR?4;HUbp&il^s8q0(nk2qWB>jFJ3%wQVkjmId*b;c=C zVSK{MT16SJXlLEAy0XsXd^d)*w6@mOHN%W{Q8_vaPSVLbMcG%pK0QhX_aL{$_QKos zYyBq7U`!iRrgUuM_$BA~MUG!QL=O)$CP(G7m=7{P{I+1etovh;WF`z3u@UkNi<$G%apUp9s;-^(N( zGs;F~WGpuxRIvPPPoDo|G>gir1$o!V%NOLl&z4b;`zPdB!cNLGQ$ot~HI!gBo zGgyuZQE;Lj6=raa?;HiYXgBR1X7D~thezuqog8LxJsutfM`UBTMwFd(7v;RBo%0$q z-#zLX?0@jU~=QTwBjXOu*x@Hk<- z*d+?GoinONh?I4921snS`8QXB3>j9V0(B3LdA7cZK;0MLFBJ@b#05a>m8N*BKwl86Pv4 zhVcN|cGyiB7sxrs3)_2|_tM_V{YgeiRK~~p;SqXdQ9jZ9D9wCQk(nbdQlk=1qWthxP25(8|3uBSe@mv zS;$#TTrEll%kx}xz~}WveMR}*1g|r$V&-q!UbtSozBJl1nnq=tOhR7g`h#45@cmdI z{6Ig_e80>;%YIJBc4WFwZ2wNb*I)HF{au$SgD}&ts%5mSmMdys&3tuTLn~?}t*lkF zy4KK|T1#tdoub$4nb+3_+E5#5W6l00=FPN)cGq6oTl;8BZLMuJx9kjr&j&1UO%6UT0d4k+O zW^|7VpKFlMG05kb!ko`98GOIMd5WB;8Jk6AVH7+^7wh?YfnF45%!tZ^QSc#sSh;_r zozLO;L{a`!F>Hs z8JL)V87-^jl+Q=JULnljynHW{aO)`Bl_|Anm@zUce4m2P>T?D2p=*oCv8Ar9t+cha z)pfL;uB+{JeceDiXh+>hH`YybGu>Rb&@FXq?WCQ<42INC;=I65m48n`&hM*{e@}s5 zEB~H?oPS4w*`I$$kx@P>w?x5PwSK%Wc?0FRA?LWlyYz0&_WL5w;CyHp1q;Um_G{T# z806n&Apb4{`S%#ezr(8}2Z(_Qlyr@QtqPFHyS_%qw(rg%TL>&?n>PtI|Vw?)aA78R}=xPuPT9d)NLgXuX> z@Gj;2AZI+!Xdjguo0UGVy-9D@Tl6-)UGLC4^)9_z@6mhpKD}Qb&V3eOX`8SM@c0UEk0*^(|ehZ|ghyuD+-5>j(Owexx7k zC;F*=rl0E<`lWuQU+Xvet$wGuUw<(FQGe2(^%wnBf79P}nexz+<7ibaqh+<6meXhp50m9>gi)oNN@YiLcarM0z=*3~t&p4Qg}+E5#5V_i#|Xo)t}X4+g^XiHsN zTWM=;qiuB^ZKvz%dfHys*W9li%s14Ix{+?Io9L#xnQpFI=$5*bZmpfPvv$$0x{Y?z z?z*k^(CxIR_R`+kNBipb+E4rI03E11=pfxuchbSSv+kn1>JZ&cch^01PaUembhwVt zy>xHgNB7lQO-s+8+FD2JYCWy54YZ*)(#E=$HqjDos?D^yw$PTkwzksN+D6;zI@(Ux z)%CQ!uCE(t2i;IR>PEV;Zlas&X1cj zwU74I?X{ow*8w_EchEt)qwb`Gb!Xj0chw=fo9?cA=$<-Mb2|+;AEA5c-nx&D)O~f7 z?x*|f0eYYwq@#6=j@5B`upXj^>S21gj@KjfNS&Y)^(dXB2Q?`@uSV+_9jgcHA$q7D zribfzJwlJv2|7`a(xY{fPSzSOx2KA}(Q zQ~I<%qtEJd`nEE`kpsQ=eFr#x+wuyq<>EH4FAMgJ^ z^*)sf)`xA@DGGMh!tKcSD-TA&C-rH4MxWIe^(B2p>#tfmeFNn=DD!J4|!ho~)-R&tsYH zbUj1Q3^STXh4n|)KZEoAvP{BOQM&84+Cw>ic)geQ);`)-w=c^373KZS`F@1?@%;$$ z{Rr~?NJjanTonbc)@#BH`WJqWvNHV#=fvU4^xrx9@jkmK+nPMre^2wFVaCeLcUX1~ zSGGUzJ3I=Gh?21~)9;g=Lym)Y3i9IfiG96m6l8sIH)Vavhbrqq&hp@1%KMRz)O~f7 z?x&o$^y7R*&R67kMUGeGe8q#6^OpQjJxn=|Y3Dq~Bb4)*e1dX5lXE`f(K<<|Dd%%W z$EehZ@egZiEv>C}bxp0OjH?-(cT=Ju;|I>vSz36#<^7l*8JDr4Hd4lA+M8&JHq++X zLR%`&GnkI&8OZYtY!hZ|7?r!D;5~Y;-lz8$<@tK{e>h&xU~FRcSVk);+k*D$%CSja zQ)_8$t)q3rjP;|!afMtDG8ofXH{3`!)=hLX-CVcOEp;p1TDcxGzwFl~>KT=zQW6E5 zYO^q-VpR5yf}AfItSifpEI)F7;ArLiAm{wRamx8Yeu#2@kaK<@=Ld3rAm>L0`+)aB z-UoRfCe5Ar_9`(&_hpO1ns=!^Q2zO1k6YkIX_qu1(n%JMT`mLEC4ae@xg z9d#!i9AEeBYUWuRrLI`jh^wzv!=;{g;_{b31g` zZMBDPr#-_Aj)Q|E$3yf`JxmYRBlJjRzcL;B2iZT!{>kVU6~Cub>n6IHGM+I#<5b3wsBk{u&bo{4s=Ss_Jt{0O zGB0F#k>x;+DP(z&<;Y;&`$oa-m2F7gUk8R6b)wQR3O3Tlx|TN45^bu@w7Is>5?wpY zU>-L|!CSI1tQ6%~Jx-5TwllA@ez>W!y~)|$8C9clT@<`tZ_pd{Cgt^v)1tCk6s(|Y zDAx?yc`vM@)s$^ddrhsSY)jhLjFLfLUdP%>Kk~XtfAV@-UmGaeODRhGT64P4|Y-JMZS%)%;eoQU#EY@u2Eq-Bik3*zSuz7zT_OESfWj}nR2}I zdJAo-9PhNZQnn{K=P_~~BjXM-?%?{$xI^ASIp4`S-*IEzT-m?0vwxBMCG4b~mF++~ z+XdNf$aX{S&9SHU(%#xf8CU4XxPpu;*k1?e4mv2z;F#-Mru5j`Ui*a^tV64ErR&1q z&m`yXW+Hz#6ZyND$luM(VBJ`5WVtg~$1|hgS$eiE)N^!^F4lAPJUw48&U5onx^0^g3<+51Ow(VZSH!DSbwt)#vpEeMw)|SM*hV zUEk0*^(|ehZ|l4Io_?So>BstseyU$;uE$rAXK=o(5#s_@)XMsIoKMWRYRoT#Yh+0j zY^u$)xwg=j%5|CkT$eNUiAv$|JUsHpI9QC{;is8|qoRCNupGSC(AW+*Oo!_T-A519 z(aLz(Jf=Hb8TZJKQpP=U#yy-8W^59bXQJS9*%(fVQbV~H%BU2TE^$0#*D!;=b2AA` zqD+m~ak|dXnL0~n>s+0u^YwT=A+)W^|3pq9}Nta$i8s{Qz=5fL!Nsi88*DU#gcW<1Ou1 z=#`rDxhC=qw%r-Aym+RbtqXOLo~!5S`MN|eQ??`XV>=?-5wB9VCpp^_uhr|6?Mpk` z71^$MtKP16DEpJw*^hW{m@y+NzeK@b^>_=`VgW61k` z==*-JKj=^TSeep(Pw12Sv#w$ZlQPTTAHx`B4o|Bc5n`(tC*kG~&4zL{knu_b9ln_RyZ%OM7b{-CMbKG5tv0S4Zgq%Kc^r^=+bHH)T10&)s z&r`;E`dy$G>P52U+&zI}! zdSOPTsN5a}@6bE-F1zcK)6czNK&LJNmA^udh0N=G@;g{m1%=eyX4A z7y6}sr92m8`V!6duYLV{<#Rp#e$(Ie1DEGRU8QVkzYpVJSiW5PiN0sQ%s(ya_gUl_ zgQL|S`SfqV(<@+dd#tPg@xmJ^Rijr|`RJcAP z*L~!=kH0C`{|r`z`zGYRDWh<@RSS+s`VEVM!}ZU6E@ZmBoo=M=tBkX}zMuZt`7-7) z{TMC&-OpIt$LYag#^|W<@7xNNnX2pR+R5}J?xQ1>>jU%U`hffE0eYa0(Xo24=KKybKU|O033{|n(WyFJXXs3wrL%Re&eQot z?Z=s)6lP3|$}UlmXFkaGLbem`sYAmIw!QGQ8LeyKV49jwO{dZk{a*DBwi)9-q{L2uNX^j5ts%;*;tPDd=GWwo4g z@4)LZtSz^KuC8lnMXjV&wVGB}u3^ltrq(P^1KUsYhT@72k1cE zK?muM%I`s#51&7f&mYL=58PGx974XE@_B@O4;`k%b%gGvd+RjWOJCo0zs+E3O~l<}W-#(z9Rxekz@ zrDto-e{tj)TSn#S7zpthv z`LArhmz{sE&+F!IDBsIutmysd$9nMn4K7{D>F7s)zUM){&%s=t56nMQzUL`?o$q(Z zKU2QvDSVypamc^XZ}mIndmUc?Nq<(p=b`;q<@+A;-*s7-v7+rlKc>s|DH}Hg5^gOr5y_DzI9Z}f2F8HD z-9sxm9sLTYdvqnIqhH~4{2qt=$(5X*e)NA@pHY5)MEi5f?~pQ9wB6{(bT6!AfBMn? z^_A@ZhW+1M$^P_X{%;lZ=QHw@C^%K8g&8xV!oPb!KEEQLU$LL|4>Q_D<&Y?NXf}q^ zqwske`8Cg9FSX=qtt1w^Fyor`5 z#}oZH1~RBODO=jc{V+NAzsUKGoZra#jhx@e`Hk(B`(AR+bL^-a>BhQ=azEQV`sMt$ zGViL~zw-Ka%6%(&Z|$!GbSE9Gh0iVc?w{?5YoJer-R*n* zx&PNU_P2*}ZaqHdIq&m6*BF!Ey5^c|?X_3T6?^X+Fyg#g_yf5@PL&WM6M z56hta*|tANm*|Chu`bnRdYN9XS16x{GhaT(#_RNYy+LnOKDVYFpIhUtdb{4Cck4ZR zpWd$zh8fLb;QJ`}lm4u~=&!nJOh>ya%JE9h{)7#b{fE4XvVFoDC>`J932rp5^fr|EQ^so8F4+aF{7u{u|e(`+}+_I%#J{MnB(IDQ93d)!fn>rOgC zcL_5_$H0Urcz_K&N$D7aBll7FMoafif=M3feEX;XsU6`L;l=B?BaQt~i z`NE=naZ!GLQNE-ozpyC3xG2BWoPLnyU_0VfdbM7w*Xi|obC|*L-@JTjKfrYhIoB=N zPPu*|=lLCS9fMrQAlEU-eF}0tgIv!b*E7iV40czpYcl%Bz_=*5m+r0mgc;*w;EU+| z@jLxqzm7WUztL~?hobgBng6W6=&#C!0`vLM=|9p{tgoo6>P3#fQrQkn&vw9Tlt z+K~1Tp z6lO3V`g=T7>F>$u$B}+KVHYejJaDl2H-^BcmYe8Cj3W zagMA<+)u|V>#-!tfy#O$=e&e$$BcYkoEHT-FJP7v9X?4pUoejI1oC+%=Jw=#K+bsp z>Hl$|F4Dz%zFwe9^g^Y-V0!v>T&m0Ta=k+7S7=9ng7haye}eQUNPmJiXfDq!=DX_1 zFoSK!e31Dd^T8XH{)wFP2HqMaqiGCm5CuEwhT2)Xgcc?M6-xWlO>|S;EX?4Vf#VCyX+`DuqP}vJjL|W0ax}nG^fWzP7w8#! zrkq{)QY6$nk(2Pss6r91qCxfE-`Qae=q%9eStUrFZKC`j9@VkLwfq zv@TTMcLv8$qu8O5`z7SQ8k=hi`>BR-p^FCQ#d{|jda<&`(Cu|3ngY|QnlxKBs@z7xYDaNnh4~=xh41 zeyX48H~Ovqq(AE~x}pP)VPexL+#ewK2gv;aa({rED$hO1x6mHSb5QDgX>Z+9c`nNM zt(51ZVFt(V)=_YqtPE+tlaA1xbr;=L>7z6H z$3WXC*iP5e_S!)^h8YcGU_cZcsM{&mH`H?sBG)&_^$YSoaggS8ywBqLs9F*0#=niq zm;QEgZRPU_>KkhlZK}<*x$-@ojP5bOb7kbYGV(oEoUBun@3B(P_fv6(^1W2@Svp(i z=vdyZjCh`Q07zyF27}bs1w~fa4N59+Be_IUaEb<+vp0xI{kJK)xq~9G|$0 za-5RyrXzKGt6&)ouCKkfnf&w#>TNea1-5BH`C2^3+s!B}cGj-iO*hs}bPFxfp4unOpby?73hu7t8EsdNjhIoQLZ;>|Al_3Uu${WRn}AWG(BDC+CK9I)}N_WwVLMq7Db-XGzRXCg7+); z3FO?@Aon%+ux9;o^T)%CjbdQ!D7a2mhD=}BZcOA)u3CD&c}kzwH_DaPzZquy-hMMG z8r+?Y!s7jAdelvgg42}YjQwNa$S8PJR)$;$|CQf+%K78eD9G~Qj3^ll508Re58?>j zRk{A7eq@vk<})*saCDR>mHQ|1XQE`R9s{kSU~8ohBj#rrq;Z+&jhdgbrAU{~#?8|#%Zj`8FfqhnxE zydEyr^L2?{s2Ax{y+rw*E7M=0SL#)IbH{?g?3!0AlE0z^$Bv_fn0YW*B!`nOXT_j`G485jkZ;;I|}PNnBV7eKA?X^|G?|~ zSIjSFyCT?L{JsYH{SET_n+*1ovi1YdIQ_GKa{9vG?XZ7yUcwp${RGSRQo;O7Xcsxw z)U^x7?-TXxR#;tYDDRE>HI#EMd5*7ZUQg@mTFSj_2K{T5C|Ff_J#yxU)s*@SmSIdR zFYc*%e2z8WTldj@bw3>+W=xNP1ES!8dXSFN(Ym{i(LKV9(_$cY>lMF&j??Z6D{190 zgK3+`2;~2H$5u2n%DVqBU7LdGScj)a!3BDTo~dW)xq6;1)Csx;)Ha zIan^_bAb%j!(CDEZoNkzP_FYB&-EWZqK_%BLw)8?n6q3NyzV8jJ@8Uprk5$-|6=@S zQLwDn#aB5U-y6%|TA^7KY@U@N^Q9eLtJf*tGo$|Zu9t6i{4HTdNep}t1-DR!DIe;` z`iXw7T<4cW`9{ChU&D-fF|c*H($9dmQJ#BJ-(PwDNzU`n44z$V5;<xD=XoviycT&Li#(6T zkvgiVew;b|DDCJ+k^U18)YpB#Z|Ix)w!Wk9>U;Wu=6nuzeuwH2dZh9^oY$SEJP#+I zp*#;KpQW=k+wuK8#?Mo}pGVH~a6Caz)RT0+F3>adOg&4_)^qe+U8vc9vHAIWf%3T% z%aQqo=9lU+y;85%YxO$4UT@GF^(MVlZ`0fL4!u*e-96^_>V0~@KB$lAqxzU~y~O*< z@wxm@S^uB|!0}OVf*ufN&~I)X1-Hq{koL4g&hHtt`>pdE?KuDAL_Jt1 zDdRI(-jCgnKhaOa46er}#QVVml>MFjAf2d(gc--jK!qqs-;0f-WU&0)eoY$GpLC$ZI@_7gKeBObF>k;}_y>8C$Nas6Er|V4R^AwhY&r^`k zQ*f@1iDB}+bZ^~P_fw9ak|-QM$nk*e&v=yb`3(7S%5yk!p2Oi^{dzfHp6g{yjRE?n z46Z?Vu8!Q7Vk71Ll$`rhIeMNh)J1x} zE>X@Q%$NNmqh<`Sd>I_8cgFsPck4ZRuimE*=!5!jn8EhDGLw+`Ew|m{MeWM6{h9uW zKRMl#1=DRE^I`u&_Ali8hwEwkFk@B>ycPvtkCH)q+F?gsUpLTBx?$1yjm$Z2Ge*Zi zy9%Yxhk9!t?W_HC8{Jk1=)f?8^*=2NPFMCj@}u>bFoV}0FlH|IC1U_SI&T)*OFdU=?^>u~>xSBDw2ryX8V#`d(MJ=d8TE1N&o8^1* zFK+jgum6lbtAE!Q^kscT|Dmrb_mM2$oBEb=A4&bY%6%j`_mTLaay?GY^*Da6U+7o* zwSKGL=?`JX%GTeHMbrIk{)_%v#`&xg`y0!duV20>uUM2ucK8(R#Y3*4KvGNY~a}zm3gXXiMdDDdyi=+iE*qPupt;U0*lQ4Yjj&(XQG} z`J9H=L4AgJpZ9R z&wY^RJ~&Kw)DgO~?y5WoqCL-laI}umJ#+JO^18R_?Rux)rJT=ccaL&jC+ED5_bcaj za?bC_`5LqR!;xpqiUHO;?x|yy?L|HJIao8M!&+KL>*<=hmU2Htd+z@;xF$X=3ZAYD z^bF>PUyYjl^ye{&($TczYya7wJ zm-f~^O20t6e#$Uqi1HkPoaYEQRELEb>|4Lp@6mpE6x>Ni=+3%}?iyySYc99QJy^#DCcC+fjENe|JZMp?HH^Z6kP{*)7k8%Ehtc|YX5ALRWY?+1B5Sa{sC4L4e)bX#`S?z*vVqMPbw zMfD}-KgPV6-!J;B{w>C5u+7;{862A|7qVQ)>maX#e6Jt>==psMryCj5GW{t1-`D%U zdwouDJ90i@yZ+Vt%R$a}iXN^t*B07R>F1eW8*QgtcTvyv5O!3CDH|w#Lk9iQv?w@T=P2h->NziFFrUtugnwrG zF8|{6U1NHdqnpwfk#l}R&QG|hZmwHsiS|^^SG4b~eUxoZeP88#Mb7yOIbR{?E988I z19gzH|4>hVi0ntmc?);YT%O_P^zV$Pe@FUvq+dh&QRG~KBbEM-e6(`@BIo>td+45; z`xpCL2Fo&i74LP!43@cK6kJWKXjQGI)wPDQuP|Mu6og@%7Eu(gxa4b3Dgc z2HTwbPUOB5x!**d6C=-w@o{}ZpA0it<|{J^Y5%nCc)m;iyz+dP{3U%^d9F+SYs&Ln z^0$=dxa2&?#rKuxx#T?0#gCNdy5yhgXZpGFe3$WG7LDimF7-TL#qX8pyyQH`#h;Yt ztK>Xi#VTP2*T(ci$nk;P=VY)=_lbi0>v)}@^y`d2P!H0HI!U=tpxtDpza~Fa4_Eqa z>W|c;it-#kJ?b-R#=w11@Iie@AJ#|04EA~YMLb52)ww!Pk5kqS?N87X^(39IC+jIi z^$X0;)kS)~E(tT(L>EWFrFu!2!Lh}0g{&*&xWg=2zh=~BFhAylmu6+yB+8w7m)@=S z=)KB%rhV2wWd685sZZ(C`iwrS&*=;LqQ0W9>TCMCz7b|Li-GBtN}qAe&{;ZL=Y<(# zV_=miNdJe7#>!e%>Hny&q4Xi-tXE{cBK;Q9pCSDhuB}`jkh9K^{ux_nD{ZZ9mGeLC z=~D(5}w zi>Kp!NBt<>T{)joKTh}7eRV&jKcXG|5z-&wfjUtS(aB1`Lp%B%JWT0-$mw5@{s-xQ zaGK84Svp(i=+SzN9;@^#%!hsj=}&OJo~)1AOC`*^D;$o`0Jl>IV;>92@_SL#)IwO*sw>h*eq-l#X}&3cR8p?50%5wAx-g!k$F z`hY&9kLaViT%S<-DdzLE(jSpOuk=gg^f&mXzOA3@7y6Zct>5Uk`kj8SKZO~8WWE0! z6R|wyS1GlERt+@k3)#Oin9rt}gez;ud5HE~Xi1o{vgvw8Bc|)6y|qtKJ?Aaj zZKbSla@IHI`2OZ4%D4>r;#H$yC9SM%8|vBaSWRo_>bi!qt!P&#N(Oa&9|3D=ZRPt0 z)UT?1?}41_bL4vu$oC#_UFCZQw$A!#VE+@ zAnO@f&&Ybl>RLlt&(!mtv9_|F$?NKxT3>TM4b2;c8Jt5~MZwnEPS-2SJD7LW^_BXJ z?lHjm0=bUGm-M&lW7LY^J@I{L++WA*0s2{tV?5^>{8Bm3kaL`3Wj#>&9ys+Ab*}9* z=RCl8&I5(hA8I~FkI`ep4Bp>_$dTp5Njh1lDDz|dG@YR{mG{qhz7LMPF3#0?db*yg z|DCTNi?+5*VXSCydhTG`2%6X0Y zfnmnBG0-#$(nnx(ZK)hD)N{Nb*M*q%>zTJ#=99rWhvOToWo5{6{5$$b_NV`Z{e|_# z`58GsBj;sg-5|?~8!P8!a?ZQReI9at#hgz`3}>)j-*h{_r96+Kp65~ck$$W^hoYY6 zPsnp8{6@diAC%`zjQ?4As8E=fFE~HZSKl55AJ#|oFy!G7KC6FM`d8-nvc96P z>FfH2zOC=*yZWBKuOEjQyr2K1^*AGz=fNoWl(K%vpHtQkIqw&FzsUQ;5A;L*L_byf zDcXImoOj4M@8DO;`G@>F{a%06d>!srX!nc$syv9HzMOI%Bd@5dD(AJr={aAK4|YC7 zbbH-FhwAFlKBHL-{43Wcr~4`Af9mO{GTO$# zj!|&9?xZ7hXWd12)!lTIj@B`{hwiDoHm@^I_tX7#yiU*qbfO-tlk^ZhOb^#1^(dXH z)0J(@a?I4(I!BMzW0mU~+Ou6UxE6dp3cjTr59IGE$9)EU?&VSNimVK2PrJhDIBp8( z%ke|baf2K;$nk<4FUawN-{`lR?Ko~2|C4guWUL+oXT^SjXBX@rgCZxz>RLl-OZ^&J zGtB4}1EZoK`vvZ<>>uRp56J$2d+FYq_4}H$ztE2T1t%!`Nyg?eaBlh1bJwMMx$<{o z7|-90!E5z8&2~4M-==r!U3$0Pqxb3k`hY&HIo)#eoZpk?PwCToyDn3fD}!}5C^iUg zr$co6FoSLJKjFHO_nH0K-oDS3^=G{A|D^M2#aJGmS0Ud+#oAg|dG1Ah1Ffg6bZzB% z80}gs&$-AsA0g)>9HxKt_2}=Je%B}&|5NrO`rZG8>vPVryT^9J@mhF3X8r$H?k_R> z6~XIspPs>X{&(Fc@%t0D2fs5xepiCMwRn7wg7ML8MNE!=PjeXP&v`C@JQqNo3*ec` z`HlP>UDa(-l#X}&0$8B7-*hJ z*dxl(dQ3q*eFA?!7y0{{$lsSk{=OXYcj0i7X1l__57$1%SBrvN2O!r0$oU`Hhp?8` z);d~O>xCKX#sKGYtfYL8fSl)*$n#3%c_s3^68W7L)=++@Mb7WEko_5XE{Z%CMSi!1 zb(P<5k*}%zev5o9ZJ_*~i+X;~g*;!yb(H6)y6a7>_)6ew_{ZhZuuk{=K zR=?Bl^#}b?f6|}z7yVWL7TcZWUPa4kd99!ob=5Fq!x-SX8_rOkyOHzU4d>|5%JV+z zdESR}b)Fsgc+=V?qiVq7(7C`#wOoRxi2LjqTH8~a~*)p8@UcZ z`g-KP4mr;w_jMV$Jjn0laENZN{9cawVao61$cO7r%J1f==XZ0si;hx$FGv0EI!5{3 z9QFKe4*A_2j?=w#Z{1hVGN!b@Om=Dw8Bt29Q)5G-$ zJu1xT5(CwvApIornn-_%^p{9~iS(0LSL-SFY}D7+wKT^!iacX}46r}o4$6BVXMaHM z_mTYp*&j04$LNQ#vaY7Jw6?Omv}1WQ*snf`f}iSV`ni6gUurG;mD*ZI*U|>c|F6e< z+bRFA9y$N-H+ImDx`B4mY~R`Z4qyLHy-V-b`}F~RP#@BV^)X$pkLwfqv_7NHh8ZTEBQ7Cq+T_DLh$E(Npy_JzW>*8G5E>`?Dj@;C_&96S-E#N?KW~D%UHF=lDa8 zKV<(!jw|H2!UoFmM83ANZ;>}quDi%vXe({4JS$>6*Fs2tgPpajc2ll>8NZowO-kNF zdulK3qkWZiP5Z5MfO2e7KUjw-$20Z0o^~*&pP-(80_i7^{sD`p+s*n>y1VkckM`q~ z=Q-p&$HDz{e;uzA^gx}chv;OTqK7KyP3C*Ja^56AQjgMUI#XvU&;MvYM~~KH^jPIN zAnoSq@yh;AJ^MSd-y-`to~{d&{h9i6bg`bV7wAR0R4>s>b(vlkX0VU9ih}Hq*hbke zGkE+?O?tE5qV%uK|4yY}CBIkiQ~FuzAJB*N5q(sbEBz|% zpVX)IIelJV&^Po=eOo`*FZ3(@TEEe6^*jAue+o1H$a?=dCSv)^uTp9Str})9KkgTi z`^5~VqaE@&1yA(#1;u$@mNPBE4AYPZ>`?iu9vMKZ^8+NI!`5gBg`#;Ik-5zky#W z{RcVy2hwjK{RaM^Kk85Vi*jK@yH%9_ft=4PkUJ6^amMLW1v+gVbdsV zuMEbw%OqSaO7DW4`OS!eGj)z0t(+ej|ERCe{W>}K>-e~Ge@@PQb;i0eFenOcr-OBf zZm&D&P#vbjbtfI692Xg!`&viAHp*~e&Uz@!*DK1~7v&v_^7V`I4T|zkMfrwBdFP_M zOHtm{ynC3z`s@<@1D5CkF-(4-PSir_!#IDFN$01Ho9$?LEkqz z3UYqWV7m;9f;^|f7j(n&rTLC}s4mu*wImjb>F(B_wM)g)dj4Nz#!m|~c%R=!!SAv% ztQUoI4;Jq4yuYzAUmT}<>E60em~mzdu)E@_SsC(r^uO3CN(Oxo?UBua@%C0&FxwTc zf3L5{|GUES+^;XiaAE$C^$+X2j(<;=TmM9u!6xH#i;NRu;Pys>!wj|y zpL-#ndtoJAO{*xsQ(}B$&HAd2uckG0b*-s92WNVogCozuvA#CcPos|d-`a1e&vt9u zp8w~T`o`Ksn`!efV`dC+j>e6&t8zU^J?j+NFOlN{ITo-)duUJXrMNL&wHN$+S&eGXBM~~KH^jMv%^Yl19UQf^y^(39IC+jJCs-C8&>jFJP&(yQ@ zY|Zy|uK9VoP#5W9Jzp=-C3>M=q!;T_y+kk7WqO%ju2<-ldX-+S*XVURsd4Fkc!*Bc zDSDV5u1DyRdX!GpX*ykJ=uDlZvvrOht;guGI#=iEaeBO-peO1{I$uxLQ}k3lO;6Va zdWN2l6BqX7q#J5y?V=lLSM8?Vbz|K`H`UE_ zbKOEqG~Y*0^IqCp`{sY zRtz($#=vz^@Or&LZwxbf#K6N*@DY7fA1lh27v)cwGhN1}G0-;_1o{7Ha4Y5ir6J#@ zsD41?8N8Q)@xF184%Wi^<(e^mZcY?diSnI(uRrLI`cqN;FOg?#7y~?~L!Q%NOXd6G zDszZn89(v z=U`Y)w~t}+9in8gj6cA*BDo z$Mq~dThGyR^*mjqi*>wC&;#^9W&86wY=30?BilcN*JeFu@ZMN1q+i4*qhzce1Jk15 zbp2=h?^Dr^`8=)9=(Df+fQSfwKpl9fr%C?{#`vI~aAo~HbAK*e= z6lM&Jfs>-(d_7rDQI;d4M+|Hi1qWwkxJH!b%5hKLQaSE3*#9|Bk^KibPLbmj>8mrC z&sI@zYi0i=XaCG#8kQ4TUm5fx$40@qIxo!V6$4YF;It?iHDX|R6y&(a5xTSPq8$H> z-%Uqq){lxjqjwCf76n-*WZDdlk7b#JIUae>SSv~f({3LH>A!GjlnmPPzLEEh$LaBU zf}W`C544-F><{GZ4|uAwzR6kN$o`p8I|hbj684Pp`YNTqp>OKj`i{P<@9PKpp?;(v z>nHlDey(5Wm->}{t>0+2&)54t>N7YmaBScpW&h7;8w35KAp0q99VLVJ%{dACD(%T> zkF>{aqGT{llPK6!+l3jdZ>B@0LyiaRuLG3jrk>@-!BH~U-=;;u>AJFhIj6@VQIP!) z+5eF3j+{4<;|Mv9kmCqBj*#OhgMD{#tbgS58@xc5=!Ibh%Y9`gA?+`+-Ni-I<$RcL z27M{Zhb$kmd>I?Z0KaR&UzHA>oZqt`zh}u{c`C;IaaHBHIeDXkcH<-8DLQ@}p*!m? z`gM$B{5Se-m_a}Hbj%;0QGTyN{+#lAm5i}5@L1%yTpuqOziHI3Qla$zq?}gJRkey% z)oQwi*3{ZsN9*cZ+A7uquh&}n{ylkH<@@yHeE%N#zCH4Nd*pLvY!LIy=o14!Mm_$l zzv!>Z37GM`KP<1jPx6XdNh|AW%KN7s?;ERY4P9MX4;fWsVCN`UxS!98ynL*GtWdBW zirXC%;~9;y`>inE&I$`&X2o@Cr>N(8wX=57jkK$By-B<7%05iaI>pU&bKOEqw1@W8 zUdlRQ`o2Xu{T%fkm9ZPYg3yf0ZhhZtu!kQ)_8$t*2{h z1LglGWNxzHSg^)Qkb{*O2=)JU~B-Ve&8ZOXa*u zJ^e3M)&un*ov3qdpLtd5t7%SuXyh4j^r^o9FdXk>3rzo$-d`}NED#ZZn6nVC#n87j5 zdqd9O$oac4FNr*3!x%UGgVp-lR9{Eqbfornl=IdY9g#_v(FmzdoQ3 z>O)~h{TN`|BKs_^rd716)(tZ_)vOou!S>owH_%SnSvS(I+D&U|ZLO<(pNjc6(0aOw zZl+s=8T1z{7qVQ~K}YH6FoX9-Kc7MS{R+m1=(Ma{RP=S@J_v3**~af|3LN+WdA_+4_sFp>%;n} zF4te9E$#ni{;4_VH|jrE&U1zB)-@llJLx;CmbQCW-`AHMpZUkx&ieQCL+iiRZ}cbq zS%1-Al>>m~TSd!hd96@Xzp8mzl8o4YZ*)(zP|) zH#Tpo&2?qpt7bj4uw83ytGRyP{hjrm+p&q`n`sMeSya#U7O%(k7G`^{v&cIX)pJfR zY{#)m&V6EGJ?ELiyrd}qXYapPQTr{;`xe!2ZN5!W{Q&cUO25GJ&@UkU0@5#JaDT(~ z26B90V`Y7kH&xaXd2?m`lCyrXm9|#aGxe-zq`yP1YcpoVKpe&^`Y$er$mx4A4wDte zZt(xb+!#77CP2>5$oU!1P|nX8yx*_Om%i_B^jm!^#xXwg@2vk`d49t9pY+f6J2^ei zVVED!Uou#?Jbys;D`daIO?1V*SqyXiLj4w6qCK>~vLDcHpbpaQl>H%t^){wl>H6D4 z_tddr#?CQNBa@Kn_&XuU-wDBebbmcS`THOly#H$=$LsY5y-{z{Tl6-)U5n2XS$~J) z@6x;V9=%^5)ZG4=KWzOY%Jn+SS^Rog&viWGxsJyt^l5!g`TYmutHchCRkgYn&%ash zzqD(vHEg%~@3gONeI2c<^>j_GuR~p)VY;IZ4>OL70s1p!zeDyrEYY6YTj{45-%shM z$onYcGnnUYaU9_8x`*zmV|ASFtNZCb1@$>!_U*$22D-;~#Eq5fNb*gU>q+v>bqg)g9@aYLTWUYu zO1IW+bX)DO19V`R(If^~K4kfj?EPP$|DfT;L z-$3>|EYTiH9i>;447Sa;QSdwcUVqRZ^{1lxU(A0EGe*b2D^c)OeNA82H}x%jTi;Qx z6Pf;lC>hOTV5cZJLg{14ch%i=lrj&-kI_AJ&oF~?{+dycdn#nV#+KSp*}ti0|HgHc zbw}PI4cUCt>@}_ zx={dn?xteH(AN_D|?@ttz^1* z8!LkMvxToyqCK>y_R?IwEhEoZ+3VAe`ER9L>o#Saep}o3*8w_6w+k~?wj6_PKctN9 zX~%MJul$|PjFr6(?U;`HF66!|V`bCPj`rM_A%EvHV`bCrV*6cnw=zygJ6>m`j?&S( zdzi7Z*QXux;dw&F%G%S8_B?OEab=v2cC_a?1n#Z-lyUlfZNFa`+w)w5*U9N7lyN$q ze=yxaWo&AzK4{tJ=dEoM^4AzS5eR8`=iR(ZfY6ZP5T4wSkCFu z9%qzsI@-~Grq0sYIw#Cn*?OWK^EtMR?dO)U-MlikJFblFj*oUM=ZSh!8KM=q)Rnl_Y(66>(`Dvqe={%8wI(q&fs3>k+?2IKG(x%^jUpgU(}cMWqn0o*EjS{eMjHb z_rr{uF)%A~++W8l-wUDsvncq5eyLw;dD~Ui1NC3|o(!)y$N3zi$A%f)Z+ssGf6$-w zXZ=Ng)m3A9+E>vvwZ8H>Fyr~08`se$%IDbBudjTrPR{4**jIVZM?Oq<)DcQQ&v^QA zq<=>GTg-Ml+x{5q=|>q)KZ*2jnC-^delOiS%orU5JXgoo+Cllg0QI~tOuO?K8KiSyMuMo?@V`y_03{=c>VkwBkQL){xCgU zkIXJJzh`L`FgURqNnNtJwuC^<4o&|mm}-X za{M`ZuAZlh^?bcpm+B>YsV>vY^h$joP8w{F2lXL+R3Fpj`nW!!PwO-KtUjlI*O&Db zrQhUrzfqpglfPQj{x$Ot9siNOVf~x>R+v!|17o5f&z+FxPPnh`r@UrKlnHvE9;8Qw z8MGbd>+Pt+mA}8n_+4~Y-AzYoHLb2Sbal;kqax2ZCkE<8L7r#gI@&~=Dt%$Li@_B^ z|1v6$I~-lmAJ8|gv7$xkKa4N@z7gl2OQJnqs>}2;<@;ug|D)$ezMsZ)d@l{>Mk&m% zwf;K2UaM*~&GYTe=C|m7(s?}I+KOQRSU;|Za0Bh68)|3mq8o)7?897JA>Z3Tp5JDS zj)C=KzrhW(vu>na!wk0f@11|T*?tq=Q*Y8YlQ3LKk4(F;jv7G#{<`^??%D*^nLw6 zxej1F*8%uRl#G!vFg*?coS`$7`@4*$jE{mGdpKL?=+SzNvd__u`ix;Q&^rqD(Ji%~ zZlzo6w%T6@>LA@tIrf<^{XOz|9cJ0lVb&pad~SzqXJk9$F3K@So@KPdyXzR;L-*9N zx|i;)`zY5_8LZ0(qTqx2kUpZ1>GGodiO4fp#{Ht;1U*nED*Yeh57Ehbs2-+=>k)dC zPSt5TUD+>~FYf`_ACT>i><`HPfOGXYJwZ>@lXSkGtf%OydYYcD3-k; z=lD2L3!lHUFSU+>ZM3bn3p2*Xz{KdM@L-*!lfw*-)tgo=y~nvtZ`V8YPQ6?2(R=lN zeLx@5NA%G!gXP{n3epeZP-P#?I3NbPM!`*VQ{7DIvl+jImS_*{sr_^--A3s@nLhLW zMfrfDoPCS-gQ8@xZDTX7*v93vG8`R+?+YN`7eKx*fM4jB`jztiVaD@);SAp6*X2sj zPv3+Y^vSzt60&bL)n*0t>?5paWIZG68F?*aKDdYOsr%`8<-OC6{u8sFel(+I4D1m5 z7YnxuUpTsEu@OrGH_5EwrV!()F~xc2N2PrrSU}X=mlwXZ*&>{!h;SkL>?gS@V5!98ljw zdulK3t;N%^pEKP+W&bAMPB~u5i>G6MqJH>qjE|}nF(dxnHwv;pWw2jw8`~HA7i?#? zG0&%Qo*t(s=!rT%%wV5b76mWM%8>cc4o@j)KPK{Ku>)ZXZKqW? zP&;cE?W)~%W8FkI)6KP~_6jprj{){CY^@xN>YBUZj`m<;rsqUWex($ny`pUT@GF^$xvD@6mge|6hUW`TrG=|4#w={}k{MeN-RQ zC&G-;F+l%~)wFt;!Twg3{h#TJr{nsH>A9}LE2H4S=6rvFobSsb-(SGP!;FzJux8{~ zU)RzG%J=0M&-di8u{I4e&W-{4ZRC9-%Zt1wa=yY^%K3_%^A&Qw!Znri6?r4&JVm~a zuB%P7sj_Wo*E~u_{}|x>gPebG(-2iPL2uNX^k%(HZ`V8YPQ6R-)_e6nyDhxB26G|U(i1M5{PJ)g7>GuW2w zXBo6(Ja#B($2p(p&{(5jeR5sbG77eel2H-^ZKEBw)Af|kA*ttcNaS-!oE`;_R{Aya z3UH;^JHgY;X=VX3-zKDFjh|{BBS(huP<8w)-TWtR%wT@?oFCU)sjAHJL>wnfp*djwX=2!GdM0TkAj8Um)9?T z-EL0b{ZCH6alv%|%KBzLEFZroz)iLAcLIOpeQn|NC1J+Orf+Ne9tG|HmG{GZcpp8L z`Dd(bIdZ?^{QXT`Uf7|x)-{!je=1_qQGd9->wSdotRr=_ z?xACq-y5*K_EMgQW=xHNTMKgbvw!#bxbQq&60iUFSRQ<_V7aD7{-NiIkMswv9PJpt znpRQX7xkG}E2_`DhV`|I#%IoXi1~0H!klmBoR_HQyiz!x^8h*b?}haZ%^T_3MdLYd z(4O-~;dGgEyi?D4q;P!ZEv%=1W<334VY|$8JpE%NKc;AW<~e@PqVbvMc#gBe z`DdQv_bwWrd5-6}ESx^`9M9(#h2t~N@qF%AI6iZpPf>rQPAzJed5)i6G(PhjKeK3j z=5wq+rf7WTIiBxD7cOV!$6J3w(fAY1`5i~$bZ48Nqf7KcU8hF#C&+KI9ul^&ylD< zM&~N$R_eJw$K&+`ov$bBDSE1&rVGLhu1{uW5{`+&c@odlh5G!erS&i9i~6#@s{hc} z^$mSf-_p00zc0t@y{GT%2l}CYq#x@i`k8*AUnzfQj`?Q(o%xT--=AYV%ay^k;Z^Z| z@#-*xXA*0cFa4e&zjr6+_wE@hn~vYZ)1KeMBmW;NuA}_FsN{{cNtnU%@jY1Vs@=4^ zZlas%=DLOU)V|tJx6%GONC)c>-9d-yFdeQt>CU=~?y4hol^-MiW`J8G@wBvIsJU`4}dtaGJnB$Sp zt&q>H@M2x6mnh%s9TVgEUT?pjZnan$p996qRg9!JjSameR!xLhAsK98gR zNqt(M(Of^d{$H~GWqn0o)qm(~`ntZQZ|i&dnSP;P>R0-;exu)q87tdPKa{cEPtNxj z{Z;wC`j~hjzOSCKve%;>?JFqXYbWP>>{vysD&K3Tp5JpIzvn>y4mN z^7{eg_XF5PH`C3vM0V>pacxm{^`Giq2ot zqK^4-y@7L->k4wND>8C=lInA$a=+N zmFqTguG^67HsrbuPtX&U>o@98R<75`PuFwwTs==0>Y}3hY?sqrg&FKi)#LsQc}{~omqDJ(AkSTp z=kLh#7UcN~uB|**A#bcaPa$urJXaxasjak)w$*mZb9UNyQl6)iZ=^gYC+9f@^1K>( z{(?Mb!Og>r4Pu~e6l|yKY5OpP>9`-qqm=u2a_-l0hR)L2VFvdpzeYjscai&CF8gP`%UCN5xEaUj&tPqNXYSy^_AnCoZqD)zwgGT+Dw~k zOKqjCwT<#QG}H6F23$|uYe!vQH_%SHq4K>2rssPLxRG|#?#lNO7|-_#kna^Bzq`f~ z?Ww)AxAxI3wXgQmt#oVMRtM-n9i-doU>%~{>rfr0JL+)VS$EN0mEUdhen#sU9joJX zFWp=B)%|q5PS69D&rzBGMCJ2y@*Fr!NhtRDsGyE5q4pNWFc>T_X6#TekcjGUK|^D)+n`D1OZtMm)h zH&Ct*$T?r*Ny>SfobxvF+yzh7GxSX5I|_{Fyo?KVk*@9QtfS{!zeG8YGact~%=f|h zJflJka371@$0GN!xKJ1AVm)6k&?UzbpUdmkUUmw{{bh`ZflZ^}X1axzDAO>$xAxJ#x|MFN+vv91Uk7NmA8bA(%;5Tg{t2%R zGkAU4;r3Y>@*a25U6u1G^_%JDT2tvi7+*)}C&-KMBet-9WQ=3{DE)W89{VS+&;E&j z_4{LgV7~0f$n$Yz|Hc2#*N>N95%c2TD`I;f=P_hILG}~me1@FA@P;shV`F#}+)3G& z$k}g@b0Ut6lEHj#bbdD}=fw=#|JnI6ALf6navmkWOYc$6tJL48oL|Ww3NzSFf8~CW z^W}9O@%0|n$8@E{X)Oeul1WS<6n8d%!l{)t>$w4X#Ue*^g7Ik*ZH|%e*Y=`L8n-* z)uLb(t*X_uy4KWMT3hRAU9G2U>RQ@B8)_q6N7vQH+C-a%8KYyML0qq3Lv5sM>$=)l zn`$#{p)Iv_n9)53%ExxXRkf0?7G{i#0j`^o^Irzj{TKy*(O>m%1?`xQ>+KBMe;Eb8 z(Qoy;FoWqhzarP^*igBCCg=JY*VX3QLR)Gp46a4kzR31PwlA`Mk?()u zTFQ3Lb}_gjcwg0GzF4DR{yY<0FABETj=F)eZ!*5KcF~Qrt1@reZK7O{k#jwUT#sRi z=KOk@_YO1YS00RlPw6xIoc>*3(wFrW9jsh$F`w;q2OX-f>Ob@~E$j5J+x~5RN8i^E z^h5nbKh@9lbNxcuA6f3N^lN2*r2czle<#n^`PrQPpL+IxWdFx<%5g?sQ90hoD{D^A zenWj(*T?G7K7)RCmngWa{*~u<<~!2)jtVpAv#ySU*XXr+T~VInZ;bkkCNZ#KybtWG zU34Sus@;mlcaJ=SW8sM?_@q9q?9bG*KjVw~lCob?|GK`RZ|Yn6uCo1U&whsNXUKkr z>}SY+hU{O+eudvC{T?~{8U7F@V{8oY_OPN>(#p#Di}9Slu!eFkL|#+rzsTz={T4ar zC0twA)h60pTWBk7t!DuSNkdVgUn}J-A*}f zs2`%7@5ysL(I1i1AK@_FQAcR;bh}wUN_W>ib)4?4`|5tWzmC@ldZ13!Lv*rE(L?nx zJzS5_BlReqrZbgem-owkJ+?O?tE5qIc+>dbi%I z_v!umfIg&;=%cz^pU@}uX?;$g*B6w2i{+=^!ngHZeP2HaGyceW{5U5HneMlqyYRZS zLpm_z{D&2k>&%Rm&4+eOS5LVfB(JYr7m_zpt_R7v9>m7lM7chsp6f#7x)8Y@M6L(1 zy>?K}OVo2-Le5Lbc?mfW;l|2&mz?KGh3$B*M9y;}EYTj?Q~N2O$IxyY?XRmv9rg5U z8T-UQ`6yUjIUkU-j&Tj;yg;7g>zdco`nr}j3^SOP^@JUj^+C@08CehbSrq(2zf{hH z)U#h8*Fng7L)IIzzObrteMFw^`kGG4)*JaieN(xQr=I(D{6Ig_kCppn z#&f@pU+Opdo&KQQSJRIBVEkLT|9@US@{ILjfc_KdKau_u&(JgVETvy%{JBvwc%2=5 zy`efxchuoJBFyL>1AI<~2k0c7tW*9Edv^hKMYRTeTv8DcDJ7*Pl~z!?yE|WA%0d(s z5l~4H5wI~(F%dyjR4nYk?rufJ?#}P|!+)=JzO$5zb+7k+-(GHi^X%CZXU@#td*+<; zqSJJi&e6F#PmkC6x=>HjrFwpt66bSn#CV`i)I*g0OzHQ&Uh4lhpSS6CH;;+y<2c|t zy+LoxD!Y``A7L-p>x&QMs?8yo+|#Zpu7z5ACUGxjqr6v@j;(vfTU`d>!3W_tFNs zk2Y1_6PDjk*$?7w%03XYAIN@SFYTwCmy~lp;z;E_E+ytM{z-{?%*PxZtz&d-n9`(} zAjWaZ{U9-IDQ?ntb^ooD$E?kX?N5x1hbZeJK2#6W$$GfX(Rs@K9?Q+wlXOv-(ytwd zDKV4fj?$@mv`*9MIz#CjSdQxuOKX`hrC-}#xtK})-Ie=T;w5@=n9{E;|4-T9)6!0c z|K$BVBleHud$yhvru0wV?`5%*>^IL7Qu-(F@A9;h;XiplFZ?gr&x>L|dH*lg6?(a@ z)GKtAuGTAcjb5cZ2V%X~D$jw4uh$#&M!iXI)?4&e{j=@gZLyw|{>kUfow1V~r$768 z?@BK={3pNOdwsn;$K!Qx(1-Lru4iH=c|FgioelrV`}?B%`-;AN>vjrTpXalg>n&o;=h&2Q>-zXylKR=}<9l?J^L+y3`vh1@chzm(&TiJv z-VXPdte5W#Aor8V{UmPd`gx8_{p|JgJel$;zjJ+6e`9?-4`zLT_B`Wx^6z9+3g;@?=`DZf%4 ztKXb>cE-38AJm8R5oP?se8w;Mgg&i|6DV)1?X-h-)K1Ft8|rt{9@a>KwS~6SR@z!QZ`nTQE%H1RIe(G! z7dd~ivvU3tcUR71V$NgirJT>ieU$T=nDZGqpONz!2Px+@@em!V!<4Z&^G7JpDTznx z80C2+<>Pd`9-s&6L3*%G)I)TV9;%1wWIaNURGz=F-J^7>PSfc+Lyys8mFImdKU?SO zJUw3L>j`>dm{Q@G;B_Le6M3B}@!s=!KGxIv+E5!QpZ8O*iSDiYXjA3$YU;JnmdbdJ za>iH4_zK%=M`e6Oc^B=fjF%|yp*^*?_R+q|xQhCWtB~;!GR{Fh_eI7x$mhSv_yifB zAma|qQ9h3)9;0KG@kdHrqt8di7xX24MPJp|^i8F|V>#}F@NM0s@9KN{zJ915>Bsu1 zex{%67y6}gf5-N|)^9XzCv7+F$4}1xS%1;(;yAD#?#nQ*=2ONKl=HpMl#0g0xe?>C zjPhTrx59dtXVv4rkNP`kVcki&Z(~09VYrKO|3zFvx$h$0Rk?2>F0U1o`zFdODfd4q z(dO+L8EMb4p4Qg}O1sW{)`d-!cAc1Z9h)lcJMq4{pVGcl-b!0*8|9p3KJ7fx&LizS z){mSLb-G1H+IOUVN7{E}8KhlD+I8%wwCltJl=hvN_8n>8k@h{a9_@QdoDVf3V@<84 zwZoK3#KcaKu}CTmi$(rl7!OT|*Fn35gOzqGC0^&oi197`Pkw)g_muM=IscLK3pvlR zv2vaha~>n(7HpxZytQ!~<$R`II)^xqi92f-?W&y5%;&sC&RgWXMb2B~{Kiyos4?RW z%17v^FeP3CeJgSvrbPXm$T(VaHG4bbEKl1x#CVb(s*{!R1nWIo8CMWb*X;E(u3-Lg zI#XxqY)$K(XUsT*<>u=Nn!WyozfvAWn-k~d-#H%tZ(qNMY4dSrT*2|?IRWyVAf*B^ zK|h1^TS&i!^jnzueG+2&F|48VU&QoZSW|0-DY0FiL!{I!CfE=BPkbMa?eceNvAd4c z(Rz?>OTAdl=ES+qd7Dzjn7Aj_lTw?QI4m-9-QnTNct53iF|i>s-meenL;8q5niW4D zaZ0S8`v;t&Y&RwLuVS9aA>$6@e8`Ne8duZmSuyidY7-L&N5+XtyOUC-n3xk8x&J`g z0i+$k1$v@#JS#;$Nf+s2U7{!JDSDcou4#KqjnC4v^&CA{m+5(WzFwedeHR&Ds+Z{s zU8z^-DqXEt>KeURuL)DC8xyxh#@kb2$oup`o-KZ;AL+;XiGHe|>F4@|eyLyS*ZPfq zt9&1k?S8L6=#To7{;aGkz8?yY^auk!cisXssm>L4AgLv*MP)3iM8AnO^WIZC@od9IGpRDZnj z1m*8(Q~v&9+9!9_EN@Slrv64 z#%aj?1#*9Z1C{#=;=#)JjhJy2GJeBRnxmsNSI6jB9jE*20eYYwtP_>-8rz}&NQr&q zdPS~RCf%CW^)Wa=i*&J`tjqO6y+|+7%XEcat}B)CDBE4FSL)TeR<8|H+CC<@j*#mIU)MMEP35{_ zKGzGrt6VR{TrbG=f*SVBu`Dcx0f)6&YeS+1;>)3khrh*M%eIz>j_1El@LuG&3JiR*^ff>l#t z$Z@&UG6Nm|sU}Q;GM~y|kXz*G8I_-^aMAHVac~ z6%!33Bg>_>D|y3u1!P0P||TFr|ty zF)A|V=xEK=Fduntki zWhrr9@w$+8BFiDmA%n5u8hZtM=JYAoYt4QpR6N)BV}fo}y`gPK!9D z_A!z1@;CohwG;y7lbMOQ1@41-%|cv6YBBrUtoa(Tij2_=}BQqT!(z$0r|cI*4GBwP#bAuZK8WC_X8~7Oq**9 zZKz7g?P%D-Dg z%)d{BKk3iHYe2Tj(V=&@MT3M@TRjsDgb&oKm?Ea!{%=jfTW_C2AD9?Bu<0F2GI;Pz4 zn~Zi~--sDEAfKaSTjl#k#C+cfdnn&GBF?;z=DKVi8Cxi0GU8U+TH7f5o>{-WaR==f zro_4%#(rZX<=U7=w*6Um=fpdThTxv|Gp5uqnng}Z;0{_^dtRPKT-ZY zBI@z)5h4E`5%TX5A^#o`^6wF4&i~%{2mMihQvQ7*>htdlAq^>}{h%KremgP}r^FbK z_7!Pgk@giicF6riN_k`AyU6&x{-8hVPx`ZRT~I%d=GA=4_pX@F_oY(eJSrXSE0)o+ zS#gDkQ{p96h~<&bkyAP~CTK6PjFwf}3(CtY?FI4fT1hKwm5lP3+?+U%Xophb_^yl> zgIDM(U9DH@8qIDGDNpH`n3xwCkJl4)L6{QrI2;(w?PiNAuQMgqvoHlAul1bR9y0Dl z#=E#IV?XLeT&BvF?~Ikza#~(@*NR$6D{B?4s@1f*?x8ibrq%SK4ykw9&TOPCIBv?WCQxi+0s++Fg5S zPwl0>wU74Ie%fEtehf4oq=R*c4%J~gTu10g9i=%sT61-bj@5CR_G5za{(68Os0Zo6 zI#CbNNqVRrrjzvuy&^7huIp90TCdcr^lH6E*Xp%;onEi&^aj0AZ_=Cf7G1Bm>TPjV0rKBN!pBl@U5rjP3r`lLRkPwO-KtUjk{KVL9@QD4%R z^%Z?pU(?t14SiEL>RbA@zN4G;U42jA*AMigFeUo>hA9Xc8_>t$zPg`spGP_OdB}ZU zN{k(Dj*PdY!f;^Z#(B5Mzn?|CxAOT9anr1L--uJ{7Zdc?SV1#(fAjO4g;Ac;&N0FM zA^V5ihhkIZ^%3*>kk^MTw576qO57{FlQGUH8u1OWpLk=&{xaq+7a7@aWWTXuR?Ijf zb3WT3t`<2Zj?Yn%ajG7z({#Gd&|~yiovE{Rjxu&giTj+)%){9#RQ+9 z;541CGxS((6LqN9R@-TN?VugClXebMY7i5C zYipe_CEA#4BI8=URFLUSDD%1hMD9P4=k_>Kd7e(3qdZS1 z9;0K!l=g~={E@MM7F5RNl<%O0ls1=gKCi)@Bd63OCb*uF>lwM8k?T1nmb)Y}UaFVr z3cXxchA9n;3Ep4i{l)#2_cx`!F~Q43_7{spPN{87JQ^7v)5rCRFeR?7e36mkgd8X2 zI3dRgIX)@TRxXN+i&J4p|1wi&>FhA25;0LVGIHMG9$G^=_b9KWoQK4mhnV6tpJPlp z?FQD@2HGf0sYOf_i;TsUWr#~E?FcdL8Pc91?HQI++A-n^N;^i(F~Le&S$W-*S5sa$ zF|RwNHZgHeWV~1J(+y!t?0ZgR9Id%JM#t(n9k0|&iPt_b1tI4P-}gqo?~S#U-^rvz zd)hTJcGK=*O00KYWISHy>j}C*Pt=8al5&2rJm(kEPU6X$>YZks)|b{#`<)W+S^LP? zAr*$S>3b^YQA$N)Vpe3Ft?WNB>qoYi66;}ktf!oZ#GHrNP#bBJFeR>C&ND2n^qa)& zGjhIR1?7Ar=6u6ST17eEDCc~`>dJYSS)S^p<+#pL;@sf*AM*SUdH#ny|3jV+@^udhdG(P5Y{v+o* zE{UAdoS0zTf>mR?lHw&_r#gk{k({IPKf!# zl&H6-_4)jan9s|Q&&yKcn%O=w?x2N~wj?E%qd!Oba~!ARb$>lT57a}#l$yuHH*r4T zxB8uauRkc~5A`^Iu$I==y1J(}(1zMb)A}|V^LZrednZh3PE7of_mlN(a((aW`}&D~ zs$YaDac(@6aa_hl{B)Wbj)^=xBj$X4KBIosi2FpwzS>W@_9-8vye?wSQ{+5F&Qr|M z(VDAcm3^Zg*8m<6Ii+?nF*h=D4kG7LN|j<_-`H>5Px;)HxP`XV*4jqfX?yLUU6jvx zSWhqQt9*}=a<-S!teD`u#?14Y_wSo%AMjhv&9@~UqvLgg{#EDY{#olk$oM<=gU>VA zufJ-0f5-Y__ckZak%uGWBl@U59;U>(L0^YE>n_UJiE_pixNGE;=%aamv7hp}9`S%M zrAjezZ^TGDkF@i6ztY|l)869?`l7z1FY7D%YM2sZq+=uFaXM3H>6|bnrYlEA`gN?T z)wFt;5_Jm2_Hak#ck#qUbZ0FZrbItXdw~74zYYjfDi9OzM#j&yOst2vtbS?vS6adH z-Sr#Gzt!*c2mMLY^4qx_pKqna>nRa2mef+ZtMa`I=JUM^WIvJp#By3**+0rFhADB3 z508vT=#e@_j|x+YOK)@khV*Yp|AzEyc#uw1`Z>xc>7jar>I-;EG2)|RVCt|KA{872C zh=0~!lA`;)k;0hqGe(b&h*F-t_O8 z@nc!><5}?&S@Dxu@l#px(^>H|S@E-3@pD=6^I7o=S@DZm@k_rFN73d~ApSokG8T{P z2I;qu{tC0(JNhrmX`hky8EJ=cp3VmVH+ zrc@&)@J<<;2 z4$63d_;6)hKukZ3DK2a|d({pdV(&{6Lq2TyJ?wJylQB)AdX}OV82l{Z8fg#0kxI?$!Hr zLzq%-OjM7IoR`SCg0+Nm$kD~ZQD>Uc4>2}9RD8}#|MY#P#vbj z!<4vJ-w+uYS0LjFWE_DHWyOpaQfdFsW7A-;}Co{a!S==V#mnHxs64Xy2M3w7o{zyyttN7 z`d`ZFe{omcO-pMzrGKLy`-|)^(l28rt*lkFy3+npuZGeu6W39$OJc4|+)HT>iD?g! zej4egk#-R|hDd*n^w+qb(k>FyE@Dewo=kTJIZw(|X@@y>Iwo)iTJJl5(|R|#Ud9)kAMY#U3u4aO zl(-j|5*d$D+D+nVI$dc$DL+;@Ux_(iajtUS5}%+8bfGQ^Q>q>l^g}o{6^1N-ik_;c z>FHrgRbyg7-YuV1oTv+RQJ50fTcOBUM%gCu9?H0axVAFBAl^&sDdP&t8!6)nV#X85 zcmnrT#u3CFBd0{W#q)RM{v4<1R6Sa`k7oWXouhMgo*u9Bb)lZ5+>fxH^TU*KV}j55 z@PIHSn!GC_<0_@U%8co^GUGK_G5s;~uhF%7y{^**QHgpd>cXseF*8l<|F^!5@AL=# zQGeE7lrQ_STprD@sowSxr_?Vd^2heDfYRR+)8FHcT3C0=DlZywN;}2`uM=-bg<+@2 zD`UHOg|5}>^k%(9*X!+ihu*38=)HQMZqWPnA$?dM(MR<$eNvy&r}Y_qPM_Bo^<{lE zOo@95&Qts+J)dHKxL$C9o*1SyFD7b7jCGXHV~F`228$`rU5WXe5P80ed_IU}w4OH5 zhG9xwVuJfGWS@}xFD#)Y!<4GU#P%r&TShJ$>q9h`*6 zPwl0>wU7R*{Z94zM*Woj?(;HjhkIW7EabgQiS7TM=c(nQK5ZJ(&tP+Hp}eP*@2A=G z+x*J>DB7H=#Q!Tt#+2D_rrB?-u6t+=r5{acc}(0F88_&|`iMRjru1v)1@o6jeo|iz zQ{wzs6#W)1)+J#|xiRrwWc*%#)Sr~+*354e=L5FZw%T4hYZv9bq&~mj-zz;#xvW>U`^;p!An4M}LX*kGMon(=&9bo}=gLGCeP={6gc4 z^%A{QSLn(xCEBN>BO~KRoUSv%lsG5z#QTGJHJ=vH?R5t&q&sSnFeP?@-(e%a!$#f@ zY4xLq7q%%l0Wpl+{)bVsFKVL94EOzY?UOQ~l}6pD=W`6$Zi9FtPfn4rBt+6%0uwZoKH?$$rJ9OI*ue$V#q z{DaHg9m}!5jK7fa7c%}r#$Whgm=gCnBO@cv=`crgb&QVH@j4+)iSs2l&MO>~aen1Q z%;ycr=MA__xep+|Krhsb^kTh4FV)NRa$TvbbhWP0Yjmw%r|a|vy-9D;^?IA$u6O8N zdbi%Ae4mcj#rNru@6+Lf`j9@XkLaWNm_Dvg=#%=4KC92`i~5rCy*#%2s=lVL>zle! z-_p1BoiHWN-&v7yw$4}XvngK?Ii;MKV0ql6@9PKpVVKe%SwG9?#0oyr&-8QsO25`` zl>0Z9oSU?LZ_i2>xs5@y9-C6lN2-GVPrnERFXr{5C?x3{Ol+zAl z5#3oiHk5O1A>(jl9FC=QH!ZDcJ&eJqS3Yt|Rbt|)$oPyttIz54`hvcwFJ+bUyfGzS zL$^4d*j;;QPwl0A51D#>w66})p*l>5>qs4?IbljYVuI%($ny~7c?iD2*LCo(ckl#^YV{M|T9)JIh`6aZZ zmeO5yH!Yntznt-_`kKC>Z-yx~kBPtHbFQ>L_Isn-c}w3`ejmd8P0H^(h~HCw=Ry2| zejKL6`NMI-y>%bmSNF?`TN=00*4jqfg(-1OGfqiqVN6uYyXE^oRkWJc(3)CX>uUpT zsExvu*v`%=2-!|!>+$yqi23^j*g{)s8*QuYw4-(kQ)(R(IgxR!9-s&6!8%bV>7hDV z57*;#beIzR$#$``c2&MlM|n?8$EB}vKOGRJ#PJyy8OJDbO019iI52Cu+*Bz{^KnR4 zz3lgy`P3V#!?NnLA1P6f`8ZtpULo=5jOC)~*!(>jJUiMOJXaaN5-(TAt;CE|afLEY zCB8ye>FTWb%B+}iEX$?(R~cWe*DB*$>RqplZ;2V-;*DAJZ#8Co%Y4SSc!%DpjB_bx zoQwDBePK$BZFoM9SEj;{`iy_^VP%|~($M<^6{ZA?5SYpPX$aonU2P5NP zd_x(Z62GfyxetsPXEL90CVs4pH&fc${(WJ6#-l9HcohHDelcF9-uKElHKna>@8@l- zmnY6|*3Y;X^C{zBV#dFj^9va>?xmb@FEZZ6Vp=>*X>0pQJ(erEjrDi4e(7zj&p4m; zr{m4{K8bhNircuJ%zBK$2gG`DpbpZ(%J`M}j9XKpEuI&>KXADZmGYDrzmAUm!Q71f8WS=7MM}({m@&U-#M|r9)z3aAX{!LzVl2lz!{{ zWjXpZ*aY0@;n6>L{5qQ`lI`QVl2!07}MZMx=0u65DqK}z#t;`PY*M&y)OFZJ+v<#!6i3zXj}5c9hPToR_#EGE`O#;a0c zNWGIY>e2r8jP@LP{*zKpOk5Kg*Xp%;onEipkLAQP_Z`Un7;-;`+;<`OTey!l)n>Y{ zaz92r?#Hl|a$lAb&*m- zaW=~_&c-#$@h7IgLyl`^%<;{P*?(g8KePM>V_rvQIj@8GmaOtyjc>~;zr*;>tn#~! z@5w5^&v-+a(%*4?v3_31{rZ4Ds1NBQn%<8mjGxpab&4LPQ?tsaN1PJp|Ko9f;S>5~ z#`$($l;@9(oO4)MchVwZN*o_P&&5gkw#f4=;=}a_{VT>LtoO*Q^-ndXb7p>C{j0Y3 zcdRdVb916Eyf89yo#Vy&xbnVJ&hv77TA$Hp^*McBU(grzC4E_6)3p9KjNjCa`j)<} z@8~9dSKrh3^&?H||HSxH{Y*dCFZ4_OO25``^jrNw)B1lh{#k#~?V`QsxaHBjnosj< z0o`8t9U#jU(jB$1?xaO@XWc~$hAI74KgIf~hv{{cGTv2p)6&ZGYwDL%o?{d9_aAU~ zt*Di>il*)Gyqo&fbq}qfwY0X@(Ym^)?xppV=jE)okv7&Qy0`A5O|_Zst2}3CJv?Ve zp0i_1ZKd45QQk(|YA5ZiU9_uq)9%_s87Htl#tGP4`J9ND&xx>~az9SY{Wx+zjzg9E zaN^-QLPsk1#mpZYrgTtDM6*2gd z&U@s%N6!0{{>=JW59{Ol!G_B9L(KJqTtCS5gIqVr^@3b4$n}!apV=?g!}_@HFzpxD z8!^{gN`GcMtcUe+-KMl}OiYRx56viV9Wn1K^1dMN3vwKhAc_lf$nYsmYAyiYhgGH&bo(sG&aFURM|SRWp(XX;sDN@vFe zA?DS5%6O0R7&dKod)+|`DdR!v71o`U_K9-ZALLp`+9#xa!V+3iX{RWsox3d|zQ-wg zlupy>Iz#zACiRcgnL11PJtp(#>KS^bF4c2%nVzQ?=%sp@uF%VMrLNM|x<;?ktMwXP ztJmrEx=wG<8}(+rMc3=CdYj&@_bPv9f#a}2@7D+PA$?dM(MR<$eL|nqr}SxkM)_U< z+uNvb=_cj#dgk*vJ@Pp{eyATQpW9RZiGHS^>lgZ^ex+aQx60qKWIf;O56bUcDgQ}- zQEr4O=XbBj?_!YO#UQ_jL4G%h{4NIhT@3QO7~ENlX-O@myJ{INtL3!3R?ywGqE^z% zT1Bhs9$`vctE;0Uz$^7CU8gtc&3dce5vDXGCTN$Db{Q*bC9SNq!_24sMcUt#PKt^C z(IFw9gCn1V<4DcbaXLZw*8`OA8KpEPCV1IMzlH^s*G^3Ph4g1gKZf*UNWX>jTS&i! z^gBquh4fd*@j#9T(obOpt)?6Y$~g{LL+dL22IcfONI!%0Ge|#!^iSAKY0ruGQ`&W6 z+I6Hq$Mm{s--$bEXYHb0HG8?9miN-$+DH3q_HqL)=N!o1pD5a#SoV!L&+tv%sBbHu zk28Oh^0_(j`(aA6W1>UE*ipG3OleL`upc;7hv~n%AK-qH^>ROn+)pC+lPUd~^|Kz< z$9*aGQtm^Ex&K7&Ke4}ZA4)t>2kQ{!K9u>~ha&f(DgBxKWj(Bq`&k^NIhw27-!gxk zjt^7%Guvl9tapN@<8`3%L4VP9SP$DdIAeW`aej;#f6|{b=8uW;|KAR6x!(WV+M$Qy zeWYD^SRc{H^+{c?^pn(oN}v9X`OjGX+;7Z(-trfIWB!YlzpSr@DbZ)mix>~lNqU%m z8uOUXb64cKD}JRs7bV_7C+p#Qgf6sxiVIu5lcwdT8PC@RdSaMT>zLs8GI*2nyBXs3 zVM>c*g8m%o&yjux>DQ3{9O=(-XXU<>nAe8%>sV6h*NM3gMf!D2>!DvKre9B~bxiR2 z9rF1dw$@(STl*^G9qRGDLmaGpZ;+Vp4dMu897H@yb9Ag`j(ZqGtci?Q>D79TuGQ=G zdZk`Uj0vcR)I;jw4SJ*AtheZ`db{4K_vpR)pgyDz>m&M@KCVybllrtiqc7-7`m(;F zuj*_1y1t=r>PCG_-_cF_p1!Xi=!g1|eym(?9JkN(EB#u((eLzo{ZW6?UzF>U_3^m{ z7SMvqbw_z2-BGzdDKDzUw1k$_U6s!rs9##kXgMvf6_n2#s9#C>e1W*S*3g<-TkB|D z<@qYh@jMTCj)y##L!LuoBjs}h;%3ToHe#NaVRLP%d~QH_YvuVPaeM8cj2kIu+=z_# zu&Z{{?%Gose^8I{8urnC+Fu#3F`w}oGG4>s%6N*H@f0$iLdH`#M#m}RAj%KaiAp~} zIsE|Ajw9_h^865w(y2`&f%Kc7GWbSvcoA%UR+DH5A0Oh_WC-PwBzJi$h z3go^5M<~$DU57vn~Ne|P>dbl2`Q}igErZe;yJx*upES;_M^mtvM3-u&j zq>J@rJw?yZrFxd0qvz@}y-Y9HmAXplhjJp*58=&`Qz{x0oPWsqhqbhJm{Lwm&~K&m zdzQO37Rrfyo8F;!>Rn2|mlK(O5AV|rdcQuP^nW>#AJxb738nwbiTsq(4-!A4&+2nZ zf0z^bWqn2I2Xi97u5T#)U{2(XNaw!WwIe>ssqQ2IUMkM$F!|I3N|nSQQc>o@wX zey>01kGfr+E$hjnd6oV!C+g52BK;xKAL8~(zer5Kh`T8LATj+Q(hnm2Akq&a{UDZA z`axp)L8KqV-Ie~3xRO@Us!IRJeELV+L+KxhYbpI9G5sOZA0quB(jOxIAvRX}MdGGP z|42;#i1d$0|A_RDNdJhfmHv^qt+rG8Ny_Obk^T|s7qN%ZFA~!)BK;!LA0quB(jOxI zAr4adMdBekREH`3CG$rp{Uz~OrGF%*f5Zv8ztUe)PJfAqD)&9a^pi-tfpxTQm{PHr zn45xdY-IjEEb{kZ@zyXU+Iad^JVxnPQ`**ch~?>ralW3QC+b37q>FV)m=fE2En<9A zH|ksZwr&bj;&r`~cgySBr0?qc`hk9=AL}RjseYkf>DT&=ey88-5Bj72q(AF+`L^sA ze`kaJ%&!HspqA2IbvG@eWwo4^*WI`+r z+Eu%0cRj}U^EjQQvvrQn)rDb7y#A|G5V9Z4$HlrtPu5fPR6SkK&@;o7wsw4%ZezW( zUGF*DSpVE@tarZay+D`ig?h1GqL=Drdb#p<+BjZU=qkNZ*XUJxwXRiuH^cJjb*AIU z^B&4?Ql9e=->SFi?Rtma6{f`TuMruyHqK+ccmKiV?sdEO=>~mRAJIqkF@0S5o-Nyd zTA$Gu^hJG1Ukg*J9uxf{BljK1eMd@FW8%JOSMVG?SI^V)b-7-o7waXuQdjGhx<;?k ztCe<*?b5E{wR)XiuQ%#VdW+twx9J^vm)@8@awS<20Z8Db0%s z?kBK?a$iAQOp9wtO42zY+vl-kC` zNs*D~70B}nT%tU;Am+J6N_)iwV|*;Ge11S&QcLNsx|^2HDrdQrc)j_2z4Ki^$0yur|8i-O{eP&<@p%;|S%xnK)O+=vd{xnfcr|;{nS3Gx0%sh)&YO^zf{h=gusb<{xD|O}Rg2 z{tP`vXX-4St#fsr9q9^Mqda9nLr|TKYIE&?%>3MpQUZR)k3S~US zafc& zM&H*D^ke-*ztC^=Tm4SI*B|sp{YCkE66}9o&94QNzaNns^LNz3x|0^sU9`BC(2`n8 zcUAr_L~g9Nw3gAbT29Mrr7)%6^S)Ge`6^ml>*}6bPwQ(#ZKRF0iSj$u+}NR}+Duz$ zOKqjCwT-sb_S!|eY7gxhru2JWcW;;Pr-O8`4%OjdO3h<}=O@VX6Xf{`)>fXM5cB*5 z`FmN&^AO~DNJ_aeF~aSP)KNM{`+6Rxc9-uf=Eiad=^;8v57WtdxE`TL>Crk(r|U6# zoX*r)I$L=zk{kOmPc!#3y}k=#qF`j)UUvvn8W@TvvSV*@vKdNm`jIT#T#*x}QmM3nZf9C##_2jtT(faS+9_Ky#!Fi8=_3PvMVZBG| z3}t*w`M>-1{=2vLpFF;CcsD1m8=i|J&&9Eq_SU}IUkB-69U7*@y%g6H?wblN`$E4~ z+9&FM8#$%^F|lV{Ke(6H*9O{98);*0qNzTgPqH2^f9$P&w6FHl0ZJc1{XsfZhv{(T ze4!rKKaSOLI$pW&WIp$u$bBbrjF5f@>31^Ax$cPRZ}14EpCP87!J~Ala=%GA*ApJA z+;0-k)HHvV@mxJ#=PUP}EVn?p|ICcJ4<%l#OY~$tMVo62ZKbWXO;&k(;||(UJ84(# zrrq^4U8-m4xw=fxQ^qFj|Al&yUZR)j<$8s#($#up*8HoDuhF%7tzM_=^aib{m9>gi z)oNN@_fYP`cpWvhme$rfT36Hh>KWJ92HH>?WzFBm_$Iws*Xyl%o8GQ>=$(3(-mUlO zy?URfPCGlYyKwVclAU4NEu&p z-Y~wzFZ4_OM!(Y^^=JJ>^W@pGJmW*w!#E1_Yk{o!j1QU5_z)Q%Vo_yWNL);dE8|1T z86P6!LoBU4=Or$y<+Qw3(A_oFt883VtLc8qxQ_L9Q=XF%_t2i&OM7b{<^G8J{gnGT z;sMI{Q;2zA9=2Z^Ofgn#3$-PJxLeoVqKyqhbe8#_D^xSQ}r}G z{dca1`s{DopR<4G^3-SfbM-vEKzRrVMU?u)yJ&GOp(VAH?xv-+jF#1MT0TsP{azCpuS$g> z+pVCxYh|V1WIp{R(oZ7&Bho)2{Ug#pBK>1#IsGCr{UXvYVq?W_Kh*D{yl2FWgRr~y)Lz<0`)WUB88YKu9HfJFi00~eouK>c zK{`e)0dk(C@|fJ5sKb6B`;ijIn&+)4 zF@Ivle8xKWMT{Hte*Lxbv>wj&%3hm^e9Ax6kMtA$Oux{t^;_jRKFj~0Kk0UEH^uoPPKop5kDNz~ zW4Zj1kz2{`|77rm-?S8<1gZ`G@tbtFHz2O7;K>}m2nj1wDXwi zcQWp*U6pYR^|~wL7~)=GN}P9`hq%9T-Vrl?z(aLg>P7X<>Dc%`pPwM-Q%Y51V)pi1 zzV|an=jrh}Ur*4J!j!l!*dIJh8NU!SZb8N^I8A3M;}**2>O5s!LOJ6SWE_GgDdUEe zIDSW^Afz7S0;C?EpH=^#a6Pc!{|o19>v$dK#PLPOQOGz7IqrCwuF%W%3SFgZ!jy)@ z#0`=0MrB-(67TE3`@CBk`}a>hpVD!e9TO);#)V3smlEUi)sgYaR2Wj9dYQ{D$(X;j z<*1jr+$mY{X<6|Z+qm8{U2dtKwT;W2{X6Qh-#n+nW!t!1+OP9n?t*PxZu#%1$NpTj zjrFNV{q%lcvW?4K>T;LqwUP1Kv{1OU<*u{-^}0@Jzf#)T z^67Qm6qVU7&-YT=+H$v~O5wk%$9j2An9|njuZT+2zb#b`=S8mV`%1q>Tvzwf-+O*A zPGda{v|*SM{o~&`E>7F|BjcY1zcLP@&EtGT&Nt*dLe3-P{7C7a)PMaij6-qK5B(!V3G50@*i zi%^^eym?Eo>?Kdw{y2V&ZLyhYdR?Rtmasdwq! zdXL_#_vr?`Umws1^&x#&AJxb7NqtIr-`G#yH+)u~)93XCeNkW1m-Q8WRbSIL^i6$7 zH|e|jp1!Xi=!g1|eypGBXZm@VQm2^Udu_<~+K}&|A>R)}z8{7;I$CpejE>a_%HOqP zxdZe-<$Gk5AFOSiIzDI_9j|}-98BSHcKSn%5`5qbZvC8+!h-d07<@;om z&(Y&`zMh~9^h8~#C+Q+xto)vX^`5N!u7mh=<@aL5{O%5y>REcWF4Ob$e7!)I>xFue zUZVVNB&BvS(JeA|*B;tadut!@(0S&M23-AzktSuL*>w4zp4+G4g}U2AAft*v`%eQm7!Xj7#PXMHWSrMA(w%CVtd z2koStwTtq8P>=Tkc^{DX0Sjq5P8?^-c|VZ%19?A?qI?7 zC+VR&S&z`8bgCY$({#Gd&|~yiJx*uoT%D(kGkAUT^#om@C+b2yNf+y>dYYc0XX;Wt zOPA?+dXZkN^qcI@3SFsJ=qg>USB5EZj@O8coR3&bIWJRU{Z~cCtCfD1c&%Qm*XcUF zL2uNXl>V3HZ_(TJ4!uk1XQ_9u($5la&R0-;exu*&clu+P((gI$KgB}4UY?I*ek~lP#QLs@7}sW$Q=fXs^KvYrd_GFda|Gl$ z0+v>uClK>}0^D6IY9+0#)pQT7p|zCz9oDm_a{o%)SovNXF`pmcKH5zA9D#B^7eGE2 z$gIcb1H`SgwYJf=+FAL0fco8(&jpAJMMm1YluE?J-jQ)1ZJHJD8*xf3KgjhBR=(em zQl*&Se8)SK^SDyv2bJ@f_z~rNCgyxb&Sy;JoY%xp>odxEUMVu?IXpR- zb3G#0BXT_=*CTR0VygFpG1nR8Y5#sP-Y(CU@;sVXxgIm?^SvM9g35C^;`Bap9TIaL zBG(~u9b!@4MR~46InVu&?*k#v|1gzveG*sDw0^di66a&@h_R3M&zN5z%DIk_^&;Ct zzITMQ2Uu2VH;B2;k?kYx1lClp|CE}=#DDVhga6mJpWcUJF+qEb|IMG9Jm%p~qy!$7O7{P1HLsGS1Xl z%J`CU#+SH888;F$Zp3T!T4lVLSwC}p+9T$*ij1w5y2Nd@op#WU%CV z+)I0FAMLCCw7+u9SZH$dp(B<3qC7|0A7b_g*&k$oaJ)`X&M(UUQ`7na}6;xJ>!{o|wftf%PddWQ1vOOwZHv^#Wb47wScNv0kE=>Sek@FV~fNg{}%ynimrrBIEtaeF^bH`iMT7 z6+a$vO1z#cUH=-rO8NJDn179~)ob-SykIm#zN9bfD`851<@@uR>wjI}&^L9X zzNK&LJGx2V)AyBe49A^u4DO6?*pCNj=TY3G=@Br;y6m+MNs zB1~z|m?#q&%W65Tpt~z$8R}KmDq2;mX?5L0YiKR4tsH;W$MHvwe@bkN@7*Bx$yir; zeo4&pOXU7JGj5PouaR+MeNkW1m-Q8WL*LYm`j);OrnGlVaGa3iloI>%&NkND#2I0o~~!;nPE!JV&Xsf94PI_*qC5^iaduyp2MZYJxy-J zxW7(R#?h4XI#S|wW#5%@2kn(ycAEJDYPdrTdyE4Qhl+X8x z`FtO9bhPFwpYO+i+wu86j??ivLHWEt{@eU{Kk|7$@_9e;UR=l3ab zevOXv4LL7UO4nYBna_Ee63;+RiHy`mu2bYXMXpoiI>n`WmY%KWXsW-=nAgp6v=6vg zX&;D}>xFueUZV6D)LWsKEByxLt8}$qsaNY-y*5mVZR9Vs*+PtVMKZ zEvm(|xR%gTx|^2Pa#}%m*NR$Mt7uiNrq#8E*3?>BTkB|D?Wg^9fDY6_Iz-3nIGvye z=+Qb&r|U7gKu^?#dXg^E#kxdK(Npy_JzdYxrFyoWqs#O>JztmWg?fozsw;G*UZJaW zwXV^t^lH6E*Xp&J)_a}tI=w+})SLAdU9Y$5ZF+~^sdwu=davH6_v-`tkUp%B=vRfe zTo+&KH~O7^uRrL|T5zW=%jMO4n#zkB@1n)DxR%sXx|^2PvRYm%Xhp50RkW&B)9Sj1 z*3?>BTkGkbS#eY2X1cF7*B07JTWecwr|q?acGFJUIjg*faZl}~y|u6Q(*Zh2hv-lp zro(llj?!Emqhob~9-s&5!8%b7(Mfu!9;P$&7(G^x)0sL;XX_lDr>Wiv#tZaBU8GC& z6g^c>)6?|~JyXxpWx7Hy*OhvOuF}ovMouhr}HdR?bC=#6@l-mL5OR=rJc z*E{r1y-V-bd-PttPdDiO`k+3f59=fPs6M7o=#%=CKCRE_v-+IApfBo6`m(;Nuj%Xh zrf$@?^&Ndz-_!T?1N~4x(vS5M{Zv2G&-DxaQoqt~^gI1tf7GA!XU$V&OZ%Bm3ur;z zUU$$Pbtf&NJ8Mxbrp2{{meO5yH!ZDYw5*oX@>)SFY9+0rRkfN{*FCg`*3{ZsN9$@@ zuAXsyZK#d3u{Ozy_cm^(`)YG-p)IwQw$?UT^V=JD&`#P}yJ|P>slBv!R@~QkfDY8b zIz)%+FdeQVbfk{b98K%VH6Evj>NK6MGxQieR*%z}I!kBk9G$E4^mv`GC+LE#@>D;q zC#^s2#}ezGs;BAcdWN21Eukf~l)?VX%(%i)pZZ8se5W;ZK8W?Q*EaEX>)C@ZM3bn*ACiAJ8M_%rhT=a_SXSA zPzU`+JjC+hIzmV4D9zDa9i!uQg6^*e=s|k0PSiv6FrBQ2>ybJ|r|Quk>UpPuDYash*|h=(&2Hp0AhcWqP@;)GKtgUZq#-HM&+OX*zD#8?V!r@t~ON zskOGzw%T4hXh-d&U9_uq)9%_+duea&qkXlX_SXSAPzUK?9il^Zm=4zwI#Nezj*iw` z9iwA)e?34C)PwY3ouo(V6g^6(>d`t)r|S$oMvv9wbf(VIIXYM8>G67^?p$Nb`nXb^wb){aRt8}$q zscZBqy;`r)wR){yr`PK`y+Lo(oAhSAMc3=CdYj&^cj%pZm)@=S=?1-DAJB*O5q(r2 z)5rA*eNvy&r}Y_qR-e;X^i_RLU)MMEP2H$(>D&5_Zqj%4J$+w4&=2(^{a8QIPxUkX zT))sS^(*~aztL~?JN;gN&>!_D{aJreelW6m{GoX@pXS#BT2Qyw9kh_{sD*VWEu!f< zE^b^x%W63-pA}a$uB4TOSnUu&G! zbG7k$P5X75@$Gu2-lcczy?UQ+$eRD4@k9EEzNjzh%leAGs;}!C`lfEww{(+!pdac- z`iXv_U+P!-jee`&=@0s&{-k+oZaF`{HqK|9UkmE?x`P(hBD#wf)8blEOKE8>tL3$V z?yeQJQdW6o<7!%6YiLcarM0z=*3~_AFRiEbwShL&M%q}L=-yfJK3U~WjZ=9u<5a${ zaVp=>IF&ayPUS6(Q+Z3{RNl%smA5udrfZDN+{|EkrP!SC>Ql#viy|c3S4oN~%DrJ?uDr9Dbh?0nmmX(!^$V`f4?^#yD z|9jd%n!q z*@bVg8@say-)1lNW*_!tKMv$Oe3!%dK1XmQM{zXAa4g4hJSTDz2k|||p63*ODnH^h zPUpv*!I}JopK=yI<8031Tzgzvegmj!U?d%eaEyb0t@C4cGDquH$-c z;3odW&2fE8T;HMZ!uiV4mxR?95pMUZI5AraN@F(CT}tN2e1Eqo?#*;W)j}XWW0wdnTn}-AMfV_e2{6Gj_H|!nV6AT_&6V94(4QT z=3!puV}2H3K^EeZEX*P-%3>_Rk}Sp2EW@%a$MUSmO02@Ftj6lB!J4ea+N{I6tjGFn zz=mwZ#%#i7Y|dxcf-U(hTk|=#iM#y;y*)edMRw#%e3`GXGhgLve1qNDlW(yXd$S+= za{vc&5Qp#`zRUMGl*9NwC-Os1<`holN1V=&Ig@?(31{&$&gSQw%P%;OUveQAaWTK* z*Zhu4xteSF1J}j%*mfJtH}WTLS@}4hU^eDv9_D2}=4SyG;*%`GqAbSZEXh(V!?LW-8m!4Wtj&6Cz=mwZ z#%#i-Y{uq%hOPK4TeA(HXIr*odv@T9?8r`hnXm9wzQ!(mlU>=3J=l|P@on~EANFH^ z4&Xoz=6f8+@tnv>oXTmO&KaD^PdSUT`8mJfmt4fJ`7M`l8JBYfzvoJ>;u`+Ib^MX* zxsjW=nOnG(+qi=}`3rY*4}arc?&E&`$pbvd!#v7kJkAq5$x}STb3D%ryvV=!H!txr zukb4W;dTDYn~Z+&{(tK!6EQK9@J=S#!~xusWNv z8J}Sbwqz?l%jejJZTSM*u>(8uC3fN~?94aWmEG8#J=l|P@on~IANFNG_U8Z&FX$gMacM5Ag_(@)%F>Bv0`y&+$Aj z@GoBCWnSS`UgJOfmp6EecjURfo+e^qCSg)0V{+cb2bnUi->au$YTg&OU0VGirek_$ z;KR(sN0^z9@o_%EY|O!2%*{N^%ls_JLVS{iS(L?Df+bmsrCEk$S)LVGk(F4PRroZk zvKs5L25ZL68|V$$h>h8t&#(nsvK8C#dA8?^?8ukci7)dNcIK;mjj!_!zRB+F$+y^> zeb|@%IDi8=h=VzV?{FxGaX8=SNRHwdj^zg&7kB$aeG(^g3a4>8KjsX6!a4kc^EjVh zasd}|5f}3-e$8*Wj4Qc{tGR}2`2*K+JvVS8H**W$=DVEA<=o2c+`*mP&EL3}`}ha< z^G_b&K_22^p5_sritA_ev%JD<+{It{5C7#2-eN*t>n;=XP9|k?-o<;Eg7-2N@8kV^ zkZJf3(=h`xG7}$RW@celKF(~+&OFS^T+Gj}xRlGdg5Pr$S91;5@(2FN_1wUX+{B-_ znOnG(+qj)OxRbm13xDJ9+{=CZg9mt!hj^Grc#Oy6<|p;jJkN{#o0oZovB$fv-{2kj zoOevjB)pU9n4Vdgow=Bg`B{L)S%M{5nq^p)<@ppVuo5e?3ahdjtFtC+u{P_n9_zCq z8?iB)vKgDR1v|16Utwpy%GcS2Z?G%7u{(S6Exyg(?88AE!gu)|M{+dBax$m#BTnPT zoWYs=lyfkMTH9@)S?=EYI;g zFY+(`&C9&PtGv#Cd5g*N-~Rf$hd0bq==U-eQ!_muVPgjQ5?-N!Pu|m;WsIh+`i_{ zy-daXct0OtI;LUTxOqN3KMS%Di?JL_v2@(Ls$PxNS%bA$n{`=_4cLf{*_6%r3|p`z zTk%;w$2NSP?fF7nkAB`w^!~oZ=;z%;J^Fb!k$u>g{WyRFIfz5}4&UW0e#Y6H!@2x| z^Y|qfa1j^tD}KXo`5l*XIahEM*KjR=;E!C-4cy30+{`WfnOnJy+xa{9@elsV13bvX zJi(JZ#nU{)vpmQ1yuge6E3RMCFY^ko@*4l)b>84j-eUB_f}`{24kls}-pQm)#^k)4 z_b>%hGBqD$8a~8yOwSB_n3HL^8_z6GdEPl>8oXambk6&^D7xHU+H(@9LixF&i6TjBRPtr zIfi5T0mpGXCvYMs@k37LbbibkoXJl)i=S~0zuH%9AHH1EZMjMk%Q-Y;$*tvk{DeMaj~)T8w$GFo>c$M6G= z;{-IvDnfM5^ zGY4}rH}f(d^Rple@kth8Q5IuymS9PiVriCPS(amYR$wJoj_Xz8=2i7-tif8W%{r{h z`fR|4Y{bTF%4TfN7Hr8@Y|ZD`hR^c_wqtv~$c}u8o%jkn^HsjiE_{Ps*)6X3(BEcn z_F+Hv=Kv1mAP(jbzQcDpjPG+KM{zXAa4g4jLR|k)pUf$o%IW-=GdPo<@Kes_=bXd2 z{DSkifD5^d%ejIpxr(c~mOpSE*K-3mauYXm3xDQTZs!jE!rlCpzwvkO#`o}vjH2jDVwncTe20O z<#TMq_UynH*^w{tWj@Aye2rb%ojur-Z?iZ1urK?uKV$n1(g$-0E8lhd{HVgJti~Fw z$=a;Lx~#|gY`}($ex7J_9yVc9He+)>!xn7GR&l+x{v6w|Eni@Jc3?+#;w$XT*VvWa z*quGtlW(&Z`>-Dea3BY9Fo*CRzRUMGl*2fj?{fr4aui2%49D^Vj^_kUx5`8I`aXDA;d#>bauHjm)>m zWbAdM*6-&7e2{7Q5YsU|GxA|(;-k#WEX>Ns`2@2w2Xitv^Dr;-vj7Y7Nfu^N7GrUi zU`du@X_jFXKFzAE&Kj)ATCB}Ftjl_A$VP0;=4{DUalN(PhR?GtUtoK7;EQqdPWsDy zg`N2-UuPG-!8h5B-PwaZ`4)SzH~X+3`*Q#XaWIGQUB1U*9L^CO$x$4`vHXDJIf0Wn znNv8GA8|Toa3(+HEY9ZVoWr?X#KruIU&r;>?cbSy!6jVA$sj9 zxRIOq6E|}Uf96(h;|}iPZvM(W{EfeJFZXdj5AYxl@i33@D39?3Pw_O*@GQ^qJTLGf z{|?4}tq;H15fZtRyZ9#$@DPviDF5aqUg1^#!|VK)w|Gam9zgW?(RJJ+qw7dVM%S&4 zOvdQ?Zc)FBcQd+9Ml_GE;}#iRFC#L#UPfeUW?@!F*M*L5e}d8Vp`#vMH#Rc5K5S%c zyXZPAQID>(5*b}zC9(jc>#IaPx~@uObX}Fm==#x-(RHIEi!-`@bks{Rx_)%j%LHS; zHiqB)5)!$ad-z*i->3h<{XD>fjE-Y;e}@?z$EY9U37+IBp5_@w$1~b5I*ySE;dw_! z$1^e!qvIO&==eoO$1gHEZjsS(i%iMr_(eTBZjtvfy8ds}qwD`hKFH`gz)^pQ(RIS3 z9v$z<#~2;=s7J>$G6$pM9QEkBI+4+Fj*O0TWIjg6IqK1Ijx5CJct$fnZ5BB6+e4D-4n|;`q{n(!aIFMuc0mpGX zCvYMs@k37L6i($woW?EunOnInuJ6!yau&Prk)o?9D#x&v!Y9gX88?^^Z7>(>a4P z`6*{{Hs^3I=W#w4a3L3QF~8zB{FdKwIhV%u@AZ{j#Wh^ZANV8Ja|1W?XYSy(xV~54 z$3M8Ahj^Grc$CL@f+u;JXLy$9c%B#e7ysrZUgi~E-?8Dc$2pnT^KL=zIF!_ zF)@?yP9|kCCg)weoA)pUQ}SM>;(dIOY55S-F+DRdBOhiaKEg+tnOXQ4v+{91!EDUV z9L&jF%*{N^%Y4kw0xZZvEX-mo!ICV+(k#QWEYFIp%qnci7HrFQe337)6JKU$zRK75 z2D|ZX_GVuW#xtWgz_#}(4D2uTK zOR^Npuq?~*DOO-bR$~n|WFt0aJGN&BcH~QZnXj-jU*{Vf#^D^nksQr2{D9*)k(2l# zr*S$z<_vzyS^SK%`8nrsF6VJRzvMzL;$nWqZ}=_0;}S08a<1U_T*=j3!?pZ@>-Zx# za3eSICvN7?+{$g-&K=yzUHpZ+`78JEH}2&={=xnHlLvW-hk1lYd5kA`lBal@XLy$9 zc%Bz{k$>|NWA}4azs7&~FK_S`6CU<`oQau)NtuijGTq*OA}8@fPUaMT#Oa*Dnf!#G zauz@19M0tzoX7e6lFRu$S8^3sa}C#W9oKUMH*yny;%5HLZQRZs+{s=1g}eDH_wYCV z&b{2nKe(TN@&FI=5D)VRkMbCg^8`=w6i@RE&+r zA7XlDWF|hsY|O!2%)`9Q$NVh7f-J-*S%k${oF!P2rC6F}S)Na^0xPl-E3*opW>r>W zb=G8U)?r=NV|_MYLpEY#HepjXXA8DuD?ZECe2#7SJlpaGwqtvC;EU|Ym)MCfvol}g z>+Hfe_$Iru8@sb7-)1lNW*_!tKMvqP4&q=A;d>m$_c?+iIhtcRj^jCjlQ@+haT-77 zOn$<7{EExChCgx>f94ME;%@HY@7%}zJitRd%u~F`Ym6>R9<2v=F*P4x8a~AI%*af9 zlv$XSPcS=kGB@)wKMV3n7GW`#U@4YiIX=aTtjwobjWt-4wOE^VSeNzLfQ{IgP1uyp z*qqO>1zWNeTk|d4Ak#1{(=k0W zFe4vkCO*PPnVDJm7$4^o%*O1@$z06Cyv)b^EWm;+#3xypMOc)@S%M{5ilteGWm%5p z`4lU#A}g^npJp{yXARb59oA)iHef?GVq-R8Q#NCBKEr4EJlpaGwqtvC;EU|Ym)MCf z^A&dHt9*^GvkTwgo9xPN?9SNZ_SXBcKL>Ci2XQcm@EyL(_c)BhIf5fOnq&9@$8iF$ z^IzWJP2S=iS#Ga8iI|v4n3TzwoOkmcrsTa$#nil?4=}cUT0I@pGXpd7VP@hZEXd5v z!pE4Ek2AJ?Ha$CYFeh^{4`ch~kLyqBg;|6}S&YS5f~8o72Y*JLf$VO>7Q`fR{PY|PkpP4#AchArZ@dp54O)n8ycwr2-+j6t@mOd_GNz#;2;j>khuAK`Y;aX`y9cM9K|sl%W)jf37p7D{E(A5 zg;V(vr*S$z<_yl{C;XJN7<>HB^*Q{43%Q72^BaE4@3@r9xST7vimSPXYxyJBa|1W= zCvN6q{>*LM&K=yzU$~pUau0v!Uhd-`+|L6%%p*L?V?53iJjqi$%`-g9b3D%ryvW$& zT+%P|3a|1X-r!B%V!~s$zkl4p#7xR$OwPM_4^#49rebQ|$NTvJA7mP);bYJMlHX&MthD-Px0Gu@`%@ z5BqWu2lHLN$Dtg?;e4MXIFh3{nq&9@$8kI-a3Ux1Lr&&2PUpw`l%Fy7d_LFba4zR@ zKELDwF61IE=2whu_np3k%eb5?_&ry0HP>)0f8aW9;6`rZW^Uy+Zs!i}!uiO(i z|6Sk9KY4%$d5DL3ghzRd$9aa=_z$o1U*6zN-eN*lpWm67Nq8rdG8vQeuDIJ%==U;J z-0kpZ%W`~*6##2CvjH2j5gW4!o3S}tuq9jZSw6=$e4cIj0^6}YJF*jBW@o<2*V%<{vKzaz z2j5~Z_GTaUWq%IhU=HECe2+spjKldpM{*R$a4bLIIF9E8PUIwh$SIu4k2sCf`7vj3 zCO_pY&gSQw!+D&~FS&pVxhU@Tuk~;E9hYz^mvJRm@dvJp>l^fq+{B-_nOpcXw{jb| za|d^F7kBel?%{9zoqM^De{etlaK6SI@`%EWm;+#3xyp#aNsrSdyh!hGkifMHsvPN_u5h;nS?f z>a4++GR_$jO|_ zk2sCfIfFC#2|wj5e#Y7SoO3vr^EjUixR8ta6~EzkT*9SX#^wB;tGI@1`2*K+12^&~ zZsr#L%&pwc9o)%X{Dr$2dz|0&-?^9j_y_m%Fpu##Pw_O*@GQ^qJTLMu#`eFWU*$Fa z!|VK)H+hS9K5_f|LsBN=UA&tqn3AcOn)mYoreRv9V|r#}Hs)k5=4Kw|Wj^L-0T$wu zEX<-T#u6;a(k#PrEYAw8$jYq3s;t4->!_>OV|_MYBQ|CeHf1wD!xn5AH*c*!$LHCW zFR&du@I`jyOMIEHurpuf>wJ@4*@L~$!m&xtUwJjXSuLyW-}* z>U;Pbf9GEA;~(75Lp&VUkLt&Gf<1YXr+J3wc%Bz{k$>@TUg8yA%766yv2lU z{y#DkF?Rot>Y4c%v+{91!R*YzoXo{M%*%Yt&jKvSLM+0fEXLw2%`&XOihP$zY|jqt$WH9SH~1#IvKzazC*Njo z_F-T4;{XoiAP(jbz7yBqjhheEM{pS5kL$zZ`bd2=$Heuqar1HdcuwGCPUMGieNtSX zqQ_qUG<`Z}auz@1Y<|u;oXdIqk_)*gt}l+8f2GIf-{{}+J1*f0F6HvLzAUbPudm{2 zuHjn#zzy8UP5g=5xrN)}`qsGqb6o#jk3G(Q{ZGdC197*<`a$#fe%Sm7kMbB#@ifoy zEYI-*FY+(`%`3dhYy5}Td4o53iwW8N|7Rv)GA8F;yqhU_FCSo8_xqs!5YsUeAK{~X zjF0mPW@Ap~VrItfC$FB5`I(*tS(rswl*L$_C0K?}u>vcy5}#&OR%3P6U`^IyZPsC3 z)?DlTfV>-*^w{t6?W#Ue2uTO3*TT@c4K$;U{Aiq zx8r)RxOs0qHt(ay=6&_pyq_MM_t#_df%+g0<~w|kLphAYIf5fOilaG><2iv7Ihj*9 zl^-$ozJILG;7oqXS^SK%`8nrsF2CSB&gYk0z=d4I#r%ff@;ff!3VzR3T+Oxofj@FR zH*ymdG|R9o%dtEwup%q5GOMr#YqAz= zvo2$g7km6>=FPeOsoUqpM*hNI`5TY&I8X92uks%zt#JE(lk;w-WjbbHHs)Y17G-gk zWEECrbv9;GHfK9_U`KXkclP99zQgx8juSYEpYk()&ae3`mv9}|b0dG@ul$Wid7LMC znOFG_lUDTp^KPbPI%Z%t=3p)sWpS2d6;@?+HfB>cXFGOaM|Nd*_T*r`!}mCj6F7;V z@-u$UulX%ka3$ArGq-Rnw{Zt|@)!QfJ#qbaeINhee*Vb=Jjg>l%p*L?V?4o=JjK&I z!?Qfci~O6Hd4*SbjsNflZ^rdID&0QM5-~CFWKt$$a^B5*n1U&JFH27xFe4vkCO*PPnVF9N@ltS8}}Ov>2pcjcEWwg2#nLRxaxBlMSdo=jnN|2StFZx`{l78)mP@#l%eb5?_&ry06<2c&*YQWL=LT-%CjP`N{Dr%?lUuoi+qo_7_C5M< z{GEHbkALt_9$;+0*!>(cKfzNx&kOvEfAbPA^D3|LCKIaMUZ0aPIq%}#Ou>{)#nily zY4|`~e@IWq^vuYInTd}wGqW%&voSk!G8c0*FY_@!pJc(fUPLd-Vl2UuEX6V`%W`~* zl~|civnFe?4(qZW>$3qHvk9BAIoq=XU*t=CgKx4cyR!#l+x60WvoHH`00(ju$8kI- z@I!viIh@NcIFIxBB^PiZ7jZGa;@A9!-*O3;av4`L_V{b`wOq#^Igzo~xk>+to4KEV z@&LCmw%-Z;Bv0`)&+!an+uhO=p1%EcdPmS$O2WF=PN)2zyBtj-#&$y%(< zI;_k3Y`}(W#KvsGrfkk<*pjXIEL-zAw&C-PJzgjMWxm4L{5Ab`c41e(!Ps^^^|$yo zd$AAuGPeByeGrFm7>9ENM{*QLa}3Aw1CHZ(PT)jN;$%+YRDQ&1oX(FqgERRFKjkcb z#@U?1x%`6j_$3!`As6!-e#<3X%4J;675ttnxr(c~hHLo)*YQVg;6`p@?ET)VZ{v3E z;7;!1FWk*vxre{;ckbmr?&kp>@%Y4kw0xZZve3FG(gvD5#C0LTB7`xxHdO4QoQ>?(stjcPv&Kj)AT6~7B*qUwl z5&aqtnbo)VXXhE z?_sR}uK&UP{F4WGkcWAMM|qqlcrvb^)z9%fFY+(`%}cz@D~#RGP5l-VRlB_oBw;e% z#e0~7DS0nbF%8r5A*N$`W?)7>%uIZQnVE%I`8e}18?!SfbH&YLJ@z~cyS)gDvKWiA z1WU3MOS3G?^C?zjg}5HOy^?wCdDPTvu{P_lF6*&A8?X@@Gj@M1^j2)mc5KfV*^w`? z6JO>l?9A8rI=k>qc4H6rWj_w!Kn~(y4&gg|mqR(6WBCEca{?!F5?a@41qzxSDIZjz4iTf96(h<96=huiVWY{Dr%?Gw$}^ z^u0X7qddmrJi(JZ%`-g5^Sr=|{EL6{5-;-#ukj!L%NxAKgz7&3FcA|o3GZZ5CS!8m z#k+YAQ}AADZ}wqqzn=O)4&q?G!*}E6!}Q^NpQAXMWB37M`;E{i za3Ux1!?@c&(x>rb&frXb!daZn&pC%*a2~(p0xsfL{F>kJJ1*feF6Z}L#noKHAGnU| zxq+LwnOpcXw{bgnau;`V4}atD+{ZuoClBxtkMJmu@dQuuG|%uH&+`H=@-JTEWnSS` zUgLHC%NxAOTfC#j?e#ek6Eg|#WHKh_UA&w3FeUG0DyHUre1H!!4b$==reg*^%uIZg znVE%;F)JTuHs)YX=4Kw|Wj^L-0TyCm7GW_KX9<>MDVAngmgiHf$V#ltDtww%S&h|M zlXX~+_1Tb(*qBY&jLrEBTe20OWotgiHhi9K*^cemfgSl0JMm?{!r0@zu6N-Ze3M<- zojur-Z?hNsupj$#AO~?UhwvS~$Dtg?;e4MXIf|n>hGRL7<2iv7If;`wg;V(vr}1OX z;7oqPPx%>V^K;JOTzBv0`yW7}WQFY<3*;$>dp zRsO^4{FgU*iwQM-o@Zj-$)rri5%*EWy!@SJL{4BtNe3Hdjf+bmsrCEk$S&rpd zfmK+Q)mWW1Sd+C_n{`-^jo5@u*^JHk3|p`zTd_6UvK`yA17BoEzQj&^nVs2%Z?Y@9 zu{(RPC*NW(_TvB!%t!brGcyYxV^%)FY|PFa%*kBL!@SJL{4BtNe3FG(ghg45 z#aWW2Sej*6mgV>qE3hIfu`;XhX;x)5R%b2NW?j}}eKuf2HezEoVN*6^3%2C5Y|ZD` zhR?GtUtl}7X9vE-PJD%(`6^%I>+Hfe_$Iru8+-CC_F`}LVPE!Re-7Y44&q?G%l9~p z!}&f(a3n`@G{r6My0s{>-i1#_in6UHpZ6_&fLV5ANrmJivoI%p*L?6FkM! zJj-)D&kMZBzj=w5d5zckFK_TBZ!w{c?*~l8JDHTpc^B{IJxsxSnTo0T03T!;rsYFS z$Mnp=jC_QTGBdL+|L6%!lOLFGd$0OJjRne%ZvP*mw1KO`7duVaoyYNYf@e{zrh6aBuvh`c@I-C zB~vjq@8kV^kZGBY>6w8U`7kr_5kAVye2iK71hX+ab22ycFfa2lKMSxR3-L)7VKEkG z36^0wmgiHfz>2KIDy+(Ctj?OO#X79d25iViY{I5&#^!9r=h&7nusu8QMRw#%?8H~t znXmFSzRoUulU>=JJ@__zu@C#QANz9v2XaWc@nI;Lj^X5_=n#7CK#k1;DB=M&7v z9L&kw%)`9Q$NVhFLM+T8EXram&XO#}GAzsTe2NuVk(F4PRroZkvKp(i25Yf4>#`o} zvjH2jF`KX%oAVjAU`syB)@;M)*_JP`9Xs$vzQj&^nXj-jU*qe1gKx4cyRkca@-6ma zZ}wqd_TvB!-7!X z$W8o-vF*0#KXWU$aXWV~w*4>qZtmf4+{=CZgZud>5AYxl@i33@Xk0(8pWsQJ;%T1Y zS)S(w{>8s}nOAs~*Z2>w^WV7JZ|b+0Q2+M#sYFc7JDHTpn4EX>9;RSQrebQ|$NTvp z(=aU`VtQs^Mn23(_$V_o3$rpib22ycvml>jVHRaMmS+W4WM$T4eKuqxHeqW%$LHCW z?bwBHuq(T<2M2L5-{HF)$_bpv4>^OMa2Drt0T*#8m-BnBs$40+|J$nmA~h{@SDCNk^MP<138F;IfU=oiH1dI3Zzt$eEC|Vb(Y#b-05xA*GWhB-{u+Q`kOR=y^g$hgteCi<0%ugoIon z^OGecyd3&#A*DmF6tX_dqWfwYGCTBzAtjP0BzzM3=OMR3zbo9=xG>8c`V%2DL!Tc~ z{;q_CheMC%YeU}}@YltI+};a>kyLR?(iDJEXvu?Z-gXD zdHeZ&5*{;sc)Xk;dBg0Puubcb!J&^2*?xaQLRhL3T7(=3{jZQh4}|wA^kyMXhR3TC z@_v}54n1t1&_DEXA;-cjyoLW|bm+4}u7z2&P4vEg5c-^uf5R+1#s3m*vm)gF2NM#q zgjtjYp>GIzILw|6J<9gbPlc2Tv+&U<;rWn);ZACVOb)Z?xkTw7`jn7cVfN)62?;5} z`!YK8c_FFNBqXE^v*?_tkRse~NXCZ}5_*LFqW82;^d5ygl`iZP`m~Vsp&twRCCu&* z``sPA&-aGo5YjcA0NuhieL^~=N=O(U(l=v5LU?%z`9cnberI@6x5BJ!=oLdQhgteC z%Nq`E(a_6;6b`*<$g5#iIrOR_9YY@x@|UmqLF(WMb&6Lmqu3A>oH`4(|_15)MqhkT1flYuM)PkPYEL{T(ta zYeGWF(4&+K@6k&k$sZ5zSLjiCg#Kwrg)nOn-j|LcV?$pZ(lX5UhHcJ=91HJT+VDR8 z7*6i+FbSDM)`b37$T!(;pQGi&>_F)EXGloc9cHn|O%Zz8kcYD0eht5c_r6N#Jwob* zS$KH~xk7e^o;*CM+@Z7zy<^CQFv}KZjl%5P&x4ciiaO zgy+I*cr7GD==DRA=Dod5IBgQ%3JqCZx*@Q6rG$eg^kqtxk z=D)qh6b{=h2>nb*{{rDW3EO-X^4p`~b!ARS__|48Kcs&+8KUc!pDmn_5FYx! zMArv@A{^WGMQ*P*Im7(^&>M$b4YOB5?-Eih^tVH@6uo^ehr3AlB=l1uW5cXs=+U_v zU2iu-INs~SEWE^o@UjxphTbY9WwC^WCZV?oDI9vQkUU`){`>E>3=Mr($U9+hPnbnn z9eT=euB;8S%%SHF*&Jr+!|dlUn;!bgkTYRcGR*!7v)SSG-xrSW`=LkIDO*xJ9D}e; zlaONJJQ*Casbp9~!Zz1JhKBxo$YZ5$pI0Npb}hp>F)t)zc!R_EznluaOn3rw!tALq zYaEg-^d2Ec!z}imwhw)2Na=D33AMsDbwkF7embO6m?aCnM9AULONR4oS(t^V{9jIm zS%omW6lQmZS(IqMN?~?6%(8?HqwixE!mN6jT@SMXp$`hVKb)VPLLPl8Y#;Wk67oSf z7te>xtPs9OgxC65;)H}fp%)3~WAroF!y*3f`_Fgbyh|I-sT5(SePNqhA!oy^W|&1k z(=2J&F3P5`L#}Xaqkm5sz7_nJZDCe0%%Xooc`eN9MUN3?CBtk*m__G7crNe=(9qznL*e}ZQFsmPC?ZPbV z`d^+1ePqatFl!!W&xGU%eQe05VRm=uQTm5|F653zw~zUUVKyxEe?smFv(%wS*%Nxz z@P+$nn2ip7e#nV1YZhi-hgs9mdxm5AR_LcgUTB<<@N}4kmy@s~^vdCh?r(DYdvDS3 zBr}9QJS1<}F}&1-93fpoKNj-*Gyn5GcMJV=$j~s0z0W;DKNm7Q%)*z?f9W0irI68K z7Cr8ukdH&p5YF$f!z}u&R5l#A6JgdS%u2OLNcb>1_rmPKa4xWA6aVHW=T@7N^?yxELE5_2>XS@oUkv<+JxDoVOBo$a0n6#gdSZVp-Y&>9{1JIuY_z2vlL;Q zC~t)RZ^)J~i=J;-k`wxdepkh?E{9okjz`mS_JsM_jhQ(xg$c8X$9A>$~tl}MEZ3rn_J^WcBJtk53o*NSVd%@H-!`Ex4 z@HsBrSM*$phLbD$dsJ6nxxE&L2OM5>A!>KF_rd zwhL(=5`8Vd7!n>P;nk4WLS7H)9?~PEXUJP2{X+VOgojQT7!sYULqgsOc|T-C$jFdU zA<@^`*pLrGJ`9;0G9_ec$VVa5Lp~1qEM#`b=OJ@K7KAJeSroE3WJ$= z4f!EtUC2)%n?tsQ{2a0?H@NZ%C?;)FJnUJP`6=NScte zA?ZTWhhzxJ7!v*2=8=%tpQWPD$Js-oKP%-5iPnHTA$ddchZG1Y7*Z%C`g~I)q-aR7 zkP;y!LrR5|4k;T_E~I=&m5`@Hs)kexiO$&?A+y5qHs(?GKM@HQaJ;#-H>`A^+OtjGz@7J(m13^NYjvJAfHT){P5%POv89qZY^Ms8&fw{Z{qxtHCB#t3~nhIQn19Ce^Bort+; z5;3o&Ic1u7Iy0EbY_iTRi?uCbDa%Q7MSR}P+`_G-x#JG;ouoPA0r7)8!~xPA^0@d3 zV(xg6mw1^pcf2Wnhxd4&4@vXKC*n`}jL-Rkm`7s%_@0Npr_(;+Q|O&K-@krMV%^ z3thGKpeMbFxgq9+KJ=wOF+U7rI3r1OLd*w|1D9|qmob)@AEq&rm=hMWjOAR(RmAv@ zu^(gpde*Xmjcj2%F$e78Ms8v^X+F4ByoWR|+#$Y`ySSVCd4M!e91uUuBcwUwN%1p0 z#|yl~%N*ie-s1y4;uAjQGqTPzF~9uC&-}u#{Kg;r#Xn>-ZnBeuoaEv-@{*5}h-a(( z6r>16iMgs2r71^wDpHBcRG}KxsYxB`QlEx2qAAU3N!EEU=DUBJ=l-WTF6OuYXKU74)Y10@)@7=6<_lW-}56s@iV{hJAd#efAKf}aD*H=ESJa;vu5lv`Hb6V4m_H?8RUFk*- z;<>mt=Ws54=tqCf<9r4)grN*)Bo}fK7c+)SxRmis=5nSojp@u_CbOBtJQlE!MJ#0* z%ejIpS;0!K;aXO49jjTxTGp|i4Qyd6JJ`uCZsKP4u$SA}$6Xxc37+OTp65kg;$>dp z5U=tM@A4k+^AR8O319LR-|#Kp@dH2dGr#dCe{oDsa~XL!mgA^NEoxJTy40gS4QNDT zn$et=w5APhX-9iH(234;p*ub4#kusMFXwSS0~o|$hA@<23}*x*xscIZ%%xn$SSB!$ z$xLNBGg!7UEbq;4)Y^F@iV{j8-Ea+5822`Zt`#($CHTx=aX+l$)(}LEt zr5)|*Ku5aJjqdcKH?iJ3hjZ!A00uFbVT@oT@$5N@F=Re}j&nSbv_70Cp3g#-kk*5l z&zx6lPtTp#i`Q@i>)6O9wy=#I>?EE)(^_(m_%`;kpL@x=etcBhrLG zV(s`Y?{k=siS^?5{6yyZ@DIoFocTAgF3e7T(z>s(xERGrYreAL%(Y$($2F-%<{IyG z#|>#jJQp^nCCB-wVpOCORj5XFPNNpJiF~L}10pX{PQ<;R%^c>kfVej&auO$V3i&Ba z5sDI@S&~yJO$FlfE0aFIhPWnK&!eHXMnrBlqdAe6Eono0;=DT2nJ%0`S9;Ks$j3hP zr5}--=W#w+b9A`25u`jFEsi|BjIoR-a&!`txtu9XX9hEwMf6YPZ}iV1B7d*oDpru0 zx2qgq$7-%;4eMCX1~#&Z$m8wo;8yl<8Z}Tqi^8p`nn3V6Ii@)GY(lgQz;ve~mqm6^VwEshlg?L8F zK`wHWo|BFj=OrH}k@CE;xCt$2MJKw@lir+3dY*}AmfH#F)L3G;UXl z)7Xvi8e?=5F*dhxGq-RnX?)%;zJtuM8DsK(9^hzW^Pu)8c#@}hmKd8cE??*0#$k-X zPxzG2h_Uz;U-La_9L5;@h2Qv{Klqy%gGY#Z6k{;4QwXv?@o4cBR7%m^Imb><2#9aoY|*;I!<$2%xlrFX0_h zcuM_!x3>M<%l$k+=9oI@IMuosQ%~~@nPci@$FK1^Z}B$o@jf5$Au*P|AdRPQ#ov*} z)Gy+HIKna6{=YF4<0tc8ry3Ufd9kJ|M@1@8nJQGHIyE_sI@BfVT&(Gu(V8~2rvn}7 z#2Iv@8{O$a)WTl$rZ4^I&v^_W)x;so{l($W3rQjT;wJX$8kJyZYPp? zeld2^`Ng?qj-k?y%Mj;To(fbX&NJ?{?M;@msYnKS50 zH@ee^3Mf1D?HlBbCA`YbOH zKU7KI9`l<`X{UbH3n9e&i>9GfzEWHH)nDdXEU4V^M#~7-Yt&4+QYqkP1agbINN_}Y;pfCK^oWRh|eX) z>Il|y13TEsZR{o1ma(Qx``fX%{W@>(CU5f|A99$F_?S;ApIx62d(2gdJ?7I%`^rtk zN83B@sl6AyIg4`{zy%CqD8m^+)}L=(qHQeWnZRUXEgSp5v7U`}>h-K4)~V~*N$km{ z{n*%p-N#+r%@aIH<{s;3jz1^un|>#bebcl*TEgT~lFC$JK54ISv3Low*O$4^ceUfR z&lh`q{y8QmxyVf(j-vntDMVp1=cY7wX3kG#y{7^dsYK*y%u6wM)+BPXJ`HF{6Cy{O zk@B;xxE<}u%+oXvP0~J(rQFUw4w7{|ey1(fy`RN7ptSBS5d156ZI+T&?RKnqIf==!h9C8m?d1nm8@VT@mzK- ztGJHUtYH&3aud6`nLWh#xt)F7!JX{qUS8s5Ug1?(15IhojZ7f!YT#m>~>h7{eLO#f;$+E+y*PSjI7) z2}~sNbuyQe>e@{4EM_x@xkOISX8|$yMt(12IaiQb+g3Whnrpb0Rb0nv@{*5}IfeX` zAjWBVQs2ke%&Z~R9cR4{+%I?K90W4?9)`wmT3RC{*8W({>(ue;(FVYt~KRXy4G}^ znYk6$8+mme=aa5+pm+$8OOZ!$og*1V%BjqJN_muWD6VlTah-8}DSuM#EYy~+F>CIm zoQZsiJXym7JjK&I%X2)>i@d@iUgs^|Ce|+R^8p|7F`w`$pYb_g6FFCaf)t_%DF@SB zP+D6V%2JN9<`;hDPyXU>;?F#msB6a) ze}0@>QHoKVILB;cj-7NJ={@QE%Xr_>&b_ksDpaF7HK<7~YEzH;G~jd^(S)WnqZM%u zaqantb1Y2sVLI3UZC_UO-$Z|=^T-_Eb+xB+iSuYkW8xf|(}I??q75+)+L1XHIypXr zu5_b2nPWfem^jz#eK^`YaDnzgr13FK9Ao4{Vtic0Xf9?9nd4-vX{|l=#ecizv%T*e;(E{HdO#ZOgfmm0Zm=tl~PZXB`{a#Add!ogM6C z7dLVfw{biBxQBbWkDL_DCU+@JaZaTaWr%e{tQpdGNv;)NN350OI}UmL_eF?&|F>K( z@3jhaB=WE`U5H%lNiQ<t2vx&Z)M`r&< zpI$-g$LPcLY$a>|?bdcPw{ROKH+n|;7h*YTfQUa)*twhU-^yS`GY_Ci+?ym_H6%IXXo_q zT;wJXvF<*OyqrYZGt4h8KxVEKbzG9tM6Q&jJQb)&HDc{vgS7WlOI(L~)TbehXhj#& zI{JEXtfkX4=sNLwHn5RRY-S5v*~WHu5YMWaYwuee-%478$208h>?5ti?-Jk5J)|}H zec}gshyy&#BRt0AJi*gE!?Qfc^Tc!U%e=xN(t7?)@ms|6@jHCLhaBc3KIRiXJRjsFe%5m=S)UW) zJ7n=Qpcwlnllk0G&~YIOQ-q=vqc|lfNjzJWBAzeGP?mC3q!RJnveT$d9qLk#`lLO9 z#^NS4r8zBVNh{jYjt-nbS9;KsUZlN(v&H8Sdj@^zOF#OP_7Db&2Qio-3@7#yMsgvs zr*JW2i2a01xs2FX7)R_aOd|FcrV{%KGnmONW;2iZEMyUjS;{h&6F)z@l9gP|HKh4= zwK#K+BIe%Mr&!MhHnD}R>|iImxRIOK&CTrLHuiEm`?!m{xrhDS%YEF>0UqURzTsQG z<9mMKM}FdGe&JVs<9GhxPyXU>{^1C*V9!Q&a*&f;|H$4TU;00oKfhZQIG zQBEa&Kdh{{9ObD%CE~kb)u};EPNNoes7rlXIi1$Dp)KubPpVUCz0^Zns#9l)Giy{I z$EiM@FOC{Dh#?GR7{eLCDAKy&GVxf(F`fxbWD=8!bwkv%8O&lX^H|6t7PEv{D=Z_` zwkyR~v4X3)hU-|(^{innH<0Sz2JvRLkXZ+JIlhrtLuA&&+Z^xXK^`L2xM#$v&P9!T zk<2>xs^iyqov3$j@)rMA^FH!gs(YV`KO@z?ufhnzpo~J)P-B4|>v@0bIa91~Hf+3}qO@8Nn#Va0!<(mT^pAGM6)jX-sD(bC}0` z7P5%NEM*zXS;0!KWflKcw>NlgBb(UF7PhjDo4JKsxsAQtL1rz!&+&si!~q`WAelAz zNyks|EYI;gFYqES5w-XbZ;-VHzpL#7KIAYTky(R3cbv5b$2>8T3yHBjnv1!VG^W#9 zG>zTaUYo;wjy7J?I9=uStYdY(wiurqiSfCWG)7~5W{%4}j?+5zA@Kno<`Ev{ATd^B z4H{$fC9;msG%nMaeBXOM;6pwp)}S#CKj%xn;%Mv87=tnXVhx(cUaUWl(WlwTL2mMp zb=;k-tpEinM2wsIG~je%{KUGkF=_m?61S!eZD~h)IuT^4kZgeN=R8M+wCg*T2edtR+`g0!VGk^;i$Y6#rlwk~K1f$5z^D&Mi z*T*q|iA-WLmouFi%w;|cSjZw4vxJqbV?8OiH;Fg1m2K=K^7}?^<`!;cFSir*=ML`X zQ6A%Qo*;7kDV`&8{bdgEDzEW6Z;)Ak-go>x+1&r*IG(I^ATuWmd%XxnDMoQhP?A!V zChkLTGVev^eTe=a$RMKsGyDER$I;K1ahQ+zoj>@CzxjtF#5juc&3Zm@9%ZRXZR!%^ zs3S2hdJ*H`T>6mmf28`!05KGiiR`BTjSt?c#mJ zTz@zBa4+}s05R7;%p*L;Cw#^){L1hA!JquaKO79?)Swo%sY87-pI4eXj^}{OnaXt1Gr%12JYwy?gjoN_ z+CQ!D*NS6Z{|wLZJZa6G*2sBsxHi%n`9yK7lTRkr%7rLO=2|(elPhXZKYxt%as2K? ztdC<|T$@-M$GW%y>31jM_a>UthW2zKeqZ7YdeV#ZdlG%c0~y3%hA^CqxrFgdB7O&A zI+?%!Feaz>kiJVlPCTATT*D2lBkT9(w`$wY4sIgzyYlfp`8!G9k$+HpfJbhgNRG=c2i2s*RP1?|wcC@Dh9qB|D1~G)83}Xay@|Z7~ z&jJ>*h{Y_!KmT_xJnGVkoW%dOK9%&|Qz=Dh%21YaRHPD>sX}!!>s4*Xb*M+GRi}#^ z(U?@Lnu}Y|l2){#Egk4c7tSDRRZlYK#k_3mC*;hBA!d#2h(_%=$Fe z@i@klS)Zmjp2~D)Fq2u#W-jxX&jJ>bS+ABlUd|O<$yKc2YOdj0R&gEIvxc>-V?7($ z#1^))jU7aNi~fs#YESf4XQE!DKItP)HRF77>VuKu$;A1m^Ufj8Ngj^ncupYY%PHc5 z6rwQ2NxAXA&5Ou|x}}Lxovi2FOj|ndmf}{lCaxjfo4AI!H)oJ? zIGuBxYn*34&LeVmAcGl3oZ|@Mo<+`H%or|VJdvl9xSYt*S;T!ULApQb8Y^gvYphIF z(ly4IJ&hQznb(@`&C&Y%Z0}9|9Q_;T9yu20ALkzZo6bMZInMVo#uDcp=RBDy#CcC+ zI&+!Fd={{f#VjGl(lVCwZ{ujS*D}Y^4UX5biGoD_7NHo?N98C_-1Dq`Qd3*%m#n!P z`4G9#m{!C+Z%2C~Upo^y8~NFbvxq*6d)=3~-&y-Da&!>Ue?v+Am+pV`W4ia3ilaZH zFDEdO=+o4fGsH8Q#T-(7J#U5clP1=Wv|%%=7rSb133{MJY*~ zLwtT2{@XcJ@p_y`4Nl`|`BGndX3jKn+?ZxGrv)u(MQhs7j`nn*Gcg~e-0CHcyh?f0 zR~)(2pOjAn#1}A-!DQysaK|Hve7cCyTtdpJN#e_y!c?X)of*vJzva$4udinV8`;EG zwy~WZ>|_@=mNKr{P5eIvZ)Feh|G(SI?d;Y(34*D=1k7wY|i0a`p}pDoX7bL-~t9R zh`|hDD8m@e2u5-tqZrK?F5yxxV;tj|z(gi7nai2NRHiYV8O&rBvzfzO<}sfIEMyUj zS;A75v79TolB-z3O0MP_u4NUgxt=wwR<^O79qeQmH*yoZxtUwI zl|9_XUT$X}cW@_naX0s{pL@BV2Y8T&IKaa^!lNAIF&^g$p5!T><{6&lIiBYQUgRZS z<`oX{DzEW6Z}K+p@GkH10UvUhkNB8R_>|B1oG@KzxbPfh~kos?BpOPxyVf(j^#Lx=LGVSj}tkGlR1U_6rdo5C`=KGQjFr1pd_bK znlhB79ObD%MJiF5DpaK!)u};EPNNpJsY6}rQJ)5!PD2{em?ku(87*i{l zo#;##&Y&yZ=uQuM(u>}l$yuDkx%8ng{pinmoX-F*U?77S%n*h$j1i3FLPl{Bqq&$d zT*9SX##qKPkx5MEa;7qk>C9jzvzW~s<}#1@EMOsvSj-ZZvW(?i!IfOa3RZG8*KjSX zxQ^9a&l=Wp1M67N1~#&Z&1_*S+t|(ycCw2bxryD}%q{HUHuiEm`?!NUxr@8GhyC2k zecaCjJjg>F;9(x&Q4aDLkMjgi@)S?=4A1f$&+`H=@)9re3Ws==*La;bc$2qyn|FAZ z_jsQV_>jYV%qM)xXMD~Ve92dQ%{P3@cYMze{K!xI%rE@PZ~V?5{K;SZ%|9F=7K_=) zP7ZRCi`?YlSdQa(P9QJ&IFXY$g#r|$5QQm9F^W@ylAKB@N>hfil%qTqs7NI$Q-!Kj zqdGOH$!XN0Hg%{=J?hhd(`iT}8q+=(3WNpm)qIL9o)%X+{1qESnGn&(amb9WZZD>n7+S7rKbfPm|ID@WqqdPt6MQ_gJEY9W}&ZQ51 z=|_Lg<9r5i0fQLAP=+y_kzB|qE@CtnGlomJl*<^)IL0%9iA-WLmotT_Ok+ATn8_?= zGnaYHX8{XY#A24Plw~aE3a;cTR@Fs8ZHt+B*@9{n#@F9o!h>!V%Px*|``GPO`im&;GZ~2bz z`GFt#iJ$qE-}s$B_>;f*n}0Y$Z2Dy*J2}WnE^?EHV>yoFIf1<7<3vv4WKJPJ1t>@% z3R8rl6r(sLD9NdmqBLbFOF7C@fr?b3GF7NbHL6pCnw&;0YEzeb)TaTb(~w3qrU^}H zMsr%wl2){)4Q**hdpgjOPIRUVXV8^ybf*VB=|ykO9(Ok?WT*_sPWgO#~z(gi7nai2NRHiYV8O&rBvzfzO=COc76<6rwOiD9NdmqBLdre@oW?-QTXHtuj@qP7P{Oi`vwo9`$KJLmJVT zCN!lPEoezA+R&DEw5J0d>B1Rwr5oMpK~H+on=?6!v*}Ae`g0!VGk^;i$RGwYgrN*$ zIHS3k@l0SMlbFoqOkpb1n9dAlGKaa$V*v|U#A24Plw~aEDps(PYq*wGT+bTTas%tw zz(zK)g{^F3C+S`l6&Is8B}w`P&?pa;!nfI-U<8-f@i!<+6 zYsXpdS?0Zp`;+cX+?R7Wmp;Tj`rq7}@^56bjex~bB*WAy0`;&R?gB%|%A4g~($%Tv}a&ruqa4DBD zmT_d}?B$N9FqLUcC*|sY%grmi?@A&^S8_Fxo7b_L>siA(){~i^I~+$|?&2nPb2GQF zm)qIL9o)%X?B@Uv^9YY}kSBSDXL*k2d4U%>#Ou7lTfD=&yvK(e<|97lQ$FK!zThjq z<{Q4_dw$?Ye&T0-;aC3VAC7QLHvf>F9ONVyxjB{-$V)y>;$-qufI<|eI3+oiQk0=A z6{tuhDpQqeRHr7VQHwg%r9O>mLQ|U2oEEgC6|HGQTiVf{4s@b3T{wfTbfY^x=*^j& z#o6?wAN@Ix^BKSe3}g_48NyJ8a}lGtm@!S6_1cGOrMG?3={=`Zn+IF7NRn zAM*)W=hrW_WzMnRI{u!_dG$BPzw-xw@)t+QF86YflU(E`565yGdCA8qQSEtoK7Pe(~QhHx1Hnmbf6=h=uB6- z(VZUjq!+z8i?cb0bLmH#SBHp)GK}GjU?dkZilfc3`Sjt5oW#kTLVgNTh{6=1D8(pA zY06NR@>HNAm8eV=s#2Re)TaS4mKzh}_yqEjJ~uwI0O@n%GmCR7rHIceM|@sbiLd4w(%9K7-b##(-Nbrh4{4m-BaX50ATbv5a4g4@&O7y6W}n6R zr~Zn*it{f)>a#fiqs?P6*Id9r1~Y`A3}*xrnZ#tKFqLV{U=DMc$3hmdn58Ud1uIE? z5aaa~UgLG%R*J9T zI@Yt9Eo@~wv8MQupNLxg8^4q4aMa)_* z@d!`wBv11!FYqES6JsjIQyNR}ia+2(4)YP8@&z%bzTsP9TzyZBt)IypUw=5hBisMC zhP_+7pL@BFr+AuId5t%Ci)`8dvo4IBjCJ90L|(?aFxG^X-Onmir5ZJ;Nge7^kJD*L zW17&6=Cq_WZD>n7I?##Ebm0uT(}SM$=1k7wT>5Yx0~pK@hBJbZT*M_@$~eX|fyqo~ z2D6yW9Oko_B`jk(SFnO>S;b*K;uAjQGrr(kzT-!JHe@)u=)IeG{kAoEAL7qa5UM;`c-1cSD}zMPA|+GXIW+*B!^- zv+yQw5r5ah2OK8--3q^p|KuNz$>mze!?Bz~ehN^SA`~Zn2PO0OPs%y2Kt-w&zk5=h z)2K^5>eGPJX-r4rcThSLzlU-L-6@(|A5olBImKz^rvL>hL}7|hlr-<0Dvr6QG-W7D zc`8te%Dm27yv;kj$NL=SBVzo0MrLjM%5jXve8x@Gs*_1;*Mj0g6rngJNbA)y;R=~wQ-GjE$fKdw}FjpVl$}@MxBUSxPzz{ySbG;+{RvRXCG;v ziaF{Y_7ii|13bhdJjy|y;7MZsdWL6to)>tLmwAPl(_Sa$w6}SW_c_c*e9C8h&KG>i zSA5O4e8>0vK-BVI`HkQCgFpF;^xPbCWO{DSFOKKtcwSD=%9(XNYI<49QJzXvrYhB_ zPHpPafYWJ2W17&E=Cq(SZD>y?Iuq-HZuBJ91%2s9f6iwhgBZ*ZhBAy1j3U+#qq&$d z9BnNzLHk5vO);6N%wQ(7n8RG=vw&;3mg~5l8(7CiHnD}RY-2k+*vW2g<`!;c4}00i zUEIxn?&W?S;sB3ukjHqOCwPi?c$fG1l5hErANZMH$Y$=&PON8gk%wbBj^oKk15%xf z8rPH-M2%}j)VZi}QQta}YFt-wH=@4vBGtBY#C^GdsAxo1JkC=*$BVqg%e=+=946{(n!7XS?U=L6Ql6Nv(>gKMhxKSgV_MRR4s;|Pw-t9H z>)Nn~wpbhXCf0xh8N^U7WEAntbTOB3DPtMOOy-cD-{RTr3RV+qzx~|HeLTpc9ON;c zBdz1&*(mBqtl=`(Z$}&-trpZa-_#+q9yE5`gr+p36&>k8PkM1CQ3LwWmwud2*1d?~ z+D0&vQC!3&T*f#iGMUSn#&l*dn>oy5K3SiamTS9$D~V^PHDuP1%sO$S*KXn#V$FF9 zrxJ5rJpZ(!2QjzxCiD3x&2#5#AHW3+B<8o6&tk5)hnO$!<8|JoiT-X%Gg98P7Pq54 zkyDXBT}U}|jyRqt&Li??02eTjK@4UHkx#=I&PXD+QeKS_Uq;HS@!|#jW%B`qvu{Lc^3tG~O*0iB59q33WQl6b5?oP~8JxO_Ywm9WpA8}v$akLy9s(l#4 z8No^y4#vEenSYZUPv&x_5V<&=8O&rBvzfzO<}sfIEF|(W&5KuxBS%+o z4O#Pat+vS3jimhCF5W@p<}PmJCbH(~UTt@9CwFl-_mJ}SKJkM*!~q`VAdm4lPZK%% zJdvj_@(PD|mDhNal)vwZ-{%89Br|VQzJ8(oE7JV_t@t~>Cu`pRs_kewdqjKWYUF1z z%21XHRHO=3Np&JUFGP)~OFc5{L_^1oh#HZ(uieUVTiVfqPIRUV@jTIuc%DeLq__A? z<Zmq?*!SThx^Sq}noAoW@R!o6PZYvEwnM8Z%ZL<0hUtqSj0z)tjl}s5vv4Mbw+Q zEMOsvSi(}G-bAgriWOYVHC)Rou46UVlWNfo;&p6bBb(U5R<^O7o$TU9QjOXpzKy-? z<4*489`7S^LslvQGPYHn5RRY$nYw z+r z{03<*a?AeD|9AQX|2~nE$xm@gP?A$AMQO@Xm1@+YHg%{=JsNO24QWJETJs%0@)JMv z3t8u@zqS2CnzOPyxg6vq7g1l&;ap;z+(C?!7$fa-n0H9eM_t6R|JReuy}z>^$1_se z1B_>-e)Q*j1~8PPJu{8bp7sQfwg))Z>+@MaJP&2=177X;PyXf~j&MxQ|Lp7K@bB2$ z%S9g2-v=A}e6h!uj}tkG*z4;zK-{zNI?;u0bf+Jg&*p<14`vAQoIZk)TuA0#Wb8v;!dNnYo;lfZ>^)9nIy0EbEM_x@ zxh!BIi&)GOma>fHT)~xG#R}4X16DMoQhaw?@LO&Q8kfvQxaIyE?r zTGXZv^{7wg-fCmVvA>$fX&y_|#;A$KDM3j}Q-*Ssrvep;+E;^`oJQ2as5i0RiQ3nc zRfhtU$CG)kS^N2D=Umc%b1HG(M?2@r+N%)fU6V8(;(X&=>(hWZ z=SF0`UvchnzgiLJp6*)*ag3caIFqwDn{zmqzVxF%nfG#_zNHnNk0oa7=m$8kI- zkeAeF`Nah&NMVXll<3E!?8dec~oArJktzYwbU)H{j``1 z(m?NvzKVGua%Ti-9=J$6nv1!V%ZS=Ckx5KpDls?AW)Ab1&q5XvxtN)US2<3(w_1EX zYgx|*HnEv4Y-JnU*}+bBaU(ZzGq-Rnd$^r_+`*mP#ogS?eLT)nJk2w_z>B=ZAztNm z-r!B%;%(mJeZJ;fzT+2u@cXh`OMLvzP1 zh&_kaw4p7r?~rvLE%Uo_v457I_^w=hPp&XUN#B<{Ra}O$l%qWU`9E{|asC~-egY}q z)7Z~CZi;$O*IJYE-8NwWv)U>Qavw2hE85kKAuXYueGC z4s@goXV8_N^rAOslJfpsaX?MtX zl>hf=+s}R6&jUQjLmc2?9^p|A@)*zX9MAItFYz)lMqVSvM;aUNir?b{KIAYT@hPA2 z6)|qUA;!*+{KT*P&R@jXIYPE<=4*10lUy9j3FIaA{Z1zK{_<0R*#9d;QDX0}IGOu@ zF&4{`#$!$K(f0c4Ymf2Qh}i3kahLY+x{0&y`=oqfed0K7crVk7|R5vkhzaH+wmOcGLQKzAolN;akRa=mD*Pm`*mwr%MGk! zJsa7~7PhjD?cBs}_OO@OySsxsxr@8Ghx@pn2T1#QkBA@TAdm3`PxB0EFYhJs%fvq3 ztK>CL9P_EMCk92KZU6|&Z%+S=++m-;l|bQ;o##x$WR&1gX@ z+R&DEbRcR|XEN(kcgH>GMQ_gJY|i0a`p}ob3}*x*xrkJc#)>B~nai2NG^R6yS2Xl+7^Fy)VHg-hE-h0^{gS) zxAo$UY+?&r*~SibvWryTZV~Sx)wnyvslM$O-%HfD|EaD$?mbWNBv0`)nYHdE$1n2= zhj^9Oc%3(Rlec)AcX*e~+V_d$Px*|``GPOWtbyM-{+=KBmEUM=&dXf$b#~l^s6VOp z^b-HKn$y?o{m5E-qUH={2tyghaH0;4B-Nse#8HnfCe@^I;-l51DcYwpjp;;vn#pYD z5Or!E^NCvZKh>yJ-V^m{4N;?RAnMe5Qmxt|-pV$%vxBHzw-P^xx{bZu&OPksUhX4m z+XFnr0UqWN9_1j9@i`s+TP^@QVsk_{4r4nKPPJ7mwZLk z!l;Aa@jX!weBaNQ4jNw>flM@%=%Zzan!vcMD073QXH+; zRnT6M%$ir-aScu*>Rba(ry-4KLUUTsl2){)4Q**hds6L-n%9kgt9hy3_4S^9^yfUz zXApxK!cc}WoDoDlypU0hW(-jmFC}W@I3^PHaVpc8&P?VomwC)*0Sj5oGOplC;^$gX z8?WJ7R*_jJGi&4~uWe=vJJ`jIq#Aj%_!gp8-bU7XnQG;|UQ6{d)yjvpJ;I|LB0v zz>oaI&-}u#{KoJ6#ozqH5n}Tx8`;T89^&@~;%8{-XJ;pi<7a1u$ojLh658VDXYq5h zvXrAd6{tjIs*v^PXf?IP&(emV;GE&OE8XZ$57KvX z;yXC;{hRYh-@Um&JeVO2Wf;R5!ALG-6k|xgyD(0i_4gO1YMVxUPiH1`n9DrovyeqB zW+|E9)w$B~Rjl9|u4NTjf2ZLFZR=Ri1~#&Z&1_*S+t|(ycCw2bxrv*(gB=Z%N*iWUgLG%;7#7*ZQkKM z-sb~8vz-kd|$?`;jzHkcs{WdtJ`#YK$a62>u}2}~sZp0LSW&J?CG zomtFg4s)5ud={{X#Vlbd%UI5pT*XSRVHMZ0n(JA^TK?_tB-`w@Eo@^uJIQYAaaY|5%(v+brs7?)PQJeHkQcwK9c`j-0eJyB7JKEEMPIRUV zUFk-84#@gka<13kx5Ku3R6kX zFf+xon9UsKGM|MkVlhitO6If73dbu+&mPx`)APq_aXf>pCF$ zC%gV1&h7;4rt)nVe&(4JnafP(c_#CaG4ni+nVJoeIjK-ohA6WP5h4{bkI{gXA~TsO zB-H!6-v76r=YH>3&-WeQar8T!Yi;g(?`vJ_y!Lsny;m$@DIXJRk>$j!M^@PmHOXhh ztVcH3{)&xkVl!LV$_{ptgrp=RIVniRgQO|3%&TZlWfo^4_T0*0Uru7rsr>d8 zq!2OZ)c>FPRN2p{N;RregId%f%&WRYbE|>45%CDGDSG~oiL;W8?BpUm=jb^W5l7Fh zl(;+<2=lr!RfwKL`28{Gb@=_!?~OU9Tif53X#RE-ccL@h=tqB^AXFP^9^yB3v1~T$Is&#LM;{FzDEehF=l>b1jK(C7zyCM|h{h-8F)U_( z%&{tGI~uP_;wPv~6{0Z<$1V1l#XM#WJsyr*7{4YoCHC{mYhQR?`MBTwijG(G`@`@4 z|1w`1`+L#vyk8D#@9_?Vdx(%9!rTh;D#{JfybALu9H;voqmuTA^Q#PHiH_O*=1mQc*Q6G)=S~Cr?l)(e z+5bNs!;T*BL^L*C#bJD+kx; z&Fo+oU-J#$vY#I~#E<;MVUF@E$2iUjPIHE{oZ~z76<6s8D8DMoQhP?A!Vp)BPnPX#JcnW|Ky zIyI(7awC*=2V z{bm3I8BFMt4doR=k8C(27|j@7WgM?_zdqR{`zP}bQ<+BSiOpg*b6CJa7O|KmEaekc zu!>Jv%^ITK*n05>zG5R=+0GvRA-DOEhrC4jy@0q7g(*rgN)R)Dl(SuduufOv393+) zYE-8N|CT?(defAUH=5IuR|iG$2kd1ZArE}V_k>(WC2{6}2k5ucDd5|W50e}sIInukflBcvle8OcOuvhXO6k(KO3c_f!OH&Gr5 zxuX#G%N?cdFGK9SQOUk1s7w{A67olsJ3`K=OMPPIj3&05(u~;oqP2Z(i1J1UaaX$0 zohWaFoDuTHGlX360wWp4XvXjw6PU{ z%C8*b1SdJgY0hw#^IYH}m$=4tZg7)Z{K;+Z5;v}SM*PZ1t|%=@rOxAdNPoa z%!HnJRiJQk13)WhqC@es~qzHK<7~YEy@LG^7!YX+m>a z(2`cf?0vVl-GNSYr3XEEn%?xIKhN?U&+{S!8AR-!_i+10GK$f>%2-}w9B&Y__r1b) z=+mZ-_uu`7(oX#{l%+fsiE?~paTTKcUQ-<9_`2eH)TbehX+o6eTZm)k`L?z@(upX) z_Z0Uc%JcoiAFF7~{%Rp&B*#pT@S4 z$DbmMZF8crZ6glj+JR1Vp({Oz#SR! z-Rxl>-|;;M_<=+G$WI(5tf5Ca#&J$^iqo9o9Ot>jWv+6a-}!@^+~PKWahH1}kMp0k zF05&VC``1Tl@OOCtYxv+v5NM^T*Io{u1PIw6V|bMgmtVTPtllY4Qn9|>sHJ)tF!Gc zbfpJ9=|xz#dee{oJj?UE$N&cOGD8^3a7Hka(S&vFRmSofZ!nRtzP-&PCi4#O64tmG z%w!Jp2y5CxK4ulGiMf7#VLPm0>j`UE%ylYSqoVa`zsC=7kZ7&BEWX0;#9UwgvVDiJ z&iq51xc}#Rlf-sdYmyPIHxG&*BCI!QNXsL{UVAdx7uKJ!_GBZhKlvy?SaS*!)}5GZ zPD$G_*PNK^O=XW&p(@o0Yt56?rvYKT32RNX&a@V{r5({4(?#5ke_K~x@Yn#tx-yus zwhUz$!x=$XTf(|BhOmx|XCiMiiOEc3I`8uVA2N%1EMOsvS;A7*u$IsHlJ#t0Bb(X6 zHny{qUF_pKzUKf3ImFK#4aJRUOjBCWlGe1R zC%x!HU!LJvrZJsxtuMOHH(NZ1xy)w)3yH4neJoziC#)b`(_2Hhju&0O+algdbiHnm zcrV}Z9R~>4=fbtQ=(^ldakw6LoD-bn6sI}ESt*-5R@TJ+riANd?dd=#!Zooz^d(#ydzR-2*T-UC8++Nl=(^Z2@o+{kim|*# zbUkc>I9vyt%)5l^U$L)y&9-kY^O(;<7O|9%Sg!`{1Avvjdkmz2l zX~f}Ptm%pF$C_FE7+J|q4sw!*yhQh8Eg&vJQNlf0!~IxGQ-<ImFmR2PiuYK z;XbX6c#6g}p()L1P77MohPJe$1D)thSGv)i9`vLaz3D@Lp5a-Z=S5y(AcGjpP)0L` zS9y(byv}$g@)nbMhxeGmRHiYV_xXSinZ<18F`q>&W(g}<#cI~@8Eg5RFImTWHnNE= zY-I;ua|?(00e}1-@4=JWPDTn+lA4D}Ls}joJsHVFX0nizT;wLaM=wA@3K8@Dc?sKP zDMxuK5Z;?VK^3Y}jq22*Hg$NC286mN_IvYI_O+!i>4^FK!gG6+$H+!@!gGzDXQ(Ce z6P|Bjic*Z2bwu=hqvsmcYT@~Y=UI>Xgy;4YO=w07+7W7nj&!CAz3D@EzWs<@E4*mm zOAKHTgSlVLFv9+kyvkTYo$xwu@FwG#$Rwg#;XUybrZSD`e87jyVm5P_%RJ_@fQ2k# z8K1J6&sfXne8D=_^A#J}#1^)(ogM6C7rWWR*X-k4qB>%~_#i)Uh@UvjuN>zDCppDw zLjCX?=efugt`cg88{Fhi?(z?De9;>a%4QXCo*12{lJi zLa(em6^Lq!YU1kDAk-6eiE4@l;zoqJq6wj{XiijDv=O(ZE8XZ$s3&^UhrWbb;yIot zsv%wx599x>ei-lXOd!+{Q+S^b2>q~GEN2Cu@)>IheXdX^Y-TIl*uhRhy|9O`iRy*# z#NQLu3O|Z};unr^zdqI(`_FQYsJ6HyzRWeQ^9MJG>WrwyxM$zrM0G~Ixc}*CCGuxt zLah%D&OO!30A6@fL3rYLIt$m-m>$zttnNJvNtl%x3`~v52TX`B=P+ z<$S_QRuR=J>%>vL@|F00HOmhBzh*D{_=a!!jsqOzCk_+pmr%Q$;3T1DIm^pk(F%ZBp12KLtY*y zW_?r0cBpZp`XY{!`wb66p7kP;R4CZBqFqB~oX9Ob|&AYtE6r#FnruakV zvw($sM5w2hu#{!QuBkq?Z#AK|`i!-F!I!LKJsSwM);6}YgPrVR53xTZ8EUWZ*-uo1 zoe)R0)>-j6!si_?aFI)dI_nD8xK31W-4KVG>rZa;7k9YJJ^mrQaf?e-cO@2wnky;E zNKQ&p6Y8$CgxV_u8OcOce?2OWYOrkL?1VZj)L@U3k5GpdrU*qTL21fRmhyzpI9B2b zsuHta3!iOlMEE>o6PnSS7PO)@ZD~h)I?{BZATbzFb(vpmlWyu?5T@iIdh z&Im>_nlZdesO84-I&bn8(PtTB*K!|t>_b8ww}4Q?eZ(Rb6V-Cd#GkN&m8@nBQ9bvi zcpdB6z*lT!6Pww>R<^N|UF>EL`}l@$`HoQk9pGnv;Rr|hm17*|6sI}IRj%_pe{h4F z+$Pk1cln!th?C&|to=gGmy~3L+AjquiTVHH2=!lD9w9v$2z6kn0b~AuIkMXRpK8H^ z9uNPIj+pgeN!t~vL}jW_of_1l4o^~#|EU&i?(t9uwxks?>%fk-yK=wUudn_6i0Z%R z#IftYm+c$EForXV`_+MO+CPC%3r-@`g6|S)!5PdXs{iJSquOtQ_#>kFZ<#oDowwP( zsLtCa4z=D+cC(Lf_?GWDz(IcC5I^!0hdIJgj&YomoZ<{;`Hk~jGy0l%*Wy zsYoTNQjO}=qBeD?PXij#n5HzRCEe*kFZ$4zXPCuo<}!~3EaW2=v6SU}!b(=Lnl*gR zdN%MC8`;bjwz8ca>|zgJ^Bv!_pF{k_VSeE#zjB-toa7XzIm0=A<2)C*$R#dwmFxV$ zP5$H#cgdN^_>+gnDL_FAQG)J-8g4I99d|%{kCBY#RYFZVfl!ZznlaRP-mX6orj8%+ zU!TiMCQeRDQW5nZ(uvcPk<5g;{xPzVlU(E>FZn1)5kf5=dJd&2Ls=>kYWONtr5ZJ; zMbvMoCvHHf=Nl8%^v%UBXh|D7(1|W|rzcO-hp4{qFAg>SbG*O+1~Q1j#H{UKu|13t zgs~e#7{9T+M(i3tjA>NgzblSe-_Ni;lR3;~9t#O|{9=}{l#f}?C#+y4tN4^Pe8yU$ zI{!=YS8QZ6TiM2Tb`a|O`_=a0nE${bLQQ{ylbq%(Q4N1de2we;K~%%v6936sPYx z2`W>Cs?_F5>QbNBwSEixTGEvty9_u*P$U;6P3FYqESF_4!T$}0?GEU)o8Z!n$- zOyoVLFqLUcC#v)3is$hWi&(-^R}4O{5bFK?gqr_H zipBNb!XdgtbiDo+{}T?I$Kw)?UDSsO$1e#FlZLdUBOJF(WFb0sImNk%j$2-FbnL=- z{^oawI;y_k70%tJgmX8XuXg`ee>3Em2MKv5Esv0%3}nKOdcco*AU+96L}HQ<<*F3o z@b4cc4dLgc<1w<5jU1Gv97&1!Z$qw&`TN7atw5BgDvPU8osg$$Qj3tQ>Jsu)OIp#I zHngQ3?deEoy3(DHqe6b_N61YfFTKc13}7HH6Xl}e;t`BuG-J76E*fut$VU@-i;$Pz zvzW^~=Cgo>ggmu`C`T<5$IeqBN3G^F*75~kvYriWWD{H1%64|J zlaQx&vxmKW$M=Ne79F!(;@mt=J_=HZQbfly9H+`uqbA|lJV|tH8j2ee&BJEm=vakg z(v9x)ARL=;OrrJTdGQN`;}ebV+v1pGIMenAL}NKy9L6$?;r()Y7_T*a&N{a7Z{zZ{ z$HLg`;~T>G?B^hd`I%Fk<}By9z(uZbm1|t*1~<9I9q#fE;UtUlaSm}fw?nV-OV$xH z2W_<-dXG^a+9?isDD)mf9y&zGJwI`npE=5}9OnclImKztaF+8Va-t_D6Isbdc5;x5 z^2F}pRk5!s)rfj`b;VKtu7S8Ajd+Tfy}MSnJJW^GuZwzheZ+m~N7So(NgO^q5PdFf zu=r($5c+pxd5v+rPUzje$pj`7yI=RdeX|HXx;e}x^yy;u=9b!y`g5Ttw}#J%dUIcj zWA^4Y+1|_+wzHGn?BQ$n5%uQwi+>>W<)Y6M921}5B&P_yxsb=BzT8FeWum^^HSu+B za)+3GxCHV3(|=3k&m<%z8OcdWDpKaCm;DKKp{det_Z~_ zPDx5pfr>mqWvWu08q}l~b$F6`)TaRrX-pHE5qfZKX-5Y-(uvM=p)1|!P7j`@H~n~y z=Xrq_2|c%g3}Ohw8O3PEFqYRC$9N_%k;%NnyM$icRHhO7aqlyO51GYm<}jB9EF|>i z7V|O7Sjj3@6SEf=`fyv>#&&k_HGA2|H+;+Y?B^gq@FPEQn4dYqQGVqZ$2q|%PIH#u zI8W4*yDAR7xEtK$7Jm|YaCf-NJ^mqH{QvH~B@!ngDWUfk`fjOskkmXvI?|JY*!{Px z_T?fsdC1G-6rc!2DMoQZ->oF2C`ahKRiGkOs6kC?QJW{JOFbIUkf&%&b3*^E4Q**p zCpy!G9`vLaPt%)c2z|B}d5Hl;{kFm4&~JN%5rlr*C`R)tV|k5nyv`d;U?OiZnfI8& zRNiL>Gx>nff1Ax5<}#1@EMO5!h~0+^J-AhT%39X3o(+WF+g7%*on7oE^x3}U00%k5 zVSXX>){b+E)12Wf=eWQnE^~#e+^^sEm;HCR%RT-k^xQ%roPe19wN$oa_SMqa4!yO| zSIb1~zFH3Za+03{6ejf1ic^Bpl%X8uiTRm|8n#0Ztu75{NF$=pQ{1m_*52dcGZY=^ zM0a`+K06Wh%=(K%-|Tr_U;qOdMCh3fCG^ZjGlsFm{M^JFwnNWsJfUy)Hc{W~9dYQJ zO=UWvZ?=%|If*4KWjUYn8Eg5RFNk_)8^k*ZeX?DA&0b>m%l6woK-4e$QTz)r`(!6< zM}4w$;?N(vz(qoj>^gsPo4>frJ^tn&LU9p?1SBNtpQR8-{j;cNme#(QeY4On3;$o@ zM+tqi?BpOPp?4OuZ&tu|K?)OkX2povH!Ed3>YG&%hrU@=s!@ZQM18Zm;`)TX*;6#8 z1+8dJTiVlsj&!0kUFbt!`V)F-&+$Aj@FFiUfI+;>5QZ|05sYLMqj{CFyvFOi$#^F4 z7L%CFJG{$OrZJuOnaKxy$Qp4(mS@i+ev3e7mgB_8ofNMe$Zlw>3)1rL&%hj^GYq$NEW$VetK zlZC8gC+hFz73ZS{Pg0k9w4ya_XiGaf(}k{dBlG}!@ie{Z!!ta~^OW{-%2R<*D^=nN zDpQ53)TR!hW~xVh8W3uyMugg_8O>=yIAtEC*8j7;!=IrCQP2CpXBb9!PaNLkE?@=W zy=Hi?nAjQ~-qRJQ43()xOTv4s@c!v}1~ZcIJ}A7;3GZvd`ezL4YQ(%Wl%gZFrtn7xJ! zwlk8MEMy})IVnbQN>GMSw?^Y$On7+S8eCgy-Cc zeuSF#S)zLOCGkK8F@&KEV>lxj!>hc;IKpe6z(hg~Jc)Oh%^c?P5sO&D$1Gzx_p5_L zzaZ4WQO{tVcmo^R#2#+O`OjxfZu|2t(dSI!#C2|xfP{pa^9Z5VJVvN9W7nAH?7P54 zF7Z2m@E4)(OhQtUlahycm^7s25i*dGOk^etkCKfXB-adp&#K~dX85Z&PYZR&aH8TI&%UOd5gE1!A#~8&b>t}W(liV$9j?&-_Q$7 zK}u5d5NUaYbfhPm+nL1C{0`@SCpy!Gu7vs4lU{^5*OxHw!kl}K=LvIe0Ab#}Of>I? zi$^e$Xx@z#zfPEUN;kUGgQw|DAN==#>G;3bl!X3FL^iUMgOEdWQISei zp(-_~NgYDJuRdYDYD^QF60KRS#H|T=vOOK>NHlM|i+d1r?ne1C%-bku?i7E|0e;{| ze&!dBaFky;#&J$_hTk~P1uk=it6bwczw-w-_>c@%zLQ=+-kLfnopZ#vS6FmIwc(^LF!^Jb98q8#_Bcr_uPtmSjU+P98P zY-S5v*+H0VyV%2C_VF$IImBU(ahy|xxpt0=Tq4Y~TZH)(=F(ka&ZQ_{C5rQ(c@*WO zaP23`M`8ZN%rjArDQbVnGf^(7Bz}UBN20tD<%}@b5|N5b_$&X{d`xU#n2)g^3;!;9 zEX>suq$JGKhX`{t%*_mBBs0;R%puN6F2Y>A-yAGtf0&0wC`y=*C5h%_^zZZ7mzVG} z3KH|*6|-HO*mF6|;|hd%T#3ruZw}Y8zczJ>NyvApEmgl(N>m6)=c+EqIUUzuC zV+gN#EYa(oC=RbVyw-P_#&l*dlUdAW4s%(^M=WA7OIXUsEMqwqcM>rYd z5ao%m-h^Bcy{AbgPC-ikZT$)FY5u48GdVmS@|!^2_?o@!;~T!^I}UJ=ANYyG z{LC*zHPWx*7C3mYnrUKvlHr>Jme)GMJP)6Y(a5KP?A!FTBj1B)~QOUcWM&q zo!UG}=npiYF->Sjb6U}wHngP!od|VNH@eeC{78Ybt2@ma#Wxqm8eV=s#1;W)T9_&Tn8I{s@&U7%L&%f!S-?V~e7RKoG0RxNDn4a3YlxjE*W0&& zuh_^YHnWv&Y-b0%*v;33eEA*wIY7vrKM?ZgkNm`8e&!c`P`D@@h2g_-s5lnAg)bfpI|bA4ai{pim#JWI&;A=eLJAcGjp z5Qg#!!x&D?d_UIqYmDPf#xsG5yv5s0Vlq>h$_!@m0Ut7p+011g^I5<`ma?2rSV6QV z#9R+PxBm;)v5`$g>%cbgc6M>UwcvaE_Y>BFunzo4%(dXC?XU(M<2WZc#c9rRj^DV* zWv+0QYh33KZg7)Z+~F?wNElbHC1y`8neEV5OF`_OS~~l}`V)Fr{Oj(uk%+Yg2o1 zM>-SMrXKVptWA9|1P}P*zv}G7;%L1|Eq<7^q$2|vd6dVcy1|(*23sHrm-)2p6SJz$V~J+^N7Rq zDo9uxixQq=31UCT^7ch*WAq%OH8FaA(Yn{v-)&9{TGNJBG2*Zewx=VV=uB6-(VZUj zq!-Z|*iYP_XLy$9d4U&si2)4eWri@6R~X4CMl*)jh`9!a^=~3?@ivoqhpD{J3}!Nm z+00=s^O(;97V;5`2y0i0+Zq^Xjq!zWQLp|!#fQB?8%-Lo{^R}fpn!EAD2}nc|st|rhb)ugier`BF z>k@u;W14WkpWD{{cC;tF_VDw=`5b;n_%r;T#Dw!YIVngEv5bym^l!s+jF}gr ze-|D9aO}fa=cFM2HkKtl7Uie%;tEtGod02bqt_nBHso4Q)g}EB$X?XorsYZ3e>#s$as|^U} zeHf4EJPqR!j&*eIM9)9GrbmhSyu$H_#w4CNj8!y0Hi$Q}iS6v*YxeRD-*c4sCQ38P$9xvDh{Y^nDa%;SC#+y4 ztN4^Pe8yV7;7iuAo(*hd6I;3>NYci&)GOmhv&n`Ggg$WEG#Xnl*gJT0Z9s*0G)qe8omKv6(GwWgFYs z!A^Fwhp*YoKEB~QzGpuNILHqi;wKLCGrw?@UpdAJPI8(voZ~mnbAgLo;xbpb$~CU@ zJAZJ4TioU^?sAX6iIc*7BmoIYL}HSXoD`%a6{&fMhe^vLq$52U$VetKlZD5~N_KLP zlU(E`4|&N)ehN^SA{3)IB`8TL%2JLBRHPD5P?;)Jrv|mC&6Cun0S#$HW17*Nmb9WZ zZD>n7+S7rKbfz26FqoGa!cbme7{eLCNJcT5F}%uHUSk{+nZ#t?;a%Qi3R9WJblzts zvzWtt7O;?ySj1wMu#}Hk#wV;|HEXzMG5k9$i0K_;;u4SeBp@M)c#zaQ#KWW^Esv0a zjASA+kCBz^P?A!Vp)BR8KxL{>mFm=>7PWbjx-_N^nlZe}>%766 zjAsH9d5cNB#}uYAjp@A43}*5HA2N&C%waC`n9l+h@)3(z%o3LJG0RxaC#+y4tN4`F ztl=}(@;P7dCF@wv2EJk=o7l`2wzGqs?BZ+ovX5{0mhbqU{T$#RKX8a69OYMzahwyJ z;Z1QI;u4SeBp@M) zNK6uvl8oe}ASDm+Fd4~2W*#Fe*~mdoaxzF&l2xo`4WF@=b!^}( zHnEv4Y-2k+*v%gHa+sg_g(Dp07{@umNltN=3tZ$9SNNSjxWP?s@h7*r!(HwXM==qP z_#`9|iAhEZ9wapnk%qLSCnK53!lOJ!RW_xz6w0;5K)-$KU)zXcELBF7b#@0uqso z6r|!oQu7cGlZHn~PX;oQi7aFzJ2}bAfsS;dGu`MxPkQk*z3EFo z`tuCW@&W@H%*zbr6^1c_k&I$AV;IY8jN^6Q;7ukljrWtfTpYtV~*~&Jyvy0t)&A0r*5sq?<6P)A}r#Z_xe&akBxx_VYaFf5d z!(IO7AHoHWIK(9$2}npH5|f0aBqKQ~NJ%OlBsC9_mP}+O3y+bN?BpOPxyVg^3Q&+j z6s8EpC{9UAQJON8qdXO<#FNye9t~*7Q#7F|&1g;wTGEQvw4ps6=tyU}(3S4=peMa} znm+WUAJ6bC&+{TLF@Qk~=4FO3lwpiuB%>J3tGv#8Oko<+`G8r>W-jwsz(N+Wn2-5{ zRjgqxU$Bn#Y~U+4vWYEhV>>(8$!_+rmwkN8ckJf?KX8bjILt2`;a84voD-bl3}-pV zZ=B}>m$<@Ju5q2;`GXtW_#_|^Nk~dEl9Pgzq#`vBlZLcB zLORluflOp33y+eOY~&<2dC1G-lxi$tXrMhOxZH zINoF;Z}B#hd58Cy!ZhAz1~Zw(9Of~fk66TFma&{qSiz^PVJ)BY1z)m`^=#lPHnNG$ zY-Jle*v&q^<$LyXkVE{$VUBQ=W1Qe5r#Zt}e&akBxXcxI4 zf>M;BEafOq1u9aB%2cHq)u};EYEhdy)TJIz(S)WnqdBcp3Zck2fcWj-t?g_ z{pim#Jj-*uz>5rIFfTKNR~W`{Mlg!ejNw(r@*3lKgEtw^1m5CpCi4#O@*dNe&J1Sq z0kfFR9Og2gC49^>mh%ZKSjj3rWi@M9%R1Jxkxgu73tQR7c6PFh-Rxx_-|{{CIlw^< z@gs-%g(Dp0SB`O<6P)A}r@6pIE^(P#+~zOta*uxq7n$M`j|3znF-b^9a#E6t)I3BQ z(vpt!WF!+=c$BPUBL_LjO&;=5fPxfeHD9uh4SdBWHnWATY-0yI*~M=5@HKnc$G3dP z_w45Y2l;`+{LC*L;V8#B!AVYWnzNkaJQumjb^hQcx46SS;V*fJQt;W17;8=Cq_0t!c~C^r0X9d4}hB zo)>tD0Ssg?FEfN!7{(aJGLF}Ii%Go03_jpPW-*7k%wqvdS;h)hvX*shU?ZE@%vQeU zTfS#M2l#Dg+~pqskf^ZvO>$C_iU-NS zqhuu;*~v>j3Q&+j6s8EpC{9UAQJS)pqdZlqNp0%zBz37z0~*qZr)W%5n$d!mw5APh z=}LEc(u=3*O&|L52IHB)RHie7nJi=xOIXTkKI3z~U<=#W!Ct=MI}Y&^Kl2O6IKe4S z^BWhq#AUAY2RFGzoFdK>5|EHoq~>ALke-ZWCJWifK`wHWj{+2;Fl8xEMJiE?I@F~e zjc80$n$dzbw4*&8=}LEc(2KtG=XqXa0D~CHFh($jv5aRTZ!?L>q;LT_C8-GaFL{WE zNy{UI`Fwwn9N{gd=kvt&|_a3Q3bpMfX|KA2QBHVwZ3C#%iAZbY}qWh4v6St=W zo#;##y3vC{yvz`WGK}GjU=*Vn!&svGjVu&@#J}AqWQE6~`-H3(e@3`p$me{?dcr+J zHnD}RY-0yIiS8Y;N4%GPgztTa`-ptU_x#Kej&h9SoZu9{ah`Awk&DE>kH|Iq!uQ92 z=LR>q#h=_Jx~IrJam@RP#POkzxWp#`2}wj^l9G(%q~Jl)5Wbt9j`U<8Bbf>J8p%pF zvXg_Hhfil%pb*2=^kXN_A>blUmfK4&mM;^$6dU zzu)~yn%Lirmb9WZFYpor3E!s=_ZtcK8X3+g#_&3CFrJCLMRbpmY2xX;&kSY~?lJNq zvzfzO=Cgo>EM^Hy`Iu#V!U|ThhHx*EFNp3z@|Acao7l>BcCeG(>|rl4?@98V?eB^1 zP0}&3T);Ct$4iXl4c=rt6PUtqBya*p3P&qXeAg=<{rcmCiexA>FW+~F>N^AB+nT0@CX0uqs!BqSvn z$w@&f9wapn@i1vf%Oj*G0~yIgX0q@odC1G-S>eQenwW&j0>eGORG@>z0Xi77h(~?%SrY-GgPe(e@nJ#prJ3Z*d)AXhf{pim# zJje6Az)K8Z5JPx{VT@oTqZrK?US%w=F^)Hxz+1e{Bqs9?Q<%#8%wQ%TFq=8dWghcc zz#|__a*~4D;@eSYdJ^T5AL;T2Le&!dB@+-$U z!AVYWmUH~ZMJ{ofD_rFozw-w-xXCSU^A~rx%RT<)fkfssafwHK5|EHYg!}a*B^k*H z_v%SWDx!PzJR**HkDe^HA0sQ-$W9J&l8Zb<_veQeXwW&ir>eGm)XiO8D(vnuRr5)|*KqorWgP!!_X?oL_XL*T% z3}P@tc!gmMX9Ob|!>f#?MiS#kZR${$dNiORjd+U2G@&WcXBS(FThW>}w51*G=}0F! z)0J+7&o}nuY5LHQ{yfV|3}7IG7|alcGK>+7Vl-oTm9f0WI9}%s-ef!zn8;ha%_JuC z4(~FBsZ3)!@ACn(nZsP>F`or20Bz681m-r+hDalB| zgFM8;q#-ToNKXbbk(n$!Mpm+sgPi0d4|#c<{1l)dg(*T&ic^A8l%@=2DMxuKP?4I{ zqBc)bmwMEv0S#%yQ#7R+&1p?L+S8HFbfGKV=s{0<(TBeDqd(8^9MAItFEW6E3}P@Z zGn7{t#t23-iZQ&(SjO=>Z!(^Vyv5s0<{jQ;3R9WR3}*5HA2OS{%wquyS;S(Nu#}Hk z#iy)h4WIJ`>sZeQzG5Sr*vuBTvYnmmVmEvEn!W7f8@}Z`_H&R!{K!un=4XE42)}Zi z6P)A}r#Zt}e&Yfcxx{6zaFuIZ=MVOqvIjWGF^+SR)12WCZg7h~`HMT;ODj(Q7Rx4zDlzZfbpTTVF6}M|(QZkxq1`3tj0( zcLp$!K@8?)hA@;@7{+i$Fp^P><{jSUJ*F^~X-wyRW-yZv_>fub;~T!^JN9#cgZ#iD ze&i>9;Rr|hm17*|1SdJeSYl_l%X8usX#?4@dS-{ipDgdDa~m? zOIp#IHngQ3?de2kx-!U@Z3go)LwSW^jARV2GL8@UkXg)TF7sHxLKd-vr7UAPD_F@Y zK4mqZv6j#IlJ$JWMmDj9t!!flJK4ovzTrFe^9x5f%CDT{6sI}ES$^X@7rDe`u5gv> z{LUZT;3l{DliU2o9qw|EzxjvoWt=#~B_8ofKtd9cm?R`68OcdON>Y)UG(18&(vyLV zWFj+Jc$CM;N;a~SgPi0dH+jg*@%3R8rl6r%*CDN8xZQ-O+9qB7N}K~0*{ zmacTC7rp62U;6V5&+-BT7{V(IXEb9O$LqYon@nU9?=qF?%wQI?na4sF^D)a=!D=?J zklDM=|x zQU?Cr|h{Y^nDa%;SC#+-@pR$_ISj*>p!8+Enfv?!eX11`EZER-;yV%VhzGg4q z@Gal*J^MMpL4M#6Kk^fY`Gq4K7rDe`u5guWT;~sN@F%zV zi@V(8AHo;y;t-GcBqR}2efe%0(|Mm6%;ZC6GnaYHX8{ZOh$SrLW0tX;Pgu`aY-AIg z*}_(~vy)xyW)EMpmv8uv@7d1*4)Ozs_>rGD%+LJ75svaJ$2iUjPI8LVoZ&3z_>J>i z;3Ai}%vG-QJAZPIxW4q4fW)NWA<~eJ3}hk;kCL0bf$tb>3tG6M2hCyu*7; zVJg%4fDf6)9Of~fWvpf$TiC%KzF|KHImA!=%n^R&I43#91+H_OaKnToJjlbOB^?>a zL>3++8#%~D9v&w@1u0BXic^x(l>J}i-39biRo^gdlx_s+?(XjH?vj!Y0qKzL?(XjH zloDwH=@3v_EL21h_^$IT`4*2$y}jdopXXcOSzK$KIWx28%>M2D+k5u;&p>_(QkbF? zrzE8*OL;0#kxEpi3e~7iO=?k_I@F~e^?8Q|G^8<2Xi77h(}I??qBU)3OFQ19Jss#s zCpy!WZgi&yJ?TYnKA;bM=|_JCFpxnEW(Y$W#&AY3l2MFi3}YF`cqTBBNla!c)0x3c zW-*&N%w-<)S;!KWvW(@dU=^!b%R1JxfsJfpGh5ikc6PFh-Rxm6AF_}A9N-WiahQ)e z$}vuGl2d%bY0hw#^IYH}m$=MTu5q0k+~RY-;5K)-%RL_OkT3a)Z}^t)c+8JH;U}K* zGtc;y=e*#JB*p?l5t=ZBB^(imNF*W?g{ZtmbYk!}F^NSS;u4SeBp@M)NK6uvl8h9j zBo(PiOFA-;kxXPJ3t7oVc5;xDT;w4y`N&TJ3Q~x|6rm`^C{77VQkt@qqdXO;Ockn8 zof_1n7PYBEUFuPvMl_`v&1pePTG5&|w51*I(Vh-;%<5!;Zf|tCJ)YwKyLJ@|rgd+kGiA)rt5{>A@AQo|m zOFZI}fP^F>2}wyta#E0r)TALT>BvB4vXY$~DP6^rJrm z8N?8VGK`UoW(;E)$9N_%iOEc58q=A;I&wX9=38`#JuHnW8t>|{54 z*vp6P;{XRa#77+FD91R?NltTyvwX@q&U2AVT;?j*xXCR(=L>Fghr8V4K40-OzwnG- zdCm)768zxqn}j43p$S7+!V#WGL?J5CiBAF&l87WEB^k*{MHej`eI{Bb(UDHg>R+UF>Eb`}v5&9OW3tIl)Oz@d>9n!&yG%9Ot>nB`$M?t6bwc zpK*hm+~NyvbBDX!=Sv>(6<_lW-|`)g`JNwm!cY9nuRP}kFA0%CdnF{H2u&Em5{~dh zBodK{LR6yh7SV~p+r%UmafnNN5|D`Gq#z}!NJCmOl8MY@AuHL)P7ZRCn>^$tANeUr zAqrE1l9Zw}WhqB_Do~M1RG})>sXCFf9p)dXD&j1E7m>~>h7{eLCC`L1uag1jI6Pd(hrZA1^%wjfkna6wN@-x5ij9+=dOG2mAt_e$cA`pqlL?s&0 zi9t+a5r??MClzT)M|v`lkxXPJ3)#p{4swy3yyT+*1u0Asicy@Bl%fpfsX|q%QJtF9 zqBeD?OMTv<0gY)wQ<~A77PO)@ZD`ATw5J0d=|oq$(UV^Ep)dUy!6?Qsj!8^sCbO8! z0v57}#VlbtD_F&9*07HCY+xgs*vd9`vWwm9VK4jG&jAi{n2$NaQI2tv)12W`&T*bg zT;>W_xyE%q;|5=Fo4efO0S|e^SA4^_e8*$H=Lde|C!X>%zwnIbyx=7vQkkdnCW%Qx zGLn;ml%ysNX-P*0GLnhRWFafr$Vo18lZOHnq!7g@PHDoy90gGA2a#paCRjg($>)FUAHnW9oY-a~M*~M=5u$K?n&jAi{ zh>tkRF^+SBQ+&c{&Ty8i+~6j+_?+9^;V$?1l1F^S*L=fwJm!0T;3uB)Gr#bR=e*!0 zAyR8+gd!}j|4vBo8zE5$ejDU%ViSkBBqR~9ekUZE{S>4m6=_LFMlz9^tmGgkxyVf( z@=}nZ6r(sLC`oC`P?mC(rveqJL}jW_m1@+a4t1%=J2apnjc7tMn$wy#w52^A=*atY zqBC9SMt6G9lV0@Z1NzXHe)MMm0~yQ^hBBOyjAArn7{_=fFp;TDV>&aK%^c=3kA*B^ zF-uv-tKVH&X@3=~S;Jb^v7QZVWD}d&!Zx103QbKIRC=IL=8 zQHjP|L?;Gs6O&lPCJu3lPXZE>h{Pl#IVngDaufeTGXK)Eoem>y3vDP3}rYYnaXr#vXtelWGma*$zhIgj0;@i3U|5B zL!R)IUkFp&`4fRy#33H3NJBbuk%xSgq73DzMIGwVf>yMl8$Ia7P=+&-sZ3`kOIglJ zwz8eQ?Bft8ImKzt@G0lGz$GqomFs-Q4Q_Ia&-sGe+~F?wc)&xxh{Plz8OcdO zN>Y)UG^8Uv8OTT`GLwaDWG4qX$whARkdOQnpb&*ALQ#rSf|8V?3}q=tc`8zg%2c5m z)u};EYEy^0)T2HPXhxiDPH>V_oZ&3zIL`$xa*4}a<2pCE$t^zT3vP3d`#j`J z9`O}l^9_&ro*#M63tkeUq_$5eLKBAYL?9xOh)OixB04dNMQq{_p9CZ%5lKl$dNPoa zOk^etS;3n$ePWyhjH* z@;;sDOc%P+jqdcIC%yQ9e)MM`gBZ+EhBK1MOkpb1n9dAlGK<;FVF8O+&I(qsnl-Ft z9qZY^MmDjTEo@~Q+u6x3cC&}Qe8@ibbAW>!=3|aQag$rz;{jjtE#L7yKky?@c*@VbAVeu`jBtb}0+EPJRHE?~F^EZQ;t-ekBp@M) zNkUSRlZw=&B^~L>NG39qmF(ms7rDtxKJrtLLKLPbB`8U0Do~NiRG})>s7@_vQ&uN>GZ@l%Xu;C{G0{Qi;k`p&HexK}~8= zn>y5^J`HF{BO23$cWFvH-lIM5(}~V>p&PyE%?I?MAN?7`5QZ_DF^pq86PU;(CNqVp zOk+ATn8|GBFqe7EX8{XY#A24Plw~Yu1*=%i8rHI&4QymH+t|)dcCnj1?BzrDv7ZAR zHg~ws1HR-d9`ijv@`Rsw z%Fq15GoJH;5M{Ji-XtU$$wX$dkdZKOMeD1kiiUP6r&l-cqTBBNla!c)0x3cW-*&N%wqwISj-ZZ zvYZvHWEHDf%R1Jxk*#cFJ3H9TUiR@3hdIJ=PVot+Im@S<=K`0w%vC<)1~<9I=iKHF zce&349`ZHc@GXz|o*(#;C;Y?&aK$t-3whj}bu8OvG8 zDps?GwX9=38`;cGcCm-Oe8@ibbAUq}<^(7CgwveiET3|Y^IYH}m$=Lou5pLE+~YnE zc*rBZ;v2r@J09~rKky?@_=%tSgBKX{Xngd#Ly2unD^6M=|CA_`H7Ni1TM zf|R5pHEBpoI?|JYjASM|Imk&aa+8nz6rdnQC`xfkP=>OUqdXO;L}jW_m1+=(2n+Wpd;_oneOzUC%yQ9KJ=v@gBik5hBJcEjA1O} zn7~9PF@@>OU?#Je$9xvDh{Y^n87o-HD%P-;^=x1hTiD7rcCeG(?BPT9bAW?<#9@wb zl;fP_6rXU0vz+5R7rD$8u5z8vxXCTP;0|}W#{(Ynh_CpDZ~2bLe9wQ3Jl%*UMs7zI=QG=S)qBeD@M|~R5 zkVZ773GdRBX0)Ist!P7A+VLLk=|pF`(3NiVpeMcffIjqN00SA!5QZ|0;f!PyqZz|k z#xsG5Oky%qnZ|TxFq7HLVJ`ES&q5Zlm?bP_IV)JnDps?GwX9=38`;EWwy>4$>|iIm z*v%gHae#vy;xHd`grgke6rXUKGo0l-7rDe$u5q0k+~gKtaGN{a!nJ#pt8{O$aPkPatKJ=wO0~p941~Y`A3}*x* z8O3PEFqZL5U?P*4!c?X)m-#GU5sO*EGM2NFRjg($>)60XHnD}RY-a~M+07n4WFPxE z$RQ5%F-JJYaZYlIPdLpP&T@`RT;VF$xXx$X;1+kd$9*2~kS}?}*F5G2e&h*1@syu= z#!KF)D4!FOP=qE7;fO>Oq7sd_h)xV*5|{WSAR&oJOcIikj1;6H9qGwHMlz9^EMz4+ zxyegD@>76<6rwOiC`KvDP?mC(rveqJL}jW{liJjwF7>F-J2apnjcG;;TGEQvw4p8S zc#jTrrYqg(P7iw0i{A8M0D~CJ5QZ|0;f!DukZ`Ihf^%=i4jkNm_lp7Vm2gs7xl@+P4OM+71giO57DDsK^!*u)_&@rX|X z5|NlBBqbTiNl7YFlZLdUBLf-9L}s#(mF(moC%MQ?9`cc&0u-bWg(*rgic^A;l%h0c zC`&miQi&>5r5e?#K}~8=n>y6x9U9Px#x&twn$nEsw4f!eXiGcV(}9k>PbWIlg|2j? zJH6;lANtad{tRFsgBZ*ZhBAVYjAjgD8OL}gFp)`2W(w1p!7OGomwC)*0Sj5o5|*-p zRjg($>sZeQHnN#5Y-I<#*v(!(WFPxEz#%^3Fh@Dg2~P0|r#Zt}&T*a#T;?j*_>3Fe z*a)0blZnula^=`Hsi@z>hrPXP)sZ&w0U1g8%IF4c;Uqp$S7c!V`grL?Q}N ziAD_GCML0nO&sD9kN6}aF-b^Da#E6tG^8a18OcNzvXO(F)6Z|wz7@w z>|iIm*vml<@i9j^#&J$?l2d%bY0hw#bDZZQm$;(t ze&i>f@{C`3&P#&-m@_1y2tzm`5RphkCMwZ*i|D*fEaDKCc*G|G2}wj^l8}t#q$Cxo zNlSV%kdaJeCJR}~Ms{+Nn>^&DAcZMHQHoKV5|pA0WhqAmDpHwhRHp_tsZAZ~Qjdl- zp&89-Nh?~@hPJe$Jss%C`*fl+UFk*-dh!8%=tqABFpxnEW(dO=$tXrMhOvxe5>uGU zG^R6?+00=s^I6Cu7PEw9EN2BPSOvW^XGWD}d&$~LyMlU?j#FCVgx{T$#RhxmwN z9Oo3DaE7y-<2)C*$R#fG88`TxFSx^9?(=|$e90re<{Q4_F+cDlPxy(a{K7My^Mc?% zmVJXa2}vlz5SH*nAQF*@LR6v=ofyO<7IBD6JmQmpgd`>j$w*ELQj&@^q$NEW$VetK zla*}bASb!VO&;=*pMn&k2t_GIaY|5|__a z*~4D;v7ZARt%;q#=!H!n-u1Jso(TPIRFUed*5t z1~Ha#Okg6DnaeyDu#m-UU?ZE^!ZvoWlU?j)F9$iqVLs+4$2q}CPH~zuoaG{yxWZMg zbAy}Q;x6}iz(XGKHQ(?pKk|g9{LC|+^MaRzs9}5{EaB+y&_D(;m>~>h7{eLCNJcS+ zag1jI6Pd(hrZAOhOlJl&nZ<18Fqe7E=hgOxoi_Y)UG^8aR>B&GwGLe}qWF;Hf$w@A9 zlZU+IBR>TwNFfSS1b;poq8R?PGDHbV^4p(_gm8&A#BZ0R<^O79qeQmyV=8DK4c&JIlw^<@ezmlm?IqJ7{@umNlx(z zr#Zt}KII(exxhs(ahWSz%dj2qnK7N7G4x4FYz?s1<7JmgCr@fBb54d3z|kNKV- z_>m|4#8ZCe7oPDe&w0U1LcHN0ZxWJFgeDAO2}gJ$5RphkCJIrB##=-u25%FSSi~j{ zafwHK5|EHYBqj+-Nk(!~kdog{?Z4%uKROoL!7zj+9N~#TL?RKHC`2V1ZxNjsyiH7E z5u5lVAR&oJOcIikjO3&s4QWY7dNPoaOk^etS;D zP6A-lr3t=|We!(VZUjq!+#UfIjr4AN?7?Kn5|GAq-_0!x_OyMlqT(jAb0- znZQIQF_|e$WjZsM$t-3whq=sSJ_}gLB9^h76|7_xt69TZ*0X_)Y+^H8*vdAxvxA-N zVmEu(%ZKb^KL_}TBOK=xpKyk=e9Ae_bAgLo;xbpb#&tg91~<9I=iKHFce%%X9`KMa zdBoRz!?%3LW4`A{p70Y-`I%q%mFK+V^}O+SbH?Az7q4=~t32^XIU>~?<_4r8E$PWf zCbE!~Y-A@VxyVf(@{*7I6r>P^DMC?-QJfN#qBLbGM|mnxiON)=D%Ge?4Qf%Fy40gS zjc800-lZwcXif`S(u&r!p)KurkM?w+Bc13>7rN4&9`vLaz4?GXjAjgD8OH=BGKtAd zVJg#^!Axc`hq=sW0Sj5gVwSL!Wh`d}D_O;A*07d!tY-ro*~AvMvW@NRU?;oS%^vph zA^X_R0S@v zrZl5DEoezATGNKMwBtS6(}9k>PbWIlg|2j?J3Z)0FM9Ih{PlzDalAq3R04a)TALT=}1ooGLnhRWF;Hf$w5wXk()f^ zB_H`IKtT#om?9LV7{S;b|;L%ILIMB z;xHd`grgkeI43yCDL&yeXE@8JoZ~zfxX2|gbA_v1<1;?zHg|c%*L=%ke&7jD`Gsfv z%5z>2bkH|=laPcW3}FdJcp?yyNJJ(oZxMr-#3nBBNyu--{@Xbvx`JZxHZh4sY~m1? zU<+REO+pfi(1ax%;fX**A`zJ=L?s$;@sD03p2x%|0SQS&Vv>-QWF#jADM>{d(vpt! zWFRA%$V?Wpl8x--ASb!VO&;=+kNgy%AcZJQ5sFfb;*_8yr6^4q%2JN}FKp*zUDvk z-eV}^ZDR83_5Mz-OXl&f=eyKy|5ac7t8poh=jJ6J`T1AJq`#Bvg7K&pwW&ir>ht<| z)Y$F68jJqUIQ0Ae)9n!&yG%9Ot>fMJ{ofD_rFo*ZGVa+~gLY^98rL z!(HxipJ4kfy#Mj}(jVo|1YYm=IV`DT$#^}Nq;mU@@`=O$HKz-5XnHb`kxcx4?i=*! z!K~o|L7%AV&Gupu!8-Iof;HhU2-atVwjHd0Bquw?sZLWmGl)q9ZD<)A2-d)YxV|2< zppKsrEu?un`DjK@`Z0u2Okg6Dn9LNWGL7lXWEQiT!+aL8lohOI9b4GWF7~pYLmcJ^ z$2h?$PIHrQ2`V!hNytJGs?eB@^k+Qt*~e*a@*Qs)++vV|oRp*{&FRVzrm%!yQ@ueN z`H#1=V61vIKL4He^=EDCui8=$uaT2nhr&kbI{*^KL^U-*zf!IKkC=7*I!}JFG5j@ zQJkQkmn7)xLCy^N`|EkLqT7}DPt;putdUtPaMJVElN8SM8;-{a5d~nf>Op zpe3znO&i+Mj`wI!2RiaT|H}GJKhNvW00uIM!3<$2!x+v8Mly=gjA1O}7*DW%Gnpw& zWg63&!Axc`n>oy79`jkiLKd-@r7UAPD_F@YRH!(KjQ zANx7TAr5ndqa5QnCpg7v&Ty7bImdY}aFI(~<_cH2#&tg91~<9I=X}9!?r@iT+~)xg z`I1L`#n*hpw|vKAzUK#i76<6rwOiC`vJkQ-YF|qBLbFOF7C@fr?b3GF1pZ<5i|!^2`H+3==Ku#e#9=<>2uC@_2~Ki~PdLq4 zKII(exxhs(ahWSz%dj2qnK7N7G4x4FYz?s1<7JmgCr@fBb54d3z|kNKV-_>m|4 z#8ZCe7oPDe&w0U1g2}<}*UQ2<7M5_lS}%)eKUgyhw%}=@2u&Em5{~dhAR>{7OcbIL zjkkzS4BjRtv53t-nr9^QnB=4&C8I4f|8V?G-W7DIm%Okid3R9Rj5ies#AlS)S@|iIm*v%gH z@*(@!&jAi{h>tkT#~k4($2iUjPI8J*IKx@aah?lYLRG3!of_1n7PYBEUFuPvcW6LE8qt_{X-YGi(}I??qBU)3%X_q^108vv zPIRUVUFk-5deDHj&<@5jj`0L-Vj`26Owc~2GL7lXU?#Je z%^c=3kNE`K>uo8N+d+E@!>cwG-u^$+uHtxnJQ9(NRHP$l5822?9tu!|Af7=CgV+WA zHHcFXpLb}?t2nf>AJlgjf;#L^P+xykPeI)T^%2xT@V@7>nB}ZyJ)7CiZuW7ABb?wg z=eWc*ZgQLZJmOn^;3>cIoEN+#sL=ndV?=7_mWH&XBRv_&NH%g)fTEP5JXNSkEoxJT zx-_5(&1pePTG5&|w51*G=|D%`rxTs&LRY%cogVb07rp62U;5FX0SsgigBik5hB2HG zjARs}8N*n{F`fxbWD=8^!c?X)of*tz7PFbdT;?&K1uSF{i&?@_ma&`_tYj6dS;Jb^ zv7QZVWD}d&!dAAiogM6C7rWWRUOr?W`#Hct4)GC(`IsXd38y*3Sw7_) z=efW|E^(PFT;&?q`HUOfa!>pBkgmJGTsE zDMPRYG5@Q! z{{Po}S6#i-peD7cLtX0e@8-gPHV^jnn!V`F2lSyY{pimC1`=#RJm2K6V*1a_o&P7} zAN1!SUj^+sXv;yK3fgece#`P_<5m#6AZ9_F8qt)Nw50>@)0LoJgE|fBGpNf~^*G4> zV1_W1VEf-vum9}1MD~PNIXV~%qZ5O-31SkLED{%J>w-ya++u zixI><$XUTWr4m&M`ezX5piefSF+r?b(3)5M>{ZPF)p9n!&yG%9Ot>fMJ{ofD_rFo*ZGVa+~gLY^98rL!(Hxip9ehTOCIqRU-J#$ z@*R))o*(#;C;Y@ye&!dR@hi`H!ApY9{RVFml2C*u3}FdJcp?yyNJJ(IQHjP|L?;Gs z6O&lPCJu3lM|={HkVGUV2}wyta#E0zRHP;iX~{rFGLe}qWF;Hf$w5wXk()f^B_H`I zKtT#om?9LV7{w_;NlH-EM^HyS;lf!u##1*W({ju z$9gufkxgu73tQR7c6P9nUF>EL``FI`4swW(ILyZ!;V8#A&IwL(icdJr8P4)4=Qz&= zE^>*>T;VF$xXx$X;3l{DoG-Y|9qw|E`#j(wU-F2r_?mC{mhX7X_x!+*JmDvv@-x5i zj9+=q3tkdTs(*jYJhWqfb=~~WzH1W0^Mdc2#3cC6No<1eox~;h?n!(SkdQhfil%qTqs7NI$Q-!KjqdGOHNiAwqkNUhr0~*qZ#x&twn$nEsw4f!eXiXd1(vJ6N zPX{{kKAq@H7rN4o?)0E1z39yc^r0{P=+6KKGKj$pVJO2G&Im>_iqVW=EaMo@1ST?x z$xLA?)0oZ-W-^P}%waC`n9l+hvWUejVJXX4&I(qtiq))PE$dj%1~#&Z&1_*S+t|(y zcCw4z>|rk-vXA{7;3E$6F-JJcF^+SBlbqrcPIHE{e9Ae_bAgLo;xbpb$~CU@88^7e zEk5T9ZgYpb+~YnEc*vJL;w!%98@}Z`9`ijv@FP$7iKqO`FFfN{p7Vm21RtQ^;7vjj ziqM21Ea3=G1R@fN$V4G3!FOxkB04d6o0!BRHgSkcJmQmpgd`#{Nk~dEl9Pgzq#`wG zNJ~1>lYxw6A~RXYN;a~SgPi0dH+jfQ@ZF#M6rdo5C`=KGQjFr1pd_UzO&Q8kj`CEX zB9*926{=E=>eQenwWv)!>hlf_XhO2lSyY!FQkfGk}2%VlYD($}omAf{~13G-DXcIL0%9iA-WLQ<%y$ zrZa|rk- zvXA{7;2?+ih{Jr$5sq?<im&;G$9&HZ{Kyl2;weA#3(xqK=e*!0Awucryh%tx5t=ZBB^=?2 zKtv)DnJ7dh8gCJu7`#nPViB7-#3df_NkBppk(eYTB^k*{K}u4Qnlz*(9qGwHMlz9^ zEMz4c*~vjpa*>-n=yOIp#IHngQ3@6nzPbmVNkn3jkd$O3Cj}`6a^HO7A2%a6r{UTQlwiN1nEY)ySqfXLAp}`0g;ea zL_}0j)N_yh@Aq8q;Rl56j_*5XUe|rSYt1#+j4__^j4{W0XD)J+hrHw?KLsdAAqrE3 zq7hfiyiGaEQ-O+9qB8GLg?Fh+HL6pCn$)5;b*M`{>eGORyhkG%(}bop zrv)u(#rw3T4Ij{!c7){tqVOQ0x}y=DP`@$wN9#DQ?}mDg&%dg!)7tmF*0)Xnt=IbR zKHfjO9o?>MBic}CKmW|O6WUE^Gk0n)p{;~=a<6S9w2#m>ZfzIMtPAZTw29lbhxXQY zpd+2=Oc%P+jUM!(H+|?!Kl(F(fed0WLm0|1hBJbZjAArn7|S@uGm%M5W(rf8#&l*d zlUdAW4s-d4d3?-#7O;>-EM^HyS;lf!u##1*W({lkgmtWE0~^`IX11`EZER-;JK4o< z_OO?I?B`QH;{XRa#OEC52uJyXV;tuMCppDeoaPK?ImdY}aFMV1hD&_QWxnGI-*c58 zxW-QWF+S$Qt&dbkdjoSCJnEWmUN^i0~vXZOuSBJ-r!BL zkd?Q{Ms{+Ln>^$tANeUjK?+frA{3<<#VJ8aN>Q3Jl;v&8QJxA^q!N{Rhbp{FRjN^) z8q}l~wW&j0>QSG+SJVF!eN`40o0Yf7Ms{+LlUx*_AcZJQ5sFfb;*_8yr6^4q%2R=g zRH8EPP=$A?N;RregPPQ$Hg%{=J?hhdhP+238qC9jzvzW~s zK4KmpGoJ-4WD$#5!cvy8oE5BO6{}gpT0UVN>)F6YHnEv4Y-2k+*vT$-vxmLxV?Uqr z83#DT=N#q;NBM$de93W6aEh-u!&%O8YhJx%-M3ukJFXCx2Z+LhL?s&0d59Q1!lT6G zF&^g$ViB7sd5SnZO zULpmrkdjoSCJnEWmUN^i0~yK0>tyClvXGUx$VPT@5SBkHt8o7JTVCPX?zPOqH7Djy z*Zs23?&sQHvwh_2f5ZDw24VSkUu!s*Vw9#l?@*mOG~_)R(TwJ_pe3z%pEk6mJss&x zSGv=a-t=Q2Lzv1ER`Lm(*i2}vTM6xT2a(%qXs4l#e#Su#@i`Ig^P<-`_?0k@2>pHN zmqR}q`nwJcV=fyxO86}-hKBGWnJ7w0N>h`zw4*&8=tw6z(}k{dqdPt5$^HHg5`Oy_ z%XlU-mGC=8d zH$oc-IV0qY+vSQx)+gq6aUT)$KK@(G-tIWJ%TwW)|BiNdYrY9_o{859IVYmc-6`+n zv`sGZke7VqrvL>hL}7|hl+cEXQ-YF|BDAS8l;v&85!zS@&cd1G>s#AlS z)S@<_P1dCz^$CkGzGENqu+JVLa&Es{9}-bFp-jTLgmyfG&=$WVjKRaW_pgpQ8`#Ht zG@>z0Xi77h(}I??qBS27+Hfbj(2XASqA&d!$Y6#rl;MnEB%>L_SjIDfiA-h+Q<=te zW-yak%w`TDZ+yf&K4v}(Sj1wMu#{yiX9X)+#cI~DmQPs6dNvSp(I&RAm2GTi2Rqrt zZuYR3eeCA|2RXzMLO%O~V;tuMCppDeoaPK?ImdY}aFMV1mdkv{Rj%<9*ZGB;{7y(P zQHV-(LjHV&m^@A_;_wXdc$NgbKw^@ToD{swE2JVdX?T^iq$dLz3CrIPeP40@xbNLA z*8kc23wiWuBHB*Kr|}6n^*Qc0ucq*wh}@de>r~unES1q`_nXgh`_6yooYuhkH6&u( z(b(%IH04fXkk&qH!w0mb9br7ufiNcNL}$7Xa#}aS_@oCt`HW(;E)$9N_%kx5Ku3R9WJbV6>O$t-3whq-*jJU(VV3s}e^7PEw< zEMqwN!aCNofsJfpGh5ioHny{ao$O*ad)Ui9_VX!W{B?kX9O82hbA+RO z!7;w%I43yCDZb(~XE@6_&U1l_e9bpp;xbpb$`4%QM}FdGu5*K5_?4Ud#_#+=NEi2FeXcwV9gxLRg#C%-!6%qIM67xxIpN!<(Z|uM3J0b4>)iJN= z{_?ou));)oK0~aFnenC%MQ?i1WPUqW~f13sZ!m6r(ty9h9ULr71&MLfa@u zc`8tm&{p21D%A+>rUo^sMIAyrsz-eq(2)0NL}QxJlx8%i1+93W*0kXR+7jAgdpgjO zPIRUVUFk-5LVN8=FFvF>4s(Q~e8Dlkk7r513nV1um!u>o1+S2X zw4^5^naIqWWaTZgk%L_1CJ%YZM}7(rks}IwU4&cnL`myPQJON858a33VEWrwMf%mr%d)33dD&p`ODM zg{XvMg#F(xKEl4je!@P&_iq;?$*fP#OT0{om6W6+H6d-Q<&y_Y(E-gYmLkVGUV2}y}uXDPhD*Lurf+l+*|%S5QZH;Aae ztX_vY%tl!LQ`h{WV<+TadEFsy?{w{Vi{X5}7vi`8e-_LCj9mCv;<~AGY(|Lh7PKV9 z`TMk{4Ij{!5c}=vKxhM<=u8*7(v9x)peMcfkluv$(wBZj&e4OtAHq|iIm*v%gHvXA|I%4Zzl zAcy#z!yMr#UvP{sInD`Aa*D4w%^A*ej`LjLB46_jm-v>;e8&~O=PEyNjUV}mpSjKr ze&JVc@*BVN2chBL%Q)&EnXmgt$5IjV7k3&@{n`9on8)}}&*8o89Ln)$b9q&5Q;q8U zl{vj;zTcb{w4@d9)0#GXKwH|;o(^=R6P@WoSGv)i9`vLaAJUsX^yTki^S{SGQLTtZ zbRHrG5Az6*5|hVxoF|AyY@XyP;_x)j5SMtw=UJX30nhUSFOrZ%B<5eyPiD5?H+YjQ zWaTZgk)0gmBp3N9LP_4H5>=^1eOl0l4s<2t(vUktz8t|=CNZ6ve8fVQv6}USToiIo z$TcCigj^Dq2Z+Lh{7uv&SK}ulcJ4QBZauGmRoO%BVz23!0U+In$YV++%CTVk+vF9u6K%Whq|xpyWj02=de4CsUpfF zjH5zXgnlp~p$tO%4!J7g+Cz>C%l*{JW46EDm@ba>_tVxA+CFmKM9w=A=XXDO^iFk? z)p71Lj*FakBKo@f?aM-3->pBZ>GON-(;C}0qF-y~b?Dn#(2`cXPiw;1@&nq^j`oDH zW+%GPjUM!(H+|{PKn63E;f!Q7V;RpxCNY^QOl2C=nZZnEF`GHe>Fg^Ey9>SCm{y%lApp9r8p%iO&Q8kj`CEXB9-`8*8Tm~duQhp>b@(X z{<{-mpeGS=(8uc#3;hW3Fn|yfg9vdkgb*9U2=Ot35F?`qaWaO8SefAUL?&^+@$#|n z{8_v#x6KOf7BlO8zJZNwW(!-{#&&kFlU?j)4}00iem>~U?P*4%oL_Fjp@u_CbO8$9Om*7^Z1zg zEMOsvSj-ZZvW(@dU?r|;Nl@)-v>$mbm9 z2uJyXV|>YRPH>V_e8p+baF+92;38l14VU|YUL`H*NKfb!GZOm6OoYBMGjH%FS;$K0C$kay${ge* z7rDtpUhrgg&(tWe9!h+k}2KEdQ!9jcecks&Y+Z-~ZjpHu9Jy zqI}Cc&k9te5|w#}D!fZos!^R9)T9=*sY6}rQJ)4h=yOIq3}-pVc`k5~uerpxT;@Bj@I6=gfgkyq z>)hZMe&r^=@du$1KR^^7Br4Ik-B>23^^fs5PY{dPJjqkU;c1>BF7b%Zvn1eoUf@L% zl87WEB^k+ii4?rdE2Jb9sY%1Dq$M5c$v{S4BNMNanKyWoEM(;^vXPw}I4f|8V?G-W8u+mxd`6{tjI-k}QbQk7~{rv^2tMQ!R(mwMEv0S$SN zMl_}gO=(7RTF{bKyiaS|@BwXUM|(QZkxq1`3tj0(cY4s1UVKPz`p}nt^k)DA8N^_Q zFqB~oX9Ob|#c0MbmT`<{0u!0UWTr5cX-sDZGnvI~<}jC!n8(M=X8{XY#A24Plw~Yu z1uI#_YSyrpPguu#Hn5RRY-S5v*~WHuu#;WvW-t5si~}6x5TA3Hqa5QnCpgI|zTz}z zIL`$x@-^RZiEp{g6~5;xKX8p7`H7#o&JBLyS8nnfzw-wX8LQ;~EoR^6F{8~!yZ}$vaI_o1p z$M%}{;W^{i$;=zPNfxs57TL&7PI8f(Jme)G`6)m_3Q?FMglCtFQJfNl=a@?oo@FjW zS>C1`<*7hLDp8qtsKUEcr5e?#K}~8=n>y5`9`$KJL*AnijcGztn$esVw4@d9)0#GX zz(4YgbuZuhklys6Fa7Ax00uIM!3<$2!x+v8Mly=gjA1O}7|#SIGKtAdVJg#@&P--8 zn>ozoBj)ij^I5<`7O|KmEM*zXS;0zHv6?lkWgY9;z(zK)nXPPN2RqrtZuYR3eeCB` zKH~rfImG82<_Jgmf@6HiaZYfOQ+&l~&T*a#T;yxM;S%3+neVv5_gv)%uJI#3@iW)C zL0JCYg#YRHCvojN9`SjW=SaZwyugbjBoT>8LQ;~EoR>(!%e+ELQjwZ8yh>Wqk)8}> zC1`<*7hL zDp8qtsKUEcr5e?#K}~8=n>y5`9`$KJL*AnijcGztn$esVw4@cSX~PG!r5)|*Ku0>! znJ#pt8{O$aPkQkoz3D?=`q7^O3?wWM5QPVcN;IPL5HWa|M|hN&JjUZZK`dhPBu^2C zr+J3|bnLwD9Bz#ttM2=HZ@t$0z0M?#`7*DNl2oMTRnl^&*pGbve>L`tI!*~fjEC3` z%m4Ixzt?NHpSZnS%>Ju$UF7=ySLVBjatkpT5r-MP4#y9)F6YHnEv4Y-JnU*}+bBv70^YWgq+b zl+QT8K@RabhdIJgzTg;Na-0*KfMZVz@-*TDnxWe~bvpBcMkb-{0ujqKzgC%MQ?9`cfp{1l)dg(yrBic*Z?gz-R0 zN>Q3Jl;v&8QJxA^q!N{Rhbp{FRjN^)8q}l~wW&j0>QSEtG~_)R(U>MQr5Vj>K}%Zk zKCNlP2ehRf?dd>AI?BF7b%Zvph!vp63N#Bq51NOcIikjO4sT3SQ12p()L1P77MniuY+v8$O^d?PyO2I?{>G zbfGKV=uQuM(u)u2O&|KwkNyl`AcGjp5QZ|0;f!D;qZrK?#xjoaOkg6Dn9LNWGL7lX zU?#Je%^c?P5%c(%`7B@|i&)GOma>fHtY9UpSj`&N@(Jr$&jvQKiOp^W*Z7g2 z_?he6;1_=7Ccp7Je-Ikr14Q9Lq7se&#JD+$<0d5;$$5zsyv!@4Bo(Pi!>gnv9qGwH zMqVQmualWKc#|w-}a>$Rs8+g{e$qIy0EbEM_x@xqQStK4v}( zSjZw4vxKEAV>v5W$tqT}hP8acIySJ8O>AZhTiM2TcCd@x>|rna*w3eY#sLoTIfpsI zQNG|9Uviuioa7W=ahfxne9u*W;2J;iGuOGnFWlree&-KD z$M^tIc#x<>BRUTegNJ#9M|q6Ld4gEP=1HC+4o~w8afwHKp5-|b@H{W@A_+-EVv>-Q zWF+S$Qt%2XNkwYX@G5CZM|v`lk=Mw?>tyB)-XsfId5dghCkHvnMQ-wtmwe=>00k*b z5sFfb;*_8yr6^4q%JMelC{G0{Qi;mELlxeoD%Ge?4Qf)0+SH*g^{7t+8uA{EXiO8D z(wr8wq!sVenl^kuTiVf{4s@gwo#{eXy3w5;^rROb(wlztX8;2k#9)Rnlwk~K1S1*6 zXvQ#>ag1jI6Pd(hrZAOhOlJl&nZ<18Fqe;*$H&ZP0Sj5gVwSL!Wh`d}D_O;A*07dO zSjT!cu#rt{W(!-{#&&kFlU?j)4}00iem>tLgd`;y$q8kdf|m(pnvzt6vQ5LQgfdP?dO}%ezfNXC*}q8^LLIzC zHbPzGASaQSEtgcxWS`gx*74H+`qYWPr;-nqz3GvdA zPIRUVUFk-5deDd={{fMJ#3sOIgNpRX9FAA%oet>ogM6C z7rWWRUiPt{PdUIr4)HmMIl@uC;22+WoD-bn6klfD2fAaq3N5{Y2JB&Gw zULzB)lbJVolPqNAEwYiF9ONVyxyeIb@{ykc6r>P^DMC?-QJfN#q!gtoLs{OY9ObD% zMJiF5cc{X-EM^JISk4Mov6?lkR<^O79qeQmyV=8D z_OYK&`HTY`R;_&y&bGg!`T(BqbTid5ILf%qyfM6{$(XtE43z>B&Gw zULzB)lbJVolPqNAEwYiF9ONVyxyeIb@{ykc6r>P^DMC?-QJfN#q!gtoLs{OY9ObD% zMJiF5cc{XI|vxKEAV>v5W$tqT}hP8acIySJ0&1_*S+t|(ycCw4z z>|rna*w3eY#sLm;h|f995svZ&$M}-toZuv1ahfxnWnmb9iFo#;j{`ZAEAjASemnaWJUecW8;vzX)a$1OjKeJ?q$OLOSoqV_bK7tBq8A*Bn7EROGYx2 zl^o=u07WQ48Ol?cs??+|4QWCP!kD}ro#;j{`ZAEAjASemnaWJ&GM~jPXEp2C#5Q)Z zj{_X$7$-Ty1uk)gYh33hAz-2sgP6o34o~w8afwd?UL-NeNI^={kdBPJPG+)_gIpA# zFvTcISt{@j)u=^1!nmd>Eono0I@6sG31g2z3}Y1In8qx^*kA!mSiu@XU%#2{gnoQK z2RXu*MD)d>{|$X^L|+^F*wBYY(WavE7|-w`2}wj^l8}^SBy5`9`$KJL*AnijcGztn$esVguLB~ z_i0TV+R~2pbf6=h=u8*-(3gJnX8;2k#9)Rnlwk~K1S1*6XvQ**@l0SMlbFmD!twx7 zc#Ovhu^Wrn+^v4&`}|(xIK*&7J*W2iRnqYqcdFN{K8vW^5VJYRNiITN=ONU0h~-e{ z1qk(Ch*0-MC`zdR;zYziDX$~qpsd%oi-k(o-!2|PeTO;@b=jRz?x7qPu#7cqWIKEK zjKdt|I43#70}4IN*Cplurg^w3uIF8lhimBb$a8T`y#K57asTLC+@HQSEtG^7!YX+l$)(VP~vq!q1c!w0mb9qs8rM>^4&E_9_E-RVJ3 zdhsE>=|f-o(VqbfWDr9b$}omAf{~13G-DXcI3_TWNla!6Q<=teW-yak%w`UA`G|RZ z%zPHGkVPzJ2}@bVa#paCRjg(WYx#tAY+xgs*vuBTvW*?=WEZ>H!(R5WpHDf!K@M@4 zBOK)mj`1bOIl)OzahfxnMsyzHVZyyZY@Q}Q&+;4zc%B!CxNk`8_1*3n{u%cR_j0drFZT&0oNKsO zC`DJlYEp~Z)S)i*d5ag1jI6Pd(hrZAOhOlKyun9UsK@)7e0^Ggd@#A24Pl;x~oC97D?8rJd&>sZeQ zHnNG$Y+)UzePhh`5)3#p{%$BHZhxA>8k!CEW9+Cj;T0{$B3?Z1#U#_pR^$tbFfO z4o}%p9G>PG;u4Shxv%|ql|eS=^`E#0cG&-;?C)0A_p|MzHojB6ggJ*$FA;STQ6CAc zd!83~k%S~7F-Zt@5fO`Ft|7!>h_w)BVU8g)ZxZGeLV4yO7r6=Z1!1lr%oCI(%ny{M z92JO|4|vz>YSf?>b*M)J8uA`texNZ;Xi77h(~?%aPisaohOpdEzPMev{WJCv+fG8+ z|5>|8Xq!;xx5j=%nTNK2yLO+!`a8Av$a6h8Y?qTzH+jg*-R5|T`8?Fy?dEqXS|3q& z?|5B>P={3s^;n%ymo*9XS({L&|BU&)5A3Hc?dd>AI?J!Q&oc{uLa+W`c_`kLU8bsv(X-njN62g30GLrKWDG2jtsYpXw z(vyLVyhbKoCo^x5g}2B~Zt{|!f)u7G#VJW?%2JLBRN@_~QG+n2Rfl>sAk1MkrYX&7 zK}&A^A2OHvm)iWj)x7*81|hFzA#yv;?tKn&l8fAg z7|2UL@>7696s8Cv2Z#0?mRn;mT=O%;B_8p4mXK?5P@39=_-aJRyCL6(b{N`U7kV?8 z&|W4pn}sZ6HS5_zh{=5%;Sx_qQQlOc8)04|%t?g#h%grs<{`oyM3{dFa}Qx&Al$P* zp&(O{hVc7Y`0XtGZkCC#JVNMiUm(OnSRC$eVz!gLMooj2K-_LpWxBV!l68fT*Y-S&!{hi}H7r4mRe8VNa)hZMe&r^= z@jHJI65Rtt;X$Gjjp#f?3?AkY9_29}=LupFo6w&;MI4^y8R8O;XL*hUJkJZfNJ0{m zl;pg`%e+ELQjwZ8yh>Wqk)8}>wLr z3Q`kt^y_3M2f4^i$jx~P`8huYC`cg+6LNLPf5j+H2}%<3b{I>Pp)4VPmm}ox3RI*L zk#l)9@2e9ze}>$7KY26c_xHJ7&g@`)M>^4&u5_b2J?KdtGlsE@V>}a>$Rs8+g^-`8F`XIAWEQiT!(2XM9v?HG1uSF{i&?@_ma&`_ zgnYk>)vRGHo7l`2wz7@w>|iIm*v%gHvXA|I%4ZzlAcy#z!yMr#UvP{sInD`Aa*D4w z%^A*ej`LjLB46_jm-v>@_gvw7uJQxd_>rIZnd{u(7k=d?|EYfGxd*gwp63N#Bq51N zOcIikjO4sT3SQYjOMhUC9Qa$)`UJajOW|Zj`nn* zBc13>7rN1%9`vLaAJUsX^rJrm7|0+7GlZcGV>lxi$!NwfmT`<{0u!0Uo%-KdKAX)P z=JFBqn9l+hvX~_-WjQNY$tqT}hP8acI@Ys+jcjHMTiL@Q4s(Q~e8DlkhfiyiIv3P?1Vh<{hf= zE>)>Ub!t$PTGXa4^{7t+8uA`td4N#N4-&2;lx;-0KJ4`)+^u}?r)*!auRkl_P*#!4 zH3g;2(Ck&W!+ASb!VO(^@kJ_SL)_Y^1z1;f#&yEq(7b2HY zsKc<_dfs;{6~Gjj7wM`?EOv zN4|4weBUlUBg*yGzBeK+|Ex?S`rcdnhRCsaKj$9W)ZMnf+h-xJBIm$A+cxCx$lFJ5 z&-app{-?F+yskGN`6+-%|fq!HSRLA$~Qjf^vphn&|rU^}HMsr%wl2*J= zYufMuZD~h)I?$0$bfybk=|&HF(u)u2O&|KwkNyl`AcGjp5QZ_F5sYLMqZz|k#xb4= zOk@(1nZi`2F`XIAWEQiT!(2XM9v?HG1uSF{OIXS>ma~GDtYS55Sj#7@V?7(#$R;+k zg{^F3J3H9PE_Snrz3gK@pYj<8ILIMB=P*Y&$`>5tOOA7blbqr!PIHE{oZ~zfxX9Oh z!zI4uGT(89@43nkT;oT6;%BaNgJ1ZSoBYP_{6R>v4-kb1iApr0^AIt3m`8Y&m^{Yg zJV7jC^CV9Zho^alxWpqq&+;4zc%Bz{k%S~7F-f?ed4aUHPe*z(kdfEO#Oq|{4c;Ux zZ;_4cJ37{)S=@l0SMlbFmDrZSD`%wQ&Wnk)F&XY*OWLKd-@B`jqb%UQun zRJO!AVZ> z6{k7FS<6y#BR}yo*SWzj{K`#!<9Gfb+{oO|9DSINxZipD z_`Y+ux%xytPfQZRoP9DP=Iv8>{jZw4&tcy=$whARke7VqrvL>hL}7|hlwuU81SKg& zY06NRw<$+?Do~M1ROTJRZ{zP$m1 zag1jI6Pd(hrZAOhOlJl&nZ<18Fqe;*$H&ZP0Sj5gVwSL!6|7_xt69q@tYbYJ*vKX} zvxRMJXD7SZ%^vo#pHKOW103RW4s(Q~e8Dlk3}-pVc`k5~ula^ce9L9N z;|kw%l^?jqkNm{XT;~SA@GCd@joDP6_VxoI^RE-OsZQHEmyu+SH*g^{7t+8uA{EXiO8D z(v0S`pe3z%pVqYD1KQG#_H>{lo#;##y3&pA^q?ob_>kW8p)dXD&j1E8h=25Xi^;w_ zg{e$qIy0EbEM_x@xqQStK4v}(SjerLI#J61LJFf6O zSNVZ!{K!xI%yn*Xzt3JokE-2r>+=_PdiLTe+s5H(?)CYLgtkpYVv>-QWc<}+o^C2DRL}$9tm2PyW z2R#YTjeJON!t*12=|^~uWB>yR&yx&h2tygha7HkaQG{nr#xR!f%*l8rFp)`2W(rf8 z#&l*dlki;1Y~~Q2Px**>e9U|nu#iP8W(iAKMtFW@1uF^9v8-kdYx#tAtY-ro*~DhH zu$66WX9qjk#cuYnmwoK#Q$FJW2RX#&9Oei|`GRA7$#G6_l2d%eY0hw#bDZY_7x|iR zxWu&+p5z0_VWXe#cB6Fq8Dl%1u5F%8{R7A#5$P|$@8H!4S5>1qd zC>hF>sPoYE`keLqfVt?zHI^;l2WwfBC%-}kVud++zXZ~VcZ9N{R(Il*6? z@% zE~PLJQcWsirh#gDsvN6s7f`eQ-hnS zNiAwqhg-Ony40gS4QR-1+)g7Ja|camN;8_%f|j)6PVVAvT5}I=XiGcV(}9k3qBHk# zKM&A_t~^LLy3>Q6^x`2N<`H_+hraaVQTj80fjq__1~Y`m8Oku8U^pWf$&)VKGl!RXg}Kbf3 zSRK z@Gal*J=@sM5B$gueqtxP_?g}8;TQI@k6-zX{rt`W4swXY{K20b;V8#A&I$hFB!6>? z)BMA~WXS6APDV13nX}14R?ZQQJ)4hW)#ox zETb92SjI7)=Xjn8OymV7F_{;c!c?X)of*vJC1x?3IlRm(%w-<)d6fk$WD$#5!fPyL z8LzXP6}-Vp-eeVT@iy;p<`SomGk7VRA)ex9h=;`g`FAbny6!x3a6UQ7MQ$$S%=>jN zCJ&d8mwe=>00k+;r4*(JmvK2)a3xn!lww>>aY}Lx*HVhol%XuwaXsZIPX%tEA~#Zr z%G^X1s#1;W)Zk`nQj6Nu;TCSCF7>ES0~&H0x6_Em+(8qX(v0S`pe3!ile@T^*4)Fr zw4p8SXio<^(uvO8$NhAnD-Y6*?)0E1y?BU+d4%5dp)dV-l>Q80AdfMK!3^PXhBA!d zj9?^B@)S=qif4G1(Trg%;~39#JkJCs@&c2X%!^E6D$|(G3}*5YvzW~sUgj0%GLQMZ z$^sU$m?gZ%QkL;L%UQu2tmI8r@iy=9F7L6LHLPVF@ACoc*}#W<#K&yp6F%iLK4%kO z@Fko1iY;vAYrf%IzT}4On@*Dg4odX=?5Qq7LKRLot zj&Yn5{KZNB<`k#-hkrTq06&Y2WFj+XlZC9DLpJ_*{C#d|$5n>1T*vj4qdXP3fr{Kn zB`R|hRj5ies#AlTsYxwrQ-@o)mAahy-EMrkGGz3ROl0P4vXGT*WanJYBM0Y`lU(HH z0xsktE+!9`ke7VqrvL>h#HAFb2$yj=S8^3aDaO?lrvxRrhHEKBY06NR>$skBl&1nW zP>~y{L}hNG3RS5_b!u=kHK|2y>TnCUQkQzvrvVMQjoWENWA2~{O=(7RTF{bK+{s6GqUfR%>cC@Dh9qB}8?&E$QpbK4jkZyFR2R-SBpn=X8;3vj6n=$ z2#+(AVLZWbMlh167{xO@%V@?hmT`>dIi6<%6M2D2Oy)(VFqLUcX9hEQiCN5M4lnZx zbD76{US$CbS;S(Nu#{!I&T>}p1}k}!RlLR9yu-V^$7L|mhbqUZEWWUeq;wfv6Ef=%x?DZ3wzneul&Y-e&+xOImBW9 z;7^Wllw%y{1b=aozd6Ne{^4K#|7lIU<}8nOO7Xv15C7j-3+vn8|GdxTcK>cfWA2~{ zO=(7RTF{bK+{s6GqUfR%>cC@Dh9qB}8?&E$QpbKZ-^YS47^S+lJ{@s&aJjBC1 zLT~!emwr4-e+Dp+#~8$5hVVE;8O9R~X9Od8lBal@|9L;mX#XC=SjI7)=Xjn8OymV7 zF_{;c!c?X)of*vJC1x?3IlRm(%w-<)S-?UTv6v;i#!{B?I?GwX8?59_R`C{Z^A7Lw z9;;cyTGsJCAF!Sce8@+9%tk)pQ~rN>U(EOJw~g)mzz%+5C%gEW-R$8P_Og#(`HlVj z&H)Z`m_PWFBOK)z$2q}YoaAp#ahiYlmoq=a&mtq4$jsSf-0 zxR8sum^@rUUhG!IfM^QHpUj#VJ8auHjlrQJON8yUWt<Q6^x`2N<`H_+hraaVQTj80fjq__1~Y`m z8Oku8U^pWf$&)fk{l}MW!&7X-sDZGkJ+w%w`TR^9pmB z$9!I80Sj5gVwUh4OIgP2EN2C8u#z`f#aq11JG{$#tY!^sS;zZ)z$sjXm;d=#GW+-0WFag6Z+{#`?BoB*kENXLm8SwXP?0m2|M~bb`S<^h zALIXgt^TjRPG>&0|Id%>M&n9U<|e9Ajq23kW@=K4+SK7z>QayTG@v23(TK*}K@*zN zjOMhUC9SxVySSUy+(R4M(vJ3Ypd+2=%zfO?19YJ)-RMpadeV!Bc$i1%O&|Kwk4Ndx z00#0HgBZ*Z9%mR&Fq{#Lvw;u! zh>zLGCw$6he9k7m;7d016>_aBRlwso$TUgcC&|H*vmeCGw(xRz3srVM4dj_WB$ zc`9%N6}gd0ROTkCP?c&_rv^7ulUmfK4!3YCb*V>v8qkp2xSd8c<_?Y(34&~#KSy7Z~D-eemqKl1~8Dv z7{p+P@Hj&m#uE%@1S5Hpr+AuCJj1h$W(;E)$9SIOc_uKC7nsCkUStYWnZ|TxFq4;< z#cbyAGOsX~dCcck7O;>-EM^I>v6N-J&T>}p1}k}!RlLR9yu-V^$7L|mhbqUZEWWUeq;wfv6Ef=%x?DZ3wzneul&Y- ze&+xOImBW9;7^Wllw%y{1b=aozd6Ne{^4ITWc1i4Bbms|*<>Lr=a7x;oXdIS;CynD zi`-nmgeS$7YEp~Z)ZrFxr7rcTPXiiq8@JPl#@s;@n$nEsw4f!e zxRblMo7UXJy|ke%?PyO2I?{>G+{gVqKo`35Al>Lr4|>vzhj^Gr=uIE`(vL^!&j1GU z7=swh5FTeJ!+3(>j9?^B@)S=qif4G1(Trg%;~39#JkJCs@&c2X%!^E6D$|(G3}*5Y zvzW~sUgj0%GLQMZ$^sU$h{Y`7HI}lB*ICXA-e4tfvWmBOn|FAZ_gKvu*0PTG`GECo z;6py*V>a>$pYj=>vxzVGlFfX@7Pj&=-|#Kp@jctv&JX;^4t`=MyZD*i?BN&ovX5W+ zjs5)20SnX>X_xD%e1}bvqeg2g=^Ird( zIP-r0s#K>2H&c^Z)TR!%a4U7GM|~R5klVPOMl|LQn$VPHG^YhExtrG9!@abjE$wJe z2RhP;&fLfSJU|z^@*v&lP7iw0i-&laN9au-`trZ?`}}7(zL~tlEM_x@mwAP`%ws;U zvVeswVlhj2jb*&fa#rvLD|wSuyv5tR!@Kv8qkp2xSd8c<_?V8O<2RGLG>) z$MZ~JA}=tB$-KxErZSD`%wQ%jF^k#E;bmT7F7uert1Mt4i&)GOUSlcCSk4OGU?p#| zinn;1cX*fgSj`&NvX1xpfc0$PLq6hTHu4Fd@)@7Ai7)t)&3wfcw(>RK@Gal5jqUuv zkL=(lcCw3~+07n)VK4jmmEYLU?;PMDhd9h1{K*lHa*X4g;4e<{H>WtwKm1FEv;C|l zBbms|*<|4yvXPy0IgcEiPfl`?n+v#*i@2CPTtZ&*k)Hw-q!5= zoyIhwDa~k33tG~OJGqB@X+vAu(Vh-;q!XRFkNbImE_CHVy3w5;^rROL@i33jn?CgA zQTj80fjq__1~Y`m8Oku8U^pWf$&)VKGl!RXg}KaQKCiNXg)Cw*OL&c?EaP>Svw}BR$(yX=E#BrG-sL@3vxc>- z<9$A0JsbFtkJ!j3e9C8h&L+O#OE&WrTiD7se9L!y&o;L613UPMo$TUgcC&|H*vmeC z-0xR8sum^@rUUhG!Ic!H7*|uA5|rc`uB8;EDZ_PKPdUm{ zfg7mEjZ~sCH&KPERHHgIxS5*NqBeE7gzg(1fNmqd6^U#hu*6 z-L&Rj+R%>nbfgoVxsUsKfG%|9LAueM9`vLa5AiUM(3?K=r5}&dp8*WyF$OW1Aw14d zhVcZ$8No=Nvw;u!h>zLGCw$6h ze9k7m;7d016>^xgP+*RE`DY=d-#RD?BiE{V?V!hfP)<3Fn{nT zM>xtcj&p*)ILY6f;xzy8FB!6WJd=scoJ|(8at_(Z&bgdN4$dbhxya20T*yUSOdc*F zFZsw%0SZ!xODRkdF5_~p;7W>8jH@Y52}*Je*HVfyl;t|EryS*}zztO7Mk-O6o2Wun zs!^R9+)PbsQJXs4LS5=np9VDKHg2a8jk$v+G^05!Xh|#Xn7I?$0$ zbml(p=K;FVl?UlYcY4s1UOdFZJVI~!(3gHZN`D40kjEIrV21EGLm9>s3}*x*d6K7i zno&H%vy5g8V;RSIo@XL2Fp0^$$P}hAgPFXs-|`*bvyJWiz>oaI zE_SnrU)ak&e&u%#aF9bB<`4el2uC@_3I5_FfAcSAe%XE&8OcOuvXG7QIG>#4A~zRs zAs2BmdANkUBU1l%p>%nAN?7~AcioMVLZWbMlg~md5WhQ z#WOt1XvQ#>ag66Vo@W9Rd4Wkx=0&D3m1#_81~YkySmp_#7=hcGrQTtFYIL>zw#UV`JDqC4~#Kq*{67rId{1l)dg}9W$6yY*1 z=L)XmDvDB!t0_(iN^%X?Qi{@)p)A*NJ>@7*1#X}sH&Thp+(Z?sQjO}=;AU!4i`vxT z7H*|3^{7t+8gd)A(}>30K@*zNjOMhUC9SxVySSUy+{3-Jp)KubPX{{EiO$@|{X9Sy zy7D01=uQuM(u;?9m`CVMANtadN9oT12J#q#7|akJXDGvXg5iwdNuJ_qM)3^KGMX`r zWgO#qj^~-cL|$MLlX;OTOl2C=nZZn6VivP`nOB(0Jm&K%3s}e^7PExcSjsY9XE`f) zgO$9=D&FF4-r-%|V>N47%R1iY1J<*F5BZ3X*~lk+%4dAeCcfZHHuDu**vi*@!?%3L z_iST3Kky?v_=%nD;%9cVhhNysK7Qpl_VYUjILILm^9O%&grgkeI4Agvll;voPV*1{ za^{VEXOWRiWaezLkd<@DMt08SJaTY8ImtzCF5p5g;$re}33vKPZlVfRsYZ2ba5FWjMQ!SE z3%632deo-@4Y`fmX+&f0pb1TBMsr%wl2+WwUEED;?%`hA(3Wg{e$qIy0EbOUz<6b9k9on9Dro^C}Bi$RZZAgk>yeC2z8dcX^N1tYIzd zc%Khg&jvo^V?NhfiT*vj4qdXP3fr{Kn zB`Q;es#K#oHMp6Y)S@chH2UG^05!Xh|#X;%-`V5BJiB zwzQ)?9q33W?&E$QpbK4jkZyFRC%t%xhk1nF^r0{Pc$EGOU?7h%h`|iuafULC;f!D; zPx2H`Gm2*z%^1cqj`2Ll1SawVlbFnlOko<+nZZn6VivQR!^^zFT;?&KS6RS97PEw< zEaP>Svw}BR$(yX=E#BrG-sL@3vxc>-<9$A0JsbFtkNB94e9C8h&L+O#OE&WrTiD9i ze8abV$2PX}13UPMo$TUg_V5dP*~hQ^#(sY100%k5VgBGxj&PJ?9Oo}i@;9eA%|HCh znK#IvMMg4_nX}14R?ZQQJ)4h-<9$A0JsbFtkNB94e8Q)E#^-F}3%+DCTiD9ie8abV$M|!^2*vmeCV?V!hfP)<3Fn{nTM>xuHPH>XHIn6)(%b7oLIg5;BA~R=`g{+)IHnMXr z=aGZ+$w@A9a{(7}5f_t(OUO$;@>76<6yj0}Q-sU7oGZAJt0+n_uBJF8D9JTkODRfI zhO%78^^~JL6}W+l+(;!Va}!mlN;RregPW;IEoxJTTey|F)TaRrxsBUtL}Tut2~BB6 zb6U`nR@}*5+)Zol;a=L%mUgtK10Cr^XYS*E9-s?dd5~^&rw2Xh#X~&IBlM;Zed))e z^k)DA8N^_Q@HoSGg5iu{Bv0`)qj-jA8N*n{F`nmmo(W9k1tu|>7n#CTrZJrv%;Y6z zF`GHO%qz@g9`kvXg)Cw*OL&c?EaP>Svw}BR$(yX=E#Bc>-eWauSj#%z=L6RBAs_KE zpYSQ4@j09Lf-l+37Pj&=-|#Kp@jctv&JX;^4t`=MyZD*i?BN&ovX5W+js5)20STwNFgqzFh#hG%ejIpxr(9`<7$dif|6XrwUnYXWhl#aTu(X5Q-K?( z$cchH2UG^05!Xh|#Xn7+S7rKbml(p=K;FVl?UlYcY4s1UOdFZJVI~!(3gHZN`D40kjEIrV21EG zLm9>s3}*x*d6K7ino&H%vy5g8V;RSIp5u8YFp(FS#AIG%3R9WJbY?JnTThDsTf8xsgg# z<|e98m1okld~4w}%EW;CY-EosG_+{N9r<{s{) z4Q**hdpgjOPITrz?&krz(3J=2Mt6G9lU_W;!#qN7`p}ntJW78CFpxnEW(bcnlwmx< za7OYZPw_OPc!p;g%~-}Up67U;2~6Y#Ci5awn94M!GlQATVm5PlnOB(0Jm#~2g)Cw* zOL&c?EaP>Svw}BR$(yX=E#BrG-sL@3vxc>-<9$A0JsbFtkNB94e8Q)E#^-F}3%+DC zU$KR)e9bp}%XfUwHn#HvKeB_L*vT$_W;c8Ig}vt`1s!)|`ROe=D zQj6Nu;TCSCF7;_ZLvG`C8qt_LXi77h(}I??;!f`3Zd!8>_tJ*8w4*&8=tw6zb07Ef z0A1+HgLI=iJ?Kd<9^zphp*MZ#OFtf^KLZ%ZV+>+2LwKB_4C4ugGlG#k$x}SdD4yY2 zMl*)7jAJ~{@jMfl$O}wjGA}ZPsZ3)!GnmOs%wjfkc$rt2%RJ`uDhpW1A{MiR*I3Fj zUS~Ngc!QO^$tvFBZQkKs-eWauSj#%z=L6QWfe-nJkJ-p4e9C8h&L+O#OE&WrTiD9i ze8abV$M;82RO(f4)X_pa)hHC<2WbyiJQcWsirh#gDsvN6s7f`eQ-hnS zNiAwqhg-Ony40gS4QR-1+)g7Ja|camN;8_%f|j)6PVVAvT5}Kg(uTIQqXQl3L}%{f zejcC;U3rjhbf*VB>BU1lLT~!emwr4-e+KdxgBZ*Z9%m>|Fq{#L|_@|vztBq!d~|AE5EUy-#NfR4sn=2_>&_XUXilP+bYKl{Wl3c^Jl%h0cD9d$RPdUm{fg7mEjZ~sCH&KPERHHgIxS5*NqBeE7 zgzg(1fNmqd6^TNh|K;F7Bo^_i!(5XiGcV(}9k3qBHk#KM&A_ zt~^LLy3>Q6^x`2N<`H_+hraaVQTj80fjq__1~Y`m8Oku8U^pWf$&)VKGl!RXg}KaQKCiNXg)Cw*OL&c?EaP>S zvw}BR$(yX=E#BrG-sL@3vxc>-<9$A0JsbFtkNB94e8Q)E#^-F}3%+DCU$KR)e9bp} z%XfUwHn#HvKeB_L*vT$_W;c8Ig}vAI?xtcj&p*)_?uIl<{!>n;=eq};LoKq z#Gh1Vh(F!P5N|`x5N~_Q5Wj-U5U24n#MA!_u}u8m`akBzJbU$j`#&5#H71Q`j!PZ$ zSdnyn^wi)qp80rchNXG`yS{C->+5NpdqrxQHfN5`_h58RyEJapA@$IcX+MphO1*nj z>N#;d86GY2-~HQ0yADX>+;KcT7N-4t5#6>pjfcFJI_A!_pCi#Mt<$(zv`+MNbpE~R z`ZmMTajc1cIy{XJM01QtSL)%1QX9=m`*|(;&YU#ErWpovMf#<$)3E4-{%Jfnx*@t|K$?H$ zvD9XRQ_FmkzMsZMr+k*iH8!OldNF;S8c#`WJuUUI=+tP_>1qD&8L5Y!E%M*zwejfG zyT_)UH9mF5`n3JCHl*hGD793yVKno{Y5vuXse^l^erW~md=}6HGk@;=%E5JUoiEhLaA$`TS}+# ziD;X0X*@KVD`%Pi_TN7GVYE}OH2+4lLhdvk5zT!;8n=u76us`kH2+#O<3(vaI=UnJ z;KgbF-Dv$hX*?x*=_P60J$g8LbKW%nd9+BrG+r3}C;D{$G`}r+e}Ob!6}_oo8b1@w zUnq^cL{CKPUYh1NMhg~B<9X4O(Gf+`{5R1%FH7TBqZKbt<0qqeu1Mp~(S6ZMSEl*5 zqdBfhQD0RsL>2|rMru$`>nYtruns0edYLDpf=(EuY(J9f{(e=?XwbMFtPqcS* zRP?#%l<4f}g6N@3OZ<1-4;N0|6Rle$jps#Qiup`2?i5`gJsr(|S-M}7%TqgDk(wc6 zf&cb1EP6EBB2$`Q5nUSd7sUAC=;mnl%<1;UqHWGjnQoCnP9TI&d`eF3D=-%jMS<~&WJv+5d^xkOC=&9&|Ea`TKqB-OKMWchFW1~x= zyUt1XYm+T?NOW{`d2~bcWb~Zu>Gsz}SL8_JhtE%~bYbe47_W+U%9-XX=1Q#=x2qAI z6}gywIxadR+UMMK z{jBJmX#Vrke8K3@=o8WX(MD(I`tSQ;T{Lf&G`>H&KDwz|k^gR2v3lw=(I29#x8(cp z`m4954vfAT&HiH$Z==VewQ_)Ocr~BuK=8tZSz7Tyg`cZUewEQ>e{;x-$ z_%@B7injSKjkiP#ZA;_Jqo<;Ix2O5*qklx7`ytK080}Fmt?w0nO!K97rVftzS}}i9 z%rB1lXJdYN%x{nRFJk_qm|qzCSs6WRN80|+al3=jyfI%m+BZ5VIy&0>r*!{0(IwHc z`_lZj*l*z&{~F^8yVCWWqmTTY#si{zcc<~m82=dKJ<)%o#rLG!)s41@z8(E2+U1vY zyB^Vsd(*gf^wv1OKGAj2j=!ec%_w^Le~*uB#Zn7JZ;dvOPKs8(I^C{%v|qGQ@igBo zTDn9U-ySVqGL7e!OY6gCJEIxn{-FjSa^+GxM0-WYMZ1&w2C1c@t)kaA zO!F0^?V~-TuSc8TmTq@fwEXR9d~2haZ=72Gj@0qdb%&Pou9iP4f$)$D`Sr zrTPA?QcK>Ix+Gd5uCEnsAKe+P*F4?6TlDv6vleN-U-U$@Tgx>6P&7mAw|8_>w9uV# z9MPh2Jhh`AN2}hQZuf6AbL%wzAzEZ${{Pm4G11x4Opm4c@1n<|c?PBV_lBmHACbC0 zI%i}W?|3?O-h|Y?6I1I=PCfKu>O)IX54@K8+tSp%%Tjm0o?0&U`*?J8wA0{peW}M& zm&Um9kTf0|{W-cP+B|N5ReT()qT8d{ho$>hkLG_OjSELBM=u_p=JQ9(#OI+&bYygP zG<$r0YD8N{*F|?m3qP5*TQ<5nx;vWZsdRnK=%dj$qo<;0#n<8c=s(dyqtg9LN8gR^ ziXMnQ`b@gr$mrbYPtknO#`V#S(O;rPMyKmrMmI#Wk4f`IqxVJ!MRSc!*O!jghz^WS ziEfD=jpiMf?pG~3Cb}RxeSEsU-*c(YM?Z@mh~{`cT|X_FKfaGEL^njgi5`zmi0|_a z(Ie5%UP#;PG%2-9w01lm?u$Me%@&W3QqhLdKGBKM^QWZkT^nr}ePU{wpBUW|EjumE zSBox-W}cDeYfVqh7~@x?8=_mHJEFft%gj#qdthej@aT)t710l(e@An@lx}}KT0FLM zOSD^bK(zgwbo+_XpQ3xB`Cdua4~@=<&YqX%o6k)h8RNI2tD^@-KVMDb zqA}kjdhNnAzcYG#Q5t`-ICX2Z+mbXM8+|?cZZ!LA>H3_}ebMulrujY5Y_Trxie`B| zUB4rmX?YswivAis7%jOXU0*XgB|0-Y@r`u-lxXjjY1}{B?9DXJvnusa^p9wxgX#QF zhiH#zk?raAz?0Fj(RY7H^Ydd|Fvi`Z!=p>1>!O2yPp=OTMo&i1IgsW{M5{;ZN7tTC z*N=+vw&>C5`3KYWbEAU}rSY=pm(j1I=N?Yi=Zemc{t(?4E&NBiUH9mx(LK@pf2QmA zM~fUu<7&}b(Ynz!(Q}Wc+m(;r5&hy=n%@@vJDTBmny(OT61_9}S@dMI&53mTj?wXd zrSatG4}Yg|y;G^pqJyHtqL0Mq{e|d;Xxo3%{pLhx#CfwN(d({EuUj%it4C*ie&v79 zTk>v7tq`pdZ5@3yIx6~X^zG>3==d+vc4kBuewoHgquZhfqBn0&*Efy!-IB)7$M~1% z(P*Zx()ABSw?=2g{W@<=*Jt}Wb;iBvdD=hGR&CRGKs3WWY1}T_H(EVz-z7Tc-t_tV zBl=IYM4L3fq+RM`G0xjIjcO%nZ~b0d;FgE_f0g*p){Tv-4fjwz2fjT=UrM<0t$j;@OS zv@zX2-zTY;f127g`sHV7d~xirL9}i3vFM$9(&zoErf1&F>HR6qQfIYDUDztMdYsq& zInL{Djq|s20Hq8rY<0ng>c!qoMPQdcid{p8FW@mwY^OMULl z8}eLgoOwf@OP@1uigS7J%p2oe)}DEDoXhkxZ;*58dge`XE_KhmQO@PyE$R0hO>R#u zx<7qA>&5G*t?|0$`FQ$MePl@w}^ZJa3vb zE8TB%JWo0i&vV+x^OmXce5FP_A88fOFPg{miYD=VqES4LxHFzFWR2$md!ir2^ME$- z^Zu7OKmBT)FIpYvho;AQp-FK*XiS{%DROOEw@yY&#rc{#alU3-oR?`9=U>{#`Ieq> zzUBTnukuCZw4EbyzGQQpC)pn7MUGZW*SCrD98=>w$ErBLu{h3e2dsL*$6_3zx+CgzoV={I+=gy&~4_ zzvF!LBe$jV(U0ApTB%WL$vaXr#m}d`@$=*B`1#QtoEzsGN5^@_EpcA)f}`o@#rVHdi=Iv`@=t31 ze^W2YQ1ZXW$N6Waew{V-wR2L-bSU-T^>aF=e%Cp*=KZM|ABgL_q|Wb}+W*1Sf!$L3 zbWg3=Cv|_cY`-*qeL(8_15=-WEOp|b)IPB;-5TrCU$HK&k9BENtV``*mpa6{G&$C#F|jV~j&*5m ztV^R~UFsU^(gnAs^{98OOLb#idN9_dzhYfl8S7HRSeF*Yx->V|rEak4UBcEM65^I zVm;a$9UALW_W1qSXR$8rigjsitV?gly0k3TrJAuG6^irFjbmN9Kh~vxV_oVS>(cO8 zm!6AtX;iFBM`B&NB-W#2(G0O3<&E>PLt|Z99qZEeSeL$xb*W0MOEY3!S{CcliddK4 zjCJYlSeMqvy0kCWr4M6W`aagB1F4S|pg;tsK>r%yCX(Yu?m+Hp4R5RA4DzPrz5bILeSeH)5y7X17 zOHE>3`Y_g|)3GjfigoF#SeHJGb?MVsm!`$KG$Yof$+0fo73)#XzG=N_8tc;6u`c}* z>(a_tmsZ8PG~>)4ySjWcJ3Y^MZ%%6YGk;9rvcGkDKSZH>Q;W1oo!mBcW4qLX9a6jf zb?txmTljZsms6>=Pp6)W{rwgD+Y$R~9{bC2Pufn^*k6s<-&?W2{jt9)vA@x=zt3WS zqhf!ZVt*OW{2{N)*|DGf(RQ)Fe6hcJvA>3~zYVd!6S2R#vA-8%f8WLaUWonmiv4By zF})tSEBa3KgXq!dC((V;CWJ#<@op5OBJ)OFF%qAxZ|^O>VLqgO|}M@L6zM1PDHs+r#JcC2ygrgrK1Yt;j( z3*+_6)XC{}(873KG-E*;x9ES_e_zK_@w(&P3)16$NW6}@rb_AmuD>q!bM75!Kc(8I z?Kg@2td0FFjs3hA`&l0Q=^FdV{b72&u{riLA@)-v_VZBer$OweN9^ah*iWWE(tiJp z{bZPtK8|CtpM|lXJ7PZOYZ%8hGrr$W#q0JQahxmTIG>K= zTouPTA&zrc9Ot|^&I56r6XG}r#c_TU$JsEB^M*LiT5+6J;y91TaZZTi%o)ddR~+ZO zIL@qb-k?An=lVF#yXvH`SEXjD1>Me`9=Bf-x33?!zawtnBX0jq+8M)NZl;&awToeoWgR z8{2;-w%;kXKQ6XECAR-cY`;Zpzin*4YixgQY=2E`zjJK=cx?aA*#0N6{S&eMjAy6g z%aJwpo!I_{*#4KX{X^T*@qQJbmkzPrHnH6sW4j$=yWQisAC2QK5!)>n+pQMctry2z zKeqdQ^mrV9m)OsUjOpvpIrcYnd-{4*kNw_#RyzK!vHy{o(zy5ke0}2M91_PfH9p?5 zaa;|vr`uQlpRe0_Xp@fjE%xo!pB%y2>8CgGhzkdDm zd|aRFbKlo}uFrk$v+9JkTs7VZ&7<|W>4V46ctqo4@pp{k97kpPaUD;G6Y|O_*^PK4 zUcgQ#l|O(@Vili6d$vD?H*g{Kc3|COsy_v1V9w(jFM}b0`h4sUwp*vz7uyFZ?zLX_ z!POYsSADvIH}M0;&(e0uSZ223%Gd%UU9_J&*tommUN{tw<8%CsoqA|~XWWj*uvky! zjTnd#n2X;Z_uiuOJq!9)rH<9HV(dar#lkLAV3GPpd!kFzAfpD6Dl>u{+nLiP*qR=l39tz>r<4 zvlHK=JL@nW5958b-mW^%xD#Xh>G{ufOvMZ|>#w{4Tc9%zLgNG-ulF7up9$B0U$ff( zp4TtKO_3al&h=yjj>GxrhyJ*L_1H?kml6B09(x#HP5(ENk6}E9_zv+? z;?itC3QgF)3Hsw(=I0~+NNh%I!S;=as}Q##_8?wBJc)QEu}Q4X=g2cMfb0A!G@jEs zcf#&?`n<*m5iiGJjKpJT%KV?iWr-_d4921FZXJ(5?#BjuG=7@6KJzaTHzmGDY)|}# z*p2uHu?KNJ_B)ff6!9uzlkPfiT`&mG;2SK^L-U;R8D{ILaeI8rfJSG;6JkG}Q_#BVMe%gO;^uR=1imx$#ratei zmi47Ze}CL?E8au*tS>zJ`?DI8u+nUeyWmDFo%O{?e}8)5NL+xG<|@ArZL+>Z>F>`O z42jU+U4O!}dleUplnyupWAGjh+oyS+=#L-wYy2jrW8MQAZ-wJ=CqBaXd^*l*`K22M zV6FlhcR@caR8Zr+ut*`rb#XH8!Snb7t;{rkCb${7lzNo9EKyw%!K`>7@Hz z`W3xDVRcdWvA22j8Oa;O?9L3$k? zfsys}`EW5SnQW=`{ebmqC?1LFVcJi}UD8lopO4JJbW6R?Hr9~lZ4Li!*I=BBE!%7S z7V$w_#oZY<;rwt$*6Tfg)gw$2hAITp_q*QJ}U1!M7MVp9>r8N z8LGTtub$^ML^qs+8_}KT-SLTsV98WXfxtVUqVf>6WnrqzLMYr1qV-xlMMTMKPHy*~% z7(Yzc?S8|h%?SA$o#(30XYdZ@SfFtOy5d~CfCcTFY60n z|NeO3C9Jtf;|uW>24sC9@!y~L^EyADVcD!NDgOHtnDs@)e}9s*zWns>PXm6hurJ=n z*rDo23Hs!O0ns)7ZTAd~pVj}B7>{ll8n1*SF$6#0k}sN<>#J;z=DT%#o;U~HmuOw1 zF>;{c-|-X}Bs*a7p^A+wblnWal`9or$7D2J#dQ{Iu2%eDjcm47p1|ROir-=R4T@bb zlG~Bvn{JmA`r|pw_Feg9co}2A>V9heO}4{$J{PJ#OzSWXZ=+#^#ybv|MTn0R_aL?% zseG!3yyGbi>s0SQjKD~K|H15;j<+PX#!+|;?_#`-*1@@%_M2>>bxn8HehjM>&&7pn z6bG!8ivp!5<6{{g#rW`b%FoA}L5hu|_55l(KE{$>8Xt&}_z-K3QNGc5o}Zo5{&Jm{ z-7pwmq3=E2o+NB=U$Gw+d7yYTT0B&|9?L&cycy3YDLz5Gg*b`Wm-shv58{_-<~&{w@2+W^Qr}@m$=C4>27xu!pO*OZV0DTKidY7Di(Gxf;(gTUwwM z24FZI#qx7BzYW`WCtixiy*j^E<8@5lsqq$JawrDidVGr0cWGW;Y>2bbxkoXRteI%y$epo#dsO> zyHN*i`x5t)%eXx^1}gqWY)>5fw%)(KlzAsl;x`=qUgIVs^*pa6{zh*!AppbWZt#*dGnoH9j7l;uRYc zq-~;%=kG)6|4|%mrpJdh#8G$|U*TCkx4Vn!d~TP?=XE*rXg`baAfMBnZ=5k4nu#pi?ed@kt1=Ycu+9Izmt|5@<4pJ}o__Z-FX1#*0$9A7w}BlhFC zhI3rwI4sB zeM3&k`Xb4{KaH}!O!Dtfd@Y?1ee&pe=A?Sk-b&tUDRV8AvqGiy7Fjh~ez_^j-Igz( z$*s@jXluO={m)(=N|N!Z($Gn_yLxx|alc+SZttMiNx^+((}nzg(0u*=%JL=B`H5an zldEvTT{#~}qlqO^JdvqPWWz=N3&{s~& ztov_&|7F+xxh3ls#=7-my=rHD>F?j4MAmHr>vo5AJI1=1Wqq;e-=9?0Z3pW%m~~5K z-Nv$RYgxB3tlL}Gts(2SmvwVz-CS6=Dz~&g9a*=MtXBfAXWfEXw`Z(dChOLjb#r3f zN*>U<-C*4gv2Mdzw`>cvUME?%VXT`S>(+$z`h$B|x4Eoa0_&E^x?N}8zOZg5S-0`5 zTV2*|3hS1_x<#{YVXRvy>*m9{J!9PhS-0V=TcN62m%Xf8k=lyCvTly7TSe9@1%p{P zv)a19Eoa>>vTmDMx7@t09K*W3V%^rWZcACW0j%46)~y@sRWMcSd7E`hWZfz}*8Qw@ zn)GMgrm$|^ShoW9x}V)<-9lNn7OYz)>*mY4&1Buiv0lwsuQc4sy1ilD8nIsaLUg~X zA1^amw+Pm4BvanovTplWw;!xqBI{O>b=%ImRb;&q@Eq&5hIKp6y7{wicC1^$23j9e2icQ# z>(9EyvToa0H-Fa6mUa8Wy4_>l#+#^} z4P94nCCa#4@(J57Wc%@KKa}mwa%lT+Z2yYwAF_RcpQ<0v_D9%$H{17M`&J36XLVCn zx-F;v()P{St`6H($k6d$G*$im)ZI$mHFvbVZ)IH%qVOa-RMB{E9EVeI6Q09ZXT2X$ zwyQMf_ljGhJzm0utbZ!?_s4Kj&d>VCQh$Fwosvz@$hBGjVCwJB@?pB2nIq-RtS_nl z`?D?UORE3=gk^n6_1~Xw1N6G^>p}VCu=MrO?O8EZKAI+t)8(!i^6gA%KTA5**YnyF zvt+3wGVqve6QMpY+b7@8(ETQ3rhM%yclI&-JH97#WubfWcON~UcCh>ta)9|i@{?4JlH|TFe&f8}6)oPZ`-&gdv@;t-8{W#NKBYmyq zrt`P(C7qXj>F-JUTjQF>N73In`a6#P)|{#H_96YXp}+I#?;HBthyHG&zrX13XZq_- zf1A2DAE>qdXO(%<~9hJVLtM}NoC-+}bE6aBTOztib&GW~U=zf0)v3;Mf~{&u9l zzv!F-(kYkOSh^BelxY`?C*8|m*B`n!()y3pUn^!Et; z4WqxS=AJE^G^tatCoyS&vbbQNp8~*igD9`_LRoD5L z?62oF0TtBO?G_pz#q+|2bre4ts`u0Tl+x|%Ya?Sq#w^AWxLn{q;#d+2j+){aVk5D_yGh@3_;~>3yY;^?IMuJ)i3MU_h$&zY{~86#vF| z97i&LkI{+Kc9+lhTmbiE9|r2KQ@ zQ^ZTptFLXc{_(}%pRf3t=hwFlOB1^uN_wn32#eVN)8&jP(C+PE7 z`ddBgpN#zdsX~9x;|TifM1ODLbo%^&KKG};Z*Vbv-bG%4 zKz&|7pF`<$2l|_j{$^k_eI84neQkAJ-H1Q1ubsxNdZ}(NJcuQFYkV^L-qiZ-z?`=f z55qX@bX();A9TIw_EAp5?RWz(ab5AY(7Ghx53I&@EfszH>h*)OmCl#M6?%U*jqxbP ze=%;?PxA}c*ZjdNHQ$AC1LHo7dopg#_zK4T8FylQ2jgLkk7oQj;|YwfVZ7if)&2GV z{SaIB*YTZV-V(;0IsU`Ak#S=a^(h$NaJ{eERO4N7J|4r5XwG%s3;Xxi^>aBM$B$?^ zK>74-I?s!2m$UF44&0$}qm3S~He=7GiVrlCR-701=-gMYPe!13W1W}&Xmrx`zYk8t z$Re6|0j-{EKlW(V-SF>vVuw~1dOUGJ=QQO#(JEEjJD^n`{T@jm9>)}{;;MWiTDmE| zg5G@d$%ngVjSc?tM@59%AHu#XTO%0T_#4(ZK$F&>z#c==|uoRsQ=Yw|`gA zZIj|qe2nR#I*x8zq(9nhRa`Sn&r9Ot^gPV?Q>HoU{hjoze|+`#$C&jGsQ&(VZ`A$A ztD!aUDv+Y=>EDPL%!*#_sa`Tl%3|tJsVX&HkZ!RWd4tUc@xF){9gd$ zF!jr@ROe^jOgZ2W=j&5_UQ_u)nSaN*yRx3&__i_pi_?3^IgUEtPI&75?dbK=KSbKD z*X@~eO`7xhaioXNuX~}oJ`HH7>-D?g@>HryS(wakAnpIcvT8cYcq|6(ds{>-k&KSM}%ePg(wn`gHD{ z`c$X0j2vJ|Z)mJ||+sYY3W&d94uXk&mmjN!)u#)q%llty8U4EgDYv^MMJM}A- zJ|@w}_VjT(eKZMI|BUp}&_sRA@lE~9^Gn*&$3OJZgFeonj|=IeD}9_wA9vHoIrMQ6 zeH=|6=g>!6`Z$L^PNk2o^f8k@mR_j-y`qna^wHW{eH%|7kJ88W^l=w`yhI;e>0?bN z^=~D8Y|upKVIqBWp^udvIS_Lr|9D) z`WQqXW9Z{+`WQ#p-Kh(3DI$9VeKkv_hrkDm0gIeoOJkL&5<5BfNqKJK883+Q8S`Z$h0 z2GYl2^zkNrd_f;S(8p8s@d14oJAkI z(nm}BxPd-ippR9D>HN&uTlee2M)j{geLO`Um(#}=^szgA{7fGw&__G^=t>{A(nr$` zx<5~$k4Na^I{G+}KF+0&o9UwueN3f~ne;J7JzWnI>EkE*ScN`5p^v#ebUl1ZAD__2 z&GhjJef&fp6Y1l4`nZxl4yKRw>0<w`1M(_-0y3>vpD!EXX?M zuCMqJ>-lK8;$N)mukDKKvc8rzbbooxI&bT!$HT&`cj73m`&-t%^G3z5S%2%zig$A! z4Beo|$=93@+pa7A#d+~-i>^uM1pC4Ov zU5n;Cn$Sr1!v~yC@7gPF!+Disq~eO4UyodMf33rLR;R7*w@#dIPCXSr;=H@FT5&k% z-;OSNeEGq7*uq!wyQVttR&oA~=Dd5>N$1lf&NDmCudSR{j+{>coJZcAKiN2MZkp)) zXv2AOh4aIo^CE!r;ii?=c^B({iFMDg)Ot^2okLjP@~mqf*0VY5IF0qY#JcTby&PGm zA*@eB*5wB4(S~(6OaJ3XsPDVzcV-*)u{8bNN?#|?&m#0OFZbuY^wEz#{-KXS^l<=v zJV_tD=wlRpTty$t(#LP~u`hj0r;p+EF^WEZqmS3<<2(9Tiu=tP`goQ;wx*Aj>0?j& zxQ0HyqmS30=%G=)OzWrI5qY zx1p{}>9us8#4eV}o27XbohQk`xer-xCiOjb>vr#={=!D;|5xhAQ9q6P7FE^% zH0sAufA}@^VS%6e-s`C>*-E#!NjDis{k0v{|AV}q$~dCqxW((K);y0gjM`Iy%+_7SSP=&1Cx(d|#*acf(E*8SWz z`H9D;bD_Gu+m6U~H{_s2y4}{PGK1@P@gAxlx=N1gtlMwF^`Jl3gH~J*Lb-qYaQ_bE z{(Xk)WFYrfAMURf++VG^zh>wDdV%ZN3+j*Ke%O}#p*{7NQs0aE3Dn<7{R`CpMEwiY z-${LY>JOs6HTAzy--7EvDD}rte>U|mP=6=&3)EM?Q>dSPhvGV1-?DF2zf-6`oBA85 zKZ^R+T!*?*{~`7FP(PCTU#NeZ`pu|szCv}asP9I7E9#pc)p0~p{}T0ssP9gFU+U*u zqxHW}{bcG_JFfFDS2LY|9@IBd-<|r4sP9gFBlVN1pGo~o)DNJ3B=wt7KcBPCKmSP8 zy+{2c)GuwV+x>?6MRzK0UQ_q~0^4-EKT&^iqT*dkbl#7DA#H7Sd;9j1uc&{3`hnDc zLH!HVuR;AE)UQN+N9vcMe)eOkyPo<-s6U(f-Kg(L{qNL2P5o2UFM2|K_(Xjh>Q`H- z+wDaCKGbhd{le5gPyJ`q52yZg>aU`Hm9^@_Tk5~3ekJM`Yp(V0K>hC2?@N6T>QA74 z3+jKSzS&as{Q>oZsehXKy{KQNtJXiB=Pl;-^uA;4Qknc%?-Q8V>3O|3e+TPcPtTjv zBh+`_DCGaEHL%z7$nos2@-p7nOxFI~*Si)DY#d$pfr_Lt25Ca}LK_BVw6&0>F> z*V+FgNm>9JZ~ENJIek%*`FW#+sXbc*k2y@7s&oB*`Fo*Th9J& zu)lfiZ!P;f!Tv1Sp9TAiV1KRHUt9LKi~YS~f5Gf8lKtIbe{I-befAf}{(7-LH}>Z~ zPPh9Q8hF1h_M=`07NcRgX-rw}*_x0}?biat~px0$DN9grd zB+oOw1GNs3m!%2sm#yP{$B?! z$N7}wJiu`VaGXVX-9DbP_H&J6k4hVBNp#eF5(jy}rA`>-%sAt@}e>k4J9O z`i~CMdWTz zagXCH#pe?~d@kX_=Mand9HI}OKNRKj2Nynn2;(?w^Lc}9J00gyj&n7iI}GM?hi4pT zIIpJ{a=b3Q9?aKX$5)%{>wS)Y3$G7%+0!?q<9W+{5kn;q~BT`Vfcp=|?7xr7z8ReHcf70(kxBM4w9WI&dKU zn#1eChxBbHuL}>+zuCM#oJAjRU^!k-pP_#n=vz_V2aBLjKEy!uz)NWQQS-f74=X1d z|HJrE#vd|1kI&K47|+i8d@+od<$Xs>#{2x%bt<}x>K+VI-8_75S&H{nhBzyKt*ac! z=aOSKXudV`(#ZQU-iPr*ybrUN@g?Y4 zuhUJ%E~69&5U(P>O?-~{Gx1eor(4>-41cHWd_mXqfV(pOn~ZFs{abaA<~^m!6Y1Pm z=b=@18NZ6heV%`sU(oZm$d`KFncPs%Z<9Mplm0S-`tPV;_q*yBYNgRu@`pp}uUh_`UjrvK{FMm&U`%}La^-oYgnEFep|A6{OsqaSp z=G0$L{pQs7q`oKh7g0Zx`pu|6mHMvKzfb)b>hGfdSL)xP{$%R+qW)p(_oDs+>Mx-F z4(gA%sN21h`Y)(|f%^9LS_jKs(jr9;wN<~{^^ni0e~$W9FKQjmQ9pzF8PqR6KN`_Eo%#mq8>nxjejxSlQs095->C0H{od5Kr~Yc{Po#cv>Ss{D2lX?kUzPe* zso#$JuP^EL)_Nd4f5?ulb)H>zkh^=!^-tw}4~vfWOdciS$>c5ih5pV&m} zKC!c0?Jo0QrXKYdQQwpLuc?2T`bVjsvz_War~W+Z52gM&>JO#VKsEKNltU1L_~8ei`Z?rT%N`zovfvf$G0E^(S7@Iz)0D2Ola<=XgH;R207RK z>Q^fDZRyWb>KARQ+grj}Hsp1KpPc#dN#$1#=T$mBTga~%27 z)DKsVBZ%WDonN;baqQwaJU9;Lld2nkMw)Ye`gYQKSmjs$t!!juqzpKty0Oos zIp?Rdsp`h(kOZ6Ya_TRqeqqkb57e*7c{!H)`>0=^ z^Ku{cms9@~^=DB(p8C$z51_sY_lt1qhf}`}^$T*pXi5Dg)W1r7C+c6NemM0XQGX-# z3vj<&O#Lg=Z$bT+)PG6+k<@pf{uJt8q<&uRm;Thx%l+~t^-FQTyhr^A&cC{xe_ot_ zNt}OvoPU0te|ZjQ{aibeZo%%u4 z52Ai)>St2FCiSOMKZg3vs2@Z9AnISD{zB>(;JjZPr}O{H9ofQJ=YMJ;-QLvZa#)mX zAE)zv(hGThrLIT0IPd2d(D|OLuuNShOYnN}wx8|?u^aUH(gjQ(sNYZihRG57yRH|Q z%=Zw#K*I&)jp&X`G5VtNzNxAof;TbS3ypjK(CZ(gR{_ZTfZmmhdJ&j?u{3*)?JN1#ccN!Kg68(6({3!jD4W-8V}_xypMAqX}oTd zyo>Iq_50UX(f*9$k>}+k;$J3hdo8#LYmov=SXLywJ`myVNy6~D%I zn-p)tkXZdbe(qDUKaRqwxZwYJzJKi;ah22BZXO;!qxj`nX^2#R{4mEp#Y^_f+);Aw zL1}uJIGQ+y_$cvl;uFNN#HVD)|G#enBl-J-lG}7VvoN5W&cg@{h*JN*W66Vx2Vpq= zz!5RZH##JZ#C?bZi0@+>t~sjtF&JyE_wB0|mJ5qWC*tkI<|lRh0lQ0>Wc_T$3-}2= znU~J@h&yr}7=}K$5I10QnD!sZd1^SLe!BNppJw114C8uof_Mq>ZQ}d5-(B0EBOk#3 z4~W2{T!+%P>hnj(ZE^$#VDar5UyS*7C|-c3I~7;O)_4q?hADpt@1Q$>?@)M`@;1aq zVn1TH7e1o{=RpslW-*v@3h)Y~kJd^SH7>Uja$~&Ld^*w%; z9v@oImhEv87MZK@#@G|RFdj|kXC4feU2vBR#J9Cdm-Ij0aLQeh0sy z(^HLmVF=#90?(EI`9TgKeuJe_HNG`XUci^w?1jc%aREL>uUE>iz%6eTpT+0c_?^b5 zU?d(+*Z2c`iJ!18$K4et;99KmQQP;$kPdqMkDQ^t9wv?>{z067rt-BNG{1$f;ugf6 zi2D+I5Dz3CL)^tt+xO%AnMu5aIG(t5N6quV%+89-cae_RudCu&xC}SqXH0O>yf0Yg zuV9PsBc0L6_jSgP z)$vyzCwotnYl-8r+XRhw9xtmCkHj%-w-fi{F^rj{?W$mJ^uvXC13zG{$=WV&^xcz^DKVH z7Wr6b{0|RdiTuiU$2+e)-hi>SFk@yj_?b3W(th8IP*B+U< zR-fw{kLY|1;Qt0%UDEx)s)IhSUx0(`6&H7qHyB^fcxT3+Gaku!b3BE(hmdiKIU7dd>rvttj@R%4#Zvf5~~Gh`z|;Er(yhR z<)er@Em!P;|KUZvhZ*=2v#ro}7FZA4;3^EK-WlQ-SYxHO&%H|C!B5O@wnpP=SZuB0 zJ~#~L;|VMfsCgIgDjIs~_09x5g7Kbu-d$ys9EtIvod4VOc)1+I@CjDkuKYlpyF>8; z3%%Z2hNf29e*v^&JPsr4DQ`zU;1-Yf!Fs-O7X$eJ9b0iXUd41QI!v$2%JO?w1|F}E z^7|d*`F*5DSo6+@M zx_GGm$^FXz`lS4idCC_brTkg)**`09GGF=9mvG#pRZfJ5*D?OI2w_e2LimtKM%s zgBe)!o5lxZ%KG1BChoz)(vsBzzdkmS$R90jj{L}TXfaDemDcyVl>{s!o2_7 z6(?f+b6wZ0Q>7zz!)NGSSD*VB>&eT+fy9Z#dx%4L-WmV8h)LE@&S2T-jVwp(M0|Ra z#y`H5W+AfWJ0$ibc7Lh!^*T;|tvK&nX+-lMtRK$7T0b@30cWGdZ;cPfCpgc<>hG;E zF{zkcUdSQc8|i$Tj=>m>U$9|g%^Qc2_zr6~QQir?Z~^YdILvLM`5n*`m*D}tj%H0Y z-wM0pI9!QQ=zUv{+e>fO+Ex;oHVa$N7)|FVltNRqL z{q*>G8k_qoj>1zoWue9o;*Uj&{T9not7Xn5vKpSm*I06?^2@MLfMQ4V#3)R}H)yw9 z^PN{oKjJVnTcPoVn2w1nHC_#8;1Bd+e^F?~?J*0~cHzVsXth@3UbqLNu^QVoSg(28 ziQ}+fkj5XPBlD&PYdnrP|3<~7u^IZ~VCLt><(OPr>ucox9gKT08uL8Vb-)4V;BidB z+>bP`Hr7c}d>@NER_uu0xD%7nB3biX&<8i-X-vZcPc*+iy1S_#r!ZGv#pSShKgHg~ z^gK2JzhjT$8Xu3oyifH6FGuNpET2R2Hy%5z_%0SXqPPd{Wq(^sYX5t2C$A^USZMqk z7G&H3-S8xu@OiR1HpM|$1)XpbE<$JiKlUK}gN7V>esl!WF_)>vn`3YE!~ndGZ!v#P zZD)yl@H{@i(tK}US!{#8=>5&?-}8v8SSC|(=5P6j@fM7~NAn-bm&ax}6$kuM{s`W} zGJiBa68%l|JkL;F_nTQ*s*d9CR`LMjSJB#1`6QsSK?kQWUYB+uosSPpz%p~pZz&+()#-r zt@m&J?&G;)ic_&tamBA1O1BcSR7vKQlIP0G6BXr@%CccqS+0&;R$rQ0$ccEPwBoj9 zWDxGesqFth48cf@{eN6e+ZQb_?JCHw*w>(VAjaV>T*C1$!y_16N!w-PcJ-;E_!w5G zrnp3PIR$rFDn5+4YbbtROO7XAhjBGE9!mZvTF}2db(ODyL+dI2hz?eYJ*}lThBr{0 zt&uFL88BSJdBIR<0x;SC{>WQ!z(njaSD248|x- z!c$c=zkXHek6YOP17c%Uz0O>V1*ciz zypLwN6xTspbitLmm2Z<*8qVu+dp3sPAv}qH;xsS(qBO45@$E#DRf;QOP3($i@dg%O zqxp?6cDZ89719@D(5j8jn?Ov*nr$`ihrzaro%ws^C@j!ipNrJTHMj-$wNU;l#Y=P5oFMh`yDVpbk zAD${c{!CuSv#E;B(q#3Qaycepi&q*S@J8-Or?-mlqs4p0tJ9_PasA%K4m^yPvGfV$ z6Nt@-%VGm`J*jyU@C+7-)p#+q#c{Y1FJQ@2n%@>jV<4J`=>Lr^$H({^leQ@T3p;LA z?13e=D{h3Zb|~%=CL`F-Ppq(6<8`oWsNxfthdO0(7)Ij{EKU6pxCozb)BYN8JU#IU z$CZDl@};oW|6`7~DRD>4!+3cdh5PXtnhetKzq{dJ>_1rJUc^(dC*y--)|K8*Zs z@&V*Ok+1by^Yfn3_Ey~QR=&{qW%9GhN0TqZ{m+H_TRQoW%X*xRM8iJC4e;jy#cssO z#N&x4W5RyTTSk1I_!`FJJM`xFK5k(HNBw@tXpF$`=-g5H?P%Dl+dCQWVi`VXHw@A1 z;R%?4@38t%<>SM(zO^D`nZ2wx&cPHcAE|r;T!!Y$^n08WaQq6zw*%zo<+2mw3o(-I zi|^BZhvPW>Z@79u-OKBFTnxrzTt$u7Gsx-0NocZ4edvjcFbrQ{(i+Wk#0)&UR^wOJN$1P@eWWdT z7mr@i_{*#ELcHvDO@6yBeSP)($YhybZ(qltm5TEQ$b&d=h2rewPh;{bjR$Ce0$^hu7xdyI!> zXngZm8SAh6SJ8#?0`6a=_zu=vqPWm?iw%HL-s&dbm*z^APgw0*tDEnfHyG>kCj*c zB9^b9xGRoEAKZvHF%3r=wB2%a?yd794Bdw+Ht%8h_x{D{#(F%7EU9%GU?T(gUYg~^ zrd~RqKQq6Ih34HS-<5pMCfZ*;@~_GFC4Yqc1@fDkYCoo9wEtV=pO8OFz8ra18|{Bm zDQ#zLCij#7k9-9ALF8YNUqJo{`O)Mv$S)x-;;rM^!Tj6Iw`#6>2g&Dbs^e)`TH{N} z7agnZE0FI@ekb`l?RT?% zGWoLQlz&Nn+ISuRH}ZvAu@200tf2YXTFH_|xsvU|CTjauZ1=Rawx7y&6)I|e2ey0D zM)5tin=x72*D`9m;mmK?R`br2w;?}`d>iuj$!{b7f_wz|4nEqy3HP51jJtFHJIQv* zoAmm)!hSjZkG^NhBDbC|w+_*GWAe+%*CRiUd|&cW}mPJRpdZ{#9uAAb+0xX!0A#Zy^7U{A%)N$;Xi|l})!Rmi%?{3FNDg zzfArH`J3dck-tj*3HfK_8A*k)KR{4EX@^Ddd-t zKSw^1d?i!uH-WtQ|L-r1zs;q53VC-oy>Di+Q^)6lkFk50#?N6Q7TBfnaD0y?cWc}a zFX1n2vq$+UxD@Z8S-A3za3#(t!o(JyYabPmn|GX1)J)Ob4 z0nCeG-U8;8V%{3&c`+}6d7GG5pLr3?o6fvf%sb3H2j&-X(S1EAS}BV^<612cjpA!xg2J z_a(lBiMW9LS`5J$ELd9GyQA@?Zg(hN#$-&x>2EYIgLvmF#Ro9=YsCd|7>>aycnU4q zUwxd7i|{Ufz@~4t{~%1quy-1Ngst8yE|M;t=j(oU79XR@0*$xvlN0bdzQ<1f${)cF z3l(3%Hj5M=!pPgITjh?Nj0Ns09*qa@DNe<77kw{nx9)NPuEZ_44fo?|%+*8NJ?JTO z_mcDR9+vB^aX$>jIJ}L&@kSrbe~D(UiofD_%QY;lsI_UvQo*hqma3MdvF&34<{SzhI#SnrDZh7=u&%ln=vLdtHx{dEYwH zOuyffK15n|(EB(c{_-*NGnjvl`8kJbemmx$Wd2j;e`o$h=I3R;1M|-?zl?*9r~YZZ zzn;xp`)$MgSNohw(h7;0G*t zOZzX2HrN3N<2YQ38}SHU!*tAfTl=k!EwDe1$JO{74R^GiKkmk2cQxJ^H{mI)c~AMl z=z~FMabNj0n9O><#|+HvsPnD_T4ED)K<}4&JoUv8jKFL75PxF6SK6*7+F-z1?q7Hv ze`B3M<&7BIQ@7_jzQz2#G+qPOGQadXZNF!|Y`syg2$s(`$pV{YU)+P%p&D<;epcZQ zjKnjTBS`bpaR+rTVW|zu*TzO@kAB#Xih}7wOE4ZotKE~5(g&h_d}{Zm9f9|zCZ-yZ5hAI_!-7~ zG5(D4C>c0Uk zu^oEiTnxn4Y`*~SVxcwKZ#}fzsJJU}Ce~f6@$7-p6ic8ZmS3m50j=>Vt`AcFIxbkR z*dO0xXxdkC0{&sV0`W_Hhh_U| zeqD6Jsr@y+dw`6fUNoM;hxh|62Wftv!LmP2$6Z4-Zn9OM=a{2mrC$Gg<2JmHW~-F9 z!+^ZHPQSu@`4o@96WAcX#@AsAmM)}mAFO1qcr+F$qPQ1kE2g*;zAmoVrG(sv*-9!d zLhOxauqgR1I2Vtg^GJQ35Q0~*wuiGRGs9CTK((>dvd;dtk~#&=zm zZ!wwM@8GHZ2I9NXiidkiLz2!zKm3L(9&7wOdRN!$js#3c^I%2(@|x1^d-f{1_kARot<*tU~-51CsQ9_zR5W|3S2StnvKw^f*u-7ou^LUI(tnBbb3l zM=PJxOS+&tdXLd~d2cxgKlv!WN8Ea>Vt3qtwI^u&1wNgqc)%ptXRhZ#a?;&)?VmJgtFgaYGXMRQ_e;_ua`P&=WVQ5K zBfG4X_UyMB`!!>KZ}Bqw4P(DY+3yDS>&JdavR_B`TPslecmKcqy|oVp;8rw=*ZJ*= z-!XEz`eL#|n)5wwwK08!UccFnlyyC1NA$%=jK>5_!V2b}nSy_DaK(f9x}uXTe%!7IC~k^IoZzVOy;!`n zV(X4_U?;g6FJl4b6~)?k5!-grcHvmcS#f`K>!x@WaTrEp&aTSOVO|Kn#oOJLuiHcV z&eHF1+(zSU#oMvK9L2FWbscYaOM2ow%s`jh%J;*$7=)2{3={Az=D4Hn>!LSqM(2_G z{d3802itMpd<2E+O& z9_A|Ry2&|c=&Sf7ZtbVoI6zum*Wz{@nmH$9~Ao*G3J;_`C(e{DlqscEN-;sPY`Mcz!$d4tTME*DV ze4kW5j(o#CI==2k9iKn>_9lA2?g05j^5LJgy+=0X?}TgnuWht_z<%BT0tV^z?-ye4 zQ1$B*xXL0DFJY_&&_X_e1z@wlvB5xrZe~ z6(?b@EsD*y%K6x0o8qY$(oW|^iS}|mZnIZx(Lr{{P+Uqr4|c~?{Eh`2w0(`vvJvrO z{Ef36l@G!q%s1(%ag$Cm87DX?4#m36&p_`k$}h)YjK^Zm%6G=RT@@EXBTmIe-INb7 zQU6|H&K!!1W|JQH2*+mE_-f3@{8~5^lb`Fl`We0B^!ti)(YRFCx$cF#{cs%2u7_aK1{eED)*m%Y5887ao*oJWr#=9^+j`6LGFJOEZ;}026VLXlT zQd6|w6#80pjADxk(uj`CGY;3^8*jx7JTXG!g-1$j%*4wc8qdT3OKXSIF@)=w`C47i znq%ug#a8QNu^_n_uj6m@TCe;@EU`hc^G=l}+u0dM;|kn|Z?LdA`^SMe9}nYW{DpN3 zYr9V9fzGvbzaE84a65WhDR0$Co@G20v)9&m6*S^B48u$K6U)`nc3sdLL-7&jtgCr- zZ~`93{PmQti`~!{&tMU5hd=JdIDCmY>uY~T^ulF$3RAF{wdOa%;TVdS@FO;Dp!u^g z9zS8phRU}?KfHsTSqE=ij1hPVb2ip~s$mBlfm`r0enN{T+O9bcz$F-s$>sFA_a~Ms zuedS(s-pO8E!my%Nw@-|Fdp+)(EO(8iiH}v!tdx*S@Zlb9B<(-tVjB z>e|j37vTYXfR!vY&l8W}Lo}(Od|e!iu~@98@?CHOZospcf#o<)I^%d;jwxtbTl+O& zTkMbPFa{ssPpnW!+q>dy+=bWiBbKPE`F1!4cj0yXiWTZv1^6hXWuEqOUqlD&7 z$6a_0e`4#Bnzs~Fu&9N`ZO|S4Fbpr_TP#&d+d1MmT!|+!9gCON{02A>XX9?Xij`O| zJ9Nj{7>xHYcUkS<5?yf`hT}CfDX00Bu@|nu7)-$$m!!ZzJF$w=*t(qJk&cH2r3RBRO*R9piJHLfV*3V)L$Md+Pi1OV_$!Cn`DxkO$ z+MzqH$BXz1%NEpjEpZG6;Awo0r3z6W|HG~L8XKBv-fY~47x61LGuJ$Se1sN-IW8QE zOYj7yVoCba0$p)8Ud5M~zo_eFd(_I_Q9hZ)v>hV>z7h z#kd>e@jceOs`+mCAMV2h%zaJsEU_O3Vl2MEde=4I2QT6qG>=!l70$wVtbRlJ?&yQt z@g>?MXx=i6#phTsQTayL6MZlU&*N9Da8uhEaTIRE)0m8f>Ay9);dH!(nON$!_TLKo zVIW?_S6JZ=$Ac4b4PM4vcQvmr_QZ{ticRimo-5A4J@_75-PgR;cp6i&*aPKz;dcCm zbssA4g41vdp2bwm^GNd>;!s?I5qKZ-CuzPFcE*_)f*0{M+HyY`feUaCUdCL>+JAMl z$C0=dui$4a^+emXKzCedXucmvIEiF5HPmT9PbD;$IYn243Q9qaHY-ofu!ys`G@j5BZ(-oTGorHSUZ z!^yZG?_+iw&2zvNn2b4^DqkIYU?8Spf7ZblH{c1pkHwp7e~qyh`rrY4fH`=-!4f;- z7~F^#Fd&EF-+8kKuVO0h%%i+VL1}6#t6|&!@pRvDHUIA)$4_RNC6rlakx?RBS=nS| z6H->nD1<~IJDaSmkd^EmQiPP9SvDEjTff`4=i~G9&;9niUf275uJh`BPUln#Juw(h z;AiL!aPNEerNQ+ z8F&((VWFbxcfirO1dm|`W~05Sj_Zv9xE(LxQ#8D{F#PXdS!{~#nE6BN!MXK1Zvyp| z7>hSC3++DWxb8Rw&tbtVt@pvH7>UVf_ECKvcn~u%?GDQCR^(raRRQxQ}`H-47%PcVJq~)Fg%FQv9OVjtA%bj7T04kenzug zI?fqAa4zn`hxiX|cwDx_4H$h)<^Y>Iub(l4#Q`zI$-Uxz0!9ka2~H}wy}d6&(fAIV z{8isFjKgPW%zk#jC0H<9$Jt{SoPf(P8NXq9gPvbnq8HA?qxcj}jnrQkd*f6LAEWi{ zcnYuKeSC>G#;d=muRKDwA&<7BXZxt!Mn8R!w9oPZ}LD!<2n=sijG zsFiXPIf#6L957kyc>-mxsqzvwo~FD93k4~U!X%8Fu6jbSJUK%;&y?q|b%^p(e2g_h zRUd*Qa31ztp!Ili@!87L=EzX&G*`JB9>G5IR3C%0aVxsc*Lpu3kCV`r+i!}~@Gzdo z(+hQ;B8%j$#d6XTS!S8sjr-Akx$0>+bcOOe3}33}xpcH&XO?qaY{W0J8; zBi_Rj8`M7p_hE`@rJVCuHdF~-sGhRH!#ZcqzPJ`+vBhAm&qQly)13ZkcoAE=s6Mf|JdWlql*4^= zy?#XJG0I2qxv%mlKe-nR@Hns@s5vI$88i%1y&wkQV%&h~?eu)+*j^695*?Jg;~o5t z9>w*zJ&a{bC?{Z^lFC!@I@YyN{V%q)R1RNTGiU#vVz+h5xz@{$n1XdSsJ;jXY*gNb z9y_ga&Nl@&M=O8A7Q2)$lC!W7brNg!JQ^-ZD+0nHLruaYRYqyI(a&?LF> zicG{o$;xZ-D$c&9`W2j&qI?AXQk6Gjzw653Sm%avB(A=x`~+iM^}JW0jjVvpupcf$ z>vrm!(_S{{AU|RGj>;W6$%zWMzNMxTahyMQ%xzSvc&5@;z*JOL-F( zyrbM3uijNIohIwulhNpRU->kC#^(H;4>#v(IrHwqN-oOFF^k_LH1e5wPG17{e6H+) z-kHjm$*-{2OVwZE##hSIUdx^w7ldy7KAQfx3~!+MHa$Og$7Sdiq|bxVn2EuoRlkYv z(3#JxL(z@DQ@I6~KPjJce^apbQ{`sQC#*z+kO^z}iEUo1pzr<#TB3sXQG0@!~MmpL)rv-f|iK#X7@PkHGDCdW7ob zM#}NHaFp^VtTS4;Klrsej7^xgkIX zm(%;EN7&j*c?Q13BG#&p!e{7QQT2KFvyyVF%5p~)c?7+yDj!5!8|4*vi+XGFcKnJC zw(1{=XYdXVucq~1Sf;viKU{@J@dw(}P+xcS!4>!qt!k>z89gu(AK)K6Ut9g{?B!xi z#PB+*mvof`?Vc0sCvK#-; z`92zY=yh)goQ&Hs7O!FBp6XwS@9-B|yKB7#`rumJi8nC~JND9XeQ+jT#j?G%o{XQc zSRd76(X6lXbab1bueW(%04~6@cn9C%1e}MFcndSp$Y1BLh;b+MbkK&!k6pw)@Q7a6f5o1ol=qIK!O zWB6g^-l z&$IRQy1v+ts)qml+fA-Vj(n`I6JAW0Ei+_(oQaiKw-}WTCc1}IW$Ues>9M_TKD)4vArgB^y$K^Gse-p>~eb;$Y(4N0r zu@SrCU5uGhEa&#@rpk7B6iWuHZZu7HBTpiqz+ypK&zvrUtu)7LY;LXG8T+6`1=YQ< zm#uPF8@U`WVmH?BlHZ^U_5L^wcc2@8cOVsue=MDIzpc;>_hBNI{-i!zoQgqs9kcK^ zntaxACD8}#e^osI4c~Qr^uiIi8_%GNZ}pscx8ZB__f!1=RvW8)8mo^}&MGSVn#xUB z)J(ZP?!wZ=RDX+~%#~{um&3W@)!q3ac*y;6D)+aqbS+j0ERgbR_JcQ@5-!!d{!1NKio#rFuD147G zo~joZChKCPpRRk8vC$zP0pKVZATrN!0mD(C0#*y`#Q=W3bl8%^qDQs=ph3uJjdSy$$xD zZy0@^^i^TKFOH%wJxTAIvhW8M=kaEPjj$M2!3Nj?`=Uo9eO@)B>V4r9atZQ$vK85> zvHF*g(>rS)sy0;pE4ev2o7|N=wu}1zkPQuVoat`ez8hLnuR(C3A_7-^|Is+26}P&ViB6f;rRbBa6H zNq=c@(fw*`r0Z)Ba|AL+9CJKo4u9s@%^Y#eQG?t6f+v|{4s$eQjyUE>XATGEuwahC z%wal8`;m@W*LfW`O`qRAM(g>*oAvsm)!*ud`kv8ukiOIOh0_;7U!x$MuYixvXWvmD z_Z66d6FaFs6T`V)a-l13$H)?zBfY+L&i)@FH*TOD`B$&+d%EcM|B=1P!CiHKZs23I z>ZW>Jx}FzJU&@$Ux-PPM>hb4RSkKqtFJ#P58EK*G!Grtlu}aV1hGlwxl!f;1^!YaB zJ=W0mVQr_^jpZ_QyFT20;oG|XHtxFpt=#@gZa>d2-ToJD{~))2klXLU?Y3I3IYPPp z${%$5HZ^to6S)01oWGH!?oY?3nrGrG*&t2xd}f}1^#6XTIc_meXO8bVT_1-~XSE9uupx|rzWc!IevGxuHQ zwydi88dQ^(P2~^fZtJGG8(3-Xqs-m=w&q^V+{RBde*+86ZCqCK4rlI3%-y!1<~3d< zS2Oof=Dy3^JD9u2cI~t07diI0_Ip2br!x0`=3cT>^Jg%3Dsy*Tsd+y#x5IwTyNS6| znR^p+8*S43X6-a*26Jy>Zig1y->$9Y*tW8H0qyrZ=8jx${@ooG+O>k-06p zYQOVaYrp3(x6K{R@6FtIm^;6v_WKTV*JtiF%x%$M^WR}^Z|0uE+}oLZB6BZi?ybzd zpSeFWw;6MPWbRbvuE5-8%)NxU9hiG8b7wHO8FObacXQ_M%G?#0JA=8$GWQbZ-p|}K zm^*^GqnY~%bAM-U3+DdL+;^DUhPf@6dlhrnXYPs2{gSyYnENGjw_)yH%x%NmFPVEH zbFX6VBg{RAxwkO)0p^ZlZi9`k4{PQ&G*eDzZhPjoX6{Jlc46*d=FVbnYv#^kZa3!k zU~YTn&SLIh=8k0UIOYy#?s_})cx?Sub~~ZRCl+nY%r6 z_hoKx=HAZSiOjv7x#uwV9p+AC?l#Q*lDTb|dlhphGWROx{?6R_+w(la+^d+|hPm4? zw>NXwXYNbPoyOcRn7b;UCtdAyT~u|J`F2Tn{_du01w9WYFt^uTT`y70UGkZ(6W3CD z9xPd2*Ga%;Ih(oN2WbA1;WCQ36PWu2b022z%glYBxnD82EpxYJZd>LyX71k1-Ilp8 zGWT%i-of0K%-xo`Etz`~bB8f^Z|1gS?j6j1k-1+n_fh6fWA4|?{f)VunA@GXotV2M zb9*tjJ9FP=?f~XK%-mI(+nu?qGWTreUdh~E%w3ha4>R{|=KjXq3Cx|r+#i{{&`CX? zG-K|8%-xK+%QN>><{rr0kC=M_bDw7JTFgC=xoa`^I_BQM++&!#7IU9w?nli1kGYeX z`z>=n+NtNko&Vkc4!X{gsCOg(;r_MbevROMwc~zO<9?0c{=DY?T;hH-t=8jl75km< zfF6&NnKOzxCo|`E_InZgag4bGnA?Qcfz@~&=*rwB3+egWqoBTycMg;AMj_R!6qYfk z_5P{!895w1D(iXSEZ)N(ShtGS>)Of|-(cGuE&jd1?@ZVb)rLh zz6(abC3+rf%X(Ytt1*oAj^qXZW%}1q?@sPZj>Kj3`>~$I$H%R-Zr9LT*NHvG6w$ti z&~Kp61B=t=igEPE<0G8I@s{+p#~-Zc;e4KGj^nX5F2wK_+CLW`y)QHr*L4^ZuKVG~ z-;3HxUl00<(-%))D1EW?4WiGAzH9U?rtd6$W9X|z-y`}q(07Zzne?@w?-PBo^!=i5 zJAK~tS@3bXL*LwZecigKLD%;ZvIRMkT#bB!+=~2=>_z@a4kTw~Yu}8>eyq>HW1-q# z!xnx0_5s*?{Bf>{_mRG%+j z;RiJLRNVom<59ed-~V%%`ty28H*Yxs!|?##!RKf^T>Z_lI}XDzjKCxKd4!JhJ1MW@ z(=*CFPsx?1Wj6KxamvTgZpX>C%kCfK5hGo%b5mvE_WFL=H#ga5plmTrT36M1hjac>XSv-t zeSJPVL3X_=>;2K|+oPuX{1sYJ9&?|-lSt>^z%)%A7kJr2^Uft>M7 z4nCyUDJQ;4H%mRw7PpojE#z!B`Ky;4Jy1r4==&e_A80@P*`IUlk998X%P00{D*H36 ztM=m}`?H_@No0Rg*`GV?kIh-_$CyMJ$Np?!e=3-1Ki;uFw$+qNebxR9E2WR~d-f-r z{n^9*l&z!vSj7IkVSkd?ADeI5pEK-F2>Ww|{rSNDjOeX>xzGNT2-W^rJ<|RR$du6^ zW!^m6pF20CXGiTzr|vSwL$2|b5w^Ns_KcN>&&z!0wJ)76$&J@!;6GhIe~W29u2h!! z?c|Sd+MniSv_DCeVB82EWKRi+#WJ_f9XF&?wh0i@k!Ty>|%fZu|I9|X6d8WPiGkRBmIZ>!tk!IXFQcVSoOyKW^8xUlonC4-xFo1or1B`?Hq)dBpyVV}E9| zKh){67O+22?9U(er{xvx%L?|#ll^(X{v2k1{<1&m?2k2{ zhYzwp7ulat?9WH`XDIsEXAk?+Y=HJFhW&ZK{`6yi*04XH z*dM3-dR&>`k-OQS73|Ls_9uh=Nn?L*u|FT!pVoX{U%>u6Vt@9qKUGTVI?85$Tx%&; z`=!U%2=?bM`(tLL>*OH&)2Kez5&QF#{YhqjoPX;&y2k!2V}G8pKi}A&Iqc6*_NU5R zJ-!0jpQG%L8Lzi`vOjg$pUdpeLH5VOQ;#ddDEWi^`NIAb;paO&*`HnP&tLZE3j5QF z{VC7uo?+}yTlOc6{VB`O@!7LKH`t#(?9XNP$C97ddB^??WPjeXKe6mj?zXyKO1R4? z_Q%pwxfT0kzfzxPw_~MM%05_ZwQ_Ux!%O%QKcUMS_4`K1Ll}p~YgKQJW3b11)$frl z)+xK-SbU4`(T?Lr;iU~a&d;FhzH2pIUr)$0$u7M9?O?3FtJDwJtA8!)w!F@o&h_$_ zkIQ(DyHCGgQC;^dyJ&y!l8=#{cpcn`pBu=->#nbSeAcl(lKL2~8)w#sa9lZF$ND|d zoOkglI`aCj-czmDCilZmTtB8My5Cc90ebU#_YZj}IS9RZyqNaZ=SyFVv`rbj`%>v=UK}0KFZJ7`;+oW ze1nTWtNsSN@jhkTFV#Kn>GM%M_U8T7e%#0NO^S&=|JEuXC*m$l!D0oqo_?XI;eY>{ zCCIq)x}NG=$>a)h4DS=V^L(937$n1Ly_`uMu?`1-=*Wfkx1mhk+RyP5i||9iY}ou}a=p1<69{%XO# zWHr%sIFfAMRCyA)40!>$8hJOlDLIwwPA+M!{SG0!khhcDllPNHlW&m2$sfrvWV2?P z?=rat+2p^EFS!gkkZetk!RgeEoOQnD)FY^GAb%wvBIlz&kn1Hqj~;K!$zRDw$o5=E zh4QLzAf9F2oLrv1Zsa;-53*k~J$|m^Yh3B9`WNy%@>+DOsN3~H+e*q?$*sugCscPl zDTm`v3_qp%4IF)1c>%_u`5D#S&gyS$AcVbLqz3zH}xtb_jV_%$v z2k{0P{^|L{345R)M&mQgm973VXqc}1=Y-wR52NuS<_T7RC5$Pp=fTotWChGqR{3Lj z=}LVT^>J3J_nggkdrK0GB$oso6pWS6sY{y7xvwN_tB%huG8`O8q;U%`?*eYWEMuQ*3Y#TUL##2q#N$X zf@@W8hGVhgI@O2cR*b_xXt`c}Jfv`@DsWOs=f{nWAQ1fkHZu+nX0-S z*2GYZ#RSYXP5t9B7H?v%AgvF@P$A6W8`*5gKKA1aNMG58yg zj#7QsXgS_TT91+E@CANG1OGp*FnZYO`trvZ^f;;enSd^*ln0|}Rb7XbF@2zJ*Dy#H z#G2Rydtxv2!YPVgpudqR^6(KY=tQX{an^# zti=CAxr5fB`g|LJjti8RlLKcf2U3rmrF<4Mum*ig@EpFKul{s$^Lfex=E#?GWir_= zOt}FXvAzH|<3H@p`R3waZqM|Po^QO-FG~9ojN$jJ{`dCUkcp-P^m;u4Hx5)T?IG6= zmT}Y@Q$I<);!v#z@7Dhl3B$7_ZC((4D`pcqetokj{VWPg?xTw3HpL+R8 zzaTviG-Q1x>%&+NW!-PHo@d_jb0G)$xsbcm{hR9NLtLC?CiUgi2T{+aevtZf>Xut{ z{u|UcP_IM%GxgKd-KkqMM<#VY>Mqm^@^dSTsSl!Fo%%8A)2X+op5>zVO^KcKyjks% zo}coxR6V+j>V+<=?%rJWH}v11s{P$IT^g3?eMCpjbDREv&N`3xH1#JZCi58mY5dBf~`_aFcev2f{Uzh%y^k1NVG5tH}ccQ-s{a@&RPX9jo z&(ZHre-Ql@*tcRqx}Oi|e?fl;{Tt|SPJbQx|Ilw(s{PzT|0()C=ld`~&wJIb&5oX?B%`EkB5&exIi890w+ zl=kfb=Uc`3R&u^=oNqGc3*mfgIo}}8XU_TTINt}(=h9l&Nv6N7H(3s%o;N_b3w2-W z<*5&+9!cGk`d;ckso$htBT(nFaFze4yHl@Dz1&2t`%`zN-huiS>bRqURp?;V8aO$VHe)e#^H0An8qkf5c zAL^f|Kd0_b{R-FL1+KTATwkxKXHXwYy+4oho;(hpQ@==k3)k^p*5`8lHsg9N#m|f8 z(SC* z^`-dmzsz;J7qhX~B=uj%JUpI$aD5k_qV-{T3U8qapNE~XIr`&5p7)<&T|QsW#9@3s zSd50=dL8VBJueXXc z*Xza(7+FeR2mObQ`MRqM-`DDa9_y`h_TwC8ebITke3j|kPRCKY{aZeAFS)~L?zx!AN62hoX2s?Fpm3Cw!iL=-#|H$+=u*voOgiMN8x<5q|arr{-66= zv|p#|Y8^huJnL0Y;rlD~&uYIX;3~{&tm~~q6Y1JarjwU8RkopCl)MjHQ4hbM?@NBf zq6x|!@OrYcd7^BJ{qV>|)ypTzS(oK)EOCY7upH;BjIS|;-|Ns|jQUL{OM|bB#3cNM z-Tk!gi#yP4tm=y}5%-N#{TX%`uRIT*O;E1pFWY0Q0A$?9f4ZCiS)WgY!J? zqIEl-ry{HI_&lb^uS>eVo)m$x_!zx1wBF!}^mr;=Qgt0hV6E%Qw=w93a@CvC?}+A@ ziu>>hmN=?)w-cJn3vZzBN!1IUlH1X*wdR?QJMbPBa@Beaf8U^BDSiKC8velXrByc= z>EpLNm$bg4uNRNUnV5JcRerjlY-G zAIG5mFTMT<#x-h7a-1Db?4VmPRM!XgrPy_!~`5s_z4S!N1sx z^IpfV=)&zp;9>lL!GH8P--j{1wXa!x9PAJ3`N9R`_`UQgn4YM8w!bLDFdaSi>i0<= zz~@+cpXwtq6jx&!7Ku@xDYnM3I3FABSD!Qf!Md@kkH$I&l$YUcYS6SN#W;=I?OS$CROZ{ zOnrTD4DQC!-df*;$IxSh>MJlBAB|Lf;V7BK-*GcprSB78qi#D|>$W~PhU0LSuktml z=BL~hN8l>lhl%(BEyn7&+USdk_#JJ=sjn9@mm)i>j3{DTMl zwVr}=0+c^t>&eO$xE-@8$|cbQ6VYm_*1O=QP~{Ee!PAuAVB;WVlj$-NPhkqq3)Z^P z4A~$=e!)xJ&emC~Tk&%h=g>NYvDZHuX~J>f7`{>vhP-$(_l! z$xfX2H0N_Gr1w>B)Aar_g?yEKpL~~`Nq$BCM*d7LQ$**>Ybr}j*Lkypr6=nHshbp4 zUvAcIIj-Ui_4gomCYLFu{`?_YuTQQ-&LCeU+dt6vi^I_EfnGP+XX^dOE^-(-3){Zc zy2}n-H{lp(t@<5&j4loJ`u7}~Hd2mmEC=#)s9BTrd9v$dxd)q0QQk3Cng_|?|9<`# z{R-*zn4z!?N9!WWEsM$#rgE{FJXB2HH=9;bSg-KXz zj_P4}6RU@*z6f7oi@B<=!*AGkp6UnDFkjgnkK{SeC0k*|-O7z{9A>rA>*gM9!$ma zw^mZ_7_0odvU1n~(49uu^)@5r}O>( zU-);M`WkJO^`fL3e~0q~KEiA)aDdNK=!8BvB1P-l$+4LGxazmb;|?m{KPFd_OCD0b zd{}@<(}u{!t*jPUfxWQ-7d-I z+}{B5JPb(E`k2e|_Eoureiwc(>ml;ZRIOW5|3My3PWh$BtHW=30sH<@{(zx>l~?0# zjKiDg{7-#*@JP1uS%W_RCK<^ax#WY~@_8N^c~Y-uJtphAiM*)in{4XmssEv#|CIVS z^8a!!v)*Z@j?Z&R$InZZwdwy!Uk%n9QQvY}=lgg@_Bt!`1nPVqQ{=9xvPh7u&w17- z>2_XSmL0B2U(OSMPUkBSFNZUCRn9YMy3ThZSeE2|4COqBl6Afx*JO9@S1{+PMgJ)3 zC#a969!1@yr5@MY(9l|WBpyT~SJm5K`UJfm>gq4o;9G1Kp!#m~7^aVZGUoSE?u$|A z=&gF>P5BMC+)_4hyKWe~OwZRhu=H}}j_85m_!L7{tFO`unQNs?zAc&#_YDYzI<;B_=iP`^ETU^w2vOtkY?zYp%g59kn}_3?NJ zFX3mbH&J~P@dD_D`g%YMEWS?Jx`>`9ov;@gOjYlT6R@b6 z>Vt4SIu%pBJx1UgtZJ_Hkr;$=Xj)wB9vFk4(5Zyh!|)!umQ+0ek7E@J)kDzKQ_sI6 zF%)YKQ+))k!d;k#CSK}mh@J2oZt~Xp4|E@{>{e1g*SZH2ak_=-%kVlHELC^LAUuPH zQd)10Gw~MMme%?dOvXxORG)-bv0_=({qZ7}DX01vJdc*;RrkSjcn{yBy_Nb_<8I7G z7i+D*#!?lOC*U|~fIX^mAQTD+-n1=RMwY~^XV>TKt>g$eu zaRQdRqfyLd{^sEI0=vAKdi;quNPoUwd#id{VPyiR>rGnVyAj*e1wH+sBVpJ_!57kT}}1% z!}(abmg)`A6L;Vr>|R@a-nbJpF}JZbZyyo5ioT6e8C zMIT&`X=u?yeRkLf*WyF0&{KW&a3UVUOPJSPeU3ODH{nNY+e>|u@HVCxSI)V=jwW(9 zRw$qxh#PS?9>WBDhUxbDeDWQuI4F0=8MqHK(7cZNI^bM9k4BDKcgAUW0)L{%CcRI5 zh)*^v$8Fa84C^F01J~glTyt6L^{&XhSEbE0xiUrexFIjylzDE+X}9HSyn%o5(_O9i zrx9M9+UjltqU+R3D z>8s_h^S!69d>x%{5q$;b>U_)S>%Kv^8$w_3Osz*&XD(lvzDj+jHFUm*^!=hQkiJH% z)i;v9Iw3k=7dxHj8hwlDJ40VP`i9c?l)f$W-Js8nJ`475B>lFvb^bRTw`06=G{+BL zr@8KNp4Im3Gv|B7d4~JxINLSq?_E=U#-X|&6>DgHGkrtoTS{LG`ufxNfWCF~U7^n~ zOXstwsq?KGD|X z2R>W}>$whEz0!3RN1tne=F7KH^Eo+czE$*@&(r-`Lth{I=F<0_zVY<^r0*DgujwoP zTDKcc-=-EiZ`>+rIZ<=mbT|LcrmA=pP^`Ni#CY`SpeO9e>d#%^V-Smy7ZykM( z^!1_dJbfYb9iY#hzNz%RrEfQV59oVAU!e%y?$pV;A5AuEzR^y)A8xz!{%9v&z<+4U z&&S3!((9Yz{Qebt9DyMid|t2L?_tGwLkvY=(~56USo`MqX0?FYJ({+y{qTR!&EI{(pQZhGQ~Xhw0~C z0?=u$vKyM_((CENWRGV0JpI2#Y*OKiVeeK8Mpy(Z!}to2BBCtQPZ-L&tmy31iW z4omk?Jr;kWOHbABVr6$_5A?wjy;Lua7x5F?_tyGqyo>gIRG)zj`YKPr)A+NW>V>gh zf8{phNw^d5VQ@)(-TouywNUPgv+*qc!2y=)JB^odZYkBfm6m~c2Wym3Jsz|0JLV~? zb!S|O7jaZMtxrPl^2+0I4=%7$eX+G%jv*D47vUw`QBn0>m83;w*%kZZCQL({D(c&Y zO{*%e!VPF;qk0|ehzrrgR_m3pDNe@yco`pI>1sO820Nh-j<2rue0H)FHpHj+3X9ZG zUoEU#Q#ldu;V;};OY3cG%awQsM>?qf3meo?9)d;ryS3@&eE%g_KetnpzXut2PR~oX z{q;O%d0zP^Ir6HW?{X(gGjzwb7+gm`fAtiL@%Q4*9aWFTQ|Rubdaio16}cad#uWbE zj-!kE>a>tO$+?;2(jt}uM+Hib*ba}1&8;i&B0&aY-_50*AZ@kyANOBYet~7KDEGnzcox5*-BtCa z2b=2s{|xED_W@6%={~*BERB_MI>xNi>yG^EWp7-JE+h5-1eakM{+>Z3|Box*Abnk; z1qR`9{D#@X)Hl{creTS}%3X0KCSnhct2IP@3-L8p8LIkVT#xs$kf+uMVg%mDN}PWb zmh@78eH?)Uy;Tn#F0bHUbg8R-UWKpFwVvvRD1ATM2QT9F?W$)j(&O80v1}7AXW$-u zjaftV@oFoE=%E7txJn{l7r*8S@0`#5*-UOnaFPO>wGVLTe@Yuy~HVnd9@hz9D5#}s^lpKwS+_04J` z50KZ9?Pu%t!eV@e)#j)kUQ~~hOl)GR?2j%*^tx*qmgDyYyB*Wd!^L3p6UrYj=BM_l zz%N-HTj5@OjRC*a_XivOQJ#cr@D?WL)$?!QU-hj**IcSU%vSxkL3uuPdyX^Ct$HKe zjBQwdj&b*Nze?YiiCE!*axfY_RBrS{29f7IQVw}6@8ch|PFLL>7vT~7fYmb8w+2%& zE=6B&vQ3qH@hVojq59UFd|hgtbHASZlr3ttV@L{9fsO;al{5t-K8%W2rZ) z_rws~kK;LCG=>N2{DD(spQ+qlE`43#Di+DD+y#AbH*PAZ_40Y-?|gDC`6?F6ueyQ$ zrQ~?DGuHa+0y2thLH{LmyQQCVkHuH`8O``Pd%xT2JBZ)0+#S^&&>6elRec{8OH&?> zrS2&=!g07Bcih+d6P);f^Pz$NS80j%C-r_Q9Os@=-iRrMl&cq(3vson@(Xk^Q(l8E zd-Qq1kW@71I`cxm%gWLC63wru-VK*v42E;Q?-N1GqH0m<$q{gTe%pP z!k)MUQ?RJL`a9!7yn+QCwC+g1FYdxOSdISSxE)_$70%Nh7h)_X<1KuGrR(VS@1mWf z@-$q7WqBRu$M4^Kj{fuYI(9zxS)x1y=b+hA)k~o@hTv2DgQ3gRzY(`#8h*rr%hl(M zop1(j#C$8%_ZQu!Dlcd5=j2rKck&1F`f2Llw1C?SlI<4C4Dv_vKXUO!S}!wQ)+aY0 z_a&bpKO;8|R{zk&ayU7h{ES>QTP}X>eH|_^`7LO-lueHR8$pG^)SFC#A|ZzQiL?;$sNrhR<= zQuZbry;2@ZE<_$j?)zNpWvJ(Vtvs9c+SFH*o0AWa`;$+Ty~$U}0p!QzFmeWY9@&XG z9+TUWKavNLjhWAr{0<9KUx^c_mm^;yk0akFhmt>$*OFcDYae=G2wFT;{m=uMh-IlC z$3l;^ULD(FiN~t%#k*YpKe6;ptuMnfn1r`59kbAIOUId_HP*pa=#Has1zx?avo%YdJ86Q|;KG=8sjJ8X!pu)qhck08h33oOdI z4GzMQ7=Q_wfnTsvmd;-V8(E4TaizaJ;_F#FN)lfyzrCeSdEsSl{cf$7v+U` z5dWg_SFJb0jyN9g;!}K%-!a!W9dCwJaWaNtIBvk5nCH8W?}HQYG~U4cKh)=i0XQ4a z;Z?kbxA7+q{;Bi)!6Ltu9k44t!%z4d`~Ft{AT0P-c@cRtHvXe}C+vov_!AvD{sulr zuYWrJ0{Ueu|G~}t{`9Qo`nr49-uim2Nq7CfgyrbaLwP?MTBzTL{wnmvU?=*nVpdlj zzqXq^fN}T_+i?6`ypCl!k1s~y2XyVJ^A2#A9R}!rxKvgiMfN1mB?pkB$@9tQ$Pwgw z)kQDmp;A)cs$r*6LiJJ_y@c6(QzB`1pYzGzFK!cN9=;bF$}k1EWSpQemYNaw847V z4Ts_dT!x!55p(zFd>DaMc$}=~@vsB?4O0IHEa;(J0{fr`4jHWVI@lchpa**6K1{>! zIB|&1lZgI9l|%6|zQK=p&QpDPu?0@Y*%*e2coR*A>G;-Yk8N-ejzWLDI9$igC9lS7 zXzHc)_Sg{vZ~=btR^J-(HcX-Z9DibQZg&g@{x=8C#{^uBTk!~9#Vq`d79%uI3_o{P zEVq7cqalXj9sGv{^Qf;W*2=5g6Nlh2Ouz^E)Hg7{48&JxYpnWkOvVBxs@tJAE-R>d zYys&;j>h9yu#nbEViTN%2QdrF7gm2~48pzm2y+)v-#Wa7C5o!v8kgX4v@WOhf8?X4 z%GdA();ClA2>KRNb~cy$@FZ3%uDTP>#^08zH!LMjx<39w?pB3(sTTL0VtrA@|}>3>~8S8hn9{LsgH)VR#Y?cxpYI-+vm3!Ti6BFihe1 zH$Frc{%%SH?#E=z#Iv6IzRVYl^HTO4E-gpM?if5$*?NoiZ9MM6CRT_;rz6UiN99p;I;Ol8YaM4DPvIT(KcV$4n2I;>9S%OJz8QEE z51&%q{j|J^EzT%kLH9W2e&~GzBm@=<5w(kPW{8N{dwgE7i6(SX@L%S4O1}_ zv!3ebt2#fEb8s6PJy-n*rtotkPEGZFmH~JHm~8>6XnRq`uUK&=`#0I*_C|%iSj=30dnCC)jy#F z^(-g7pY2&+c5fuj8%R6yQ*wUtiH2H_d9T+c6+TE0Z1+*Q@n>1{tDKIhSm~SUM=%4c zeOJ9MX8cgzO#XsRsn5o1_ySE|>gQT!<2f{WrTP$z!({w`Ca={u2Cra^H>xkdWmw{^ z>P0f;PAo*-9BW`h?2BRVbX+F7yjPxz30UQW>R!L4-yr?`&n-0bP#%dF@jZ4P%+Cwq zOmF2BvIn{I5Y;V)%3jn5;zV47k1%Mw`rY_FNxg9#F2L{(`Z~x~ynz87RnJ#X;3 zxft`TP_DUFULxmRsazR%VChw=Tj5+ZS*`jMytziX73U4_uE*VbY}P~h0M>9<_U|cM zl7k26=a@3_8|E9RdbWq0PtL@fgE$Va(3gQ9u_S;0AjVif*Ik6aBkzR4To?DSoFc*VTD<$H^3SA3;o9HBu|Z$`|E;bQw7w9F z`74jYqi7VMdSBd*S=er()>qQ;>A7afQ)jjYgzQOO9XS({#u_8KPJ6wrda2v*A*7v(W*F;d_4Di_F$y1HxpP_{f$OnVyy}0j>jmX@ z333>&$22UFsP(Qm0axL)i&{U76R#*2za+bm$B}KwDda;*>idElS-*=v@JWjL?p>9~ z$tRPQmy$PJQ!bDy3t?*%P`Y-IImM z?zj`}G3&WKou-y{nV#}l#-oha(RX>cERw{;lm)1@9 z$g^m=SGhcPM4x@CPsS9i9HV*=zQG6kRkx3oNtlZ7@Cz0>puQUDh@G%67CNZDDOlr> zviV_Yc|?xJ*+-R|o{~#&CFVV?y44x!f={tdoa%FN9cG~$uTu`;N37mYuU{JA4qV$` z^$%F*|7g1JxSrp)jpHF@OZM(7D;Xt)tn5vh*_n}1D6+FR6dd#_yFId;Z)_$xCm3Q{xs!t(Qmry2Uyrs^)Q^~rFt*^ zLW3FVf5EOZRk!w*{+Na1XQ@AIwmgDnb5t*zFPBo6n5#N=o@`7Wgx}C>fpRw=>5gL- zs!rah*S#$RWE5s&l}+le;qQ@L{P%ZB25NpV@9(~$g{Q`kLO<*{L;WINvL_DxC;3|} zHdEtDddp?hwW;gPR)06O&r99@?_;rK)h%%HE7jqcid|CFUx=qMcZZ&TdhV1_!7>*I zgs7f}PqFVV#_yJYaY~r#Q&?lKYIi(<)%U5t9&gicNgakx`!%jFX5jn->c2*_gQ_Dj z4owfK-vB+(3twTapg?=Bx9ShV`ZFNe2FYze$Kdm|#-Os4@3DJ0?UD6EW z(0sT0O|cs;!@gn4!|=x*)!p~X@O|^-2GbPzF^n4 zssr(7n(7|u^1wTJ9`B(+0>3YV;aKpV`or$at@syfKTzKWTPLb^#;}K~e`DYy)#*6) zx$5zcWgf11qPoH}>5H+LpLuif7n&t$d;_#c;}`0;L|@$eQvEH-vez5g`mOAaW7AaE zOP3wr$%UAPUK#4|#IILG)MI+Jc)&J)qnIs&iW*C zKg*OaGW4q)_f3BPE@%IgEq}>B7?!6x=a2l0P5-KXZJ?i9X`D~K$S=DTkj}UdzhenQ z<%u{Qvv8!5^1a6Ldm%ZYh&+$Cv3N1{O>tUr)i+8=A0Hl%@!TTSU-8>w)n}K;1gy^M z?#38`KJE1V$bGabt;ZvO{82`=ZCM$JnP^&0{px5{UiBX=T0wOM>|RmzYCMi*E2&=t zk74u5>R(3ls;ZCS+iI$PtII8B@&Y#ePxT?p#{Mc7~dj_RRx z<$l~@p*j<9*Hc~5QWmH$9nrdh>OGi)ztNhO=M3TjE)!d zIbGy+-QHbH^mAY_SfrHdvRD;8aVK6vgB<<-r3cPJv%&iQE}ObtuEwpw&DisU`em>- zj=`lEh(|C6^MBO*nYaWWe^UR@7rE)DobX3(ETGpnpYaRh-!c9kgQgNv3dHv?kay|J#2!lu?zZQ5`I9_znZ@ubMXsKGvIXvUc);1 z)c3>{xF74}SH2S0VX*@0cfwJ)2=Ak(p~kJi06c=01(mPG^_YXbjg)W4NKC*NIMi6< z&f_I)%l8{|a5Fky)APbPw79N%94^N)H`KRB&zq`^ZpnBodsp>O>c+QK`||(HW}x*O z{e9G~*cV;!EMCQU^nI&&MX)VSz%{rIPh$Tx&CA15>8g_->Gsm%u{?uWSnrAYX8b=R zR_Gg{$Jt;s2-o*k1MwveJD`4UC#}=HvvkK@*rAL1X}G4VYU^&&4J&qMeh-uhR zxD4;$fL*QJbjiU5EWJ@tUpVd7te}32B_j&q9KFFuXzg`9803-RxSY{NF9g4|; zCFNNY8CP2NEGu0q$fp%$b`|OQpBz#{y4I3cYs+1AtgnM*z8(96=|Bkv1;>hh|@-Js-YherQjE+aNuTvOTc*WLw`3W6MtZlnd+DDmQ`>hM&hVh%CDl~Y}H3F z1EIDwN!r~&chD%)t`et*s6j0?&yh{?ElbnFNF%QRmR(=t! zzNlV~6~3z8gdzA8=X_IM<-2siB&`2K{q1-ROaD}VI^IW{U+TBUUbq&6a32=>t?|?F zHvX5V{(1D6q5EO}nX(cN!OwHl52J3t@6#K2t6v2z&<2O#D4c-%F%I+1(mJKk9No|z z*Wh*hfQ4pjes6Tb>F9&Y@h+xe9`@oq-S8^n|QQxSm3`NJ~dcE-+m#Kfx!*v>e2&b=CJ;GNu^plP_4L4#mKE|I|#b5JU;}G=506dCu zn1zKmXnt*U`d4pM{}Q?csLsP}n^f=GEFWPe{>9Q;l-I!)*c(UVOuUIzw`$%Lj6u_F z>W{@}G!9h%InLUyx?GSvhS%^ursDn`8g~mVcdA~Fsn{-9{SZ8iB~GfJMqM&Qbse0D z5%>w4?$Wq89J*U|=TPQ{$p!cb4fd$-wO3x zjiO{DJbGNUHRm}P2b@xWH5NRrIueJRQN09x&Z<6+jn1ilic8O{K8)cps$b%uSk;CX zWCT9OmlxG9b4jkl=9g8!##UEUn-$j2_2>T9`(U>my{3i<$rObs86r6V|J)>nqc+xSwhp z?2Ybt7!CY2t_r%LA8x=n?7l(c=ipv^gehpWQR6D$C9D*nz6(yr#aMfj^19dzGqBWV zZ1+zMSsk|>f1Hm0Y_qdeM^J? z|7X`guE1FQj>$oq-)M)Nk5hK4ZXYb2a0CY9ORN^6aox~rm+HT0v0L?4{DO9&>U&`n zCSypLa*sW78y4BCdJKl*8?3oc`Dk2^Ui;N=94?3AZLE7h{qeXT)3MG$<$bZtA=L@^ z3nv~{{~CVAE)nYY#<_SC+eRv1gdu2hME&Nt95b=vQRUR-w8*ARwyxQ0Z?Jy9tF!_ewXScp7$Kyr}ZmQ2A5-|ylo2lO# zgSYE_&`&JCOSRQ>JwL9-YiQ`Hz73ATaEwD^FO6%9?&yOXFchQl1^&iHGqlbqOvcaX zI8*s(Ea9zsKc2%pEI&)RB~HYpcm$I$8;j4@yvEoK7vMomz;{?}j^>%;cyySnekRtO zr@AW+!dd8tSMe6MnXh>hF&v{8sDBGTU{xRWhvN8!s^{TuypGveagoL~!x`v}C-F9Z z$MTCcZy*lBt#}9@VBIAeKNkbgWrS{*XYe)-aZ!IMZo==FJ5qUW5&b?+-=cB|*5m)L zutQfgX{hI8b8Ly@aSm?5aQuLVjWoYI4#%mu3WG3yvG$pa@3GJl^(`=Xuiod!Vmv0J z!#?Gsa0N!-L(Ib}`!&7|PQf6&jSltoxG@Y}aVjQYI+o!7VYWpl^u*0*vQx*Og?BI+ z&4ZOY<7Rw_JwlY9z(u=MTke+IaagG8K(r21ZL~*bq07IY4|3D_`q=7o-sBa!-Ar34 zw_-Ay2B~kiO7^1eM?Di4p)VF*t?^}WEUv|qcm?mF%^J;fzk1==?-(ts&8s8cBphtlE;aF~y z>gqTS^KDjt4|d<8ItcBzsxG-r4#vay9#;n{Z@gVj#CQz0(e0z#Pu-48F6sL!tLge& zY8&qN_yh7SXt2I158D(pZm2 z#)V`(Jci$}OJU_b(V>WHhcrEI1>$*pj(@O0y2kaxg?JkazEkeY_h1=Vu%W&m>wuoP z2_vytBaJiYqt|`?a4Md}`{?7X$3e?k(gs^$GQPnLvo-DmI?Yi%7GGik9&ZO@0$L5x z@7M0dyO@P_hbr%ni}5+y4O8A36S2u~^j}-Ov>S&}zKK4Z+R09sl6M2^zN%&!C5!`o}N@TTfKq8NG22dQ4Kj2BYyLreLwj z8dn?ZqBkDH``BiR#vjIA?y5_9$ZYICRdpaf#II;FO}Q6t#*6q23ryFzdAJ#4u(_vl zPYlE$e2$g9G_E$bz`i&R=i_C}KST4p(GR0B8S~B5I7@UuAN0jw9N?|-0eBE^qtz_s z#b(R;*aJ7>bF4W><0j!Hd_7nFM)Ra64xFz#0FUDpOvLsJG;RWh;7A|!>o1hUFddgK zQvV8$S*&`>N@>dDOL@G2jaDn)iWl(_zFng{bgjIDbJnRogQn|M*Fbw*gV(U6uf`3; zotTE7{gfwHmo3cXOx%D+@D@6nYh0n)vPwPqpuS9KBv&?;+iJ>jma?+7yiiN7WnMeR z7iZn!t)=-)@k$adwjd^t#@B2>A#~(N!zyCDevWEP~yl;4( z`Im4y>jYvtcDB>}9=H^5W3q#OE~IN)>4lZsskX=c7~fF)v~45@Vjfyrsh@~jtyKr7 z>-pXAo%F$*n2y#N%AIg)CgX4Fb=NC2zNOj;*WhN1xU2k1yeyO;&9NDF$DTL}gV3dh z-k*8mIZVE;^;+MM2^e`)uU~HABV2e){S@jh)Lys@Jt8#j9=<@6NY=$!tn-k%-w|@0 zOgoa~G*(KwzyF2|jiyI;ST z7h6sHzm2(vRsY5wTn=N=r5Haqf=O7jxcXhtq>^rb4RHiktgL=5+*D1q4RsrQkAJHu zH>xT<89#}7BK0&}je)qJg!Wafr0kBpN~sS1t=IWKv1*>`W;h<}{ZW532K`l?OdUlX zjX4;}?aMSumuoYehvm7>SQNJ;!<3T zNAMI@Y^w3gF&yup%R$|KlJEmoKcs#wT#CLJjD3!1T;;>EWQ44X&G0GaMJlhrya_n$ zsQNztAfe{rar#)VFlY3SHbm(PB@iUsHx{Nxwzt4%)$mP${%63QK}n`kvFIZQ18G;ScChCOKpAc z7K17H4)fPh-VWE|M(kyw{5Q6(r@9v&!hDwMcf?cZ;HJxID_+NE_!YmSEw?YnfAase z@5S$E&F#zJlfGXlhGno8HpW<9$0pzlOh==8+Gh>yj-EIJ{n6(-*AIS1(;MoyK&!d> zy{OTz)HnE}pSO#**7Lq^dHtM&Z%66YSp9JoRM+Sv{phcy-e>MF^&9r`v zY8v-~esB8i=>MVbMSm>)|9WU%ApO! z17#~*h^E`sUxNjLR39U6M1Mb;k$dA}JcIpqX#Nl33;}F%h zI2!%%27bd@yEMKpF2qdiwOe`3P`Lp!(Kbx|5txXfd(?l6W%jDBjE(RVK0)h!8aD@f z?N>bz593>$8?L<70XYxvVzGnj_rM^0hLsN~pN>Iz2;X2H7C)@<2{<`|lV9C=oKhu3(sM;1?(ab=h`;gLNzF4kCCzaJx}))Fow&T%pZ$>*pc-TaUSc|VjWxTigR&2?!-7u!LMj^TgUgn z`8e>d`k&&YDVK*e`rul;gRk%lj!e+}5WIjv_tgJ^w)a){#Id*(1MnP{eW3Ae(Fv#G zN({mz+>)qyk$4#mAF3aN->}gm^@H&~ree9r%4_2*^n0TI8O*{XPt_m%OfEuyJdHPT z^K*?GlO)$+432-HeyNvoDDK2xSUOpG6>N+y@AQ7=H}=g?9feP@RHpi7cnLG{7naD< zxSlu?Lofe)}Wi)%Hz7@8@K&p)4|9htXFuaQ;o~xgOghN58&Kas#8*=cdD%OTDoGhH>!8M zl}*xQDw?OO9*s@jsW#4#!_hQTbssd(Qk{-%vQ@vqTJKeV#WOjoO>^Z*{Eihqs2_lZ zKdKJFS9tW3`hH(zzHjmhp8c-6!Vl?!J$|b0@LN8`nR%*DU=GIqQNM$J+Y8%T39YDD(e@M`HRbv zxDpLZs6P}fN~%t_*87xpjpcSUd8_xauDBLWit7E#YCMLQ@IF2&rg6=R%TxFTdz4V$ zt)%qD_gK$FeS0ijLA59KAxy+P{838d!cFCn(sCls!PS_J1IuXKSgc!4_2u&NF=k;4 z_T!2(@fiNWZ51{DE}9tVa-M}d@IDU8r+iF7xt{t2zQ@M-mCwM__y_M7P`=MlR}=5b!T+P<>=T_dA?S13+}@~t<^8mMxMb*4yxy3A~tNR zeh%(zr@D80`4=NPsD6S4I;yUQ4?C%z)iOpcgK|ZXufIx{LX{GBuGpVaG(ey3yv zCSeBtM90$_=Yn(2sNQ~7KENmV4%?km-Uq9mSDk>tF{)3;%GVcUm5VYP&D!bvW*^*- z<=U$sh}me>LH$H^{XUpkRJGMbxe*`XYplTE&ufA`aU8k~(&OuU zyggX;6Ff0Q^<@kis=D|v={a1QmDBmnMT7FH-S7dnuAqJt)~~2K6f0Fy?Tdvft6q$; z-}Jt=?ss_yee-D_#`$G??2B>Ou7L7GcniN^?Lx{M8Oq0KRZ#V8T#BLi01b^a&H~FD ztFDQSaR^4EH{QpR?4uMWx77W-O)Gf`&0DMX@YLn>80UDY4*q8)Jw6>v)BP`gr)r1R z`gwpJ*bm(>xVUmN=6gKR?;~Hs-x!&rpC>TPmCey(mVPeFB~L$(<#AEJho0O>KTl@n zrk`I`~mrO@}cCn$SX|L`o&&qe%4*B|2$5{ewOYn zb-WR+21?+ne)nJIk&<;e`Kw=YwUFwy_haDe02W&H~ATK_l4sbsBn4{*Fdj%Phe zeOLC|g5z0w>v(55?hwx7Gsl0;@dG)2q02g+C&#(QdeO|YB;QP)LH>liEBSHqLX&j- zZ{&5UConFNapjYBIkdc@<3}~t`Ba*$`CrMqkzXXYBsYAe`H#sRZ8ZNBxj(tZRjnUF zUSx{aPbGIGzfNvVUL-~9A0fABqV@gBCz78fZ$chKK7;%TxfA(0@(tuwu4#W8$qn4K zzlY@BG~N&{+!&MycYS~ z1YN&>TXXxIrR%p#w&p)1AJj&94*4$f;`cP)m)v5u=072iCU5Sb`S-{dz1RBJ$h(lg zA@?IsA|Fovi+nHnmHRq=r?y%@b&ig|K1b_6BOglsgFK8p@PX!6X{Y(8=4$@fT+P2v z-jDnPc@VjIqUMK^x1Fc?+2p6l?b~bpN92n?XnnVbnx9F&V!q}#`KWv!xkU%fze+xh z{0I4L^70Eb{}OrAM_T_Rd4KYJpS1o=^6%sU^^wII- z$vcr>BOgO<@>$2JnT~&%d?b1CZ(4sLdH$|i zeu)1(x&OR^zan2t{*64Gyw6WvKF%+-{>2_Tf3M}*U)5jAy~$I^1ISyEN0L|Ssrh%v zy~uBpHz7|WUr(Mu-h%u+`6lwm z5#+|db^b%iuaeIq|BrkD`8)ERRE$cy&U<#U029C-?P5Aysgwg0{3GhgZaUXgDj zZ<(k4rIPpTt@VvoY5qR)pX6i6tCGi%7fjLm?&NjJZ<5y{Ur*kJJcGO~`2q4VK6xwh-{f1!zmtz5|8KP}pL68JQg!|_ z$eWQTkk=;nCGSI?Np43TOg@VI7x`lHZ1M>5E`N3T>?SYnr1Og-A5VUXya9O*`3iEQ z*V?}adE+%Yzgy%($uE+xBd=hf_wVPZ8?Dv68ECUk^<7-eIv-f4JM*8@Z`()v-$K8} z8|`a3{TK8n(vPQKC!h9lgnqfcT4yr-H}u=n-%8)~E$2=DDt%}A(e#Vu*ZOPdr_ygm z-z81!?Cq!H{-*zm^Bzlnko+zEd522 z0L?FCsC94PP{sw3=P#&yD*XuhW#})Xf02Go`d{f=4%Bf1*iQg?%?#~l5cwtYOXP>i zQ^|Y!>3n(`X+MUUn%~@6>+dGtO+JY{guJM~<`*^A{DxVYKYEbn-yy$4-jRGZ`D^mm zn|l=O8$eqA^8^a zE#wQ|YyD_)^8l@HRz&M>A-_XzPu`R~p1j~t9e*0RJ9!rQf8>7TtI0d%==gKUKajs6 z_aF}=ue?e7D_K#k78V=6f^m z1LIQ|w~#!VybE1Xvye_Vgx$1Ym-!|`|(e__!R z8s~u*u+>TR1F;PM-+k}{eSg#=QSN*woAW)AL6*Kh3dW3V)rKogw5Wo zwz{JGV-Oa+s@kKB&dYI!ZkLlA==wFerSDBQ;2C^^OKvLP{_W1jgV4%);N;zoo{H#>be6 zV_PYA#aHN&s_zZ+ak+ft@_5Mkn=RD$e8Itdub5w#b1Z*{Ok!R(^TL_eZGq->+pc-tmS}vp<{!bUt!&M>c{hU?jB?C6y0wfY;}8fFxUOk%3fAY`mxuC9JI&9msd>*@$SKTU#kiu3tJ75Di!#1WEsg)hy5(D{zRLX3%p1-4zO0|@ zug3|qBhqn^e(ocg>uu5o^`DbJA)l~Fx1)LFpUBh5XOgFr&p4`e`YhJ^DdZl*^>?OM z;qeiwUr=AAb~vZUzYz4irn>rhc^?19sBV8jcER?HUyTNz^?Sr4aRuJOU0;;nGuHhg zlG^;Y`e*Xw@jo)+uiS5-@y{6-&A5jc$@q8-XWmT=W&UN{kx%RG#*T)n$Fr~X=vqkq zwuPl{HyMt9dZ>Oyokm@$r}~b+biKr2zWlm|X$!ED^dac<)*j&}gtx6|>Pb&-qk6He`_{zlw~&A8m0&~csa$M?3%s@tSN zp!|tTwlfYLf>f`==eTx<`sH`ZN7$NmeeplmosQ*McQA%v4whs6VR!&tIbJwsV>6Ds z5>@ z9!y;%M)OyPNQdy6yX6Rc_``(8q@G2%^I{v~EmYU~)&j0GB zdK~JHV{key!T{Wd_wXIMJk~ygF#^xy9Zbd_X!=C+EU^O)!z=h0?Vf7D}74l&QZSS ztd19dNyq7stm9PTI31tra?LKQ_j}>IAH6hH^Rl?zRO5CMze?*IWB-Bdemu56J_Wz(yy6;YA4welC&#bP@n3TM3mpGA$DhOTS91J09RDT9 z-^cO&Iqq}p%JHjn{3MP)_&k?eXGi=3j+e~w!a3eyj<=lS6rQBx?%{au94~<5C2_pd9B(tnbLMz|I9|gq zx}IE;bUpR{DSxfi?I-7;Y{BiQ9pk4negfkQ^SD&_kj8gqd@sh&V!RjQOESJJ<9joH z665_Dzk%`pG2VvpBN<=bRr}Af)#YvWPM=2<;c~F$JZ%{Fn{iDTSDSGi8P|t#CAnOk z7}t?;&Wx+TK9gtb`l~~|9GkE|4-Dq=jOX(FOl`$^y`k^K`F$#@&t*1y==S%6`@zR) zs#B)R{ho63d}$LQYrfF?25+qTQuTT)m8|+!sj1t#8A8Kj!yfemL{XGrj`jdoVtn@nac(iScI3wC*CDx?J^F z+`mG#+e&!}6R^T6_3vRvuJ5{B9)oZuw_B6hI-eQXaE|IYe2R1Ds^58@ynzq!C6?uS zt%)h6NVQ?YcUJ4eL$8c~F)o1Y;-YBa6PqZ@9?R-6M!#6n5Sh)vY!Wo6sk1wP3 zths--!d3VH)383b?`CL^{m>^ym-|NCgD27V-{S`!#T%IXFSpYB?O(Wwzq{&FQTOj> zIK7hU6&QwlF&eMnBm9KHdv$%}-zT4A2DajM+bmppZ#3inun7I|GTz5td-S+)03BNC zd2t}_#7eEz_rQ2dyutwWY{=tN{8L@Ojh{(JjKZ_nnb(& zQ?%xBa{x}n0~n3hubG$(tzi;qBs#RVhNt_hT+m4v;HKAF|2!6dqq+{($G>R%R(WrX&D7&X8D76F z!fNP(6LAS1!RuHxTkH5Z$`|P4MBht~d)eqZLv<8h!Tb0Ejc00HI`vm9OusZ%!!B4C zn_@TYhof)|x?^E)9nThv&r;nS9dI6=!&m6b>zadj25(~UI6V&hLKj|FPsGMkl+U2{ zN9XbCFT|D;R8PbHZmPH7ZVbZ|Ov7RmHNGQu!;+KKzljEuRXgEiOu}@`z&h-|DO&Nq zdpU-n5wGj3-~&qTy%%3%{#WX^KqvG>Uu>PKaVM!irKqk!e=sh` z+OL&2#YB9BCEh6iL2W|a6iwpv`e-69!ZY|8i^OZ3M~GfG-@_FAjLml`Z-G9T>#F;A zkMYtCucJW|J#J1$FO0`@%*Btk8gGal(H$f4DZa&T*v3xtgFowb^bL)9Ke!h6<3n8j zRpWzC>-ps%p2l1F1|uiwep-C8EQ?*x5koKrZ(<^TKYiH6TK zz7uXiujlF?z_-{sN&PN(4rANs@~q(?Bd`~j!(!Zpf3a3OjrZ{9aURERP+e!E%*2QQ z)oEzNTkj@{DF;lo#lqB`FuY=pXdAY`TYj^Md)v% zA4vZ`nv%D`U5vYh?-Z|o%VLb1%>+-$N3ADoz z=!R#}gU`!vp}CzN9}=m{Q`bT(?1_VMK3>7QShcCvbK&!gGx!pl@%iUYoWbX>uQ40z z@p)N&obd1SGd{P=z_W$*Io_ipGQFrAT1<|`)A$gN6j%Ni$Cpq&8yl8XorVALIdday zg2(X^2J*e#Lp0=jpK0icC(tTQ&wICEA|2ySRu~vra6&Qf=XLP@;$NhOI zF2Ii5zuj;zUPA-!&-u~ON4LMzcm)eARKGs{!fAZIoq`4UoZAEAF$D|ry+S#xhmPop zOK~6G!`Ju$E%-crHAbM#GVRv^`{8U{fWCMWP54~C1~x)he22wXX#LF?iYM^}CSyAG zUa5KE_yKG4cr+GwpbPJ}PGi#qz5nWp1@Ec8hwt$Rdh>I`#`iU@B9^7^i8F8>-s0yM zviP3MDpTL@CehFL?|WhTCHNk9GTM@F#2bt&&iAzmjBC&LzMJtE<30Gk_cD%UUfLJ! zqXpmhy0gwE=9OgJL;423`rLIk{W<}99qvT`7JVoBbLfAezmWa``n9rk{7v*@>D$x4 zP5&!>5Bjg@7xmMAmeS9+N&B&+A4b0%{V;SOkHgc9>-t{%v1Z&5@)^v~0` zr$2`NOZt0RKmM>jM@ir~e}lB|E{r?OxSA0f_n2`;J2b90<1!dGl5u4?UOUFEW?Vk@ z*OBick0v*+p>e+a|GF92jGy23#@xNSANlUp?I%7# zbv)OhN0R6MoBx3Mmzcj)^If8}elB_JHs!J8$>bi1njg#l9F{TvIP=Nl zSwELNncU+c$G@!gJ(e>+n)&4Mb<`qpn`99Dg++72VILz?<2 z*fd?W17>3meq#Ry{Cq+&tc3M&EE=rV^)m{$u2Fq#tt`Gy`tb7=>Da2gUbi~qT{LN^ z_d{NI6W`#FM#^)Im~Si(;~i|z&!zbCJ;-0I`d0gCft~Ose#JIv8n+bVuwuIUqwx@a z!?y2~k41mnim`YgOXJFA%L?d+F8uza2ku6*j{3dECfE|q+UfVT=3_9wZyANLyYzTk zdbezXju?!`&@@!zreZuc3R6GwiHt+5_Bsy-?1Gu(#!ofg27BXKJdc*oG|md0@e1C= zk2vDF#*e`@_ydb2DW8R>@jBYRP(BE+;w?q77Mbz7j8sDj%SV=FaWRO*mv63XUwJVLcIWUutbK& z&qp7uo~eE~btURXxD!Kg50=Z)ypDJrAL2JGovm>_@!NaV0o0$cQjYquiEGzouxV+5jTKw<%-y5yk=zYTqj9jDda|^AN zvCH(iTDj$N0!Cq>73%lHefSx>tW>@YJ?yogB^Zq1coZWS>-sy34t9FHbi(0i#drto zi9XEp!yOphSL;UNIW*w+!c4F#MmE=RWAP3;j@IuV#^9APs_n-~Ls#jArtYfWF+P^@ z$!N>G{#coLzUVey^KB=|H`Im`RNqH`H`S-H>O|E&m^TsaC#zp{inPJv?6UzHdnm8- zPaoA?sQ*k?z1vIn!P7W;hWZ`m$vEowczve&bG>CKrs0KI>YL4$&*sS1bL9}$osIqG zt6yt@?1@v^x9@xXoJ0N`X@)U)6(rtI;fsUy~J8|7+%FYIIXerr&!ZQ^;+!SM74{p zoZC$9#*xicSFxA=_!p11P~WYkT-HV&LJ#)q(N_I69pq^o*+t(|UF#|x_Umzf9{p7M z&h)R+uis7MH`9MW-=6+X`YH6g(BDhnpsSv5hT~~`ht;|%59a>?i2nEg0c7iW!VZ1# zDLUBdad`kHcToKm4X){ZTPE*Yvw5HD_gMWr-e0!oePy9{>cN|djj$eu}Z zL$Y+vkY>enIfa&z#j|vIRmjx!QRR*yL}VLe?xI}7S@E?>CzyZ*2=JtKoJ z%5K-CxuGuqs6w)ESy`gG{A(`FKk9rg7tr++T2TANd}54rKK~uiej_4eqd1?woX;fAr$RxU&v(w}E$6e0^RfN+I*aqk zYOF#(BtUb=O3=|mHTLXHR`6+YpBDh_fcP<4yV3E z9YKAC+Ma#Cqn=J(gZ;0fZce?PdMmGkTGM~Q>#@V+!|1nl(f)I({i)kBKA5^U^(AU| z>RudY1NCz1+tfR#Q>p!UUVq5*x6cCIZeL*`AJvz6-fvF*lGm9x=o|FX?b033;qKn* z?{Jiv7=KdV1HDFrQ>x2g9W*$v$BB_>wol_)U>h_DSKpQT2_|99{mQ-Z2ENBC%wNE9 z?%{=iBP)bE=px8pM`$8qPNL7u*U8;J`r z2p9iR?uXm{s%~09--E|eyHmF@P=5A22bK29`3{R=Tv1@xju^QQxonI%+=#1EkLond>55#!0Jm{l9I&+0wyTkB^ZD z_5W#F9hDB}WaLHpnSFV(uQBYaubuXBnSC`0QT>{IePCZB+1D%f?_|M^>?$cBkZd# zm(y=}NjU1+ZC9$vZC$x`YTz_%w%OOj*XM-QQ9XpQDc|}g;awi{7 zewe((H06op{^Tj-?a05AA15#9qIqM#X1Q*)IEzoBubKaV`PP$kJDAG+56ll? z{(mPmZz1zL*3BI@y`G=`c|NXtT=#X~=e%F%oR|0e6zl%=Osu=>g?PR`GBK|IC96hUSUgbNSDd_h z^e3AZd5+L)bX=AzEelC ztFiuGb-bK4*1xQdMe4Y!j=$9LvpO=~ALo(rV4TO{J8>SX9*A=oQY^eaJI zWBr-Wgb&Y&I@&dfI_~z5I&Qrbb(H-l)=%?a_(Aqqztr*Y-^o!&(JWC%$?36v+ErnF zbsS9;_0(6-;oqXJ^#4U&lkSCyABwt$CkwZ#vsQ_S3#)hW+^Bnux-&J4`m=lz^{@Ff z%>HuhV?njBsr_8M7W*k@U%T!_Jk|bk=ZO8iWuI41M4W9(?05duu#tVA%^Le}X8-5D ziv2(59R6G#@i^x(&N;kc|1aA21I1&X9qjXv{WZ3)*7h^mKKiQv4|UH{Z!2|9Ro_f? z^;6FSiR1A|bT}S|pPc`4=ibA4|K^;lINy`b^;hSa_IjM#P3QNDb4!0R&g+14dNf;{ zPpTPl4iByg3uTSRG4tklylRR|{x8lJ{fouryT|h+<-T~l6Ap}dOJ>F6TYgTg+cH;N z-(EI8yYb14UvGRJuJ(G`D`{VlIqIubGMus}>e;0IE$z#- zcgPasPHHdZ??yk4f1w zY+XLiYbvw0jX33vt?!d}|%_3 zHvG@$sJ2@o{?vID?GwMJ@V4`s;k;60jC~JxUiX~WN6zb#^Lod5{o%Z7I#6H; zUd^0W^4f6@y`0w_=he=69d=&ToYx}fm8wge#~kOC@lwP?oLBN&5ifFHtDVlNoU!g-Z)UbCH7o zIj^J6>zwmC=e!C!ue;8xzVkZdyxw+R=bTp~=e5;&opN5oo!4dOmG`gsdHvjZrOg`W z(BF9_&L43%=k<^CYT>;0Ij{cCYohZygyM>d_hbgXvA6*ac-416x66Z5NHyecil#HLp z^<`uKPb~;1FAWQ>3g@p2v;Gtg|2dr3InJw2zi^D#f!*#aRB&JB2ltB#`@Fl*eWNTs z_fB#D=u!7+`nZ2o*nOI(|Bdq+>^?FmMH_OHT8@T`ToBL92eZD{M{?wc91O4oN z!#S^ugFcS)D&+NJgx^aWCjLu2L3~HNS)9xBvy6Hs$oGw9m=*`IPq&KicO```l@t zf7$1A_W8Yi*0j%^_F2(B=i6sJ`#fl$FWTo8`+U|uSJ-E6?+?DP&ll~pu6_PwpH=L0 znSJK)eqfA!UboMd_PO6a>)PiX`%L2XEQ!~%r@W56YoFKc^Ar0_;&tpj`#fczuey%x zbsc%$b!3C+Tt`N^jy&%=Qr&f9jq65P*NwTZ8&A4!40YYO=sMBJbz-~g zM0MAR>#h@bT_^6kPCWEnJa5~(K3sHt_`vnyuIocb*N5L-A9`Pn*NO70<9hdpc!K!6 zc$WBqzhnH5;_~8zYhr#Hf6p`d@%Y^IlE23p%_Gd^?{GSEHIw+gvV8u2D5HE|%lC%) z(|Cc!&F{^vOe0@0`Ets)NWPZlFW@a!GJhC+T;|BD}saksVi-W>5D{ppuQ zTq$w*i@2`%l=xS1>*X=-l=xk7k|fbSM%-Ndx47&B(ZBt>FmuXqk@^<=5OGEIH8uWC zjoJD+I+*5o*{Hgfd!!hsu@52`#2@i_XIhR?^ql-A<`WV+woLW3e zoK3t&TwQ!#+*ACI_+xS2Mi@l&azfBwdBfH>Wc5nmPe757UM?WunXH;G>t z=S&;z%f-1$iOLhA6>$HNvG!!wz~Q`y5(Il}yT!rKMIyT!swCBogWhUXiG4>b#aZXG_| zA$&(&$JF(%x{j->fx0fJ>pgYdQPMEkH z&FXq7Nz6Z@u9s6pyg^-c(nb8Ix>{$6xWUumN_Bmst~Tm=PhG7_#<*s6!cL9C(dw$v zCgKbo!<_er->9o>vWRD^D{GpF7ptrMlM!!H*GhFgku%yK$Qy1}*RSgONnJmvYnQtI zR@Yp0y|1oH>iS7t_0_dWUC*g&m%19M>x8-vsH?cTo>tdMbzM`}adjP0*F|-uY##gA zs;;r>YLX-FFRx^R9ue1Pt4s0o(TOcCM?8>6`RSEt-*7d|^G|r1iLXWcHoJ2-|Gg3Y zPu>hmvm)Q)C#?Q&j4OXDoX%5x$p5eA79YP8cZ#5IeCE9EU9?|OL)%KNpvCFT85-YW7A zmA8SsjpWUrAo5R@_n8MHo+fYlR1tqGZ^;Z1ePel8Cb*9P` zaW{_PG|pq%r(#?=zRX4ZjfuQore|rs&W`+ylR1~Gcz{=3w{v@atK@pn-MOCNEBT_n zwcN&s{CwwN{=zXXm!J0<9*@rK%lgm8xI1OTh84p^FNAAe4xg+QzV=#p_>J(@H^XOF^gGxu7 zuY5S9QdsQ8@M86_dhM|P>tXT+VZSEf%obs%c47W5;kUiQ?bhjFot@U{Zk<9kV%!Mp zY_?8K>-=P$v({N+osQP|%R2eWM4lbiDNs4${ni<8oma?7$J6#O3^vM|j2iikn<>#W4dj8@4Rbst@EW?$2LfsR%g9-fncH!^N zv5EcdWm)@N#|w30y>~pHx^N_~cz$(tE))4JzvCg^ZWQ?*^mE+WIiBag%;e`gAIG$e zc~3a+!L1|yf-CuJn`pnmrXH6QeD(7c!ulOVy5!=e$J`9%H;CA z$Lc*I&j?;(5zmjMEbO}VZ{qW7_Ss=qZe~XRAB>cP;`8Zb&g4R_<{_Ts z{exrP7tAsw;-aj@)9f%b`up%IzZw?pX@`fISc|inWJL5Y{4BiAVP8aCVq|!jXZSZC z9TolAn2T*jM|)2$q72~2kgSwt$cP?Z3ui`$#IG$(6_3`g< zNBJ+SZ;1BS*_H#ji_dM3aVNy(Hby+3D|n8VSb9^8>%(E(wmI5&^A8sPIoe0?1aobR z_WZ1*o-v%m%sXOSZjR-2j@cRg)A=3m@UdOd-;jy-MtpfuJm2dr4qGwnl88Uz7re=5 z{Qt&!@mub?FaF)3`u*WRp5jf`Oc?z)6Nl-NgqgR-^Wo@?u$F)K?U*F~K5InEaJ+H# zZ^pPy#+^1U>7z03Z{vCxchb1TNu&R1<6{ z{jF*2?0cCWsTS>3Ii3}(M|(4-tPycqCaxKAI+oxgwW571FR|P!(LRZPa#ihUPdPY# z|F$(dasWqg0x$bsl0?3zYQ$SHKWmF{Efchh{0q32C;2xMw~ul8Sc>&IkxAZ(aryZs z7xNyob&PRoJBJO}i@SN43A@C&N12WJ*^;d}kz1L(Ys~-AzPGV)+c=N0?ZX2d!Wvz} zi|>a0TZYA3g`aRVSMdN3vvBJe{{hFei8!5g-)FIQ(f%<d<54!Z-*)WAm0Zm|yvqI^Bkw3qVxdmazJ}|0oTEBN|L&AK%9Pz=-6xrcFY`9bdEB4p89vZG=BH*R=Hq;><`yRI5%U)EAO6cp z??wM~e*AvK!}(Cph%2)e8}JCv^B2fzbNC%M zvi?UguQ_M(Ti)y){dbwHPsHOmk+WE?Z}h*+as475&+^a5?@4~g^_3!S+c`}3Za9yb z^=Et`+FLgWtB6O6&x=bmjQ(jah6!the>Dngz7^)z{+@Wh_(I+2&)Om^**1La^{|=v zfV$2yY31mz%xP63E}_0h)K^5FXW6t~j9V^#>y3!pva$Xi?9W2-*5IqG&kxo4R{O|z zNBm8@h#P2c#-1F&q8(yfc{buj-r|W)F|N1AuRnWriS~i~xLd@TJ+3MLi{Go9#BaEq zzwz}1abJ3~@8>z_dq!p?iS~v`!ydkOWC73e2GjX{vute0UL3}yk4L_nes8N{%80A6 zKR@McF65Vw#`yCrohssgxiEFa+kHRE4X(8AN&d}L>0*2lzQtbb!=-GIKE}`CP2T0o zEYbgHhAD-%HbbPPCVp8@{?A9Kau#e^Im#S{$BU7B=vGP-(u8 zc+5{>tF7TN^V^vJllg_0NB<1--!y-Z`3uc2y)eeD{4uO4{!qTjoXMBvf8O^~y=dNV z+Dk2oJe66C_4pAdb0J@|-zw@(u|i$y-@iKIyIi#<;?8TsF7}sWUBp$@_m=Mg8qDw2 zd)hfX;vAmm(bwYl*{jzLn{pj5u+HnzUuajXmmpPq@6t^1yW%HzNB>3fE#}eQYfto7 zOB3^#iu;RS+8h1p(?-f93>TSZFoX0h+RWLrk{Ky9j zMf?~?@*)dx3h%L8;h1-tH~B=7Xz$FfoXdM`Q8dQwWP;rBd*3bCI#0yom@8kzdGdzK z#C^oOzK{DrW!8l+a2e0B(GSsoV|{o*+;>C7<+cCC1bd^-1v}#RS9i7dd?*ujjM(Y- zVAIBZh$j8xepQo(@i^VqKUx3x`Zwz@vMc8A)qhd{J^iEgS9vV**Zd^%H*FO8C+mMj ze|`P!^e@z(Zf~s9#JF4OB3~Qh4-AOBADVZvapd1*{=4RVWc+C3>hF%cNgj`U$v%xd zIp2)=7xj+q))wfiCKmBd(qp$vd^zYZdSpN_D zlQ@?%`hV2FSO1gx@996R|D66-`k#Ly_MdrR?7vu(*neZspA?=4`FtPE5YL}g`rGOs zp#O~ilwZZ)FZ3=SuYZ3qb%lsO;b)w}E|sExiTE1(R*d!(&xhIBmv>mx{HE-|)oiD( z&Fokuey?{JpQ#%0kK%v%xb{~#jh8FNb!*)7;e2MT6mb*Z7jaPhwfKfOZRHr3k$G5x zL%5SqREhBoIg?BHRGsMmL7er4hUB(T3qL=Yh|{t& zYt)PO3EapnyvmFXVq8uZU@s2jDXzEvP2S^zb@6x7g;vJjyEmC0aqmqLmp>Q3-#L}n zx$Hu;H#;BB;CAi3_r>eL37%)g1JPb~f4Ga!YA?^Xne^8fmyLIs^I){M`YkLiUc%ak zqP?L0J3M$e+7mn&*U=X2@leFel7)wPfAWZ5VqflR5!bKs!{Xl?tG0}Ig}9n{wYc~7 z$dmcM@R&H+jfhLI9s3&hEe|mHy%>Mp{4v^}GVgowE8;8SPsBOQA0w_Lo_90yHcSwI zul|Pmzu@DoVt?(q*}fhe9{c~4zjNK7c)fpmaCraFum!tw#ORoRjeEvK{0GnR62BN5 z{p%*g-&>9!70=U@ljHiiGH;>(|1~QKMr4b>!??=4*&|;1beK73Sb-UHMcjuU=8gD{ zxKy5qQ?8Gnk3pkj-F25D&UiWOekJ^jZLUVVjYI23-L=%;@ZUJkE*cFL)^Gc_>-v0gu3VuLl&evD(aClq(!o&UvaWBk#LaUPd>lPR;t z=ZMU_TrAcC(4IIn4m($UHK=ERgCsJ&xds@g$>xca>U*EP?dcs>=InSg=m`b-nNc z3)heMUG|mY;wh`5eI<{u(CTPkws;>0gqko?I_Zhd{xF3yMW89n_^6d;a@TFZ5=h+<=*FZ? z&YUBny#l}HQ=dh95!U1;J~uM@Gxv+SYBh`3n}y8YJmRcxg@18vi->!*4EORPbGM52 z_qmbJw~qE&Y}_W|o}9oH{Dnt-9xs|c-sio-u^A$Mi1WDXsc8Qj5a4i#zjlauF#dOTc5=_Q=Ji0iZ$5)tsNyH;Y#^00w%~7Kw9#Jmti#+pO_$iOR z9C7_>VNV|61wK|I`p>aM&4`x{F8Y5zFYEXV_wyJp@CI-3p&>Cp7xS<}pJq;0;p^}S`41CLj(V~(Cv&qf%djH{a~Q{PDra#n7jYvu@cj=JDrfT`kMRO;@?rCfvIV>F zTQ1`|Ze{(MvHn5v8K$2R?RiIuX8a^vWxLExPV`N9d&#! z-ob9#e;1!+bM4o}$;D5z9P4v1m+%y?@b;`&KLJy5C$lg=m$3}%u^WeRF3&K{H?d9? zHe!2z$N?P1N&JRO_&v9BJAdb2yvc;KWBo_?7@uH%7GqV`W^1-%Uw*;~oWf;X$sf3l zSNR`veH--^3PW+Nzb2ooy(m9bQHOsOBtFbm4u_N2C8~d<72XizhaTeF`2X5eg z{>~FT&%gQc{HXt)ILq9K`)PkxT%L7VpB>qigE)*|aTe!uC6Dp~ADb8JXJs|M%ElbX z&-p!n<~81DA9-1nWm%c8u@PIa1G}*&M{^v7WTe_8A!IUi$Y=3z0GV^!8>L$+i`zR!<2jN>?sbGVG_xRt-~ z2+!~;?=Z=7&jY4sb{1esR%A8SWfQ*5uKbV#IFb`MlMA?#8@YqO@)$4hIuopjeLTc8 z%*0$Q!ZNJFTCC5v_zrupFNbgpr*Jlxa4k1;4-fMcFY^ZfW8&{T- zPs=TJxm{D7nQITvsT@B1OvJ0QNs$Fx7rY%Ifu?8OOO&BMIIjO$~aGHl3R zoWRvQ%sWiIA?7D%HfCf|=HqiL$(LD)ud^1LvmraMHG8rvKV@%@;t)>eIDX5oxPV*u z7n5#`edc3jHegqd;#_XveqLshA0yure1O@kY8{c@9=@2W8Eyw!B^Ob@3JRHay(~p19$KcZ}9$Y&Y2H05A(AO zU*Oy9#@6h|Pxv$c;91__ecNOG6wJi@EW@g-!w>m67jrNF;CbF)!X2?*dgkTxe37rS z7C+<=_UA&b;|A_z!kw|+LwuCk*@OK!jFY*Hd-(^CF~P3LUx3ZnhW$8*Yq*8ym|=J1 z$;3Q-lbzU)-*6|dF~gq7Q-Q5Gl#6+g_n2sJ%uCADe1WgB9lP@ydviMX@*WfZ68V!c zH%sw3R%Bg%%t8E?$9R`d?u-2SSdcY&W`FcI7Pn=0_TdPA$r+r(#azW7d4dJ4Q;OwS znblZ_UATbTUDcA7K?~!MV_&jegh5lSD&0qNf`)~vI@hwi|$K1*3yvf2xqMov>#+rPe)47Ce zxrMuVkO}^Xyg6Bv&#@}sVRugC3hw1$p5i6`%l}yaXsp|qZ8?}9b2#U5B{y?FPw_gF z{2BQlV{ukyEjHj-PT*9o;5u&ON&d$NkHvavS%A;7Dqm(B4&+GA;sUPbKK{kKOmIBb zeSle5h(-A(XK@bK^LL)$1*Sd``7`oq7G^QN#MjuLLpX}#Ih8Xxi;KCPzwkF6<7uAd zKfKMvC!_8MnVOF?3!i2|7UgrS!rH9I7Hr23?8M$2$Wffe8C=L6+{eQ_&NDp6yG(H^ z_W309vM|f?W!7Z}4&djU#&0->KX5C5;qN@fYrM%vPe*;}nVtDriZ8G(>#+-a@e>Z` z7o5h0+|2dd%kBJ?$9RSRFxi=?I}I~2CkwL_Ut~4D&X(-YK^($yoXnYA%gx-)Q~cm; z)c2400dZ~?<7;fffgHvW{F0M7k3VoX_wfLa@e1!d7j-3KHrD1R9L&%81*h;U&gW0; za3S*lEZ)hzJjnCB!Gz~yUJ7PlUOvMbtj*Wil&$ytT?gwAwJD~ zEW$FZ#WrluVI0jbIGwXOpFeUR|KZWDoY_6t3b=yu+0L zL_OJ9kfm9PHQ0#l*qehmjx)J{Yxy$|GU2sYKNT}EKP#~fTm2j3`->-V9@ldR&obfl zn3tA$_zd5cx01L9>#-S!^9#=BUtGl_yugGvV*Si4#+qzz{WryJ*o`0YGw$H;yu#aj z@Mf&{IJ2-IOR+LLupcL}qq^pbf8ftN$kV*SdrW5jW6Z*QtjkXPlruSx^>4?1eiAnl z|0+&?EBc>gb{1k8R%IPFVLJ}z7aYmn{Do(jOC5#yCcE-uF5`M`;$HsB6Fkdnyu~DU zVxP(QIG^Ct%*mpBh86fcYw{H~Vq>;td%nk>{FGxkke_oLzvMdZcVoY) zn29C$65r#89M8%8ifg!@o4ALEd5y{ci}fF6CKhH%mSt7eW>coU7kOHWyKxYga0q8` z6Sr|UkMdt8l>ZUtWIh&VahB#wtjU&qmovDKOL&U6_(XzY|Mz!d#aWJ(`2uUQF5lo= z?9ER&jGuEXCvzSba0NGWEBEjZ{>iiam$#YlzSvJnreb6Sr_T6Wt$mKgeWE#|+HIJj};pEX}g4%$Hc5Z}M$^z)v}dBl!it(#sAYtq?HFL8FpJ7=(&&sUMI((gt*^+J8i9Ohp{Wyq2IgyDHMV;S@5AhTe z>rcuQe3Chsm-$(i?f5B&a5yJ(2M_Wj&oNWts53W9aw5yIGpBG6r*b;KwI zxgL!C`B{)9_%=JR6W`;9?9Blj%HbT#t=!4oJjmn^MLmx)H8ZdVU*&6T#1Z_QV>y|7 zcz_4_C(|U0^`Bq{W@BA8U?aBRI8Nkbe$7MtgMacYGbWGqvoIU;@=Z2p3%2JJ&g3jE z;BlVidH&5D56AlXSb)V@nq^s;)mVdd*@%tVitYFgd$K59$*GmV_i1oJM6?hoXJ^S!k@UA zzw#{aGF_^uqZ(`S6~4vET+ChE%j3+HI`S1|ZNA3W*^1ryJ_m6;Cvq`2@CNTo6YC{o zb{1qQ)?_OVU`LMT9zL2j@>b_Sj^Gqd=VG4WO(uFweSCzOSb)`8kL}ot>$rhG@-UAv z{}Zv^Y4HsveLUJT^I5*gUL3-aoWZ$V%wxRGMCl^`<9w2@vp@E>Mg=je3b{-kRA9br*j>*^E4mN5czX55A(4MkFx?>vK>F* zC!E2}yvAF+!^bnm`epe%UuRRcVe%(qd{&laLw000j^i9I*SobkzVGfpICHCM)9K~r|$aUPnpSg>Bc!+=S82@JO z%u!!s4&yog$HZA;Tpy0$WX|KyJj29UV_sH1#~N(F&isUfIh5b?B>&=FCd?M=Bx5;N zW-Y$Px7da6^8@zh5Dw!QZs9KO;c-5eJ?a_B3H*u&_&fjLX{LWV=4WPB=3yf?XA8FH z6wct+T+CCv!sIz(y+`>N(=jjKY8u_!?WV9eeX*e!?+a#3kIwUwE45d69RSB6rkLg3s`IR$&dk&U$Rm30%&d zJj{!{!YA{@y2Ux1bGVATxQEC1Xx^Bgi3M1Sl~|MY*@zuEgNJy6mw1N{=Zp2SumGQ7 z1y*5IzQNJ_j;r`Hlje{7PcQ@XvK4!92*2iUJi?>=n*|F*{jxKX4xp@FcJC2JbH%c^+UgKFoB?#LRq&{rEk1@gPs|3h(iu zBC&3I7GXQ~;86DGc#h;WF5*63W`d%z&a-@p)!B$c_yxb=Qm*G79^rZ3X3}D@-lNRO z?99nh?7_MGjvIM^=Xskco{4oTu_l}I11{!ZuHh!`g975Ne~ zDIaHk7UXk$nKf9S&G;6(auCOG92avd&+`h?m5%z_vO9-yJZEwZw{RaX@ivo|iM&~u zpU<)u8}c0v;+LGu72Lriyv*BtxNNMOl9^eA< z67z0Iugx+{dF#@>1l@&J--f zy6nYi+{`Py!TVp1d^wn(&$1lL^HqMvSzN=7{FT4+5B|p#)neUr%*B$d%2(N(@305^ zatOzBCcop4+{076!AGh`J?Z&0^RpyNvnHFd8~br;jmS4#JdMkFis_BZ!6GcjntX)~ z*@eA1gbTTmX=+6syToUBm-%W&e`Ai~WX|RyuH{zlhE|+p8S92q`@Mj+4ab~I?>psnVe1R{r9-DCjzu^k5 z;~^enh6b_DGc3)Ttiw#FYp@gYZi56U=HSCK9=Nj?9U2p$e!%OulX(K@;hGTKTOa(>Uox>`2u^hFNbjz z*Kjv~~+!j)Xhb$ql%tXqOF@O8H0yZo5rIE`C) znUA-Oyye(}L%5h%`9!N2pOZD%jT87AleUiW1=yaWIf*~=0#mn%c^UaU8?pu8W*>gW zshq1WZ$pIY6Ib6a0e7|GVb6k9XhlsPY2+OfExA0dcm!~ZU zaTurb3@@>7r&#Z{IEy$R8?ysPa5BHay z{>A%yMBRm1lC@Z$Z?G-jVQ;SDcJAbPCV4N`$-)9G!Ah*oMr_ai9LnLG#BJQqqddod z_#Yp5Kk7-vjLgA8EX7K!!8h29ZP=0B`62sr2uE=|r*anOa~aq0Bv11?v-gbs6k-`x zWgRwQJNDqm9Ki{k#U)(FZTyudc$xq5{$5d6GN$2^%)x>z$qIalo!OQB_zf3v6*qD_ zuki*S{vhglgN@me?fE&!at;@9HP7)f(|;KGvoIG6vN+#lbGG37oW(^v%u~F~TTJv( ztosOyvpnBsH}>Xd{DM=tg@5ogFY)o-vECER!-6c%(k#nrtj$k&l*f35H<-6itk;(x zb2w*n4wrK+*KsHRWrDtuHz^-sT4rQ6zRc=u!1nCG4>+8kaVl4GHMj8ykMbHz_KP}e zvN4;o2M2HvCvp-Oa50y13wQ7sPw*Vi^9pbBHt#ao$5C$}xRKkqlfUs8&+#JvWrF^(p9h$dsreLhumFp*94oLo>#!l;Vk>sx`|Qg> z9Ldi)m9w~jE4YpuxRd*Ngr|6x*La7CK8f>4&NO_SmG~}ivC)8-_u!{tF*e`;F6A+% zFt0c}u?Iim5RT$_PUS4l;bN|2xq(qvW4^-y9L_PE$RD|h2YH-ld4u;2igl8)DC@Ba zTk#!s<3vv8JZ|Pr?&t4JJUG@(%EwrUC0LG?*`6KvA?I)z*KsR<;SrwURo-EeAyHRK zre}5*U`am5Dy+^rY`|u0!;b9E580nXIEt&dhTC|ZcbRCY$CIh}1T!-y3-B2>VqXzj%#zn0;8(n}g4=ChM{h-{KGs<3w)a4({V&9_Kk;;Z5FS&f!s4 zZkA*-wqZwh=ZEaiAsof=T+fZ%%lk%n{Fs&*nT>f^m?ilftFSujumPK~4Lfoi$MYNR z%=B68BQuMzB&)C%>$5Kha11B%D{kXIyw3YZ#=1%Q2vajHv$HB|vMw9( zEe_!@PUI%;;65Jaah~H9-sC+d85MOu%rwlvtbB>p*nqP~$NVK+%gx-w!#u^yyv0PH zN1jKRj#-(H#aW&&u@2v4Yj)tf{D2>GFh}wWPT|*_$E94&4Lr|_yu&ayu&18qu!KE&+II~lB~#Ttji{Rn_c-K2XG`O za3&XUB{y;hf8{Y=;B_V#7yEdKX_$$*ScK2AJYQf9zQ%@Z&bQf#J@^qn;ZQE+a{k22 zyutsN_>0&_a;9c_R%9i<#<$poefb%ua6Z>^I}h_bZ}GwLQBOMNWN}tz9X4lY_TdOl z<~%Op2JYdXyv%!i@Cy#I~FY+=Uo)C3C&L^3T zMOcBg*_0jm5l3+v7jhkc;US*oO(vb_abr#vXJrmEekUK(UWc!I{pp#T`B;q4vo@QuBR}FWPUIY};#&U1eLTU_ynk}kRg{(3jUVz; zj^h^Y;c=#!68SPR8}qR&-(hzS;CEcly-YMU@;=OT%+302!4B-rgaTCxPVKzf~&cShk2S8d6hSLmkGa$eLlcPn3_*86Q5xf)@2KJ;6Q%CSzN?zJj~O) z&IB`}uJrtxIa!@=usw%zIahHzQ_hUMPcRn?vpk!#9eeU)j^bjj<|gjqZ#>5&U&s1y ziWf4G_5v)-%Iv~1T+Vg;nMZh&xB1YlST{AZFb_+z0&DUq7H4&K=X)H$&p4S2xsF@7 zmnV6Jx0vXgsP{2umP#ZK(a@tnc=T+3g1oELeAkIjzy#xpZ3uqoTJ zH)nGxzvou|!asPHrN52!u8JQQSLTa+g9AC56ZtiN;8k8@k~y(X367o{@$=$N?8Q$w zh4ZlS1{-l0 zXK@A3GNJX8^D$=Q(=5)nIf+xbh^KgkcUWLy)LEUcvl-j7Bl~hO?<|V>>%`}nMtgP^ zXDjyMXI#(2JjE+azBty&%6u%&@_e4P*@&&!iGw+e*@$J>ik;Y#{W*yXxr#q>ClB&CFY*TOTM>0+;L|L~ z7g>!B*_`d!nV)bJH*zn3=P{n-MP~jk>dC`$tjwxx%c%Y!`2q~Ay0cbSs4_zA~x9=Gv#{>3aCBi}7? zwsjFVWm|sEMO?-od6cJ_RNlYEmo`M+d*TOwh&U~?vL;)wC&x0^`k2>>6F61>FHE34 zKg+Qa+i@z_a1;0PBrh?mebitt4&^9r;N#BW8Mb6ww&w?&!{1r^$Jp;F@g1huo}10s zo_)EP%Xp9}eu}*1`6?T;Ge6}@{=$>I%||yyzE}A<=W`1$FvaE=Uxby}hHW{SQ@Mp( z`6n+j@s`M&hZR|m&G`SP5{Dyi1$O0lZs%|OljnJZ_gMJ%$XA{<*n;nKIKSd@ z?qX*9dYXAzns4)6zQ+;#l3V!;@Bbs}OU_cP#2ReMUi^?VIg1;(k(+pc$N1>cST`H< zupkSw9cSF|H*?@H=i|(&I6%EB|IO>$GD}4&)9dI~ntz zWC1?Uddz<+#8PtcJ999Hawcc- z2X5eD9^nn%GDy++1{EkO>o2k#n{LIYHVf>nN_#-#*D39?r@A5JA zrDI_h;j?VYj-1MwT+MB~&3xyh{!*;Tk$i*gIf2``i^rMiLgXvVqO8I`9L+JD$$dP^ zW4!NTsOq@i@=>L(g|N zKEFSH&ztMq&$+*z>pai%>;ZlVC&T%0HQWYw!XMxfSn`r9_Y~8~m`(}P!iumeYz$k# zm*K0hI~)Kv4&0KbKM;1PHlR=Vuw<2R<$F+5Eg-DVf;1sdo`w;z&3CaTmqNFo$wc! zn0zwAIxqo_g&)9Wa4$Rs&%mUAxO(M-yZTLF;7=8}7!PD>`nCu4g z4NJgk@OjuAz6^W9f$%*z0e%KI!CmktcoANQN&a^ANDB+YO0X7e4!gtRw_LixOn(eF z!yn--_$y3*)1|x1bY`Xt!?Lh4tN@F_Jg_0`0!P6Ca0VO)=flt87I+w5fH&bacna=^ znV9cb_#A8ryTL(lG@J<+!!_`0xCfqxDQ~-Wy2W%(rqjX_Fb^ybpMv$^i|`FN7=8#x z!+x+cTnm4IH(}HrSFfzF3TzBx|8c*!V|q4R2T#MRFhcxvFbdw}_lxj2EX3~#@Dlt6 zUWbkDx_Xp^E#VqC7OsPrVcLk>j^u|mVJp}Nj)pVgLii2b2d~20Fl!>0e+d{1Tfvv% zU^opfgInNUcm)0dQ?ng>1jfM1um((kbaHa?XV*LJEk9H`W(}DU`l*O z_z)}spN6$yL--o(28Y8hVN_CAuZD0ioD7%3lW;_G7yoyr(rq45-i0SOGG>nG>;rnnZ{1IM&H(|}xuDs+? zjwNAZ*bKIY9br$n5bl6CVdj)BzeizXSQB=H&0t^H8IFbn;cWOmTny*I&2Tx~0gu2l zFglg1S5x=~90}*Z1#ksi4-diP@I1T*)6$+9VK!J6R)J07NH_+LgLB|vm^O{8cXrqq zj)v3VLHJNw7r!MO01u>h{#~XQ!;^3izh7oLRXP_xKdcP*6Yo`~--F}eQn(TxfQR5; z@D|KLeviP)@Co=LYz6znfp89-2hYF@@GdNy!Oc%)SRHnT-QY<00h|vP!|m_{JOgjR zZSXk!8>Y?Z%Fh4`!kVxwjDxjceb^kfgB@XCxD#H2H(}~buH0&{2^<1f!LQ(6cpWCn z?9!Kk<>9k%Dx3|s!hP^(m^F*brxa`fN5P439y|b#!E_I~^ci76*bMfA!{Iu37pBbW z(mx90;0y2#*biRH=HicF`X{D8WO@c%1lPdh@DG@ZbopQl_$KTRN5Yx#E=-x-)guke z4hz7-uo#SiW#OZ+GOPxlgRNm(*cJAH{o!ah3w{ij!nJS%+yj4xr{QII8{UQKbGZ4; z2MfR$SQ%D>4PYnu3hW67!J%+A+yuA4z3?df3H}c6!bA_d`elH5VSZQ&R)SUFGw^xX z1U84QU|ZM^PJ~n7O1KB^hsWUs_#6BiCd=vSodRZsg<(-x3D$-2uodhEyTe|vKYSaG zgLB|~xDI{?55lwXCcFca<#P3of@xrSm=89FZD1GJ4~~Ni;Yqj#{t7R_yRc+#SAHAV z4fcmC;1;+S9)Z8WbMOW%{D{l9IcyKd!`<)zJOq!x-(aCUE}!S&2)G$$2;A>GnGTqa zg9G6p_yODuzk>(iS(r7i%Qr791FOI|SQ|EjBj9*A7k&oU!VPc_{0FAY=gNH;7KAad zEPM*S4*SAUa1#6&&V#Gq8F&RI&hN@i3$w$Vuo!F#UxMA?K=>{k4QIpsFi`syl+u4M)N$a31^weg*Hq3PoK09pDtW7Vd|~;3@bE`~%*FC5pQI zVqh6q9rl7l;YRo~JPohI;>BEkkHKzm3Y-d;!e8K3SiHDP|16A$ZQw*W2mS>AhPPn4 z5-y*oU_2ZFXTgu*DtHn84a=5v`8*FB!%na(91O?658)Iz6)uIJ!yWJkcod$5r{G`k zHq2Pc)hidw2Mfa@urhoZz6OWDv2X(X2u_2a!4vQdyakiTxO$|48DVBv2tE&+!LG13 z90-TNVQ?b63unS_;rB3IX;+VdFdM86>%p<`2Am8x!QC*bjLYvum=TtSRp6^|6YL2; zgtOp&_*hw&?~hC;VLCm02G)fMa5P*8FTs4}Tz-vV0_*{M!4Yr`+zNkyC*ZH}I=l%} zm3QUTfc0QQ*dES?E8tOh3Z8=(;8l1V-i0YDxbiZ>qOdfq04u^c*Z{VG@4~TgJ-i5W zJ?hFS1)IXcurkaK%fV;h6R;H=0KbKaE4uvK!T0dHVN!fK*dBI+AH!4d9J~NiKj!jp z{J3K_rfV{tpXs`=H(UX?!b9*fyb0Tr&&#kk90JF{4R8y*0`paJ^@@l6;4nB2E`&$n z4EQDd2rh*?;6``~UV%YnS8fb!4;RCOFhv#G4Yq{u!L{%Yn7^uv|0L`R2f~qXEZhLk zz;xAI`V=q%|K|6f;6b<-mL^`+SeL#E(=kjx!*p->DO?UO!t1aO>FU7-unp`2d%}5e z5j+f2JmKn-88(G4!d9>kd=HL?3*iqi^OG*Wr{FWN6MP8{hoj(HcnBVYsh@KB6^2D% zW7rM838%t2a30(be}dVccKOD^XJH4}1`dFO;c~bQ?t-^qhUzZgOfVKc4;#b&a4}p8 zx59n!N0_#T%eMxs4ST~Sa5cOF3)FP!8pF159=r%k#kqKepK+|lbX&L*9)eYfR~HU| zW8h|Z04A^H^34p7)N#`R(>38?{PRq|14qCQ;51mB_zRi-8Xka2YrAsF!Rqie_&!_- z_rjy_6ubm)z^YbH*b2U7^??`Q;kvFK*O|`E^dVRbHiZk|d3X(0eb(i3hv{5QSAm6K zE!Yswg)QMAI0ue`%ivnL70#>Y%00mJRX7(PdCvVF1D}G8;83_4?uWm_RPio-8Q2<* zhuh!{_#NB>PrziTjpMlt<4+znImdtTTB_JRH2C^!kuhWp_`n6!y2uMDgJYs2T@*p@C{ zGp75(p>QM|1J}b%@EA<-g3Bipd;)fZ^Wh435#E5Mn!5CrU{}~3j)9-RHSh*}w3$oa z4o-tx;C`5>xr>(z)`0ck0JsdEgjrj-bopRY*bYvG3*d2>nf9#@r^DHB8C(w!!z3@d z@>0M|@Cn!*z74;CTj3p;GQs6j6?TOy;Z0bom5bLN&VX~^Jh%#Of;-_sn54DKr#LJP zTf)(BJlq2h!&Gft`bzK>I1g@x`(UK4iy!}zV;ZJQ!lz&@_!e9Q_rtUBcbJ>}TEZ^y zEjSpifahW6cCH@zVM90=eh$yV?Co9rXW+9i9(I9m!2xhE{0eS`+u#{^1>S&n;A0(J zxm95-d=55+ZDB|FK3oXDhezQV_)tfee_hxQu7Q`}Em*#ji{A#m2K&H;@HkBSvWs6G zUV`;tJGcraf5pYm3UkAja1z`B6L)s;AA?=to3ICb4^D)$;5>K;{st>_ars8UI5-+6 zz$x%&xE%ft%fIUKNe-WYufyr^3wRp-3jc%!y1IPcfbYOja5tO?e}b7_cj+!No%}U7 zT^TljJ>X2Z0-l2T$fpEs54*z!@CdvJQ+IRam4|V#2b>EFb$9WWGyNS*_lEODU_ICy zeh81jU*W@Vx^xv`dpI6`0WZRQl>a-^0n-KHYJ3Hzll64@KgD!2I36yAhhX9!E`C~= z4>o{r!wK*kI2%rbOW=3#A?nfcEth{jrXPoIz|n9OJPFUiY@{y*yTESnO*jm`52wO? z@CTTpm#a@X_#7MskHg)R3W8emua-hqnG%O19!(1>iyh*xiunxW+YybzqGw>!%_qHo9 z8_WX-!?|!jyaLm`M!9DOIOg+fu6Ad4OAHk(?3p@lb!pLBkJ`1b{ z8^HFkH#`o{!7M{u`m(SQd<%XAx4?_= zED9fm32-`0JKV)z#PmUU8s_2ms<0Ux3g^Nv;BNRc{0pWY;mV1I)nRMcAASVaz#rf> zm|>*LrzCs~R)?)&XV?R-f6t{G!t@IGBTV|P`@I5u5e|cM;XZg1<|p4euoD~)55i-k zT>fX6eu(L7urO=^N5U2G4;VGt<&z%PggId>Yz!-paq-(RJs#G_&tv)+JOdN+djq%x zz6eLa32*~E4sXHev9A0tV4ZPpx-)zWj)Y_3ZumX?9bSRg;9Z#UeV1=G*c7&cyeR5GMEwOhecpZ_!8^~2f}yYXgCwjgGb;=coW`%cVX)Bu3oue zewYB;!vXLeI2ewHN8k;Z^h1|#3YZNxhrQqsI2=xb$Kh=lHNoYV8s>xvupb-&--A=( z&oDC4<&y@chk0OI_%<8`$HF=A1WZ54<(CImfc0SuI2F!-E8r#g$YhsKNmw1Wg0H|u za0%QD|A8f@xO}R>hOjH_4Znoz;eMF*BbUB1tOMJ?{%{1`4tK$mFxOOKxMi{To$7H)&LVU@Wq|70*XECTDmc$fgEz&)_iJeSWQrZ2GkjoyaMmQ%*4+Q zABII?Tlg9r42Quna5|g?SHUyz3XJ;1)h{*73~Ru*;4nB6&V?^7bm_anp>PUZ4Znw1 zVfsZbU2*sfYzNA2=BfU+UuD`phxcGRLa0GyD{$ zT<(6)4Rft<)8*mQumNlV+rnTj3FS4E_Qy!r$RtSZ1ZGXZp__ zbHKc?A#4hp!wzr?JPpslzhIG7F5f1wCF}#2z?JYk%(B|0D+o)$$6<9C51YYuup8_L zN5a`~4crYAt#Rd*f}P+jxB`9-cf&+qxOC-VS2!Pj3D?10F!H5K*8si%JHr`p4?G8x zu65~B!L0BZSPwRYjbLjy9!`Zb;4HWpo`mP&Mff|s2}`VF{$WM5`qbn~H%m9nQlCTQw3Wveba0*-i=fO?zYxo^Z@s%q#4=e=B zz*txnz5tuUq3{d17yb&b!hc}KO|HCpuoD~z7r~$44VZPaOIHAvg>~RKxDalFzrkRO zOJ4!jgH2#t*aNPDd*NA_>1&ryb=VU2fg|7~xD4Ka8MnIh(Xas=0;j`ua0fgBuffN@ zarxAT9pMM?8+Zc#1Ji7C>2ktyuorwEegfCPi!kZ8E`4g4AC`h`U>`UTj)9xukML)B z6DHs8@_!sQfK6a~I2kU3Yv4Y33})Qn@+%5U!K&~zI2?|F^Wh434kp^^@=FdMf^jeb zwuk-UNVowWg2&)Rm}i&E|4~>KHiE6;hj0m80XM_HV7lEdzlUI6SP~Y8HDN9I0(=*K z3>U&xa0}c7kHHi063n;9)#Gva1gs02!X~gA><$OR)o?F72v5Pw@OPMUuPZkV%n6@` z?O*b9z>pTJMy61W~-fhqU9^76t0 zun;T{JHP>OBAf!J!bR{Wcpauc;L6Dav%vhY5$pnoz~OKtoD6rtU*H`W`OcM-7#4<2 z;k$4a`~)`h=!y%VGKWqcr!9H*%{0=5R?9%0dMPWtQ2u^@Y;a~7J%yh)%^C;{DKY}aa zMz|YZge87->1)7u;W#)S?t+n{E`AwU8#aP%;oERCJPPw2bLpdDRah4efD_?t_$B-X z-hwHPyZkc48t@s|1dfEW;bOQI?uW^La`|O~kHC7cA#4Lbgp1)CxDOtK8Be%;bHgIA zIeZazfivM6xCI`C=U}drv?nYF+rv)qEw~77fqURtcnuc*+2vanR)ep@H{l?-3hseN z;8pk!EOW}`TNT!Vec=E&2OfgyPP=qZ!|re`{2m@Z2F8{nR2DX8H;V3vBPKI+Yxb%ydUI}->+b})x z7QnplHP{zUhM&Mia34(it1GVp>;pf9bKsY76Z{5_z3S2*X8HrBe`WeE%ze?tD*|KS za5xPvg-L#Q@i#Jk0zUGa^9^B7I0kNow_y(QDF*Ap7O*3HAFhL2;K56-yaP<%hOzj5 za01*5e}xw>yY#o1&cSpuI39iqe}RdwxOCNN&rD3mz}Mj-xCP#X$w*ffHiPZpc(@R* zhgV?1Yp(pxa44J)x4@(D6#NBd`NO5Z#&kBO6T$58VOR>bhWlV|I39inXTyW=Gk659 zgFnJ!@G30$r>oy&SQR#bQ(-$e1HJ)g!y)ivI2SI4Ct;SqTzMs7Sy%vqT2AB(0gmqv&m;l?rm*F%x8_tDm;6+&OhAZz`_$nL3_Ja2vb?Z^NXwUHa58 z9n1jp!1}Ng91Y)xn6_U<)_~egez=B3BJ zV7e^R=b3(z>87wV90b?Fz3>=30WZV+cU`&lVN2Kwc7z|nneb!y75oE6A{D~#q9%rU zV13vUCcqAG3Y-P!z)#@`cotrOSK;6A7R;T<)gvCZf^WeAa0GlGPKEQ}XK*dt3irZm zFl}O2UMbibc7r3~IQS8q1DC)xa5Fp#|AJYPxN>U3Ca^2)0SCena1{I)Zi0Wpe&0q`o3Y-pC!S(PPxD)P%$6$uEuDqvUGuRrw47%Gr4>YGo6&_;;<_00Pn({a0=WEzlRs#Lz!LvcO_(CPOE(FA0gu6KIo$6>;nT1^oC#OJ-S7%5_OMG| z6*hsr;Yzp-{tT1lbm^+W`tTJv8h#6p!oT1@Fi9?#PcoPmW`bE@8Tb755rrqWImT)HP{;V zfs^4bcpRRAw_(!!E}xVzHOvgN!-ru$SQr+8rC|kF5yrymuqJ#7PJ|2Kr*Jbo39}S% z^(+WWz^7m<_yL>)7r+hhB+OEf{9r6>3VXtZa4p;dkH9-HrjX0;3HUDj1a5=3V4A`% zegRkvJ_pOe7hoIM8;*s`;Td=xrjK^{XN8Z$Jn(7wENlW>!`^T_Tn^8`>o9#0%7FpQ z4mS$CrKkwDI$^2g<5~DkJa1QxyXal zYd-5Gy+n!hmh{%9GI=kb)4_w&OVY?$89XiQE9tdN|4$|(F9Z)xA0@vRlY!1&Kg!oS zXt4Un%4MPl&3{UXS6@{4~E6)qdA-`Z$5 zZT0U{$W7b)WtfoS-m-Kh{(lcGZKWLl#?}0F9@bgGGOnXqug;c$X`TG0xC{u|R+>JO zYwFNyduiGsp3^qdv`e$dfS_e++FD*+wCyzQbkAw~Y1;X2amiRDqHU;YpD3VHE~F7? z+K)V!R;IO_7YfRNkWQFE{+f7BdrqK#C1gO*II;3K)E2OeXOus!OL?y@nPgh)@C-HptG)7o$=g5GOgv5%`XFjW)sNY>Y@mNCW)25w$>SCJiGj9UB1wQ2-<8~ zmmM)?B9Vu2(@Os9WYZniuS}_bT`t@T&*c`UMfUaFBQmY?am#bMX6bV3;FTN5v@VnR zp35uKI=?w}#tHd^n%_EaeziF?-tb~FAn0P%HoWRNU4(&puP%jTTAQRr5g8D4acLP@ zyfUI?TFaQ|^)*Y<&g%zSKu>K{Lb#d)uH092AxO~mK;vnC7PQZ+({??q4Iv@iHUzF+ z@@PdRgxiB464CmU(gho~og8m>u`>nb$i6W6Z+QB5G*FoUQ9qBf2t`6cV%1=3P z+HWnM^?U8N>SC0Hu-^u*4^@$lsBywoR-CrqOzILYK5<&cQ>@cr_ZO#azeqcS1nsxU z0v(G){tO$=jcd8FGCC}rDc45o611}tw4bTd{5}jDE)of6N1XhNyot*z<0|$FM$!+o zPpLa6KYl=)hO3x3T@=Mwz6E4leG-^fk-g~f|oA#MSEBV0YjB_xt|XWJAm8*%b4l8=5`TEbP%}uy&QHj*_Pq7eqTST6Ws9$T%Cup+;mwd6{q2< zIH_jjah(WUADXEhT|y-t1g^hK4m(*SQW>YSUzB)Na9Xw5lv~w{_a)odSe&*+y>La7 z?LJPs-pD{FB9SL`5V&R8lR7_zn<#CyhQ@gs*Hu_9>?n~)b)5ExLG+;-Uc8sX6)h5} ziPQNQL7T?m4hhSJjUI_SBjegu8fBBL;JS!w$)DD5fS_c48AzzDgTU1}D(oncNFC30 zXPMW(wIiYk||gw3fOg;B@hPPdm55 zX*++z{IBInJDPqq0;g%K(T7Ik#t6sLCv{xQ zjTQVVe;UT>AaMJ`Awmt~bP%{UXiFQ6$5oWJdpF!L%l=DTQi+#Tm_p`5yW2$h)3jX$ zwjG*+(?x6R`A44HMg6AXwEdE3WC=5M5d7~l`WUD2>Pr9BFh>W$|Mr);IIWlMx8~ur z&LiokpWt*Em0@`-#Az9gnBT>oyQ$+6mgpdmKA9*ISw=rtiW414NBez-)BLP&EW;%z z3Cop%>*HJ4?ykaBj?xhqRx1Lxj7}7A?hBljF@j^!b)Ku1*u`7#x%HWx+kn#p@P7PvCSJrJ;QaT~q zcpU_8-gYI?iAdzM4g%*E(HDNf>Ez$^zcaXKVO#C|63*)&aP4A!;{s0GU@zN^aJwM! zI*1#UStCRu7j+QGe8`{8$M3i%!i+5QOE{g64lK7TxHw@&*7K`4E!V;|9SPjFNKr|q_`*%OW0l|6Q|owb(>`w=`mjl;srvAjYQ$J zTnnjin#MwEoR<4)jI(KQV|22db7^q}WU>i$NsrTZw)WHQStM}V-A4L@gp4??OKHl; zj60M(64_odj26k_rFBNODYyYr!78bo&4$y>(x>$M>^LoQ74^&Exr!V+K8(}lHjloR z6W24DTq6~)As0@oTfKCsBDrze20K{?^We1otncQtdmlxMYEw%E|U1oD!$Y z^m*DZhO|qip{;(UaoYBF&QumBUG(1hWjUPAn;pND_tK`#DnCeg6c@<2l~EBFD=v!d z>0>yZH(7LHsD#rp_A?)qz5FJ#?pMKSKj;^PNh8&8+Aa-QzE9wE-fp^RktaQ8^ZOL; zki=Q29aF;7IPLd#tWpCPh_iXC>A82Po3e#w&66)ZzU4G;E zxh^h7oR#|=PM1+F{Xs%JEAqZ#|F4qaTXflv`x3N-FP0iSB@7pFdvP) zcztC3*U%WJ)v$Bt7jU}0YQ#F-)Y6idrfrV%w|^}xp8P%`&{&a3OPqf#qm{VCfm`p- zQJ40XpQPEuaZU#>KdW;`+zjEL9G7&$Xygx7Jpd{d-%t{X0pNn4h0;NoR__-aNM?@in}>41eFQb?N_Opj{!K1l9FSofjF(k3CegIr}b+bEdvQd zym+lxe~02UN?+0r$7#7EAJLRTT&#@SvDv%gl1YW5#OcrXLg4nlt=JB|M_SGPOSUCr za7w%G_&!eS{08$o-gB$imVAhlVj^iP%0R+I&)GGt$vBN-eRqnu2h}-V;(f?IbQ)>* zinHr~({b8X@3QUGJ{t+bfA{*(Omot27v`7WCCtJ#k#Rd-n~l?b!BAaz66WAC2yI_6 z*W$S-;V|4^1+txysiKd%9~M|znOsLdUFbPG?p)+KI~V#Cr`6cWy1Ez_BkO^!A4_oB z26ioNDNdK0tqY&w{O#2;oZp{U;3i7iC2X@-;wp->bMen{K?Yd|=^LwX{&BIcQx96c zv6A28x^hbRg0%kr_e-2cv17RPxUS;1u#CRKY5nXvwceMG1nzk4WzI>q;&eCmx%_GP z#*61nB=RjzkAH`2!%EnW)8%Vn2QCnCjdgz)PLowH>|*Z4>GH5}04L2CNk)J9&P)4* zj!QV`#Vg6WdI+b>?FahRk6yeVIZru;3nZTPm*Y6CUnb6{Pk3opv#&UbqlqQ9oP*(_ zWIO}w(P^A6qw1QegkQY0c3gZGr|nn0NEj{hD^A;BM&R5`CT;e-FZj+q$e zFW)3MznzoeI=CXkVRD?#?~xeyLke7+Oxk`S%8O^$B2(gY(bjfJBdKvZAGS?QhtqZ1 zu2X05;;mzS%ZQ62FGXf?$pR;aS)=NtI4#5O!#+gX1aXIHh^#m*cNE*d?4H}H?JMD7 zoVJ18W66yR#M$zF1Q#pLwsm=M+Rm#fBfpoQ9kUj|B}lwiG_r((IGvB#tgD4^TIYqV z`-O43JRauQEE*Rr?pPoL2}N)^AMIGVisG~k>-WWQ+Rk5aeWSRSpPl=a@Z1WvYo){` z4*vHVfZo?iDo%r)BbFiU7N^5uS)6}ez8p^H&5otY?xzxgS*6HdEc63&la#>I*o&wBm}PRrfR@pxx1zmDwV zyWpZE-Y~YEui^r6-)P|yUc=2uBF`1j_OIi#E_VI&4KJ;2>)yoa?A!g-?l|pwcK^JG z7tgM_y@jJ15?k&^;bLUG3D+3=;&eVva;`Q27l^aE48&=jqv-eV;QafhERT0_{`u-SoYv(xwz2Qyv`f`yra!>xe(o>MXU2Q+ z?0JR>o|EKZn1s`I8A^Yd?71WCXFkGdUEVC?(oV(cY`v`+NSKBjB;!Ll|ClZ=S)jkl zdck>UI1#x0YU`}wRAdHewaeG#7;Y9$+se-UKE^eX?V8(vH#@l&}J)?PA;0l{j4#_AJhqURq73VVyYLhw4vrWO?W%j`hUrAmh1N zKQ`c`J4Y&We7X^*`?B|#x36%4xJq1;-h|V-*!`5vIPEVMw%~M`+ct5lm!I9Y`UaO^ z35DBndavz6`tA;#woB${7kMX6+x`z7m#_=h(@loMJvd!%c09fhS6tjI`uzc%E($xp z{2r%eRHO}l@bW9le)^#2Y`r|}ebUy5O@+3}|n{Dq;d1-Asc?Q=(;?2w_0|{qwTEDkBht<9v3EX-#kp04W zT&(;wfp)oo)8%IOAuf9Pi4MahFF(6(aTymQG3?mq3T~J^kNRoMaifq?MF#(~I{R$6U8@{&B<| zT)ayb4*$W$%G45$Pb0dL2JYDbJFiHD(|GwQH!;p%zR7S}MtF}%m>icu#yc^;DR4T! z$LQlJae+9yUz^HHYsajqak_l_X=Dj$aED~vo{dU}yDY9s1&t-gffi3TIv;UQI0H_X zuZ4^_t#daWNC>Yv2kstoQ?BJ^A)fYo+b=wX({{A)@UYzdpv|T32F^!&ONT`g{bNxsz$X>g1>8+P&GDIEi|1 zzh4WtO-Sx7v6AL}_O-9$ zw0?GfrW;O|xrH}y+Rk<@=uKRlxW4p*?l|q^w$1K=(>gC_d-ax=-|awtkkA|F?<@Lw z@$5O2fnI)nS(fkMbougmnaCiVHoF}Q4Ds?i%k{94p0jI4?~1c^>#Xd{w7ZQap0<_U zhZyUnwd*DCoAZ|C2RN;tZHqs|X+Idjd`!S;``PvENw^t8I}e?L(>Aqd(5B+z#o2Mw zG@M@S%b|r!n2yusX8lj|js&tzlX!OjawaZXe%ir4Y8FnSMrw22XD;rXY@6-b^Le-q znwE8SK5nTvyAHAd=kHS%;Vg3~_vEyrA+;UxrlH zYuA=G;a1f_$aF%-shj0_cS${c<({j^F+i3U^r{!8WiqmBj&$04x&)Kor zPq+-0Ps#7^EEP%frLcb zNP$~_?U*64xMboqJWrd36M?%Hbc^{&PFk(=a?S(7>v0lK>tZ1l@!~{Se@=~y7nh4| zaax>a-$3>?8q(pyHVr}*N$)vlq+YmK6T*x*t;_e!M>d?cy*<;L2iH@aJ;M@sX+?*j zpqJL>qYzH(Y|o7p#%Z1H*rLdN@+*qdHn8Ukih23j`(-6@u@cWhDO@1J&JAL4TCSa+ zmlmh{ef_C{?DzFjW*Oo&k@55Fd&-JSEb*enStv(5tzUK7?r12F(=y&>e^~*i-Kz`z z{!v_vIJ<{Y5$Eq$AG7@Ac+j4;5AUS~vhU6ti4@>EVI|^ako?ZFepC_npyPX8<}>L- zPmnfNoIOwTw5AP2NO*($AK^sco^f5mwzxWJw~?2|sezNI_pTMx#A&$}YT>j^cb9Xv zj<^Ta+26j@C2gD}v-@Dr;rzZ9kMo}ct%o}#X~XNL!unoXyWaUcu7mt;$NY_O+Rhf5 z;P=X8+aN1w&{I@mEKM!bwi?~s}>}o zgO}Fs!*;~!wyvh#W5H?FmayIJ;yHV-@^xH-#It*|-Mn~qp7JIxTH;ygjw>!=BiH(R zdhzTXlioOOmql!w`r@>HcCW1;E>4_XW9*NM5ock5m!Iu>271n(?RgvL_n|?!VUn3` z*M@oV?7HZ1FTXEn`|usQKoZJt6PS;Y#MAk(dwlPTv-6MUvR>;d_a5LX~5l)Z)p5eOBEL^n2vuA*2;{tJZzjiLJfVelMtu)NTWtVY#?q)vD zKSp1OQ`oc9i*VXjcD}F}r|XA3r@BO(wx70@h48*|@W03R%Sfxs_gx|{$NA5-ti)+M zTlgFoh_LrlR(bi^yV9$1TE7ciw^)PIcD8NU7dV}_D)hfEy|nLh{a_s~ka*U|*WGoKdq(pJ&Tr=*J!kJt9K-FE z`CY_y!k=(DzhhWNCvkD&D(07ggr9MGugKoZ3fI}d9e0M2WN?Of{`J4JIIZ(h`pY?7 z0dck-UGU;PuMHvLSDdz=^^J?TB;xG8+Hbf7akgLh9oJP{xqLE^a0#dLyO`sb%Q*kp zfGb|S8>Pdfk*heJ4?8CO1J^;^O16K0;3l{mU;jg>y6%P$@An#j0?^f)c|D*K8Io?FQAWJX-9#Iy6GOgO)< zWybl(r&)0RHS>pX(URX<9hZ<5r*)~vac6dMNdwnbg$lWAb2*5o^JLd)9>&Frv;9#{ zT#Pt-4?H(6Ufiw%GLVo5r|oCob_j4<7Yq4ty4@WTIGZ1*S=oA25U2ICd%}fqn#|Ut zXk4tg!)%L-;>L)xceRS)v>(_$v=mPJ(5I|hWjv?JHI&0ulyQ3}xIAuvMj%wcCCKzy zt`9wm3&gczUC{S_weM=X*n0Gs=kjSm5+28C8{E}~l~5ViLB?Oxic6@9({VdysD{&I z_Uz1)I8C;fZP-&dtxLCZGLY~zPOGtt^S2tFv+K__asG4R&)~G3?fOA2oR+(cZDL(q zAkLQMvpB6w50=MsxM*>`^U6R%JTAMen8&muNvMz0`L%Zy8hB~5u-|Hk^XKh(FYO@C zIUD0TNPf0WY>JE086h;oX`Ss@v^g%$A_-eqS{b)zk6y&Z$b8s6hXkB1bGv5V3a4$* zi}q`a3&dH!ddYKk&K@oUi4-I8EOaEEw!ux>w3FxTnV45_tEGMxI^$^ePMtb11N$r}Yo@+*e|2pLXG~q$d zBxp0)eZ-OEr%7&*_FbH|K@)9k38Oq`+pEzyZI^*8^Ks&m25$eBx0GD3lHcC<;%(!a z?*}-oi#>BU5vS$aGd7cO@#5^;4pVS}I6Joe$V+SYA*SNA{fbLnG)%+ka=Ujg1}BFb z_ug}ziPL$rcNAygI*7A(uV>@@`hAQWCh=b6oP91%+tc3Rn1|~s@$B7^1vsf*Bz$gH z_z6zu!}hBSaj_h$$xo3*I9+6RePb~$PF#7mS4(hXG!fh9r8u28+cqu3#fY=-mn_F6 zh_h|%3Y;#t!>$#q z#l?!V=TO$+{QbvzFF)%q8*qW7wQo9og^Lnr+l@`Q8M6M`yN6qF3F0ypl*kgk!D;>M zcyb#~=gE#=w&Qg9e#QQBhnKb}+v1%#owW0wT{u1T+sg6ZZk+aw(Wzx1VJ}Y0wf)vU zoOYMm8cD)_oL-BH=N#t%E|A|3agOtY=QN#$gE%e2`r08}PjS!5F`z+^?L6{_MrG=U-0aI!HVVXK@WhG>LNd z9PWlpKAy?B^Eh2@cCYsWP8UV^PP6b=+%Orp>#^Z8wt?GU+IsXm@%(en%Q$TVdvE&+ z&hKkiasD@su30=uYtL%@g^L$w_xNt$bUt=-59k(7`;gsFxsCJt#$BAYy*>Y|=e?0Y zu6YaW8S6wiEn_QvG6_!8*3*0>B*XdVtI2WE@_Szn2vXp5U9fvBQMduJ4yM#jC?S=& zq=8%ylJTo@@}otkCSJUZ*OA{eq$8d#?pNhc5Ao9zuVNtEY}UaHIKMw<#7VTsU~Mo7 znQ*Z(Zr{AfjMHUl_k^=}&bC8YaXP;i9>(dr4Q<$O<-%#3+I7}^xCC+MSy%JpI*1Fe zTL}x}wCy_-l!1gII4#%Kx1ydqzmKVvQjub z{qFgwuJmP#M=mL|*p$Rd8CrTO9jT_0rn=5Y;T6m*JDRC~>{n4pql# z*Rx~7INTv|_PpaWIDh@Eg;V5DB?Aeyae<6mKd6h-GS;(=coug^meF9|EqKmL`#i@M z@m^ZHS6L6It7#efRehZHzv&#yH?*{Jy~Ex!eBO&^?^QOzX`4<=F9QiL;EKz*Jx|>f z7l^axV_V>KncFqm1f168d(A*XtNY~l5>6M<7hL;l=cTp!b@1ZZeZNk)SZP1|zQ8Lu z#iVRnsyt8TrFBM*dvO&-*s;Z{IIZ&m9hcA*7c1j-E$B6z*4dt)?1mdA&h}B^_u2w? z{lNAMZxSy~;#uG5;g#_?+ugTtlKkHDNWE~{hb(PxoYrMG*R;atK_y{~I17Efc#rEs zme3!kb++fO2jHT@7;Z2S7s#ZQ`?lxonZA62!I3D+39i;dGm0>*X?BAkL1n zmy1g*Lg&q%AzeW{|6QJyIIYVQTw7X&(>mMp5k-E&Y5UnbT_-F* zaVOX(pTueVh36Q;pK)hylc{}apXYKL}j_xBl$h82RmSM}|98SxyZ~@m- zggxK%D^B~f-B0-qH$a?SC%lZ)`L*XauHdv?R%pXYxQg?)Vb^fc^7{skk^c1Zv*+9Y z!ujukU-#15HKQ9iZ38=B{o9;ubnF`KO`Oh~y*qLTmrUH3T5$yX=mivk}goI=`owVy~DRBNhfBiowG(Y)wZy%5nr|t4x0U1b0h0{8pE)=RrYMd@# z3u(Okwg=9p^PKHx(&OSKirvG_fQuEENefcqbTQgB(9HMAFN>G98TYLo!ey7V(+g{E za(@e_^HzrA$!xedads}A!%J)H+rzj463_ZyPI0$g!xN(mYALCNdtruPv6}e7v8H6Q_As< zmmez91gCv`8|S7k;3|p>kHdw{a0xPQ$1lxsx{Pvg4%@=Z&yF`*dhu*oCg9>Ft%X)N zonN~y&;}QXvv;A|;?9Xns^b#cFbS{YVrBeS6%yXS`DMI`8z8^i^M5^Xnw9MrdU|e8l>8u}mpJW{I$2Q;=yj9T zn|S{7QhmI%_WgstIK9slerHM2_QM^Lal41x-|`b@*X9Oz&c4y}HZE4;*)i)NoGwdy zUS$X_5NF?f9Euwz&hCEmT0gK4-piD%Cr zOvh=TwCl<!)e>w_1#arcy_OM zAx`UO_gy~4Y5nZFz*3y{Q+sy*GhDnld){^#PRq6L2`=}XofEIX#Y((yxwfTW}L)ecN9k zRFSRfbVZfmhT&*Q3usP~Q;_KUOa%Q0zZ-M$WRhkB8NIGz0h^tD5l zpIisFXSWXH5+t5I!*T?t?b4sLM{#lDCbBI)hSOzf@Ae(XX`K(y20!8aXE{&cw4KZG zZqP~GA#v7Lr*K`x*|ExLoR$$jPbxf%({0my>KDF?5J9U@Y$NcU7N6Dsg%UiJ2(&N&|4W{rpGl`!Or~S&_U&w^ZF76i&7Bl1gdCP)pBJnIdgwthd&x(id4g{`U zYH|FW&5Ku!6*GLULE`DW*?aW4h^N)CXQ=Yv;>0Z|AOi`3=j?pH08aC>bB)3{t)GQx zoX(qlqoOEIv$y+$`hNuK@|A!0zEfG;OIw$DD}nR3?Im#ulGgV7rEpq?U3)Eqixy|0 zEKch;gX>tZ4N|04poeCM)WR`KHP=eWHpu7f1B=TNHQ^pMH!YsBLG_lc|Hv`<>7fz#>X zJd;opr_0yAVH)Q-dj_MH=j>g<+BpB%r!G$Cw?Fgt98O{DZ+$PG9iKM9MN7P2c$TCQ zuB$k^Cl}to4_x~#Bi;+dlf&tI&qO!J`S*HT;Iw{GETfjVCgMKh-KrOH(c<1`nYY5} zy0u1*$3rjS<|q31o!fS}%M#DdCEMd-#M%C%qnDpO7t{%tAn`1` zjMI6u@QRl~9u6@U_J5Kwb9mDm+X&czJkzQUrd-kX|E?(l*31lFl4=!59U)4+{^ux`Uak~f9 zAE(RQ-YXx7ixoGD;|TpOnI21No92}E%PV|`c!~qW8;sK;?b_iGaSz(BYJT?2=TOoH z;_O^w7*4lW_H55^oTjzwG~qigk}yI3EQ}?d_R}8h8^__at?b=`@wixVwy*tAob`?6 z^cVR#+;&C_25JLHm`GY(-)`x+gvq!#8MpVrrr@+)!uLLeQ$1(zf=&}>;f$c8n*3w zaKpsewT!(uoevB9asIWw130ZqahBV6xH{t6X@g1l{yzB~!o|q%cJ6l=r?7AYr|n|> z6M=fY3n^qhEvE>H<) zaJnq*d609s4&v;)B(%SX4Xq+yO+Y(7u~&WYzg9tzPB!v##I(~mom!Yw5{xW zOXYCdE*2`_Vnu}4HG~y$Gi2PtW4Htnc79$7S3sP-TU8mS^I_Z5@LqV}&b#eh)o>p! zZicjrJ?mFZ(mtqf=zQ3{#qe2oNvq|~(t(60DEFLHOOHU`L$Rz$_>KfZ4ufh z?YW0ny!i|D0ZEC z5H41nwZSl)&TlTc#;akt=j=J75x9x+`zh-D9!?Lf?0e>;aUI0j@x~a>i4Ma!+(y=2 zmG9$p-s)BeqeaGh&c1mu5tm(}*!NT?;dFji1upGm&)Ipv6feIWJoEVxPTRgR%Y3RA zFF)-v4R=W5*)_rGUc7p)*vJf=9;$`+k%cpH{_>cG>m$GKl4CIqvvDypZuiRP;&k6= z-x8RQn;|>u9ITfMa5^7$jpq|wf;bC{a9Tzsj_W?fY1`Yi(k0^b_(~Vi6UAg)xRiKW zmn>X!TY=MgJF5#t!slMvr{%d8O}mPCfsEU|thG2T*X~!W!};5n^*I0kAlqR1NgFI= zd-WAg%d=~xn{Zk+`_|QFT%0(&cef4aKa=$>&VTNDJFcswwXg%HZEDX2?ZoN4*>UGC zoNg!W-G@E6K%9LSdoRv^zk46fU*-pJHzch+d-*+1%dqeRPU~Xdoj!=u<;Er~a>$Ek z%i}OkQJV~p;9_OkzV&w$7kJC#7*5Nub?`V&k8`SMg(UnWE^*-cNhoA+!b|%S$3rJ^ z8NB;ZKjXCR?RkdNI9=u!d5-qHm!JKA;J@OuKihTIi@1v7CIm8&@SB(RWv&HX#`(`F zT*3L<#H+X{$;ZA!@CQzpk$uziPjR}w>E`ASX%~G(;4k87`(AkO+}3S7K63*q(F!0o56 z$aX_RI^yYiY4_+edimM?_{=!}y8J^pZPUtJ=gNvp5ci5^Dj}OV?L#`h_Pp)G;vRIo zrt@asdCx_D+Rk>&@CeSomK)$StvxrK7Z-@LXZZ4Y@$CDy;X4`Z#S^?s96=$KK zmv&SMXA9wa%A`F%Ss16YZ^zWpxEOKvjq@V7CgSq3oh*ur71vSwgoI)^|C&b$TnG7m zvsPR}Nu1W%&d*EXwEx-nMa$r{es*oMEKZk^JzG%@r`fOOx_kwkK8s`D?0?jY_YlX* z;kGPr=Op$n{Nu!`! zwKCB4cZQ4?lkHWE#8q!;3wUYG<@GA5X|>#m+2vaWvJKU$SiDgjgNVB4!v8-^g#?S& z%*)SQzho|s4z-MEp&k?Jck^|-Z}C3%>X%p+hSnwg{|bZ}G_5Wp-Io=UwEBp=r48S) zlxYo?Hhf>vsW5H!ys{0Gza`@IR)M9hexG@pcAxq9M;nu1Wt{h%UAxw(Rz^+IDJ)+2f8*jUUifX_|G4*zYn~4;d}9(L_dmbR75zXfyQ_Y9Ec`g-wfS#I&>*W%6d zoW*P8)y3jH>$QQ-TSY1F)x5GD7p{;$i&x4^Yw`5n(;rfwl@d>#MwursB`g+xE`OF* z-@&tBE{B(&x$v7nMAZCj8>ZhhSS#M*{oSHQq9^ zc>TRLFc-czEqQ6sGIaZ#L$=xa{fDhGZu!0Gm0@YK-zUHH_vu6aw$9QH_2$=H%KNxM zUb$L7EmH3t>v#C~$+)Hc{yu5%w|ooAd|9xxznc)63%{d^*K&28&LDNs{{6lDsk7_j z3#6?N;k5k<%SL9DlygMJt^Eexr(FL%2`g9kofgb-8Wn2GPp|V>Fc*GH3~BDs`;^=J zKFjTnWhT^lixbY0lUDt1!(|z_y5#oCHP`$;WjuSI<&kioa&vpm>O9}ePmljJ%2}^p zY5jCPA1T*HWOp0+Q~sgnXe=78N!qO(cPhGUnTCjNGH-?Z_zl>g5bDjRv2H7Qz{$CLK ze+8zKaxGqeZyA|;Lw>hl<>vA7GuPriF8n?Wi7j4ZFP^r6E~6B(Jam7Y)oX)qNvE*1 zweI5%-lxvg65%|Bs#!2J)La?Hl?o^(2`tAb*xN{C^GPHx1^J-lzY) zDQPTNyk;hZ=AOHc+mq~HX>I?lHy`#)e!YLA{XfRe0^Y9TYWtT+(clzqxbYx?;10o| zNP|l$+~V%VC0KEHhvLPh6em!$kl++4R@|Y*ihj>?&i;qzop0`a-}&WapS#ZTwPwxi z*|Yba5Vse@r^u*{zh{ID@D2*v-kt4u3>wtV)A_>(t@m3rvh6F^D_<{LUH)2Fc<9`E zH&BCzjD16{Y3;fn_36@QRLE%E*DaVEv=2u<1KY6z+ppsLdBcC`*Lq)lTf_tzt@juf zu-1DV3fQI<8E-}&pkM19LJh6$b&c3U33s-Ru5ak_ScBsOw5{hTG;m<2RP3EDbb;Ub zVK1~xRA`rqc!0Nb=t7Kk(LBQQ*v%x%Fvr|$xqh}lSJ=^dhEzk3E~kYqz%GkiL+)f@ zhh+>GpFTQ={X)kr8oBSOU=7ov%~1Wlr9RNE7c$WKs|DNp*|!S3k$oHGbU>Hdxz%o= zpZUEY9)3>DYVyIZ!SB|Pi!P4_Ei(Fxh6Y~$O1|73`dRL_BJz6yc9fj`#RGm)hs|4|6k!K4mJS)fTF+H!7}{RD#QWCg6#a>k zg^b%PzG}TUIcQhW_d|wiO+a*~1??|_7P(hcbe_3l+nAt5m+t}(emQ>zuk}8yMn7N! zBW}Q2&nqkNTJIbP+gvyNekQ-a_tLQK>d*y#V=FpuUV*iq8_~$Xj+HC=of@%3#tId= zO9c#mt!JedGT0Aiuw&k(Hp9GG;T$cuGHD$IXJ%(C_%jUDLiUga?PW?+1N4%9RDKVXZ8ZRq@& z{M;qH>4V>L*0*Ws*Lv@C0o$g6_d5u6gm#(0vmF|`ThA-FN_u;*4R{BJ9l%zp@LQ>p z8?EQNH@KEDM&GYipiWZkIwixfZ3VkVYeshoHb5}^GD+x%+(j#}Z^M7!`P_g8zcCd% zR**~@w5{hpH$dy>zU6)JuS)hJ;g@47w7;n6_bvi-M3-{{hTN4aw4YV*{#t%=j}fx1OE6#OLYE^dzFM>9t1m^PU{yTYW>iqLo#W|ow#D#svzlz+-)j; z;rXIQ2d}oK|EG`(UPs8a&St-*_9J!axNYdXW#B>UT%-ZJFZ9Ep$l@a3>oliy#uk)2iW@+yeEPmcpp{l*sS8y*MlG9mP>>` z9xvfHS>OSCDC9aGU7|Tn=T?&neuh5SHb!t7v?l}55!hmt+LZMkyuVcNcCPUIrlRxf z6(9Veu)|}c_i8+(c>0}h$bBK=i*4DDz+1Z_WBZCOJ5^whhi&$$1L6A@rjYDEhb|jb zWLy<6^c!9A%Ze4e+Iar!=tuB7B51L<^<3pf4zNwbSHS)geg?L21@DgVOCR~b@wiAw zpR4{ge2}^r&ttNmCGU5edc7YR4+>7hj)^L|{3CP$@BE6r6IWo1M%<9wdRHfcn|0fl z!Zu{A6@G^HQ|NRAwo=gAUjNBj#v`)Fur9%T{&1;|UT1@L<)B4w>s<%Ja|7?AiXE3% zV8g;!(B2Su*5w89-9c*}e&5E^q07Jm&#Da-zSm@)4ZOahqaov7{Z0e6Sm3^fr?7aq!FeJ+vEz4E)@Beyf?O0h_8~ z8_xzZ9{f&@+^{bD=(n}BuI#z$V{Vc1*?IUsY&pYiV0Y+~9Xs=x2M){uEtH@P3Qw#237?0}oj1oy&!O7lxnl z)fFKZ*aBe({95k_)lR~lO}ZH7`R;c^^z0t#(?9gvF65Tu>MY^s5oX#n z}VJvT%;E*SjQ3jK^{ z6TZ^A#c;tF3B1}l$@F0_zOP;X@R}$M{VosvfUQu;gIu3PMxK9^@z_Cvz`Lm8=Ra0t zJb-dKqRY~O2fta180plv^-R$z`}O3r#=M~;{9`@qOeLvC%q-pm#KMptOZ!c0f&=Q+p)+9xwm^uG^Xb_qL> zdwSRl?5yw={O%FIKZ~#T%7OP6{Y?YbuflIc@ax^#?t@beYS-~C#LqHT5u?Mj7CA)p z+l7oZf)*LOhaLFTG&Jy9@3?G$z*Y$TEY~&h041UKTJ08c&kQ_tK3I5N!rw=Drkz{g z{hr%j>hJx6cBe|*##ii^FJz$0f#Nrh;0H7^K9daJTeZ1h2ZoGiLIys#PQTNzcW4FH zdJlbr2;OTIeviP+N6iWCc8_f|Xb+Eg0P|WZ4gHP?z@Pv>%AoxLheef&Cit(Zc?*xxoo!$J zU4H2jFJHq0@7s!g+X#ndT8}AyC-u~#J5L|{GOfPTfbCq#wZ0YDqoE(VJgzv>@ag=j zVO;`V8gg?j9NM=+7whaAamA4K8vLL28+a2({{?nI&;naHVCHw5^nGy-ohu7|vp(26 zpulq-_j6bt>f6RO?P$ULe3eawd%Hf!IIiNCBZW&dt-5gQKL3jayfulfqeUN7hcbq#!+)~@((mgpb&<(=RMZR?%J zjcj0hHh=p7?B)vXS4F;fUB&lWJ|=zMmwwjSZhuNJuV;K5I=@-r_eLc~j|L1o=C9a0 zGIT-bm+Y{nSr_N?M!J^j>v=zgF6RX;GL8rt@Ov=$^%g&?wx;6IrK8VREMvI7`J2ThWif<{T`lC*M)^UOT$lxjs;Y&yyh`$@Y}zl%Mz2fb(yW9JxhFA&u~#L zc;AI(EGm8*C>~qL2LlDe-kh7E^K1H@*3wT7yiEFCCE3IM+thtpJ{=l%K>JqM3+xri zq#@UHcp7+{0nicH=0OXrMtgEamzgTGt@lYca^UxB=!|}?_dykSy`pcC2S(}AXG!@5 zeq#gA{&Q|juj>#;N}r_zZ~2PcLkn7)wbp#PmqfVB1a1F{y|w+UXEL%-z#=!m_y zgf8IaH4NLKA+Y1us$pjecNOu4_TA9McosS3khWh|4ZPZZ^atb<8giekx;AdUz zml+1N$Fh@!5AEr}&v>r)o6CQ%D+f;(o?-gev6A}26FQz1w8utYfZt8w7hp>kGOWvu z@|Dly&kuh6^qpq8kLZtGrSs=f%RaF4md3z@>r_^BLrWF8y{{@Vma^gWHPw>_5NK`LFBYRYCiRzSFSd zPr;A)J{U0Y_LW^UV6{E2uYshaZ5yuRg9G$D6)AN~=(0-iGu~0M^?vQ$x=--C0`K9_ z8U1Q|j&~0qfcIL+Kw?^BiZ*!Ps1J%Y);vGsqFb% z*l~>DG-Ny}92&5#EBf6Nwt?r|q4n;RZ2fVV{_E1wKC>@cmz#+#+z#**`D(B`@nczzGeDZ=sIa&&oDcF}<4J}6*+ z0!c?|tX1*H`xKDzmE!SV{q6l^(0&uN*l~`2r-A1>M+0_R1-4fB-f~BaXd?Mq$bCNK8gG>F9?%}}X{58)xee_r9TB*7*V3|&6fcN(yLg+l}8 z@stMaccC+|e^l^(8~m(`^KUBo)V`T9blIrlm)e}>%wA~Hw$1#u65lyR@3l8{Sv>H7 zJzcT4^$x^_C3p*kZPwZO{D#)04wEh3{|a7hJ-c>K`cdH*^K*_rG-dmpg5Glvzrhuq zr!90@RJ5mQEPGkF%LeTs`c8x2&B2d+$$f6t#i~8lthxDo7rebH@z@dpIwE6G#245O z6?@Md+1?xL{aVPlx56*ygz$Sf@Sx2(X4!vt5Wa2m`G?;bySDV%P;%k-Oz3R9vBH~I zYj}Qc*QTN0Hh~ANro|H)uwBAe=I5N`-tZm74;XpBO9OLwCQ&RqrQaTcVOwqg?mXdB zmfhrT5y?pnWj(gZ9SY2j1Nko$sx{j;_FN3>omdqatJ7@Bw(MR_xdjBXo3( zhU@4xy)T7(qilqBgP`p#Jgf0cQ+IC-Jg?i+%+Gl1=zQS=>3Cb9 zGe0vtb1tpvNzT~dw@1ju_qngsw9Y@jyY)Qr_*>APqVF{1t{E_BZ&E?NP;z{&1iWc% zVAGI0cfi1#sscNpkkKjohlx?Enty8R4x*q6ekfp=}l0CqzKmg6NlzhAL! z?Xbi8>0ihFs&%soKBII(#%t1*1}xWEP3w7tpWEnjo>@g(j(K@)@w|%88;36FoYxmD z!!>&%T|1dWGCC#0unh%!Rg1TKNyh=9^NSHTbndM9pl`?p??&;Vp^MLtY2e)jKu7Q{ zuF$sLC*9yeJDv2U0h_m?i|-|**%&wLFX7Y`r&Gkj3S!{^TE{9eVj z{lX6PyDsp0H@cjuJvLpE>+4P6EfP8d`>+yoUqhs!OL=|Ytp29+>7#|addP76Y0!Qh za_uYEjT1!oz2NHzAG}=WLciI9AFw4OM&>t0{QUg!e)6mLxx?=W!D-OuJQmpM5fA+L zyFqRLd0hv*(IFSu(%~y$!voLyxexwMW4G@O-7@%{gmOBf^WkByX+_q0x96|K)6Wh; zM(f?`4Lz_Go4X1!H*6Z7YR;- z_RF9Jwi8G?;?oZ*u=C_Q8nmu^G+-x2f3tpFLiq1|y1pe`@5eJt;py;xmA!>~e&~Fv z;52l(x}vjd2#vT6kR!STyt0w8tG+*{HIxVSx9|6d-~2%f?5FTE^(wDLgXgsg8ul&+ zKu2JA1)lA-3DZp1zV?1s*t>q{0`1bF3$Pml4}0ejpDyuzB>2^?&3<0tHzr`%R@?J= zO5mZ(sL*8sEbImL*9z?;foH!gDgEzM0hn7hyr7R^9#cLPYzN7CDQsIc_@T4+UD1&H zas{?h$c1*5u)}hvm|8ii8nL{BpeF#Xm1OC$mjw|M_@Mv zEwI{oz&Vu|ogex^>pcrJV24$7$$M77TO?>5506`1JMJI$z7%<2Jl_3yujpqNo?&LS zzB-PtbpBpXU)nbq;ZcY*{$)?(3@`nr1xz>3cXHkle)^ zU0id%Q{P`*$EAYySA~p4MYoCaMVI`!S}+L~Lk*J)t3 z_maWw{Q~PIOgLU&+)OZJtTL=EWAg@YjB<2R37=h`tpvjdc`t=+b3FWR^6kWPyN1?s zuN|m0R>|1Df!PO(3~29T+A;WfU5y66YsFwy<;Jdo_gSUSyeXM9(^~Gr@{QM9_Yf_9 z&T|Ot__~nmZneNr<)-Z2SG2_U-ys9q(<{16Wd=<{ZpIh=?$Wuvugx4H8NEB(@%=`% zy-T!5huqvdh}`KzuKD@T0rM)aHJTGtTb<8hU z-0agULYD)=SMc-xD;ltALO;uJpYppZE|4u(2EX4IcxHc})-uKj?>gc27A+=p>9^|z zBM*%0kFRARcfrsF+6Ba*OE|ZN-0k!?4cc7C#HY1ucP~|ZFj>fjU(Ppx4aOJ=w_jG# z@#%ruL#yN6728}-p#5C2prPM$0RwMnTY=zd>RcXi= z7yN*Y2wKZnR74}id$j!ZeaIM8@!w(vV1Awf%{tpJ ze^h;bOYq6`M{mJQ_JPjryL6mVFlc`pa-p4ike)>-KTIt=!={*A*S?i&y9;+F!O;1m z$PMF-6z^k2dz<9`N_e#~z<3)9Z-8puC@D24boshs+o@q2IzJ{oXyzvt6P_72NATMt zVu{Xq?;NmvrjGe_>2sF)%)^p1U+{CD(a^=$(rNI!qhd$yj|J~<5b6j&KgWXx-iQk9 zGLUqH_TLc?XlwTebXNFH6SVMqqGHFZAr~0~D}BM&^=a_?SA}2gx`Fpo(fV{MucYr+ z%9qsyTwU=nY?QvwtAv|FFA(H_EIE8_Na#Wt~<(9G{M>2}p{tpVz|UeJCV zwAg!3_|LTZ*RiawBYF*e<3^XUf(@1~SBT$l1*0$IycoaS88U!*4?PXJcUSy(Zs0+C zNWgk`w)_4d?b+@U!`&MF+y@`fIpY30?iuz@88U2}eri4I=PTK~Z{R%~GLSp00{dgw z2EWr(OBR=$F~RT6z=Pj?!4Dr?7BKKWi+BLLumZcGlBelYWPDwrohe}8`5rtPa!)M$ zw~7$XSU~kjvX2RSyZS=e)L8xLwf|!z=UCy{S2GE=u@>39m*)7OeeY+|c74|0lWT+0 zX!+*Ez?-vT?_Uf3EW__gepPbM3|e19r(xU6h0faw!OyMjD?eNqw8vHCUKGBvZFc8n z>L31cL(qC}I?Z_csl)4Gi;3RPdqS5b0}t3{A%hrs9gYUx@)q7S%UDp~{SHfCbGbic z%o%vlE?n`;LKR(Hi)hepThZ^}ihh5u@H+!$I>K*M5s%UOZM^2O3` zvt9qLYUM-ut%?g7(BpEN2jZ z8v1$dfX29BH~ZsjMwUBLe7Dsc?kwr^p}ymTi9$bMTUTJi0*2g0BmaQqy`{j$haIJU zc^;qlkVCs~&;r{ge1OjTRq|^6@C&qlhA0i%d&0I-Kl=~7yao=xXM+~leH9s<75%(M zL4)?}iq88~_?-}bX~kEJydUIGf={b+7<9fR_!-aZ0<#a*Tt~5+L3q6dvl_E#EvQS! zUkYYC!?sf`zEJ#T6b$`#uIQ4_ya4ad6?L zbI@W(ZEs%Q7X#iTVH>d8^QxWozS!m!L4M0bH z`bNOOTOw$!pWoFySmzMO3HOAsV~Yyy)8Pa7of$CmbA35cYd`;$-M$8In5H5fW%=_(VwK<4&c1@g9<7KCGzAp5ut?Nx3{7maV{fwwT zNyi&Si(J=jn(^#|af5Wfi12O>yjwzNlb1?+GP)`2x$Udt%VEb|Ap?G|R$#p<`dt+;%P`qnLv{YA!&g;OtH(~_L&x54_+dcdOzk@1yb!@~9 z+AAvheGoEi???%pO6xT52|iNx8s=D@G>7&lOU``ZKfgTQZE|XNH`j^%0wGnAMm>#vGt| zgMSCl*QbqV7QpN^aX4(GSFWJcOd9r0ld`BPg zvG3p3hmb()IMA@;UFl~#beN#u9P%lR+%SI{a@}VP@6->LJ4QyXDCKOc8*(+( zZXp9*ZftZJR-v6sOreF}X>t}my*zBQE-#43B7NIFu`bB)ciStMO`tt9XgzNluHQ}$ z{g5#z;%0umgtwmNiE|6?Yc0gm_h6kRo{I@q>O4+x_`QXrga@o&A;bCQbv^re-N5S% z{j7`ercr-0-g^3OnAzVssJ&-%LwzrG*FqFc8juiuZu#sRd%Z}p&L&l-u18C=;txbEp@CJLll{jA-rGYXx)M#_Bk?4D2p${}itAI)yiVueMJ5+Jc$pMbQe} zYGsU^LnX|40BoD^Juv&)pR8+_L_e|}mPgI;9F4qsQ}dyIa@w7OImaCyU$>%_G7htR z;XRci(xmoTr`mLnBS;*k|`H9B!+NJq*>G+MD3_o=CvuwS-_@aI{ zt$!!~UT$EH&DC1)bYA^a-%aaUvbXZ;@1lK0-|bV0=~yP>i@lRaJgkdlbm`MeA2)Qy zwl^D?<+@q!yE=mBz1X(xJ;6#JC>Tc5D|pX_#qVlS~?Ny_RdAE*`pUs=0;7^rZ!(&$t%9AfBG{m2xi@ zZV6jgvPzi!T*CT@7JDDF{!JrK51CQ-w@bg(!Y{RXgx5`JWh{N)v-#=J@mn45k~22c zANas@_JN;?WSD)moOE@JHV-`d>ehmlc927^ljAgxu>X876?m?3G-P}#-&@8mfv2w% z#s%;$U!aZW`-|Y0cqMEe8Ni%j(eNq!UjAj9pPwlO?T+rFO*5YDaI;?y6dtg1wbo+W z4z9os6RcHtHE?(>!+GdtTK&{BxhDrq;Fd0@2xgr-)K5>9(L!xC!$#@b)V+T0zolHypXnb{ z4bob!6g^Y?O1$r6Gk89~^xEIqjoePjc+cN;bSr6Vea0~JvtJfbu6ZtSUPbPL@*#ce zl;|J89tc<|_dxM1VV3J!BGDbaBVWLqRDP!skB*t!@wlR*AALqYbu1?TJ2!mY7Ji2N z)141Wyk#W6guN)ft@tXAbE&U6)Nc5|_Z-qn+Udm4c31~D>vwxaKi>-q9_O{bZjTTA zJ_6_D-2v-8cN;dgfjO3LcPJ*l9*cgXL`MU5allHQ50#GKO{DKM^z+}gNc$j$oVb)<=f>*p7h{5-Z$@7FA1Zoe=d`T6$vk8`WZ z8kkLBUNVJX*k<3+p!MH|PbEC(hV9IL1Z_{}8V@U*DwQAoo@Iie@~ytksf??pft<-*bfA1LP-~Y4ua9xnB9X%ZAwp zZuY^Jf|a&;&y?{T%W)&yvGkrb=V?6qncBIlU?sm=d<{cq@5`Y9%X4DO zur3SF)z-!P*}*#~X#X#AHkew?E{Rve^146_Vs)4@hi4t41;L&Pm*8085OCCs{~|9p=d&3Sc_{_y&OWw`-+ zUW5~1oo%1)sqyUz*>$J{A;a&4qgiMBe#OCU-ybeK!>ogw{pWXOKx?=^lWJ~jJj)v* zfPH#&Lu-DEYu@Q|mtzF8eq#mum%i(3t3gYjK0auT;CYVs?tsTU(a$k4EcNqsN5gdJ zV2!qQABcQ!!~?8Q)4-c)&UW0+YG`c->yzgSW}UkPdt3C719Kk*R{F(pvkdd|oZo)A zMEK4F-*3N${7D0k`Csc^PvMOfLat|1UwqC(>rSrqVy*rv$)z9d8MO3skBz5FpIe28 zE?nQbO)%?xmJU~8tiB`ne8qth4#;J*VbVg8RPv zQkRUmlN(Qjhg;<_#rcLV!&(BAom3Wu+{r_d`WS_}@wk_8&$sbt!CPc zub&HLm~|y5*AUEhj1_Dmeb?7kGi;Q;ogoImO53vU6Z5sjqr~&`Zc1I&X>_rE?T6QS5*4fWGFY)|bU-D&B`GjV_WZXDMOdpJCbg^0I zYOjWK$j`%tpYL&_IlfM|NrXd^l)88g#WiPJ9iEZCH0xqkZ|XnG@Ux+j;XPh7bY^|` zm_|SA%yr4*17*8m1m$b<6zUie4do!QUF;n@^uFmVkHGVaibum9T_m4|Lmw}q=(})LS=w-qq z9$x38VH?-2t`#0I_C{SN7Z%a0{2?{j63=78Ymb%8fz z@1WrKx6rxdmo?{F(b2Gjb%wdc4;cHtMhJ#qCX2dT%E3Q z16}S{KciU}^K)~b-k{ONY#CEF)F061cv;G*)x`ChK4^a4Pvcx^-D@n{tj5}*bE%7; zw~Y)x@6~#a*N1*|ws_Nz@F`>Cj=~3qpLYrvb!ZpC%x{$VdLI(}7(eV2TB+Zj)=32R zz4x`#(AoO>Grtf_YrMJUZ_l~*4qZ-`9j@j32EU9Ya;dxfHMHjE=5;;Wh%PP1wtt!c zyS)ef95?%5uxQqDt!`)y>(uw7r601WlaFhz?EM;k&OURbvm;MSAMByuO4!TdTf%BN za+cFf%rcnBJ0v6 zieuzo^KgTN<(?qE$gr(6U^7*8dDbzc zDMnf<>BzNz`+m4!-zfj|uhr0*>*7B&`Z?FQp7N6o5I^V6{vo6E{X}AFm~C_a^Zd5A zWr@%*^Ymvx(`O80U*F^ntwp)H=1ft*9Ls(celt5?8~yUyJH9%k;;XHr=Je@o$IbWL zUN6083%LVEwqw~}F!1Km{NOjj8!Q-dM}-XgpqGB)TG24!q028Sv3xaPmSMkKu0Aun z?Df8Z(tp)DBzr8^{$su|qC)$F^d?3RG}m?Kso*i^Cm#0we8Pj4{jt6m&@ji<&AGaS zV0}80F?p{rvW?ub4{7O9Q=RRotr}g)y;RFBaob>x)ELUmVdY6cgZZ&?! z8?4{Hj`;@h;2w#C#E)3^wAZljU~ z{kt9)E^2Jc`1+a%c&xWyDH!}}>#U~tr&bed=S=oNAL(M9eeSoie0Xih$o*2K4|0zZ zavzc{CEmX({c^(!?9Kw#OFA7col1T++lGmjywCj>_MdIz+Tw#@+j(?y{q7tetK${= zU0>Txu^gpu-^)j|nl6@M`;XDled`JFFuzfPjgUX!SJGapPFKSA6wI`yc}a>}cQ<7C zyJh$p!zJw%f|DD5J{zr1XFJ!H(D}@l;@^6%Ta%~TN1w3_ud#*|uUav!!UA4|- zUEUEMwA54I1BNcE35Qnlo3p8FDff$@b)L|W!5a6M!t2x7woO|LT5CaHH!$-XKV0tz zmmmHsSSi=zR|(589y@v|e#m7!>Ql+_KC;nxb~|%{Nri_GUJM_gv!7XchwPuCk>MO# zM+*}6X+OcpA@9W}hv4@}C2rjN+PdFdy4VN6W(pbH!#1;Er4KfdPS`8**1W{eLjdF)Qa;`5f>$z?VExEC5==Vg70pPJ`arv;#^RNRH z&y^aOb7-}>G^dd7Rt|o<^kDBbvID=I7^I zZjQ%q8(O1qp0Y{kw`j;EZhj8wpk zZqw-E++Z%SL-5<62Y%h{S7r|9H5yu}i_ahNbK=>565lax$hH46?_1A=6Q29>RgoLc zHKBIgqt68Q3vWaHJw@P^y4Wx1vS8?3$~~j;m3cFlZ@o80G9D4^se;zI!MTQ?R|h}t zvAa|->pWI?6X`oTW5*qu!(q2+{X6IOe*X=5(5dsr!{x8b1w#ho^c4YPo_%$|#IjYJ zuC2hFo9K6(bg{qP@KrhHSwF6M-6~rA+>`Hp-vM~;BmOuZwxgH6vxnYuBz(a6CHuaN z$2sxe8=YNqd~G>vjuY#vh>`tgo&BDlkA*)@zhm1!^f%3N9S3UDGr~h>Kc~$)@1PI* zu@}P6Hi6%Qkknw@7;=i#xt$&F)n2sBtuIWwcW<$eqius z3K`hpd-Q4Gr5z>Ab+UxbqxhCEV(xh0zfVN#7+Jq#N9w#uvHLW9&}rnR)%cs z9lr0VwePEenHA^1uBX;HX_pnOI~k_szAWFLfKO+1vNp{z8m{l2OZRPH;B6RolycYl zU*ygFVWWU&?TRzU^_f+y&B^dK48!6Vd4kvVG$$jV1K*!6f+N- zOy6miF-A^ZNHPc=J~fWVnd3r6M`aAixmnG&5_Y4K#&R9FRTNi$bu00<=%x;#AJ>1+ zm43j?$2y-USjmrgI43yQy{Lj$s|Tia|Fw_S)V|Hn)qk(*h8A7Ompq4fOZL)A{W>f5 z&f@V^_3teC>cFD@k=s7Ex?Q@E2kS;2m{yl5I|c;I`k9t%+uq*}jJ&_6f!SWxr0*3B zAN10FMc$KpU&u`vj&GM}myNtC?VUJekk5|@R^kyi>%tg1zM;hj9tWS)hrBvUxa5^} zHr@zb<6B-#o~_96^TF`nkf;aH`kK1eSpQX_t*z&Hd@Jp^SMkNq?92GjI!iy>=KZG| z3g;8Sz~dUmr-Gs1dcvWB=fCZP&x01&7ePC9B@bB3_^y3Xkf;3^Y}YZu+)X$h;OIP&%Li|NJHzK zWDoOD!O&&Ju&vbD&$CY%_P3vt1RnQ}ELg#-jr+cD(X{5nb7vN>(2i^HvcD}WJk#pX z!80Y6YhdQ*=34ANhkiWAVFkgkcV#nZ8nAH@kJ4V(1MnOhnsaTi{_uSjDm$%a*l2z8 z`>3b~CBNgpge753Va(`1$!mgZ1|Y`k-?@ z4+Va{Z?+W#AH>+=y;qNBeumjFuZec)59G2RWb=@b_pjOx)4q^)h@b8Ce!|t{&uxSD z(8xc0mFKnA#qs?_*I4{q<3ETNdtFO*5x>0!LqFCYx_h<*_HJw?n+9z1IKMPM%U!H* zJFgB8oqr*jG-%x?Y3RZ^`w7^HkRBlEeG@eknt;F-QU9Iz?GHQcD=gg}~<-d~l7Udg0E%#_j z%?WGulUHc{Yz$~~zd$MD7~9d=_TN~|PyI|GuRY*X&f}+UVAh#yMbiXK;8y>bPOw(Y zj`MH0vCweXM1MlgOOF!?Unn^zg@9e-U{Wq6> zD|OzW@qyLgd~4%?ja8rWnDRTp$ldKU4xTT9O+!Dw2aN{a0+M&V=(lM2*?*jKZY5Z$ z-}{nN!tDG13(VtX4G*7MH;-k$=eboQbQn_92%EsQoqYDJW8%-Y6`lVk{Vc<@7b+O` zmEW&W`q|eeyVK8p;oQ&9swnYl_W_+Dzm~QgS)tv#$=%_S(P<@{hJIZ4J65#xU+)jw zOt{AhhHX5r#r+rY!w5DI?d>37Ku10I^yR+?c(>ZQeH*y^Z_MqJq zFz{|~VD>5J-M+?H%D7W7`pkEc2ku)hi1ug+^4RAF-tG2f)5;imj6w#_VR<0rGVVXv zz-)(`ZF@*C_~m^{z>Mq981<(THooEK&~iWB(*c`Ndp@0$&kAPS#tQG9UO(3j_XYjy z$Y)lUGHe?@$i2G2jtsxp2c(((-a4O>0Q>TPJbSTKxTff6y)SE&epIu5qjmKAOGxxjuYgJi+Wsp3&(04T+n;Eq;Ec zROy44#MgMHb#vVOtkV+jY55vF>bRf3RpPmSfHz#{5a##aMi={!bL?*gvtPV6d_k|D zuW6drc2YOKYiO+>`}uzmj6RrqlS^H?8W~+0x4#wx^4@Z7@DZ|ULOk@POJF|>fjFZJ z=caz%CNS2dClk!RH_fj!evFm31@n;@AdjNaiAV~$cU;GRf&zsl>VAv@A=6jJr zHEg6{KBuE@!0$ki^n0oE+LD_vr`fM%2mNhZ)hil!e)o@cc6^a>?lfTi%x_2aH=%ai zC}itr-oLYd8&vpttT5i?l9e#a@LH~EyY$_AiAfpoI46EwKL9hG`JEx#Ogl#3eP0%C zFwEbdbG^{f4cb{Gue8m+pn->sUA@^*{nC7HtoXoq{_LW-;H#Z`z`N7GP2Hzu=d|6( zHNV{)XZ=1(-yfAcgc&}U@ZjgY3*GTsLC;Yv zX-6w3v12L6x@q7sH=cujJl9UMLYwoddd{I_t(0PoNW-pawxK6StN3d8gr+6%+a z$e286!P~bY_v(;~z4oX3)>QHpw0{ZO5^p;FmN3)Xr@(wY#W2?rkE`xS%g?LzP1)l2 z=z(V(fBvj%8Nhn-{ca%x+IuT7_c!=~Hy~hsFQehs5C6SY@!w_QJ)tQceqP3x;TL>$ zPQ=JL`I-10sQ$ZTQxxe7zFr0@`el59q4NPzUp9`IgXep5umfGr4xPa>j#XJkYktjA@9$%W)7HsdLL$qVaVcL_@r*l63`*GVWjAt92_IOl z=P#!yZaIIk9gj#xsY}g{<$@nFyeE~`lPzhy5Z*< zc1Mg+*N1-a+dO;)%yU-Db-lMwT~{U!AJ~6gf_cwVS#$OXJouTHKRM347h?)|Ie*4i zpHy_N(H>H%?Vp5g*4ZKRURdXq8*FUcH&_OBH? zJ`5Om=4BuFdE4mn_pled+BuVH{qejLJYb#!1FPxBxq`>^eCi3{rq5(PBiFjvHrFut9apg}^#kwlO1_|T-bb3W$gRa3zof77ycSyUe4dOh z>rF8BXV{^Yd@-%-kk6;>E02TTlgc<)%E-Aba$Pr=54o1opw07DV9dueS)t2N_! z)*?YXOlMgtz?-Y%%kuqmR?(U&WY45ilhh>N3@m-M{BL(x` zhLYbU;Zyryl<<75oR}knepHT)_O;_iZur^nV$*KTy3e2qfHvMJ{pvN#Qigf?xY|A+{a(Q-^bI5Xsi;u5GNySzJ&(D6cjLfy6A;YvMN#DoCXWxRh77t*a3o!O< z6Se_cIbi65y}yxf6PDv(r`US`cX#=`l=@iGnrDt>)B}%ESwZDtP#yHlAnA-c|`|T*uA){Qdc`gS^@*VE8`c3tp}d z0h_y$1%X1-UhlYM7?K}Dn+HV5S@faf=7FRyw!jksxs0U{S zEpp!o+mJD5*a2*#phbrF+v0m**z0q4Xmgz!*uEhb+FGr{&xb4Tzyp@&_POqZZC8ZO z$lVx6$#3vOZeH8|S4F=!B-pas^Sbu+g*ih8{Fq1h*Zl06 z^A%sq&F7WgT+oiy??crGYW2W*`iG|O>U6%t?#p}it8}y)w6@Ei%$GhDT?U3OC2iJ-oXfX-D&u`W5$d4d@c=Ae-|e>_1C}zf z?!GQPe0|Lg=@ufM@Ba|7D!Z{+x?J;+VJSP$DVMgf2yupt`H z6K41_agAzc>m^ug4DD?DYP%8I&!Ij(L~v-y`^^O}VJk~dV3#)e?DGa-=I=cHA>;x( zFP>TBcfuK7UMn)~75bF?o~o?>y&rSEL!>LMq&-WMb70>$I{Ur}U{k6eSr@-I4H!C? zb{O8TV%se0PklPuKD}DcD%nB0{Xw`TzX3&zY_G@Q60Zh(twOtb1@^d}*H-d-O8SwL z?^S&DM3Wo79tz%Rf#*KxzU3NWo!v?qHDA3Oy7-t%KB{=IsPBj8pFzK<>t3*^h;kGGhW_%?LEha zWi0)-X}=8rabA{wF|;QEPdd8b0uu!z$4enYdhB2@3w1=N2(vb zHtPIxgCDeBL#DRxF5Wcou;Y%3&Tj@k<5})0>gV*!wSpfo>rX3X{5fQ_<{m;kPl_j= zWz_P%R(BWDq@$$$F7g1KGw;1`&2Z1TO4`gJXh(+5UI&2|duOfK`+D>(>XpwST({gx zxv3v=KhHFi^;$9+X6kN%?EOnqJDnTI zU7-iLz8-=9K5uC47w73r8YFy9yoFSA1J80jeq3DXtM`X4#`DMX9BSCyJ=iv^;Ah&b zIsV%@^ihFlnBP^F`Wcqv*7QxEF2@h^JgE}ji6alV=9T#}Cgv7>I@|MtDRpgjWzp>@ z=cF!{;T$3!NB0nq|AuX+H8N5zKKM5DGt8gboFVfb+7i|st>1&%s#nVI);>HtRV{5Z zXxZos$jH9x`>hPmYf9iPqMR%FrG6VXIaxb5_`EU({6%%OrLzS18OhYx7EFDjQ*qFt z)sX9VXIh`yyySz32Rf&IhWV3u`b|?0vQ9$VuQKLku7S6g`V9H9aV1}m_f$)Yd0lB6 zzRG&VSaw>RpL;FHw6{B^lC49>9F=&$Fa78BSkwA_BIFu)4_C%yj{)Ev+(S;j5=LMkbzp^;gxQ66XCL zC9EszIO~qSCJo-XP3_G3w`&E4Z5{($>-4X6joC*x_!-aoWu5}_8Z3D9g{&`YH1Vj_ z@%thk_{G;U;OA?zmQx$c`bUkW=9G9o?>?x=HS^1L0smct+1}48b+_h&KgZe6^mE2k2Mp3-ic-)R)2ek2X5zTG}2x#O=rMeRsMT zUaOt2RQ&u}8XjE_`}N#V?G%t0-T< zne=zS+0lsMN5Nnwpq-g>89`2<+eTGjb=_cN%h;OXYrfXmk7pmi2{v_FM&i z;C)fdHw;hzU0LzLrA_}WZ8L4wUE(`Uj33DL8UXe#Ua=RvTzdtU^_f~cQgsG?Gxfl4 z*&>JBw`Pwq9)7#V7*&%Cth;rK^s{lZZ{e4m7a!a7X^)}QPVbj5YbSF3yo!`j)(GRd zzLd{IFy3|Y54703Qzb@&D)oLAF@_dhG9Ep_O5a<*5tT9O)X)!phbs?}>vK-SYkN-0 z8f$xh6Y+)LZAIQ2&(DiN26(T8Twv$NJPcTQo??Fg7C&FZ^)=MZd&tSIirkt{x0SCr zUmYSJl;^A6`NcZsH6>pUuzu4;d^c|LuXawiQKiq+^sCjOttE(lxmKl?ST}!i{^I`O z+{k%0d79(Q0#S#M@tfHqb~qUJIKGOD}8@973ng*S#$h6C-d}v zQF86ZO0MD4vJaYeXvMbL`9jJ?=RDssFMrl7_&HyWh&lx5ivnNXw9}7EOjB~zwaUDS?i$nyb0R5E3y2x$#Rbbw~!S$XEDz@Dk*C64CU&@;8xYg$OuJ_LI4fXqPWxLF4HTa!f znG5)Ok8R007w06o-xhoGJP%l&C$Cbu?&7^4r3`4djCcThS_33H`9rpJP0B zoG4#$JzxXzp+O7Yc-aLEzhs`GbD3Ax<@Xi+4h%c|?n385nOCO$QR4`5@$;_oGq9R% z*3YzKL+;cPU>W5&Smv(JdrZ4$_#S&RCwa!@%7I6W?0a%;ib|edFGTBdLgct!_UW8{0!~9VFz+E zPqE`V5g^yTw{2HMJp8_J+m?BNjI!1l@B65`#xv|O#RVC_9*TUnuPoQ=h2Y`SgTpWQ z^n!{{^STgy<|g?JUmc+DG-UYxJnJ_@oZ~?IMZ~D)KXj>{S41DozJ)HURpN&4FA80d zQLE2GBm~egJB1@trPlD>wMoN{Q7&0m0vtRK=X>mIi_cwL6FYSA#@B`X z)s0;9y#n9?!v|}`9O**=t;@PGr>Xe>+QWkuoip$K%nRg_r_;%AG<0E1&auq>(z-kt zF~X-gb|d#k$NKP`AaK)`ALMP zT|9CP88=tfGHN-L^@_OF{F37bcv-_vl)~2KH_@ljrFYa*V3{xHH2xc@F@>DmypofC z*P#89dro})%W_Md#j<1R=)c4=#|7)+K66}*3+PwQPc7pIF(H-{HTGtXQ#ZW6fgPhN zc98eyL|uEYu`S0V@O;e>e(O~D5s%b`{&r@}F{!b6E{8r#x}qcx|7-_$YI z0wd;GhwhQj%`?~jYk2tHdv%HB>y=nS`$Y78?6@R+z}UEb_!PV=0uQ;FYv9?Z=rXRN z3%;5x@(TU7lFiVr-VLq7)3KaB_>Y`CCdPn+n%p%%@K$K*U(PYlYVf?*&-ph-_}|D! z`r2yHV(;Ma%O1^IT3)xpj_ki1%HUe=N}c~PSH>@yL-5Po0G7VmK757$d<~F>9nhwJ zmTR95jobh)ybjdnS{*8|O1JCu!d8Jduj%npz%W%V2;3dC%lq}AdtD<&3(wv{? zHF{{%FTgUs_~0HT9CGbH{rNxgkN7?oV;+9a`8fVtHS%Sw;$WR~FB5pVzJ{+(k9i$B z*X&3b>xtF3YId}u`D)124&x^&rB(XXGF;y>nGD=N0YJQr|$ z^STTAJrX|kbzRFiJI+&l&DyXBLk6_R>IY=_`8LKI7;`h@88%n=0NTfd4=vX@H;cG| z=l4N_2ke5-8Q7AcGq4RJmcV8z_*p+c--W*Vd1W4p@3X(nAU>wuD&&HfIgZ?36(3wt z*x_3DefWSpeKmYaJj(rbj_R*T1E5%a$_y5!vKe4VpfZY?Kk{N9K>t>p{4>|XI- zzo;AF)nrT(^$)xQD!$J=@I98cBj-)fo*sS%R+BqCdPk@1A=D`iYl#8PT>Jg4}Tc=w0@;5Vi+E<7Ezn4HWpZ=b1TH|Jd37nAcu zY|Hg*WYp@_FDmuw<`_TVm%bwZeiQZrOWz~+_R1JKumXEb_TdAb2jz1nVDL+y_5{m( zAve+vX#W(o3D`7I!-&TZMa_1;tP}kb+CibSpF7xsM~>(G;QwNqrrr~LfS(TzxhaEr z;#{gfG-N=#aAmB`dFMOLn7mxnFh4WI_Wn!8z;CGPhGF;WKVZnHMZnrb)@jo8Q4vg7_Aa8YDwlZ^?6?TfIR4oJOFk=z>td_2Sr^2mi^K&+jc>W zWz@f!^aK1RwGP6|c`>w0Rr>yv;TPmS9`jD@JvYun!Mm>l`z~}D*W~W_LWWYWqxF1P z^-+bn<1qbB!wzI@Q5pA-Qb6(P@jcL%{&P-l8~#H^_K)sz$h1DUL+|FPEMT(b|(ih7ESVHFwc7cn>O zqZQg|#Dthzu6^)7t|RJi)9$KV!uOk1d{6()F&X`45iK%+ohP2a@U!O!$XKn1zWPit z9$CMWDtWp>)KlbU-Q8Psw)dBnIoI|T|K&L%ajVUh7pdf5?@Inn95ogn%pG!>hvoSK zc3cy-L7Q{dA z_7CzZ`{2K%m*bXuU6|(#j|?I!_e2M*pbg!K9V`v5)DSvGJ0M zy^Q<0{)Zi-D`ULhg@+yBogMKwz~h=^=DpX<|FTa*`^!qbA5)S0UHE{0lxyMC``qJz zj6Kz-eH}voI+l`;>{B{cJm=N?fycAuYS+*nikMrjX=~SPzKA^dS~SKj`I*-5?nFQAI7M(^wS1}NDeEs; zn}Fqc88Qx!enh{l)#4K>=a;oLyzdn}bVkP872C#!ZQ#uxeV>|Gp0nFm-$!3Htzo|o zTKK(JnIoMYIS$@Cstcvg<3mQx_t2&fK5ou0hsHIB+W7*sM+P3SE2D1_x6jpg=to|| zrIkA0UFi!)haJdRNiyK)IU}v)_g3fv?I)FbaA4G?YZZU@-=8YJFYCDRE~?B$50@}> zp++1ix#;{sMd#C+bHrR@+*|ye8?|$Ym16wuF21H+zA``fXVkh6n)$AuSB1{_%J*26 zu&2edgw^I;e&1e+w_y05`PKCm|2-YL^wg(kj~I2=-yEYp5npV(IqYB`z_7??=KQ&* zh&f2s7htv8^osZq^G7Q&N0-_-xU7O#`fsWjkG`nz$e)z*M@7U;X$jvn< z);151Iq-p%Si)~*eL=3@`C|AIML&1Vc`x+)y0Pu`ivQ-T)TUfl?y0V=ALBmyT~_$Y zx@;5q2j2OS8@^x6@Vq8M&F-T_!d_@kjxow}Ov}i)(ciAB)SUaGUcvA23f@McGkwPK zrN8yB#3=IsyvIaC!w%Ov>)fmGmHW)+F=xe&%+qm=uOs61 z^5rvDt=|Kcxq#mzk8Sw$s|wy{QWCuG)>$oM@=9JUSdno+B{yz~@dI7X2-|A;T!UpS z(HVZVvBG;^z$0##R`M!oSp¾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�)m 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

-W~s@XIbEzBLB=x?en#pH2iXXb5H!5-qAsK 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�lE59X*m_t#ME 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%0A6XjR(VxzM7}++ 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

    lrVfDVD?(nv#o6mVgn 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

    Diyx;LoDO>-3omK9>Ko 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 QdnOieI`C`mmyF>51HeWY2LJ#7 literal 0 HcmV?d00001 diff --git a/libtacoma.so b/libtacoma.so index fb57e92d4d6b84fbbb7295eae7175d681aa69255..d90a833c6980655fc180cb173190be7f8dd27813 100755 GIT binary patch delta 178173 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%0Ap9qt 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

    $%+77&*UROsdW&Bz0b-dx9?Z@io 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 ADgXcg diff --git a/log_nvprosample.txt b/log_nvprosample.txt index 696bb8c..fdbfdc8 100644 --- a/log_nvprosample.txt +++ b/log_nvprosample.txt @@ -24,7 +24,7 @@ VK_KHR_deferred_host_operations VK_KHR_acceleration_structure VK_KHR_ray_query -BLAS Compaction: 0.7MB -> 0.2MB (0.5MB saved, 65.9% smaller) +BLAS Compaction: 0.4MB -> 0.2MB (0.3MB saved, 65.7% smaller) _______________ Vulkan Version: - available: 1.4.309 @@ -51,7 +51,7 @@ VK_KHR_deferred_host_operations VK_KHR_acceleration_structure VK_KHR_ray_query -BLAS Compaction: 0.8MB -> 0.3MB (0.5MB saved, 66.0% smaller) +BLAS Compaction: 0.4MB -> 0.2MB (0.3MB saved, 65.7% smaller) _______________ Vulkan Version: - available: 1.4.309 @@ -78,85 +78,4 @@ VK_KHR_deferred_host_operations VK_KHR_acceleration_structure VK_KHR_ray_query -BLAS Compaction: 0.8MB -> 0.3MB (0.5MB saved, 66.0% smaller) -_______________ -Vulkan Version: - - available: 1.4.309 - - requesting: 1.3.0 -______________________ -Used Instance Layers : -VK_LAYER_KHRONOS_validation - -Used Instance Extensions : -____________________ -Devices : 1 -0: AMD Radeon RX 6950 XT - - Compatible -Compatible physical devices found : 1 -Using Device: - - Device Name : AMD Radeon RX 6950 XT - - Vendor : AMD - - Driver Version : 2.0.341 - - API Version : 1.4.308 - - Device Type : Discrete GPU -________________________ -Used Device Extensions : -VK_KHR_deferred_host_operations -VK_KHR_acceleration_structure -VK_KHR_ray_query - -BLAS Compaction: 0.8MB -> 0.3MB (0.5MB saved, 66.0% smaller) -_______________ -Vulkan Version: - - available: 1.4.309 - - requesting: 1.3.0 -______________________ -Used Instance Layers : -VK_LAYER_KHRONOS_validation - -Used Instance Extensions : -____________________ -Devices : 1 -0: AMD Radeon RX 6950 XT - - Compatible -Compatible physical devices found : 1 -Using Device: - - Device Name : AMD Radeon RX 6950 XT - - Vendor : AMD - - Driver Version : 2.0.341 - - API Version : 1.4.308 - - Device Type : Discrete GPU -________________________ -Used Device Extensions : -VK_KHR_deferred_host_operations -VK_KHR_acceleration_structure -VK_KHR_ray_query - -BLAS Compaction: 0.8MB -> 0.3MB (0.5MB saved, 65.9% smaller) -_______________ -Vulkan Version: - - available: 1.4.309 - - requesting: 1.3.0 -______________________ -Used Instance Layers : -VK_LAYER_KHRONOS_validation - -Used Instance Extensions : -____________________ -Devices : 1 -0: AMD Radeon RX 6950 XT - - Compatible -Compatible physical devices found : 1 -Using Device: - - Device Name : AMD Radeon RX 6950 XT - - Vendor : AMD - - Driver Version : 2.0.341 - - API Version : 1.4.308 - - Device Type : Discrete GPU -________________________ -Used Device Extensions : -VK_KHR_deferred_host_operations -VK_KHR_acceleration_structure -VK_KHR_ray_query - -BLAS Compaction: 0.8MB -> 0.3MB (0.5MB saved, 65.9% smaller) +BLAS Compaction: 0.4MB -> 0.2MB (0.3MB saved, 65.7% smaller) diff --git a/modules/Fontstash/wasm/fontstash.a b/modules/Fontstash/wasm/fontstash.a new file mode 100644 index 0000000000000000000000000000000000000000..28203e73f38110cae4ba42794dc923f15c552492 GIT binary patch literal 48936 zcmdtL3!I%-Rrmi~&TZzLGv{P3nQ3O4?(-xq=_QvYA?XEa&*_D<6ev)USApp?nb0KD zB%MrZ>nAsCsYQ?%l2kzyT5c6cPyYqEW&OLM81!;=w`-31D z4}$0w|6RYWyLRrmY<7BTZu+X7bJMdsr)B~LT|PZCJum3my?bta@f-;)!DTbkQ?u>Y z`j#zMPR-2RFtvHdmAiJ%S&|n|&%JotPx<6LU$$#z*K8|d_tfTXJ73v+ZOrU#Mb&4v zy>e$Wq6O^QUAwzWqm<`O-(=~YGd-ttjoY3-b(1gd^4Y1Myl(ndkB1%_yY}wfvd2>E z^(v}*)y{40cm+JanL)WPpT1$QNAD%mvy?P9yKS@2f6ca?(;eU_ToCupPG3GXH)SQf zWNK#H76_GwH|ui6?Ch@D%Tg*e5wFk9Ozmlr>55x-Pwm`dVV2-U(|e}p{HxyQ_RLM~ zxpCDlW3ZEP)rR%!jhohAuy(_R_5@c=?YSw0wZhl^^r1t+vg^YG;eqSp0|yU=2d|F~ z=p{T5T%RR?mxC4)5V2pEgNiud)5biIm@EN_6qQjPd*PZPh?^iDB-8%=JnX+dXAgP; z&OypNaDAT=Dw@;+E=ZI_uEK$X7H%*P3Qqq4QraJhO0Adu`+3b9nEl`x?zfVBnW{lr z5ygR)3d$UyKvD{5K7|=XpL`V*DaF$}Z>da9&d|0~vy(SX-?VG?wkQ*(!H|9Pj>+A- zwn;?d0~VaSiI&{8IS7>Iw8_bBJGX3`o!&e*xpnW(&2!s!?VOyOx?yHI+?}x$xy?R# zq~w{cv(wW-tj9dEXK*Yczh`cC=jPqF1$~MuPfkwl*#rAcZk^gT6AUOUM~cli?G7r< zmzn9E9*4~It-H4d1%z%?Swa0!v>_UHSr=a%0-+vmh^j7fiicKV!?odD@3Nl4nT_#o7hM(v zhc0oM6L((_UEX|)^+vrKq06{<=2$!PrebsFRLQz4f2YtF9*hqZjD;oe`l+TXqH2<@htDqu^`KI8+2ggG zSf)_R1Et`?dbp|9S3g+m=U3!cQkEbo*9P>ENh-B!EZzx0ywJ!U*q1C?6$Z)Rc2~X{ zg7Fg7hFqaG?84dz>H5k+e5o6DxfhlrH$+Q^6<%nRwfv%KlG~RoCJG4o6vARb z$hRR_S|zh$NIS=KnpOo7(kgAZLDLSq!jBsLo7FQ2zS(JDiR`c&x;UiaTv0e8G4*hJ zGK3U^XUS#NN+ktF$6&OQXjjX_5CR1FJP6Q+YVJU-3ZHmVh^N$wgp3Fw(fk_+O}s*S3ywB~A~4hcj9NN-pW2tT{X zGjGn33Q}^}uBuf~Jywa4{}lcsE&So%Dv~fH5vV{!BaXNn(TZJBT07(Vxls)zD!wg> zO<^2RePB~xtqT(CU5ChZUux-$4mD2+?>BlDtN=+jvl(sZ#zm>$a4PlcZy-`D}aki-HXH~X73zo7|A zz82kqn|cM(XLbj-y0GFq!w7u}c~tresp%xF4~r+jfm<&7M~rV`^k-Nr`mM;&3C%}SlzyV_bAlhe<%p6 zS;tWyQuy{>oRv1ZFs`Xl|+e+Ye74{LD?iAVbNc&riKxvz0o|2{`wPxl`ePhW^vgD#KW z_W~01iWSZ-RQ6u6_nb1Xs&jJ4qQJ=^t8sknb7^qw!L9}mrQmxscxFL^8%Yi}+vR6Z zD|qqBTEEQm{?yDo6z)&5z87y6HK!Kbo#c#LurI7r%8e(v4bg7ET3h7Q7HOxH-xy!- z^4B6v^@Ft>I#D-FsW0`X=1@VxQD_``Fi6cqay%MFm(o?3DOm7wBW+5m2-^{Z%!DuL zlNv)&fRk9D&se|}WZCvhdJBy=iCzsr-vLJjOI)EITon8n&>M%+a_@>TnJ^IxW*`?_ z<|0Jj6&wXUqB}O(mk=E>-Cg&FC=(ePm~9sbmK2#KEpQ`HMPhL)J`lmEMYJ-=)C+UE zXJ?b5bq)PK?+Ope`P&%WT;f;eM~l^R{9@I*c)SL}u>n*63HO%vB?Bvip#J6HIaHI! zu>Q}@$Eg0d&BwU@E&sS8z-p|I&CyJ-M9;KIQa#!9EjhzCCuQp2#>wn*T>>|NeeCSg` zBG&_noREOKCr*LHKQ>Da>n);0^?z@M#`S+_BN3||;&wa4t#%+r?NI80L`g`LHbm|e zNOVx5^%%8@($ySKibUK4iC9P=56hn#5*-}*-8Lm2ZBwFOl<03$qQ6B6Vnm7l9!SV$ zmT|B`Nc0qnuQv40&O>P?B+#e=0(dP#NKY4!f0`^~GG= zMoia2;|LgOZh?BeizGL&z>FcPEforEMtne{^R=~KntafX=1c;q~46m{*!*pcN+mc`*aslF+NvHYG!z6ji?yQ)m*}Jc-px zG@kFSc)Bz}4Dck>gH2_8DHeG(PdsmkZUwUiqT56B1kxa=pQ2Sf3^_)vpk#w!Kxs3_# ztH*QO0hM1J1jsQ4j_irq;|<7h`+WnMFp2`16RU%$BU;3|8QXuLKM2#mKz5xpQ|3u6 z6qhk;Z;hNwUa`qak;=^iB65ZG(F8-5mBHH7;957kAzJSW@{_bWBgu*h3>MtTFEOt13GAEKnxbePWw%`e;=dbD+uUV_s4{i4m-wItHHg2xi z_<5ws{(_bQJrvaMFErlYim2KMEGRZU+6wAS``$w16Rn6=+NT5ezbGx58HzG!maExC z?Ll*)IcO%DL33BMORabr|1L1=9X7ynr%Pk-S1C_foHgh=J z>`#pc=?dik%&CKr)=L;HypXOWr0p0J;7^68kzxvRO6kvvo}V`vd7vv>nQMLP?$>6#i}_6n+F7QgJIZ2Unzskxmy&;e!K;O2c2v=Xrwe0$Oc| zO5ETJStUWS^7Q2G>B#06TH@L%$NyMpe5V!hUoFRfn-BB&)w}o4h`eN~PtuX;kQE6B(jw7G@<7p3CJ!paVeM^Tz7x z$Z)<{DFsQ1fiOuSv#AaBYs#EU1?<`~Y$60D!a1K6Z#i6tWX-C;6o^R*6{SdEVU!Zn zLL_U52$m$SCT301Fza+aER&RM6P6cz3?kv>Lmlo+>*=JuOVfe+>*{`w^)-H}710vK-eP;aXWIV{)a`dNx$r=2j=H#O zJ~-q1P}l+oT}j;#@-D7*T+!e}WHC{jtb>y$tJcgLM~a;o-{D3JG#i!l9ZUN6B}F6` zt8C(`bYde{Uux>Ue&8B9G4#H;2@9G5xePLfaL1Ao-LN3}pdy1j#gjq;n)KBxH`goJ zxa9p7edM?3&>~mF0xh~y)7lNHC)9LHtRl!2^}%Y>h))_?`&24og5?jr#MfhL?RVza!ydB7nl8 zCVA^g)S;?x0T0t^$7^zx^;305B62Y^pJ3I{pfn{<@y8)shT7;-Qe85|r)4XqB!B>! z*7Pbp+S6dmKZ~O9K&H8j!0k`s)bxtQBoi)H?V0ng57tq16yk@N;tx|fv1TOA9^#3) zTg`0F@0?LakRr15s2)g%nI=vof))vF=GtZ2fySj-NS-mZqCQIF6x1`CQA0c0tKF?`9b$a#2L<>U)MiXEZ^g>8F5W7%akY?kB1D*zyrJ0KKi{4wH*<zqfd{p zuZSXMV6bngw>Wl=p@dDT#K+OQ@=w=Tcu)&W&fw{Ew!(X;t9OdwStBFlI`_VIo_NBHSc1x;W5nwG1cx-xSi=MqMJ!7 zi%HnZkTxfJ;dpZ%rB7zOZ2X)}!JHFmpqR6n5uRD_;Oa+fMMtuN>$Blij!_kzKDSJ* zMDd6c^`OP#>d&Zx`(y?bAH&B@BsgS}fqHnecbK_>dgf*gp`igkm`~ZOzpQ*mYPP;$ zpdOJzjkX{K*aQz8J*+7wU-_adpQy1az!nMA3pYy_P-w6+z+_iBybP$gzH>C53y)fT z?yeOXZxdCiR}C2-%k>-KVU=;o(H=>^6x=L_n@AD_20>66F?K*T&bIc;; zsFM}=Kv#ij()k6-Ao4}Fpo$JC*25RDl13^i!~DGKhxE*q`l>P!&QO;NLtQg`bm4i& ziMwly;KN55memIJfTKyhNCPJgizx#6(`v)WYyoZ`k-}RU1WDz1AsgbON-{bR?7=eF{&2X)^xxbLU|8T z*U?2sTYzNHm3;pUe)97~C8or)RHcRmcn+&L(1GU=$TYY>&m}DQi0({Aso*(`jmMaw zB!;yivlf0Do-PID94R9IM3^QrRk+Q4%5x3AX(iN!GqFJNg18(J=jLilbepJ+_bPTQ znOIotc&peYtz!G1Qn6{J=hv@C8SSdI%Xn&4n-BblO1G0#php>PBDLG*sS#;@1$t1Y z4ZKaAQv>(SzF2GRM%44s^`I%_R5Siv5uI8_Y*~ZJi0K3`Cvk_IEEEqyyeOiDQ%RJR zbV5SQq)JCOln^~s+$l31@&b>ZCqcoXyxdD>SiGZ93F#T>9a(WkkGa3|M<3nMU*^(G z47cbnz53Qz*kpr66s>Nv;JeK}b({UNA<(6&NxR$ZZ*`l+X17_eZWH+?q~MC`A!}t^ z(pp;3>Odb0l7SP5JfJgxrlVr1l2GXEsH)PTMeC?4&5ml3@2L9Ij>^Y!ZFf`)lXmwT zf*`1LR2@l8by!valNCruH6KcUeSU$cID`6)R`<7vj#^ejRksZNO-Xh} z9t9S;MTe6i-+%QoB#ca+T^;@ieyoV1=VIxTI)*%b-LR{qechn?Ixgz#s(R*<_H|k? zrR9Z-l{1A9HG8$u`F&E_Jhr@GRK41u^=gA@uU5Uqjow@vl=xI#fA3zcKke0uXygGm zoc3ykv{zf~d$l5c8ms%%t7{b+y;@GaTCUZrx!gI?7=yUVE1(_E^aU<@d2Mta_b95A zoJRl1@8#prhkywJhF&34>a=v3nh)zrq+CiAC=v9e<*MUQh+^F6IK(bUZ!GTC8^*^n z6D63;chW3Jw0?kTUT^5};LW^>%O3$6zKA2C4Kf~~_tp)PM-@B-yCDYOZ(gys{1pNmy+@t+{2l|^@ z;K5AGY!>A@{~2OLSOggD=5h)&Kw=39zLa78HjP`wz|TeX%3S^69yu@jZ*he^^}ZP% zb9zh|`__xiSlEMDJY2^$LQD|)yCPC*HK{yvkA{#gwn>s&Q3G|fOyO7~duPIej~vR! znL~=@c_OBp3qEk(5>Dh`y(~37zjN= z+eo8@S`=l|&Kkv{*RO{?Z791wY7SSDQb+!XSh|dU7p@10txl9xsFG-TJV!KN*_E`m za=?{rgwU@!mZAiZi-eJYTxWo+&no4Tde-;jA zRT5Mrh)Jpb#(sjpZr?twvDH!;7@y366b$gH{AU?Da$!MxwlS;=W8Hg28A_z`Hs?9a zVqm5mCz4@S|6;{re-*d0CX=u#>xH?EC1X1f6hg6>v|`)rPFu0vG$ytFu3yq^oCGTa zUF-1h!n*#Bb$E*QB`<9gdxC+=unglia4H^ zWNN#R)V4-za6DmY6CKTDX)D16}2+d8_p1mJq&}r+!#pVR(tmbj2RWGNu1*wr7?>d-d&Vyc&L_Rs*MF zfd-UsHSLfamb8t!G2N)9SfANtSEJI$lfFiLdreDyJnI!Ti-Y8Q=Z@&v*LduSC!WaP zUOT-RO5&vmjHuS%7&yS#2SfeJ?e-epF+U_)5E6HWfPX*Bo@wNz+>)j4^rksB!HA?s zF_r-d=ywAW#sN2B8MK-tfRmBFAUPd9b8pB3XURvsvc10hX6dR|eb>Ctr~4(M{hA2l zS*(e2?_y0=oOWHo@Q>ShwKLr5YItcwa%f>HxdS)u;)h&iJN;Uu`wY7iYU7u!Tlaxy zyXxIZ*_Dsh9E~_k@KTYu9@Z8?#h9Na!)(biV%;2{r)c8}V6yoXXvZf-8>RNV5J0P*<$QsG+8TlsTbm&aQ!7 zqZ7`t1m+!*EGtWZRWz{06DQAKu>AcCVZE~#EQD6fi#Juw>mZ^ZsfxM`NsN*(OTn>x z=H?otMx94WN&U3wB1xKJ8=6XNiEV-Q>=&j-C#U|b zp4Ut5W#sO^&rkXFsf!p!I70ZS_6p61<7F~E+zZ@k!0trYZ(ehm>{wXGbhMUgHL2WSNV% zOvaMW*w_utf|twQ?gz6O2z7R33)=fJI}d9&=zpKxL5pK zg7z9^pe2sWwb!SXQX6z@3%og6K&8G@MJ@FRBR5@r1&-;B@rSXbQ3hruj?^F0Ah(lQ zN2G&?x|tRJDoOWx3+L3`$2^8LCdEu_@(zBc)3(c4J#-1Ik#VPa29;FS&NQK{oyCow z@fmQ)$gyOZ++ZvAB@+re+pW;;95-^JcCI_)MD0Ae#5UE2!I1HKZ4vi`dxd*w(y&5` zqf`&v3a$I5qUR`Jf`D^uA^6Y<%+PG(!$8$6QorV#p+_ngFu{bYPLiX)X?ph4(Q00T zsA1#qpFs0s8e5o5nqksPWvWA_w~VwRv+;U4{`J>2QTgu0jkmNSniG{^!C+8wSoLH| zR!-7gSZ!c74fAS0Ask6)ZhK9mnDQf_0;;LrDb(Na2kLnUE!6+@ea86hHXLa8rJ&zo zotEe=PnXfx-RUC`aGvarL^T~~eChX5dSU%-IU_b!NiBh2)ebHZ5lb#HU6WMItQ1Mi zcg-9ELXxaHqTcAp-HFpcPp)dVRl2*4qR!dvWjMN|UsgGXJy||-^sqbch{l5qr>aOx zsE%@i8{Os@(qzrzAqm_At^j~xim6_IMVS_oheU2RE71%t!A}Nd~tJ=k{ z772X(8Xi}^Jc-7W^V{*O4Cla|pWaD=TCN#bXlNG8DyzWxTx~pRQ%Z8k7p^Iz{?JX5 z(gE4At6bp&N%;uS%13M}os5~9!r*5=jh8zR#~5t#3$UEBW~?cS3R7paqEs8MflEl#S=$7<|0+I7HtHfJe`o% z+R%e&7`oQ2I-1m!_!8N_%*yPjAJ|?yL#o^ovn6KF_IiACBAXqaDj`NPNtV)TG+v7$ zQrf^nJ`Tf}vLj(0(VY?78FekfX=P59s-v^)%bNs!hD!qlAOUbI=B$&(oT(V$(ah6A zCdC5lQpV80eIAYSYcG5Mb6#}`jF_hyX2ms|f4z&0aP$y;m{aAOUKNiGlnIKb2%F zdu3bMEAbSCJ_)QAJ_+@)5FsI7LAzdU;D}B;xEF5iq+JkBiL!R0j`-GBABgislfI@Y zX&xMpgEO6@EBThj$Vk zSHb00g@ZG?RyBm}2kH`Uk6@PET&uXnGM1xMfJgClg>wk-cJEVI!g!??E0P~>JlIRF z3Rjq6cRt(CK%V-iLBMZ@`4DFEl97ceM>LrBDe-%0EP~CtJ;B50an~l@r&N$wcCoL_ z5;OVT;^Qp64{x_2Io7LU%^%r#+&en@=)6nbaH53LJbY&`MO&y5-3afXIlJpL;|AJk zN)3EibnV<2FxY^P5udEDQv(;`tkRX89yDFCtro*O*WG3Vu+O1O@I4GY=<*-9Y{RFA zE=l{FyQ_Dpmo**!9Gp<5gj0%)(9Q?8&oH9qX(q`Zt1ZH`)$_Ob#_tp7E^YctBQi~-1dD5` zCA>o|4O&s&O!Hix3>=3Iu>GNako9(k22Re{WJ$1=_jGT;dPJyy4nNEb;P3^|j)EWb$4VE;U z`ain`tP=Lyfwi6d%Xlbw<1V=y}G3{Q)lH34X|Evok^ zS=kIQQ->)lV=g|Kxc5DIl9ZLD7;%BM{6vXZ*-AJCUwBp?fC*Zxyv$hHOojnD4q6C1 zVqoPT7ShJbDbh=Qx4K-c{A4JLl{*pU&C4KTPuaI!tnASCtV6)iRd3AFWn4pcJdKaI z&PNQkBUs6!953||!#?6_wu9Ls9Txfch{f%Qm*K^2JeX;&Ajq-q?{iwNroXOX`A0_@ zk1rUOHy-Gj_7{4leM`@@-yiM;_g`8?b#5p4YR|O4*)#12dbtrApYECV=uqRYS`kf` z!zVJCkcAZ4gYkZ3BeHo)`qco>Deuhso#*}jcp5OGZM|^pSc)6X${H!IX4iRpk(uB7 zrHuqi!cqt309OXZ*~Iq8#!MztLX{O_Wmjwr;zOV_!^)yZlUbK`HB4i|JEiUQa4$a0 z+>DkfuLuGn6Swn zmCr;^8J;vs=%ec3ktk-&-kH|oUGZAby~t%%qI@waVW{7jTzIZ-{+c#%?kTWlT?Mv)vmDlYDb)VLr%2nK%YJ1k7w&YwVgdy zbqnb;O~dDK8QVvAHe0XOnnbhg&pZj0$j+^&lrdpTcxSt5I`hm#1yo0NL%S)Ra5cI z=-)!v>>=4#51) z#}oGInq@|j+{0Pc$&28sJ(?7+4Gh;!d8;wylarWsizWS=)ZtPFBlcUURBq;Yl2y9y zeWTFKV`M2c$1hOO$Ut$AXC0Dk>ol|h-FBhkNoQ*?jmkKa)1(Zn^4R(x?o6O-Q-MLY zGjQ^TX1#=p62(^pY%r8wImMwF5V?JL86Ngp1SJZovQi5}QBc?mpV1H{#&t;`ef6Yp zW9cjQMMznN$i-9G9{W6YXRGhj{0Hh7%F^^FW#C78F|Y*T*glS+!ZtVJs4r}>c_;t> zM$hcv`Q!(UP#^e-g+4}k_H2xAFaBN}#b}50*qH}|{YhcD^}kI`0SThZ#qK&F!Mk(| z%vLm?m$2b~&g0;qMlBNtKf*|V_AX1DFU8{bsL*DT5VHCNHW+=24J)*7pC(VTI2 zbBbs*Xi6$=kZ6*SelN0?vidMTuiZ6hXo#7CD;EA!x3uQ(1frj z+2cteRi+tEjq`a(aZr!!J0z9#Z^G)lftmX0+w0$w>Qj^9#P$m%a@zr&u8v^wrlz+z zAuOYXoPKo#CP3%Z2whR;d?co%TPOp@W&K16IkY;WcrBGc*WgTotxP-B0&2x%^PR4I z$3Bf^@oi9dwi9hX&SW%08NULB6AMKN#?OAI4iGz=D-n+>)xR*p#d<$Tn-+%)ZK2xnSI2-CeUZ2E0&w z9;ONigmO)#}==?2JXTb%Zg08+q^9Ck8Nt?JF=>OUyMY9R?yAnAOu5@2$K zvp$VlOEx4&4oczRiDZt}YS6?%YrQ&gP%M_(1qTL29XO~7RC|6} zTrCM$Ox{X;FhQg zP1JHs&(xM!joCD8+%v&y;qlstV|%n|TZ|sjOD0gJvBY$a#1PAAg8J?ywf5_g#9`6# zKH?@=jxde~I)&h^5UoKLJy38YUk$`oLR>p?JzI;liLL&C%5eOoNX5aGkP0<&x*VmV zZeAX4Es~@i&8*}e&Z>w(^L^Ja;;jLwg(?XCs-mf!(?wXGLTHE9Xf-g$UWz&yYhcCl zIBNB>Mkd@U%?nc2*~ra?QzNGbA6UbANI)6)m6+(rIcfx^;V95I-27y|;aGwQQdV_e zA+@y%oT!aK=TSJ^8+#_@IoBuasFR6L@8sdGDuP%C59^5077uq-FXc)v=Oh!Cbu~;% zjV2lBrBXsT72cvkM^iTGH)_K=sx;K5LU*zz`x;E0fts>!hzVN66w;EhSe8@MWU`kP zsZC@roQY%xlD#zTCVOd`PWF->zyLH-U%&_kJAhjU;5O7Y$Tqw-ur5eaEP=x^1W9j< znQ|c%&%ll9scqTf$+~IOt#!}psyWz?rJU`qy3pBGd*#vDIa{xcI!AtFGh%FPj8}ME zT8IdVHTd;~3k$6qAAfao=+|izzhP11d##A(n9zA^CKWKmO)ImJZ99~6L`Iyx&kX0$|?$9kBu;h4p=km6_CMgUUQ;rq1>HRpXqHIEG_ z2|2YRili)Z)RQ2_Q-g@2-@!#6b6oSw?BX!xz&mEd~3a?R#%W9lE5Jr1%Jh zORRiPyOR}~=~bvxo}P%-PKhWh$;y6=z%W|O{dOBDpsO@c;P0qQTypgA8*9tmGPmrg ztGSxq&eXw61-JvjJv+WYlPydD6n!7YSK)+v{m0O)Wpm!y%=Y$iAA9;2Dz%yF96lA68{(P!_p+KjKjy`}KI} z*+-KS3t_b6g#(P5v3a)grm^KCn%ZK~Q^9udNNM6o;+JVAW<7B8ktIf$IvP|Yed#h@ zhDm8`V#u(VL?YhIofxhq;aaZ6u2j=e4U5oOMzWBhuQ`9yllJ|Qs|ka7IUzB4%omE& zh!QnEEPg)3i)cPQm1xGa9_D4GcFiQM zhYl!gW>B*ftM8OTaCvQdL&aum8i{3E#4pYxz6qXK94YY2YFYg0iC;*GFSthhd$N7_ zUH9A1Z-ZiBp88na{v=wiUM!$>!g?98(s)U(VNO8-lQgTEh<|%oSvev@V@v;-l zo>r%=c&nFtp(L7HL1z403QLe*c>0jh7o+@GWYGkF3MeF44JFG%Xqn1 zlMt!q5|)cecierr7JFnFlxnG9dQO!cF?PgKD`8#<>4Y@?V$Q`N z$2ifFoL0Icl9T1I@e5ixqQ9l(F z=Tz`}dS-t3q?t3ez7(ug@~`*I{KvgAt30x5LL@`^cIX_Zue4ARO6UOFoRJ{1TAK-n zL27v1mTj6N9m0u>Nhca~rzvdcBG~iG>I5v92K}gVsg-iwi$>c8>O{A{Z;`*#9RFyq z8aD3gNsR}3rv2@nY5%lm+J}3l{fk~{f0fVq_?@Zy~ndCs4(*tevQyvdsF zucD2bTMS#rximMe`*^PHUGlvWcW+zQkuZY%jd_sG^>4)j!xt^jx@#ZmaBpS#nfFr%`2SiX{$lGtJ|5q`+KkE9d>`AE9nq5>FsH6M4m+W0p>b zIitKag16fmZlvTZD*6<|3UMIEuGiUDkE_4SA(|AHiDrwhd+LQ07neD{vEPLnStV?d5HLtO)@Vv$4Z#G3N7dp%L zVeylk4#Q|+6E-?-XNVz?k{scr4*>Aa8@z(<2v>>OSA|Q{t@at)X6I|FwoMa)_zH*_ zA``km3pz?JZ0e2tNiu+ExWkE2E7UfyHQ$k~^7dOF+&Onvd1cQJf)dWVg;Qa}q& z@8Dq6&eJ;>X<`3}y?`WlxsHBD-)riI(FBWu`7(!gYXmFm{Nj(dQB$N*Z0=C4 zbU2ZA2{6B_0M>>u*_%djb_nKZ-g+zM8lQN=>_2i@Eo6M>{Rt>t#RCAQJ8?MSi~-!# z8p`;>**}FYBf=JGSV?J_#8{b6r?A-SN?~a+aYr#$w;x&oDG~o$3-~W5(GRzPQ;|rl zD#og^QdCc^M)u#VIVm@ts)1YB*D)p^LnPAzT5ms$LRwrjuaN&(E&fYM)B|{%L~Z*2 zP|4FSpas?%x%KvBZ6I~bIT1;TZD;AabUPYtP!1*fKOKC*{3c)6vOSggr+)a@kd5!9 znK^$=T6w5TEBnL8=$Ttey{VtkqMeGl4Tt>?Vq5@qA3oNpic5Ykd8!Qgh7Y=UNXn21 zR=G8mF`i4W4>>f$>%)}MNSo?IV&>^X)==#em!DkudT{{;BT~60Tl%-9x6qYx`LboK zse#)iHno1M&7OFwCHBz3fNjZ6vr2^h2dhK@^V$2qqktBB|4?c$zmuW{|G5IHawTJV zm;kMhsUnw)_X*P3PHQ+18kh>iXdrF16NROlMT5J9agUW&o2-k4Rx`Wqxgc zl)fSvgLFkY|7kfzeQRD+@o(d-w?lR4*?$i2TyMP18rE>|=9*dcGQ(9+=eW$ye`KYr zRV(SUaZLSg7PiSNLu>eRHhluF?SWaA)vKMUNt=$#RMA?W*@3``1jkBI4lSx}AFkQY zK^mthg>hJSDNJ^?O5xzej#8LEHSD@GXv%=46Nj}(vQ=*V?jwnvO2`1oM|`V!5U7?4 z>ocb*qU~eQIHgFbn~>6o`rU^;B$Z-Cv>>tW7FXK20k!j+y~T3sDOKMlzt~s>-=g}E z;^r{2k17yP(re}8?Q#Ak1(`V#D)u^^?PE_b)nYk&dYK)l-yBV(9Zx;11B|me6_~9 zE^~Da)>mqVGfa62H(%D8uCf-6i|{%2Ry6|dvg7h~FdSv0b?gDU4uE*Y$W9-3DByP} z@U&uVg{RELd}`Q2lRj$evCDAwv2b&l=$YMdjD>6QF|AC8Pima$a?JMb z=gCPXIrsZ*^9<|Gw6;p0=IzJ6VSdAvF>V%-u5xV>l5P=Z1_#Blc&s%iM^&y#BH~Qd zE^-yjXjif`7672#f`ct6O%Q|KAbRJ{YXMmv)FO@Ys+yC;<*epyBF02Dh!IephnDCo zkF}vx?m&qQ_>2|BZHEZyY2HUe@FLXnhPo)#{0ykW)3%A6&{Msc<{6SuFnD6eivI)w z@l0^o;n`{h{L>70>l_3=p1@dqdR8A@;z+xW&-qrgP8Iz5AhQ6mE|L?gVZCED9mPn} zq_0*1E(`UKC5xJ0@HH@f_FdPCtLW3ZBHs>zrN0vbuypD+$}R?(n!pUqA{cae0P&ly~=V&zZkn_i)F*( zNm<7NVG}}HV`=X<44a2~Y4L@9(xTiv9Y`zYER>is)Zh?8m=qHp+nD_cA#E_ue1`%# z+N)=mQUnR?I^#@;sbwVD444Wx?T@D+IOiAIM(W2a! zaWgVWy2)TJpTNiA05S_&J|=yrJbm*YDu<K3;D61ma|(OHIM+ zb~2r-IO$qDvXQ4QU7PLDwF^fu>b-!wP?vVX>ZMDwy>+Qa#dV-U6S{1N=Cp(LOmGn} zaTi)$BNa~hD6phhUzJw1u?tLySbU??jRMn^fC{A|(nIv{s&2A#Dk;_a8O%YiFW@G6 zlxC+%G3rSGbgl5iR7{7DIPkT30H;&7>BU#E9K#n~$`?wd%JL140K`$st0|(a_yE}J zqq*kip{*7M9xQ!xM_tVw+IQ(yG?G(~>hw2qa>lqj+uxceZj*HoTJ*#k_8HwvNyJ`n z%v^S3=!^4KFyF6BUnx(P1#__I%kFJ@vLn=U+lS^Y-Ak2Dd)O^;*A6|%st7ezsEC&_ zqpgKV`W}JjM3*UkJrm2(8kYo_YjD7ckYFzKX z)bxe$xunY0|Lwqb(}&r5pO4@RGz!=1E0{obIymcqML~>EO8Oi@`nf2y8MF7>>)$xM zuL*@WmSfiih3v9HPM$qitRMY1`Xx=aS}u zxGA|h(GkvO`$EJf!dev|gnjj;ewpTDi<8IAWA`*blL6q$fF^F@0h#H~I!dwccJPTO z5fJ5}I{8dlt3aAji#8JkLK(CEs~l87BxOsW%Q8RUOFKzb;0**M3+LMQ|GRuob zGROqxz!PCO6vo+nu77BtIykgwXlN)5f+!OfOXc!NrLRE1|DXScht#>*!7e&&FS?1n zt@yg?Y^y8WO#iJVmfN*btKk$t=1t{gD95<*YZ0b4$2r)U zlT5+4g7nFD&JZG~`WtX^P{Oaqe$q|lB%MJydCD`=l(mi$+TiF=f+ozRDK5@cj@O3h z~ zuGRUTI^A0~XzK9?ba=)=Cl zZsYTs*|V7vtJ>KEy{SCj$Qt#B z(Hc#r7&iJ>Mf0j}1nvbj2KQ2WuiD*n(NL3JJ|uQ=Lu>+Mx%u#Ym_EaL)|uDE?bZq& z`_r1(6~F)nXzU>aJn$dHqRKgIU|03UL#7v}B_~yt4b5EjJ{^w3_~7{z=&{Z;x!hRH zhgEH`TDd)~&?$IM+{W=JC+E3^T-C{Q3puir=N58RC(kY9$fv|}=w$I6YhJ~3C|L1a zbw1C*9hK5pNBeLj5u2mEjH-P+p@vcM{{bmwQv($9yU`JkZYe!A#Rj{jbg)}WPffAG zZYd@2Jc^kq(Uww%(%R3|lF~shrAD!~l*;h%Qi^y=O5=UWn3qwQzn;Zv6u&L$5G);w z)aEWv$}#rzEew_9&11$Ui)QzoBuB1yjuxYP0kIY~`G??Rs7RE^&A51C%r95rB)DdR z_?+n1BGcKp8W0j+J|1b`IcR6nacC6X>0|ClP#J~VX-=Ahtv#vksEw(7Dri-t|dl%vho`C zNisaTEA%E($!JqOKL{XX{8DItur@)lx>?jP-$M@g?iwl#N78f46&hzkk1t>s2cL=9 z$3hvO14EiPS!t&m&CK~$WjBb-`P1w8l6<#?-3}pHD?F;|iHGS&IIq-yYqKoums-)I zKH;cs1+>JYO1y}~qn22JM?KI*KJ6lJ%}?tv~fTDa3^lQUX1WD~;ZtnDUT zic%RB(x44;5_6DKJ-ZR~-?W?%f_Udh41!AB6T#LvppBr?EN8Cg(hGGs{U!v-?lwVXQET(n0_fZ!3JsKYs;LCf<#FLDpHDpUtzBQ zS>JQnnOgt)T@iOWq3!sNO%US7m#nh#u&C`zq~ z5Fd`{Cb)k}yN0=glxrfP_h$Ke{)pl7pj|%}wUBW17^b$}NJr_As#0g4rd5$r3=5!J zsZ_aHs>T+;{x!RPkR4ij`>?%zBubp#9-LR}CB8p6jlOEJ^;hoj;n#H(J*c9Ko75!d zL{zvZ3J{=)g3hxv6nt?YQS(S7iSD4WO!o&P&Sd5Ou_!sSRr%AXyuSA#R8Dg`vo$%) zU*cZp+-nIRcW1hqTjs-F`--G8?ug=JB;y?j^A)ARy1S}8$n6Pz#nkx96fC^um8RU7 zHgS-_b5)ZKnerC0xybhb_)wIV&oD`NB$w1mZ^3!t?J&kXxKArEdJ}pPp z|1cb+{+X87t$D6qMovsyF*+(66+;llfsZOBe0-zzj2O+gSjJjRRv-dzZ8&NnGE6zK z09(yQv7NT5Npo$4o~YtRchs}82YpsX>dmeb#oLs6X&dA|6~RI56d~LbI~IPko4dCatP>V5V_C6Pq!%67}mKW1E8J7*~FeoHwBPC>2YX zt;XhW8Ae5!zXkUT(oprI-cya_7LL_A$G!{4d7We5g=4kOvG2lh-cuUMwZ^{YZ((g* z_t>{Nk~0Ihvq{^OvQ6+kDWxOzwcz+yx-1YTV9nsh~-!G416g zfm2#ib95~F99OjtsbJj@$>$vRsNTm(fH=!F_VGc11^Hu;$YJ09vU9OQozWGx&;HX% zOaAOXVmSLxU{(ao$v;^-4cWjy(x;o^EBVA7I)f>N*SuO&0sM9C`ub+E@#a=UbDH2t z6zPaN7kC@b1wdkH7Ba_zAPAuEOltBlQt0sE#I{`UsvR2&d!N=Ny!zv(*VZ-2j{*gA;8##?Psp| zXcng|`V#?ID&qs$g|OV^{kM=S`g8&%>hoHhy6D$uuv69tlG2f~|S%i=>y(-tm!=ULVDT^zEw#`RwuYH-Q6F@3|W zpj8@GSM)x}lGiSowAssPv;RyKNBg}ra1eVfGZ?VLwsLVF{v&4+(N9(}bk>$$jk z|Ns0p{U5{r-v8fb|6=iTd=4-;i|PO3;yt_e&TgJwy=U%*$+_9R({s1&o?dlh5HuDS z$7(Bfxo5i@Rz7>rwx61I`}VnA?pbcl*+i}?R>?3oH#vF3-mQ~+rl)rh`0QeVv|Fa; zrg-^8(3Rws({mRP`h}o)`mU{84c@bVgfADIb(U+sKkG-_dXju6D2}ACH*eiKNyf=- zJGV^VO4MCpad?{}-x}rH1~Qv>?cF&?%rAvqnJj~{67}m?QERw=AS_lo;BK>g4~NBX zM8W^df8o5pzIlK7C;2NB==VGYc_Fd{{{9K zlyo1n=dtvzmu84Xbc8Q2Ehk7nUE9wV5HvoLX*SiBG}CitZrgq1RcZTvE>pZ<@6K(T zcWs%T)MfWBTFJo|b8|oX;!Q7j(RC}tT<%;qy>rWDYIz>lp0jOk`X=$@YqG^^ZQIVR zyH-9M##tpEBlOMLW^t3xnVzG#tuKK8j5FS!Esmxf;iGon_~ILRYzF2o?!4MGL)rdS<$vHOQ38 z0(kA-JvY914wylvJYXfvOi#_GAp=7S0nU|EGcz|#ZQgO^E;L@IQdIDZr{`WQ@yJw5 z>FZ^?W_Ha6nMDRi(YvQMQ->fk*v!zF*-L_9GQ-Vi4}Qd=uidpf#bU9+ z6Bd;Iyy=^QY8+HEK{Ps?wsNiL`$08kh+OIdvBQC z6GnZju35EbZg$oA=ZC>q$19z{;xJmW>YB;Pt$TNFo}46AR~N=qZ&2m*hZcafaZosE z4obWrLypY&BGC{HqB=Hid;Zi-(?K;CWG0Ljm(Nc9-Rp5ff6q3$H6`hsZL;*=_L(|h(z&%j-ioA=J5 zKBDElVs6;BIf%||%B=KOsyS}nyKVChy|?MP_WYrs97Zb^wm@&qHyp4&|Ewh`KE3oo zmF8)-*4m8|!EhKoV}X2^R4t3P1B89NShevugi+AXDlQ} zm!Ri@k&Zmi%!{5U$O!(KRf9Kq z)(!@vPa)ZLRV8b({<<|T=ntba7Xt4gtV@IOj-2P$q*_~m)+SxA>y`;_Gj{C-r+3D# zz3_}qaa^~4d1s@od*+$J%B)VO3C>!yYIc__##PN8VNDP&2;+Fdj@SmL@Me8$O3>=Kk7xu5x@xmzOBBlpH2tev`SL?sBvn`wLp)73p?f|Fz4EloYj z??sObPg$cb;R?dDo0u(Rx^9lXZei(bY5%93pXQycQ4ihOfS$d#qyJb zZg(X;z^xC$)hEx|v-j%(1-@EP-wi#&;GhNRXw{V`$DoHY=m7&Rm=AYd4|!cj8!SlI zgP`jm=z?@mYC#zF4*uy4sEhvD>6u-dS6%jk%dg0MD9)F|{8$*A6$O73M!BDh!r{YF z9K18i1Rvw~NR$m;7iWS$rlCQ1> z_IK7!RKBmEJJ%6(bR9u&TQ^a;Z{6iV<%EJBTz5qfe3GC)SqJRDR?s)r0sDIdJ)xkV zT~E-P))VxO^%Ir%Ur5kzUP#dIUr5j&UpP_u;)Q_!dj);xLcl*x(47|%^u~(_dfP<= zz4xMt%884v3@X2)pif@(oFMoDL4SP_Nc@w6zNes{zIdYYvlj#Y?u!X}$HjnuKS3Y5 z7+4P}=(86C>x%^aor3;ZLEl%eOQSFT!4VO)aOTzzKn zTUVcz`xlc*Dz|5q#|xD}ob~x!hk( zW{3Z7G7g@Y%msgS{ZMe<4QB@*zhOo0(Jk5GA8ettt=ZuZZjFOiZ96CU^tN+zcg|#o zUpo^AU)*_K?*5yz!ymahuKdNGl|khn_E5d=?pYNCPwbhobsJ!Qhg73HB-&OD*9SPS5mCsx7mo5043jRMw z!e<7RR~=RA|9w;&EV^H~X3;xHWA+FAEEBNtW z46h0*uX&4r{K8wp=LW&s-$L*M_bB*}?osd~_bB+w_bBx};Webb*HYhWsqYOZ@?XC< z4D;XP5`5+D;q!uby(4^n{_XD~?6-9J1ef5e?+Txv`}zCA?C@Le3*+Ele^2_%N`1|e;e>4a_bU$T2^kJd$sShjoiysbO5(Iz$;cz1O z%x{Nh=l=Y6fbiG96UO<+KMGmzdO%5!JfNiaKA@z>9w6x-JQ$u6{LSx$=jK2AG4S~! zm*9PW7@ik=giHSOe@M>Pd@}qobigN-^X;DuUm66*KS|ji|77^T&@mSL*B1Ow3jXO& zg+Crte(qCB{gzKD^}9bs@B^O;e*&Ue@FN!dWd+~+neb&u)@PLZw?3oPAO8%&pZ-kv za)@ie|6sxYs^EYBO!$hRa>r+t`tWC!`j~U zdB>lIN#%jhhX~7EU*H=2(HFuqgFF5#JS+FjN5b;(cOD7j-0%K*I6VCOf6mh#Um@%@ zU*YM~Um@&|_4LlK5%!+1@$@fWBka3+`tr94`|7uO`r>y8`3d-|_}A}+L-~Jy4D#ObgD}i}_6KD9(;txd-H(&)eUJ0>Cy$fu5uSp#KM@WE z-#8TI@~{8tD6Aa2GeT+Ie`iFMKYnL~+IslTXrl7Soe{11Wefh-JEN2l=fxP0>s(TjqAej}IHzlqDeZ|3sbx_tN-xqM!iAH0=p zUwB(I7X0Pgd3yLA(TjsWc_$Iy)a8+ParuTWfB0@L|ESC7@8j~OU*YnO_ePs4pL?(H z{mb_X->z zfAf6;^6v_M)iI@h-7x|A#bW~Uu44orx8M(3@Fy(za|-_RV*>IO3;y;o0r`P~UwvFa z-f&z%-g;a>-g7*f2p)MqHTd?gMlZ_0{x=}|6Ca9RKp%F$QoZT^=vsQQ`$_e|`=Q69 znz`-U&ERD3=4o73B_8oB@0s4R@`l^O?B;` z#=SSJ+Pv$g)iX1<_{&PNZpTyT)^FVS%;^nVE?jfrh3hwL+_Lq;bsN@ApFg#3^Ok2` z_{=q%H?P~WcI%euHP1Xdcq?1Ug38>~EW?w@t@tGI7VPOew|K+enH?){n!ah*>}}^( zI$l=p+C6vf;>|b-Rx+|M*Y!$9r?WG=cE0l5{+ssB;9Z`Y**kr1<)*!JQ#Z^^uYBdq zt{bLi_MAJk6OY*J)b8C3msf7xJtuemxs}=Jt<$s9J2y|S)Lhe^a|?U$B(B73ac;qv JzF~d;{{w?eW|;s0 literal 0 HcmV?d00001 diff --git a/modules/Tacoma/libtacoma.so b/modules/Tacoma/libtacoma.so index fb57e92d4d6b84fbbb7295eae7175d681aa69255..d90a833c6980655fc180cb173190be7f8dd27813 100755 GIT binary patch delta 178173 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%0Ap9qt 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
    $%+77&*UROsdW&Bz0b-dx9?Z@io zpg#ZfV_kD_H_?<_HX}z}SS0%~3aA!x7Jfqw3uqeRedWGU2z%>>db--XJT=@fn6H;s z`Aq_`cGs5hSfuMXiDdQteysCN+>_Pv4okeL4horco7BUl5ZgkbxgP(7@>FTv8|?W_ zwRtfMNV>`9OfA;>7Owu-n#&Szsf~-Jpr!~PRf}!Eh1(2ba+&qE8uLmX6eRpnO_l9! zjvL&s)nr3&tMST|M{M0~wS&^&5qowU*T=aZvUYb=Tzn zKTgmsR^l$`dk$n_3!f{w8!AqIDD?EG`fQ``j_~$FYcu16tx2yuU`hAYdKL!~WFPd#^&S7* zS1Si}ru1E%`JF!D)!EbgxbLvUeOCVgEZK>BY{&y-&~=af_CRe~s>?l50`U>JYsfV= z1n-Qq1I=+Md*g_-vJX|oSNZ)CtMEvjkxfk<1MOeFp^}8)+LpRxfwyMZSACKDI^o4bb;IlX2Mx zio}}Rn&myl4H`FcS=C(p4!gnH=b}0Nc$H1aMfrYui~W&{w(xfjyPT^&unfBC$@aY` z$aXD|o^0n=W|f~J+xiXGGM^!c&K>5n7;WOOs z(*GPA{R}Oo&qKEE8FV?Jvt!S2uh6Lntl@LqlhI9Q?>xsyg#_qB9Xf@0VeUrR)(9am5X@wf@g7)66m zHer<%ON8?271ma zkFv2=O9<<3wUkrla3WUuESjyeTAC_FqS-BCI?<4Y`r&s~L)OX9@~JZDFgxXEsjWOZ z%!>G18YtTjvljlA7-i<+v`PM!;+EnM?_kioe+1@Z>p5!lrHa%2eJu_W{O=J1p_^OM zgQ%e$=ZH4pCm>%E&*z9r=ecp=lY0+3zvnp`gNEnX=b86;f`n_*^HM49_Y(f9^jyO8 ztRb--9sR_Xb)#G`w0%{|0RxUWjjccf<;6g-OhNP+?+CCDzPl6fFT+lD>3K+=6- zKQMz9u8}+75PEgN1vxf$wuGf&=$|LagibC(=Cdg-&<(Lq-$@rKk$GKqlD!&W2~(z? zWL*L*1IxwMw(!eBKXksGn{sGc8Gc*!c|GnT`zOFsKJc%jBua%*!RLR1(`vHE0hX;w zt6D70h922DFCK=bs!{B-K=ix{HQDJv ziz9ed_6s;uEk&@a1ASL0I+A@Hgx+C2%zg~AEL4WqVC_m;S}GqzvXqjR`bwFjY-34u z;(w~M3nkIZUOU5{m$Wpl`td<@;_>t~L%J6#>4oq3n)r-`EqMSSjM{pygRFZgOB1E? z|KaOP;A&j{|2xw&Poh;jl~yWBNeV?F4ninf_I+Q=PL@KFosT{HnkCz@E1|fSxYvHk z?m1lhzTN)sIj4yG{r!8rIP=VBo>@Ng*=L@aOEkwya${ffX^)lU>h*}>xF%SDVd?&0 zo|%wXNarI{nSD-|PEx=^Q_j&hD|9^PZ)$2SRWPZSFOXpcIUV9jBdsNWi#Df44$f$b zg@UvBo5XRM+_EA)vX(xv^wU&eBiS&oJo;cG^<-u9sH3gqW_%1) z;ufSz?lj$2s!=)-k3t)7GNfEvsU8c=7uwqew@65~rN3U(0|O1IsU3hjFVY-4sZN<8 zMfrVLkpyqY=!2aU$zGqQFneGz^E^$kmm0CY=jpUP#^Z3FY#gLer&}0nRH{qkv^Kaz z!9pjiae$;wR_{7RgB>7_7M-Up4pJ4{YiCik=DsE3kksT8;vB?Oo7S$HXAY9H%AxfM zU?C+(Pm%#=4uRBgb22}tBDeCOj*Z#Wx4hJY4ZBF^%S-+Nb9%ryn1 zrnj;8;Z~kP<+>m}7|;1P$m}{j-Y7&V|2k$a<;b+ z<=k*7D83!Ub+)3*DD~wiNlsE_+gJlkvU2J>ph@VbZXlnXDAGx4YMXK7=OB|hifctv zd9)L4bOL35Izv~TBwzO0k+?I|$J#S!Wu>kae8mB59CV~G0q8FPF+Tx(vLhupOFp)~ z0?xEGQH4o-R@&6`SXv+3qU2ssjAL{_2v~hsL*8`s4Lq@)E?|vy*Rty%LX7p_^2fIbWi1 zcj-H;dqB@4c?b18viqQ(M>>PNz$3ZVIvy!g0gr-58og(fXDdapKeK-_Ntxxi>Qq4g ze8(ut4$v0adM+_90vG|HGju<_r8X78CG(Ec%8KBUmdELKMQ}-}<5aN{xa8n5N~i=b z83%g$jY|#|aY;0eW~>A*2|BLll2IiHsF+LMmeq4fxwm`%CzlL-%gDXFRG&56LwVj( zKUOAN&n7p}ZV{U_&-%$GQ-IKtY%*LR7;Mu294+*bdOI`R*s5LegD}#H+2rX?; zXOVekdKRg77`2yVk@jYK7AY+NC0WGPOwS_c4*~ESi`+BSv&eh_E6E~TO!X|%K>$j! z$S_kqi?|6uNfxPTs%Md>2LUL_A}Z4oEV5fbOR~rr6FrNJ6@Zc~GS5WMBJ~8IB#X2+ z(X&YDgGDS7P)1|wFIeOPB+oDG02V2Y*MG^=v54y*zsAeYaI^l|6X|L zB@Al>FM5|n9139}+({F7l;WyM^K2{xc$n~&(t?h_EW}xjX-7yED3!13k9pMD9QZau zotlUXI4H@_0>N@O#`K|Rf7e%r@p=i7P|WOV(!EdbnSk|1jM~k zeRGr!`{`YvG@Lc$)VI1+-P8gMr@MpjrE&`VQC(V5=3}OKS%2hjX0T-CY_FdBMHOEI z7jWTlSEV+{QFrz)?sG`>^p$9GkW`IDaM~9nRV?>f_cBZh?O#F*6`d8A%2k}+2TA^{ z(q5VqBH37lod)7+Z!I>lai>z{6Cz z7Cf1HnbfhCRKc&M0HjU`5q2R?NlQ=*gD_NNf{f6EVUJBOc0`$NsS-@hW9 z`xENlYzY}m}GkvZjjbT&1QhZ&>(<~6hv`>I#NaGe? zX;WQvMiO~d^?5E|=_>Nrl}+@yt`u(3TCht>!Ld9HGftbli5iDXb!_$l;l(H0yGlBa zezSvCgiEz7YpfL`J1ph`r>iPxeaw8nf4HsaXT5iFJaG>h@)UVvDY|b6-c>8c5+W-41|F zW-S-ZhDD0>B&2mhD)qRSJ8jmg-<~(>pIeK2ZS-Z76)2-lJuJ${Y121S-AJh^yS$8M zMM|HogO`3U41kl26KxxaAl^r1!%kY-P>S>awC=mOnxMU~0MmkYe@E-dz-GjU1|DuK zVSU%jkVhja(qRGKg7C8zcVyHO2T+PzAU-M?D``q2*a2%6(a}ayIWtet zpSH3NZe#hD9yO9&Jx`}2&k1>R58=PUSLWH#pPt=Nssih}A>;Vq9$8dbEyb~lD`|!r zYI^e;+NhS|+58pc*jTE-)-0j0#*(|mKdWKm{Pg>S6WBk3lD;k z4a9)4Eo-mGBs?fbK-cKH2fCiT8W|MPQgWazO(gGtvluvVu?e}r#b2L+i%shVRu_6) zM_yE_heuTEK=^WLW8tiYZF@n6O{E}DNsO`u#`5Dn#>c`C2?L2eTc|U>`O=rvsj1|| zTCJe*O(h32P4R?cw4O(4T~jHFZC^*Pn@Y{u^LZ2zCAD^0g7+g*n<4aG2W;V@_bLv- zo=Qq)s=2CTbZ3$g#E;X_|wpfUL+&GasK@>BeMO9l!_UwJCrg00& zQpKh$p^ni~5OaS=3!tJleYf}eQGHMn;o5p;cU?(?Vv(ott2Pc;fs*B;y@9#)cb@> zg9^}aF||zJPvcriZP>G!^k*w6mYtkQKCR)YESyapT1(z0XV4o&5Ofk5H#|w@&FW1P z{Tm@fz0zX|bS@nvdvcEadQud2}~cs@^FN{U}y<<1x<0;%t8%;-Hvx zET>mY;ZRIHF)H)q{rVw3dGM=ZN}Tok5W^nOur`Q>)C1?Yf#!U(kTTjx6EUEH^*w#BF#ldk~GntyjN#1OKl4f+A zv{%Je&m_N2(s(vMg)%yUGcHe~zdH#$&7*IfP>&`>W7k>Q%$VtP%I+#T*u4=9k~(2? zF|`~J)N*?oz3wVmvAk&{cf;G8r%}aj&~qabN!<;~z1cLH+)c!!rqK%gI@#$eIT|9= za*y#)+SSx?vMo^l1SZMs=;Q@p-J5_FO`#N zU3bZc4N0Pl-KA$nweCSMr_H479uh7JIY2LZfa?z?Qe;mlvd@WR(e=o@pJuu6vopXD z%C&L7gDwFyPk@d9R4h-{K;##vyO&63mPoguZjB`?l6t`?{*+8LdP$3!!4$gCOB%^a zB~ioPQbecsGtpeiN+C^-3xiTwKS^ZdfNP)r1(MFiWyko7O2fr%kSEZe>J&re_!RJD z+F@Z=iKVbzcog@ph>HtAxdnz0e-SaQzh)>h|UpRw9hBfy}pR;r(B{z z{SZ2-H4zFj0&`y+ifMU?HuRHR&1C^t4S+bN-1QP&K_+LQ`#FP z(pS<+-Cy!zF&Algf9TEbnUvLE+U&D_x~@am9*|S~+EJ)kU7%RUw|@ecz)$=Inm+(> zo7m}eaDX(}al&~Z&vL4Zz#edhq%fu5np^OKoucLr^m2$)g_;eJO4FYMC2N~Sf@>j3 zN;K3H>UW^z8)`LHKV67YN2R>hPxi-iVm@GlJdR2Y>y8I=%la_-3-pcEcfqWqSNG0S zuR+ov_H-isHAr%I-Y$BTd{Hj~{dHA*MD!U`YO9=yC!4{Tthr;T&S2O_^(Iiq!BPeD zmSc+Kov_6kjG>u>AqCne(Z0c8ddqY4Xt3m3;q++W+!4z3V39&?^6A-4fiNsvYnv`7 z&mmyFQyJ802qwMRA2e@>wAIMBgG! z94fh3y+FA8m&(Hu^_33;eHT~0VTr!-$SwNHd9H3ezFYeJr}kMeDgMWJv=jT$s}ZoI zu8gGi@i3`3_oj{U2$!k)((`!9-g(nWF{8KzJvDi#5N}x6#NLOaLewc`29SFKBv+S{ z)FMHu$Z{vqs06qORwoHNplUPQF?2maN@ep-Qm>JcYhuG;n49vL7r_tRP_eka%&X+F z{hQROLtm+l6Cxi9g>bb$947}CW}V;nla zc8K29&eYB3Z?TRQBJ;nlcJcsfJYH(Tx*fySOc-EU6w_kU%8vnhAEWc*F~B?h0l)<| zzYOs8QQ{LYz>WRMYl75}t?ExhCqO!d_op4Rr1GjBv~>a$_Q!sNUENO3*98kE-@?AE z)JT8OmKXK~q*aXN1=p~|KW|AXs)DbU7;jzR8^i1 zpuLF*D!lJQHxeNbJ|Cj*iNM{CKIAeR*I1 z!ekW&b)2?QA2HTR0+mJOO-t0*?|;8^snqfUy5JJ5^20rP6wJGuIAE(;lf2G z*JtYd4@dYJUV0@UrtoPmdN>(d1orjPI82dn@$}67dSjA$)MrL%4VtR`d`p9^#80x{8NUMGr&8!&u#e{?eq9&%%Hb&((?x ztS-tZeinl+`9ju@XZkBinrqa59!$>#u{0oATE`ymC5vg0E?2q|zJ+sV{vBxcH0;~B zw})(|gBj;{1<&CkuOG~~We+u*E;Y8P0YFq5!V&>z0xk!9fX}T=?L*t9OS4&aBGsND zMYHT~lr{sw?^dwco~;lZ;v$gFl?UCyFjG&qdp1WY)djGXic0)!1T87k2hg<{QvI@S zopp*RgxW@O_4mSn|8nk4f~j4&6}%aAl*0>SB$1adMW9> ziUB!_6*xmwU%NlK&y?P>iXF*5Rcgi7cB6r*(678X9mKC!UYww{1|Fq;Sn}~^N+9~8 z*X=pau83Ny^`$DauxNBXmWIuOMsE2xFBC9x7vwNPjO~uSR zQkMnNBo@|Kb8mr!9X!oiXZK zNRK+*K|0ueSEyWQ{sSf2Hc)~^=+O=zN=ufbsi6AwdAYQoO{hniE2Q>it2Oy`I@i`G z$Ca4Q%1ug4r&B}J>=j;ITdr~h=^xX%6N4&hMsdeHi-~C3hOAaejmq9v|5|;kdNgpA zG=<$!i|T``Uul4v@75`xODiPY*jQ3U4y*?jT+MQ zH9%T&BpqBMH8E-&2VBJ0(Ue{*WvG}OMhDhO?b)_avRV&=`ba&RvL0&^ER>F{hpqKK zf*Nl?%&Tr~O57kdYT7VL(AhpA$D+Ld6+YLy2yogva2j?UMhT<#qvEPBwB$#jX2?8; za?j?0-=b2)b=$rXWVsQ6j}PIb-Y7*Im1~P`71X5kjZ!PK%B$FqYp_~0qQZ?*BJ-A8B^Lz;+HHmz|iPZZ$O9cVat*d&@;X z3M&cd)3eKn%JwXg*)@z_?2-mD|2XQHDW$t@2eUUwP49_WicG#`p0rZ;ys5A58Ji2! zI%u4BOXUrjbw#SR544e7Nwa02)I-Jm{mD!t?Qv{cOGgYsQ0s067xbXN@cMOCx~+jJ zA5@i$4@fN|+eKpNPF^5pCE%ygD!3x)ay*vvaxD&7pcd`S%Fy0FB0uWMxk78`K|?B2 z`T;O|r7D^y2c(KBR_LQKKO|xE`O+#BbXe-jHdQ7%EUhyt8-d2cJSgG_Mmr~%b{>H_ zdbbi?I06Q*8bno(O0!MUtAlI@!yHwTtI(OFh=@AXAlGA(H5*ltf{#JEeDbH>$D~-} zHU2>6R%K>oI(ZE7qJSVWJq{1i)t|zSL-YLOL*0*K;bLBO+I}3HjwU+M-QzGReXEmY z7CbZuY!k^sz{j96P0T|1ZQisl3lh9hAbre|IQ>v-KoP0iWls}NNQ>M)>u3%dAS&gJ z*p3C;T<0r8$?F0eHv%arM_R%XE7HXr$=lYt3MNljwfgW$%8R&8T7xQNb`lnAv+{ry zIRLJhFrA@qA3zOHVqk6EHKR^S-&CxtA!Ice)!0kHx0`6DgdtvU>Dj-YYg6ni` zMH-bS`Ip<^`m>EdNXlYi-mn2>=V6P;H&0?`5awU)NuAG#4HwRurDr5t7TT$z=m>VW zVZ#}&g}#85WX0GK1W`rjpM)a?q+P+G**FcE(!}%a@L`aki9`k2R2O=45pV5zFt+H185*s%)#tyCjuT zS#@lR(wj_wVy0Ow&4bHQlFB*(s4L!i1(d?M9jB(KD^iGS`%>s4R#1dB;q}9sNRW}| zAD5$ywV}WMl6qRNclo`7t&Q{*%rN@@R2 zwUAgy?{m?CFN(GXThr>>k{z=tO$TpF{f!UWiPHRR9jbCis$;nJ-)}VNjuhnB!3_9O zRZyoU>t4o9m}RhCP27WNVNA#FAmaO8AUZWUT+|J)Sc$gKwUevdEJg3`NLyIC5v3PM zF|4r>y)Qu6_Ki$Yccqt!Dg-Z;(86zczl4%8Pfmlhgra#<9$=^6!3o0w$`v5?A5dF> zjtJ0`e}AhqArzo_0(9;N$hxxR>4l~eTmhRVV3`>9g?o}+lRg+!F&oB0nE$Wzq7wN5 zCDI2=q_^< znY@LNDW(!-Kaf1i^^t$}!QAI(I>3htA7GvQB%`qprP_u@-@eg-hwv%gKWlD1l>A^$ zsHn_iX$HeS9_$F8#xf1a>525l@Mz&TDyv9c4bNiC35qn|J5nVkvcyE_cH&gE23|UR z{PqI{*!}6RMKB`EkOpg|nud{Ra;sLtRrcR82C?q3^~<*s+E1WPc&$p0S7MCgbWRAa zb{yd!C;Yqf-@oC*6Bt0JKhlh+(tK9!qsH->^j^ijN@VpM8fD=Zs`VTKd!0lB#Ba4P zwBk7|mv*1&@pEXNPoJpa3u&WKS2Of9^)!rN4yNV94n3ONrQ*&lK|tCX{6pdhf;qRUgRVwX~PjHK2>HVR)Jv zkm`-pu-f}~-wGS!9^t9qCG**Z5dkwf;hfKT3HlmS6tOfXOzCMxQwUsdt-)G0T`CWtOi z1ppgI^!uNq>l#v*02XBQT?Irxctp#;NLSdoXEgk))Q#N;qbpw}@5I^8#cp|$$7<{p z6t3`0>bErbJJ!OxJJ5{pp!vQEo&GMJv>C2^D@4fGF*(aTxjEiJ94S4N(*KpZ`5n3Y zt#IlD3*0;23SpVlSX{=a--Cdi81R^!z)512918#iip6vCD+F(Dyrnr%DAj-)Q)|&H zUfbay%uJ9|hZnku!H%_f4==3Dmn)zKDjviPU(q-f@5qwx&Kd`5aS+f-F1p% zd?=fDlg=~lZv3vku9`*v&}YWW+p2GWE7aD2YB*jFRC^ePh=F4LkbDfeH(L`-v4-5! zs?|f3IsbG2u1&vSN)v!`0?_Eok3a+u2&Pkpyb`k1 z52(4so3S{Q3B?F9qO0vx*()~)LvrDA+8B-_DpR%CGn#M9e zqq4jC=eNQ`V+0ST1)Z*g(Vha@dOacUQhbxIV+mlXV&JC7-*AU<6#R0F_~tsZ<)iZU z$+tpEFU9T2#+Wx?4<1mQF-9=nil!Lz?QGCJ3MkEIu+~rLaA|&=&3{be%kZo0&?Aa5 z;f3Y2KuttytXJcdNX+VKL@7(Dv+o-!YaY@dQ=Z9QJRlb{-j&UIKvT?kQ&#r@T{Ppn zSlWG>Y|ihqE%!9NEV!MDW!<8QmfVi@xkqHl`><6v7MJBU*y1Y`QkKtTV+-hHSq{s+ zfK09MtK6YBR=goweTP+G)+3GxOV2XwAb|{@+x`2KD6qO(Si1 z6E^;DI$^^HvOBlP-X{0S*?lAyXaH@0w(b7r4 zvo5rFz`(@-7v+{3Ws-v8+#!g9?D%k>$g5zA0L zPq23ozfRW-sj36_V;`BOivu63V!n(nmE)mh6L07XeuShF1)r#>LU|N4Qc;WY{A$@g z*Y)rM13mnrfvCuVq8+)7;mbl5b#>rXXrUut%?{*K4JXjG-5F}@#GUMy97iw3&YY?L zs?4X)1WI5wEx;?YoVZ6oX#TfCeA{OM=E9(>D;as9jkb{i;tQ7ks+1D}XO0=bL+lR~ z^s>K!;(MI#Iq{l?U;b5*lQX71Bv020wqI*vow>WpItE1C03UbuL*Sh0n;I*SDAR0jlr<-3W$puW^W<22rrC$dZ{`tHdC*oBkiUy%=B*@v(P zo|m)V_Xn!%EoL+=s2^5_Q*t9xPAkXr=pvvdtuZd~k#8zLXie`c^4{#VhB{S3Jv*#u zZY5ygby?zG+>50jr>b7OJnL>rQQ|qTERFQywacbve#2)Z*!XfEh{V_f%Tf;DW$zt> zY|TKPe!0Nrvn74^f&kijj6A$~Rkp^GV!e4qHpY@Bc=H-&5!kCdsg6N>1N3ErC1rc_ zhQ2`}F9cVzXQCc$Pcc)~(BWdcHME4(4SPh@eIU7AbE%ULFUR&-&=?=6kK?B(-G^84 z>t^v|8A3UgtDFB)y2W*!6<7bLnBIb8Ub;nxD@W+F4-YU|i`mtE@{?^|L>9e{P`}EU zigISOurgoBl1#~`3SY;D9HNU=xUcChjhLE9TpVt*!Gw%`xf?rUO1{3_l}$WE(Z1ZB zO*W+jU#>Pfasl*nXg8ho#pLxXLy>-b1G~J7{_*2pCieTk;R_d`P3!C=m#W;^%l2)p%8lNwS_|@gpc!LsbGHy~1~Cng{apDwesMoPt207c*%{5RW(N zmy2F6+)7V_P?_0b8d`(bW#4yFW(~;hm_78R2Cr|~V!OZsHl^wJ-dXIV=D|FamEB7# zLU?%9Vd;UOT1kK3tF2oGdz56ue3%-vCG4un9GmS1hc3>u`Ecql{m02}(x z`!kTIblF2MYe5UoHK97SxifpU8@radw{O2&DtrQ_9NUfN(}LQfsCY}+f#=k;cu240 zGx1|1#p0aPSQFY?oA+QryU8Jx*J0=HQu|OIR`ysK7?i88N}rQMiGn?phE zF?Z>5C?>w;cKRO5pO|glAPDBA;6UZb3VIU;PPw+0`qbe$?EY@5QkTcrum1`IF?kl+ zRi}=@CPaOd;q*pYQWs+C#x^=tm+xdtGHGNuZ^0U6Qf@d;VgKx+RuK>l2X@i42w<(r zE;@;4%f)Mcv?wIVwH0K9lLpwtb+o!3uWol>wE*MDgaVz6LF@=2qdjZsSv}s+Cl2q< z{TaF|c3#v7p@i$+E6~f5oShU`pP#Tlz61h3B`YZ_e)gopSlQ9-Au-inqo4+SB3tu; z_B8JDNA?R=K!&Bf)(7VrL&xFcxm+b|EoDdZD@GZi3Kg+z=(y7*|&(c$vODu>Xj|USJnDg^>9c|AYoO(|N&W&N(%vGnnQK$S1Vk*qn zY7u5p;^xxZ_B`4_byw7HrLR9@7Bp<6f$$epbgwP%Mn^k9-786SwFAc8JDEb_(40}S zXwI1u;&>eUdm>$qLz~`-x;B|v5=D1}c)XQHBRXPyg|n!jBe!RT01&b(utHj4z-0MmCnDMrL}P##4qqXFH9VF=v{lSDDz7Y9*@igo+Gm9eSxS7%La&xzADiCuVW72ArJyF!jCbFtHq z=P~EG^r{;#U}1CUQg_hMu-UY-2iLFzY1F1CSZ7-rE$GQZ*swG@-xD-aBaKS+!t=LT zRIeAjrA4!7OfTejm_>VgaewADiyrra5Ph3U<$Hridra0W@6EBw)(rcU`fxWx*FPCO zekD~?CF%{Etck*~scJGFBh}e8AMzR9fT`m+e*wsF?kGqA?AlFjgh2JzAuVaf}etnUS_JjFme2Jd-<1R)6=cA7PBgwiycXPUmm3MWT&7BOD z!7(v;>eLWOWdop5sXd%pqX;vqj zHl9BA=Yhsq;qM*j}M%;!we)E){W*O*We@5Ma(i1ut~;&5)+;3%d~NO`dl?gPHpD^5QxN^9G$ z0ulez2zqi(c>|tL4ZEJp478O;(4WKMUp=@>Wk&G&taAZHkATp^$pv$DzqcuW1i!#` z+@jU-ygQqDgQNslLW@q)mIU~l7dL2LCh!Cm^NOe5qcA&}Cn#+cjD}}J$Z9n7n`Q_# z8qKp=(r_w029s-*O_j$0-fS>sjse_Zu;$Sio~W{1G7xx3o#oL^r%3r3e8V{o#)ic} zIyMd*^w#n}$u~tyxGvIz5s1Wf%IAeNE*5y>cJ=a}rwr*jr;XnXgn?w(F&Dy%Z=HA|XXX`=+4v z{GRmh6c{mmd(z^md=}fym2#@ z-c9EU%a5ZwGk87rcV}`-ferV*4V_6r6d@#w8oL;j=GPJ{{V;a>Hq`XS zXP_#}(Jg+#$(A*GoV;pIcb35O*wdVvF6BqryJl2+8MJV_Ce&sb^dE0YDa#ru}kZNBFhSbX@^Ef!%LL87m=1bDGf~D|sx-sH<^X#Yd>v$EHN- ze00^YCVHCIb^(X#ZQLAfm*GFttxKdE4W~M*VJ^BZrL@(&6T6&2|EvaS-^?J7HGDEN zT0)!F@P6#v7%ID#54K*>`dg9H66&E3C~a*<3)ce24rA!lTHdYv2Ov`0UMR|_v;hjf zE6Rsh0~7O=qbXt?q7Xw`(av=k+V@d(ZyoPm;RaBv4J~qp#5>|+q~e#xkD~7D`6T93 zn;x!*1UNd9TsHuZlWNiI4cxO;1lEbMd(u2fd?+zB{F6%i?5AA>kIPlS>i|BZ2tM_T z`KX=hG}GwK5FI_Fd1_T&ox;1=c-25h!><<--^k}B?yp}g7;?4sz+`$Mk*i%)A{|&F zJ+DN1Zi)2j5^4Vu=`|(NyGo>w>(jxIPPy9b5`g>?>ANM;r%R--4y33}ys;(Kg2|TZ zyJP{wdf-bXFN8L3;*~0CV6EcA^11V2`=8OR5`IvY*8{o2NJ%;Y{D{J1L+ITm?#trp zk^5#a^YDf=a5E1s*SI-m>G_XY8njw$bVhm0hIDi@uT(}I0DDJldM}(uFE?`szx6Oi z5~{)BJ5aQXZ-K}NK*p}3j42|+UsO^mkZNq<)%+fY3+DM{K|--8nh6;8+9UmcQt{^g zw0H}5b?!An=z#lb*dl5{1TOfe65Df2DNRDY(a>9lcC2eSz1RY6H*y|XY~{5~+=l5@ zsf(hnM{Tx(-gkx4?5*6#@?A~Q1F^UYomSiQ(QG=i6)w)LP@1%jTa(c?*skqoQ|va# z&kJ=#roGias7*->{@JzTeQDb^xFn~+8|Ga&ZY`%#Asczt;du#*EUc5OCo%HZ?Dt;2q{)veFZbl;*h zs%SY2b_Fn2BCF1iEE>HX_DI8Ow0S!Zwj88JyEU(mIIZ=>`%33fdbJ%x9+*bucJL7A za)b1^vQWb7hz^PsOnjvP)2BeWP?v`8K-?puCZ+A*ZZ0cp|Ln}&-tepRY=b!XCD`M~ zXVS$T+=eZwOOJPOkJ2YnnNBc#8A#SUp+1|0ZHn2+Rc4kzNb-t52t+hBAM2YkTRD2Zyr%{y8R;;|~Ste$rT3s^P&1?8^0|Y$YBSgPL6VXrQ5O4s@>zGQntO*BYV-?{;=^W6s>V}F2^@}C?3YBQiZa%Pg zOVEypgQ|bVK}`^q9n}kT)eGdW_!kpbs#Eeb1_SN1wn>j-ROf1Aex!4>vy0NAj6sRC zQ4i|2huenl!~4ZsPPf#6p;NpOTc;^f`69qeZaGax8DQ)fVwl)+YFC{!dwA_~O#(%a zTLVGa;*<7~v0~!}2FmJ?$zEQ`Whvl4YDVxB4!7;VGr^r%SNG(5=IWGcp=>U(N3X*IkSbMPR~1H6IDpYB4h>4M$5 z&+){aiV$W4r|3$1PNtLtyt+*yN{P`3got%ygb}{^X)Ygt0yV1J5wq2+%>B|w`z^JBps994Jd6bV+S$WLFlSWWNTG;gz zq_+jrpT}Se7cGJ)Ud5X5h+?^C(4{qr$TUw55-ff^uDS6;&|Du|GCGUN-s3@)&+;m+i@+1lR*Q{5<2?RTwYze)g05;S6^^#ik!DKH zvr~d~v%G25S(p*55}EwLhxlaL>e`q&7;QYVM*9C4QcZW-@CSzU)~9$#H&FF|hE&~I zKcp@$`XO~5MA7Fkq?eWSLz-%%Yp&xUG^erB56RF?Kcq*HD*7S);rgGd-Iaj7w~h!hC(mEP|CNb!52WnL)d>p+{&6Z3q@fUXW zO8<`zhS}>o*tcA92TwhlBW9?Q8wFoRAmZFe>Tnr;+~kq8;WB#CWF-B4nU7+Z5-9dh z^w6s}P5ToIP%zL>{RuDgp_S(8pS+Zcm2;wZfALoKEKz55O;M}zVReDh+tvf6ySP&4 zE8NG(PCUGHp*dH$zwvzY?rcAC;%{#j2>2uy{hQ0hLks&Ara|v;Cz>eFJ^GWJ-f>z&A*+r=>SA2FZ-h-axGJ zOjnA%3ASr#N)vAK!N#tJ0%P2#D^8Y$dfa6~&bPR&mA!c}u5zC35cFy1K#gwkmTcA_ z&9Ym(iVCwyd4FTI?)dGXupUGczTdvm?gH*t@!Qw0LLNbBT`v-_dVWvJQm6TT z2-em6HkjnQ2)Fb#ql$OAi}3*H^M>a8JzQw=4DO;Ca+kZR*paU^{~nKEE&FJ$+~XE1 zW@kZ9?!y&((vL1ZfM}jm8rx35y-iD#`$GhcJW5mlhY-$AW_0f%XfeMBwRr>=Zka@T z9|4;mTGQP}P|T}h$l@`=;8(g+%g691d`#%C$NUdw*PGTnfiHPb#sR5Vniwk6zfa&Q zpX^GnxNO6cOVbzy`TuZQtMK3&BUC@+bIL0OOl+&Fpr%qQe7LT5$O=zF*gB{bvVa}6 zdE^@e2W75Yd_(41^lfG-O49P>jCUc|r|{XPm!eTmF(#b581N5_x`R)7n5$oBygl_L zYm!zyT%8tW#SRGrO?hbqmQGSa3cr%wGd_&1=tMK0Vcg$kQvHMRO?V~hXyv*F(!c2S zzKzqO?22CRF5~qn%C_%cHS7Q3)m1Dij&43jA1+Ab|AKdB&M#>03m)ezbb(rhrQ{zi z7lPijT{FL`UzSY()cLwu*%#Cg$)m%NJcv46f6 zKAW$!{i6B!lH=QnsDFsPM%*W*t!CwGJ{7x!+iY@s%Tg_Nxn;lJpzzdjFf{NTzzMO~p2{!Og?yWOR;4ySdRg7$viW`!e2K^BhLiIb zP*jx%)anagV7}=w-UK;dhrns&>;roD1@2?oBTc|p{*Q{)EuaeD;dfVWORc^mw7U8c z9sADzWvg$~v46q!t7A2f|K$Tz<;NAEnzWz_b{L8XbLA-g-it2r6EznNl*@Ua)_yJ0 zPp6*QLhAOeDTHs(wOaTAtLDDZ^+K6*f6-3ameJcqxw4uyt3{S7If7koL@_G)1T$+y z_DpWe(q7RpCRbtRHz^&PA=#!7(lEIVvujA^hH?$}g2?}g(A6)$>UV%Dj~`QCL)o1* zu7OP)asYc#gR%_emdq-WtRz`s-VNxxB#&e%&nbb+RjkWg!<*-UdA;0#7#dce_Hh|O z)%toy{P+(U$+8!7dPo7XyvM4P4Z4tK>Tjtsh)jA832tMl`6$cH7+Z3g8XC)^Sb6{* zH$RpUB(p1?LgBe?z)|twc*_{iNZz?;mb$98Rsoa~L zH5TylG}ufo&*mFbs+nBX{LT5VVl$T(jsbR1-=Z^SayDC5lV+LA9hvn5dTK83VO{Q1 zx`kYWUHe0G%|fom*xLdsVx{YJO# zWCwa|C8x9W>NMS29?w4CCT=4K+BLv|UV7&V-{#JO0t50x&tnie+lXO-vQ0VOJ} zbXxTDs`eIE7>dtpNV92Jg9h2j{Y;vpsJ5P1d>D9{?%T;dS&eI?wwEt3Gk=Y}gREBB zI9?Hym!o~Es~{XxVN)lN63T(hCS9Zp<>Xi1vrz<*8K?b)x(JQUG5kW!sFJdfYnr9c z<#{+N`$>7Z8(Wx7O&sOMZrXqK#b4tWKG{=$T@cswjXs-y`PV?R&ruFm`E>nLU;m8n z`WNQnS6}yHq;!Z7fuW_}4anA64tJ^n37(teaSwu5{2}>JpTaJ`zi5QBTq*eeH(ma& zqWqM+h?Li;Bj_pe@#}jTzgdc5MD{(|+`FeoSLB7=!5QC|oaNhW)g{_h0XVvFh9rfB&LCI!k%KP6YmE=B#FCeK>WMPSvOId{ zDQB2PWqmD#TaKdz3KfHV+EEb_@H znUy(7Q+*)pu2@i}kL+PiuMD8gl034|Pvy%_+7=?akW^W&#r$$8ys{kR-1Z2h)digO zCpI1c73dpGADoH;WPCkA3o3&T4!P3j%JMK4AC#2i^vF-HV6+(};dzrufb2?Ds>OWLA;Q-AGgpj;@ zh;{_ZD=pUS)=?BD4iuoYK0$HSK~vjy2%7SsYt`j?HtwkCH^RERpZtR4#_atb8WRNV z_RUUDSeJu9SUAAragf~BZ09b0)gtVN1E8AL0Govr61D4RQJ@1&eW90vEf$w5p=ADj=AmC z46G%qU>h6IklG-nzYA!7Z6LdzDLt$$PhpGqi=Nt1VyNtG_t)wY-HiqniSE8kr{kfr z3rowSd!ZngjC4J@=z8K6CYzUCv=!u%fe>~Psr0uHq*9TFgvs^U&0VxN42rGZ26C(; z=*65u>&P43maP&4x}?p4sK=)nxNZU~(TFx;omxa2m9eWxstY=rzghH2Oz9`gf(WzQ zV}ET)I(oHLPe+gUYDU+URg4+#pm7oMF7{d0_|}utR3_EdeJxD6BSej|n@-o4y;-iY zK#~U=wUz7|K(eI~wQL~Avc=nIa|0;R+3V?U1IU@KJIFZ_N;b5V9;x#qWjpp@Gi^hr z$s?c(mEy#!<-5qLA*vl~q$_4&A!LoYUe;Vwd^S_hhH`Codo!(R2o_4)M5;z$=j!jM zRU-(I4}X>rBJCH7o;cCkM(Ec3jr4aTIfxxjCo46c12$1JHD<9sr=e=F%KZ(Lp$5|( z+CYD)G56giYS|dwHI{@wW^M7;Fa0>Yp8jkM$)c{h=-NlC9%2Gq8ZT*0p~Xzhm> zi^2iEkx3uSlb7hkcah*oxuKhwLIvT=mQA6E>dvDfP0=^66|}J_%(j~C^P8uo1_mkC|COou_`8(?B;^L`T%?{G+J zaUf+=aRMI@6(~U<#BDhv8nS8!OX&s>nty1Z5M>&OkN}-0G zfP}RR1#;YJPA9oE3!F*IJIR~b;FlEHS)RePFX&=t*)3rC99=ajD|#nM^5NAcGAi)3GjcjneiLzrwsp zg1n??Ae5ZD%B7g?bn@zov7MYJuv>xpb(PDocGGEOSGkqZVjSS5>|CU|*i{ZyG1Yi7 z?GC+rdmIIHmn*To+1qH&NR1&T-vr;(r=Z-2P&(k(XJk{tx@J4)RsA)&i8;=89kRC_kbW@ z{)(FRlsox6+-qPEfgLNl&003gG+OZlQg8PD`+CQQWeIc`IJfgEhWH0Oc$vRqSnr0oWyTPSE zaT!6!`a**2OQsur;ntlUPS*XPN;*8G_WfiE9lRY_n?6gR_5T>!p$P(*L z)M*e%Bz7>R43euF2XECOCv+=i50WD)>?|-asAs-k@}JSbqlNPKCtNmz5SnhGqCh!1 zh+GGQP+}%gt--Kav>B8<7-ab1jvnEw66w`oApFs0U7hzglid(-%lJDKJOoMs8x$7} zL04bg)*-&?GH?xexdh^`4-jY*i)G0l%##pA03XJ9)E2lIG?83~f;z?ypq@kJ6-J#m z0)r56M#E(1a+^l#(LLigbeoT%y2F5O7g5*+^IVMX)uPImQ)tLAS<7-ZP>11iO{sCe zuZ8qH9G?#_8Kv1jT%L}I$7HG-50Xw=M@!@3J?Hl(vjjPuonK4Q2^hJ$H!V&8g+#5T zO9^rqB7hYzdSnzL*5tdP= z6=n4i9(K*)WHVY`>w0Rf&LFcnkKZVKy78Cp(e#2on_pe4xjtI9R(W?FRpc_R(U+f# zUr}w5PdZPZ&6lnro3RjrLq<{hSVSjI4W~0>%x9k$V8wb+roK7y|WgDkH>AL!STi_S& zW%eTz;a!SjL&7?yQ>*dvRpt>-J`?0z`?!H$3#Wc}i=Q#|d&l^x`jtf&9JE5l6Xp4= zTO6&NC~sl=N02&EcCJ?Of^f>P-i)f8j8~wKDY;16m?4Q@Q(IluK(W>F6rQ>53eA#4 zc|UgabfD~I@eHw#Q297ES;$^L9- zmcGggX|UHjcM~PAu<2dNXtwNR-M6cl$5YyT7|wbkY}1uOX2Xiy){1(}Mvt72>tEkB z8v-Y%3;i)0lW?FVjhrJ_U>`dZ%|VpxWE4G}BPSRYP6LnG_om)+<$6qt!X6^I6Wh>~ zjOPi3*`B=T$#q%vlhl76qE5M6h~~+O?6jKf=gTk5q-5AVSUVO07vp4&^#U{?je)~R z$7jfn)OwLTn^kT~4;F#EwrE7JJXrg76tq~r%SN>&JCa=-W83P-6QqkZ=ys-vC~tHb zrFL6tO_2Bt8q+w!_{#1VH8_^W(lvbXkIIQQbdKb7v-HHDy;z?}W0oNF5UZwxOCU!t z?bRdw>k`?5O^zkgrHIlrN^2b^v1K$n(7rYsL9s}%^S>=;*6XdKO00h}c_qcbbyM(o@HD!URC z7FAcnRw49N#(Rqpv(@V>pIVW;8oD4dRMT&@Y@#w|^$^D6@{yV;YvkT4c500@*iiL)1F0YqURIFtU>a-E0T2@Wt#qZljw0t9s`rulcYa8XJDpO_1k7`~Fp{koP z+p|LG>2}#uvuU%uM8yVGqlm3?Is2W11UJ0QI*pGR4e-}YbrVf*9YiCxB5?aUfR1jJ zGmTyiz-Wz|Qo=UKaf7vVV4EDqs2+XXhS^@dh8%XlbPCA;e}>khRvEx&?KLzZ19V&v zK|3>KFUvsGP}~L@2pX_S$p9;P1d2}ivh;LO2aYcZ*Rv{ETGVc*JjA*axK;hj zLVRP+AFe|DOk zGi_^|v}I*ws+HBvnv(2IGG%2;G9_88Oxc^HGO-BVb|NgIjpefl6J5G)nA|AtUWU8( zT7)T!5GKN6F%kCepU&_3o;l0z=lXqrzw>yUd7krneg2)#`JB%=bN(KEJS~!kpyu~o z!ZqMku`5sS`|PTMDH-Wr>b5^^J?mN5UwH-TP<3D{|4=rW&j{R2H3R7L-Al^lF$Im>$J zPR{RSu8L7fe=b+6{=q@TD6e|r9~|AS9;Xhj=k)5EMXIKrN;|@*UaWT&<{dv&{tA6r zdi(0scjZ!7&0cQ4@JMCV6MO8Ds_>t#6^>_*Q5*kBtY1c`_x{NrzN}-^tQY8Up7p8f z7dQcN=}7hC3v8VKE?0-XNY}mj54V+a8+`xpbX~3D-tQOpaklWcn#$x6}gk2 z%hoyk*s({aLZpuCc|XaQ%~uX2S^3&eK5X3LZgfK%{1Jua$a*yGk2bWd-zB-_chmhT=7-oUgsa}yZu$! z>#iy0>(emb9icY9&flyDhN(TTyVjbAoQ{||LS3`nRp}UZoBDn`dz06PsK3AA8g}sH zek>+u_gKOyw~ui)-!nutzv1#abI+s;y$WhbZ;%M#R!?$jF%f)5rx@`4q+;x}Z!>hNRzQc8RhGWsi zYT-`TAV=W>b<HWj0R5x#&n4(s^ z@A{*eo5gbc?I88p+cX2eSLHOh7WbZ!zLD_0QVDaU`fC$SChAgeHt{d_f;^S+4*Lw> zd{y+0>$D@z89+m2S-phm{>jA3b zJ(u^;MyE88SH4QUj`FtjBgb5T`r|zHzf~Kqk>w_|*}M4X@W?=Q|1Q_CoE*RXNHG;Mv*g!>9jyAk z@5*#6aHxUr)7=crfFV9Gu>&c?Bs|*8D++l=z0!*U34b z5%`-YCjPRU`((CWpdS0kRoQF(fi^YxW7nsSf`!WQiEBdM-b-i*TrE!b#QhxUi^Y%9 z=s$5?mUp9_G=Ii#X={G3LvnxRt0R6+=k7|le8)`gB$qYw`xeEf-F{5;1X8;_^Dkgp z->J>3KD_cO`>%?eXS=RlU6kOU;r!m}$Al|noQMTxIQXz3#Z&RNFtL$}i7W*`KkC>SwBBK6B+AaRQB^^p+dl9KG|Z ztJK|D>6fia#veFT#b=!NeYuaSmq>G6>LVgKZtkOg`OKvp-({(qy&PixCyTRD^3RsD z@^?#8@)^&~h`%OfXVF}qp+4Qqr3e0%j{e+LXzm!v-h8%#nLQr$z~`>J zil+4@%|Fr{Idu~y=_x#Td?Sz8Uu_cTt=2Zurr;mYLzvCp-fGSlTrJ%=R$cXlYuq8L z-R)M{d0%bip>_%+u}g0|sP9?ol`rW1UpPx8zi@?e^M7u$ZhIze{xeRP=BdA^$}ibS zx1OaQ`_ff5;0*_7LY_?rxjh}^@f?-g?AqbDc)$9x+4ZO1eqX9Tc=b4S_E(&g?D$39 z`4vaEck_ysuUx_2e=kbe9izn_CS5@v75JKirUCoZC0}zS_KHKPuU$VoUfieFeB&BF zsP}Z9gSaJD%84p2ZgZxJYuoZ^u~(<7&%bfq@0oT$7MzMChI;;!D#@32N%Fo^_k8DSay)pxyGk4$6*<#1w_bdvd5NQ{^{fMybM^tN^6UfF z-dP8%62>v-9I$H9#QVK*Bw<7s`e2N>KE??124j-A0Y>qDZ)~=8c(PSSW~+$2pNJKV z4VYVqoXaTQ?~R)XBl@PZw%#$*d^2;bd*uOZ8e=(Q1!FGbNSmu+oH4=J%vi@5O;O!h zW{#*T|1UL=ZT;@p&`!-TwlJ<@Y+~HNC~ZlNU9k(qmw>Wy$#Yxc_@B zCQkCi^jI^Y%Cf4*r^m=imL+5V$^Z8lI+>1+-2A#TdO6vpJ-6?2?UohHj}`2 zSI`juY*||vJFcZ+GPYc8S?jK{tmTX)-1b#_9n-LY`Iakbw2ZrnR{>jy*GZm-hG{Es z`4WE4VeGrYvVOwMxSr}?X<2s>;CRL<%zw=MNO&v$;M*+gs5O@5VZ8Vb%UXPwWlg=) zvR+~SDaJ)>Evuo11_}G&e||e2<5P^M-_BL1bIilH#>&m@y{jI+ug#jpF5+Eij5Lfv z_qSP5I0sgcnh9w-5j9AxZHNoXDR%{rJFz`p>JpD{qsnkT)Mjm%U>L2DHY&TVxR#j}fS7jB1+zqeTf3ZFELHB5xzcIbY}FiuksEHGcGiZxPmLk*+m)i!Iq@HJK~ zjK0o%0Tt2AsvTk&$*-v>(OXz>82pwalwpM5-)60YfnVCJW|-v2d>iq69A5j6G>j0O z1%3Q6PQb`v9QO@3jQEgtYwvKHMv}kK+cCVHVBJ*%N^xRBBFa`@aiuF}f zbI=bfVGveB<2DY%U9i`MP#1Fp6;Z5)b;gdYwmi5`tr3nEM5yFa{f-|6x`oOg!3djX#cpJkefd zZD7Lt4C`(TO9o4!Z!1d-YhWErJV%v_{yZh8p9;fL;S1=(ms!X3SMmQ)gV5X9Zk6y4 zEc7auM_~Ll76?YRQ={}}Q8)|wcd~Bw%EbFDAsw9eGfE1Ruo?QlV4cy?dB37@!ek2x z)6vC}?bbHw`1ZG3BkAxwzwk#2Mq1mg)xtK~3QTmgTW&hSB)1svhCc4-56};WkK(A7 z{?A`k*kNs8BEhpb`F97(+jKlrVIGzWzh!};9M2zy(U@hUoJiwHI9v=7F50lU{ zk@zQb*vxz!`k7C_SuhC~K!b<(mO~G$fmL26HZb9X+n^tAhXI&?LAW1=pnDP-!+cl+ zeJ}z`U=)_Y7+eJ7Fbos07AE0FXiV&|>Y)e5C$ar|nb?cqgRRgHvrnM_&4Dr28Lh+u7Xim2V-y(jKdgAz$Tc4&CuXs$`0s(o)WfyFB1hN6aW@OKb!^wFbIRN z5{6(k48wJ>21a27Hoz#{1!J%U#-VX41%SCQ2@9cdN{2Nb$}^LJDki*4R6rkG2K{g~ z48RBs!Ywca8(|pkhBYt=BhWdS0>C^NgCk)a`e6djf=Rdl8YQ#==z&!=On8~t0DW*9 z^uz5i0243>_rnl$pGE;-KCFR07=a})3d>*&E`o6wh6z{;lW-$6c+|2UdQR=Avf@m5 z5%xkKY=wT9T}lC<7Y5-N7=ooR49j5+48aIo1*5PI#^5FxhcTFdO)v?Yp)r{@06mkd zXarLz073!u!D8r#(_jDwVGvfr5Uhq_xDM99D2%`c7=^oF47R{HG^SDjmki2xH`SOI--8T7-|FaRSk2)DoxY=mLB8`i)ij6mn<6aePI7#s=X&<_)E7EHng z(BOH}<*>@bL=6*OxB>d$Ht2`jVE`sz5blQ|=$=LaU_PvYJ{W-|Fbd0H3@(Ck7={U0 z3zKjoG^Wr7rm_8dn1~~I;a=#2tBrpV{j9U z!x&7!CYXfH(3naaID_rq!-Qu#1%L(62aBN}PJ;m$gh5ydL$Df#;W}6Yqc8#+U=;3x zG1vm*&^VI0$61P=m?nbz#8a<8=wzvgMPRj z24DgP;eHr`?%5Oo=EEB3gArH)qp%Fd;361@VVHomFbOx#CVzuBOVlHHU>thkUg(3Z z&=0fEp#abegK!KC!BQB8<*){ZU<9s$QCJ6Ka1)Hf7)-z>n1s#ekiWsZFgg%C&{IYM zU;*^OV(5p{U;qYT5LUtvtcGE@4%WaZjKBsMg}Y!3w!ktGFx!U$}DQMe1nU<-^x zV-5v?xiDG9L?IK#IkW-jfdS}+70?HlK|fp#126)Ea0?8>VGT^e2y|XZ0bm}C z!I3Zy{V)M%!Kx$^3z#sy$4zkQ>QwUKI)6O2QRH_#0ITqtN>&0>EqnhBlGWMP%> z6H(^>P9u|eFOdN>;j}3#$M|VfJF?za;?}f@QDBNosHj zRlkpnVI0=L#6GtF4NN2vwn5(yY%VYiTVVv|UWWf8n;rE3MC*q^SPvs`H%!0|X#7ko z4-wwcX>EjlC-2T*3c0a72}8WKdi>=S9G1aY@2XBK%tVr}GHi!lzGmUSf-2E^8t~3GWHgBTIE8% zLg2oN47mN>52MFYAn4;WGaIj_KwPff&3ufH>l89yoB9);1V{+o7ND0Oegr z0l3}0;ySkfSUDv_2wu=>wZO<6GFnd6Uq}Ii~ z@0t~?AmRDMgC0J-w+@Dc_z@UqKEANiDrU1cmar=t=upfEu~7J!Hp_@7>AWG z!squk$~>%x{>n~km(0WLl~iq*8id}J6cifQvjEql-`r`{!7yxqQJ8>n*a3}dYP{+O zmYj((Faa09lv>+(I}QfeF|My)V)Dpz$&_cPsh4%morJ6JdmDFbWsI01ruR zfFT%zzDCyBZPXMDzzD2>QMe4oVJ%F;C^TM0CnFEsA{oO*^dQ^~qc90$ud@9+SCarj z9!$WIFbVxI_BvH1KCBTRZh*#iS~c{*?a==Q@ouLE-ejG_2;2mdFeZG9b$ti%;;a(r zftzH$Y6n%xgb%jD0Q9UOBkuC4gr25Os~RR@z3A@{PW1QK3~N|2SPr8w1d|`o$Y6v= zlJ~c&3=Tu5bKxH*Vd;}3JdGOy zU;=J|!RcI*e~N;fNx@-o#sO<1H4}#QFba3U;7szVx*LOw{L7%+RnQ3KE`vsvFvyJo z9kQg{08q#hMqmR>mT|3~CG?)lwRz!r)RZh)Id>u4N5(#iw{^K=v_ihJU|VF4p@s|6oz4NDYs9+B-{?e zm$T{~B>WZJwE$zV5(X;|ST!&KH$eY2+*Tp;*B+>{0uPbkbyO8hE@u_MniU5u533@2 z!vQM@<2SMHStXvEsY)1y%`(pm0>(T{&D=_Xpm94(3X`w}M(?6#9-$z2(U9eT#W|Mo{&;)jTV6 z5f@umsY`A(3o~onz0S!|qwX;eQBT}z4jNqJzQMf7wL0^5=N-M)I7o!uld(IKHSl4Z zHClast66YlIIGv1jGXGM**P^?m%)iSDAS!xorY48R#ee#=HQCztVu|da_Sf(Su+So zkw~$^#cfbuwpqtBErS$yFN>JVMa<{ihT%MozWUT0&rOc=4suOe(`(8d&QovCoV?m~ zgW2otj3UovMTX<%BF~jYMz4`7dYf4?FrV8ThosUNKgcR-0Ej{6DGd;lR>f z?bZsGMFz>SlIgu|D(80d+RS2iyLGg>{dO~d;(^pEnAo)nq`dW%DN*`c4x+`;I=X3N z(DtI`O;PXOZjPRm-ZjJN=GjaYeDaJ z>xcqkJiUAwEPhVkB9G&HCI)0=Wt;9(`}F!CM|54Bk| za>Lnli(zEDJgj5KYS-4uTdxSCayoYrn#AOcl?gTvv^%5k4A>EtqQ!uOrg zZjqdv3`!4D4-FWF7}?#lU1$Ypc4em$XhHLK()YYxql`3~ko-R27kT$`F7(PtZR zKV=(oI;+)1Yt2)SC=2|S*a9LKP$RR@{waYTyIDQdY8I$()|w{`e{%^p9}vQM&dn4( zoY8%wlsYRth%IxbntrD_$WeTjS_u2>KC9h2Qc~)3vs!bfIVEdeS0Zn#PwzA*IJ~pf z(7Q~Y@;ygQzl(_OGPUq7bKKxX)TPv6daci=>RHo_^*QubW$NX-%+Uk$&*h4-gkkVA zI{UKH&sABq<|Ie$xoUc?Ij*RYFjAK?21{!d(*S4$r-hpLB^`N!Us2OGw=`Q5dX99u3{A1ia-Q6BD^l=fwm=6Eh*Q;|(B zz-$A>9)ri{v<&BkD^-;;z3S#V^XRNM7uYRwpnAT}96Ydbal3V*q`)8x+}xkTx5eta zIu@z)GBxO4bE;$A6>9#y=6uKAYt);auM2K=s4`ceZ-q ze)HsG-~AK!ypo3VkQFq)VE5K%EI?mChY+c@qnq8MAG40=cXma8@z1{-y_M*4Ps1ds zpr`(e+SXXV2$z*RShR`HN} z@F8=$W7c2QcMs8f7>~DGlVx*#Tip>ck5nf|%pqAH%xkko$@1T>K8~0JRXD;C!S27c zTklH9r4n*-R$W)1KS-cKS*1_5TmO+2$y*5{X1*G{-W+l4?5;qsUh_ZeKvr$jq1<$} z*^ci+fSkfPkK=okNf^ir0{;3kkSB;V83*Xzy6eRj^Z3!iz7I`Lui zP{;CZYWBnCU`PG)>Z*rnhS~M%S($J7r+W8cbM)wK+>Ft+&z24&kDj8bn-)Z?JB&5{ zBK;0$r_gHc(MB2}e6J zoF}O{8|Wc-z20t}c{uaKu9mgsRgY{ik3P1HP(O00@s2`e&!Kj zX{`@kEt~UDb@*S*6SGR2+pXs${R<_(A?k*|m`7%Xs0BI=!+EG=I^_1Ws%7suR}#kFaY|oafS1d?Ew3=`yhQ!yQFHj{VWgMZA5KcA*R?-%4yBq2 z%UgI;gQP8Yn&oz?!H-eByE@gl$IPOt>I3Z-Yaunr>RLvaRhqUMEv#t~wB?$%1#Ow8 zHKJ8&+HSN^T1y{vNXALTMOr}TFuEm8%R{Tsw2^2*P4lCbYuYTdvK|`wFF>5tLuAR& z0-9EXHcitupp|OcHnb8=+m7bfv;^AtDoxyvSgdL80(L!`mXGGsG#}bXO)Ehw)U-0R z0$WSfzf}JsM6VVwjFzuywP<;owh=8?)9TSYnifaP?x|H7dlB6|MWYqXscG4=)o7X* zt)sJN10I9cs%fQY`!%f`E!oK(Xx&?X2(d*AxC*UV)9TRnYT72Wgr>#Nc57M_+O955 z>R+nA8L_ELw6zYjxTblA%h|722GoW7Spt62o4#e)&-+~y?0vbp0Z$Z;?(dsm<5Up0z#-r6}S^#bJuNw6) z)n9>F{i~SPmZ7cEwAE-~O^cu{*R(BY%QUSKty0r=S0RQpF^RTF)0~BLRGOBDR-tJl z(Sn-hM=RH~S!iWwRo$z90pctz;BvHprq!TL)3gm}rJA-4tptt#HK{>rdOMo`w{YBn zgqT1a|C^Z7_M;VRn)_&aLQTs@^J$t7ZKS4^pcQIbncRU~poxnJ=+(3^TE3>$qUCAY zMzmZ_t4H%_S{yA~v{e5~4M;8QMRaQcThW}FmOX;Nn&w68=;+xmj6rMFv{JPF-Lxvn zxEwLrO%zS;!EVtsxgWb()8yXly_zQXY0JI0S)?O_q!&Zmt!YgoIO(uU6PpRxq-h;! zaZU65fySh11!#?$R*cr5Y17bRDb22bDPa(?UJF=>woTKj(Y9#XI<%;!MbS2CS_9g~ z?waJk3vokt5v>I+qG@tYWSyqvqSa|yAzH1bjYq4|v;bPwYE7&_tk$$;Xsa}BHCkBH zB52DsZ425mO>0D}Ol#@-m+Ie*7}5eJ(H3c%^B8(UP0K^8(6o_gK~0nU`OAA~FNih@Mc>^3i;n z=0h8)X(ecdww9`Yss1v=0xjSoG_R(G(egE|7A;THHlpQfT0NSlr&eXe5wm-W#$GhH zrnRCuH7)yCO0H>MG9V(^>^uwWcjYTcv5M(ZZS*L0hhA@{G3+|tklHaXdz8YqAk)i z=V&@AO_K+JDl}~*T2RycXys@YXSG7xizg7&8cbf{Fb3NTwrZJVZ5qixZ&b!bsdi=u7n zu1Wq4h#R|$X!2a$22E>0lSkXSuTNtvJ)x%MqRFYh?%@j2YBg;9HzHPQ0e7Q?G%bm?NYk7r&=YD}9$JN_jYJFf z(8%A9Sl&aV$3rXAv;}ChG;KLrK-1)r$7!0j0j*TiwxN|&Y2tQ7zosS7#%tPsv|>$j z7t<4JT0WXj(|l+nZ7o&*QvD@}g<8Nev;s|Agyz+>Fj~H*)uQET+D5e8o?4YrkLc+s z8gaC2O_K*j-I~^l=G3(8Ke9BM=0)rHZ_h1a3|i}dwd221#Qj>paQTqRzhX?bWBnkJ7;2hn;Q|M?NiwScqG$~0{O+AK|5juz0g8nkJewgIj5 zH!Xeqw+*r6H!-zJwxjtqO`gpjuW9m}cCn_(L*HXGEg#LNX}*(K|06ZAgn)&bR)$uf zY4VBVNI+y&ln{1&pI*Yua8kx2CnCIW;YN0tsuH7p~P0K~A)3idgs#;APk65E=0kqYcR)JQn zY0J=7Y1(SEu%<=OmZ!BULk6k-Eq;1JEnp*BrKash3u#&sZIPxqC(;vYS{_LTetVK6u3(F);s-4y$*{p_hcYr@%whphoUdsGp+7 zHkxCz#t`PTY&y8t)K!h#60+*#HtP(+I`37l5iTox7|#Pbng6r;4uAN0_+()?C(hy? zi<(~DZ~owj(I_jSQl_XmubSgB8+jo8NwqeSzK<-6FPL%%+Q{kZi&xF*S>uOySf>vm zp)=Hk*UYI!(*k=D)tCOSUymO_e>5F0R-{~W^k5OvL^AsOvWZF4EwY_eR z$Z8?}3i09#>XmPphh-&r641;b z?BCUWZk_t`!e`V}@y2UjC0^+> z>RPhN8s?j(+5 z({<|I9p>99^FW?-^oY=1m=p&sn>Tk^TYEBbt+;fAvv&kG@ReVFwH7>807}HJ5C!V}&!iUBg zPKFq3}CU<*Zk!lsvV)6ql4E|wEr|$`#k@8A;nVGSH z$g40QlXnzE9?dpU#&y-GkH<@0f=<>TXo8y+hZ$?nd>+JLcf5dYQQsumB4ji|ec|8kR594Rh;OI<-NcIeV#(L^^JK^`zQl0bEoOjJ}NKdExwGw1b5-q~Tb$;STB z6!p-n+zolpd*+<1`0;Jl&BSybrw+U)H(TD*Vew%_ZjDt#cbUV-IVr_(@%K?ZIo{Mw z=2D6B5{i+k!#bSlbS0)YJ83P;@q9{MPyDQ6!W2n*_o}CvAATSCN$H(e{FWX~!zicZ z`E?!EQRyx1z%K4@oIuzsCG1c&{e8K=@!k$=grwyvRo{PL4msJFNkIrSR01VV`?Y|Q zL6rSc{e8b}0)8|f;TzGelknS4Q+;dc^B(xXJmR=YoE%b;y^C{|q~zsjS-6YadYSy9t#__G9(k z2h{pJ{M16pTafHpmxUTRo1Ngg-*%32$gzpq-o);Juf57}8dY*C|kn`1Lu*^yMF4-IbI z&4V_B)Q;We5r-zWby(L*cm`G{n>0mvnMa@1+D!N1YWPRyh(0y{vWxa%i8}K`^O*ip z=GL?6v>WJ8q>Nir#vt{~N9@AFBzYc3K`hA!A8~*aA7vll%vD7nvx_PGH*ZdmtQaKA zvUBNe|E=bH%w5vUUg@ybN-2k`w?5`p)$Ol$SeYhi-K!3KY>unSBCT@bIG1wFp)Ix4 zZrOPpWAE&+Zedym(H5a4(I{|g5G{;0{_Wom)oeAtn? zds?!PWls`x`-kdhf@XSoCjUCwLlme>_L##Qvl8l#J?wcrd(=+hqCINhr{-iw#iwe{ zr`&em{Hc2UQ|?(V<0H18ayx$gXKLVQgsa=D&ijl#OJuLQp7|rT^CsiSs&j$6or<;%4=@a8a}R&t7&5jm@fUuQ}gU^9}p0Uh2t@xeNK`&&`Sb%Xp&y z9Vx=e?2;zuc-A=1Qg5y0=;)`<&0#Y~{DF5#O0vChwfp;JWfjk5!{l86qnVaLjwPp| zCDC??P@0qHcq_;4W3mE$+dj4M3yL%A2lXHvo&14!OGr2d$tOXW>>t@gL@3SiJ7%Yk zCnZb=Uhqfd_>wNUo-i}|P_FOQgfGpa;olwIW<5_B=Z`1;PlKfUGFH!Hb3dT&{L-A= zzs%~ec1Tz`PnKHZDQeAk91!$xHjgaYO-l2{JqcG^V%gvtf{dgvRCWkMB=>=8d9&#q z{xK1cm59l4|5JoQba}xnnP#?Yz}sgv1T0BIXC~VxA_M z8f4MSsE>k7HRmgHv@4X^X=OUq9WI`4dEzS$VaD`UAAe;IEei3*gUjtm0uN*EpEwRj zXIWB%G?79yXCGDcwK;Xf#_Ue(2HTVH)p!NGG2ua5lbz5ywCF+V;jd}Tc{%E}uX#41 zHAfBlhDJW7ubT6Xxx&%ZPksE2Ila$@gFCH&Pj4FUO*Rwc4#+k8d?JFFk35uL9~`*)ckMR3|AGYC%=`d zEK;w1YZi^z$mAr;B2in!PHWKEe1$=7gcV>~pKT6FM`bKZP{yTGUMpgJ^ z>emh|2}BptgP+j(>mN$d8qf+gZ5P@s;^uUV+k)mHTvzo==EkM;d1wil=74Iog9iw2 z>cz91H#i*+WvL^Q=751M1Q;d(7z!EXB_Hl$H8p9D7&5Y$C)349J$sja3agme)r9fm z-KA#Kvi&}lG!J)dC{}MK+2Lr%K8Rg|B-lcN@(PQtx)aS<%rOy~Gy)k!%SGFUmYq`4 zS|Qq&ZfQ!m@n}&^3!rT}sk8sDnM*xZAZ|QKE&Rb8ciwnbX!nG-;1#2F6;={%L>q(F z)j~zvjppwbS9*?e){mr@I*2<)9r%I6i<`W5r}2xL@S`~}E8E{`P0ygVK2dXiG$%}- z-sP|Nv4$c&{tHV!^-EYo#5ss*8AOYtwV-uv1+vT7i&i*Mef=YUapFsQHgMl%?EEyX z1g&vm&qiN{)_~T%J{F-xh}*ru*{pQ%B+)2M}7}7-ZLo_k8RF^^X3edcQ=wr}}C#i8inezr#@WPX0&}8s2 zZo&(fsHcB2M`w;amG?%dxv$dwXZ&m)k(FS+kQHFeP~ZK;v(6KLHjf<*lL#nLj>S|67qI3wc|1JzAmaqX-8|MbUg)O0Buc!y(yxPknz2Mp>fmpG`4V*pbXC)RSEim*JPXF#2o;U1pld!y4@FHz4_ zIc;na4~tlbn2Pj;+L?;s871n<4aJu^#UYkdAx{1>DcuQ+mr$==*ARFZYBI^*evtV@nNeSV8~A3sfGH z(lJQAZ$oQ%TfNZBJ=T%mq<-$@o|+ltr7C>^jMqa=|>rD*-e#iWo@!d}ATqotZ#4E=!L)Cws?xP(357f|1_w0ey zyn^LrJ4Pw24wKq$bw{Rqs-yTL^+Be4j$_%!YMjeG-BJ3Px)t_W_5i&kE6}-ku)3@d zj}-PY-A5N~@5?*lrEcyUOx?tL9O}zHV;kl4Y~Xz>Qa3Bqd8T`8R?NdI`0<>x)P1IV z(2((;ccxC47}MqK%*ClqQsQpEp56q{u8(g`_prB&4+L!z3jZS=oQz+P` zI=YX0n4{uhHNB5}kYkyt7WSbu#o6k4nAzHw7k6~a;Mi>UkpovBOd2e!4AKo%+|2sz zuNG!g<9T@ptUvUkgi{VpKdk$Cw)@1a#30^q!tT=9p++3Ua*QlIVErufKdKeX_t|y) z0qX~u|2j`yyptoP9}jXLowe!|-hVPM6>4~ndvw-DUevNgw&T6(*&O#Ubz_eEsH}zy z4_N(V6~83n)PeGLma|huOYe6)w{l=GUk&W*9_^^USWWHARufvNp6=_O*i3uwsI% z)TbV*HM-`2^;Cb`Ik%ttD3|9Eltbi+_#x`Ce(ryoyLsoy`-d9pvRnD{vhrZ}Sy|KG zK48scKTOd-K3HnuzE10((k>s!RVV+%`kCI}T~uUbwxv#7I?rO)o0D{QKVFnA$Gw_s zHtRaA*Cgf%>hb=h^lxXI#o@N$%;1|?{oRLV$%erG&2WCMhUU79M(iZO?K1yNe-ico z`tYi3;=4#NLiiWOU$3qu{3Nrh5SL5%n6oQ_bQ2A0D8z$y_sqN$s)WP~&?==+lZi7) z4UW)1@CdW1dJkZ|)l&lcAnt!u;|90~WsQ7@_masx2Vn!;MSb=%-%B>Yza5-@cAJO9 zkITB5SY&57Z%|(kaG#m6QjHtvZm8nErGzV!`>?(-k4_XD+uTQSL(vVrkK$$Zul3Gc zU2NQ(o!L@sY|37hSyya4a&Tt+1f#QmX2S`_e+CRj`NzP_#$w}^yv*hkj5iL=MS0`! z3+N<|$gD5U_+?0DwAi?*Aam0RM$M5D_0Hj$`%lRD;i$}}Vq6#&-N~7R zz2%h6uJ5licF&ejcUELFee3*8>>cxE`ua<6$YAFA#S-?L#UkB!**vB{to*MStyhV3 z;uBYsWA(CyOh0~&#QyXe(N|t8(IVFtpxkzyOgCI7E}vYQ-G}vCpvh%hpE=ZhNdDGc$GfAMGdkZUB!k3~A-gHfuKB~X`6IRY z$@$S79VjCY^e&vSD+J$i`Luu;7~-hFIFq3V5-`-qI_ z)}v2yuj!u=RnG<7r}g&Cr@=9dR=sDqAM5>CYQ``Is~Kmx58+)vJ7%~KIrKTg@U=zb zWqxHCV~6@mWz58GN6jz>8M$Ysj|aLI$D>AxoloB=w#T;F-KB=()m*V>r0m0ZJ#ad9 zm%UJ}75h5dUSQklKvLl^i5;=+YR&$;+J`-*0b5G`vt4pI4v^tnTOXH^UZO6&FS$#2 z{Pqz>1(z5EcX#r5f`~K zoMP47($knmF-sfDRB zW~9R#lWk*N+DPru#A>qjW?SzHer3s7|7Pot+PZ9kGQ`!Wv)zZxJv1wwTtQ|!IeD3a46|)L z&rItFr)8tb)<@WS%+?2S6eq>{+SZS>^+(h`vKe)zZTEGjlj~aD@?r&v7PA`>eL`x8 zO0*-+3x3?Q8T`u*UScP6h8=uhb~>3mZGDohpKI$)wk{X-Wq3MUEeyB^SLI}X~U3f zV=_Eu>kYPkb6QTl!bcLCmXlt9;kG`9eTe9n+q&$5Wq8fjuebFpQz}QYd4!M%t+p{V zWf;aqwmztDI)eeWUT^C@Tld-e!Tr+d1hw#gvh}NMy(|4^M9(GTI@_3OC*)9b%V;nM z)8M3BU)wgVI5kYO_5HTq)dJR}qD^_kwkLVg#V)s_b=dlYwtl#+Pvqc3vZ=TAuEo4e zy+kRhZnN#3wtbWx?PXhUv-MJ2my_*IW1rPE+r@lz$!1c&bg|_BjtrOD`gyi4=gVan zL^%jQ!pJ>19btZ2H#VgW<62uk*49r_d(L%x{rl71Vpp%Z30Ja>cBb`%?Tz~!4x2@P z+)m|nJC$0s@?5q$<0yJnhOT6uwuAd^J&|(x(3!1A3e(|7+WOIlq?5m@f4cCe*n0So z^j7CTwrBdacKGM*@LdbF!`8pn^qYtNek~tFwaQ}o7pBt>+xbqg^;lZ3GW@o&$~KHk z(-FG#SGy9j^#|?ni=kwYuywtHyo=K5B<%3tb)~;Jtq)Jt|LKO&pL1i9kmtp;QD{eK zu=QoR>6()>5Hj>0Bs)_!y)t$?3^P-|tReN%`Rq)uu-MYC{$(keAlG zn#130J^DmC{Xjan@k?6g*5F&&D>LxtDK)HQ>rAaj*^4vWZ|i;dL!PSsNLuGFRcg4~ z)|cBEpOlsj&k^bH&)NDVwtknb4?R>0dMU@#w(*{AJe4vGqbs5Fz3GIEzo(Z#{{qbmxQn-8rX0Jd#@lMH*ll*~xE9-`)?#NIsa^tV;~aNh z#;K|4j0@7BN0b07)sPEGX8o{qF5wH(xuk!2C9s+y_RqE*((EJEO0j1aq+~v%gX6#g_N7 zq-s~Q$EqD-FR|@pdCzLOOJ&T(e!;dAn*F63C3f$l(uv14`)D;+>}j?g)9fqMTCwl7 z?WktIq+SyHQ`?Scb|1A*>`{g3ylXW3Y&B#a_Hx?}YxV{;L+m$fJEYk^sg+_Mc62)N zpk|k-&0;UK?SN*lQG3LG#zvudXL}gT9e{S0e&336#V*BVJCGWUqU!dlSU2WSj z&EBlmiv5voM>X42FNr<=m~`S1&0ehbiM`IYYc%^gHRMm&AKP|VvwN!7^?6+(?qS-&FePSOpI-PipX8Y8T1=wfUc3877 zRWrn{v+a;(*Q=Fce`ec3&F-x>i+#*->AVA)Jwxpg`zqV^YxZ5L-zC^l+xBU8lbR@Y zZ~j|Kt$8*3M731xi)`DY*~*$nX!bU>1AEE`ww*k;=lYg+^GT-7ntsgjX+5Fo z0X1qNxh=EpxMn}9=8FA>ZO1hGJGEA9c>q{4jcRtWdP(dHY&)Xa*Qztv{3f3od>W*@Hhh<#ddI&r^dU#a>n z!hXQEeVY9rHBszeY}>2ZN2#S^&-`OLagSy%SL?;zY}BnRE@%(@}_OaHT!_AH)?v(iRs*8nqH>XN^UpUc2u*ssF%cUw(W>!4^{ib zo;^ODc#URXrG_lQzT39Ln*F?*A@&!x9n$PPwNmT}96L+f3~KgOYO~mzZ9AaZZ>T+D ze{I`-&CXH%F2f!%A)UBSv!|VJFeON)m*VB`qPQWH2XreR_qnF9o6h7)JtN& zZ`%>g?xpsLJ$zz1@fyvZtcEPbuCVQ}X5X!5i2bTEdU#NbUWB1|=f~+y0W)D*n#XjA(y_#L6mWutjZF@AkNv#*#S&~lN z(ClN>4zcIhc5-&l^2lW z&F--Ejhg<4$?4o8njTd9Qn}f7jb=yHkV*>kzHNs!yO)|FcHwF1#6y~0s#c0EpQ24| z@S43&Z5I1&+YV^9q4tP=Bo-~@3C#KW;@kVv5%gTPTZr} zXQ=gJFSTt$v+qzl#NKAx$+LSlfFD)HRoFwOrV~$S_L*vw*o$mCuGyTg6#MVC9n7H-YW5KIlGsyhJEGaE)IPDFw(T0t{!|UQ8vCGW>BPgD{YN!J?DK3pq}j{W zO0n;??Vx6FQJclyVcP-C{z2_Y<$XpvZ@*@bQvH?@d$w)+H2cqLqS*J_wpX*asik7S zW7{6h{z0u5d&u;3-iBt+Q#-`I*|w9jdam!ks*G!}->~h3W`C|542q z`+VDuY4*)(t=QXaJF3~=s+Yt*JdjR2qS>WtpV;!bS=j_@H2Y>Xg-9Gt;(Dv&+>) zv9GmluV&w`mWutnZF@BP1GQf4R@*i-J74V(yX35N-pR9iuJ6SvV>$M{ww=)If2mPo ze`niq%^s@eihbs+bmB41{-$=jQH8zU zwiBBDx*8?+FSZ@m>|@njvCGd*Cmz%6o77sdAGhtOX1}Fg5_`XGM>LxQcCpVoFP(Ue zW>={pVeG%zc389bs2O5so}Z2#((I$vO0g%~c2KiJYO~mP*>*s)x2iqZQ+C_7U$fh6 zy;#%b`?AtLe42i$nz)kOF0yT}X5XTgiv5&rdo=rPwO;J+ZQIc7fog}?6E8^Tot)9L z0kFYekF9Jwq1p9nl-PT0JFeMoHCOCE%toUd#-JVHTxblL+s~mJEYlr)k?AZ1k;HJHTyWVS?mjJJD}M&s6AqD zwr#&=f2jJc!aiWzKFvN#O%!|P+;rYv&0emSiv5Ibdo+8OS}(R^UOKj+*_@OY`$F4J zYImYktBf15H`;bWv)@yr#5ONVCmz@A6VzO>7ua@8v#ZrwvF}OQ9`1rM4H@!NzuZBm zUc%0JJQZrx%Y>2(TcOi3Q~vsc)4~4Vt^@_tkej$oX^xt46L~DHkP;5!GwA8|Y-eGt zP%Fj058J`Rzm>nZx||dvYO~lsREnL&{n8md>}_g~*e}_MC+$0uy28An`rXX6!`Y(^ z<6uf|Z0ePANGCOXMl{iD_Bm4X18u$6pA2ItdUCZhrO0!gG6YN0;Uimmrqj%RB$dwd zJ@se(DSd)7x_kNmS|a(CF_ zYc5MCceovX+=z7e=*FJm58}^)q!ZVc_%I^0DXut&LUzY?L} zT@xMsN4?IJ6d~zLhj`1b$^+=K4t>jAskA!NB{9xdGj92R%DNITCyS)rL4g55GpNiW zSBCo#$Z(?~;dT@xfC_>@21OB+4Ibc~pyG)d9Q8v{2@0!-NMJz@LBs939>G;aR1D$` zYFI$J(}iVo~ROm*P1)|9I(H+v%R=mM~_ zH)h*%h`6~7BTyf(k)uM9mbl<*^lzf;AMPZ#6oV-ys>EC`^tMwWva=7R+p>yyb{fRk z2bOK=Nykj70sT&{7YLtGCjZj$_Ny`p0&+iqk?;9Uh-ZfYw~rLrGK;u*3Vc=qHtW3Y z4@m#^pAUAamB)+ur=$wDAL-YQ$Lq8N9(&<3E~WTG zP%B~LU7>H56$2-82Hy?5g#D-x+!=N!@U5h8!wy7L2R5Ap`e5dGg?5vF&i-nWyf;d; zL#ZQYq)vcx*dr92dmMsqA^pq>(C1!1UcgP)08ho>Xt$F7LdhB||IE5$=taKS#s*PF zXFmp1xt0Q!gHbConl8AVA9?$N0x5Hd|BpkKRYO)X1$?r-L0>}p_nS)ptwuo=Ge)sN zfu`QZ2KGn2t>B0fJeR>Oqk`KFe+PZ;2MG3WM5&*3f9|%BAY}3QE64Mx8pmWV>R#mJ1?~9T@`I%Gwn0HH1C6DD z6EGi)?nm%5eFe9c2=PuM^v{@=#H5zqD2rZ2`q-&Z^c8%VTkNxJwn3yl1e{NAUn;nZ zl8HTRTDTQ$?CWf7IdLjfh|d6SUtMF%g9E@Zui|2#w!njGA!tNCDF$|bI$S2WXja#x zwm`rl@Hdax3LC%^!FFJoQ7oTDQYB?QgSGm z{9^l;w2U?cM^V9*6!F*~;4ZjHjs1ChD=G6X`ZS;P`$?bYZ8|lGA0?jq1De?fyKM>I z=;XGSw^ySNm_TybS}Lr7ND8?B6RPWM18anaJ0xydl|yQ!e8;D#m^~g8;WwbX9}bG9 zVY$O{SlrOB5gGd2i^WMI{Z_vO3Hz%;AhVB)FSvRhvww(uw}| zFHt(l3EmH8FrzvFkE?w2HlcSTdI)x2K^MA_t5Zy^PBUo~ql~f=d?YOG0f&tg+`btE zhgD?xrVa3dV$_|BL0l~ck;~ZuWxF~zp#!;9R_+L6o~PjRq{3Pv8-g|cb$2s^epUtj z1nJ}ZK%XX`l@@nlV>?B~>cPkCTh46R7lovdnonon3^&LzYX1%7W~|`W=3y=`9`Oal zgL`4Z$2rcmWaTb4#`7L4Dy|onFV0uKgPNO3G}hbjn50F|GJ7y8!mMDk+%)h$oigoD zSXp*qwLB>ox71*?Sb=TuvyN%#=M8^@27ZsP6yD!4jKG!2v$iV*M zgQI71SDSc=H~$H_$G_$6sE$96W?5GML?ecj5l0BU9k~2&(Ek_M!0hh`J`pv!o^xXA zt&nEcW)bBFAGzv8dxqnPav%G~P^)}SY0(E6wn?c3yTINQT0lELG!7&GsN!E6cpnp1 z6|L`JcbM|a=(sXnaNGUd4hVRG_%?65STk`)cQi|>Mc`{Ti*sj2qnSQTnu026nl}!7 zf+{~Pk>FzOQMebLA0nfRfXnT&=fiylpx)fd29ZG+UYWkGEE3%IBg;&^HSte;d_DTt zk5g;#a0m{q0e?Tt2a|M%M%9FaG@eUF-OfgXq{_&rNdq^choRx+r2lO&d!{V0fp|{g zOS^(TzvLK&Y#--(y`Pkw<}&wDwu9m#`yuXM6nD-HG>_ItKmS8~kvCsjC#H&8R?DP{ zv>S#1Pp>*gsx|k;ltGM-Uxf7&PpZ$?CITXSF za^pAo5a zF#5h3@9mi@CT$>%>>$RK>843DYq|nu${cqkNj$4`dAA$*L{-pulH#M+L-#J^Q>(Y5 zZ)0*waE1-CFP-Q}?JK}+Inmqxw5%bG?~!)aC(1g?Usl7on*EPclZet}q*wNgFu2}l zkhr)dR8FcT^Byuzx=h5F5-4C6*p}8L{i`}e!mca!M>#E?R+-UPIWrS4b z(!x6+8cvv027W1ZlF?t*ZYw9Nb~_i`3p~W9RGLz+y9Kuf%D)DEpCP_PaBS@^9ZN|{ zk@wg#xehJovE@-;5`D>^s3nXjF%?n5_d$bb&1#NA0qo43f=f>lrmziz>~FZ1w1PrG zH3PmMMf}*K3t{;p7#W?2jAYguRax)nqz{idL0U_se~=Mm93ymEMd;t9fwf_77~J<| zTH-g3QBI9f$^B3?`ZYTC1L;=_Zqu;rnCcE`Z~yNs|K8@B6jf`|_tL-$)=pUDm8Ip> z`h83v6IyON^49^zSzd*$9{&K;$g33MQE#?Xmo1ZOt4)qcq3_`*z%xxsnfYzktfC;z ztWMdM=$xN7*XRRjVWrHt2SFdZ5XO4}A0{EVn@G%IVG=oqsvO$BByq^EJriB?PbAvS zVxOu3pU$CsNpP!G=1X{2T{_vP13@2C2b(jQc4buBRqr83FE4T*j_&!Xbz3@LPVHo_ zZ%qNpS6TgHGvY&{vZHe4Gr?^hn(k5Lz6Xg{ zc^Hh6ccKHI5N|5DwYTAVT%Y(o7XeQl>wDHICzDZdCv5o$8@xk2!wj&LL(s~b{k$A| zTuY}k$`AUV1vz1rMit3oVD$>C^|8BSC(q?rt^v7oL_QK*I+9rD=AxWsqAx8qPXSN1 zM;~Ouy3$WNXz6o`&$Xmap8@(SNZ%D3?y)AO8Z4Ctb`%UpA;bo66JN~(`&Pui^98hm z|MtNknbO&!kjrv9d&?F`Pw%({8phOF;3!Kdnn%7t%k5WHu8d zK7x3m3_U%G_HEH<~A2D<=12-wWDxbvgOz0w!NkA4^j!m!$ZttNxQbPQ@8 zGC2JS&_}z0aXsQI+W^n2ICq)Q+X>L>Y=j~ISmYt_kzd4I1pzPm&O-sg&oCwsW6aNj zJEz(R@2-4J93N zWz9vPPahi?rDpgX!L5lanw$rUq#FHeg~E0v$sI>AIeutc3ZCBpNk0?6f|*lNWlpWU zz#XoB5sPfHql#>4x(%ETqs5$5hYRj-g=&h-P zbf1&G(#1uME3WDX@{sc1O~Zia)xl3=N%h@upM%c1mkUYJl{v0DAkXZ)EIyeX4JL6Fx`z;tD7+b!OerPbq>?dCzTpsNwp;@KN#(2c zo^^N|6XB_gpOu`03KLT6+$67biEQ}h+G;y#%M%>if*RY+WDt88K4{K7u6|suJ<%M5LX>&5e0o#&Gla6fd|z&&23IhVzy{eEO(Nn zc>_*}S}Ygbj#l_5jMhw!*1?`&msDz9F ziMPg(G-5yO3l7D^vbA^{di7>SlRgj-QBkGma~P{Mk04r;enT_R$5h-HO?rJ=^Q;K6 zV;gk*WuR)3(Lg#$L^;U>Z&^kRwNbJk+peIF8YYbcZq$H0Eb{G1RJsBYE?xz4KI;Vf zjLMzArM~(UDe%0buVbPY!BC>6E1kUg%Vgtv3FB-*8U9MNGnpf3CKK8fiCoew(YyoH zNUGdxi8QlQNS~1GpmpNPI+N)Sar#4Tin)^f(~AENs3rH9G=o95vOyi0WY)e}WtVCU z&;`Zlj0I3spELFr-13PHL%**f|Lch--DSXpyr+~ETUn9beS$-L4?S%m7zM8eBmb_l z!NlYCXNjbo?*2Dsq2Ti+D9ur?3CIac$Bw2NdoA~ zeB!A;F~s)$XtwNfxcjqmV3pcczqQ|ObgXyc3zU2mqz|ygAg}idIsO~V>d?0^d6TM+ ziTR$mQQ33Ri)6?69YizJO>noGSFh$6Y@(RBrMHSS{G%0GhE-yp^eFIBA(iNK;qYeE@P1-jiZ$ak(2G(g#6^p!MB*RaL6KI+wH+*lv<&|Ny<-8G;cCHc zxAg5IFOWXZ3+8?*yO(&9DcBgWF<)V-^)XSE3>{&E;3yc<{&tKlXS_s3{|(&!5`rzm zy&11cj2X}BEO*AIpw?_99_1}U{fHlte8=`LruGdbN4G`R!{w|EzUgGP{2YphRDZ$k>=~j`G{#xB9RUT+plIT1D&9bV0 zyJ^Lca+p^ca`P%uuBE!Up6CX5-Dbroc0(onoz8W5ACp$g=YBGZEl2-E4_9XP0HcBm z0re_pG%2Y}HmT+fSX)#lQT__ZLS3OpEjCXOkFNyI_X(PHKF+hJ4@nzz7V?X^vfYPPH$VT3>cJh}U=~Nw9Vlz4R65Jll zo3Yg$(w_KKui`b?ao8ULvmP5#F<_}{R@a2MS@svj?GzJv8%uz^f7g}AG7ukr4&v<( z`Pg!IY@ldT-$RqT)mdUree2{4Gf9jS}2V-}iu*5?@I?l>?pwPt&Y5l~#Q{ zNcwylqtl;!s;j^3D88F5LCJ3boB1X>4_g@Evf!lWFr+ zz_aRx&#S!yqDx}FIKAy!ROP^TNHdEEhoeva!Rm{|Q-3iUf<8! zOz=8#)%@N!E2dVgrQVD;#Q8Vl<2(0JF}ebp zWmTa4jhcm-!kkQl4e1T~g4*sLz6f|mEr*T0vJGO$;N_@}sdI&nYk-GFVKm3HZ!-k9 zOdN=oOrq!@IUFu2hOJADl*S3Y1^AeeTt0%zVl}+^n`CttO-^R_rm}c3ZuO z)h2{~3?Wx}U{b0Bzv82YSGHNUGi_fNUd}o_?O)QX{0}h81U75VVGXKbok{v&1BmHH z*L{h2`XS&lGhAu<2CSBU2QKZ0{vBPM+=NN01?yazGpfv4K}NVn{MRMoQuTzf~M=8V4$-2C5X*{WdUO@F0I4W{tVsRR`pTQp;o| zsWNw9lwPG$^4OmzSvgOqU_y%_#ROkjTgzkz^%8Ruy1v20!_Rb zZ%QwRZ9?lPcSAL(#npn_h*MB$!V9ENb-+lDVefYn5Al5DJ@UD16!_n~$)T)r zp&FafKp(WUBp&9zu#^HO3GR|oUI!KHx$>yswgb@}aOvs9@1bX9oM#;~2Pck);E-Cd zXP*f?sZL|(^a37H3*h}cT`Z_M+p7iWgU1f*Akpdz_AJu8iqo+vHQh9h3aLcp0O>Ql zcvhSAXLuEF$u_0k7BtIt#0bgG)RmFM3+jkwm*`;qFs7#3eLg+2Qkkl*JO?o=q}tjy z!iQMiW%c`8!Ok$01&P<*20YHB?E(&91#$fd>^g7gza=-`<5%+t^j5O#@+P%jT-71x z!FJ|JZ;x#@YbdML=5VPra|`Kz&`iF%@`-C!Z@+xEJHR}5fakHgyI1_S++tJyFHQ<| z|HT7>TNCDZ#?g+=CR_?Ushs~k$1d>`n?-+w^1i8#V0|(vwLEor3+y6WPjmwArR;{>-#;ebDcpH;f8?!6v>T%`j9qb8D`7PyOXVi>6s}=D4v5qaOjcx`! zqAr(=_h!E%ktZ&_aS^5j(fLGl%5?fSn&s%f4`Za{$Mt}R)O>r0Yf(H z3RgOhb$kYxq*~M#c7TAaN)CH>1)fpE@ud~u4it{~qQcO1D}!RQx6v}kdqXR!!Znq} ztxL*YVV0UvIoBO*m3;>mITQ2PRQGznC$9Y*lZdo3cjI>;EI1X-T5?8Abj<>HxR1eC z51>kFwHV7mEGVww9;8>9@pB^0-Nst6nR0XVN`K?>tKfEgLtkTj?T-!F@_K7@HMR+HC4|0rfn&Dgx$SG@_S6= zTSt~Ci>E(_eFxS;Mafs;&BFBGhN*ZH}^8jFYwz*)3(niK~cHE?KATR*+9X z*C%~P&ZfLN0iG!IqE_PnZGL}j3w8U>zLctg5#TDfx?f=%vs>p0?M z{+a&>gbR~V(c&Z9!1{m1SMry&RhCC|{@UE3H&swm_9h0bhzeLuxeW^{XRGZ^eP2BP zlI>uZ+yoEzUo>As!nBKX%9QfXZQE=Wo25sfSwD`zLN3%s8RC1_Y{LJfne9~Ub4+Ug zIkLg;15bB>W7wY(v*l0Xp`Dm`V<64k*B9F5RIYmOe*|~?pl|58Mg^X0s9;`Y5-&6- zM-^D-2uG`NZW=Tj!oYD8Jtw3*=Md=Yn8H(_^vA8(EB!$BZR6cX*{lyBuFxKa@ICmS zKE4Y*wZG16%NTElv@VZ-h-NWXKa5)QDe)i=IQ@AZ+yVMQ*W3P~q-|G8we3fUdexzrE4xCktn$)Ebb^#}g3B)k zeO_%t);KYV-6F=$6@7>29~7VBqT{>5-eEM03TtP73_P_APH`R8y+v?093KInMSKD1 z6DIu?3@gV(uDnJ@`YG>PyC5Jo1@6!x0Qw5StpM{01YF8#wvqI~<-p${|K6W~KIfjO zO~?(yWOTPwI7={5?Z^hJiRaQ7S4lu!nHceV47?`sqduRrA-F(%bPv$yj}2xasca%E zkQ1yD@k=f4@`)*=h#x}deB*8+o(VxzbIfzo%Im#TTyN1f=_)6t>~6o=!_e*z8uXdn5R>CEnSaUqJumRFOyK*Aa@EgveB?F|wc4~5!FEF4#0N@8a^QwiA$`p_DY(7s zBCYPaSR}ah$P8a-;NOF=o_Knw9j1i*x=LM0s5=NfGit|Gn#a9nb9k>A4Pgo`Kp$1P z*}ctyXH^L3C48)dMato+Tdddy^6$zRDq?C!Io?~gOGfCrJUcQE1A8VF=pj?X@++v3 zOYE`w2F)yHY-lAL+6eVh%l>kqw}wjd!3NKu{35vUA7z5fAC|D9;TL2y7_1Ldq3SYJ zRw1MIRbxn><~gK)tooQY{}XwW!xC0!I>6HoQOs9@TfOpiFrQAu>@qLz6)|=~4sLr9 z1jbcR-6j-vkttk=oYhYTzq2icV{RD~_jhW2z9h%Q(e~u1*8HKC!s>DqEyL{cbHjm0 zlm<7FK6)GabOm*vPdvt#UDRh^s}68{8Nw+Y_Z17ix^<)&}De&Le;Gp1kdUjXmX7#^@&11(t%q49G z3vMk}$Uz|JoVGm64ig(MrxN#sjM^t{f z&=QKo%-!28q*v4Lly70O_!x{~WfAynYvJhS2c^`+Zy^m_Zo`S! zn1aj6NFUnWE4Xv2_7Lzk>6egRzeMKg(V&mH1!MAG=hWNCC^!^79z^df9*YKX6_YRc z4m~UQ7j8&DL2#>3x)BuOhgssy{#*?H8mpt61P@Z*hnk^TR0X`BNN+BO6V~F|-0FLX z5AvebI*RWuxV2wY*>AMq#pVpJWnON)e@MPq9d!cog*P-WmoXablWONB@`h>wx~v%h z`huQVmQeTvc?a)$blEKQ88m!{6lOX+bQ~!PK1Eq;uHb34g4f;;-exzNoJ2!4@p|u( z6Yh&x9sN5PpTz#p^rlL6Vv*lEg3)B+ZT>}EKfG1^1Ko~WSwGs%-$?t$P^s=a$K8>oeG5*nD$T#WC_q~FXS8dE`Z0qOOV=d)tqA9oXQ@?U@)Y2t&# z3+fcOwzp@mcvz`qyH;ZIM`-S6s&{$CUs?z3i|VY(NEf5^<%3WiQsceVRR?ytkFvcC zE;$uk4pDZPTNWX6rH!{;WS8|m0Omp70+(U+eWQRE)F8;uqe-*C{qCdulrupURoUbs z;p%djH5g(4wCi(9ORj?X zMAas~n|Qhj9H18cEWj+msG0ajH;9iNyB85&FSm8LTo6~?ta%XK#B1{Gv`1;`&G=gM z?I_iD*t1Jvg|{d_!)E$Iz2ROctK@${dVK(KG8dqbig$ksz2pQkg6hGfQpx44Lb2|M z5WiM~zUzr+_@dC;*^jS?2XDe~G50X-ys6(va36hG*x7lJ7#aoRoH|9D(;9eOonrpk z6nIF*yc>k0^&5REkg}4j;*+4ruh8Fo3w*4JH-d>nG;x!k(Li5{pD4J?378hyeBYM) zNN@OhL4RUzu(<1DjU(WgWUAN^4b8|)fJfItr<%mOkv=yJDnCek3h~UTpnnKCv3X5! z+jac{jc?!-158lmNndgFlWO!oqJR(w^C}8HY;oI_idsh@$~3_E=ed$@72H|*YXH2` zW@a(~g;fCBOFqfQ;KO%LnDf2j?9j^f@?};fjflWb}Gy}Lu=3+dpiRUsZ9QqUoCFDZu^RgD<+QsQC1D^ znSFt0RK$L-J8?CGSM&j%RP;@}vVC$peJ3aLWMfo{F`Rhl1NhK~9HD~m7Gu81h-CT_$cyY45g1;3i^~<4Q~FOeALSV zPm2MMsFn0NM=x*g+AsGge%1^`aTNsCkZFi}sna=P-N%8xpjNp5kv_Ztz1T_m(EnT* zG+Ff+##``|IwqrBrKeZ?gE(N+eI#P8xx6)6g^ESYYBDOTY0wMm1=W83r18Lwx?-Lb z{&o!Xod?efE@L2%Cad>(^x$F}Q>)N}UBM`)JUP)5cvM}HcqE}yf3@xISD~lyubl5;_sHfR2yCb7AJG1a0$t&C1fG#^{vHu!A0%>ljr*+d;?7z1AW6Prkr#l6pE9%SzjxV|VvBe;%!^qJ?kUN7EuK>IqM0}2zhc5pRcXSX;N4a6 zVg4bw3*EN@*hka8MfxbOuJu8M)JHjMEWwpg@0WW^-n2SF+wVw z1sYBQiOGG39yR2u^07}5*yl|>D1F${0kU%{GdP*cZCcIHImB}cPjmDlYV@kg{na+h z%kbSnb*ZXp?&QiXjcUnhEDfy9^_xuhT>wQ3Dkl8MSRYfd{HE$x*amWjKQisUcB zpnc7;JIxy^)rl!ZFi>nZyz2^j-L!MbRjo14ll~0;hPn)tE9)-?eNc_$?ZgXeOSS|2 zwHk2i%&`xBN|W;=P$;QJvW3uFKA~G|_?F>5 zh12t9RwQ@9$!~;Qvx0bGKX6%;T{$ASix}k_m~jTxO0kcbYgVNr^=iWAK|V|52m1kD z;D`*#l~Qdr)bsJPzUWaw<(jj|F3errQYzSy`-rgGM|?2=e2mI-R$u0DiKVK+M^s3k zw-ku$i>B@5pw0Pg;(Ys;bS21_M@ndNgJ-F z0|Qn1{O)b6QL}wb{|7;CII`;38a1m00)tisPOAAvm4Mt}Q@dujK;HYMcFmUm2dHuF ADgXcg diff --git a/modules/Tacoma/module.jai b/modules/Tacoma/module.jai index 8edc4e2..3d2d4cc 100644 --- a/modules/Tacoma/module.jai +++ b/modules/Tacoma/module.jai @@ -15,14 +15,19 @@ Sky_Config :: struct { skyDesaturation : float = 0.0; } -Trixel_Data :: struct { - empty : bool = false; - color : Vector3 = .{1.0, 0.0, 0.0}; - material : float = 1.0; +// emission is the light it gives off, already scaled. Glass is seen as a solid +// surface but lets the sun through, tinted by its colour. +Swatch :: struct { + color : Vector3; + emission : Vector3; + glass : s32; } +SWATCH_COUNT :: 256; +PROBE_FLOATS :: 13; // R, G, B × (c0, y, z, x), then the fraction of rays that hit a back face + Trile_Data :: struct { - trixels : [16][16][16]Trixel_Data; + trixels : [16][16][16]u8; // swatch ids, 0 = empty vertices : *float; vertexCount : s32; } @@ -47,7 +52,7 @@ Tacoma_Context :: struct {} tacoma_init :: (base_path: *u8) -> *Tacoma_Context #foreign libtacoma; tacoma_destroy :: (ctx: *Tacoma_Context) #foreign libtacoma; -tacoma_load_scene :: (ctx: *Tacoma_Context, sky: Sky_Config, ts: Trile_Set, world: World, include_water: s32) #foreign libtacoma; +tacoma_load_scene :: (ctx: *Tacoma_Context, sky: Sky_Config, swatches: *Swatch, ts: Trile_Set, world: World, include_water: s32) #foreign libtacoma; tacoma_render_rdm :: (ctx: *Tacoma_Context, world_trile_index: s32, roughness: s32, quality: s32, size: s32) -> *float #foreign libtacoma; tacoma_render_reference :: (ctx: *Tacoma_Context, width: s32, height: s32, eye: Vector3, target: Vector3, roughness: float, quality: s32) -> *float #foreign libtacoma; tacoma_render_sh_chunk :: (ctx: *Tacoma_Context, origin_x: float, origin_y: float, origin_z: float, probe_n: s32, probe_spacing: float, quality: s32) -> *float #foreign libtacoma; diff --git a/modules/Tacoma/shaders/raytrace.comp.glsl.spv b/modules/Tacoma/shaders/raytrace.comp.glsl.spv index fec1ff6cf79440b96962d8bf57f587897ebea7dc..852376cc916d15b70adf0db354c20e769f71b2c6 100644 GIT binary patch literal 81036 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 diff --git a/modules/Tacoma/shaders/sh_bake.comp.glsl.spv b/modules/Tacoma/shaders/sh_bake.comp.glsl.spv index 179d84d2a4f128495e2320cbe5931e4a4658ca91..eb0c5b9903aaa538f523873cffc0dbc1d8605495 100644 GIT binary patch literal 39156 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 diff --git a/settings.cfg b/settings.cfg index a66236c..da1b52d 100644 --- a/settings.cfg +++ b/settings.cfg @@ -1,4 +1,4 @@ master_volume 0.205032 music_volume 1 sfx_volume 1 -fullscreen 0 +fullscreen 1 diff --git a/src/assets/asset_manager.jai b/src/assets/asset_manager.jai index 6a2db38..649d831 100644 --- a/src/assets/asset_manager.jai +++ b/src/assets/asset_manager.jai @@ -24,6 +24,7 @@ Fetch_Type :: enum { PACK; WORLD; WORLD_CHUNKS; + WORLD_PROBES; } Fetch_Request :: struct { @@ -66,6 +67,7 @@ fetch_type_buffer_size :: (type: Fetch_Type) -> s64 { case .PACK; return MAX_PACK_SIZE; case .WORLD; return MAX_WORLD_SIZE; case .WORLD_CHUNKS; return MAX_CHUNKS_SIZE; + case .WORLD_PROBES; return MAX_PROBES_SIZE; } } @@ -125,6 +127,9 @@ handle_fetch_failed :: (req: *Fetch_Request) { free(req.world_json_data.data); log_error("Failed to load chunks.bin for world '%'", req.world_name); + case .WORLD_PROBES; + log_info("No baked probes for world '%'", req.world_name); + } } @@ -170,10 +175,22 @@ process_completed_fetch :: (req: *Fetch_Request, data: []u8) { if ok { set_loaded_world(world); log_info("Loaded world: %", req.world_name); + probes_req: Fetch_Request; + probes_req.type = .WORLD_PROBES; + probes_req.priority = .BACKGROUND; + probes_req.world_name = req.world_name; + probes_req.path = sprint("%/worlds/%/probes.bin", GAME_RESOURCES_DIR, req.world_name); + array_add(*g_asset_manager.queue, probes_req); } else { log_error("Failed to parse world '%'", req.world_name); } + case .WORLD_PROBES; + // Another world may have been loaded while these were on the way. + curworld := get_current_world(); + if !curworld.valid || curworld.world.name != req.world_name return; + if !load_probes(data) log_error("Broken probes.bin for world '%'", req.world_name); + } } @@ -255,7 +272,10 @@ add_resources_from_pack :: (pack: *Loaded_Pack) { pal : Loaded_Palette; pal.name = sprint("%", name); pal.entries = load_hex_palette_from_memory(v.data); - array_add(*g_palettes, pal); + // Pack hot reload brings the same palettes in again. + replaced := false; + for *g_palettes if it.name == pal.name { it.* = pal; replaced = true; } + if !replaced array_add(*g_palettes, pal); log_info("Loaded % colors from hex palette(%)", pal.entries.count, v.name); case "ttf"; case; diff --git a/src/editor/level_editor.jai b/src/editor/level_editor.jai index fb20ad8..8039956 100644 --- a/src/editor/level_editor.jai +++ b/src/editor/level_editor.jai @@ -253,37 +253,24 @@ draw_tacoma_tab :: (theme: *GR.Overall_Theme, total_r: GR.Rect) { r.h = ui_h(3,0); if GR.button(r, "Render with Tacoma", *theme.button_theme) { cam := get_level_editor_camera(); - gen_reference(tacomaResolution, tacomaResolution, cam.position, cam.target, tacomaSamples, true, curworld.world); + if curworld.valid gen_reference(tacomaResolution, tacomaResolution, cam.position, cam.target, tacomaSamples, *curworld.world); } r.y += r.h; - if GR.button(r, "Bake all chunk RDMs", *theme.button_theme) { - if curworld.valid then rdm_bake_all_chunks(curworld.world, tacomaSamples, true); + if GR.button(r, "Bake probes", *t_button_selectable(theme, !probe_bake.active)) { + if curworld.valid && !probe_bake.active bake_probes(tacomaSamples); } r.y += r.h; - if GR.button(r, "Bake all chunk SH grids", *t_button_selectable(theme, !sh_bake.active)) { - if curworld.valid && !sh_bake.active sh_bake_start(tacomaSamples); - } - r.y += r.h; - if rdm_bake.active { - total := cast(s32) rdm_bake.jobs.count; - done := rdm_bake.current_job; - pct := ifx total > 0 then done * 100 / total else 0; - GR.label(r, tprint("Baking RDMs: %/% (\%%)", done, total, pct), *t_label_left(theme)); + if probe_bake.active { + total := probe_bake.keys.count; + done := probe_bake.results.count; + GR.label(r, tprint("Baking probes: %/% chunks", done, total), *t_label_left(theme)); r.y += r.h; } - if sh_bake.active { - total := cast(s32) sh_bake.chunk_keys.count; - done := sh_bake.current_chunk; - pct := ifx total > 0 then done * 100 / total else 0; - GR.label(r, tprint("Baking SH grids: %/% (\%%)", done, total, pct), *t_label_left(theme)); - r.y += r.h; - } - if current_screenshot.valid { - aspect := cast(float)current_screenshot.width / cast(float)current_screenshot.height; - + if tacoma_preview.texture.id { + aspect := cast(float) tacoma_preview.width / cast(float) tacoma_preview.height; r.h = r.w / aspect; uiTex := New(Ui_Texture,, temp); - uiTex.tex = current_screenshot.image; + uiTex.tex = tacoma_preview.texture; set_shader_for_images(uiTex); immediate_quad(.{r.x, r.y}, .{r.x + r.w, r.y}, .{r.x + r.w, r.y + r.h}, .{r.x, r.y + r.h}); set_shader_for_color(); @@ -299,13 +286,9 @@ draw_tacoma_tab :: (theme: *GR.Overall_Theme, total_r: GR.Rect) { r.y += r.h; GR.slider(r, *tacomaResolution, 10, 5000, 10, *theme.slider_theme); r.y += r.h; - GR.label(r, tprint("Sky Scale (bake): %", formatFloat(bake_sky_scale, trailing_width=2)), *t_label_left(theme)); + GR.label(r, "Emissive light (bake)", *t_label_left(theme)); r.y += r.h; - GR.slider(r, *bake_sky_scale, 0.0, 5.0, 0.05, *theme.slider_theme); - r.y += r.h; - GR.label(r, tprint("Sky Desaturation (bake): %", formatFloat(bake_sky_desaturation, trailing_width=2)), *t_label_left(theme)); - r.y += r.h; - GR.slider(r, *bake_sky_desaturation, 0.0, 1.0, 0.05, *theme.slider_theme); + GR.slider(r, *bake_emissive_light, 0.0, 50.0, 0.5, *theme.slider_theme); r.y += r.h; GR.end_scrollable_region(region, r.x + r.w, r.y, *tacoma_tab_scroll); @@ -650,7 +633,7 @@ editor_edit_y :: () -> float { } tick_level_editor :: () { - #if FLAG_TACOMA_ENABLED { rdm_bake_tick(); sh_bake_tick(); } + #if FLAG_TACOMA_ENABLED { probe_bake_tick(); } tick_level_editor_camera(); tick_particles(cast(float)delta_time); @@ -1139,7 +1122,8 @@ draw_editor_billboards :: (view: View_Id) { draw_level_editor :: () { curworld := get_current_world(); if !curworld.valid then return; - view := add_view(.{camera = get_level_editor_camera(), environment = world_environment(*curworld.world)}); + camera := get_level_editor_camera(); + view := add_view(.{camera = camera, environment = world_environment(*curworld.world), cut = true, focus = camera.target}); draw_entities(view, *curworld.world); draw_live_particles(view); if show_trile_preview && !trile_preview_disabled { diff --git a/src/editor/material_studio.jai b/src/editor/material_studio.jai index 9bcb07f..efe7041 100644 --- a/src/editor/material_studio.jai +++ b/src/editor/material_studio.jai @@ -23,6 +23,14 @@ draw_material_studio_ui :: (theme: *GR.Overall_Theme) { } r.y += row_h; + // .hex palettes in a pack, one RRGGBB per line. + for g_palettes { + if GR.button(r, tprint("Import % (% colours)", it.name, it.entries.count), *theme.button_theme, it_index) { + log_info("Imported % new materials from %", swatch_import_palette(it), it.name); + } + r.y += row_h; + } + grid := r; grid.h = ui_h(25, 0); previous := ms_selected; @@ -35,6 +43,8 @@ draw_material_studio_ui :: (theme: *GR.Overall_Theme) { if ms_selected == 0 || !g_swatches[ms_selected].used return; swatch := *g_swatches[ms_selected]; + GR.label(r, tprint("Material %", ms_selected), *t_label_left(theme)); + r.y += row_h; a, new_text := GR.text_input(r, ms_name_input, *theme.text_input_theme, 128); if a & .ENTERED { ms_name_input = copy_string(new_text); @@ -42,25 +52,49 @@ draw_material_studio_ui :: (theme: *GR.Overall_Theme) { } r.y += row_h; - r.h = ui_h(30, 0); - color := swatch_color(ms_selected); - GR.color_picker(r, *color, *theme.color_picker_theme); - for 0..2 swatch.color[it] = cast(u8) clamp(color.component[it] * 255 + 0.5, 0, 255); - r.y += r.h; - r.h = ui_h(3, 2); - GR.label(r, "Roughness", *t_label_left(theme)); + GR.label(r, "Reflectivity", *t_label_left(theme)); r.y += r.h; - GR.slider(r, *swatch.roughness, 0, 7, 1, *theme.slider_theme); + GR.slider(r, *swatch.reflectivity, 0, 255, 1, *theme.slider_theme); r.y += r.h; - GR.label(r, "Metallic", *t_label_left(theme)); + GR.label(r, "Gloss", *t_label_left(theme)); r.y += r.h; - GR.slider(r, *swatch.metallic, 0, 3, 1, *theme.slider_theme); + GR.slider(r, *swatch.gloss, 0, 255, 1, *theme.slider_theme); r.y += r.h; GR.label(r, "Emittance", *t_label_left(theme)); r.y += r.h; GR.slider(r, *swatch.emittance, 0, 127, 1, *theme.slider_theme); + r.y += r.h; + if GR.base_checkbox(r, "Glass (lets sunlight through)", swatch.glass, *theme.checkbox_theme) swatch.glass = !swatch.glass; r.y += r.h * 2; + + // The colour gets its own panel on the right, so the picker has room. + color_panel := GR.get_rect(100*vw - panel.w, panel.y, panel.w, ui_h(45, 0)); + ui_add_mouse_occluder(color_panel); + draw_bg_rectangle(color_panel, theme); + picker := color_panel; + picker.h = ui_h(40, 0); + color := swatch_color(ms_selected); + GR.color_picker(picker, *color, *theme.color_picker_theme); + for 0..2 swatch.color[it] = cast(u8) clamp(color.component[it] * 255 + 0.5, 0, 255); + picker.y += picker.h; + picker.h = row_h; + GR.label(picker, tprint("#%", hex_color(swatch.color)), *t_label_left(theme)); + + used_panel := GR.get_rect(color_panel.x, color_panel.y + color_panel.h, color_panel.w, ui_h(45, 0)); + ui_add_mouse_occluder(used_panel); + draw_bg_rectangle(used_panel, theme); + line := used_panel; + line.h = row_h; + GR.label(line, "Used by", *t_label_left(theme)); + line.y += row_h; + for trile: get_trile_table_ptr() { + count := trile_swatch_counts(*trile)[ms_selected]; + if count == 0 continue; + GR.label(line, tprint("% (%)", trile.name, count), *t_label_left(theme)); + line.y += row_h; + } + swatch_changed(ms_selected); r.h = row_h; @@ -78,3 +112,15 @@ draw_material_studio_ui :: (theme: *GR.Overall_Theme) { ms_selected = 0; } } + +#scope_file + +hex_color :: (c: [3]u8) -> string { + digits :: "0123456789abcdef"; + out := talloc_string(6); + for 0..2 { + out[it * 2] = digits[c[it] >> 4]; + out[it * 2 + 1] = digits[c[it] & 0xf]; + } + return out; +} diff --git a/src/editor/particle_editor.jai b/src/editor/particle_editor.jai index 3aa93ed..d03ef5a 100644 --- a/src/editor/particle_editor.jai +++ b/src/editor/particle_editor.jai @@ -151,6 +151,7 @@ draw_particle_editor_ui :: (theme: *GR.Overall_Theme) { pe_vec4(*er, "Color Start", *def.color_start, 0, 1, theme); pe_vec4(*er, "Color End", *def.color_end, 0, 1, theme); pe_float(*er, tprint("Gravity: %", def.gravity), *def.gravity, -20, 20, 0.1, theme); + pe_float(*er, tprint("Glow: %", def.glow), *def.glow, 0, 1, 0.05, theme); pe_label(*er, tprint("Blend Mode: %", def.blend_mode), theme); orig_w2 := er.w; diff --git a/src/editor/tacoma.jai b/src/editor/tacoma.jai index 2a4fc1a..88ec609 100644 --- a/src/editor/tacoma.jai +++ b/src/editor/tacoma.jai @@ -5,346 +5,86 @@ Tacoma :: #import "Tacoma"; -Tacoma_Screenshot :: struct { - image : sg_image; - width : s32; - height : s32; - valid : bool = false; -} - -current_screenshot : Tacoma_Screenshot; - -// Single global atlas entry: stored on the World once baked. -RDM_Atlas_Entry_Bake :: struct { - world_pos: Vector3; - x, y: s32; // top-left in atlas pixels - w, h: s32; // pixel size of this RDM (= 2*size, 3*size) -} - -RDM_ATLAS_MAX_SIZE :: 16384; // GPU 2D texture ceiling. - ctx : *Tacoma.Tacoma_Context; -RDM_Bake_Job :: struct { - world_trile_index: s32; - world_pos: Vector3; - size: s32; // per-instance RDM side in px (tile = 2*size x 3*size). +tacoma_preview : struct { + texture : Texture; + width : s32; + height : s32; } -RDM_Global_Bake :: struct { - data : *float; // CPU atlas buffer (RGBA32F during bake) - width : s32; - height : s32; - cursor_x : s32; - cursor_y : s32; - row_height : s32; - entries : [..]RDM_Atlas_Entry_Bake; +// Light given off by a fully emissive swatch, relative to full sun on a white face. +bake_emissive_light : float = 10.0; + +// Probes where more of the rays than this hit the back of a face are inside geometry. +PROBE_INSIDE_BACKFACES :: 0.25; + +Probe_Bake :: struct { + active : bool; + quality : s32; + world_name : string; + keys : [..]Chunk_Key; + results : [..]*float; // from Tacoma, one per baked key } -RDM_Bake_State :: struct { - active : bool = false; - quality : s32 = 100; - jobs : [..]RDM_Bake_Job; - current_job : s32 = 0; - atlas : RDM_Global_Bake; -} +probe_bake : Probe_Bake; -rdm_bake : RDM_Bake_State; +bake_probes :: (quality: s32 = 100) { + if probe_bake.active return; + curworld := get_current_world(); + if !curworld.valid { log_warn("bake_probes: no world loaded"); return; } -SH_Bake_State :: struct { - active : bool; - quality : s32; - include_water : bool; - chunk_keys : [..]Chunk_Key; - current_chunk : s32; -} + for _, key: curworld.world.chunks array_add(*probe_bake.keys, key); + if !probe_bake.keys.count return; -sh_bake : SH_Bake_State; + tacoma_init_scene(*curworld.world); + probe_bake.active = true; + probe_bake.quality = quality; + probe_bake.world_name = copy_string(curworld.world.name); +} @Command -rdm_job_quality :: (job: RDM_Bake_Job) -> s32 { - return rdm_bake.quality; -} - -rdm_sort_jobs_by_height_desc :: (jobs: *[..]RDM_Bake_Job) { - n := jobs.count; - for i: 1..n-1 { - key := jobs.data[i]; - j := i - 1; - while j >= 0 && jobs.data[j].size < key.size { - jobs.data[j + 1] = jobs.data[j]; - j -= 1; - } - jobs.data[j + 1] = key; +// Bakes one chunk per call. +probe_bake_tick :: () { + if !probe_bake.active return; + curworld := get_current_world(); + if !curworld.valid || curworld.world.name != probe_bake.world_name { + log_warn("Probe bake cancelled: the world changed"); + probe_bake_end(); + return; } -} - -// Simulate shelf pack of the current jobs array into a square atlas of `atlas_size`. -// Returns true if all fit. Assumes jobs are already sorted by tile height descending. -rdm_simulate_shelf_pack :: (jobs: []RDM_Bake_Job, atlas_size: s32) -> bool { - cursor_x : s32 = 0; - cursor_y : s32 = 0; - row_h : s32 = 0; - for job: jobs { - w := 2 * job.size; - h := 3 * job.size; - if w > atlas_size || h > atlas_size return false; - if cursor_x + w > atlas_size { - cursor_y += row_h; - cursor_x = 0; - row_h = 0; - } - if cursor_y + h > atlas_size return false; - cursor_x += w; - if h > row_h then row_h = h; - } - return true; -} - -// Choose min pow2 square atlas fitting all jobs (variable tile sizes). Caps at RDM_ATLAS_MAX_SIZE. -rdm_calc_global_atlas_size :: (jobs: []RDM_Bake_Job) -> (s32, s32) { - if jobs.count == 0 return 16, 16; - target : s32 = 16; - while target < RDM_ATLAS_MAX_SIZE { - if rdm_simulate_shelf_pack(jobs, target) return target, target; - target *= 2; - } - if !rdm_simulate_shelf_pack(jobs, RDM_ATLAS_MAX_SIZE) { - log_warn("RDM atlas cap reached (%); some instances may not fit.", RDM_ATLAS_MAX_SIZE); - } - return RDM_ATLAS_MAX_SIZE, RDM_ATLAS_MAX_SIZE; -} - -// Build the Tacoma scene from the world and emit one bake job per RDM-flagged instance. -// chunk_keys is accepted for API compatibility but ignored — bakes always cover every flagged -// instance because the global atlas + manifest is rewritten as a whole. -rdm_bake_start :: (world: World, quality: s32, include_water: bool, chunk_keys: []Chunk_Key = .[]) { - if rdm_bake.active then return; - - trile_list : [..]Tacoma.Trile_Data; - trile_list.allocator = temp; - world_triles : [..]Tacoma.World_Trile; - world_triles.allocator = temp; - - trile_name_to_index: Table(string, s32); - trile_name_to_index.allocator = temp; - - for chunk: world.chunks { - for group: chunk.groups { - success, idx := table_find(*trile_name_to_index, group.trile_name); - if !success { - trile, trile_ok := get_trile(group.trile_name); - if !trile_ok continue; - ttrile : Tacoma.Trile_Data; - for x: 0..15 { - for y: 0..15 { - for z: 0..15 { - ttrile.trixels[x][y][z] = .{ - trile.trixels[x][y][z].empty, - trile.trixels[x][y][z].material.color, - material_encode_to_float(trile.trixels[x][y][z].material) - }; - } - } - } - gfx := get_trile_gfx(group.trile_name); - ttrile.vertices = gfx.vertices.data; - ttrile.vertexCount = cast(s32) (gfx.vertices.count / 3); - idx = cast(s32) trile_list.count; - array_add(*trile_list, ttrile); - table_set(*trile_name_to_index, group.trile_name, idx); - } - - for inst: group.instances { - world_trile_idx := cast(s32) world_triles.count; - wx, wy, wz := chunk_local_to_world(chunk.coord, inst.x, inst.y, inst.z); - wpos := Vector3.{cast(float) wx, cast(float) wy, cast(float) wz}; - array_add(*world_triles, Tacoma.World_Trile.{idx, wpos, cast(s32) inst.orientation}); - - inst_size := get_rdm_instance_size(*world, wx, wy, wz); - if inst_size > 0 { - array_add(*rdm_bake.jobs, .{ - world_trile_index = world_trile_idx, - world_pos = wpos, - size = inst_size, - }); - } - } - } - } - - sky : Tacoma.Sky_Config = world_to_sky_config(world); - blases : Tacoma.Trile_Set = .{trile_list.data, cast(s32) trile_list.count}; - tlas : Tacoma.World = .{world_triles.data, cast(s32) world_triles.count}; - ctx = Tacoma.tacoma_init("./modules/Tacoma/"); - Tacoma.tacoma_load_scene(ctx, sky, blases, tlas, cast(s32) include_water); - - // Sort jobs tallest-first for a tighter shelf pack. - rdm_sort_jobs_by_height_desc(*rdm_bake.jobs); - - // Allocate global CPU atlas large enough for all jobs. - aw, ah := rdm_calc_global_atlas_size(rdm_bake.jobs); - atlas_bytes := cast(s64) aw * cast(s64) ah * 4 * size_of(float); - rdm_bake.atlas.width = aw; - rdm_bake.atlas.height = ah; - rdm_bake.atlas.data = cast(*float) alloc(atlas_bytes); - memset(rdm_bake.atlas.data, 0, atlas_bytes); - log_info("RDM global atlas: %x% (% MB) for % jobs", - aw, ah, cast(float)atlas_bytes / (1024.0 * 1024.0), rdm_bake.jobs.count); - - rdm_bake.active = true; - rdm_bake.quality = quality; - - if rdm_bake.jobs.count == 0 { - rdm_bake_finish(); - } -} - -// Queue all RDM-flagged instances. (chunk_keys parameter is ignored — see rdm_bake_start.) -rdm_bake_all_chunks :: (world: World, quality: s32, include_water: bool) { - rdm_bake_start(world, quality, include_water); -} - -rdm_bake_chunks :: (chunk_keys: []Chunk_Key, world: World, quality: s32, include_water: bool) { - rdm_bake_start(world, quality, include_water, chunk_keys); -} - -// Process at most one RDM per frame. -rdm_bake_tick :: () { - if !rdm_bake.active then return; - if rdm_bake.current_job >= cast(s32) rdm_bake.jobs.count { - rdm_bake_finish(); + if probe_bake.results.count == probe_bake.keys.count { + probe_bake_finish(); return; } - job := rdm_bake.jobs[rdm_bake.current_job]; + key := probe_bake.keys[probe_bake.results.count]; + x, y, z := chunk_local_to_world(key, 0, 0, 0); + data := Tacoma.tacoma_render_sh_chunk(ctx, xx x, xx y, xx z, CHUNK_SIZE, 1.0, probe_bake.quality); + array_add(*probe_bake.results, data); + log_info("Baked probes for chunk % (%/%)", key, probe_bake.results.count, probe_bake.keys.count); +} - size : s32 = job.size; - w := 2 * size; - h := 3 * size; - ptr := Tacoma.tacoma_render_rdm(ctx, job.world_trile_index, 0, rdm_job_quality(job), size); +gen_reference :: (w: s32, h: s32, eye: Vector3, target: Vector3, quality: s32, world: *World) { + tacoma_init_scene(world); + data := Tacoma.tacoma_render_reference(ctx, w, h, eye, target, 0.01, quality); + tacoma_stop(); - bake := *rdm_bake.atlas; - - if bake.cursor_x + w > bake.width { - bake.cursor_y += bake.row_height; - bake.cursor_x = 0; - bake.row_height = 0; + pixels := NewArray(w * h * 4, u8,, temp); + for i: 0..w * h - 1 { + for c: 0..2 pixels[i * 4 + c] = xx (clamp(data[i * 4 + c], 0, 1) * 255 + 0.5); + pixels[i * 4 + 3] = 255; } + Tacoma.tacoma_free_result(data); - ax := bake.cursor_x; - ay := bake.cursor_y; - - if ay + h <= bake.height { - src := cast(*u8) ptr; - row_bytes := cast(s64) w * 4 * size_of(float); - for row: 0..h-1 { - dst_offset := (cast(s64)(ay + row) * cast(s64) bake.width + cast(s64) ax) * 4 * size_of(float); - src_offset := cast(s64) row * row_bytes; - memcpy(cast(*u8) bake.data + dst_offset, src + src_offset, row_bytes); - } - - entry : RDM_Atlas_Entry_Bake; - entry.world_pos = job.world_pos; - entry.x = ax; - entry.y = ay; - entry.w = w; - entry.h = h; - array_add(*bake.entries, entry); - } else { - log_warn("RDM global atlas overflow, skipping (pos=%)", job.world_pos); - } - - bake.cursor_x += w; - if h > bake.row_height then bake.row_height = h; - - tacoma_handle_result(ptr, w, h); - rdm_bake.current_job += 1; + if tacoma_preview.texture.id texture_destroy(tacoma_preview.texture); + tacoma_preview.texture = texture_create(w, h, pixels); + tacoma_preview.width = w; + tacoma_preview.height = h; } -rdm_bake_finish :: () { - if ctx != null then tacoma_stop(); +#scope_file - curworld := get_current_world(); - bake := *rdm_bake.atlas; - - if bake.entries.count > 0 { - // a) Pack atlas into RGBA16F half-floats and upload to g_rdm_atlas. - upload_global_atlas_image(bake); - - // b) Populate world.rdm_lookup with normalized UV rects. - if curworld.valid { - array_reset_keeping_memory(*curworld.world.rdm_lookup); - atlas_w := cast(float) bake.width; - atlas_h := cast(float) bake.height; - for entry: bake.entries { - e : Rdm_Atlas_Entry; - e.x = cast(s32) entry.world_pos.x; - e.y = cast(s32) entry.world_pos.y; - e.z = cast(s32) entry.world_pos.z; - e.atlas_rect = .{ - cast(float) entry.x / atlas_w, - cast(float) entry.y / atlas_h, - cast(float) entry.w / atlas_w, - cast(float) entry.h / atlas_h, - }; - array_add(*curworld.world.rdm_lookup, e); - } - } - - // c) Save atlas + manifest to disk. - rdm_save_global_atlas_to_disk(bake); - if curworld.valid then rdm_save_global_manifest_to_disk(curworld.world.name, curworld.world.rdm_lookup); - } - - log_info("RDM bake complete: % entries", bake.entries.count); - - if bake.data != null then free(bake.data); - array_free(bake.entries); - array_free(rdm_bake.jobs); - rdm_bake = .{}; -} - -// Convert RGBA32F CPU atlas to RGBA16F and upload to g_rdm_atlas. -upload_global_atlas_image :: (bake: *RDM_Global_Bake) { - pixel_count := cast(s64) bake.width * cast(s64) bake.height * 4; - halves := cast(*u16) alloc(pixel_count * size_of(u16)); - defer free(halves); - for i: 0..pixel_count - 1 halves[i] = f32_to_f16(bake.data[i]); - - imgdata : sg_image_data; - imgdata.subimage[0][0] = .{halves, cast(u64)(pixel_count * size_of(u16))}; - desc : sg_image_desc = .{ - render_target = false, - width = bake.width, - height = bake.height, - pixel_format = sg_pixel_format.RGBA16F, - sample_count = 1, - data = imgdata, - }; - if g_rdm_atlas.id != 0 then sg_destroy_image(g_rdm_atlas); - g_rdm_atlas = sg_make_image(*desc); -} - -bake_sky_scale : float = 1.0; -bake_sky_desaturation : float = 1.0; - -world_to_sky_config :: (world: World) -> Tacoma.Sky_Config { - sky : Tacoma.Sky_Config; - sky.skyBase = world.conf.skyBase; - sky.skyTop = world.conf.skyTop; - sky.sunDisk = world.conf.sunDisk; - sky.horizonHalo = world.conf.horizonHalo; - sky.sunHalo = world.conf.sunHalo; - sky.sunLightColor = world.conf.sunLightColor; - sky.sunPosition = world.conf.sunPosition; - sky.sunIntensity = world.conf.sunIntensity; - sky.skyIntensity = world.conf.skyIntensity * bake_sky_scale; - sky.skyDesaturation = bake_sky_desaturation; - return sky; -} - -// Build trile BLASes + world TLAS from a world, then initialize ctx. -tacoma_init_scene :: (world: World, include_water: bool) { +tacoma_init_scene :: (world: *World) { trile_list : [..]Tacoma.Trile_Data; trile_list.allocator = temp; world_triles : [..]Tacoma.World_Trile; world_triles.allocator = temp; trile_name_to_index : Table(string, s32); trile_name_to_index.allocator = temp; @@ -355,230 +95,136 @@ tacoma_init_scene :: (world: World, include_water: bool) { if !success { trile, trile_ok := get_trile(group.trile_name); if !trile_ok continue; + vertices, indices := mesh_trile(trile); + positions := NewArray(indices.count * 3, float,, temp); + for indices for c: 0..2 positions[it_index * 3 + c] = vertices[it].position.component[c]; + ttrile : Tacoma.Trile_Data; - for x: 0..15 for y: 0..15 for z: 0..15 { - ttrile.trixels[x][y][z] = .{ - trile.trixels[x][y][z].empty, - trile.trixels[x][y][z].material.color, - material_encode_to_float(trile.trixels[x][y][z].material) - }; - } - gfx := get_trile_gfx(group.trile_name); - ttrile.vertices = gfx.vertices.data; - ttrile.vertexCount = cast(s32)(gfx.vertices.count / 3); + ttrile.trixels = trile.trixels; + ttrile.vertices = positions.data; + ttrile.vertexCount = xx indices.count; idx = cast(s32) trile_list.count; array_add(*trile_list, ttrile); table_set(*trile_name_to_index, group.trile_name, idx); } for inst: group.instances { wx, wy, wz := chunk_local_to_world(chunk.coord, inst.x, inst.y, inst.z); - array_add(*world_triles, Tacoma.World_Trile.{idx, - Vector3.{cast(float) wx, cast(float) wy, cast(float) wz}, - cast(s32) inst.orientation}); + array_add(*world_triles, Tacoma.World_Trile.{idx, .{xx wx, xx wy, xx wz}, xx inst.orientation}); } } } - sky : Tacoma.Sky_Config = world_to_sky_config(world); - blases : Tacoma.Trile_Set = .{trile_list.data, cast(s32) trile_list.count}; - tlas : Tacoma.World = .{world_triles.data, cast(s32) world_triles.count}; + swatches : [Tacoma.SWATCH_COUNT]Tacoma.Swatch; + for g_swatches { + if !it.used continue; + color := swatch_color(xx it_index); + emission := color * (min(cast(int) it.emittance, 127) / 127.0) * bake_emissive_light; + swatches[it_index] = .{color, emission, xx it.glass}; + } + + env := world_environment(world); + sky : Tacoma.Sky_Config; + sky.skyBase = env.sky_base; + sky.skyTop = env.sky_top; + sky.sunDisk = env.sun_disk; + sky.horizonHalo = env.horizon_halo; + sky.sunHalo = env.sun_halo; + sky.sunLightColor = env.sun_color; + sky.sunPosition = env.sun_direction; + sky.sunIntensity = 1; + sky.skyIntensity = ifx env.sky then env.sky_intensity else 0; + + blases : Tacoma.Trile_Set = .{trile_list.data, xx trile_list.count}; + tlas : Tacoma.World = .{world_triles.data, xx world_triles.count}; ctx = Tacoma.tacoma_init("./modules/Tacoma/"); - Tacoma.tacoma_load_scene(ctx, sky, blases, tlas, cast(s32) include_water); + Tacoma.tacoma_load_scene(ctx, sky, swatches.data, blases, tlas, xx env.water); } tacoma_stop :: () { Tacoma.tacoma_destroy(ctx); + ctx = null; } -tacoma_handle_result :: (ptr: *float, w: s32, h: s32) { - data := cast(*float) talloc(w*h*4*size_of(float)); - memcpy(data, ptr, w*h*4*4); - for 0..(w*h) { - color : Vector3; - color.x = data[it * 4 + 0]; - color.y = data[it * 4 + 1]; - color.z = data[it * 4 + 2]; - - data[it * 4 + 0] = color.x; - data[it * 4 + 1] = color.y; - data[it * 4 + 2] = color.z; - - } - - imgdata : sg_image_data; - imgdata.subimage[0][0] = .{data, cast(u64) (w*h*4*4)}; - - texdesc : sg_image_desc = .{ - render_target = false, - width = w, - height = h, - pixel_format = sg_pixel_format.RGBA32F, - sample_count = 1, - data = imgdata - }; - - if current_screenshot.valid { - sg_destroy_image(current_screenshot.image); - } - - current_screenshot = .{ - sg_make_image(*texdesc), - w, - h, - true - }; - Tacoma.tacoma_free_result(ptr); -} - -gen_reference :: (w: s32, h: s32, eye: Vector3, target: Vector3, quality: s32, include_water: bool, world: World) { - tacoma_init_scene(world, include_water); - ptr := Tacoma.tacoma_render_reference(ctx, w, h, eye, target, 0.01, quality); - tacoma_handle_result(ptr, w, h); +probe_bake_finish :: () { tacoma_stop(); + + chunks := probes_from_bake(probe_bake.keys, probe_bake.results); + for chunks world_set_chunk_probes(it.key, it.probes); + + file :: #import "File"; + path := tprint("%/worlds/%/probes.bin", GAME_RESOURCES_DIR, probe_bake.world_name); + if file.write_entire_file(path, save_probes(chunks)) log_info("Probe bake complete, saved %", path); + else log_error("Probe bake complete, but writing % failed", path); + + for chunks array_free(it.probes); + probe_bake_end(); } -sh_bake_start :: (quality: s32 = 50, include_water: bool = false) { - if sh_bake.active then return; - curworld := get_current_world(); - if !curworld.valid { log_warn("sh_bake_start: no world loaded"); return; } +probe_bake_end :: () { + if ctx tacoma_stop(); + for probe_bake.results Tacoma.tacoma_free_result(it); + array_free(probe_bake.results); + array_free(probe_bake.keys); + free(probe_bake.world_name); + probe_bake = .{}; +} - world := *curworld.world; - for _, key: world.chunks array_add(*sh_bake.chunk_keys, key); +// Marks probes inside geometry, and evens out bake noise by averaging each probe +// with its face neighbours, across chunk borders. Probes inside geometry take no part. +probes_from_bake :: (keys: []Chunk_Key, results: []*float) -> []Probe_Chunk { + N :: CHUNK_SIZE; + baked : Table(Chunk_Key, *float, chunk_key_hash, chunk_key_compare); + baked.allocator = temp; + for keys table_set(*baked, it, results[it_index]); - if sh_bake.chunk_keys.count == 0 then return; - - tacoma_init_scene(world.*, include_water); - sh_bake.active = true; - sh_bake.quality = quality; - sh_bake.include_water = include_water; - sh_bake.current_chunk = 0; -} @Command - -sh_bake_tick :: () { - if !sh_bake.active then return; - if sh_bake.current_chunk >= cast(s32) sh_bake.chunk_keys.count { - sh_bake_finish(); - return; + Baked :: type_of(baked); + baked_probe :: (baked: *Baked, x: s32, y: s32, z: s32) -> *float { + found, data := table_find(baked, world_to_chunk_coord(x, y, z)); + if !found return null; + lx, ly, lz := world_to_local(x, y, z); + p := data + (cast(s64) lx + cast(s64) ly * N + cast(s64) lz * N * N) * Tacoma.PROBE_FLOATS; + if p[12] > PROBE_INSIDE_BACKFACES return null; + return p; } - curworld := get_current_world(); - if !curworld.valid { sh_bake_finish(); return; } + NEIGHBOURS :: s32.[1, 0, 0, -1, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 1, 0, 0, -1]; - n :: SH_PROBE_N; - tex_w :: SH_TEX_W; - - chunk_key := sh_bake.chunk_keys[sh_bake.current_chunk]; - chunk := table_find_pointer(*curworld.world.chunks, chunk_key); - sh_bake.current_chunk += 1; - if chunk == null then return; - - ox, oy, oz := chunk_local_to_world(chunk_key, 0, 0, 0); - SH_PAD :: 2.0; - SH_SPACING :: (32.0 + 2.0 * SH_PAD) / n; - ptr := Tacoma.tacoma_render_sh_chunk(ctx, - cast(float) ox - SH_PAD, cast(float) oy - SH_PAD, cast(float) oz - SH_PAD, - n, SH_SPACING, sh_bake.quality); - - tex_halfs :: tex_w * n * n * 4; - packed : *u16 = cast(*u16) alloc(tex_halfs * size_of(u16)); - defer free(packed); - - src := ptr; - for pz: 0..n-1 for py: 0..n-1 for px: 0..n-1 { - probe_idx := px + py * n + pz * n * n; - s := src + probe_idx * 12; - for k: 0..2 { - tex_idx := (pz * n + py) * tex_w + (px * 3 + k); - d := packed + tex_idx * 4; - for ch: 0..3 { - (d + ch).* = f32_to_f16((s + k * 4 + ch).*); + chunks := NewArray(keys.count, Probe_Chunk,, temp); + for key, chunk_index: keys { + probes := NewArray(PROBES_PER_CHUNK, Probe); + for z: 0..N-1 for y: 0..N-1 for x: 0..N-1 { + probe := *probes[x + y * N + z * N * N]; + wx, wy, wz := chunk_local_to_world(key, xx x, xx y, xx z); + centre := baked_probe(*baked, wx, wy, wz); + if !centre { + probe.sh[0] = half_from_float(-1); + continue; } + sum : [12]float; + for 0..11 sum[it] = centre[it]; + count := 1; + for n: 0..5 { + other := baked_probe(*baked, wx + NEIGHBOURS[n * 3], wy + NEIGHBOURS[n * 3 + 1], wz + NEIGHBOURS[n * 3 + 2]); + if !other continue; + for 0..11 sum[it] += other[it]; + count += 1; + } + for 0..11 probe.sh[it] = half_from_float(sum[it] / count); } + chunks[chunk_index] = .{key, probes}; } - - tex_byte_size := cast(u64)(tex_halfs * size_of(u16)); - imgdata : sg_image_data; - imgdata.subimage[0][0] = .{packed, tex_byte_size}; - sh_desc : sg_image_desc = .{ - width = tex_w, - height = n * n, - pixel_format = sg_pixel_format.RGBA16F, - sample_count = 1, - data = imgdata, - }; - - if chunk.sh_valid sg_destroy_image(chunk.sh_probe_grid); - chunk.sh_probe_grid = sg_make_image(*sh_desc); - chunk.sh_valid = true; - chunk.sh_dirty = false; - - #if OS != .WASM { - shgrid_save_to_disk(curworld.world.name, chunk_key, ptr, n); - } - - Tacoma.tacoma_free_result(ptr); - log_info("SH baked chunk % (%/%)", chunk_key, sh_bake.current_chunk, sh_bake.chunk_keys.count); + return chunks; } -sh_bake_finish :: () { - tacoma_stop(); - array_free(sh_bake.chunk_keys); - sh_bake = .{}; - log_info("SH bake complete."); +half_from_float :: (f: float) -> u16 { + bits := (cast(*u32) *f).*; + sign := cast(u16) ((bits >> 16) & 0x8000); + exponent := cast(s32) ((bits >> 23) & 0xFF) - 127 + 15; + mantissa := bits & 0x7FFFFF; + if exponent <= 0 return sign; + if exponent >= 31 return sign | 0x7BFF; + half := sign | cast(u16) (exponent << 10) | cast(u16) (mantissa >> 13); + if mantissa & 0x1000 half += 1; + return half; } -shgrid_save_to_disk :: (world_name: string, chunk_key: Chunk_Key, data: *float, probe_n: s32) { - #if OS != .WASM { - file :: #import "File"; - path := shgrid_filename(world_name, chunk_key); - - builder : String_Builder; - header := SH_Grid_File_Header.{ - magic = SH_FILE_MAGIC, - version = 2, - probe_n = probe_n, - }; - write_bytes(*builder, *header, size_of(SH_Grid_File_Header)); - total_values := cast(s64) probe_n * probe_n * probe_n * 12; - halves := NewArray(total_values, u16,, temp); - for i: 0..total_values-1 halves[i] = f32_to_f16(data[i]); - write_bytes(*builder, halves.data, total_values * size_of(u16)); - file.write_entire_file(path, builder_to_string(*builder)); - } -} - -rdm_save_global_atlas_to_disk :: (bake: *RDM_Global_Bake) { - #if OS != .WASM { - file :: #import "File"; - curworld := get_current_world(); - if !curworld.valid then return; - path := rdm_global_atlas_filename(curworld.world.name); - - builder : String_Builder; - header := RDM_File_Header.{ - magic = RDM_FILE_MAGIC, - width = bake.width, - height = bake.height, - }; - write_bytes(*builder, *header, size_of(RDM_File_Header)); - // Convert RGBA32F → RGBA16F for the on-disk atlas. - pixel_count := cast(s64) bake.width * cast(s64) bake.height * 4; - halves := NewArray(pixel_count, u16,, temp); - for i: 0..pixel_count - 1 halves[i] = f32_to_f16(bake.data[i]); - write_bytes(*builder, halves.data, pixel_count * size_of(u16)); - file.write_entire_file(path, builder_to_string(*builder)); - log_info("Saved RDM global atlas: %", path); - } -} - -rdm_save_global_manifest_to_disk :: (world_name: string, entries: []Rdm_Atlas_Entry) { - #if OS != .WASM { - file :: #import "File"; - path := rdm_global_manifest_filename(world_name); - s := Jaison.json_write_string(entries); - file.write_entire_file(path, s); - log_info("Saved RDM manifest: % (% entries)", path, entries.count); - } -} - - diff --git a/src/editor/trile_editor.jai b/src/editor/trile_editor.jai index dee196c..d8ccd16 100644 --- a/src/editor/trile_editor.jai +++ b/src/editor/trile_editor.jai @@ -23,6 +23,7 @@ Trile_Editor_Tool :: enum { PAINT; ADD; REMOVE; + PICK; // takes the clicked trixel's material } Trile_Editor_Tool_Mode :: enum { @@ -57,6 +58,9 @@ ntrile :: (name: string) { trile_changed(editor_current_trile); newt : Trile; newt.name = sprint("%", name); + swatch := current_swatch; + if !g_swatches[swatch].used swatch = first_used_swatch(); + trile_fill(*newt, swatch); set_trile(newt.name, newt); editor_current_trile = get_trile(newt.name); trile_gen_heightmap(editor_current_trile); @@ -134,6 +138,10 @@ area_active : bool; handle_tool_click :: () { if hovered_trixel_x < 0 && hovered_trixel_y < 0 && hovered_trixel_z < 0 then return; + if current_tool == .PICK { + current_swatch = editor_current_trile.trixels[hovered_trixel_x][hovered_trixel_y][hovered_trixel_z]; + return; + } if current_mode == .POINT { push_undo(); if current_tool == .ADD { @@ -318,7 +326,9 @@ draw_tool_tab :: (theme: *GR.Overall_Theme, area: GR.Rect) { if keybind_button(r, "Add", .TRIXEL_TOOL_ADD, *t_button_selectable(theme, current_tool == .ADD)) then current_tool = .ADD; r.y += r.h; if keybind_button(r, "Remove", .TRIXEL_TOOL_REMOVE, *t_button_selectable(theme, current_tool == .REMOVE)) then current_tool = .REMOVE; - r.y += r.h * 3; + r.y += r.h; + if keybind_button(r, "Pick material", .TRIXEL_TOOL_PICK, *t_button_selectable(theme, current_tool == .PICK)) then current_tool = .PICK; + r.y += r.h * 2; if keybind_button(r, "Point", .TRIXEL_MODE_POINT, *t_button_selectable(theme, current_mode == .POINT)) then current_mode = .POINT; r.y += r.h; if keybind_button(r, "Area", .TRIXEL_MODE_AREA, *t_button_selectable(theme, current_mode == .AREA)) then current_mode = .AREA; @@ -336,9 +346,35 @@ draw_tool_tab :: (theme: *GR.Overall_Theme, area: GR.Rect) { } draw_material_tab :: (theme: *GR.Overall_Theme, area: GR.Rect) { - region, inside := GR.begin_scrollable_region(area, *theme.scrollable_region_theme); + row_h := ui_h(3, 2); + r := area; + r.h = row_h; + GR.label(r, tprint("Selected %", swatch_label(current_swatch)), *t_label_left(theme)); + r.y += row_h; + hovered := "-"; + if editor_current_trile && hovered_trixel_x >= 0 { + hovered = swatch_label(editor_current_trile.trixels[hovered_trixel_x][hovered_trixel_y][hovered_trixel_z]); + } + GR.label(r, tprint("Hovered %", hovered), *t_label_left(theme)); + r.y += row_h * 1.5; + + grid := r; + grid.h = ui_h(30, 0); + region, inside := GR.begin_scrollable_region(grid, *theme.scrollable_region_theme); end_y := draw_swatch_grid(inside, *swatch_scroll, *current_swatch, theme); GR.end_scrollable_region(region, inside.x + inside.w, end_y, *swatch_scroll); + r.y += grid.h + row_h * 0.5; + + if !editor_current_trile return; + GR.label(r, "In this trile (click to select)", *t_label_left(theme)); + r.y += row_h; + counts := trile_swatch_counts(editor_current_trile); + for count, id: counts { + if count == 0 continue; + btn := t_button_selectable(theme, current_swatch == id); + if GR.button(r, tprint("% (%)", swatch_label(xx id), count), *btn, 1000 + id) current_swatch = xx id; + r.y += row_h; + } } // Shared with the material studio. Returns the bottom of the grid. @@ -436,6 +472,16 @@ draw_meta_tab :: (theme: *GR.Overall_Theme, area: GR.Rect) { r.y += row_h; changed = GR.base_checkbox(r, "Is stairs", editor_current_trile.is_stairs, *theme.checkbox_theme); if changed editor_current_trile.is_stairs = !editor_current_trile.is_stairs; + r.y += row_h; + for cut: Trile_Cut.[.ROOF, .WALL] { + label := ifx cut == .ROOF then "Roof (hidden from below)" else "Wall (cut away toward camera)"; + if GR.base_checkbox(r, label, editor_current_trile.cut == cut, *theme.checkbox_theme, xx cut) { + editor_current_trile.cut = ifx editor_current_trile.cut == cut then .NONE else cut; + trile_changed(editor_current_trile); + } + r.y += row_h; + } + r.y -= row_h; r.y += row_h * 2; r.h = row_h; diff --git a/src/input/keybinds.jai b/src/input/keybinds.jai index 9ec4974..2fa17e0 100644 --- a/src/input/keybinds.jai +++ b/src/input/keybinds.jai @@ -48,6 +48,7 @@ Editor_Action :: enum { // Trile editor — undo/redo TRIXEL_UNDO; TRIXEL_REDO; + TRIXEL_TOOL_PICK; } #scope_file; @@ -217,4 +218,5 @@ set_default_bindings :: () { set(.TRIXEL_TILING_ROTATE, cast(Key_Code) #char "R"); set(.TRIXEL_UNDO, cast(Key_Code) #char "Z", ctrl = true); set(.TRIXEL_REDO, cast(Key_Code) #char "Y", ctrl = true); + set(.TRIXEL_TOOL_PICK, cast(Key_Code) #char "K"); } diff --git a/src/main.jai b/src/main.jai index 5016fd9..7b8168a 100644 --- a/src/main.jai +++ b/src/main.jai @@ -140,7 +140,9 @@ init_after_core :: () { ltriles(); tt := get_trile_table_ptr(); if tt.count == 0 { - set_trile("test", Trile.{}); + test : Trile; + trile_fill(*test, first_used_swatch()); + set_trile("test", test); } else { name : string; for v : tt { diff --git a/src/particles/particles.jai b/src/particles/particles.jai index 4c3db06..a155619 100644 --- a/src/particles/particles.jai +++ b/src/particles/particles.jai @@ -19,6 +19,7 @@ Particle_Emitter_Config :: struct { color_start : Vector4 = .{1, 1, 1, 1}; color_end : Vector4 = .{1, 1, 1, 0}; gravity : float = 2.0; + glow : float; // 0..1, like swatch emittance blend_mode : Particle_Blend_Mode = .ADDITIVE; } @@ -152,6 +153,7 @@ draw_live_particles :: (view: View_Id) { cast(float)f.h / cast(float)anim.sheet_h, }, color = lerp_color(def.color_start, def.color_end, t), + glow = def.glow, }); } diff --git a/src/renderer_sokol/billboards.jai b/src/renderer_sokol/billboards.jai deleted file mode 100644 index 01f4314..0000000 --- a/src/renderer_sokol/billboards.jai +++ /dev/null @@ -1,59 +0,0 @@ -billboards_init :: () { - desc := pipeline_desc(billboard_shader_desc(sg_query_backend()), .VIEW, depth_write = true); - desc.layout.buffers[0].step_func = .PER_INSTANCE; - desc.layout.attrs[ATTR_billboard_center] = .{ format = .FLOAT3 }; - desc.layout.attrs[ATTR_billboard_size] = .{ format = .FLOAT2 }; - desc.layout.attrs[ATTR_billboard_uv_rect] = .{ format = .FLOAT4 }; - desc.layout.attrs[ATTR_billboard_face] = .{ format = .FLOAT3 }; - billboards.pipeline = sg_make_pipeline(*desc); -} - -billboards_upload :: (scene: *Scene) { - array_reset_keeping_memory(*billboards.instances); - array_reset_keeping_memory(*billboards.batches); - - draws : [..]Keyed(Instance); - draws.allocator = temp; - for view_index: 0..scene.views.count-1 { - array_reset_keeping_memory(*draws); - for scene.billboards { - if it.view.index != view_index continue; - array_add(*draws, .{it.sheet.id, .{it.position, it.size, it.uv_rect, it.face}}); - } - batch_instances(view_index, draws, *billboards.batches, *billboards.instances); - } - stream_upload(*billboards.stream, billboards.instances); -} - -billboards_draw :: (pass: *Pass) { - sg_apply_pipeline(billboards.pipeline); - apply_uniforms(UB_view_params, *pass.params); - - for billboards.batches { - if it.view_index != pass.view_index continue; - - bind : sg_bindings; - bind.vertex_buffers[0] = billboards.stream.buffer; - bind.vertex_buffer_offsets[0] = it.first * size_of(Instance); - bind.images[IMG_sprite] = texture_image(xx it.key); - bind.samplers[SMP_sprite_smp] = samplers.nearest_clamp; - sg_apply_bindings(*bind); - sg_draw(0, 6, it.count); - } -} - -#scope_file - -Instance :: struct { - center : Vector3; - size : Vector2; - uv_rect : Vector4; - face : Vector3; -} - -billboards : struct { - pipeline : sg_pipeline; - instances : [..]Instance; - batches : [..]Batch; - stream : Stream_Buffer; -} diff --git a/src/renderer_sokol/gpu.jai b/src/renderer_sokol/gpu.jai index ae6bf7a..645f2ca 100644 --- a/src/renderer_sokol/gpu.jai +++ b/src/renderer_sokol/gpu.jai @@ -1,5 +1,9 @@ -VIEW_COLOR_FORMAT :: sg_pixel_format.RGBA8; +// Float, so brightness above 1 survives until post-processing. +VIEW_COLOR_FORMAT :: sg_pixel_format.RGBA16F; VIEW_DEPTH_FORMAT :: sg_pixel_format.DEPTH; +VIEW_SCENE_FORMAT :: sg_pixel_format.R32F; +VIEW_GLOW_FORMAT :: sg_pixel_format.R16F; +SHADOW_TINT_FORMAT :: sg_pixel_format.RGBA8; // how strongly each pixel blooms, can exceed 1 ALPHA_BLEND :: sg_blend_state.{ enabled = true, @@ -7,61 +11,123 @@ ALPHA_BLEND :: sg_blend_state.{ dst_factor_rgb = .ONE_MINUS_SRC_ALPHA, }; +MULTIPLY_BLEND :: sg_blend_state.{ + enabled = true, + src_factor_rgb = .DST_COLOR, + dst_factor_rgb = .ZERO, +}; + +ADDITIVE_BLEND :: sg_blend_state.{ + enabled = true, + src_factor_rgb = .SRC_ALPHA, + dst_factor_rgb = .ONE, +}; + Pipeline_Target :: enum { SCREEN; - VIEW; + VIEW_OPAQUE; + VIEW_TRANSPARENT; + SHADOW; + POST; // colour only, view format } samplers : struct { nearest_clamp : sg_sampler; linear_clamp : sg_sampler; linear_repeat : sg_sampler; + shadow : sg_sampler; } samplers_init :: () { samplers.nearest_clamp = sg_make_sampler(*(sg_sampler_desc.{ min_filter = .NEAREST, mag_filter = .NEAREST, wrap_u = .CLAMP_TO_EDGE, wrap_v = .CLAMP_TO_EDGE })); samplers.linear_clamp = sg_make_sampler(*(sg_sampler_desc.{ min_filter = .LINEAR, mag_filter = .LINEAR, wrap_u = .CLAMP_TO_EDGE, wrap_v = .CLAMP_TO_EDGE })); samplers.linear_repeat = sg_make_sampler(*(sg_sampler_desc.{ min_filter = .LINEAR, mag_filter = .LINEAR, wrap_u = .REPEAT, wrap_v = .REPEAT })); + samplers.shadow = sg_make_sampler(*(sg_sampler_desc.{ min_filter = .NEAREST, mag_filter = .NEAREST, wrap_u = .CLAMP_TO_EDGE, wrap_v = .CLAMP_TO_EDGE, compare = .LESS_EQUAL })); } // Vertex layout and anything else specific is filled in by the caller. -pipeline_desc :: (shader: sg_shader_desc, target: Pipeline_Target, blend := false, depth_write := false) -> sg_pipeline_desc { +pipeline_desc :: (shader: sg_shader_desc, target: Pipeline_Target, blend := sg_blend_state.{}, depth_write := false) -> sg_pipeline_desc { shader_desc := shader; desc : sg_pipeline_desc; desc.shader = sg_make_shader(*shader_desc); - if blend desc.colors[0].blend = ALPHA_BLEND; - if target == .VIEW { + desc.colors[0].blend = blend; + if target != .SCREEN { desc.colors[0].pixel_format = VIEW_COLOR_FORMAT; desc.depth.pixel_format = VIEW_DEPTH_FORMAT; desc.depth.compare = .LESS_EQUAL; desc.depth.write_enabled = depth_write; desc.sample_count = 1; } + // Glow is attachment 1 in both view passes, blended like colour. + if target == .VIEW_OPAQUE || target == .VIEW_TRANSPARENT { + desc.color_count = 2; + desc.colors[1].pixel_format = VIEW_GLOW_FORMAT; + desc.colors[1].blend = blend; + } + if target == .VIEW_OPAQUE { + desc.color_count = 3; + desc.colors[2].pixel_format = VIEW_SCENE_FORMAT; + } + // Shadow casters write depth only; glass turns the tint back on. + if target == .SHADOW { + desc.colors[0].pixel_format = SHADOW_TINT_FORMAT; + desc.colors[0].write_mask = .NONE; + } + if target == .POST desc.depth.pixel_format = .NONE; return desc; } +Pass_Kind :: enum { + MAIN; + REFLECTION; + SHADOW; +} + Pass :: struct { scene : *Scene; view_index : int; view : View; - reflection : bool; + kind : Pass_Kind; params : View_Params; + shadow : Shadow_Params; } -make_pass :: (scene: *Scene, view_index: int, reflection: bool) -> Pass { - pass := Pass.{ scene = scene, view_index = view_index, view = scene.views[view_index], reflection = reflection }; - height := ifx pass.view.environment then pass.view.environment.reflection_height else 0; +make_pass :: (scene: *Scene, view_index: int, kind: Pass_Kind) -> Pass { + pass := Pass.{ scene = scene, view_index = view_index, view = scene.views[view_index], kind = kind }; + env := view_environment(pass.view); + height := env.reflection_height; camera := pass.view.camera.position; view_proj := scene.view_proj[view_index]; pass.params.clip = .[0, 0, 0, 1]; - if reflection { + if kind == .REFLECTION { camera.y = 2 * height - camera.y; view_proj = scene.reflection_view_proj[view_index]; pass.params.clip = .[0, 1, 0, -height]; } - pass.params.view_proj = view_proj.floats; + if kind == .SHADOW { + // Camera-facing billboards turn to the sun, so they cast their full silhouette. + camera = pass.view.camera.target + env.sun_direction * 1000; + view_proj = scene.shadow_view_proj[view_index]; + } + _, inv_view_proj := inverse(view_proj); + pass.params.view_proj = view_proj.floats; + pass.params.inv_view_proj = inv_view_proj.floats; pass.params.camera = .[camera.x, camera.y, camera.z, scene.time]; + pass.params.sun_direction = .[env.sun_direction.x, env.sun_direction.y, env.sun_direction.z, 0]; + pass.params.sun_color = .[env.sun_color.x, env.sun_color.y, env.sun_color.z, 0]; + pass.params.shade_color = .[env.shade_color.x, env.shade_color.y, env.shade_color.z, 0]; + + // From shadow clip space to shadow map uv and stored depth, which differ per backend. + gl := sg_query_backend() == .GLCORE || sg_query_backend() == .GLES3; + flip := sg_query_features().origin_top_left; + to_uv := Matrix4.{ + 0.5, 0, 0, 0.5, + 0, ifx flip then -0.5 else 0.5, 0, 0.5, + 0, 0, ifx gl then 0.5 else 1, ifx gl then 0.5 else 0, + 0, 0, 0, 1, + }; + pass.shadow.shadow_uv = (scene.shadow_view_proj[view_index] * transpose(to_uv)).floats; return pass; } @@ -133,3 +199,14 @@ batch_instances :: (view_index: int, draws: []Keyed($I), batches: *[..]Batch, in batches.*[batches.count - 1].count += 1; } } + +bind_shadow :: (pass: *Pass, bind: *sg_bindings) { + bind.images[IMG_shadow_map] = view_shadow_image(pass.view_index); + bind.samplers[SMP_shadow_smp] = samplers.shadow; + bind.images[IMG_shadow_tint] = view_shadow_tint_image(pass.view_index); + bind.samplers[SMP_shadow_tint_smp] = samplers.nearest_clamp; +} + +view_environment :: (view: View) -> Environment { + return ifx view.environment then view.environment.* else .{}; +} diff --git a/src/renderer_sokol/lines.jai b/src/renderer_sokol/lines.jai new file mode 100644 index 0000000..19f282b --- /dev/null +++ b/src/renderer_sokol/lines.jai @@ -0,0 +1,49 @@ +lines_init :: () { + make :: (depth_test: bool) -> sg_pipeline { + desc := pipeline_desc(line_shader_desc(sg_query_backend()), .VIEW_TRANSPARENT, ALPHA_BLEND); + desc.layout.buffers[0].step_func = .PER_INSTANCE; + desc.layout.attrs[ATTR_line_a] = .{ format = .FLOAT3 }; + desc.layout.attrs[ATTR_line_b] = .{ format = .FLOAT3 }; + desc.layout.attrs[ATTR_line_color] = .{ format = .FLOAT4 }; + desc.layout.attrs[ATTR_line_width] = .{ format = .FLOAT }; + if !depth_test desc.depth.compare = .ALWAYS; + return sg_make_pipeline(*desc); + } + lines.depth_tested = make(true); + lines.overlay = make(false); +} + +lines_upload :: (scene: *Scene) { + array_reset_keeping_memory(*lines.all); + array_add(*lines.all, ..scene.debug_lines); + array_add(*lines.all, ..scene.overlay_lines); + stream_upload(*lines.stream, lines.all); +} + +lines_draw :: (pass: *Pass, width: s32, height: s32) { + if pass.kind != .MAIN return; + params := Line_Params.{ viewport = .[width * 0.5, height * 0.5] }; + + draw :: (pipeline: sg_pipeline, first: int, count: int) #expand { + if count == 0 return; + sg_apply_pipeline(pipeline); + apply_uniforms(UB_view_params, *pass.params); + apply_uniforms(UB_line_params, *params); + bind : sg_bindings; + bind.vertex_buffers[0] = lines.stream.buffer; + bind.vertex_buffer_offsets[0] = xx (first * size_of(Debug_Line)); + sg_apply_bindings(*bind); + sg_draw(0, 6, xx count); + } + draw(lines.depth_tested, 0, pass.scene.debug_lines.count); + draw(lines.overlay, pass.scene.debug_lines.count, pass.scene.overlay_lines.count); +} + +#scope_file + +lines : struct { + depth_tested : sg_pipeline; + overlay : sg_pipeline; + all : [..]Debug_Line; + stream : Stream_Buffer; +} diff --git a/src/renderer_sokol/probes.jai b/src/renderer_sokol/probes.jai new file mode 100644 index 0000000..350e063 --- /dev/null +++ b/src/renderer_sokol/probes.jai @@ -0,0 +1,107 @@ +// Each chunk's probes are a brick in one 3D atlas, found through an index +// texture with one texel per chunk. The trile shader filters them itself. + +PROBE_BRICKS_PER_COLUMN :: 16; // bricks stack along y, then the next column along z + +probes_init :: () { + zero : [8]u8; + probes.empty_index = make_volume(1, 1, 1, .RGBA8, .{4, zero.data}); + probes.empty_atlas = make_volume(1, 1, 1, .RGBA16F, .{8, zero.data}); + probes.index = probes.empty_index; + probes.atlas = probes.empty_atlas; +} + +renderer_probes_set :: (key: Chunk_Key, data: []Probe) { + brick := table_find_pointer(*probes.bricks, key); + if brick array_free(brick.*); + else brick = table_set(*probes.bricks, key, .[]); + brick.* = array_copy(data); + probes.dirty = true; +} + +renderer_probes_clear :: () { + for probes.bricks array_free(it); + table_reset(*probes.bricks); + probes.dirty = true; +} + +probes_upload :: () { + if !probes.dirty return; + probes.dirty = false; + if probes.index.id != probes.empty_index.id sg_destroy_image(probes.index); + if probes.atlas.id != probes.empty_atlas.id sg_destroy_image(probes.atlas); + probes.index = probes.empty_index; + probes.atlas = probes.empty_atlas; + probes.min = .[0, 0, 0, 0]; + probes.size = .[0, 0, 0, 0]; + count := probes.bricks.count; + if !count return; + + lo := Chunk_Key.{S32_MAX, S32_MAX, S32_MAX}; + hi := Chunk_Key.{S32_MIN, S32_MIN, S32_MIN}; + for probes.bricks { + lo = .{min(lo.x, it_index.x), min(lo.y, it_index.y), min(lo.z, it_index.z)}; + hi = .{max(hi.x, it_index.x), max(hi.y, it_index.y), max(hi.z, it_index.z)}; + } + size := s32.[hi.x - lo.x + 1, hi.y - lo.y + 1, hi.z - lo.z + 1]; + index := NewArray(size[0] * size[1] * size[2] * 4, u8,, temp); + + N :: CHUNK_SIZE; + columns := min(count, PROBE_BRICKS_PER_COLUMN); + layers := (count + PROBE_BRICKS_PER_COLUMN - 1) / PROBE_BRICKS_PER_COLUMN; + atlas_w, atlas_h, atlas_d := N * 3, N * columns, N * layers; + atlas := NewArray(atlas_w * atlas_h * atlas_d * 4, u16,, temp); + + brick_index := 0; + for brick, key: probes.bricks { + number := brick_index + 1; + i := ((key.z - lo.z) * size[1] + (key.y - lo.y)) * size[0] + (key.x - lo.x); + index[i * 4 + 0] = xx (number & 0xFF); + index[i * 4 + 1] = xx (number >> 8); + + y0 := (brick_index % PROBE_BRICKS_PER_COLUMN) * N; + z0 := (brick_index / PROBE_BRICKS_PER_COLUMN) * N; + for z: 0..N-1 for y: 0..N-1 for x: 0..N-1 { + probe := *brick[x + y * N + z * N * N]; + row := ((z0 + z) * atlas_h + (y0 + y)) * atlas_w + x * 3; + memcpy(*atlas[row * 4], probe.sh.data, size_of(Probe)); + } + brick_index += 1; + } + + probes.index = make_volume(size[0], size[1], size[2], .RGBA8, index); + probes.atlas = make_volume(xx atlas_w, xx atlas_h, xx atlas_d, .RGBA16F, .{atlas.count * size_of(u16), xx atlas.data}); + probes.min = .[xx lo.x, xx lo.y, xx lo.z, 1]; + probes.size = .[xx size[0], xx size[1], xx size[2], 0]; +} + +probes_set_params :: (params: *Trile_Fs_Params) { + params.probe_min = probes.min; + params.probe_size = probes.size; +} + +probes_bind :: (bind: *sg_bindings) { + bind.images[IMG_probe_index] = probes.index; + bind.images[IMG_probe_atlas] = probes.atlas; + bind.samplers[SMP_probe_smp] = samplers.nearest_clamp; +} + +#scope_file + +probes : struct { + bricks : Table(Chunk_Key, []Probe, chunk_key_hash, chunk_key_compare); + dirty : bool; + + index : sg_image; + atlas : sg_image; + empty_index : sg_image; + empty_atlas : sg_image; + min : [4]float; // first chunk in the index; w = 1 when there are probes + size : [4]float; // index size in chunks +} + +make_volume :: (width: s32, height: s32, depth: s32, format: sg_pixel_format, data: []u8) -> sg_image { + desc := sg_image_desc.{ type = ._3D, width = width, height = height, num_slices = depth, pixel_format = format }; + desc.data.subimage[0][0] = .{ data.data, xx data.count }; + return sg_make_image(*desc); +} diff --git a/src/renderer_sokol/renderer.jai b/src/renderer_sokol/renderer.jai index b816c2c..8aa1c8e 100644 --- a/src/renderer_sokol/renderer.jai +++ b/src/renderer_sokol/renderer.jai @@ -6,14 +6,21 @@ #load "gpu.jai"; #load "ui.jai"; #load "triles.jai"; +#load "probes.jai"; #load "views.jai"; #load "water.jai"; -#load "billboards.jai"; +#load "sprites.jai"; +#load "sky.jai"; +#load "lines.jai"; renderer_init :: (orientations: [ORIENTATION_COUNT]Matrix3) { sg_setup(*(sg_desc.{ environment = cast,force(sg_environment) sglue_environment(), logger = .{ func = slog_func }, + // Each view holds 10 attachments and 15 images; each trile mesh 2 buffers. + attachments_pool_size = 64, + image_pool_size = 512, + buffer_pool_size = 1024, })); white := u8.[255, 255, 255, 255]; @@ -22,9 +29,12 @@ renderer_init :: (orientations: [ORIENTATION_COUNT]Matrix3) { samplers_init(); ui_init(); triles_init(orientations); + probes_init(); views_init(); water_init(); - billboards_init(); + sprites_init(); + sky_init(); + lines_init(); } renderer_shutdown :: () { @@ -54,24 +64,42 @@ renderer_texture_destroy :: (id: u32) { renderer_render :: (scene: *Scene, width: s32, height: s32) { triles_upload(scene); - billboards_upload(scene); + probes_upload(); + sprites_upload(scene); + lines_upload(scene); ui_upload(scene); for view, view_index: scene.views { - for reflection: bool.[true, false] { - pass := make_pass(scene, view_index, reflection); - view_begin_pass(view_index, width, height, reflection); + shadow := make_pass(scene, view_index, .SHADOW); + view_begin_shadow_pass(view_index); + triles_draw(*shadow); + sprites_draw(*shadow, transparent = false); + triles_draw_glass_shadow(*shadow); + sg_end_pass(); + + for kind: Pass_Kind.[.REFLECTION, .MAIN] { + pass := make_pass(scene, view_index, kind); + + view_begin_pass(view_index, width, height, kind, opaque = true); + sky_draw(*pass); + water_draw_floor(*pass); triles_draw(*pass); - billboards_draw(*pass); + sprites_draw(*pass, transparent = false); + sg_end_pass(); + + view_begin_pass(view_index, width, height, kind, opaque = false); water_draw(*pass); + sprites_draw(*pass, transparent = true); + lines_draw(*pass, width, height); sg_end_pass(); } + view_bloom(view_index); } action : sg_pass_action; action.colors[0] = .{ load_action = .CLEAR, clear_value = .{0, 0, 0, 1} }; sg_begin_pass(*(sg_pass.{ action = action, swapchain = cast,force(sg_swapchain) sglue_swapchain() })); - for scene.views view_composite(it_index); + for scene.views view_composite(it_index, view_environment(it)); ui_draw(scene, width, height); sg_end_pass(); sg_commit(); diff --git a/src/renderer_sokol/shaders/billboard.glsl b/src/renderer_sokol/shaders/billboard.glsl deleted file mode 100644 index e28e27d..0000000 --- a/src/renderer_sokol/shaders/billboard.glsl +++ /dev/null @@ -1,43 +0,0 @@ -@vs vs_billboard -@include_block view -@include_block quad - -in vec3 center; // bottom middle -in vec2 size; -in vec4 uv_rect; -in vec3 face; - -out float v_clip; -out vec2 v_uv; - -void main() { - vec2 c = quad_corner(gl_VertexIndex); - vec3 look = face; - if (face.x < -10.0) look = vec3(center.x - camera.x, 0.0, center.z - camera.z); - if (dot(look.xz, look.xz) < 0.0001) look = vec3(0.0, 0.0, 1.0); - vec3 right = normalize(cross(vec3(0.0, 1.0, 0.0), look)); - - vec3 world = center + right * ((c.x - 0.5) * size.x) + vec3(0.0, c.y * size.y, 0.0); - gl_Position = view_proj * vec4(world, 1.0); - v_clip = dot(vec4(world, 1.0), clip); - v_uv = vec2(uv_rect.x + c.x * uv_rect.z, uv_rect.y + (1.0 - c.y) * uv_rect.w); -} -@end - -@fs fs_billboard -in float v_clip; -in vec2 v_uv; -out vec4 frag_color; - -layout(binding=0) uniform texture2D sprite; -layout(binding=0) uniform sampler sprite_smp; - -void main() { - if (v_clip < 0.0) discard; - vec4 sampled = texture(sampler2D(sprite, sprite_smp), v_uv); - if (sampled.a < 0.01) discard; - frag_color = vec4(sampled.rgb, 1.0); -} -@end - -@program billboard vs_billboard fs_billboard diff --git a/src/renderer_sokol/shaders/common.glsl b/src/renderer_sokol/shaders/common.glsl index 210591c..4c82e61 100644 --- a/src/renderer_sokol/shaders/common.glsl +++ b/src/renderer_sokol/shaders/common.glsl @@ -1,8 +1,12 @@ @block view layout(binding=0) uniform view_params { mat4 view_proj; + mat4 inv_view_proj; vec4 camera; // xyz = position, w = time vec4 clip; // plane; geometry on its negative side is dropped + vec4 sun_direction; + vec4 sun_color; + vec4 shade_color; }; @end @@ -12,3 +16,61 @@ vec2 quad_corner(int vertex_index) { return corners[vertex_index]; } @end + +// Opaque passes also write how much each pixel glows, and its distance from the +// camera for water depth. +@block scene_out +layout(location=0) out vec4 frag_color; +layout(location=1) out vec4 frag_glow; +layout(location=2) out vec4 frag_scene; +void write_scene(vec3 to_camera, float glow) { + frag_glow = vec4(glow); + frag_scene = vec4(length(to_camera)); +} +@end + +// Transparent passes blend glow with the same alpha as colour. +@block transparent_out +layout(location=0) out vec4 frag_color; +layout(location=1) out vec4 frag_glow; +void write_transparent(vec4 color, float glow) { + frag_color = color; + frag_glow = vec4(glow, 0.0, 0.0, color.a); +} +@end + +@block emissive +const float EMISSIVE_GLOW = 8.0; // bloom strength of something fully emissive +@end + +@block shadow +layout(binding=3) uniform shadow_params { + mat4 shadow_uv; // world to shadow map uv and depth +}; +layout(binding=7) uniform texture2D shadow_map; +layout(binding=7) uniform sampler shadow_smp; +layout(binding=8) uniform texture2D shadow_tint; // what colour glass gave the sunlight +layout(binding=8) uniform sampler shadow_tint_smp; +@image_sample_type shadow_map depth +@sampler_type shadow_smp comparison + +float brightest(vec3 c) { return max(c.r, max(c.g, c.b)); } + +// White in sunlight, black in shadow, coloured behind glass. Looked up at the +// centre of the trixel face, so shadow edges follow the trixel grid. +vec3 sun_shadow(vec3 world, vec3 normal) { + vec3 half_trixel = normal * (0.5 / 16.0); + vec3 face = (floor((world - half_trixel) * 16.0) + 0.5) / 16.0 + half_trixel; + vec4 p = shadow_uv * vec4(face + normal * 0.02, 1.0); + if (p.x < 0.0 || p.x > 1.0 || p.y < 0.0 || p.y > 1.0 || p.z > 1.0) return vec3(1.0); + float visible = texture(sampler2DShadow(shadow_map, shadow_smp), vec3(p.xy, p.z - 0.0005)); + return visible * texture(sampler2D(shadow_tint, shadow_tint_smp), p.xy).rgb; +} +@end + +@block fullscreen +// Clip-space corner of a triangle that covers the screen, for vertices 0..2. +vec2 fullscreen_position(int vertex_index) { + return vec2((vertex_index << 1) & 2, vertex_index & 2) * 2.0 - 1.0; +} +@end diff --git a/src/renderer_sokol/shaders/composite.glsl b/src/renderer_sokol/shaders/composite.glsl deleted file mode 100644 index 20e43da..0000000 --- a/src/renderer_sokol/shaders/composite.glsl +++ /dev/null @@ -1,27 +0,0 @@ -@vs vs_composite -layout(binding=0) uniform composite_vs_params { - float flip_y; -}; - -out vec2 v_uv; - -void main() { - vec2 p = vec2((gl_VertexIndex << 1) & 2, gl_VertexIndex & 2); - v_uv = vec2(p.x, mix(p.y, 1.0 - p.y, flip_y)); - gl_Position = vec4(p * 2.0 - 1.0, 0.0, 1.0); -} -@end - -@fs fs_composite -in vec2 v_uv; -out vec4 frag_color; - -layout(binding=0) uniform texture2D view_color; -layout(binding=0) uniform sampler composite_smp; - -void main() { - frag_color = texture(sampler2D(view_color, composite_smp), v_uv); -} -@end - -@program composite vs_composite fs_composite diff --git a/src/renderer_sokol/shaders/jai/shaders.jai b/src/renderer_sokol/shaders/jai/shaders.jai index 23c83fc..0bc811f 100644 --- a/src/renderer_sokol/shaders/jai/shaders.jai +++ b/src/renderer_sokol/shaders/jai/shaders.jai @@ -8,30 +8,103 @@ Overview: ========= - Shader program: 'billboard': - Get shader desc: billboard_shader_desc(sg_query_backend()) - Vertex Shader: vs_billboard - Fragment Shader: fs_billboard + Shader program: 'bloom_down': + Get shader desc: bloom_down_shader_desc(sg_query_backend()) + Vertex Shader: vs_fullscreen + Fragment Shader: fs_bloom_down Attributes: - ATTR_billboard_center => 0 - ATTR_billboard_size => 1 - ATTR_billboard_uv_rect => 2 - ATTR_billboard_face => 3 - Shader program: 'composite': - Get shader desc: composite_shader_desc(sg_query_backend()) - Vertex Shader: vs_composite - Fragment Shader: fs_composite + Shader program: 'bloom_glow': + Get shader desc: bloom_glow_shader_desc(sg_query_backend()) + Vertex Shader: vs_fullscreen + Fragment Shader: fs_bloom_glow Attributes: + Shader program: 'bloom_up': + Get shader desc: bloom_up_shader_desc(sg_query_backend()) + Vertex Shader: vs_fullscreen + Fragment Shader: fs_bloom_up + Attributes: + Shader program: 'line': + Get shader desc: line_shader_desc(sg_query_backend()) + Vertex Shader: vs_line + Fragment Shader: fs_line + Attributes: + ATTR_line_a => 0 + ATTR_line_b => 1 + ATTR_line_color => 2 + ATTR_line_width => 3 + Shader program: 'particle': + Get shader desc: particle_shader_desc(sg_query_backend()) + Vertex Shader: vs_sprite + Fragment Shader: fs_particle + Attributes: + ATTR_particle_center => 0 + ATTR_particle_size => 1 + ATTR_particle_uv_rect => 2 + ATTR_particle_face => 3 + ATTR_particle_color => 4 + ATTR_particle_glow => 5 + Shader program: 'post': + Get shader desc: post_shader_desc(sg_query_backend()) + Vertex Shader: vs_fullscreen + Fragment Shader: fs_post + Attributes: + Shader program: 'sky': + Get shader desc: sky_shader_desc(sg_query_backend()) + Vertex Shader: vs_sky + Fragment Shader: fs_sky + Attributes: + Shader program: 'sprite': + Get shader desc: sprite_shader_desc(sg_query_backend()) + Vertex Shader: vs_sprite + Fragment Shader: fs_sprite + Attributes: + ATTR_sprite_center => 0 + ATTR_sprite_size => 1 + ATTR_sprite_uv_rect => 2 + ATTR_sprite_face => 3 + ATTR_sprite_color => 4 + ATTR_sprite_glow => 5 + Shader program: 'sprite_shadow': + Get shader desc: sprite_shadow_shader_desc(sg_query_backend()) + Vertex Shader: vs_sprite + Fragment Shader: fs_sprite_shadow + Attributes: + ATTR_sprite_shadow_center => 0 + ATTR_sprite_shadow_size => 1 + ATTR_sprite_shadow_uv_rect => 2 + ATTR_sprite_shadow_face => 3 + ATTR_sprite_shadow_color => 4 + ATTR_sprite_shadow_glow => 5 Shader program: 'trile': Get shader desc: trile_shader_desc(sg_query_backend()) Vertex Shader: vs_trile Fragment Shader: fs_trile Attributes: ATTR_trile_position => 0 - ATTR_trile_swatch => 1 - ATTR_trile_ao => 2 - ATTR_trile_instance => 3 - ATTR_trile_tint => 4 + ATTR_trile_data_n => 1 + ATTR_trile_instance => 2 + ATTR_trile_tint => 3 + ATTR_trile_cut => 4 + Shader program: 'trile_glass_shadow': + Get shader desc: trile_glass_shadow_shader_desc(sg_query_backend()) + Vertex Shader: vs_trile + Fragment Shader: fs_trile_glass_shadow + Attributes: + ATTR_trile_glass_shadow_position => 0 + ATTR_trile_glass_shadow_data_n => 1 + ATTR_trile_glass_shadow_instance => 2 + ATTR_trile_glass_shadow_tint => 3 + ATTR_trile_glass_shadow_cut => 4 + Shader program: 'trile_shadow': + Get shader desc: trile_shadow_shader_desc(sg_query_backend()) + Vertex Shader: vs_trile + Fragment Shader: fs_trile_shadow + Attributes: + ATTR_trile_shadow_position => 0 + ATTR_trile_shadow_data_n => 1 + ATTR_trile_shadow_instance => 2 + ATTR_trile_shadow_tint => 3 + ATTR_trile_shadow_cut => 4 Shader program: 'ui': Get shader desc: ui_shader_desc(sg_query_backend()) Vertex Shader: vs_ui @@ -45,16 +118,36 @@ Vertex Shader: vs_water Fragment Shader: fs_water Attributes: + Shader program: 'water_floor': + Get shader desc: water_floor_shader_desc(sg_query_backend()) + Vertex Shader: vs_water + Fragment Shader: fs_water_floor + Attributes: Bindings: Uniform block 'view_params': Jai struct: View_Params Bind slot: UB_view_params => 0 - Uniform block 'composite_vs_params': - Jai struct: Composite_Vs_Params - Bind slot: UB_composite_vs_params => 0 + Uniform block 'line_params': + Jai struct: Line_Params + Bind slot: UB_line_params => 1 + Uniform block 'sprite_params': + Jai struct: Sprite_Params + Bind slot: UB_sprite_params => 1 + Uniform block 'post_params': + Jai struct: Post_Params + Bind slot: UB_post_params => 0 + Uniform block 'sky_params': + Jai struct: Sky_Params + Bind slot: UB_sky_params => 1 + Uniform block 'shadow_params': + Jai struct: Shadow_Params + Bind slot: UB_shadow_params => 3 Uniform block 'trile_params': Jai struct: Trile_Params Bind slot: UB_trile_params => 1 + Uniform block 'trile_fs_params': + Jai struct: Trile_Fs_Params + Bind slot: UB_trile_fs_params => 2 Uniform block 'ui_vs_params': Jai struct: Ui_Vs_Params Bind slot: UB_ui_vs_params => 0 @@ -64,6 +157,19 @@ Uniform block 'water_fs_params': Jai struct: Water_Fs_Params Bind slot: UB_water_fs_params => 2 + Uniform block 'water_floor_params': + Jai struct: Water_Floor_Params + Bind slot: UB_water_floor_params => 2 + Image 'bloom_source': + Image type: ._2D + Sample type: .FLOAT + Multisampled: false + Bind slot: IMG_bloom_source => 0 + Image 'bloom_glow': + Image type: ._2D + Sample type: .FLOAT + Multisampled: false + Bind slot: IMG_bloom_glow => 1 Image 'sprite': Image type: ._2D Sample type: .FLOAT @@ -74,11 +180,46 @@ Sample type: .FLOAT Multisampled: false Bind slot: IMG_view_color => 0 + Image 'bloom': + Image type: ._2D + Sample type: .FLOAT + Multisampled: false + Bind slot: IMG_bloom => 1 + Image 'shadow_map': + Image type: ._2D + Sample type: .DEPTH + Multisampled: false + Bind slot: IMG_shadow_map => 7 + Image 'shadow_tint': + Image type: ._2D + Sample type: .FLOAT + Multisampled: false + Bind slot: IMG_shadow_tint => 8 + Image 'probe_index': + Image type: ._3D + Sample type: .FLOAT + Multisampled: false + Bind slot: IMG_probe_index => 3 + Image 'probe_atlas': + Image type: ._3D + Sample type: .FLOAT + Multisampled: false + Bind slot: IMG_probe_atlas => 4 Image 'palette': Image type: ._2D Sample type: .FLOAT Multisampled: false Bind slot: IMG_palette => 0 + Image 'trile_reflection': + Image type: ._2D + Sample type: .FLOAT + Multisampled: false + Bind slot: IMG_trile_reflection => 1 + Image 'trile_reflection_glow': + Image type: ._2D + Sample type: .FLOAT + Multisampled: false + Bind slot: IMG_trile_reflection_glow => 2 Image 'tex': Image type: ._2D Sample type: .FLOAT @@ -94,15 +235,38 @@ Sample type: .FLOAT Multisampled: false Bind slot: IMG_reflection => 0 + Image 'reflection_glow': + Image type: ._2D + Sample type: .FLOAT + Multisampled: false + Bind slot: IMG_reflection_glow => 2 + Sampler 'bloom_smp': + Type: .FILTERING + Bind slot: SMP_bloom_smp => 0 Sampler 'sprite_smp': Type: .FILTERING Bind slot: SMP_sprite_smp => 0 - Sampler 'composite_smp': + Sampler 'view_smp': Type: .FILTERING - Bind slot: SMP_composite_smp => 0 + Bind slot: SMP_view_smp => 0 + Sampler 'bloom_view_smp': + Type: .FILTERING + Bind slot: SMP_bloom_view_smp => 1 + Sampler 'shadow_smp': + Type: .COMPARISON + Bind slot: SMP_shadow_smp => 7 + Sampler 'shadow_tint_smp': + Type: .FILTERING + Bind slot: SMP_shadow_tint_smp => 8 + Sampler 'probe_smp': + Type: .FILTERING + Bind slot: SMP_probe_smp => 2 Sampler 'palette_smp': Type: .FILTERING Bind slot: SMP_palette_smp => 0 + Sampler 'trile_reflection_smp': + Type: .FILTERING + Bind slot: SMP_trile_reflection_smp => 1 Sampler 'smp': Type: .FILTERING Bind slot: SMP_smp => 0 @@ -113,47 +277,132 @@ Type: .FILTERING Bind slot: SMP_reflection_smp => 0 */ -ATTR_billboard_center :: 0; -ATTR_billboard_size :: 1; -ATTR_billboard_uv_rect :: 2; -ATTR_billboard_face :: 3; +ATTR_line_a :: 0; +ATTR_line_b :: 1; +ATTR_line_color :: 2; +ATTR_line_width :: 3; +ATTR_particle_center :: 0; +ATTR_particle_size :: 1; +ATTR_particle_uv_rect :: 2; +ATTR_particle_face :: 3; +ATTR_particle_color :: 4; +ATTR_particle_glow :: 5; +ATTR_sprite_center :: 0; +ATTR_sprite_size :: 1; +ATTR_sprite_uv_rect :: 2; +ATTR_sprite_face :: 3; +ATTR_sprite_color :: 4; +ATTR_sprite_glow :: 5; +ATTR_sprite_shadow_center :: 0; +ATTR_sprite_shadow_size :: 1; +ATTR_sprite_shadow_uv_rect :: 2; +ATTR_sprite_shadow_face :: 3; +ATTR_sprite_shadow_color :: 4; +ATTR_sprite_shadow_glow :: 5; ATTR_trile_position :: 0; -ATTR_trile_swatch :: 1; -ATTR_trile_ao :: 2; -ATTR_trile_instance :: 3; -ATTR_trile_tint :: 4; +ATTR_trile_data_n :: 1; +ATTR_trile_instance :: 2; +ATTR_trile_tint :: 3; +ATTR_trile_cut :: 4; +ATTR_trile_glass_shadow_position :: 0; +ATTR_trile_glass_shadow_data_n :: 1; +ATTR_trile_glass_shadow_instance :: 2; +ATTR_trile_glass_shadow_tint :: 3; +ATTR_trile_glass_shadow_cut :: 4; +ATTR_trile_shadow_position :: 0; +ATTR_trile_shadow_data_n :: 1; +ATTR_trile_shadow_instance :: 2; +ATTR_trile_shadow_tint :: 3; +ATTR_trile_shadow_cut :: 4; ATTR_ui_position :: 0; ATTR_ui_uv :: 1; ATTR_ui_color0 :: 2; UB_view_params :: 0; -UB_composite_vs_params :: 0; +UB_line_params :: 1; +UB_sprite_params :: 1; +UB_post_params :: 0; +UB_sky_params :: 1; +UB_shadow_params :: 3; UB_trile_params :: 1; +UB_trile_fs_params :: 2; UB_ui_vs_params :: 0; UB_water_vs_params :: 1; UB_water_fs_params :: 2; +UB_water_floor_params :: 2; +IMG_bloom_source :: 0; +IMG_bloom_glow :: 1; IMG_sprite :: 0; IMG_view_color :: 0; +IMG_bloom :: 1; +IMG_shadow_map :: 7; +IMG_shadow_tint :: 8; +IMG_probe_index :: 3; +IMG_probe_atlas :: 4; IMG_palette :: 0; +IMG_trile_reflection :: 1; +IMG_trile_reflection_glow :: 2; IMG_tex :: 0; IMG_normals :: 1; IMG_reflection :: 0; +IMG_reflection_glow :: 2; +SMP_bloom_smp :: 0; SMP_sprite_smp :: 0; -SMP_composite_smp :: 0; +SMP_view_smp :: 0; +SMP_bloom_view_smp :: 1; +SMP_shadow_smp :: 7; +SMP_shadow_tint_smp :: 8; +SMP_probe_smp :: 2; SMP_palette_smp :: 0; +SMP_trile_reflection_smp :: 1; SMP_smp :: 0; SMP_normals_smp :: 1; SMP_reflection_smp :: 0; View_Params :: struct { view_proj: [16]float; + inv_view_proj: [16]float; camera: [4]float; clip: [4]float; + sun_direction: [4]float; + sun_color: [4]float; + shade_color: [4]float; }; -Composite_Vs_Params :: struct { - flip_y: float; +Line_Params :: struct { + viewport: [2]float; + _: [8]u8; +}; +Sprite_Params :: struct { + lit: float; _: [12]u8; }; +Post_Params :: struct { + exposure: float; + contrast: float; + saturation: float; + bloom_amount: float; +}; +Sky_Params :: struct { + sky_base: [4]float; + sky_top: [4]float; + sun_disk: [4]float; + sun_halo: [4]float; + horizon_halo: [4]float; + sun: [4]float; +}; +Shadow_Params :: struct { + shadow_uv: [16]float; +}; Trile_Params :: struct { orientations: [72][4]float; + show_hidden: float; + _: [12]u8; +}; +Trile_Fs_Params :: struct { + sun_dir: [4]float; + probe_min: [4]float; + probe_size: [4]float; + use_reflection: float; + reflection_height: float; + _: [8]u8; }; Ui_Vs_Params :: struct { screen_size: [2]float; @@ -165,12 +414,20 @@ Water_Vs_Params :: struct { _: [8]u8; }; Water_Fs_Params :: struct { - color: [3]float; - surface: float; + water_color: [3]float; + _: [4]u8; + sun_direction: [3]float; + shininess: float; + sun_color: [3]float; + time: float; reflectivity: float; distortion: float; _: [8]u8; }; +Water_Floor_Params :: struct { + floor_color: [3]float; + _: [4]u8; +}; /* #version 430 @@ -254,96 +511,372 @@ fs_ui_source_glsl430 := u8.[ /* #version 430 - uniform vec4 composite_vs_params[1]; - layout(location = 0) out vec2 v_uv; + vec2 fullscreen_position(int vertex_index) + { + return (vec2(float((vertex_index << 1) & 2), float(vertex_index & 2)) * 2.0) - vec2(1.0); + } void main() { - float _18 = float((gl_VertexID << 1) & 2); - float _21 = float(gl_VertexID & 2); - v_uv = vec2(_18, mix(_21, 1.0 - _21, composite_vs_params[0].x)); - gl_Position = vec4((vec2(_18, _21) * 2.0) - vec2(1.0), 0.0, 1.0); + int param = gl_VertexID; + gl_Position = vec4(fullscreen_position(param), 0.0, 1.0); } */ -vs_composite_source_glsl430 := u8.[ - 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x34,0x33,0x30,0x0a,0x0a,0x75,0x6e, - 0x69,0x66,0x6f,0x72,0x6d,0x20,0x76,0x65,0x63,0x34,0x20,0x63,0x6f,0x6d,0x70,0x6f, - 0x73,0x69,0x74,0x65,0x5f,0x76,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x31, - 0x5d,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69, - 0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x32, - 0x20,0x76,0x5f,0x75,0x76,0x3b,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69, - 0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, - 0x5f,0x31,0x38,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x28,0x28,0x67,0x6c,0x5f, - 0x56,0x65,0x72,0x74,0x65,0x78,0x49,0x44,0x20,0x3c,0x3c,0x20,0x31,0x29,0x20,0x26, - 0x20,0x32,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f, - 0x32,0x31,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x28,0x67,0x6c,0x5f,0x56,0x65, - 0x72,0x74,0x65,0x78,0x49,0x44,0x20,0x26,0x20,0x32,0x29,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x76,0x5f,0x75,0x76,0x20,0x3d,0x20,0x76,0x65,0x63,0x32,0x28,0x5f,0x31,0x38, - 0x2c,0x20,0x6d,0x69,0x78,0x28,0x5f,0x32,0x31,0x2c,0x20,0x31,0x2e,0x30,0x20,0x2d, - 0x20,0x5f,0x32,0x31,0x2c,0x20,0x63,0x6f,0x6d,0x70,0x6f,0x73,0x69,0x74,0x65,0x5f, - 0x76,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x30,0x5d,0x2e,0x78,0x29,0x29, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x67,0x6c,0x5f,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f, - 0x6e,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x28,0x76,0x65,0x63,0x32,0x28,0x5f, - 0x31,0x38,0x2c,0x20,0x5f,0x32,0x31,0x29,0x20,0x2a,0x20,0x32,0x2e,0x30,0x29,0x20, - 0x2d,0x20,0x76,0x65,0x63,0x32,0x28,0x31,0x2e,0x30,0x29,0x2c,0x20,0x30,0x2e,0x30, - 0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, +vs_fullscreen_source_glsl430 := u8.[ + 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x34,0x33,0x30,0x0a,0x0a,0x76,0x65, + 0x63,0x32,0x20,0x66,0x75,0x6c,0x6c,0x73,0x63,0x72,0x65,0x65,0x6e,0x5f,0x70,0x6f, + 0x73,0x69,0x74,0x69,0x6f,0x6e,0x28,0x69,0x6e,0x74,0x20,0x76,0x65,0x72,0x74,0x65, + 0x78,0x5f,0x69,0x6e,0x64,0x65,0x78,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72, + 0x65,0x74,0x75,0x72,0x6e,0x20,0x28,0x76,0x65,0x63,0x32,0x28,0x66,0x6c,0x6f,0x61, + 0x74,0x28,0x28,0x76,0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x6e,0x64,0x65,0x78,0x20, + 0x3c,0x3c,0x20,0x31,0x29,0x20,0x26,0x20,0x32,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x28,0x76,0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x6e,0x64,0x65,0x78,0x20,0x26, + 0x20,0x32,0x29,0x29,0x20,0x2a,0x20,0x32,0x2e,0x30,0x29,0x20,0x2d,0x20,0x76,0x65, + 0x63,0x32,0x28,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x6f,0x69,0x64, + 0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e, + 0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x67,0x6c,0x5f,0x56,0x65,0x72, + 0x74,0x65,0x78,0x49,0x44,0x3b,0x0a,0x20,0x20,0x20,0x20,0x67,0x6c,0x5f,0x50,0x6f, + 0x73,0x69,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x66,0x75, + 0x6c,0x6c,0x73,0x63,0x72,0x65,0x65,0x6e,0x5f,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f, + 0x6e,0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31, + 0x2e,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, ]; /* #version 430 - layout(binding = 16) uniform sampler2D view_color_composite_smp; + layout(binding = 16) uniform sampler2D bloom_source_bloom_smp; + layout(binding = 17) uniform sampler2D bloom_glow_bloom_smp; layout(location = 0) out vec4 frag_color; - layout(location = 0) in vec2 v_uv; + + vec3 glowing(ivec2 p) + { + return texelFetch(bloom_source_bloom_smp, p, 0).xyz * texelFetch(bloom_glow_bloom_smp, p, 0).x; + } void main() { - frag_color = texture(view_color_composite_smp, v_uv); + ivec2 _53 = ivec2(gl_FragCoord.xy) * ivec2(2); + ivec2 param = _53; + ivec2 param_1 = _53 + ivec2(1, 0); + ivec2 param_2 = _53 + ivec2(0, 1); + ivec2 param_3 = _53 + ivec2(1); + frag_color = vec4((((glowing(param) + glowing(param_1)) + glowing(param_2)) + glowing(param_3)) * 0.25, 1.0); } */ -fs_composite_source_glsl430 := u8.[ +fs_bloom_glow_source_glsl430 := u8.[ 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x34,0x33,0x30,0x0a,0x0a,0x6c,0x61, 0x79,0x6f,0x75,0x74,0x28,0x62,0x69,0x6e,0x64,0x69,0x6e,0x67,0x20,0x3d,0x20,0x31, 0x36,0x29,0x20,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x73,0x61,0x6d,0x70,0x6c, - 0x65,0x72,0x32,0x44,0x20,0x76,0x69,0x65,0x77,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x5f, - 0x63,0x6f,0x6d,0x70,0x6f,0x73,0x69,0x74,0x65,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x0a, - 0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20, - 0x3d,0x20,0x30,0x29,0x20,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x34,0x20,0x66,0x72, - 0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74, - 0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x69, - 0x6e,0x20,0x76,0x65,0x63,0x32,0x20,0x76,0x5f,0x75,0x76,0x3b,0x0a,0x0a,0x76,0x6f, - 0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20, - 0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x74,0x65,0x78, - 0x74,0x75,0x72,0x65,0x28,0x76,0x69,0x65,0x77,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x5f, - 0x63,0x6f,0x6d,0x70,0x6f,0x73,0x69,0x74,0x65,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x76, - 0x5f,0x75,0x76,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, + 0x65,0x72,0x32,0x44,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6f,0x75,0x72,0x63, + 0x65,0x5f,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x6c,0x61,0x79, + 0x6f,0x75,0x74,0x28,0x62,0x69,0x6e,0x64,0x69,0x6e,0x67,0x20,0x3d,0x20,0x31,0x37, + 0x29,0x20,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65, + 0x72,0x32,0x44,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x67,0x6c,0x6f,0x77,0x5f,0x62, + 0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x0a,0x6c,0x61,0x79,0x6f,0x75, + 0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20, + 0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f, + 0x6c,0x6f,0x72,0x3b,0x0a,0x0a,0x76,0x65,0x63,0x33,0x20,0x67,0x6c,0x6f,0x77,0x69, + 0x6e,0x67,0x28,0x69,0x76,0x65,0x63,0x32,0x20,0x70,0x29,0x0a,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x74,0x65,0x78,0x65,0x6c,0x46,0x65, + 0x74,0x63,0x68,0x28,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6f,0x75,0x72,0x63,0x65, + 0x5f,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x70,0x2c,0x20,0x30, + 0x29,0x2e,0x78,0x79,0x7a,0x20,0x2a,0x20,0x74,0x65,0x78,0x65,0x6c,0x46,0x65,0x74, + 0x63,0x68,0x28,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x67,0x6c,0x6f,0x77,0x5f,0x62,0x6c, + 0x6f,0x6f,0x6d,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x70,0x2c,0x20,0x30,0x29,0x2e,0x78, + 0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29, + 0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x32,0x20,0x5f,0x35,0x33, + 0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x67,0x6c,0x5f,0x46,0x72,0x61,0x67, + 0x43,0x6f,0x6f,0x72,0x64,0x2e,0x78,0x79,0x29,0x20,0x2a,0x20,0x69,0x76,0x65,0x63, + 0x32,0x28,0x32,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x32,0x20, + 0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x5f,0x35,0x33,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x69,0x76,0x65,0x63,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d, + 0x20,0x5f,0x35,0x33,0x20,0x2b,0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x31,0x2c,0x20, + 0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x32,0x20,0x70,0x61, + 0x72,0x61,0x6d,0x5f,0x32,0x20,0x3d,0x20,0x5f,0x35,0x33,0x20,0x2b,0x20,0x69,0x76, + 0x65,0x63,0x32,0x28,0x30,0x2c,0x20,0x31,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69, + 0x76,0x65,0x63,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x20,0x3d,0x20,0x5f, + 0x35,0x33,0x20,0x2b,0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x31,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20, + 0x76,0x65,0x63,0x34,0x28,0x28,0x28,0x28,0x67,0x6c,0x6f,0x77,0x69,0x6e,0x67,0x28, + 0x70,0x61,0x72,0x61,0x6d,0x29,0x20,0x2b,0x20,0x67,0x6c,0x6f,0x77,0x69,0x6e,0x67, + 0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x29,0x29,0x20,0x2b,0x20,0x67,0x6c,0x6f, + 0x77,0x69,0x6e,0x67,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x29,0x29,0x20,0x2b, + 0x20,0x67,0x6c,0x6f,0x77,0x69,0x6e,0x67,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33, + 0x29,0x29,0x20,0x2a,0x20,0x30,0x2e,0x32,0x35,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b, + 0x0a,0x7d,0x0a,0x0a,0x00, ]; /* #version 430 - uniform vec4 trile_params[72]; - uniform vec4 view_params[6]; - layout(location = 3) in vec4 instance; - layout(location = 0) in vec3 position; - layout(location = 0) out float v_clip; - layout(location = 1) out float v_swatch; - layout(location = 1) in float swatch; - layout(location = 2) out float v_ao; - layout(location = 2) in float ao; - layout(location = 3) out float v_tint; - layout(location = 4) in float tint; + layout(binding = 16) uniform sampler2D bloom_source_bloom_smp; + + layout(location = 0) out vec4 frag_color; + + vec3 tap(vec2 uv) + { + return texture(bloom_source_bloom_smp, uv).xyz; + } void main() { - int _22 = int(instance.w + 0.5) * 3; - vec3 _30 = position - vec3(0.5); - vec4 _84 = vec4((vec3(dot(trile_params[_22 * 1 + 0].xyz, _30), dot(trile_params[(_22 + 1) * 1 + 0].xyz, _30), dot(trile_params[(_22 + 2) * 1 + 0].xyz, _30)) + vec3(0.5)) + instance.xyz, 1.0); - gl_Position = mat4(view_params[0], view_params[1], view_params[2], view_params[3]) * _84; - v_clip = dot(_84, view_params[5]); - v_swatch = swatch; - v_ao = ao; + vec2 _40 = vec2(textureSize(bloom_source_bloom_smp, 0)); + vec2 _42 = vec2(1.0) / _40; + vec2 _51 = (gl_FragCoord.xy * 2.0) * _42; + vec2 param = _51 + (vec2(-1.0) / _40); + vec2 param_1 = _51 + (vec2(1.0, -1.0) / _40); + vec2 param_2 = _51 + (vec2(-1.0, 1.0) / _40); + vec2 param_3 = _51 + _42; + frag_color = vec4((((tap(param) + tap(param_1)) + tap(param_2)) + tap(param_3)) * 0.25, 1.0); + } + +*/ +fs_bloom_down_source_glsl430 := u8.[ + 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x34,0x33,0x30,0x0a,0x0a,0x6c,0x61, + 0x79,0x6f,0x75,0x74,0x28,0x62,0x69,0x6e,0x64,0x69,0x6e,0x67,0x20,0x3d,0x20,0x31, + 0x36,0x29,0x20,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x73,0x61,0x6d,0x70,0x6c, + 0x65,0x72,0x32,0x44,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6f,0x75,0x72,0x63, + 0x65,0x5f,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x0a,0x6c,0x61, + 0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20, + 0x30,0x29,0x20,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x34,0x20,0x66,0x72,0x61,0x67, + 0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x0a,0x76,0x65,0x63,0x33,0x20,0x74,0x61, + 0x70,0x28,0x76,0x65,0x63,0x32,0x20,0x75,0x76,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28, + 0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6f,0x75,0x72,0x63,0x65,0x5f,0x62,0x6c,0x6f, + 0x6f,0x6d,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x75,0x76,0x29,0x2e,0x78,0x79,0x7a,0x3b, + 0x0a,0x7d,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x34,0x30,0x20,0x3d, + 0x20,0x76,0x65,0x63,0x32,0x28,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x53,0x69,0x7a, + 0x65,0x28,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6f,0x75,0x72,0x63,0x65,0x5f,0x62, + 0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x30,0x29,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x34,0x32,0x20,0x3d,0x20,0x76,0x65, + 0x63,0x32,0x28,0x31,0x2e,0x30,0x29,0x20,0x2f,0x20,0x5f,0x34,0x30,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x35,0x31,0x20,0x3d,0x20,0x28,0x67, + 0x6c,0x5f,0x46,0x72,0x61,0x67,0x43,0x6f,0x6f,0x72,0x64,0x2e,0x78,0x79,0x20,0x2a, + 0x20,0x32,0x2e,0x30,0x29,0x20,0x2a,0x20,0x5f,0x34,0x32,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x76,0x65,0x63,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x5f,0x35, + 0x31,0x20,0x2b,0x20,0x28,0x76,0x65,0x63,0x32,0x28,0x2d,0x31,0x2e,0x30,0x29,0x20, + 0x2f,0x20,0x5f,0x34,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32, + 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20,0x5f,0x35,0x31,0x20,0x2b, + 0x20,0x28,0x76,0x65,0x63,0x32,0x28,0x31,0x2e,0x30,0x2c,0x20,0x2d,0x31,0x2e,0x30, + 0x29,0x20,0x2f,0x20,0x5f,0x34,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65, + 0x63,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x20,0x3d,0x20,0x5f,0x35,0x31, + 0x20,0x2b,0x20,0x28,0x76,0x65,0x63,0x32,0x28,0x2d,0x31,0x2e,0x30,0x2c,0x20,0x31, + 0x2e,0x30,0x29,0x20,0x2f,0x20,0x5f,0x34,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x76,0x65,0x63,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x20,0x3d,0x20,0x5f, + 0x35,0x31,0x20,0x2b,0x20,0x5f,0x34,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72, + 0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28, + 0x28,0x28,0x28,0x74,0x61,0x70,0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x20,0x2b,0x20, + 0x74,0x61,0x70,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x29,0x29,0x20,0x2b,0x20, + 0x74,0x61,0x70,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x29,0x29,0x20,0x2b,0x20, + 0x74,0x61,0x70,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x29,0x29,0x20,0x2a,0x20, + 0x30,0x2e,0x32,0x35,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, + +]; +/* + #version 430 + + layout(binding = 16) uniform sampler2D bloom_source_bloom_smp; + + layout(location = 0) out vec4 frag_color; + + vec3 tap(vec2 uv) + { + return texture(bloom_source_bloom_smp, uv).xyz; + } + + void main() + { + vec2 _40 = vec2(textureSize(bloom_source_bloom_smp, 0)); + vec2 _42 = vec2(1.0) / _40; + vec2 _51 = (gl_FragCoord.xy * 0.5) * _42; + vec2 param = _51; + vec2 param_1 = _51 + (vec2(-1.0, 0.0) / _40); + vec2 param_2 = _51 + (vec2(1.0, 0.0) / _40); + vec2 param_3 = _51 + (vec2(0.0, -1.0) / _40); + vec2 param_4 = _51 + (vec2(0.0, 1.0) / _40); + vec2 param_5 = _51 + (vec2(-1.0) / _40); + vec2 param_6 = _51 + (vec2(1.0, -1.0) / _40); + vec2 param_7 = _51 + (vec2(-1.0, 1.0) / _40); + vec2 param_8 = _51 + _42; + frag_color = vec4((((tap(param) * 4.0) + ((((tap(param_1) + tap(param_2)) + tap(param_3)) + tap(param_4)) * 2.0)) + (((tap(param_5) + tap(param_6)) + tap(param_7)) + tap(param_8))) * vec3(0.0625), 1.0); + } + +*/ +fs_bloom_up_source_glsl430 := u8.[ + 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x34,0x33,0x30,0x0a,0x0a,0x6c,0x61, + 0x79,0x6f,0x75,0x74,0x28,0x62,0x69,0x6e,0x64,0x69,0x6e,0x67,0x20,0x3d,0x20,0x31, + 0x36,0x29,0x20,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x73,0x61,0x6d,0x70,0x6c, + 0x65,0x72,0x32,0x44,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6f,0x75,0x72,0x63, + 0x65,0x5f,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x0a,0x6c,0x61, + 0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20, + 0x30,0x29,0x20,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x34,0x20,0x66,0x72,0x61,0x67, + 0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x0a,0x76,0x65,0x63,0x33,0x20,0x74,0x61, + 0x70,0x28,0x76,0x65,0x63,0x32,0x20,0x75,0x76,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28, + 0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6f,0x75,0x72,0x63,0x65,0x5f,0x62,0x6c,0x6f, + 0x6f,0x6d,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x75,0x76,0x29,0x2e,0x78,0x79,0x7a,0x3b, + 0x0a,0x7d,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x34,0x30,0x20,0x3d, + 0x20,0x76,0x65,0x63,0x32,0x28,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x53,0x69,0x7a, + 0x65,0x28,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6f,0x75,0x72,0x63,0x65,0x5f,0x62, + 0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x30,0x29,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x34,0x32,0x20,0x3d,0x20,0x76,0x65, + 0x63,0x32,0x28,0x31,0x2e,0x30,0x29,0x20,0x2f,0x20,0x5f,0x34,0x30,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x35,0x31,0x20,0x3d,0x20,0x28,0x67, + 0x6c,0x5f,0x46,0x72,0x61,0x67,0x43,0x6f,0x6f,0x72,0x64,0x2e,0x78,0x79,0x20,0x2a, + 0x20,0x30,0x2e,0x35,0x29,0x20,0x2a,0x20,0x5f,0x34,0x32,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x76,0x65,0x63,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x5f,0x35, + 0x31,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x31,0x20,0x3d,0x20,0x5f,0x35,0x31,0x20,0x2b,0x20,0x28,0x76,0x65,0x63, + 0x32,0x28,0x2d,0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x29,0x20,0x2f,0x20,0x5f, + 0x34,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x70,0x61, + 0x72,0x61,0x6d,0x5f,0x32,0x20,0x3d,0x20,0x5f,0x35,0x31,0x20,0x2b,0x20,0x28,0x76, + 0x65,0x63,0x32,0x28,0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x29,0x20,0x2f,0x20, + 0x5f,0x34,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x70, + 0x61,0x72,0x61,0x6d,0x5f,0x33,0x20,0x3d,0x20,0x5f,0x35,0x31,0x20,0x2b,0x20,0x28, + 0x76,0x65,0x63,0x32,0x28,0x30,0x2e,0x30,0x2c,0x20,0x2d,0x31,0x2e,0x30,0x29,0x20, + 0x2f,0x20,0x5f,0x34,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32, + 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x20,0x3d,0x20,0x5f,0x35,0x31,0x20,0x2b, + 0x20,0x28,0x76,0x65,0x63,0x32,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29, + 0x20,0x2f,0x20,0x5f,0x34,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63, + 0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x35,0x20,0x3d,0x20,0x5f,0x35,0x31,0x20, + 0x2b,0x20,0x28,0x76,0x65,0x63,0x32,0x28,0x2d,0x31,0x2e,0x30,0x29,0x20,0x2f,0x20, + 0x5f,0x34,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x70, + 0x61,0x72,0x61,0x6d,0x5f,0x36,0x20,0x3d,0x20,0x5f,0x35,0x31,0x20,0x2b,0x20,0x28, + 0x76,0x65,0x63,0x32,0x28,0x31,0x2e,0x30,0x2c,0x20,0x2d,0x31,0x2e,0x30,0x29,0x20, + 0x2f,0x20,0x5f,0x34,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32, + 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x37,0x20,0x3d,0x20,0x5f,0x35,0x31,0x20,0x2b, + 0x20,0x28,0x76,0x65,0x63,0x32,0x28,0x2d,0x31,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30, + 0x29,0x20,0x2f,0x20,0x5f,0x34,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65, + 0x63,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x38,0x20,0x3d,0x20,0x5f,0x35,0x31, + 0x20,0x2b,0x20,0x5f,0x34,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67, + 0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x28,0x28, + 0x28,0x74,0x61,0x70,0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x20,0x2a,0x20,0x34,0x2e, + 0x30,0x29,0x20,0x2b,0x20,0x28,0x28,0x28,0x28,0x74,0x61,0x70,0x28,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x31,0x29,0x20,0x2b,0x20,0x74,0x61,0x70,0x28,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x32,0x29,0x29,0x20,0x2b,0x20,0x74,0x61,0x70,0x28,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x33,0x29,0x29,0x20,0x2b,0x20,0x74,0x61,0x70,0x28,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x34,0x29,0x29,0x20,0x2a,0x20,0x32,0x2e,0x30,0x29,0x29,0x20,0x2b,0x20, + 0x28,0x28,0x28,0x74,0x61,0x70,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x35,0x29,0x20, + 0x2b,0x20,0x74,0x61,0x70,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36,0x29,0x29,0x20, + 0x2b,0x20,0x74,0x61,0x70,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x37,0x29,0x29,0x20, + 0x2b,0x20,0x74,0x61,0x70,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x38,0x29,0x29,0x29, + 0x20,0x2a,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x36,0x32,0x35,0x29,0x2c, + 0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, +]; +/* + #version 430 + + uniform vec4 post_params[1]; + layout(binding = 16) uniform sampler2D view_color_view_smp; + layout(binding = 17) uniform sampler2D bloom_bloom_view_smp; + + layout(location = 0) out vec4 frag_color; + + void main() + { + vec2 _31 = gl_FragCoord.xy / vec2(textureSize(view_color_view_smp, 0)); + vec3 _73 = ((((texture(view_color_view_smp, _31).xyz + (texture(bloom_bloom_view_smp, _31).xyz * post_params[0].w)) * exp2(post_params[0].x)) - vec3(0.5)) * post_params[0].y) + vec3(0.5); + frag_color = vec4(clamp(mix(vec3(dot(_73, vec3(0.2125999927520751953125, 0.715200006961822509765625, 0.072200000286102294921875))), _73, vec3(post_params[0].z)), vec3(0.0), vec3(1.0)), 1.0); + } + +*/ +fs_post_source_glsl430 := u8.[ + 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x34,0x33,0x30,0x0a,0x0a,0x75,0x6e, + 0x69,0x66,0x6f,0x72,0x6d,0x20,0x76,0x65,0x63,0x34,0x20,0x70,0x6f,0x73,0x74,0x5f, + 0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x31,0x5d,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75, + 0x74,0x28,0x62,0x69,0x6e,0x64,0x69,0x6e,0x67,0x20,0x3d,0x20,0x31,0x36,0x29,0x20, + 0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x32, + 0x44,0x20,0x76,0x69,0x65,0x77,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x76,0x69,0x65, + 0x77,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x62,0x69, + 0x6e,0x64,0x69,0x6e,0x67,0x20,0x3d,0x20,0x31,0x37,0x29,0x20,0x75,0x6e,0x69,0x66, + 0x6f,0x72,0x6d,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x62,0x6c, + 0x6f,0x6f,0x6d,0x5f,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x76,0x69,0x65,0x77,0x5f,0x73, + 0x6d,0x70,0x3b,0x0a,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61, + 0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x6f,0x75,0x74,0x20,0x76,0x65, + 0x63,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x0a, + 0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x33,0x31,0x20,0x3d,0x20,0x67,0x6c,0x5f, + 0x46,0x72,0x61,0x67,0x43,0x6f,0x6f,0x72,0x64,0x2e,0x78,0x79,0x20,0x2f,0x20,0x76, + 0x65,0x63,0x32,0x28,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x53,0x69,0x7a,0x65,0x28, + 0x76,0x69,0x65,0x77,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x76,0x69,0x65,0x77,0x5f, + 0x73,0x6d,0x70,0x2c,0x20,0x30,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65, + 0x63,0x33,0x20,0x5f,0x37,0x33,0x20,0x3d,0x20,0x28,0x28,0x28,0x28,0x74,0x65,0x78, + 0x74,0x75,0x72,0x65,0x28,0x76,0x69,0x65,0x77,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x5f, + 0x76,0x69,0x65,0x77,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x5f,0x33,0x31,0x29,0x2e,0x78, + 0x79,0x7a,0x20,0x2b,0x20,0x28,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x62,0x6c, + 0x6f,0x6f,0x6d,0x5f,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x76,0x69,0x65,0x77,0x5f,0x73, + 0x6d,0x70,0x2c,0x20,0x5f,0x33,0x31,0x29,0x2e,0x78,0x79,0x7a,0x20,0x2a,0x20,0x70, + 0x6f,0x73,0x74,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x30,0x5d,0x2e,0x77,0x29, + 0x29,0x20,0x2a,0x20,0x65,0x78,0x70,0x32,0x28,0x70,0x6f,0x73,0x74,0x5f,0x70,0x61, + 0x72,0x61,0x6d,0x73,0x5b,0x30,0x5d,0x2e,0x78,0x29,0x29,0x20,0x2d,0x20,0x76,0x65, + 0x63,0x33,0x28,0x30,0x2e,0x35,0x29,0x29,0x20,0x2a,0x20,0x70,0x6f,0x73,0x74,0x5f, + 0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x30,0x5d,0x2e,0x79,0x29,0x20,0x2b,0x20,0x76, + 0x65,0x63,0x33,0x28,0x30,0x2e,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72, + 0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28, + 0x63,0x6c,0x61,0x6d,0x70,0x28,0x6d,0x69,0x78,0x28,0x76,0x65,0x63,0x33,0x28,0x64, + 0x6f,0x74,0x28,0x5f,0x37,0x33,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x32, + 0x31,0x32,0x35,0x39,0x39,0x39,0x39,0x32,0x37,0x35,0x32,0x30,0x37,0x35,0x31,0x39, + 0x35,0x33,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x37,0x31,0x35,0x32,0x30,0x30,0x30, + 0x30,0x36,0x39,0x36,0x31,0x38,0x32,0x32,0x35,0x30,0x39,0x37,0x36,0x35,0x36,0x32, + 0x35,0x2c,0x20,0x30,0x2e,0x30,0x37,0x32,0x32,0x30,0x30,0x30,0x30,0x30,0x32,0x38, + 0x36,0x31,0x30,0x32,0x32,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x29,0x29,0x29, + 0x2c,0x20,0x5f,0x37,0x33,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x70,0x6f,0x73,0x74, + 0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x30,0x5d,0x2e,0x7a,0x29,0x29,0x2c,0x20, + 0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28, + 0x31,0x2e,0x30,0x29,0x29,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x0a, + 0x00, +]; +/* + #version 430 + + uniform vec4 trile_params[73]; + uniform vec4 view_params[13]; + layout(location = 1) in vec4 data_n; + layout(location = 2) in vec4 instance; + layout(location = 0) in vec3 position; + layout(location = 3) out vec3 v_normal; + layout(location = 5) out float v_facing; + layout(location = 6) out float v_ao; + layout(location = 7) out vec3 v_shade; + layout(location = 8) out vec3 v_sun; + layout(location = 10) out float v_cut; + layout(location = 4) in float cut; + layout(location = 1) out vec3 v_to_camera; + layout(location = 2) out vec3 v_world; + layout(location = 0) out float v_clip; + layout(location = 4) out float v_swatch; + layout(location = 9) out float v_tint; + layout(location = 3) in float tint; + + void main() + { + vec4 _14 = data_n * 255.0; + int _28 = int(instance.w + 0.5) * 3; + mat3 _71 = transpose(mat3(vec3(trile_params[_28 * 1 + 0].xyz), vec3(trile_params[(_28 + 1) * 1 + 0].xyz), vec3(trile_params[(_28 + 2) * 1 + 0].xyz))); + vec3 _85 = ((_71 * (position - vec3(0.5))) + vec3(0.5)) + instance.xyz; + int _92 = int(_14.z + 0.5); + vec3 normal = vec3(0.0); + normal[_92 / 2] = ((_92 % 2) == 0) ? 1.0 : (-1.0); + v_normal = _71 * normal; + v_facing = smoothstep(0.0, 0.300000011920928955078125, dot(v_normal, view_params[10].xyz)); + v_ao = _14.y * 0.3333333432674407958984375; + v_shade = view_params[12].xyz; + v_sun = view_params[11].xyz; + vec4 _150 = vec4(_85, 1.0); + gl_Position = mat4(view_params[0], view_params[1], view_params[2], view_params[3]) * _150; + v_cut = (trile_params[72].x > 0.5) ? 0.0 : cut; + if (v_cut > 0.999000012874603271484375) + { + gl_Position = vec4(0.0, 0.0, 2.0, 1.0); + } + v_to_camera = view_params[8].xyz - _85; + v_world = _85; + v_clip = dot(_150, view_params[9]); + v_swatch = _14.x; v_tint = tint; } @@ -351,80 +884,311 @@ fs_composite_source_glsl430 := u8.[ vs_trile_source_glsl430 := u8.[ 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x34,0x33,0x30,0x0a,0x0a,0x75,0x6e, 0x69,0x66,0x6f,0x72,0x6d,0x20,0x76,0x65,0x63,0x34,0x20,0x74,0x72,0x69,0x6c,0x65, - 0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x37,0x32,0x5d,0x3b,0x0a,0x75,0x6e,0x69, + 0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x37,0x33,0x5d,0x3b,0x0a,0x75,0x6e,0x69, 0x66,0x6f,0x72,0x6d,0x20,0x76,0x65,0x63,0x34,0x20,0x76,0x69,0x65,0x77,0x5f,0x70, - 0x61,0x72,0x61,0x6d,0x73,0x5b,0x36,0x5d,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74, - 0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x33,0x29,0x20,0x69, - 0x6e,0x20,0x76,0x65,0x63,0x34,0x20,0x69,0x6e,0x73,0x74,0x61,0x6e,0x63,0x65,0x3b, - 0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e, - 0x20,0x3d,0x20,0x30,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x6f, - 0x73,0x69,0x74,0x69,0x6f,0x6e,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c, - 0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x6f,0x75,0x74, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x63,0x6c,0x69,0x70,0x3b,0x0a,0x6c, - 0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d, - 0x20,0x31,0x29,0x20,0x6f,0x75,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f, - 0x73,0x77,0x61,0x74,0x63,0x68,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c, - 0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x31,0x29,0x20,0x69,0x6e,0x20, - 0x66,0x6c,0x6f,0x61,0x74,0x20,0x73,0x77,0x61,0x74,0x63,0x68,0x3b,0x0a,0x6c,0x61, + 0x61,0x72,0x61,0x6d,0x73,0x5b,0x31,0x33,0x5d,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75, + 0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x31,0x29,0x20, + 0x69,0x6e,0x20,0x76,0x65,0x63,0x34,0x20,0x64,0x61,0x74,0x61,0x5f,0x6e,0x3b,0x0a, + 0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20, + 0x3d,0x20,0x32,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x34,0x20,0x69,0x6e,0x73, + 0x74,0x61,0x6e,0x63,0x65,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f, + 0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x69,0x6e,0x20,0x76, + 0x65,0x63,0x33,0x20,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x3b,0x0a,0x6c,0x61, 0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20, - 0x32,0x29,0x20,0x6f,0x75,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x61, - 0x6f,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69, - 0x6f,0x6e,0x20,0x3d,0x20,0x32,0x29,0x20,0x69,0x6e,0x20,0x66,0x6c,0x6f,0x61,0x74, - 0x20,0x61,0x6f,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61, - 0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x33,0x29,0x20,0x6f,0x75,0x74,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x20,0x76,0x5f,0x74,0x69,0x6e,0x74,0x3b,0x0a,0x6c,0x61,0x79,0x6f, - 0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x34,0x29, - 0x20,0x69,0x6e,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x74,0x69,0x6e,0x74,0x3b,0x0a, - 0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20, - 0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x5f,0x32,0x32,0x20,0x3d,0x20,0x69,0x6e,0x74, - 0x28,0x69,0x6e,0x73,0x74,0x61,0x6e,0x63,0x65,0x2e,0x77,0x20,0x2b,0x20,0x30,0x2e, - 0x35,0x29,0x20,0x2a,0x20,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33, - 0x20,0x5f,0x33,0x30,0x20,0x3d,0x20,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x20, - 0x2d,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x38,0x34,0x20,0x3d,0x20,0x76,0x65,0x63,0x34, - 0x28,0x28,0x76,0x65,0x63,0x33,0x28,0x64,0x6f,0x74,0x28,0x74,0x72,0x69,0x6c,0x65, - 0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x5f,0x32,0x32,0x20,0x2a,0x20,0x31,0x20, - 0x2b,0x20,0x30,0x5d,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x5f,0x33,0x30,0x29,0x2c,0x20, - 0x64,0x6f,0x74,0x28,0x74,0x72,0x69,0x6c,0x65,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73, - 0x5b,0x28,0x5f,0x32,0x32,0x20,0x2b,0x20,0x31,0x29,0x20,0x2a,0x20,0x31,0x20,0x2b, - 0x20,0x30,0x5d,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x5f,0x33,0x30,0x29,0x2c,0x20,0x64, - 0x6f,0x74,0x28,0x74,0x72,0x69,0x6c,0x65,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b, - 0x28,0x5f,0x32,0x32,0x20,0x2b,0x20,0x32,0x29,0x20,0x2a,0x20,0x31,0x20,0x2b,0x20, - 0x30,0x5d,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x5f,0x33,0x30,0x29,0x29,0x20,0x2b,0x20, - 0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x35,0x29,0x29,0x20,0x2b,0x20,0x69,0x6e,0x73, - 0x74,0x61,0x6e,0x63,0x65,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x67,0x6c,0x5f,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e, - 0x20,0x3d,0x20,0x6d,0x61,0x74,0x34,0x28,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72, - 0x61,0x6d,0x73,0x5b,0x30,0x5d,0x2c,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72, - 0x61,0x6d,0x73,0x5b,0x31,0x5d,0x2c,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72, - 0x61,0x6d,0x73,0x5b,0x32,0x5d,0x2c,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72, - 0x61,0x6d,0x73,0x5b,0x33,0x5d,0x29,0x20,0x2a,0x20,0x5f,0x38,0x34,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x76,0x5f,0x63,0x6c,0x69,0x70,0x20,0x3d,0x20,0x64,0x6f,0x74,0x28, - 0x5f,0x38,0x34,0x2c,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73, - 0x5b,0x35,0x5d,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x5f,0x73,0x77,0x61,0x74, - 0x63,0x68,0x20,0x3d,0x20,0x73,0x77,0x61,0x74,0x63,0x68,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x76,0x5f,0x61,0x6f,0x20,0x3d,0x20,0x61,0x6f,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x76,0x5f,0x74,0x69,0x6e,0x74,0x20,0x3d,0x20,0x74,0x69,0x6e,0x74,0x3b,0x0a,0x7d, - 0x0a,0x0a,0x00, + 0x33,0x29,0x20,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x6e,0x6f, + 0x72,0x6d,0x61,0x6c,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63, + 0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x35,0x29,0x20,0x6f,0x75,0x74,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x66,0x61,0x63,0x69,0x6e,0x67,0x3b,0x0a,0x6c, + 0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d, + 0x20,0x36,0x29,0x20,0x6f,0x75,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f, + 0x61,0x6f,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74, + 0x69,0x6f,0x6e,0x20,0x3d,0x20,0x37,0x29,0x20,0x6f,0x75,0x74,0x20,0x76,0x65,0x63, + 0x33,0x20,0x76,0x5f,0x73,0x68,0x61,0x64,0x65,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75, + 0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x38,0x29,0x20, + 0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x73,0x75,0x6e,0x3b,0x0a, + 0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20, + 0x3d,0x20,0x31,0x30,0x29,0x20,0x6f,0x75,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, + 0x76,0x5f,0x63,0x75,0x74,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f, + 0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x34,0x29,0x20,0x69,0x6e,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x20,0x63,0x75,0x74,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74, + 0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x31,0x29,0x20,0x6f, + 0x75,0x74,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x74,0x6f,0x5f,0x63,0x61,0x6d, + 0x65,0x72,0x61,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61, + 0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x32,0x29,0x20,0x6f,0x75,0x74,0x20,0x76,0x65, + 0x63,0x33,0x20,0x76,0x5f,0x77,0x6f,0x72,0x6c,0x64,0x3b,0x0a,0x6c,0x61,0x79,0x6f, + 0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29, + 0x20,0x6f,0x75,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x63,0x6c,0x69, + 0x70,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69, + 0x6f,0x6e,0x20,0x3d,0x20,0x34,0x29,0x20,0x6f,0x75,0x74,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x76,0x5f,0x73,0x77,0x61,0x74,0x63,0x68,0x3b,0x0a,0x6c,0x61,0x79,0x6f, + 0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x39,0x29, + 0x20,0x6f,0x75,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x74,0x69,0x6e, + 0x74,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69, + 0x6f,0x6e,0x20,0x3d,0x20,0x33,0x29,0x20,0x69,0x6e,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x20,0x74,0x69,0x6e,0x74,0x3b,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69, + 0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x5f, + 0x31,0x34,0x20,0x3d,0x20,0x64,0x61,0x74,0x61,0x5f,0x6e,0x20,0x2a,0x20,0x32,0x35, + 0x35,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x5f,0x32,0x38, + 0x20,0x3d,0x20,0x69,0x6e,0x74,0x28,0x69,0x6e,0x73,0x74,0x61,0x6e,0x63,0x65,0x2e, + 0x77,0x20,0x2b,0x20,0x30,0x2e,0x35,0x29,0x20,0x2a,0x20,0x33,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x6d,0x61,0x74,0x33,0x20,0x5f,0x37,0x31,0x20,0x3d,0x20,0x74,0x72,0x61, + 0x6e,0x73,0x70,0x6f,0x73,0x65,0x28,0x6d,0x61,0x74,0x33,0x28,0x76,0x65,0x63,0x33, + 0x28,0x74,0x72,0x69,0x6c,0x65,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x5f,0x32, + 0x38,0x20,0x2a,0x20,0x31,0x20,0x2b,0x20,0x30,0x5d,0x2e,0x78,0x79,0x7a,0x29,0x2c, + 0x20,0x76,0x65,0x63,0x33,0x28,0x74,0x72,0x69,0x6c,0x65,0x5f,0x70,0x61,0x72,0x61, + 0x6d,0x73,0x5b,0x28,0x5f,0x32,0x38,0x20,0x2b,0x20,0x31,0x29,0x20,0x2a,0x20,0x31, + 0x20,0x2b,0x20,0x30,0x5d,0x2e,0x78,0x79,0x7a,0x29,0x2c,0x20,0x76,0x65,0x63,0x33, + 0x28,0x74,0x72,0x69,0x6c,0x65,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x28,0x5f, + 0x32,0x38,0x20,0x2b,0x20,0x32,0x29,0x20,0x2a,0x20,0x31,0x20,0x2b,0x20,0x30,0x5d, + 0x2e,0x78,0x79,0x7a,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63, + 0x33,0x20,0x5f,0x38,0x35,0x20,0x3d,0x20,0x28,0x28,0x5f,0x37,0x31,0x20,0x2a,0x20, + 0x28,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x20,0x2d,0x20,0x76,0x65,0x63,0x33, + 0x28,0x30,0x2e,0x35,0x29,0x29,0x29,0x20,0x2b,0x20,0x76,0x65,0x63,0x33,0x28,0x30, + 0x2e,0x35,0x29,0x29,0x20,0x2b,0x20,0x69,0x6e,0x73,0x74,0x61,0x6e,0x63,0x65,0x2e, + 0x78,0x79,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x5f,0x39,0x32, + 0x20,0x3d,0x20,0x69,0x6e,0x74,0x28,0x5f,0x31,0x34,0x2e,0x7a,0x20,0x2b,0x20,0x30, + 0x2e,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x6e,0x6f, + 0x72,0x6d,0x61,0x6c,0x20,0x3d,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x5b,0x5f,0x39,0x32, + 0x20,0x2f,0x20,0x32,0x5d,0x20,0x3d,0x20,0x28,0x28,0x5f,0x39,0x32,0x20,0x25,0x20, + 0x32,0x29,0x20,0x3d,0x3d,0x20,0x30,0x29,0x20,0x3f,0x20,0x31,0x2e,0x30,0x20,0x3a, + 0x20,0x28,0x2d,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x5f,0x6e, + 0x6f,0x72,0x6d,0x61,0x6c,0x20,0x3d,0x20,0x5f,0x37,0x31,0x20,0x2a,0x20,0x6e,0x6f, + 0x72,0x6d,0x61,0x6c,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x5f,0x66,0x61,0x63,0x69, + 0x6e,0x67,0x20,0x3d,0x20,0x73,0x6d,0x6f,0x6f,0x74,0x68,0x73,0x74,0x65,0x70,0x28, + 0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x33,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31, + 0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x2c, + 0x20,0x64,0x6f,0x74,0x28,0x76,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x2c,0x20,0x76, + 0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x31,0x30,0x5d,0x2e,0x78, + 0x79,0x7a,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x5f,0x61,0x6f,0x20,0x3d, + 0x20,0x5f,0x31,0x34,0x2e,0x79,0x20,0x2a,0x20,0x30,0x2e,0x33,0x33,0x33,0x33,0x33, + 0x33,0x33,0x34,0x33,0x32,0x36,0x37,0x34,0x34,0x30,0x37,0x39,0x35,0x38,0x39,0x38, + 0x34,0x33,0x37,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x5f,0x73,0x68,0x61,0x64, + 0x65,0x20,0x3d,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b, + 0x31,0x32,0x5d,0x2e,0x78,0x79,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x5f,0x73, + 0x75,0x6e,0x20,0x3d,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73, + 0x5b,0x31,0x31,0x5d,0x2e,0x78,0x79,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65, + 0x63,0x34,0x20,0x5f,0x31,0x35,0x30,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x5f, + 0x38,0x35,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x67,0x6c, + 0x5f,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x6d,0x61,0x74,0x34, + 0x28,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x30,0x5d,0x2c, + 0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x31,0x5d,0x2c, + 0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x32,0x5d,0x2c, + 0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x33,0x5d,0x29, + 0x20,0x2a,0x20,0x5f,0x31,0x35,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x5f,0x63, + 0x75,0x74,0x20,0x3d,0x20,0x28,0x74,0x72,0x69,0x6c,0x65,0x5f,0x70,0x61,0x72,0x61, + 0x6d,0x73,0x5b,0x37,0x32,0x5d,0x2e,0x78,0x20,0x3e,0x20,0x30,0x2e,0x35,0x29,0x20, + 0x3f,0x20,0x30,0x2e,0x30,0x20,0x3a,0x20,0x63,0x75,0x74,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x69,0x66,0x20,0x28,0x76,0x5f,0x63,0x75,0x74,0x20,0x3e,0x20,0x30,0x2e,0x39, + 0x39,0x39,0x30,0x30,0x30,0x30,0x31,0x32,0x38,0x37,0x34,0x36,0x30,0x33,0x32,0x37, + 0x31,0x34,0x38,0x34,0x33,0x37,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x6c,0x5f,0x50,0x6f,0x73,0x69,0x74,0x69, + 0x6f,0x6e,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x30,0x2e,0x30,0x2c,0x20,0x30, + 0x2e,0x30,0x2c,0x20,0x32,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x76,0x5f,0x74,0x6f,0x5f,0x63,0x61, + 0x6d,0x65,0x72,0x61,0x20,0x3d,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61, + 0x6d,0x73,0x5b,0x38,0x5d,0x2e,0x78,0x79,0x7a,0x20,0x2d,0x20,0x5f,0x38,0x35,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x76,0x5f,0x77,0x6f,0x72,0x6c,0x64,0x20,0x3d,0x20,0x5f, + 0x38,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x5f,0x63,0x6c,0x69,0x70,0x20,0x3d, + 0x20,0x64,0x6f,0x74,0x28,0x5f,0x31,0x35,0x30,0x2c,0x20,0x76,0x69,0x65,0x77,0x5f, + 0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x39,0x5d,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x76,0x5f,0x73,0x77,0x61,0x74,0x63,0x68,0x20,0x3d,0x20,0x5f,0x31,0x34,0x2e,0x78, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x5f,0x74,0x69,0x6e,0x74,0x20,0x3d,0x20,0x74, + 0x69,0x6e,0x74,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, ]; /* #version 430 - layout(binding = 16) uniform sampler2D palette_palette_smp; + const float _499[16] = float[](0.0, 8.0, 2.0, 10.0, 12.0, 4.0, 14.0, 6.0, 3.0, 11.0, 1.0, 9.0, 15.0, 7.0, 13.0, 5.0); + uniform vec4 shadow_params[4]; + uniform vec4 trile_fs_params[4]; + layout(binding = 16) uniform sampler2D palette_palette_smp; + layout(binding = 17) uniform sampler2DShadow shadow_map_shadow_smp; + layout(binding = 18) uniform sampler2D shadow_tint_shadow_tint_smp; + layout(binding = 19) uniform sampler3D probe_index_probe_smp; + layout(binding = 20) uniform sampler3D probe_atlas_probe_smp; + layout(binding = 21) uniform sampler2D trile_reflection_trile_reflection_smp; + layout(binding = 22) uniform sampler2D trile_reflection_glow_trile_reflection_smp; + + layout(location = 1) out vec4 frag_glow; + layout(location = 2) out vec4 frag_scene; layout(location = 0) in float v_clip; - layout(location = 1) in float v_swatch; - layout(location = 2) in float v_ao; - layout(location = 3) in float v_tint; + layout(location = 10) in float v_cut; + layout(location = 4) in float v_swatch; + layout(location = 9) in float v_tint; + layout(location = 5) in float v_facing; + layout(location = 2) in vec3 v_world; + layout(location = 3) in vec3 v_normal; + layout(location = 6) in float v_ao; + layout(location = 7) in vec3 v_shade; + layout(location = 8) in vec3 v_sun; + layout(location = 1) in vec3 v_to_camera; layout(location = 0) out vec4 frag_color; + float dither(vec2 pixel) + { + ivec2 _482 = ivec2(pixel) % ivec2(4); + return (_499[(_482.y * 4) + _482.x] + 0.5) * 0.0625; + } + + vec3 sun_shadow(vec3 world, vec3 normal) + { + vec3 _73 = normal * 0.03125; + vec4 _107 = mat4(shadow_params[0], shadow_params[1], shadow_params[2], shadow_params[3]) * vec4((((floor((world - _73) * 16.0) + vec3(0.5)) * vec3(0.0625)) + _73) + (normal * 0.0199999995529651641845703125), 1.0); + float _109 = _107.x; + bool _111 = _109 < 0.0; + bool _118; + if (!_111) + { + _118 = _109 > 1.0; + } + else + { + _118 = _111; + } + bool _125; + if (!_118) + { + _125 = _107.y < 0.0; + } + else + { + _125 = _118; + } + bool _132; + if (!_125) + { + _132 = _107.y > 1.0; + } + else + { + _132 = _125; + } + bool _139; + if (!_132) + { + _139 = _107.z > 1.0; + } + else + { + _139 = _132; + } + if (_139) + { + return vec3(1.0); + } + float _161 = _107.z - 0.0005000000237487256526947021484375; + return texture(shadow_tint_shadow_tint_smp, _107.xy).xyz * texture(shadow_map_shadow_smp, vec3(vec3(_109, _107.y, _161).xy, _161)); + } + + bool probe_at(ivec3 cell, inout vec4 r, inout vec4 g, inout vec4 b) + { + ivec3 _188 = ivec3(floor(vec3(cell) * vec3(0.03125))); + ivec3 _200 = _188 - ivec3(trile_fs_params[1].xyz); + bool _205 = any(lessThan(_200, ivec3(0))); + bool _217; + if (!_205) + { + _217 = any(greaterThanEqual(_200, ivec3(trile_fs_params[2].xyz))); + } + else + { + _217 = _205; + } + if (_217) + { + return false; + } + vec2 _238 = (texelFetch(probe_index_probe_smp, _200, 0).xy * 255.0) + vec2(0.5); + int _250 = (int(_238.x) + (int(_238.y) * 256)) - 1; + if (_250 < 0) + { + return false; + } + ivec3 _262 = cell - (_188 * ivec3(32)); + ivec3 _281 = ivec3(_262.x * 3, ((_250 % 16) * 32) + _262.y, ((_250 / 16) * 32) + _262.z); + r = texelFetch(probe_atlas_probe_smp, _281, 0); + g = texelFetch(probe_atlas_probe_smp, _281 + ivec3(1, 0, 0), 0); + b = texelFetch(probe_atlas_probe_smp, _281 + ivec3(2, 0, 0), 0); + return r.x >= 0.0; + } + + vec4 probe_light(vec3 world, vec3 normal) + { + vec3 _312 = normal * 0.03125; + vec3 _324 = ((floor((world - _312) * 16.0) + vec3(0.5)) * vec3(0.0625)) + _312; + vec3 _331 = (_324 + (normal * 0.5)) - vec3(0.5); + ivec3 _335 = ivec3(floor(_331)); + vec3 _340 = _331 - vec3(_335); + vec4 sum_r = vec4(0.0); + vec4 sum_g = vec4(0.0); + vec4 sum_b = vec4(0.0); + float total = 0.0; + vec4 param_1; + vec4 param_2; + vec4 param_3; + for (int i = 0; i < 8; i++) + { + ivec3 _363 = ivec3(i & 1, (i >> 1) & 1, i >> 2); + ivec3 _367 = _335 + _363; + if (dot((vec3(_367) + vec3(0.5)) - _324, normal) < 0.00999999977648258209228515625) + { + continue; + } + ivec3 param = _367; + bool _389 = probe_at(param, param_1, param_2, param_3); + if (!_389) + { + continue; + } + vec3 _404 = mix(vec3(1.0) - _340, _340, vec3(_363)); + float _415 = max((_404.x * _404.y) * _404.z, 9.9999997473787516355514526367188e-05); + sum_r += (param_1 * _415); + sum_g += (param_2 * _415); + sum_b += (param_3 * _415); + total += _415; + } + if (total == 0.0) + { + return vec4(0.0); + } + vec4 _453 = vec4(0.2820949852466583251953125, 0.3257350027561187744140625 * normal.y, 0.3257350027561187744140625 * normal.z, 0.3257350027561187744140625 * normal.x); + return vec4(max(vec3(dot(sum_r, _453), dot(sum_g, _453), dot(sum_b, _453)) / vec3(total), vec3(0.0)), 1.0); + } + + float brightest(vec3 c) + { + return max(c.x, max(c.y, c.z)); + } + + void write_scene(vec3 to_camera, float glow) + { + frag_glow = vec4(glow); + frag_scene = vec4(length(to_camera)); + } + void main() { - if (v_clip < 0.0) + bool _517 = v_clip < 0.0; + bool _530; + if (!_517) + { + vec2 param = gl_FragCoord.xy; + _530 = v_cut > dither(param); + } + else + { + _530 = _517; + } + if (_530) { discard; } - vec3 albedo = texelFetch(palette_palette_smp, ivec2(int(v_swatch + 0.5), 0), 0).xyz * mix(0.4000000059604644775390625, 1.0, v_ao); + int _538 = int(v_swatch + 0.5); + vec4 _548 = texelFetch(palette_palette_smp, ivec2(_538, 0), 0); + vec4 _556 = texelFetch(palette_palette_smp, ivec2(_538, 1), 0); + vec3 albedo = _548.xyz; if (v_tint > 1.5) { albedo = mix(albedo, vec3(1.0, 0.20000000298023223876953125, 0.20000000298023223876953125), vec3(0.5)); @@ -436,74 +1200,748 @@ vs_trile_source_glsl430 := u8.[ albedo = mix(albedo, vec3(0.20000000298023223876953125, 1.0, 0.20000000298023223876953125), vec3(0.5)); } } - frag_color = vec4(albedo, 1.0); + vec3 param_1 = v_world; + vec3 param_2 = v_normal; + vec3 _590 = sun_shadow(param_1, param_2); + vec3 _591 = _590 * v_facing; + vec4 _605; + if (trile_fs_params[1].w > 0.5) + { + vec3 param_3 = v_world; + vec3 param_4 = v_normal; + _605 = probe_light(param_3, param_4); + } + else + { + _605 = vec4(0.0); + } + vec3 color = albedo * mix((v_shade + _605.xyz) * mix(0.60000002384185791015625, 1.0, v_ao), v_sun, _591 * mix(0.25, 1.0, v_ao)); + vec3 param_5 = _591; + float _638 = brightest(param_5); + if (_638 > 0.001000000047497451305389404296875) + { + color = mix(color, _591 * v_sun, vec3(min(1.0, ((_638 - min(_591.x, min(_591.y, _591.z))) / _638) * 2.0))); + } + float _668 = _548.w; + float glow = _668 * 8.0; + float _671 = _556.z; + if (_671 > 0.0) + { + float _696 = pow(max(dot(v_normal, normalize(normalize(v_to_camera) + trile_fs_params[0].xyz)), 0.0), mix(4.0, 96.0, _671)) * _671; + color += ((v_sun * _591) * _696); + vec3 param_6 = _591; + glow += ((_696 * brightest(param_6)) * 4.0); + } + bool _714 = trile_fs_params[3].x > 0.5; + bool _720; + if (_714) + { + _720 = _556.y > 0.0; + } + else + { + _720 = _714; + } + bool _726; + if (_720) + { + _726 = v_normal.y > 0.5; + } + else + { + _726 = _720; + } + bool _736; + if (_726) + { + _736 = abs(v_world.y - trile_fs_params[3].y) < 0.0199999995529651641845703125; + } + else + { + _736 = _726; + } + if (_736) + { + vec2 _750 = gl_FragCoord.xy / vec2(textureSize(trile_reflection_trile_reflection_smp, 0)); + vec2 _757 = vec2(_750.x, 1.0 - _750.y); + float _766 = _556.y; + color = mix(color, texture(trile_reflection_trile_reflection_smp, _757).xyz, vec3(_766)); + glow = max(glow, texture(trile_reflection_glow_trile_reflection_smp, _757).x * pow(_766, 0.4000000059604644775390625)); + } + frag_color = vec4(mix(color, albedo, vec3(_668)), 1.0); + vec3 param_7 = v_to_camera; + float param_8 = glow; + write_scene(param_7, param_8); } */ fs_trile_source_glsl430 := u8.[ + 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x34,0x33,0x30,0x0a,0x0a,0x63,0x6f, + 0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x34,0x39,0x39,0x5b,0x31, + 0x36,0x5d,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x5b,0x5d,0x28,0x30,0x2e,0x30, + 0x2c,0x20,0x38,0x2e,0x30,0x2c,0x20,0x32,0x2e,0x30,0x2c,0x20,0x31,0x30,0x2e,0x30, + 0x2c,0x20,0x31,0x32,0x2e,0x30,0x2c,0x20,0x34,0x2e,0x30,0x2c,0x20,0x31,0x34,0x2e, + 0x30,0x2c,0x20,0x36,0x2e,0x30,0x2c,0x20,0x33,0x2e,0x30,0x2c,0x20,0x31,0x31,0x2e, + 0x30,0x2c,0x20,0x31,0x2e,0x30,0x2c,0x20,0x39,0x2e,0x30,0x2c,0x20,0x31,0x35,0x2e, + 0x30,0x2c,0x20,0x37,0x2e,0x30,0x2c,0x20,0x31,0x33,0x2e,0x30,0x2c,0x20,0x35,0x2e, + 0x30,0x29,0x3b,0x0a,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x76,0x65,0x63, + 0x34,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b, + 0x34,0x5d,0x3b,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x76,0x65,0x63,0x34, + 0x20,0x74,0x72,0x69,0x6c,0x65,0x5f,0x66,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73, + 0x5b,0x34,0x5d,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x62,0x69,0x6e,0x64, + 0x69,0x6e,0x67,0x20,0x3d,0x20,0x31,0x36,0x29,0x20,0x75,0x6e,0x69,0x66,0x6f,0x72, + 0x6d,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x70,0x61,0x6c,0x65, + 0x74,0x74,0x65,0x5f,0x70,0x61,0x6c,0x65,0x74,0x74,0x65,0x5f,0x73,0x6d,0x70,0x3b, + 0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x62,0x69,0x6e,0x64,0x69,0x6e,0x67,0x20, + 0x3d,0x20,0x31,0x37,0x29,0x20,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x73,0x61, + 0x6d,0x70,0x6c,0x65,0x72,0x32,0x44,0x53,0x68,0x61,0x64,0x6f,0x77,0x20,0x73,0x68, + 0x61,0x64,0x6f,0x77,0x5f,0x6d,0x61,0x70,0x5f,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f, + 0x73,0x6d,0x70,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x62,0x69,0x6e,0x64, + 0x69,0x6e,0x67,0x20,0x3d,0x20,0x31,0x38,0x29,0x20,0x75,0x6e,0x69,0x66,0x6f,0x72, + 0x6d,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x73,0x68,0x61,0x64, + 0x6f,0x77,0x5f,0x74,0x69,0x6e,0x74,0x5f,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x74, + 0x69,0x6e,0x74,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28, + 0x62,0x69,0x6e,0x64,0x69,0x6e,0x67,0x20,0x3d,0x20,0x31,0x39,0x29,0x20,0x75,0x6e, + 0x69,0x66,0x6f,0x72,0x6d,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x33,0x44,0x20, + 0x70,0x72,0x6f,0x62,0x65,0x5f,0x69,0x6e,0x64,0x65,0x78,0x5f,0x70,0x72,0x6f,0x62, + 0x65,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x62,0x69, + 0x6e,0x64,0x69,0x6e,0x67,0x20,0x3d,0x20,0x32,0x30,0x29,0x20,0x75,0x6e,0x69,0x66, + 0x6f,0x72,0x6d,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x33,0x44,0x20,0x70,0x72, + 0x6f,0x62,0x65,0x5f,0x61,0x74,0x6c,0x61,0x73,0x5f,0x70,0x72,0x6f,0x62,0x65,0x5f, + 0x73,0x6d,0x70,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x62,0x69,0x6e,0x64, + 0x69,0x6e,0x67,0x20,0x3d,0x20,0x32,0x31,0x29,0x20,0x75,0x6e,0x69,0x66,0x6f,0x72, + 0x6d,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x74,0x72,0x69,0x6c, + 0x65,0x5f,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x74,0x72,0x69, + 0x6c,0x65,0x5f,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6d, + 0x70,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x62,0x69,0x6e,0x64,0x69,0x6e, + 0x67,0x20,0x3d,0x20,0x32,0x32,0x29,0x20,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20, + 0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x74,0x72,0x69,0x6c,0x65,0x5f, + 0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x67,0x6c,0x6f,0x77,0x5f, + 0x74,0x72,0x69,0x6c,0x65,0x5f,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e, + 0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f, + 0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x31,0x29,0x20,0x6f,0x75,0x74,0x20, + 0x76,0x65,0x63,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x3b,0x0a, + 0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20, + 0x3d,0x20,0x32,0x29,0x20,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x34,0x20,0x66,0x72, + 0x61,0x67,0x5f,0x73,0x63,0x65,0x6e,0x65,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74, + 0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x69, + 0x6e,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x63,0x6c,0x69,0x70,0x3b,0x0a, + 0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20, + 0x3d,0x20,0x31,0x30,0x29,0x20,0x69,0x6e,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76, + 0x5f,0x63,0x75,0x74,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63, + 0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x34,0x29,0x20,0x69,0x6e,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x20,0x76,0x5f,0x73,0x77,0x61,0x74,0x63,0x68,0x3b,0x0a,0x6c,0x61, + 0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20, + 0x39,0x29,0x20,0x69,0x6e,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x74,0x69, + 0x6e,0x74,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74, + 0x69,0x6f,0x6e,0x20,0x3d,0x20,0x35,0x29,0x20,0x69,0x6e,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x76,0x5f,0x66,0x61,0x63,0x69,0x6e,0x67,0x3b,0x0a,0x6c,0x61,0x79,0x6f, + 0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x32,0x29, + 0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x77,0x6f,0x72,0x6c,0x64, + 0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f, + 0x6e,0x20,0x3d,0x20,0x33,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x33,0x20,0x76, + 0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28, + 0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x36,0x29,0x20,0x69,0x6e, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x61,0x6f,0x3b,0x0a,0x6c,0x61,0x79, + 0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x37, + 0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x73,0x68,0x61,0x64, + 0x65,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69, + 0x6f,0x6e,0x20,0x3d,0x20,0x38,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x33,0x20, + 0x76,0x5f,0x73,0x75,0x6e,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f, + 0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x31,0x29,0x20,0x69,0x6e,0x20,0x76, + 0x65,0x63,0x33,0x20,0x76,0x5f,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x3b, + 0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e, + 0x20,0x3d,0x20,0x30,0x29,0x20,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x34,0x20,0x66, + 0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x0a,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x64,0x69,0x74,0x68,0x65,0x72,0x28,0x76,0x65,0x63,0x32,0x20,0x70,0x69, + 0x78,0x65,0x6c,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x32, + 0x20,0x5f,0x34,0x38,0x32,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x70,0x69, + 0x78,0x65,0x6c,0x29,0x20,0x25,0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x34,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x28,0x5f,0x34,0x39, + 0x39,0x5b,0x28,0x5f,0x34,0x38,0x32,0x2e,0x79,0x20,0x2a,0x20,0x34,0x29,0x20,0x2b, + 0x20,0x5f,0x34,0x38,0x32,0x2e,0x78,0x5d,0x20,0x2b,0x20,0x30,0x2e,0x35,0x29,0x20, + 0x2a,0x20,0x30,0x2e,0x30,0x36,0x32,0x35,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x65,0x63, + 0x33,0x20,0x73,0x75,0x6e,0x5f,0x73,0x68,0x61,0x64,0x6f,0x77,0x28,0x76,0x65,0x63, + 0x33,0x20,0x77,0x6f,0x72,0x6c,0x64,0x2c,0x20,0x76,0x65,0x63,0x33,0x20,0x6e,0x6f, + 0x72,0x6d,0x61,0x6c,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33, + 0x20,0x5f,0x37,0x33,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x20,0x2a,0x20, + 0x30,0x2e,0x30,0x33,0x31,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63, + 0x34,0x20,0x5f,0x31,0x30,0x37,0x20,0x3d,0x20,0x6d,0x61,0x74,0x34,0x28,0x73,0x68, + 0x61,0x64,0x6f,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x30,0x5d,0x2c,0x20, + 0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x31,0x5d, + 0x2c,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b, + 0x32,0x5d,0x2c,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d, + 0x73,0x5b,0x33,0x5d,0x29,0x20,0x2a,0x20,0x76,0x65,0x63,0x34,0x28,0x28,0x28,0x28, + 0x66,0x6c,0x6f,0x6f,0x72,0x28,0x28,0x77,0x6f,0x72,0x6c,0x64,0x20,0x2d,0x20,0x5f, + 0x37,0x33,0x29,0x20,0x2a,0x20,0x31,0x36,0x2e,0x30,0x29,0x20,0x2b,0x20,0x76,0x65, + 0x63,0x33,0x28,0x30,0x2e,0x35,0x29,0x29,0x20,0x2a,0x20,0x76,0x65,0x63,0x33,0x28, + 0x30,0x2e,0x30,0x36,0x32,0x35,0x29,0x29,0x20,0x2b,0x20,0x5f,0x37,0x33,0x29,0x20, + 0x2b,0x20,0x28,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x20,0x2a,0x20,0x30,0x2e,0x30,0x31, + 0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x35,0x35,0x32,0x39,0x36,0x35,0x31,0x36,0x34, + 0x31,0x38,0x34,0x35,0x37,0x30,0x33,0x31,0x32,0x35,0x29,0x2c,0x20,0x31,0x2e,0x30, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x30, + 0x39,0x20,0x3d,0x20,0x5f,0x31,0x30,0x37,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x31,0x31,0x20,0x3d,0x20,0x5f,0x31,0x30,0x39, + 0x20,0x3c,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c, + 0x20,0x5f,0x31,0x31,0x38,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21, + 0x5f,0x31,0x31,0x31,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x5f,0x31,0x31,0x38,0x20,0x3d,0x20,0x5f,0x31,0x30,0x39,0x20, + 0x3e,0x20,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20, + 0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x5f,0x31,0x31,0x38,0x20,0x3d,0x20,0x5f,0x31,0x31,0x31,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20, + 0x5f,0x31,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x5f, + 0x31,0x31,0x38,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x5f,0x31,0x32,0x35,0x20,0x3d,0x20,0x5f,0x31,0x30,0x37,0x2e,0x79, + 0x20,0x3c,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20, + 0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x32,0x35,0x20,0x3d,0x20,0x5f,0x31,0x31,0x38, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c, + 0x20,0x5f,0x31,0x33,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21, + 0x5f,0x31,0x32,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x5f,0x31,0x33,0x32,0x20,0x3d,0x20,0x5f,0x31,0x30,0x37,0x2e, + 0x79,0x20,0x3e,0x20,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, + 0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x33,0x32,0x20,0x3d,0x20,0x5f,0x31,0x32, + 0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f, + 0x6c,0x20,0x5f,0x31,0x33,0x39,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28, + 0x21,0x5f,0x31,0x33,0x32,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x33,0x39,0x20,0x3d,0x20,0x5f,0x31,0x30,0x37, + 0x2e,0x7a,0x20,0x3e,0x20,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a, + 0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x33,0x39,0x20,0x3d,0x20,0x5f,0x31, + 0x33,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x66, + 0x20,0x28,0x5f,0x31,0x33,0x39,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x76,0x65,0x63, + 0x33,0x28,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20, + 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x36,0x31,0x20,0x3d,0x20,0x5f, + 0x31,0x30,0x37,0x2e,0x7a,0x20,0x2d,0x20,0x30,0x2e,0x30,0x30,0x30,0x35,0x30,0x30, + 0x30,0x30,0x30,0x30,0x32,0x33,0x37,0x34,0x38,0x37,0x32,0x35,0x36,0x35,0x32,0x36, + 0x39,0x34,0x37,0x30,0x32,0x31,0x34,0x38,0x34,0x33,0x37,0x35,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65, + 0x28,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x74,0x69,0x6e,0x74,0x5f,0x73,0x68,0x61, + 0x64,0x6f,0x77,0x5f,0x74,0x69,0x6e,0x74,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x5f,0x31, + 0x30,0x37,0x2e,0x78,0x79,0x29,0x2e,0x78,0x79,0x7a,0x20,0x2a,0x20,0x74,0x65,0x78, + 0x74,0x75,0x72,0x65,0x28,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x6d,0x61,0x70,0x5f, + 0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x76,0x65,0x63,0x33, + 0x28,0x76,0x65,0x63,0x33,0x28,0x5f,0x31,0x30,0x39,0x2c,0x20,0x5f,0x31,0x30,0x37, + 0x2e,0x79,0x2c,0x20,0x5f,0x31,0x36,0x31,0x29,0x2e,0x78,0x79,0x2c,0x20,0x5f,0x31, + 0x36,0x31,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x62,0x6f,0x6f,0x6c,0x20,0x70,0x72, + 0x6f,0x62,0x65,0x5f,0x61,0x74,0x28,0x69,0x76,0x65,0x63,0x33,0x20,0x63,0x65,0x6c, + 0x6c,0x2c,0x20,0x69,0x6e,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x34,0x20,0x72,0x2c, + 0x20,0x69,0x6e,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x34,0x20,0x67,0x2c,0x20,0x69, + 0x6e,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x34,0x20,0x62,0x29,0x0a,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x5f,0x31,0x38,0x38,0x20,0x3d,0x20, + 0x69,0x76,0x65,0x63,0x33,0x28,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x76,0x65,0x63,0x33, + 0x28,0x63,0x65,0x6c,0x6c,0x29,0x20,0x2a,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e, + 0x30,0x33,0x31,0x32,0x35,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76, + 0x65,0x63,0x33,0x20,0x5f,0x32,0x30,0x30,0x20,0x3d,0x20,0x5f,0x31,0x38,0x38,0x20, + 0x2d,0x20,0x69,0x76,0x65,0x63,0x33,0x28,0x74,0x72,0x69,0x6c,0x65,0x5f,0x66,0x73, + 0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x31,0x5d,0x2e,0x78,0x79,0x7a,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x32,0x30,0x35,0x20,0x3d, + 0x20,0x61,0x6e,0x79,0x28,0x6c,0x65,0x73,0x73,0x54,0x68,0x61,0x6e,0x28,0x5f,0x32, + 0x30,0x30,0x2c,0x20,0x69,0x76,0x65,0x63,0x33,0x28,0x30,0x29,0x29,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x32,0x31,0x37,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x5f,0x32,0x30,0x35,0x29,0x0a,0x20,0x20, + 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x31,0x37, + 0x20,0x3d,0x20,0x61,0x6e,0x79,0x28,0x67,0x72,0x65,0x61,0x74,0x65,0x72,0x54,0x68, + 0x61,0x6e,0x45,0x71,0x75,0x61,0x6c,0x28,0x5f,0x32,0x30,0x30,0x2c,0x20,0x69,0x76, + 0x65,0x63,0x33,0x28,0x74,0x72,0x69,0x6c,0x65,0x5f,0x66,0x73,0x5f,0x70,0x61,0x72, + 0x61,0x6d,0x73,0x5b,0x32,0x5d,0x2e,0x78,0x79,0x7a,0x29,0x29,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20, + 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x32,0x31,0x37, + 0x20,0x3d,0x20,0x5f,0x32,0x30,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, + 0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x32,0x31,0x37,0x29,0x0a,0x20,0x20,0x20, + 0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72, + 0x6e,0x20,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, + 0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x32,0x33,0x38,0x20,0x3d,0x20,0x28, + 0x74,0x65,0x78,0x65,0x6c,0x46,0x65,0x74,0x63,0x68,0x28,0x70,0x72,0x6f,0x62,0x65, + 0x5f,0x69,0x6e,0x64,0x65,0x78,0x5f,0x70,0x72,0x6f,0x62,0x65,0x5f,0x73,0x6d,0x70, + 0x2c,0x20,0x5f,0x32,0x30,0x30,0x2c,0x20,0x30,0x29,0x2e,0x78,0x79,0x20,0x2a,0x20, + 0x32,0x35,0x35,0x2e,0x30,0x29,0x20,0x2b,0x20,0x76,0x65,0x63,0x32,0x28,0x30,0x2e, + 0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x5f,0x32,0x35,0x30, + 0x20,0x3d,0x20,0x28,0x69,0x6e,0x74,0x28,0x5f,0x32,0x33,0x38,0x2e,0x78,0x29,0x20, + 0x2b,0x20,0x28,0x69,0x6e,0x74,0x28,0x5f,0x32,0x33,0x38,0x2e,0x79,0x29,0x20,0x2a, + 0x20,0x32,0x35,0x36,0x29,0x29,0x20,0x2d,0x20,0x31,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x69,0x66,0x20,0x28,0x5f,0x32,0x35,0x30,0x20,0x3c,0x20,0x30,0x29,0x0a,0x20,0x20, + 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75, + 0x72,0x6e,0x20,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a, + 0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x36,0x32,0x20,0x3d, + 0x20,0x63,0x65,0x6c,0x6c,0x20,0x2d,0x20,0x28,0x5f,0x31,0x38,0x38,0x20,0x2a,0x20, + 0x69,0x76,0x65,0x63,0x33,0x28,0x33,0x32,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x69,0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x38,0x31,0x20,0x3d,0x20,0x69,0x76,0x65, + 0x63,0x33,0x28,0x5f,0x32,0x36,0x32,0x2e,0x78,0x20,0x2a,0x20,0x33,0x2c,0x20,0x28, + 0x28,0x5f,0x32,0x35,0x30,0x20,0x25,0x20,0x31,0x36,0x29,0x20,0x2a,0x20,0x33,0x32, + 0x29,0x20,0x2b,0x20,0x5f,0x32,0x36,0x32,0x2e,0x79,0x2c,0x20,0x28,0x28,0x5f,0x32, + 0x35,0x30,0x20,0x2f,0x20,0x31,0x36,0x29,0x20,0x2a,0x20,0x33,0x32,0x29,0x20,0x2b, + 0x20,0x5f,0x32,0x36,0x32,0x2e,0x7a,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x20, + 0x3d,0x20,0x74,0x65,0x78,0x65,0x6c,0x46,0x65,0x74,0x63,0x68,0x28,0x70,0x72,0x6f, + 0x62,0x65,0x5f,0x61,0x74,0x6c,0x61,0x73,0x5f,0x70,0x72,0x6f,0x62,0x65,0x5f,0x73, + 0x6d,0x70,0x2c,0x20,0x5f,0x32,0x38,0x31,0x2c,0x20,0x30,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x67,0x20,0x3d,0x20,0x74,0x65,0x78,0x65,0x6c,0x46,0x65,0x74,0x63,0x68, + 0x28,0x70,0x72,0x6f,0x62,0x65,0x5f,0x61,0x74,0x6c,0x61,0x73,0x5f,0x70,0x72,0x6f, + 0x62,0x65,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x5f,0x32,0x38,0x31,0x20,0x2b,0x20,0x69, + 0x76,0x65,0x63,0x33,0x28,0x31,0x2c,0x20,0x30,0x2c,0x20,0x30,0x29,0x2c,0x20,0x30, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x20,0x3d,0x20,0x74,0x65,0x78,0x65,0x6c, + 0x46,0x65,0x74,0x63,0x68,0x28,0x70,0x72,0x6f,0x62,0x65,0x5f,0x61,0x74,0x6c,0x61, + 0x73,0x5f,0x70,0x72,0x6f,0x62,0x65,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x5f,0x32,0x38, + 0x31,0x20,0x2b,0x20,0x69,0x76,0x65,0x63,0x33,0x28,0x32,0x2c,0x20,0x30,0x2c,0x20, + 0x30,0x29,0x2c,0x20,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75, + 0x72,0x6e,0x20,0x72,0x2e,0x78,0x20,0x3e,0x3d,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x7d, + 0x0a,0x0a,0x76,0x65,0x63,0x34,0x20,0x70,0x72,0x6f,0x62,0x65,0x5f,0x6c,0x69,0x67, + 0x68,0x74,0x28,0x76,0x65,0x63,0x33,0x20,0x77,0x6f,0x72,0x6c,0x64,0x2c,0x20,0x76, + 0x65,0x63,0x33,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x29,0x0a,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x33,0x31,0x32,0x20,0x3d,0x20,0x6e,0x6f, + 0x72,0x6d,0x61,0x6c,0x20,0x2a,0x20,0x30,0x2e,0x30,0x33,0x31,0x32,0x35,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x33,0x32,0x34,0x20,0x3d,0x20, + 0x28,0x28,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x28,0x77,0x6f,0x72,0x6c,0x64,0x20,0x2d, + 0x20,0x5f,0x33,0x31,0x32,0x29,0x20,0x2a,0x20,0x31,0x36,0x2e,0x30,0x29,0x20,0x2b, + 0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x35,0x29,0x29,0x20,0x2a,0x20,0x76,0x65, + 0x63,0x33,0x28,0x30,0x2e,0x30,0x36,0x32,0x35,0x29,0x29,0x20,0x2b,0x20,0x5f,0x33, + 0x31,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x33,0x33, + 0x31,0x20,0x3d,0x20,0x28,0x5f,0x33,0x32,0x34,0x20,0x2b,0x20,0x28,0x6e,0x6f,0x72, + 0x6d,0x61,0x6c,0x20,0x2a,0x20,0x30,0x2e,0x35,0x29,0x29,0x20,0x2d,0x20,0x76,0x65, + 0x63,0x33,0x28,0x30,0x2e,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65, + 0x63,0x33,0x20,0x5f,0x33,0x33,0x35,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33,0x28, + 0x66,0x6c,0x6f,0x6f,0x72,0x28,0x5f,0x33,0x33,0x31,0x29,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x33,0x34,0x30,0x20,0x3d,0x20,0x5f,0x33, + 0x33,0x31,0x20,0x2d,0x20,0x76,0x65,0x63,0x33,0x28,0x5f,0x33,0x33,0x35,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x73,0x75,0x6d,0x5f,0x72,0x20, + 0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x76,0x65,0x63,0x34,0x20,0x73,0x75,0x6d,0x5f,0x67,0x20,0x3d,0x20,0x76,0x65, + 0x63,0x34,0x28,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63, + 0x34,0x20,0x73,0x75,0x6d,0x5f,0x62,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x30, + 0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x74, + 0x6f,0x74,0x61,0x6c,0x20,0x3d,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x76,0x65,0x63,0x34,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x69, + 0x20,0x3d,0x20,0x30,0x3b,0x20,0x69,0x20,0x3c,0x20,0x38,0x3b,0x20,0x69,0x2b,0x2b, + 0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x69,0x76,0x65,0x63,0x33,0x20,0x5f,0x33,0x36,0x33,0x20,0x3d,0x20,0x69,0x76,0x65, + 0x63,0x33,0x28,0x69,0x20,0x26,0x20,0x31,0x2c,0x20,0x28,0x69,0x20,0x3e,0x3e,0x20, + 0x31,0x29,0x20,0x26,0x20,0x31,0x2c,0x20,0x69,0x20,0x3e,0x3e,0x20,0x32,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x5f, + 0x33,0x36,0x37,0x20,0x3d,0x20,0x5f,0x33,0x33,0x35,0x20,0x2b,0x20,0x5f,0x33,0x36, + 0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x64, + 0x6f,0x74,0x28,0x28,0x76,0x65,0x63,0x33,0x28,0x5f,0x33,0x36,0x37,0x29,0x20,0x2b, + 0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x35,0x29,0x29,0x20,0x2d,0x20,0x5f,0x33, + 0x32,0x34,0x2c,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x29,0x20,0x3c,0x20,0x30,0x2e, + 0x30,0x30,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x37,0x36,0x34,0x38,0x32,0x35, + 0x38,0x32,0x30,0x39,0x32,0x32,0x38,0x35,0x31,0x35,0x36,0x32,0x35,0x29,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x5f, + 0x33,0x36,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f, + 0x6c,0x20,0x5f,0x33,0x38,0x39,0x20,0x3d,0x20,0x70,0x72,0x6f,0x62,0x65,0x5f,0x61, + 0x74,0x28,0x70,0x61,0x72,0x61,0x6d,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31, + 0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x33,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20, + 0x28,0x21,0x5f,0x33,0x38,0x39,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f, + 0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f, + 0x34,0x30,0x34,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x76,0x65,0x63,0x33,0x28,0x31, + 0x2e,0x30,0x29,0x20,0x2d,0x20,0x5f,0x33,0x34,0x30,0x2c,0x20,0x5f,0x33,0x34,0x30, + 0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x5f,0x33,0x36,0x33,0x29,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x34,0x31, + 0x35,0x20,0x3d,0x20,0x6d,0x61,0x78,0x28,0x28,0x5f,0x34,0x30,0x34,0x2e,0x78,0x20, + 0x2a,0x20,0x5f,0x34,0x30,0x34,0x2e,0x79,0x29,0x20,0x2a,0x20,0x5f,0x34,0x30,0x34, + 0x2e,0x7a,0x2c,0x20,0x39,0x2e,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x34,0x37,0x33, + 0x37,0x38,0x37,0x35,0x31,0x36,0x33,0x35,0x35,0x35,0x31,0x34,0x35,0x32,0x36,0x33, + 0x36,0x37,0x31,0x38,0x38,0x65,0x2d,0x30,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x73,0x75,0x6d,0x5f,0x72,0x20,0x2b,0x3d,0x20,0x28,0x70,0x61, + 0x72,0x61,0x6d,0x5f,0x31,0x20,0x2a,0x20,0x5f,0x34,0x31,0x35,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x75,0x6d,0x5f,0x67,0x20,0x2b,0x3d,0x20, + 0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x20,0x2a,0x20,0x5f,0x34,0x31,0x35,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x75,0x6d,0x5f,0x62,0x20, + 0x2b,0x3d,0x20,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x20,0x2a,0x20,0x5f,0x34, + 0x31,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x74,0x6f,0x74, + 0x61,0x6c,0x20,0x2b,0x3d,0x20,0x5f,0x34,0x31,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x74,0x6f,0x74,0x61,0x6c,0x20, + 0x3d,0x3d,0x20,0x30,0x2e,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x76,0x65,0x63, + 0x34,0x28,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20, + 0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x34,0x35,0x33,0x20,0x3d,0x20,0x76,0x65, + 0x63,0x34,0x28,0x30,0x2e,0x32,0x38,0x32,0x30,0x39,0x34,0x39,0x38,0x35,0x32,0x34, + 0x36,0x36,0x35,0x38,0x33,0x32,0x35,0x31,0x39,0x35,0x33,0x31,0x32,0x35,0x2c,0x20, + 0x30,0x2e,0x33,0x32,0x35,0x37,0x33,0x35,0x30,0x30,0x32,0x37,0x35,0x36,0x31,0x31, + 0x38,0x37,0x37,0x34,0x34,0x31,0x34,0x30,0x36,0x32,0x35,0x20,0x2a,0x20,0x6e,0x6f, + 0x72,0x6d,0x61,0x6c,0x2e,0x79,0x2c,0x20,0x30,0x2e,0x33,0x32,0x35,0x37,0x33,0x35, + 0x30,0x30,0x32,0x37,0x35,0x36,0x31,0x31,0x38,0x37,0x37,0x34,0x34,0x31,0x34,0x30, + 0x36,0x32,0x35,0x20,0x2a,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x2e,0x7a,0x2c,0x20, + 0x30,0x2e,0x33,0x32,0x35,0x37,0x33,0x35,0x30,0x30,0x32,0x37,0x35,0x36,0x31,0x31, + 0x38,0x37,0x37,0x34,0x34,0x31,0x34,0x30,0x36,0x32,0x35,0x20,0x2a,0x20,0x6e,0x6f, + 0x72,0x6d,0x61,0x6c,0x2e,0x78,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74, + 0x75,0x72,0x6e,0x20,0x76,0x65,0x63,0x34,0x28,0x6d,0x61,0x78,0x28,0x76,0x65,0x63, + 0x33,0x28,0x64,0x6f,0x74,0x28,0x73,0x75,0x6d,0x5f,0x72,0x2c,0x20,0x5f,0x34,0x35, + 0x33,0x29,0x2c,0x20,0x64,0x6f,0x74,0x28,0x73,0x75,0x6d,0x5f,0x67,0x2c,0x20,0x5f, + 0x34,0x35,0x33,0x29,0x2c,0x20,0x64,0x6f,0x74,0x28,0x73,0x75,0x6d,0x5f,0x62,0x2c, + 0x20,0x5f,0x34,0x35,0x33,0x29,0x29,0x20,0x2f,0x20,0x76,0x65,0x63,0x33,0x28,0x74, + 0x6f,0x74,0x61,0x6c,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x29, + 0x29,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x62,0x72,0x69,0x67,0x68,0x74,0x65,0x73,0x74,0x28,0x76,0x65,0x63,0x33, + 0x20,0x63,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e, + 0x20,0x6d,0x61,0x78,0x28,0x63,0x2e,0x78,0x2c,0x20,0x6d,0x61,0x78,0x28,0x63,0x2e, + 0x79,0x2c,0x20,0x63,0x2e,0x7a,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x6f,0x69, + 0x64,0x20,0x77,0x72,0x69,0x74,0x65,0x5f,0x73,0x63,0x65,0x6e,0x65,0x28,0x76,0x65, + 0x63,0x33,0x20,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x2c,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x20,0x67,0x6c,0x6f,0x77,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20, + 0x66,0x72,0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x20,0x3d,0x20,0x76,0x65,0x63,0x34, + 0x28,0x67,0x6c,0x6f,0x77,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67, + 0x5f,0x73,0x63,0x65,0x6e,0x65,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x6c,0x65, + 0x6e,0x67,0x74,0x68,0x28,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x29,0x29, + 0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29, + 0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x35,0x31,0x37, + 0x20,0x3d,0x20,0x76,0x5f,0x63,0x6c,0x69,0x70,0x20,0x3c,0x20,0x30,0x2e,0x30,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x35,0x33,0x30,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x5f,0x35,0x31,0x37,0x29,0x0a,0x20, + 0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63, + 0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x67,0x6c,0x5f,0x46,0x72,0x61, + 0x67,0x43,0x6f,0x6f,0x72,0x64,0x2e,0x78,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x5f,0x35,0x33,0x30,0x20,0x3d,0x20,0x76,0x5f,0x63,0x75,0x74,0x20, + 0x3e,0x20,0x64,0x69,0x74,0x68,0x65,0x72,0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a, + 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x35, + 0x33,0x30,0x20,0x3d,0x20,0x5f,0x35,0x31,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d, + 0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x35,0x33,0x30,0x29,0x0a,0x20, + 0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x69,0x73, + 0x63,0x61,0x72,0x64,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20, + 0x69,0x6e,0x74,0x20,0x5f,0x35,0x33,0x38,0x20,0x3d,0x20,0x69,0x6e,0x74,0x28,0x76, + 0x5f,0x73,0x77,0x61,0x74,0x63,0x68,0x20,0x2b,0x20,0x30,0x2e,0x35,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x35,0x34,0x38,0x20,0x3d,0x20, + 0x74,0x65,0x78,0x65,0x6c,0x46,0x65,0x74,0x63,0x68,0x28,0x70,0x61,0x6c,0x65,0x74, + 0x74,0x65,0x5f,0x70,0x61,0x6c,0x65,0x74,0x74,0x65,0x5f,0x73,0x6d,0x70,0x2c,0x20, + 0x69,0x76,0x65,0x63,0x32,0x28,0x5f,0x35,0x33,0x38,0x2c,0x20,0x30,0x29,0x2c,0x20, + 0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x35,0x35, + 0x36,0x20,0x3d,0x20,0x74,0x65,0x78,0x65,0x6c,0x46,0x65,0x74,0x63,0x68,0x28,0x70, + 0x61,0x6c,0x65,0x74,0x74,0x65,0x5f,0x70,0x61,0x6c,0x65,0x74,0x74,0x65,0x5f,0x73, + 0x6d,0x70,0x2c,0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x5f,0x35,0x33,0x38,0x2c,0x20, + 0x31,0x29,0x2c,0x20,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33, + 0x20,0x61,0x6c,0x62,0x65,0x64,0x6f,0x20,0x3d,0x20,0x5f,0x35,0x34,0x38,0x2e,0x78, + 0x79,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x76,0x5f,0x74,0x69, + 0x6e,0x74,0x20,0x3e,0x20,0x31,0x2e,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x61,0x6c,0x62,0x65,0x64,0x6f,0x20,0x3d, + 0x20,0x6d,0x69,0x78,0x28,0x61,0x6c,0x62,0x65,0x64,0x6f,0x2c,0x20,0x76,0x65,0x63, + 0x33,0x28,0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30, + 0x30,0x32,0x39,0x38,0x30,0x32,0x33,0x32,0x32,0x33,0x38,0x37,0x36,0x39,0x35,0x33, + 0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x32, + 0x39,0x38,0x30,0x32,0x33,0x32,0x32,0x33,0x38,0x37,0x36,0x39,0x35,0x33,0x31,0x32, + 0x35,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x35,0x29,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20, + 0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20, + 0x28,0x76,0x5f,0x74,0x69,0x6e,0x74,0x20,0x3e,0x20,0x30,0x2e,0x35,0x29,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x61,0x6c,0x62,0x65,0x64,0x6f,0x20,0x3d,0x20,0x6d,0x69, + 0x78,0x28,0x61,0x6c,0x62,0x65,0x64,0x6f,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30, + 0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x39,0x38,0x30,0x32,0x33,0x32, + 0x32,0x33,0x38,0x37,0x36,0x39,0x35,0x33,0x31,0x32,0x35,0x2c,0x20,0x31,0x2e,0x30, + 0x2c,0x20,0x30,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x39,0x38,0x30, + 0x32,0x33,0x32,0x32,0x33,0x38,0x37,0x36,0x39,0x35,0x33,0x31,0x32,0x35,0x29,0x2c, + 0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x35,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20, + 0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20, + 0x76,0x5f,0x77,0x6f,0x72,0x6c,0x64,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63, + 0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x20,0x3d,0x20,0x76,0x5f,0x6e,0x6f, + 0x72,0x6d,0x61,0x6c,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f, + 0x35,0x39,0x30,0x20,0x3d,0x20,0x73,0x75,0x6e,0x5f,0x73,0x68,0x61,0x64,0x6f,0x77, + 0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x32,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x35,0x39, + 0x31,0x20,0x3d,0x20,0x5f,0x35,0x39,0x30,0x20,0x2a,0x20,0x76,0x5f,0x66,0x61,0x63, + 0x69,0x6e,0x67,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x36, + 0x30,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x74,0x72,0x69,0x6c, + 0x65,0x5f,0x66,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x31,0x5d,0x2e,0x77, + 0x20,0x3e,0x20,0x30,0x2e,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x33,0x20,0x3d,0x20,0x76,0x5f,0x77,0x6f,0x72,0x6c,0x64,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x34,0x20,0x3d,0x20,0x76,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x36,0x30,0x35,0x20,0x3d,0x20,0x70,0x72, + 0x6f,0x62,0x65,0x5f,0x6c,0x69,0x67,0x68,0x74,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x33,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x36,0x30,0x35,0x20,0x3d, + 0x20,0x76,0x65,0x63,0x34,0x28,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x7d,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x63,0x6f,0x6c,0x6f,0x72, + 0x20,0x3d,0x20,0x61,0x6c,0x62,0x65,0x64,0x6f,0x20,0x2a,0x20,0x6d,0x69,0x78,0x28, + 0x28,0x76,0x5f,0x73,0x68,0x61,0x64,0x65,0x20,0x2b,0x20,0x5f,0x36,0x30,0x35,0x2e, + 0x78,0x79,0x7a,0x29,0x20,0x2a,0x20,0x6d,0x69,0x78,0x28,0x30,0x2e,0x36,0x30,0x30, + 0x30,0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37,0x39,0x31,0x30,0x31, + 0x35,0x36,0x32,0x35,0x2c,0x20,0x31,0x2e,0x30,0x2c,0x20,0x76,0x5f,0x61,0x6f,0x29, + 0x2c,0x20,0x76,0x5f,0x73,0x75,0x6e,0x2c,0x20,0x5f,0x35,0x39,0x31,0x20,0x2a,0x20, + 0x6d,0x69,0x78,0x28,0x30,0x2e,0x32,0x35,0x2c,0x20,0x31,0x2e,0x30,0x2c,0x20,0x76, + 0x5f,0x61,0x6f,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20, + 0x70,0x61,0x72,0x61,0x6d,0x5f,0x35,0x20,0x3d,0x20,0x5f,0x35,0x39,0x31,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x36,0x33,0x38,0x20,0x3d, + 0x20,0x62,0x72,0x69,0x67,0x68,0x74,0x65,0x73,0x74,0x28,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x36,0x33, + 0x38,0x20,0x3e,0x20,0x30,0x2e,0x30,0x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x30, + 0x34,0x37,0x34,0x39,0x37,0x34,0x35,0x31,0x33,0x30,0x35,0x33,0x38,0x39,0x34,0x30, + 0x34,0x32,0x39,0x36,0x38,0x37,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x6d, + 0x69,0x78,0x28,0x63,0x6f,0x6c,0x6f,0x72,0x2c,0x20,0x5f,0x35,0x39,0x31,0x20,0x2a, + 0x20,0x76,0x5f,0x73,0x75,0x6e,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x6d,0x69,0x6e, + 0x28,0x31,0x2e,0x30,0x2c,0x20,0x28,0x28,0x5f,0x36,0x33,0x38,0x20,0x2d,0x20,0x6d, + 0x69,0x6e,0x28,0x5f,0x35,0x39,0x31,0x2e,0x78,0x2c,0x20,0x6d,0x69,0x6e,0x28,0x5f, + 0x35,0x39,0x31,0x2e,0x79,0x2c,0x20,0x5f,0x35,0x39,0x31,0x2e,0x7a,0x29,0x29,0x29, + 0x20,0x2f,0x20,0x5f,0x36,0x33,0x38,0x29,0x20,0x2a,0x20,0x32,0x2e,0x30,0x29,0x29, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x20,0x5f,0x36,0x36,0x38,0x20,0x3d,0x20,0x5f,0x35,0x34,0x38,0x2e,0x77, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x67,0x6c,0x6f,0x77, + 0x20,0x3d,0x20,0x5f,0x36,0x36,0x38,0x20,0x2a,0x20,0x38,0x2e,0x30,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x36,0x37,0x31,0x20,0x3d,0x20, + 0x5f,0x35,0x35,0x36,0x2e,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28, + 0x5f,0x36,0x37,0x31,0x20,0x3e,0x20,0x30,0x2e,0x30,0x29,0x0a,0x20,0x20,0x20,0x20, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, + 0x5f,0x36,0x39,0x36,0x20,0x3d,0x20,0x70,0x6f,0x77,0x28,0x6d,0x61,0x78,0x28,0x64, + 0x6f,0x74,0x28,0x76,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x2c,0x20,0x6e,0x6f,0x72, + 0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65, + 0x28,0x76,0x5f,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x29,0x20,0x2b,0x20, + 0x74,0x72,0x69,0x6c,0x65,0x5f,0x66,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b, + 0x30,0x5d,0x2e,0x78,0x79,0x7a,0x29,0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x2c,0x20, + 0x6d,0x69,0x78,0x28,0x34,0x2e,0x30,0x2c,0x20,0x39,0x36,0x2e,0x30,0x2c,0x20,0x5f, + 0x36,0x37,0x31,0x29,0x29,0x20,0x2a,0x20,0x5f,0x36,0x37,0x31,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x2b,0x3d,0x20,0x28, + 0x28,0x76,0x5f,0x73,0x75,0x6e,0x20,0x2a,0x20,0x5f,0x35,0x39,0x31,0x29,0x20,0x2a, + 0x20,0x5f,0x36,0x39,0x36,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36,0x20,0x3d,0x20,0x5f, + 0x35,0x39,0x31,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x6c,0x6f, + 0x77,0x20,0x2b,0x3d,0x20,0x28,0x28,0x5f,0x36,0x39,0x36,0x20,0x2a,0x20,0x62,0x72, + 0x69,0x67,0x68,0x74,0x65,0x73,0x74,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36,0x29, + 0x29,0x20,0x2a,0x20,0x34,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a, + 0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x37,0x31,0x34,0x20,0x3d,0x20, + 0x74,0x72,0x69,0x6c,0x65,0x5f,0x66,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b, + 0x33,0x5d,0x2e,0x78,0x20,0x3e,0x20,0x30,0x2e,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x37,0x32,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69, + 0x66,0x20,0x28,0x5f,0x37,0x31,0x34,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x37,0x32,0x30,0x20,0x3d,0x20,0x5f,0x35, + 0x35,0x36,0x2e,0x79,0x20,0x3e,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x37,0x32,0x30,0x20,0x3d,0x20, + 0x5f,0x37,0x31,0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20, + 0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x37,0x32,0x36,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69, + 0x66,0x20,0x28,0x5f,0x37,0x32,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x37,0x32,0x36,0x20,0x3d,0x20,0x76,0x5f, + 0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x2e,0x79,0x20,0x3e,0x20,0x30,0x2e,0x35,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20, + 0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x37,0x32, + 0x36,0x20,0x3d,0x20,0x5f,0x37,0x32,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a, + 0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x37,0x33,0x36,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x37,0x32,0x36,0x29,0x0a,0x20,0x20,0x20, + 0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x37,0x33,0x36,0x20, + 0x3d,0x20,0x61,0x62,0x73,0x28,0x76,0x5f,0x77,0x6f,0x72,0x6c,0x64,0x2e,0x79,0x20, + 0x2d,0x20,0x74,0x72,0x69,0x6c,0x65,0x5f,0x66,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d, + 0x73,0x5b,0x33,0x5d,0x2e,0x79,0x29,0x20,0x3c,0x20,0x30,0x2e,0x30,0x31,0x39,0x39, + 0x39,0x39,0x39,0x39,0x39,0x35,0x35,0x32,0x39,0x36,0x35,0x31,0x36,0x34,0x31,0x38, + 0x34,0x35,0x37,0x30,0x33,0x31,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a, + 0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x37,0x33,0x36,0x20,0x3d,0x20,0x5f,0x37, + 0x32,0x36,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x66, + 0x20,0x28,0x5f,0x37,0x33,0x36,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x37,0x35,0x30,0x20, + 0x3d,0x20,0x67,0x6c,0x5f,0x46,0x72,0x61,0x67,0x43,0x6f,0x6f,0x72,0x64,0x2e,0x78, + 0x79,0x20,0x2f,0x20,0x76,0x65,0x63,0x32,0x28,0x74,0x65,0x78,0x74,0x75,0x72,0x65, + 0x53,0x69,0x7a,0x65,0x28,0x74,0x72,0x69,0x6c,0x65,0x5f,0x72,0x65,0x66,0x6c,0x65, + 0x63,0x74,0x69,0x6f,0x6e,0x5f,0x74,0x72,0x69,0x6c,0x65,0x5f,0x72,0x65,0x66,0x6c, + 0x65,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x30,0x29,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x37, + 0x35,0x37,0x20,0x3d,0x20,0x76,0x65,0x63,0x32,0x28,0x5f,0x37,0x35,0x30,0x2e,0x78, + 0x2c,0x20,0x31,0x2e,0x30,0x20,0x2d,0x20,0x5f,0x37,0x35,0x30,0x2e,0x79,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f, + 0x37,0x36,0x36,0x20,0x3d,0x20,0x5f,0x35,0x35,0x36,0x2e,0x79,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x6d,0x69, + 0x78,0x28,0x63,0x6f,0x6c,0x6f,0x72,0x2c,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65, + 0x28,0x74,0x72,0x69,0x6c,0x65,0x5f,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f, + 0x6e,0x5f,0x74,0x72,0x69,0x6c,0x65,0x5f,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69, + 0x6f,0x6e,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x5f,0x37,0x35,0x37,0x29,0x2e,0x78,0x79, + 0x7a,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x5f,0x37,0x36,0x36,0x29,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x6c,0x6f,0x77,0x20,0x3d,0x20,0x6d, + 0x61,0x78,0x28,0x67,0x6c,0x6f,0x77,0x2c,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65, + 0x28,0x74,0x72,0x69,0x6c,0x65,0x5f,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f, + 0x6e,0x5f,0x67,0x6c,0x6f,0x77,0x5f,0x74,0x72,0x69,0x6c,0x65,0x5f,0x72,0x65,0x66, + 0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x5f,0x37,0x35, + 0x37,0x29,0x2e,0x78,0x20,0x2a,0x20,0x70,0x6f,0x77,0x28,0x5f,0x37,0x36,0x36,0x2c, + 0x20,0x30,0x2e,0x34,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x35,0x39,0x36,0x30,0x34, + 0x36,0x34,0x34,0x37,0x37,0x35,0x33,0x39,0x30,0x36,0x32,0x35,0x29,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63, + 0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x6d,0x69,0x78,0x28, + 0x63,0x6f,0x6c,0x6f,0x72,0x2c,0x20,0x61,0x6c,0x62,0x65,0x64,0x6f,0x2c,0x20,0x76, + 0x65,0x63,0x33,0x28,0x5f,0x36,0x36,0x38,0x29,0x29,0x2c,0x20,0x31,0x2e,0x30,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x37,0x20,0x3d,0x20,0x76,0x5f,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x38,0x20,0x3d,0x20,0x67,0x6c,0x6f,0x77,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x77,0x72,0x69,0x74,0x65,0x5f,0x73,0x63,0x65,0x6e,0x65,0x28,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x37,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x38,0x29,0x3b,0x0a,0x7d, + 0x0a,0x0a,0x00, +]; +/* + #version 430 + + layout(binding = 16) uniform sampler2D palette_palette_smp; + + layout(location = 4) in float v_swatch; + layout(location = 0) in float v_clip; + layout(location = 1) in vec3 v_to_camera; + layout(location = 2) in vec3 v_world; + layout(location = 3) in vec3 v_normal; + layout(location = 5) in float v_facing; + layout(location = 6) in float v_ao; + layout(location = 7) in vec3 v_shade; + layout(location = 8) in vec3 v_sun; + layout(location = 9) in float v_tint; + layout(location = 10) in float v_cut; + + void main() + { + if (texelFetch(palette_palette_smp, ivec2(int(v_swatch + 0.5), 1), 0).x > 0.5) + { + discard; + } + } + +*/ +fs_trile_shadow_source_glsl430 := u8.[ 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x34,0x33,0x30,0x0a,0x0a,0x6c,0x61, 0x79,0x6f,0x75,0x74,0x28,0x62,0x69,0x6e,0x64,0x69,0x6e,0x67,0x20,0x3d,0x20,0x31, 0x36,0x29,0x20,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x73,0x61,0x6d,0x70,0x6c, 0x65,0x72,0x32,0x44,0x20,0x70,0x61,0x6c,0x65,0x74,0x74,0x65,0x5f,0x70,0x61,0x6c, 0x65,0x74,0x74,0x65,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x0a,0x6c,0x61,0x79,0x6f,0x75, - 0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20, - 0x69,0x6e,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x63,0x6c,0x69,0x70,0x3b, - 0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e, - 0x20,0x3d,0x20,0x31,0x29,0x20,0x69,0x6e,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76, - 0x5f,0x73,0x77,0x61,0x74,0x63,0x68,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28, - 0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x32,0x29,0x20,0x69,0x6e, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x61,0x6f,0x3b,0x0a,0x6c,0x61,0x79, - 0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x33, - 0x29,0x20,0x69,0x6e,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x74,0x69,0x6e, - 0x74,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69, + 0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x34,0x29,0x20, + 0x69,0x6e,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x73,0x77,0x61,0x74,0x63, + 0x68,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69, + 0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x69,0x6e,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x20,0x76,0x5f,0x63,0x6c,0x69,0x70,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28, + 0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x31,0x29,0x20,0x69,0x6e, + 0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72, + 0x61,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69, + 0x6f,0x6e,0x20,0x3d,0x20,0x32,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x33,0x20, + 0x76,0x5f,0x77,0x6f,0x72,0x6c,0x64,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28, + 0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x33,0x29,0x20,0x69,0x6e, + 0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x3b,0x0a, + 0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20, + 0x3d,0x20,0x35,0x29,0x20,0x69,0x6e,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f, + 0x66,0x61,0x63,0x69,0x6e,0x67,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c, + 0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x36,0x29,0x20,0x69,0x6e,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x61,0x6f,0x3b,0x0a,0x6c,0x61,0x79,0x6f, + 0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x37,0x29, + 0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x73,0x68,0x61,0x64,0x65, + 0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f, + 0x6e,0x20,0x3d,0x20,0x38,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x33,0x20,0x76, + 0x5f,0x73,0x75,0x6e,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63, + 0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x39,0x29,0x20,0x69,0x6e,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x20,0x76,0x5f,0x74,0x69,0x6e,0x74,0x3b,0x0a,0x6c,0x61,0x79,0x6f, + 0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x31,0x30, + 0x29,0x20,0x69,0x6e,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x63,0x75,0x74, + 0x3b,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x74,0x65,0x78,0x65,0x6c,0x46,0x65, + 0x74,0x63,0x68,0x28,0x70,0x61,0x6c,0x65,0x74,0x74,0x65,0x5f,0x70,0x61,0x6c,0x65, + 0x74,0x74,0x65,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x69, + 0x6e,0x74,0x28,0x76,0x5f,0x73,0x77,0x61,0x74,0x63,0x68,0x20,0x2b,0x20,0x30,0x2e, + 0x35,0x29,0x2c,0x20,0x31,0x29,0x2c,0x20,0x30,0x29,0x2e,0x78,0x20,0x3e,0x20,0x30, + 0x2e,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x64,0x69,0x73,0x63,0x61,0x72,0x64,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d, + 0x0a,0x7d,0x0a,0x0a,0x00, +]; +/* + #version 430 + + layout(binding = 16) uniform sampler2D palette_palette_smp; + + layout(location = 4) in float v_swatch; + layout(location = 0) out vec4 frag_color; + layout(location = 0) in float v_clip; + layout(location = 1) in vec3 v_to_camera; + layout(location = 2) in vec3 v_world; + layout(location = 3) in vec3 v_normal; + layout(location = 5) in float v_facing; + layout(location = 6) in float v_ao; + layout(location = 7) in vec3 v_shade; + layout(location = 8) in vec3 v_sun; + layout(location = 9) in float v_tint; + layout(location = 10) in float v_cut; + + void main() + { + int _15 = int(v_swatch + 0.5); + if (texelFetch(palette_palette_smp, ivec2(_15, 1), 0).x < 0.5) + { + discard; + } + vec4 _51 = texelFetch(palette_palette_smp, ivec2(_15, 0), 0); + frag_color = vec4(_51.xyz / vec3(max(max(_51.x, max(_51.y, _51.z)), 0.001000000047497451305389404296875)), 1.0); + } + +*/ +fs_trile_glass_shadow_source_glsl430 := u8.[ + 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x34,0x33,0x30,0x0a,0x0a,0x6c,0x61, + 0x79,0x6f,0x75,0x74,0x28,0x62,0x69,0x6e,0x64,0x69,0x6e,0x67,0x20,0x3d,0x20,0x31, + 0x36,0x29,0x20,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x73,0x61,0x6d,0x70,0x6c, + 0x65,0x72,0x32,0x44,0x20,0x70,0x61,0x6c,0x65,0x74,0x74,0x65,0x5f,0x70,0x61,0x6c, + 0x65,0x74,0x74,0x65,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x0a,0x6c,0x61,0x79,0x6f,0x75, + 0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x34,0x29,0x20, + 0x69,0x6e,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x73,0x77,0x61,0x74,0x63, + 0x68,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69, 0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x34, - 0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x0a,0x76,0x6f, - 0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20, - 0x69,0x66,0x20,0x28,0x76,0x5f,0x63,0x6c,0x69,0x70,0x20,0x3c,0x20,0x30,0x2e,0x30, - 0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x64,0x69,0x73,0x63,0x61,0x72,0x64,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, - 0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x61,0x6c,0x62,0x65,0x64,0x6f,0x20,0x3d, - 0x20,0x74,0x65,0x78,0x65,0x6c,0x46,0x65,0x74,0x63,0x68,0x28,0x70,0x61,0x6c,0x65, - 0x74,0x74,0x65,0x5f,0x70,0x61,0x6c,0x65,0x74,0x74,0x65,0x5f,0x73,0x6d,0x70,0x2c, - 0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x69,0x6e,0x74,0x28,0x76,0x5f,0x73,0x77,0x61, - 0x74,0x63,0x68,0x20,0x2b,0x20,0x30,0x2e,0x35,0x29,0x2c,0x20,0x30,0x29,0x2c,0x20, - 0x30,0x29,0x2e,0x78,0x79,0x7a,0x20,0x2a,0x20,0x6d,0x69,0x78,0x28,0x30,0x2e,0x34, - 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x35,0x39,0x36,0x30,0x34,0x36,0x34,0x34,0x37, - 0x37,0x35,0x33,0x39,0x30,0x36,0x32,0x35,0x2c,0x20,0x31,0x2e,0x30,0x2c,0x20,0x76, - 0x5f,0x61,0x6f,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x76,0x5f, - 0x74,0x69,0x6e,0x74,0x20,0x3e,0x20,0x31,0x2e,0x35,0x29,0x0a,0x20,0x20,0x20,0x20, - 0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x61,0x6c,0x62,0x65,0x64,0x6f, - 0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x61,0x6c,0x62,0x65,0x64,0x6f,0x2c,0x20,0x76, - 0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x32,0x30,0x30,0x30,0x30, - 0x30,0x30,0x30,0x32,0x39,0x38,0x30,0x32,0x33,0x32,0x32,0x33,0x38,0x37,0x36,0x39, - 0x35,0x33,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30, - 0x30,0x32,0x39,0x38,0x30,0x32,0x33,0x32,0x32,0x33,0x38,0x37,0x36,0x39,0x35,0x33, - 0x31,0x32,0x35,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x35,0x29,0x29, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65, - 0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69, - 0x66,0x20,0x28,0x76,0x5f,0x74,0x69,0x6e,0x74,0x20,0x3e,0x20,0x30,0x2e,0x35,0x29, - 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x61,0x6c,0x62,0x65,0x64,0x6f,0x20,0x3d,0x20, - 0x6d,0x69,0x78,0x28,0x61,0x6c,0x62,0x65,0x64,0x6f,0x2c,0x20,0x76,0x65,0x63,0x33, - 0x28,0x30,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x39,0x38,0x30,0x32, - 0x33,0x32,0x32,0x33,0x38,0x37,0x36,0x39,0x35,0x33,0x31,0x32,0x35,0x2c,0x20,0x31, - 0x2e,0x30,0x2c,0x20,0x30,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x39, - 0x38,0x30,0x32,0x33,0x32,0x32,0x33,0x38,0x37,0x36,0x39,0x35,0x33,0x31,0x32,0x35, - 0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x35,0x29,0x29,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, - 0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20, - 0x76,0x65,0x63,0x34,0x28,0x61,0x6c,0x62,0x65,0x64,0x6f,0x2c,0x20,0x31,0x2e,0x30, - 0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, + 0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x6c,0x61,0x79, + 0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30, + 0x29,0x20,0x69,0x6e,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x63,0x6c,0x69, + 0x70,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69, + 0x6f,0x6e,0x20,0x3d,0x20,0x31,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x33,0x20, + 0x76,0x5f,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x3b,0x0a,0x6c,0x61,0x79, + 0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x32, + 0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x77,0x6f,0x72,0x6c, + 0x64,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69, + 0x6f,0x6e,0x20,0x3d,0x20,0x33,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x33,0x20, + 0x76,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74, + 0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x35,0x29,0x20,0x69, + 0x6e,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x66,0x61,0x63,0x69,0x6e,0x67, + 0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f, + 0x6e,0x20,0x3d,0x20,0x36,0x29,0x20,0x69,0x6e,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, + 0x76,0x5f,0x61,0x6f,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63, + 0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x37,0x29,0x20,0x69,0x6e,0x20,0x76,0x65, + 0x63,0x33,0x20,0x76,0x5f,0x73,0x68,0x61,0x64,0x65,0x3b,0x0a,0x6c,0x61,0x79,0x6f, + 0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x38,0x29, + 0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x73,0x75,0x6e,0x3b,0x0a, + 0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20, + 0x3d,0x20,0x39,0x29,0x20,0x69,0x6e,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f, + 0x74,0x69,0x6e,0x74,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63, + 0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x31,0x30,0x29,0x20,0x69,0x6e,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x63,0x75,0x74,0x3b,0x0a,0x0a,0x76,0x6f,0x69, + 0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x69, + 0x6e,0x74,0x20,0x5f,0x31,0x35,0x20,0x3d,0x20,0x69,0x6e,0x74,0x28,0x76,0x5f,0x73, + 0x77,0x61,0x74,0x63,0x68,0x20,0x2b,0x20,0x30,0x2e,0x35,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x69,0x66,0x20,0x28,0x74,0x65,0x78,0x65,0x6c,0x46,0x65,0x74,0x63,0x68, + 0x28,0x70,0x61,0x6c,0x65,0x74,0x74,0x65,0x5f,0x70,0x61,0x6c,0x65,0x74,0x74,0x65, + 0x5f,0x73,0x6d,0x70,0x2c,0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x5f,0x31,0x35,0x2c, + 0x20,0x31,0x29,0x2c,0x20,0x30,0x29,0x2e,0x78,0x20,0x3c,0x20,0x30,0x2e,0x35,0x29, + 0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64, + 0x69,0x73,0x63,0x61,0x72,0x64,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20, + 0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x35,0x31,0x20,0x3d,0x20,0x74,0x65,0x78, + 0x65,0x6c,0x46,0x65,0x74,0x63,0x68,0x28,0x70,0x61,0x6c,0x65,0x74,0x74,0x65,0x5f, + 0x70,0x61,0x6c,0x65,0x74,0x74,0x65,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x69,0x76,0x65, + 0x63,0x32,0x28,0x5f,0x31,0x35,0x2c,0x20,0x30,0x29,0x2c,0x20,0x30,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d, + 0x20,0x76,0x65,0x63,0x34,0x28,0x5f,0x35,0x31,0x2e,0x78,0x79,0x7a,0x20,0x2f,0x20, + 0x76,0x65,0x63,0x33,0x28,0x6d,0x61,0x78,0x28,0x6d,0x61,0x78,0x28,0x5f,0x35,0x31, + 0x2e,0x78,0x2c,0x20,0x6d,0x61,0x78,0x28,0x5f,0x35,0x31,0x2e,0x79,0x2c,0x20,0x5f, + 0x35,0x31,0x2e,0x7a,0x29,0x29,0x2c,0x20,0x30,0x2e,0x30,0x30,0x31,0x30,0x30,0x30, + 0x30,0x30,0x30,0x30,0x34,0x37,0x34,0x39,0x37,0x34,0x35,0x31,0x33,0x30,0x35,0x33, + 0x38,0x39,0x34,0x30,0x34,0x32,0x39,0x36,0x38,0x37,0x35,0x29,0x29,0x2c,0x20,0x31, + 0x2e,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, ]; /* #version 430 const vec2 _23[6] = vec2[](vec2(0.0), vec2(1.0, 0.0), vec2(1.0), vec2(0.0), vec2(1.0), vec2(0.0, 1.0)); - uniform vec4 view_params[6]; + uniform vec4 view_params[13]; uniform vec4 water_vs_params[1]; - layout(location = 1) out vec4 v_normal_uv; + layout(location = 2) out vec2 v_xz; layout(location = 0) out vec3 v_to_camera; + layout(location = 1) out vec3 v_world; vec2 quad_corner(int vertex_index) { @@ -513,13 +1951,11 @@ fs_trile_source_glsl430 := u8.[ void main() { int param = gl_VertexID; - vec2 _59 = view_params[4].xz + (((quad_corner(param) * 2.0) - vec2(1.0)) * water_vs_params[0].y); - float _66 = _59.x; - float _72 = _59.y; - gl_Position = mat4(view_params[0], view_params[1], view_params[2], view_params[3]) * vec4(_66, water_vs_params[0].x, _72, 1.0); - vec2 _96 = vec2(-0.004999999888241291046142578125, -0.01200000010430812835693359375) * view_params[4].w; - v_normal_uv = vec4((_59 * 0.4000000059604644775390625) + (_96 * 1.5), (_59 * 0.100000001490116119384765625) + (_96 * 1.7000000476837158203125)); - v_to_camera = view_params[4].xyz - vec3(_66, water_vs_params[0].x, _72); + v_xz = view_params[8].xz + (((quad_corner(param) * 2.0) - vec2(1.0)) * water_vs_params[0].y); + vec3 _75 = vec3(v_xz.x, water_vs_params[0].x, v_xz.y); + gl_Position = mat4(view_params[0], view_params[1], view_params[2], view_params[3]) * vec4(v_xz.x, water_vs_params[0].x, v_xz.y, 1.0); + v_to_camera = view_params[8].xyz - _75; + v_world = _75; } */ @@ -533,171 +1969,438 @@ vs_water_source_glsl430 := u8.[ 0x2e,0x30,0x29,0x2c,0x20,0x76,0x65,0x63,0x32,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31, 0x2e,0x30,0x29,0x29,0x3b,0x0a,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x76, 0x65,0x63,0x34,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b, - 0x36,0x5d,0x3b,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x76,0x65,0x63,0x34, - 0x20,0x77,0x61,0x74,0x65,0x72,0x5f,0x76,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73, - 0x5b,0x31,0x5d,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61, + 0x31,0x33,0x5d,0x3b,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x76,0x65,0x63, + 0x34,0x20,0x77,0x61,0x74,0x65,0x72,0x5f,0x76,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d, + 0x73,0x5b,0x31,0x5d,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63, + 0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x32,0x29,0x20,0x6f,0x75,0x74,0x20,0x76, + 0x65,0x63,0x32,0x20,0x76,0x5f,0x78,0x7a,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74, + 0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x6f, + 0x75,0x74,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x74,0x6f,0x5f,0x63,0x61,0x6d, + 0x65,0x72,0x61,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61, 0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x31,0x29,0x20,0x6f,0x75,0x74,0x20,0x76,0x65, - 0x63,0x34,0x20,0x76,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x5f,0x75,0x76,0x3b,0x0a, - 0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20, - 0x3d,0x20,0x30,0x29,0x20,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f, - 0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x3b,0x0a,0x0a,0x76,0x65,0x63,0x32, - 0x20,0x71,0x75,0x61,0x64,0x5f,0x63,0x6f,0x72,0x6e,0x65,0x72,0x28,0x69,0x6e,0x74, - 0x20,0x76,0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x6e,0x64,0x65,0x78,0x29,0x0a,0x7b, - 0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x5f,0x32,0x33,0x5b, - 0x76,0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x6e,0x64,0x65,0x78,0x5d,0x3b,0x0a,0x7d, - 0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a, - 0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20, - 0x67,0x6c,0x5f,0x56,0x65,0x72,0x74,0x65,0x78,0x49,0x44,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x35,0x39,0x20,0x3d,0x20,0x76,0x69,0x65,0x77, - 0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x34,0x5d,0x2e,0x78,0x7a,0x20,0x2b,0x20, - 0x28,0x28,0x28,0x71,0x75,0x61,0x64,0x5f,0x63,0x6f,0x72,0x6e,0x65,0x72,0x28,0x70, - 0x61,0x72,0x61,0x6d,0x29,0x20,0x2a,0x20,0x32,0x2e,0x30,0x29,0x20,0x2d,0x20,0x76, - 0x65,0x63,0x32,0x28,0x31,0x2e,0x30,0x29,0x29,0x20,0x2a,0x20,0x77,0x61,0x74,0x65, - 0x72,0x5f,0x76,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x30,0x5d,0x2e,0x79, - 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x36,0x36, - 0x20,0x3d,0x20,0x5f,0x35,0x39,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x20,0x5f,0x37,0x32,0x20,0x3d,0x20,0x5f,0x35,0x39,0x2e,0x79,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x67,0x6c,0x5f,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e, - 0x20,0x3d,0x20,0x6d,0x61,0x74,0x34,0x28,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72, - 0x61,0x6d,0x73,0x5b,0x30,0x5d,0x2c,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72, - 0x61,0x6d,0x73,0x5b,0x31,0x5d,0x2c,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72, - 0x61,0x6d,0x73,0x5b,0x32,0x5d,0x2c,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72, - 0x61,0x6d,0x73,0x5b,0x33,0x5d,0x29,0x20,0x2a,0x20,0x76,0x65,0x63,0x34,0x28,0x5f, - 0x36,0x36,0x2c,0x20,0x77,0x61,0x74,0x65,0x72,0x5f,0x76,0x73,0x5f,0x70,0x61,0x72, - 0x61,0x6d,0x73,0x5b,0x30,0x5d,0x2e,0x78,0x2c,0x20,0x5f,0x37,0x32,0x2c,0x20,0x31, - 0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x39, - 0x36,0x20,0x3d,0x20,0x76,0x65,0x63,0x32,0x28,0x2d,0x30,0x2e,0x30,0x30,0x34,0x39, - 0x39,0x39,0x39,0x39,0x39,0x38,0x38,0x38,0x32,0x34,0x31,0x32,0x39,0x31,0x30,0x34, - 0x36,0x31,0x34,0x32,0x35,0x37,0x38,0x31,0x32,0x35,0x2c,0x20,0x2d,0x30,0x2e,0x30, - 0x31,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x30,0x34,0x33,0x30,0x38,0x31,0x32, - 0x38,0x33,0x35,0x36,0x39,0x33,0x33,0x35,0x39,0x33,0x37,0x35,0x29,0x20,0x2a,0x20, - 0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x34,0x5d,0x2e,0x77, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x5f,0x75, - 0x76,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x28,0x5f,0x35,0x39,0x20,0x2a,0x20, - 0x30,0x2e,0x34,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x35,0x39,0x36,0x30,0x34,0x36, - 0x34,0x34,0x37,0x37,0x35,0x33,0x39,0x30,0x36,0x32,0x35,0x29,0x20,0x2b,0x20,0x28, - 0x5f,0x39,0x36,0x20,0x2a,0x20,0x31,0x2e,0x35,0x29,0x2c,0x20,0x28,0x5f,0x35,0x39, - 0x20,0x2a,0x20,0x30,0x2e,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x34,0x39, - 0x30,0x31,0x31,0x36,0x31,0x31,0x39,0x33,0x38,0x34,0x37,0x36,0x35,0x36,0x32,0x35, - 0x29,0x20,0x2b,0x20,0x28,0x5f,0x39,0x36,0x20,0x2a,0x20,0x31,0x2e,0x37,0x30,0x30, - 0x30,0x30,0x30,0x30,0x34,0x37,0x36,0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33, - 0x31,0x32,0x35,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x5f,0x74,0x6f,0x5f, - 0x63,0x61,0x6d,0x65,0x72,0x61,0x20,0x3d,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61, - 0x72,0x61,0x6d,0x73,0x5b,0x34,0x5d,0x2e,0x78,0x79,0x7a,0x20,0x2d,0x20,0x76,0x65, - 0x63,0x33,0x28,0x5f,0x36,0x36,0x2c,0x20,0x77,0x61,0x74,0x65,0x72,0x5f,0x76,0x73, - 0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x30,0x5d,0x2e,0x78,0x2c,0x20,0x5f,0x37, - 0x32,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, + 0x63,0x33,0x20,0x76,0x5f,0x77,0x6f,0x72,0x6c,0x64,0x3b,0x0a,0x0a,0x76,0x65,0x63, + 0x32,0x20,0x71,0x75,0x61,0x64,0x5f,0x63,0x6f,0x72,0x6e,0x65,0x72,0x28,0x69,0x6e, + 0x74,0x20,0x76,0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x6e,0x64,0x65,0x78,0x29,0x0a, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x5f,0x32,0x33, + 0x5b,0x76,0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x6e,0x64,0x65,0x78,0x5d,0x3b,0x0a, + 0x7d,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d, + 0x20,0x67,0x6c,0x5f,0x56,0x65,0x72,0x74,0x65,0x78,0x49,0x44,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x76,0x5f,0x78,0x7a,0x20,0x3d,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61, + 0x72,0x61,0x6d,0x73,0x5b,0x38,0x5d,0x2e,0x78,0x7a,0x20,0x2b,0x20,0x28,0x28,0x28, + 0x71,0x75,0x61,0x64,0x5f,0x63,0x6f,0x72,0x6e,0x65,0x72,0x28,0x70,0x61,0x72,0x61, + 0x6d,0x29,0x20,0x2a,0x20,0x32,0x2e,0x30,0x29,0x20,0x2d,0x20,0x76,0x65,0x63,0x32, + 0x28,0x31,0x2e,0x30,0x29,0x29,0x20,0x2a,0x20,0x77,0x61,0x74,0x65,0x72,0x5f,0x76, + 0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x30,0x5d,0x2e,0x79,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x37,0x35,0x20,0x3d,0x20,0x76, + 0x65,0x63,0x33,0x28,0x76,0x5f,0x78,0x7a,0x2e,0x78,0x2c,0x20,0x77,0x61,0x74,0x65, + 0x72,0x5f,0x76,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x30,0x5d,0x2e,0x78, + 0x2c,0x20,0x76,0x5f,0x78,0x7a,0x2e,0x79,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x67, + 0x6c,0x5f,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x6d,0x61,0x74, + 0x34,0x28,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x30,0x5d, + 0x2c,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x31,0x5d, + 0x2c,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x32,0x5d, + 0x2c,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x33,0x5d, + 0x29,0x20,0x2a,0x20,0x76,0x65,0x63,0x34,0x28,0x76,0x5f,0x78,0x7a,0x2e,0x78,0x2c, + 0x20,0x77,0x61,0x74,0x65,0x72,0x5f,0x76,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73, + 0x5b,0x30,0x5d,0x2e,0x78,0x2c,0x20,0x76,0x5f,0x78,0x7a,0x2e,0x79,0x2c,0x20,0x31, + 0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x5f,0x74,0x6f,0x5f,0x63,0x61, + 0x6d,0x65,0x72,0x61,0x20,0x3d,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61, + 0x6d,0x73,0x5b,0x38,0x5d,0x2e,0x78,0x79,0x7a,0x20,0x2d,0x20,0x5f,0x37,0x35,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x76,0x5f,0x77,0x6f,0x72,0x6c,0x64,0x20,0x3d,0x20,0x5f, + 0x37,0x35,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, ]; /* #version 430 - uniform vec4 water_fs_params[2]; - layout(binding = 16) uniform sampler2D normals_normals_smp; - layout(binding = 17) uniform sampler2D reflection_reflection_smp; - + uniform vec4 water_floor_params[1]; + layout(location = 1) out vec4 frag_glow; + layout(location = 2) out vec4 frag_scene; layout(location = 0) out vec4 frag_color; - layout(location = 1) in vec4 v_normal_uv; layout(location = 0) in vec3 v_to_camera; + layout(location = 1) in vec3 v_world; + layout(location = 2) in vec2 v_xz; + + void write_scene(vec3 to_camera, float glow) + { + frag_glow = vec4(glow); + frag_scene = vec4(length(to_camera)); + } void main() { - if (water_fs_params[0].w < 0.5) + frag_color = vec4(water_floor_params[0].xyz, 1.0); + vec3 param = v_to_camera; + float param_1 = 0.0; + write_scene(param, param_1); + } + +*/ +fs_water_floor_source_glsl430 := u8.[ + 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x34,0x33,0x30,0x0a,0x0a,0x75,0x6e, + 0x69,0x66,0x6f,0x72,0x6d,0x20,0x76,0x65,0x63,0x34,0x20,0x77,0x61,0x74,0x65,0x72, + 0x5f,0x66,0x6c,0x6f,0x6f,0x72,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x31,0x5d, + 0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f, + 0x6e,0x20,0x3d,0x20,0x31,0x29,0x20,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x34,0x20, + 0x66,0x72,0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75, + 0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x32,0x29,0x20, + 0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x73,0x63, + 0x65,0x6e,0x65,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61, + 0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x6f,0x75,0x74,0x20,0x76,0x65, + 0x63,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x6c, + 0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d, + 0x20,0x30,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x74,0x6f, + 0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28, + 0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x31,0x29,0x20,0x69,0x6e, + 0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x77,0x6f,0x72,0x6c,0x64,0x3b,0x0a,0x6c, + 0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d, + 0x20,0x32,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x32,0x20,0x76,0x5f,0x78,0x7a, + 0x3b,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x77,0x72,0x69,0x74,0x65,0x5f,0x73,0x63, + 0x65,0x6e,0x65,0x28,0x76,0x65,0x63,0x33,0x20,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65, + 0x72,0x61,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x67,0x6c,0x6f,0x77,0x29,0x0a, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x20, + 0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x67,0x6c,0x6f,0x77,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x73,0x63,0x65,0x6e,0x65,0x20,0x3d,0x20,0x76, + 0x65,0x63,0x34,0x28,0x6c,0x65,0x6e,0x67,0x74,0x68,0x28,0x74,0x6f,0x5f,0x63,0x61, + 0x6d,0x65,0x72,0x61,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20, + 0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61, + 0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x77, + 0x61,0x74,0x65,0x72,0x5f,0x66,0x6c,0x6f,0x6f,0x72,0x5f,0x70,0x61,0x72,0x61,0x6d, + 0x73,0x5b,0x30,0x5d,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d, + 0x20,0x76,0x5f,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20, + 0x3d,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x77,0x72,0x69,0x74,0x65, + 0x5f,0x73,0x63,0x65,0x6e,0x65,0x28,0x70,0x61,0x72,0x61,0x6d,0x2c,0x20,0x70,0x61, + 0x72,0x61,0x6d,0x5f,0x31,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, +]; +/* + #version 430 + + uniform vec4 shadow_params[4]; + uniform vec4 water_fs_params[4]; + layout(binding = 16) uniform sampler2D normals_normals_smp; + layout(binding = 17) uniform sampler2D reflection_reflection_smp; + layout(binding = 18) uniform sampler2DShadow shadow_map_shadow_smp; + layout(binding = 19) uniform sampler2D shadow_tint_shadow_tint_smp; + layout(binding = 20) uniform sampler2D reflection_glow_reflection_smp; + + layout(location = 0) out vec4 frag_color; + layout(location = 1) out vec4 frag_glow; + layout(location = 2) in vec2 v_xz; + layout(location = 0) in vec3 v_to_camera; + layout(location = 1) in vec3 v_world; + + vec3 sun_shadow(vec3 world, vec3 normal) + { + vec3 _43 = normal * 0.03125; + vec4 _78 = mat4(shadow_params[0], shadow_params[1], shadow_params[2], shadow_params[3]) * vec4((((floor((world - _43) * 16.0) + vec3(0.5)) * vec3(0.0625)) + _43) + (normal * 0.0199999995529651641845703125), 1.0); + float _81 = _78.x; + bool _83 = _81 < 0.0; + bool _90; + if (!_83) { - frag_color = vec4(water_fs_params[0].xyz, 1.0); - return; + _90 = _81 > 1.0; } - vec3 _72 = normalize(((texture(normals_normals_smp, v_normal_uv.xy).xzy * 2.0) - vec3(1.0)) + ((texture(normals_normals_smp, v_normal_uv.zw).xzy * 2.0) - vec3(1.0))); - float _94 = min(1.0, (0.980000019073486328125 * pow(1.0 - max(dot(normalize(v_to_camera), _72), 0.0), 5.0)) + 0.4699999988079071044921875); - vec2 _109 = gl_FragCoord.xy / vec2(textureSize(reflection_reflection_smp, 0)); - _109.y = 1.0 - _109.y; - frag_color = vec4(mix(water_fs_params[0].xyz, texture(reflection_reflection_smp, _109 + (_72.xz * water_fs_params[1].y)).xyz, vec3(mix(_94, 1.0, water_fs_params[1].x))), mix(mix(0.300000011920928955078125, 0.5, _94), 1.0, water_fs_params[1].x)); + else + { + _90 = _83; + } + bool _97; + if (!_90) + { + _97 = _78.y < 0.0; + } + else + { + _97 = _90; + } + bool _104; + if (!_97) + { + _104 = _78.y > 1.0; + } + else + { + _104 = _97; + } + bool _111; + if (!_104) + { + _111 = _78.z > 1.0; + } + else + { + _111 = _104; + } + if (_111) + { + return vec3(1.0); + } + float _134 = _78.z - 0.0005000000237487256526947021484375; + return texture(shadow_tint_shadow_tint_smp, _78.xy).xyz * texture(shadow_map_shadow_smp, vec3(vec3(_81, _78.y, _134).xy, _134)); + } + + float brightest(vec3 c) + { + return max(c.x, max(c.y, c.z)); + } + + void write_transparent(vec4 color, float glow) + { + frag_color = color; + frag_glow = vec4(glow, 0.0, 0.0, color.w); + } + + void main() + { + vec2 _175 = vec2(-0.004999999888241291046142578125, -0.01200000010430812835693359375) * water_fs_params[2].w; + vec3 _217 = normalize(((texture(normals_normals_smp, (v_xz * 0.4000000059604644775390625) + (_175 * 1.5)).xzy * 2.0) - vec3(1.0)) + ((texture(normals_normals_smp, (v_xz * 0.100000001490116119384765625) + (_175 * 1.7000000476837158203125)).xzy * 2.0) - vec3(1.0))); + vec3 _222 = normalize(v_to_camera); + float _238 = min(1.0, (0.980000019073486328125 * pow(1.0 - max(dot(_222, _217), 0.0), 5.0)) + 0.4699999988079071044921875); + vec2 _253 = gl_FragCoord.xy / vec2(textureSize(reflection_reflection_smp, 0)); + vec2 _267 = vec2(_253.x, 1.0 - _253.y) + (_217.xz * water_fs_params[3].y); + float _280 = mix(_238, 1.0, water_fs_params[3].x); + vec3 param = v_world; + vec3 param_1 = vec3(0.0, 1.0, 0.0); + vec3 param_2 = sun_shadow(param, param_1); + float _324 = smoothstep(0.5, 0.550000011920928955078125, pow(max(dot(_217, normalize(_222 + water_fs_params[1].xyz)), 0.0), water_fs_params[1].w)) * brightest(param_2); + vec3 _341 = mix(mix(water_fs_params[0].xyz, texture(reflection_reflection_smp, _267).xyz, vec3(_280)), water_fs_params[2].xyz, vec3(_324)); + vec4 param_3 = vec4(_341, max(mix(mix(0.300000011920928955078125, 0.5, _238), 1.0, water_fs_params[3].x), _324)); + float param_4 = max(_324, texture(reflection_glow_reflection_smp, _267).x * _280); + write_transparent(param_3, param_4); } */ fs_water_source_glsl430 := u8.[ 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x34,0x33,0x30,0x0a,0x0a,0x75,0x6e, - 0x69,0x66,0x6f,0x72,0x6d,0x20,0x76,0x65,0x63,0x34,0x20,0x77,0x61,0x74,0x65,0x72, - 0x5f,0x66,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x32,0x5d,0x3b,0x0a,0x6c, - 0x61,0x79,0x6f,0x75,0x74,0x28,0x62,0x69,0x6e,0x64,0x69,0x6e,0x67,0x20,0x3d,0x20, - 0x31,0x36,0x29,0x20,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x73,0x61,0x6d,0x70, - 0x6c,0x65,0x72,0x32,0x44,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x73,0x5f,0x6e,0x6f, - 0x72,0x6d,0x61,0x6c,0x73,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75, - 0x74,0x28,0x62,0x69,0x6e,0x64,0x69,0x6e,0x67,0x20,0x3d,0x20,0x31,0x37,0x29,0x20, - 0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x32, - 0x44,0x20,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x72,0x65,0x66, - 0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x0a,0x6c,0x61, - 0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20, - 0x30,0x29,0x20,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x34,0x20,0x66,0x72,0x61,0x67, - 0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c, - 0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x31,0x29,0x20,0x69,0x6e,0x20, - 0x76,0x65,0x63,0x34,0x20,0x76,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x5f,0x75,0x76, + 0x69,0x66,0x6f,0x72,0x6d,0x20,0x76,0x65,0x63,0x34,0x20,0x73,0x68,0x61,0x64,0x6f, + 0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x34,0x5d,0x3b,0x0a,0x75,0x6e,0x69, + 0x66,0x6f,0x72,0x6d,0x20,0x76,0x65,0x63,0x34,0x20,0x77,0x61,0x74,0x65,0x72,0x5f, + 0x66,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x34,0x5d,0x3b,0x0a,0x6c,0x61, + 0x79,0x6f,0x75,0x74,0x28,0x62,0x69,0x6e,0x64,0x69,0x6e,0x67,0x20,0x3d,0x20,0x31, + 0x36,0x29,0x20,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x73,0x61,0x6d,0x70,0x6c, + 0x65,0x72,0x32,0x44,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x73,0x5f,0x6e,0x6f,0x72, + 0x6d,0x61,0x6c,0x73,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74, + 0x28,0x62,0x69,0x6e,0x64,0x69,0x6e,0x67,0x20,0x3d,0x20,0x31,0x37,0x29,0x20,0x75, + 0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x32,0x44, + 0x20,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x72,0x65,0x66,0x6c, + 0x65,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x6c,0x61,0x79,0x6f, + 0x75,0x74,0x28,0x62,0x69,0x6e,0x64,0x69,0x6e,0x67,0x20,0x3d,0x20,0x31,0x38,0x29, + 0x20,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72, + 0x32,0x44,0x53,0x68,0x61,0x64,0x6f,0x77,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f, + 0x6d,0x61,0x70,0x5f,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x73,0x6d,0x70,0x3b,0x0a, + 0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x62,0x69,0x6e,0x64,0x69,0x6e,0x67,0x20,0x3d, + 0x20,0x31,0x39,0x29,0x20,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x73,0x61,0x6d, + 0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x74,0x69, + 0x6e,0x74,0x5f,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x74,0x69,0x6e,0x74,0x5f,0x73, + 0x6d,0x70,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x62,0x69,0x6e,0x64,0x69, + 0x6e,0x67,0x20,0x3d,0x20,0x32,0x30,0x29,0x20,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d, + 0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x72,0x65,0x66,0x6c,0x65, + 0x63,0x74,0x69,0x6f,0x6e,0x5f,0x67,0x6c,0x6f,0x77,0x5f,0x72,0x65,0x66,0x6c,0x65, + 0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x0a,0x6c,0x61,0x79,0x6f, + 0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29, + 0x20,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x63, + 0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63, + 0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x31,0x29,0x20,0x6f,0x75,0x74,0x20,0x76, + 0x65,0x63,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x3b,0x0a,0x6c, + 0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d, + 0x20,0x32,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x32,0x20,0x76,0x5f,0x78,0x7a, 0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f, 0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x33,0x20,0x76, - 0x5f,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x3b,0x0a,0x0a,0x76,0x6f,0x69, - 0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x69, - 0x66,0x20,0x28,0x77,0x61,0x74,0x65,0x72,0x5f,0x66,0x73,0x5f,0x70,0x61,0x72,0x61, - 0x6d,0x73,0x5b,0x30,0x5d,0x2e,0x77,0x20,0x3c,0x20,0x30,0x2e,0x35,0x29,0x0a,0x20, - 0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x72,0x61, - 0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x77, - 0x61,0x74,0x65,0x72,0x5f,0x66,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x30, - 0x5d,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x37,0x32,0x20, + 0x5f,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x3b,0x0a,0x6c,0x61,0x79,0x6f, + 0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x31,0x29, + 0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x77,0x6f,0x72,0x6c,0x64, + 0x3b,0x0a,0x0a,0x76,0x65,0x63,0x33,0x20,0x73,0x75,0x6e,0x5f,0x73,0x68,0x61,0x64, + 0x6f,0x77,0x28,0x76,0x65,0x63,0x33,0x20,0x77,0x6f,0x72,0x6c,0x64,0x2c,0x20,0x76, + 0x65,0x63,0x33,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x29,0x0a,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x34,0x33,0x20,0x3d,0x20,0x6e,0x6f,0x72, + 0x6d,0x61,0x6c,0x20,0x2a,0x20,0x30,0x2e,0x30,0x33,0x31,0x32,0x35,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x37,0x38,0x20,0x3d,0x20,0x6d,0x61, + 0x74,0x34,0x28,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73, + 0x5b,0x30,0x5d,0x2c,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x70,0x61,0x72,0x61, + 0x6d,0x73,0x5b,0x31,0x5d,0x2c,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x70,0x61, + 0x72,0x61,0x6d,0x73,0x5b,0x32,0x5d,0x2c,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f, + 0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x33,0x5d,0x29,0x20,0x2a,0x20,0x76,0x65,0x63, + 0x34,0x28,0x28,0x28,0x28,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x28,0x77,0x6f,0x72,0x6c, + 0x64,0x20,0x2d,0x20,0x5f,0x34,0x33,0x29,0x20,0x2a,0x20,0x31,0x36,0x2e,0x30,0x29, + 0x20,0x2b,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x35,0x29,0x29,0x20,0x2a,0x20, + 0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x36,0x32,0x35,0x29,0x29,0x20,0x2b,0x20, + 0x5f,0x34,0x33,0x29,0x20,0x2b,0x20,0x28,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x20,0x2a, + 0x20,0x30,0x2e,0x30,0x31,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x35,0x35,0x32,0x39, + 0x36,0x35,0x31,0x36,0x34,0x31,0x38,0x34,0x35,0x37,0x30,0x33,0x31,0x32,0x35,0x29, + 0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x5f,0x38,0x31,0x20,0x3d,0x20,0x5f,0x37,0x38,0x2e,0x78,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x38,0x33,0x20,0x3d,0x20,0x5f,0x38, + 0x31,0x20,0x3c,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f, + 0x6c,0x20,0x5f,0x39,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21, + 0x5f,0x38,0x33,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x5f,0x39,0x30,0x20,0x3d,0x20,0x5f,0x38,0x31,0x20,0x3e,0x20,0x31, + 0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c, + 0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x5f,0x39,0x30,0x20,0x3d,0x20,0x5f,0x38,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x7d,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x39,0x37,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x5f,0x39,0x30,0x29,0x0a,0x20,0x20, + 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x39,0x37,0x20, + 0x3d,0x20,0x5f,0x37,0x38,0x2e,0x79,0x20,0x3c,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20, + 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x39,0x37,0x20, + 0x3d,0x20,0x5f,0x39,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20, + 0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x30,0x34,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x69,0x66,0x20,0x28,0x21,0x5f,0x39,0x37,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x30,0x34,0x20,0x3d,0x20,0x5f, + 0x37,0x38,0x2e,0x79,0x20,0x3e,0x20,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x30,0x34,0x20,0x3d,0x20, + 0x5f,0x39,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x62, + 0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x31,0x31,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66, + 0x20,0x28,0x21,0x5f,0x31,0x30,0x34,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x31,0x31,0x20,0x3d,0x20,0x5f,0x37, + 0x38,0x2e,0x7a,0x20,0x3e,0x20,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d, + 0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x31,0x31,0x20,0x3d,0x20,0x5f, + 0x31,0x30,0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69, + 0x66,0x20,0x28,0x5f,0x31,0x31,0x31,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x76,0x65, + 0x63,0x33,0x28,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, + 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x33,0x34,0x20,0x3d,0x20, + 0x5f,0x37,0x38,0x2e,0x7a,0x20,0x2d,0x20,0x30,0x2e,0x30,0x30,0x30,0x35,0x30,0x30, + 0x30,0x30,0x30,0x30,0x32,0x33,0x37,0x34,0x38,0x37,0x32,0x35,0x36,0x35,0x32,0x36, + 0x39,0x34,0x37,0x30,0x32,0x31,0x34,0x38,0x34,0x33,0x37,0x35,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65, + 0x28,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x74,0x69,0x6e,0x74,0x5f,0x73,0x68,0x61, + 0x64,0x6f,0x77,0x5f,0x74,0x69,0x6e,0x74,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x5f,0x37, + 0x38,0x2e,0x78,0x79,0x29,0x2e,0x78,0x79,0x7a,0x20,0x2a,0x20,0x74,0x65,0x78,0x74, + 0x75,0x72,0x65,0x28,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x6d,0x61,0x70,0x5f,0x73, + 0x68,0x61,0x64,0x6f,0x77,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x76,0x65,0x63,0x33,0x28, + 0x76,0x65,0x63,0x33,0x28,0x5f,0x38,0x31,0x2c,0x20,0x5f,0x37,0x38,0x2e,0x79,0x2c, + 0x20,0x5f,0x31,0x33,0x34,0x29,0x2e,0x78,0x79,0x2c,0x20,0x5f,0x31,0x33,0x34,0x29, + 0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x20,0x62,0x72,0x69,0x67, + 0x68,0x74,0x65,0x73,0x74,0x28,0x76,0x65,0x63,0x33,0x20,0x63,0x29,0x0a,0x7b,0x0a, + 0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x6d,0x61,0x78,0x28,0x63, + 0x2e,0x78,0x2c,0x20,0x6d,0x61,0x78,0x28,0x63,0x2e,0x79,0x2c,0x20,0x63,0x2e,0x7a, + 0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x77,0x72,0x69,0x74, + 0x65,0x5f,0x74,0x72,0x61,0x6e,0x73,0x70,0x61,0x72,0x65,0x6e,0x74,0x28,0x76,0x65, + 0x63,0x34,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, + 0x67,0x6c,0x6f,0x77,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67, + 0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x20,0x3d,0x20, + 0x76,0x65,0x63,0x34,0x28,0x67,0x6c,0x6f,0x77,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20, + 0x30,0x2e,0x30,0x2c,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x77,0x29,0x3b,0x0a,0x7d, + 0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a, + 0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x31,0x37,0x35,0x20,0x3d,0x20, + 0x76,0x65,0x63,0x32,0x28,0x2d,0x30,0x2e,0x30,0x30,0x34,0x39,0x39,0x39,0x39,0x39, + 0x39,0x38,0x38,0x38,0x32,0x34,0x31,0x32,0x39,0x31,0x30,0x34,0x36,0x31,0x34,0x32, + 0x35,0x37,0x38,0x31,0x32,0x35,0x2c,0x20,0x2d,0x30,0x2e,0x30,0x31,0x32,0x30,0x30, + 0x30,0x30,0x30,0x30,0x31,0x30,0x34,0x33,0x30,0x38,0x31,0x32,0x38,0x33,0x35,0x36, + 0x39,0x33,0x33,0x35,0x39,0x33,0x37,0x35,0x29,0x20,0x2a,0x20,0x77,0x61,0x74,0x65, + 0x72,0x5f,0x66,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x32,0x5d,0x2e,0x77, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x31,0x37,0x20, 0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x28,0x28,0x74,0x65, 0x78,0x74,0x75,0x72,0x65,0x28,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x73,0x5f,0x6e,0x6f, - 0x72,0x6d,0x61,0x6c,0x73,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x76,0x5f,0x6e,0x6f,0x72, - 0x6d,0x61,0x6c,0x5f,0x75,0x76,0x2e,0x78,0x79,0x29,0x2e,0x78,0x7a,0x79,0x20,0x2a, - 0x20,0x32,0x2e,0x30,0x29,0x20,0x2d,0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30, - 0x29,0x29,0x20,0x2b,0x20,0x28,0x28,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x6e, - 0x6f,0x72,0x6d,0x61,0x6c,0x73,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x73,0x5f,0x73, - 0x6d,0x70,0x2c,0x20,0x76,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x5f,0x75,0x76,0x2e, - 0x7a,0x77,0x29,0x2e,0x78,0x7a,0x79,0x20,0x2a,0x20,0x32,0x2e,0x30,0x29,0x20,0x2d, - 0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x39,0x34,0x20,0x3d,0x20,0x6d,0x69, - 0x6e,0x28,0x31,0x2e,0x30,0x2c,0x20,0x28,0x30,0x2e,0x39,0x38,0x30,0x30,0x30,0x30, - 0x30,0x31,0x39,0x30,0x37,0x33,0x34,0x38,0x36,0x33,0x32,0x38,0x31,0x32,0x35,0x20, - 0x2a,0x20,0x70,0x6f,0x77,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x6d,0x61,0x78,0x28, - 0x64,0x6f,0x74,0x28,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x76,0x5f, - 0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x29,0x2c,0x20,0x5f,0x37,0x32,0x29, - 0x2c,0x20,0x30,0x2e,0x30,0x29,0x2c,0x20,0x35,0x2e,0x30,0x29,0x29,0x20,0x2b,0x20, - 0x30,0x2e,0x34,0x36,0x39,0x39,0x39,0x39,0x39,0x39,0x38,0x38,0x30,0x37,0x39,0x30, - 0x37,0x31,0x30,0x34,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x29,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x31,0x30,0x39,0x20,0x3d,0x20,0x67,0x6c, - 0x5f,0x46,0x72,0x61,0x67,0x43,0x6f,0x6f,0x72,0x64,0x2e,0x78,0x79,0x20,0x2f,0x20, - 0x76,0x65,0x63,0x32,0x28,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x53,0x69,0x7a,0x65, - 0x28,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x72,0x65,0x66,0x6c, - 0x65,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x30,0x29,0x29,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x5f,0x31,0x30,0x39,0x2e,0x79,0x20,0x3d,0x20,0x31,0x2e, - 0x30,0x20,0x2d,0x20,0x5f,0x31,0x30,0x39,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x76,0x65,0x63, - 0x34,0x28,0x6d,0x69,0x78,0x28,0x77,0x61,0x74,0x65,0x72,0x5f,0x66,0x73,0x5f,0x70, + 0x72,0x6d,0x61,0x6c,0x73,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x28,0x76,0x5f,0x78,0x7a, + 0x20,0x2a,0x20,0x30,0x2e,0x34,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x35,0x39,0x36, + 0x30,0x34,0x36,0x34,0x34,0x37,0x37,0x35,0x33,0x39,0x30,0x36,0x32,0x35,0x29,0x20, + 0x2b,0x20,0x28,0x5f,0x31,0x37,0x35,0x20,0x2a,0x20,0x31,0x2e,0x35,0x29,0x29,0x2e, + 0x78,0x7a,0x79,0x20,0x2a,0x20,0x32,0x2e,0x30,0x29,0x20,0x2d,0x20,0x76,0x65,0x63, + 0x33,0x28,0x31,0x2e,0x30,0x29,0x29,0x20,0x2b,0x20,0x28,0x28,0x74,0x65,0x78,0x74, + 0x75,0x72,0x65,0x28,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x73,0x5f,0x6e,0x6f,0x72,0x6d, + 0x61,0x6c,0x73,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x28,0x76,0x5f,0x78,0x7a,0x20,0x2a, + 0x20,0x30,0x2e,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x34,0x39,0x30,0x31, + 0x31,0x36,0x31,0x31,0x39,0x33,0x38,0x34,0x37,0x36,0x35,0x36,0x32,0x35,0x29,0x20, + 0x2b,0x20,0x28,0x5f,0x31,0x37,0x35,0x20,0x2a,0x20,0x31,0x2e,0x37,0x30,0x30,0x30, + 0x30,0x30,0x30,0x34,0x37,0x36,0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31, + 0x32,0x35,0x29,0x29,0x2e,0x78,0x7a,0x79,0x20,0x2a,0x20,0x32,0x2e,0x30,0x29,0x20, + 0x2d,0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x29,0x29,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x32,0x32,0x20,0x3d,0x20,0x6e, + 0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x76,0x5f,0x74,0x6f,0x5f,0x63,0x61, + 0x6d,0x65,0x72,0x61,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x20,0x5f,0x32,0x33,0x38,0x20,0x3d,0x20,0x6d,0x69,0x6e,0x28,0x31,0x2e,0x30,0x2c, + 0x20,0x28,0x30,0x2e,0x39,0x38,0x30,0x30,0x30,0x30,0x30,0x31,0x39,0x30,0x37,0x33, + 0x34,0x38,0x36,0x33,0x32,0x38,0x31,0x32,0x35,0x20,0x2a,0x20,0x70,0x6f,0x77,0x28, + 0x31,0x2e,0x30,0x20,0x2d,0x20,0x6d,0x61,0x78,0x28,0x64,0x6f,0x74,0x28,0x5f,0x32, + 0x32,0x32,0x2c,0x20,0x5f,0x32,0x31,0x37,0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x2c, + 0x20,0x35,0x2e,0x30,0x29,0x29,0x20,0x2b,0x20,0x30,0x2e,0x34,0x36,0x39,0x39,0x39, + 0x39,0x39,0x39,0x38,0x38,0x30,0x37,0x39,0x30,0x37,0x31,0x30,0x34,0x34,0x39,0x32, + 0x31,0x38,0x37,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20, + 0x5f,0x32,0x35,0x33,0x20,0x3d,0x20,0x67,0x6c,0x5f,0x46,0x72,0x61,0x67,0x43,0x6f, + 0x6f,0x72,0x64,0x2e,0x78,0x79,0x20,0x2f,0x20,0x76,0x65,0x63,0x32,0x28,0x74,0x65, + 0x78,0x74,0x75,0x72,0x65,0x53,0x69,0x7a,0x65,0x28,0x72,0x65,0x66,0x6c,0x65,0x63, + 0x74,0x69,0x6f,0x6e,0x5f,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x5f, + 0x73,0x6d,0x70,0x2c,0x20,0x30,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65, + 0x63,0x32,0x20,0x5f,0x32,0x36,0x37,0x20,0x3d,0x20,0x76,0x65,0x63,0x32,0x28,0x5f, + 0x32,0x35,0x33,0x2e,0x78,0x2c,0x20,0x31,0x2e,0x30,0x20,0x2d,0x20,0x5f,0x32,0x35, + 0x33,0x2e,0x79,0x29,0x20,0x2b,0x20,0x28,0x5f,0x32,0x31,0x37,0x2e,0x78,0x7a,0x20, + 0x2a,0x20,0x77,0x61,0x74,0x65,0x72,0x5f,0x66,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d, + 0x73,0x5b,0x33,0x5d,0x2e,0x79,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x20,0x5f,0x32,0x38,0x30,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x5f,0x32, + 0x33,0x38,0x2c,0x20,0x31,0x2e,0x30,0x2c,0x20,0x77,0x61,0x74,0x65,0x72,0x5f,0x66, + 0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x33,0x5d,0x2e,0x78,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d, + 0x20,0x76,0x5f,0x77,0x6f,0x72,0x6c,0x64,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65, + 0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20,0x76,0x65,0x63, + 0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x32,0x20,0x3d,0x20,0x73,0x75,0x6e,0x5f,0x73,0x68,0x61,0x64,0x6f,0x77,0x28, + 0x70,0x61,0x72,0x61,0x6d,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x33,0x32,0x34,0x20, + 0x3d,0x20,0x73,0x6d,0x6f,0x6f,0x74,0x68,0x73,0x74,0x65,0x70,0x28,0x30,0x2e,0x35, + 0x2c,0x20,0x30,0x2e,0x35,0x35,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30, + 0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x2c,0x20,0x70,0x6f, + 0x77,0x28,0x6d,0x61,0x78,0x28,0x64,0x6f,0x74,0x28,0x5f,0x32,0x31,0x37,0x2c,0x20, + 0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x5f,0x32,0x32,0x32,0x20,0x2b, + 0x20,0x77,0x61,0x74,0x65,0x72,0x5f,0x66,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73, + 0x5b,0x31,0x5d,0x2e,0x78,0x79,0x7a,0x29,0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x2c, + 0x20,0x77,0x61,0x74,0x65,0x72,0x5f,0x66,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73, + 0x5b,0x31,0x5d,0x2e,0x77,0x29,0x29,0x20,0x2a,0x20,0x62,0x72,0x69,0x67,0x68,0x74, + 0x65,0x73,0x74,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x33,0x34,0x31,0x20,0x3d,0x20,0x6d,0x69, + 0x78,0x28,0x6d,0x69,0x78,0x28,0x77,0x61,0x74,0x65,0x72,0x5f,0x66,0x73,0x5f,0x70, 0x61,0x72,0x61,0x6d,0x73,0x5b,0x30,0x5d,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x74,0x65, 0x78,0x74,0x75,0x72,0x65,0x28,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e, 0x5f,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6d,0x70,0x2c, - 0x20,0x5f,0x31,0x30,0x39,0x20,0x2b,0x20,0x28,0x5f,0x37,0x32,0x2e,0x78,0x7a,0x20, - 0x2a,0x20,0x77,0x61,0x74,0x65,0x72,0x5f,0x66,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d, - 0x73,0x5b,0x31,0x5d,0x2e,0x79,0x29,0x29,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x76,0x65, - 0x63,0x33,0x28,0x6d,0x69,0x78,0x28,0x5f,0x39,0x34,0x2c,0x20,0x31,0x2e,0x30,0x2c, - 0x20,0x77,0x61,0x74,0x65,0x72,0x5f,0x66,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73, - 0x5b,0x31,0x5d,0x2e,0x78,0x29,0x29,0x29,0x2c,0x20,0x6d,0x69,0x78,0x28,0x6d,0x69, - 0x78,0x28,0x30,0x2e,0x33,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30, - 0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e, - 0x35,0x2c,0x20,0x5f,0x39,0x34,0x29,0x2c,0x20,0x31,0x2e,0x30,0x2c,0x20,0x77,0x61, - 0x74,0x65,0x72,0x5f,0x66,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x31,0x5d, - 0x2e,0x78,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, + 0x20,0x5f,0x32,0x36,0x37,0x29,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x76,0x65,0x63,0x33, + 0x28,0x5f,0x32,0x38,0x30,0x29,0x29,0x2c,0x20,0x77,0x61,0x74,0x65,0x72,0x5f,0x66, + 0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x32,0x5d,0x2e,0x78,0x79,0x7a,0x2c, + 0x20,0x76,0x65,0x63,0x33,0x28,0x5f,0x33,0x32,0x34,0x29,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x20,0x3d, + 0x20,0x76,0x65,0x63,0x34,0x28,0x5f,0x33,0x34,0x31,0x2c,0x20,0x6d,0x61,0x78,0x28, + 0x6d,0x69,0x78,0x28,0x6d,0x69,0x78,0x28,0x30,0x2e,0x33,0x30,0x30,0x30,0x30,0x30, + 0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31, + 0x32,0x35,0x2c,0x20,0x30,0x2e,0x35,0x2c,0x20,0x5f,0x32,0x33,0x38,0x29,0x2c,0x20, + 0x31,0x2e,0x30,0x2c,0x20,0x77,0x61,0x74,0x65,0x72,0x5f,0x66,0x73,0x5f,0x70,0x61, + 0x72,0x61,0x6d,0x73,0x5b,0x33,0x5d,0x2e,0x78,0x29,0x2c,0x20,0x5f,0x33,0x32,0x34, + 0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61, + 0x72,0x61,0x6d,0x5f,0x34,0x20,0x3d,0x20,0x6d,0x61,0x78,0x28,0x5f,0x33,0x32,0x34, + 0x2c,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x72,0x65,0x66,0x6c,0x65,0x63, + 0x74,0x69,0x6f,0x6e,0x5f,0x67,0x6c,0x6f,0x77,0x5f,0x72,0x65,0x66,0x6c,0x65,0x63, + 0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x5f,0x32,0x36,0x37,0x29,0x2e, + 0x78,0x20,0x2a,0x20,0x5f,0x32,0x38,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x77, + 0x72,0x69,0x74,0x65,0x5f,0x74,0x72,0x61,0x6e,0x73,0x70,0x61,0x72,0x65,0x6e,0x74, + 0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x34,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, ]; /* #version 430 const vec2 _23[6] = vec2[](vec2(0.0), vec2(1.0, 0.0), vec2(1.0), vec2(0.0), vec2(1.0), vec2(0.0, 1.0)); - uniform vec4 view_params[6]; + uniform vec4 view_params[13]; + uniform vec4 sprite_params[1]; layout(location = 3) in vec3 face; layout(location = 0) in vec3 center; layout(location = 1) in vec2 size; layout(location = 0) out float v_clip; - layout(location = 1) out vec2 v_uv; + layout(location = 1) out vec3 v_to_camera; + layout(location = 2) out vec2 v_uv; layout(location = 2) in vec4 uv_rect; + layout(location = 3) out vec4 v_color; + layout(location = 4) in vec4 color; + layout(location = 7) out float v_glow; + layout(location = 5) in float glow; + layout(location = 4) out vec3 v_sun; + layout(location = 5) out vec3 v_shade; + layout(location = 6) out vec3 v_anchor; vec2 quad_corner(int vertex_index) { @@ -711,7 +2414,7 @@ fs_water_source_glsl430 := u8.[ vec3 look = face; if (face.x < (-10.0)) { - look = vec3(center.x - view_params[4].x, 0.0, center.z - view_params[4].z); + look = vec3(center.x - view_params[8].x, 0.0, center.z - view_params[8].z); } if (dot(look.xz, look.xz) < 9.9999997473787516355514526367188e-05) { @@ -719,14 +2422,40 @@ fs_water_source_glsl430 := u8.[ } float _93 = _37.x; float _105 = _37.y; - vec4 _123 = vec4((center + (normalize(cross(vec3(0.0, 1.0, 0.0), look)) * ((_93 - 0.5) * size.x))) + vec3(0.0, _105 * size.y, 0.0), 1.0); + vec3 _110 = (center + (normalize(cross(vec3(0.0, 1.0, 0.0), look)) * ((_93 - 0.5) * size.x))) + vec3(0.0, _105 * size.y, 0.0); + vec4 _123 = vec4(_110, 1.0); gl_Position = mat4(view_params[0], view_params[1], view_params[2], view_params[3]) * _123; - v_clip = dot(_123, view_params[5]); + v_clip = dot(_123, view_params[9]); + v_to_camera = view_params[8].xyz - _110; v_uv = vec2(uv_rect.x + (_93 * uv_rect.z), uv_rect.y + ((1.0 - _105) * uv_rect.w)); + v_color = color; + v_glow = glow; + bool _181 = sprite_params[0].x > 0.5; + vec3 _182; + if (_181) + { + _182 = view_params[11].xyz; + } + else + { + _182 = vec3(1.0); + } + v_sun = _182; + vec3 _196; + if (_181) + { + _196 = view_params[12].xyz; + } + else + { + _196 = vec3(1.0); + } + v_shade = _196; + v_anchor = (center + vec3(0.0, size.y * 0.5, 0.0)) + (view_params[10].xyz * 0.300000011920928955078125); } */ -vs_billboard_source_glsl430 := u8.[ +vs_sprite_source_glsl430 := u8.[ 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x34,0x33,0x30,0x0a,0x0a,0x63,0x6f, 0x6e,0x73,0x74,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x32,0x33,0x5b,0x36,0x5d,0x20, 0x3d,0x20,0x76,0x65,0x63,0x32,0x5b,0x5d,0x28,0x76,0x65,0x63,0x32,0x28,0x30,0x2e, @@ -736,7 +2465,9 @@ vs_billboard_source_glsl430 := u8.[ 0x2e,0x30,0x29,0x2c,0x20,0x76,0x65,0x63,0x32,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31, 0x2e,0x30,0x29,0x29,0x3b,0x0a,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x76, 0x65,0x63,0x34,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b, - 0x36,0x5d,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74, + 0x31,0x33,0x5d,0x3b,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x76,0x65,0x63, + 0x34,0x20,0x73,0x70,0x72,0x69,0x74,0x65,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b, + 0x31,0x5d,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74, 0x69,0x6f,0x6e,0x20,0x3d,0x20,0x33,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x33, 0x20,0x66,0x61,0x63,0x65,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f, 0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x69,0x6e,0x20,0x76, @@ -747,39 +2478,58 @@ vs_billboard_source_glsl430 := u8.[ 0x20,0x30,0x29,0x20,0x6f,0x75,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f, 0x63,0x6c,0x69,0x70,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63, 0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x31,0x29,0x20,0x6f,0x75,0x74,0x20,0x76, - 0x65,0x63,0x32,0x20,0x76,0x5f,0x75,0x76,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74, - 0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x32,0x29,0x20,0x69, - 0x6e,0x20,0x76,0x65,0x63,0x34,0x20,0x75,0x76,0x5f,0x72,0x65,0x63,0x74,0x3b,0x0a, - 0x0a,0x76,0x65,0x63,0x32,0x20,0x71,0x75,0x61,0x64,0x5f,0x63,0x6f,0x72,0x6e,0x65, - 0x72,0x28,0x69,0x6e,0x74,0x20,0x76,0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x6e,0x64, - 0x65,0x78,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e, - 0x20,0x5f,0x32,0x33,0x5b,0x76,0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x6e,0x64,0x65, - 0x78,0x5d,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e, - 0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72, - 0x61,0x6d,0x20,0x3d,0x20,0x67,0x6c,0x5f,0x56,0x65,0x72,0x74,0x65,0x78,0x49,0x44, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x33,0x37,0x20,0x3d, - 0x20,0x71,0x75,0x61,0x64,0x5f,0x63,0x6f,0x72,0x6e,0x65,0x72,0x28,0x70,0x61,0x72, - 0x61,0x6d,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x6c,0x6f, - 0x6f,0x6b,0x20,0x3d,0x20,0x66,0x61,0x63,0x65,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69, - 0x66,0x20,0x28,0x66,0x61,0x63,0x65,0x2e,0x78,0x20,0x3c,0x20,0x28,0x2d,0x31,0x30, - 0x2e,0x30,0x29,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x6c,0x6f,0x6f,0x6b,0x20,0x3d,0x20,0x76,0x65,0x63,0x33,0x28,0x63, - 0x65,0x6e,0x74,0x65,0x72,0x2e,0x78,0x20,0x2d,0x20,0x76,0x69,0x65,0x77,0x5f,0x70, - 0x61,0x72,0x61,0x6d,0x73,0x5b,0x34,0x5d,0x2e,0x78,0x2c,0x20,0x30,0x2e,0x30,0x2c, - 0x20,0x63,0x65,0x6e,0x74,0x65,0x72,0x2e,0x7a,0x20,0x2d,0x20,0x76,0x69,0x65,0x77, - 0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x34,0x5d,0x2e,0x7a,0x29,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x64,0x6f,0x74, - 0x28,0x6c,0x6f,0x6f,0x6b,0x2e,0x78,0x7a,0x2c,0x20,0x6c,0x6f,0x6f,0x6b,0x2e,0x78, - 0x7a,0x29,0x20,0x3c,0x20,0x39,0x2e,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x34,0x37, - 0x33,0x37,0x38,0x37,0x35,0x31,0x36,0x33,0x35,0x35,0x35,0x31,0x34,0x35,0x32,0x36, - 0x33,0x36,0x37,0x31,0x38,0x38,0x65,0x2d,0x30,0x35,0x29,0x0a,0x20,0x20,0x20,0x20, - 0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6c,0x6f,0x6f,0x6b,0x20,0x3d, - 0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20, - 0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20, - 0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x39,0x33,0x20,0x3d,0x20,0x5f,0x33,0x37,0x2e, - 0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x30, - 0x35,0x20,0x3d,0x20,0x5f,0x33,0x37,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76, - 0x65,0x63,0x34,0x20,0x5f,0x31,0x32,0x33,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28, + 0x65,0x63,0x33,0x20,0x76,0x5f,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x3b, + 0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e, + 0x20,0x3d,0x20,0x32,0x29,0x20,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x32,0x20,0x76, + 0x5f,0x75,0x76,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61, + 0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x32,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63, + 0x34,0x20,0x75,0x76,0x5f,0x72,0x65,0x63,0x74,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75, + 0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x33,0x29,0x20, + 0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x34,0x20,0x76,0x5f,0x63,0x6f,0x6c,0x6f,0x72, + 0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f, + 0x6e,0x20,0x3d,0x20,0x34,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x34,0x20,0x63, + 0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63, + 0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x37,0x29,0x20,0x6f,0x75,0x74,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x67,0x6c,0x6f,0x77,0x3b,0x0a,0x6c,0x61,0x79, + 0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x35, + 0x29,0x20,0x69,0x6e,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x67,0x6c,0x6f,0x77,0x3b, + 0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e, + 0x20,0x3d,0x20,0x34,0x29,0x20,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x33,0x20,0x76, + 0x5f,0x73,0x75,0x6e,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63, + 0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x35,0x29,0x20,0x6f,0x75,0x74,0x20,0x76, + 0x65,0x63,0x33,0x20,0x76,0x5f,0x73,0x68,0x61,0x64,0x65,0x3b,0x0a,0x6c,0x61,0x79, + 0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x36, + 0x29,0x20,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x61,0x6e,0x63, + 0x68,0x6f,0x72,0x3b,0x0a,0x0a,0x76,0x65,0x63,0x32,0x20,0x71,0x75,0x61,0x64,0x5f, + 0x63,0x6f,0x72,0x6e,0x65,0x72,0x28,0x69,0x6e,0x74,0x20,0x76,0x65,0x72,0x74,0x65, + 0x78,0x5f,0x69,0x6e,0x64,0x65,0x78,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72, + 0x65,0x74,0x75,0x72,0x6e,0x20,0x5f,0x32,0x33,0x5b,0x76,0x65,0x72,0x74,0x65,0x78, + 0x5f,0x69,0x6e,0x64,0x65,0x78,0x5d,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x6f,0x69,0x64, + 0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e, + 0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x67,0x6c,0x5f,0x56,0x65,0x72, + 0x74,0x65,0x78,0x49,0x44,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20, + 0x5f,0x33,0x37,0x20,0x3d,0x20,0x71,0x75,0x61,0x64,0x5f,0x63,0x6f,0x72,0x6e,0x65, + 0x72,0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65, + 0x63,0x33,0x20,0x6c,0x6f,0x6f,0x6b,0x20,0x3d,0x20,0x66,0x61,0x63,0x65,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x66,0x61,0x63,0x65,0x2e,0x78,0x20,0x3c, + 0x20,0x28,0x2d,0x31,0x30,0x2e,0x30,0x29,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6c,0x6f,0x6f,0x6b,0x20,0x3d,0x20,0x76, + 0x65,0x63,0x33,0x28,0x63,0x65,0x6e,0x74,0x65,0x72,0x2e,0x78,0x20,0x2d,0x20,0x76, + 0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x38,0x5d,0x2e,0x78,0x2c, + 0x20,0x30,0x2e,0x30,0x2c,0x20,0x63,0x65,0x6e,0x74,0x65,0x72,0x2e,0x7a,0x20,0x2d, + 0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x38,0x5d,0x2e, + 0x7a,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x66, + 0x20,0x28,0x64,0x6f,0x74,0x28,0x6c,0x6f,0x6f,0x6b,0x2e,0x78,0x7a,0x2c,0x20,0x6c, + 0x6f,0x6f,0x6b,0x2e,0x78,0x7a,0x29,0x20,0x3c,0x20,0x39,0x2e,0x39,0x39,0x39,0x39, + 0x39,0x39,0x37,0x34,0x37,0x33,0x37,0x38,0x37,0x35,0x31,0x36,0x33,0x35,0x35,0x35, + 0x31,0x34,0x35,0x32,0x36,0x33,0x36,0x37,0x31,0x38,0x38,0x65,0x2d,0x30,0x35,0x29, + 0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6c, + 0x6f,0x6f,0x6b,0x20,0x3d,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20, + 0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d, + 0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x39,0x33,0x20,0x3d, + 0x20,0x5f,0x33,0x37,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x5f,0x31,0x30,0x35,0x20,0x3d,0x20,0x5f,0x33,0x37,0x2e,0x79,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x31,0x31,0x30,0x20,0x3d,0x20, 0x28,0x63,0x65,0x6e,0x74,0x65,0x72,0x20,0x2b,0x20,0x28,0x6e,0x6f,0x72,0x6d,0x61, 0x6c,0x69,0x7a,0x65,0x28,0x63,0x72,0x6f,0x73,0x73,0x28,0x76,0x65,0x63,0x33,0x28, 0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x29,0x2c,0x20, @@ -787,21 +2537,307 @@ vs_billboard_source_glsl430 := u8.[ 0x20,0x30,0x2e,0x35,0x29,0x20,0x2a,0x20,0x73,0x69,0x7a,0x65,0x2e,0x78,0x29,0x29, 0x29,0x20,0x2b,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x5f,0x31, 0x30,0x35,0x20,0x2a,0x20,0x73,0x69,0x7a,0x65,0x2e,0x79,0x2c,0x20,0x30,0x2e,0x30, - 0x29,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x67,0x6c,0x5f, - 0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x6d,0x61,0x74,0x34,0x28, - 0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x30,0x5d,0x2c,0x20, - 0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x31,0x5d,0x2c,0x20, - 0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x32,0x5d,0x2c,0x20, - 0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x33,0x5d,0x29,0x20, - 0x2a,0x20,0x5f,0x31,0x32,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x5f,0x63,0x6c, - 0x69,0x70,0x20,0x3d,0x20,0x64,0x6f,0x74,0x28,0x5f,0x31,0x32,0x33,0x2c,0x20,0x76, - 0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x35,0x5d,0x29,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x76,0x5f,0x75,0x76,0x20,0x3d,0x20,0x76,0x65,0x63,0x32,0x28, - 0x75,0x76,0x5f,0x72,0x65,0x63,0x74,0x2e,0x78,0x20,0x2b,0x20,0x28,0x5f,0x39,0x33, - 0x20,0x2a,0x20,0x75,0x76,0x5f,0x72,0x65,0x63,0x74,0x2e,0x7a,0x29,0x2c,0x20,0x75, - 0x76,0x5f,0x72,0x65,0x63,0x74,0x2e,0x79,0x20,0x2b,0x20,0x28,0x28,0x31,0x2e,0x30, - 0x20,0x2d,0x20,0x5f,0x31,0x30,0x35,0x29,0x20,0x2a,0x20,0x75,0x76,0x5f,0x72,0x65, - 0x63,0x74,0x2e,0x77,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x31,0x32,0x33, + 0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x5f,0x31,0x31,0x30,0x2c,0x20,0x31,0x2e, + 0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x67,0x6c,0x5f,0x50,0x6f,0x73,0x69,0x74, + 0x69,0x6f,0x6e,0x20,0x3d,0x20,0x6d,0x61,0x74,0x34,0x28,0x76,0x69,0x65,0x77,0x5f, + 0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x30,0x5d,0x2c,0x20,0x76,0x69,0x65,0x77,0x5f, + 0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x31,0x5d,0x2c,0x20,0x76,0x69,0x65,0x77,0x5f, + 0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x32,0x5d,0x2c,0x20,0x76,0x69,0x65,0x77,0x5f, + 0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x33,0x5d,0x29,0x20,0x2a,0x20,0x5f,0x31,0x32, + 0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x5f,0x63,0x6c,0x69,0x70,0x20,0x3d,0x20, + 0x64,0x6f,0x74,0x28,0x5f,0x31,0x32,0x33,0x2c,0x20,0x76,0x69,0x65,0x77,0x5f,0x70, + 0x61,0x72,0x61,0x6d,0x73,0x5b,0x39,0x5d,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76, + 0x5f,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x20,0x3d,0x20,0x76,0x69,0x65, + 0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x38,0x5d,0x2e,0x78,0x79,0x7a,0x20, + 0x2d,0x20,0x5f,0x31,0x31,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x5f,0x75,0x76, + 0x20,0x3d,0x20,0x76,0x65,0x63,0x32,0x28,0x75,0x76,0x5f,0x72,0x65,0x63,0x74,0x2e, + 0x78,0x20,0x2b,0x20,0x28,0x5f,0x39,0x33,0x20,0x2a,0x20,0x75,0x76,0x5f,0x72,0x65, + 0x63,0x74,0x2e,0x7a,0x29,0x2c,0x20,0x75,0x76,0x5f,0x72,0x65,0x63,0x74,0x2e,0x79, + 0x20,0x2b,0x20,0x28,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x5f,0x31,0x30,0x35,0x29, + 0x20,0x2a,0x20,0x75,0x76,0x5f,0x72,0x65,0x63,0x74,0x2e,0x77,0x29,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x76,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x63,0x6f, + 0x6c,0x6f,0x72,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x5f,0x67,0x6c,0x6f,0x77,0x20, + 0x3d,0x20,0x67,0x6c,0x6f,0x77,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c, + 0x20,0x5f,0x31,0x38,0x31,0x20,0x3d,0x20,0x73,0x70,0x72,0x69,0x74,0x65,0x5f,0x70, + 0x61,0x72,0x61,0x6d,0x73,0x5b,0x30,0x5d,0x2e,0x78,0x20,0x3e,0x20,0x30,0x2e,0x35, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x31,0x38,0x32,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x38,0x31,0x29,0x0a,0x20, + 0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x38, + 0x32,0x20,0x3d,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b, + 0x31,0x31,0x5d,0x2e,0x78,0x79,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, + 0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x38,0x32,0x20,0x3d,0x20,0x76,0x65,0x63, + 0x33,0x28,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20, + 0x20,0x20,0x76,0x5f,0x73,0x75,0x6e,0x20,0x3d,0x20,0x5f,0x31,0x38,0x32,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x31,0x39,0x36,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x38,0x31,0x29,0x0a,0x20,0x20,0x20, + 0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x39,0x36,0x20, + 0x3d,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x31,0x32, + 0x5d,0x2e,0x78,0x79,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20, + 0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x5f,0x31,0x39,0x36,0x20,0x3d,0x20,0x76,0x65,0x63,0x33,0x28, + 0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20, + 0x76,0x5f,0x73,0x68,0x61,0x64,0x65,0x20,0x3d,0x20,0x5f,0x31,0x39,0x36,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x76,0x5f,0x61,0x6e,0x63,0x68,0x6f,0x72,0x20,0x3d,0x20,0x28, + 0x63,0x65,0x6e,0x74,0x65,0x72,0x20,0x2b,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e, + 0x30,0x2c,0x20,0x73,0x69,0x7a,0x65,0x2e,0x79,0x20,0x2a,0x20,0x30,0x2e,0x35,0x2c, + 0x20,0x30,0x2e,0x30,0x29,0x29,0x20,0x2b,0x20,0x28,0x76,0x69,0x65,0x77,0x5f,0x70, + 0x61,0x72,0x61,0x6d,0x73,0x5b,0x31,0x30,0x5d,0x2e,0x78,0x79,0x7a,0x20,0x2a,0x20, + 0x30,0x2e,0x33,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32, + 0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x29,0x3b,0x0a,0x7d,0x0a,0x0a, + 0x00, +]; +/* + #version 430 + + uniform vec4 shadow_params[4]; + layout(binding = 16) uniform sampler2DShadow shadow_map_shadow_smp; + layout(binding = 17) uniform sampler2D shadow_tint_shadow_tint_smp; + layout(binding = 18) uniform sampler2D sprite_sprite_smp; + + layout(location = 1) out vec4 frag_glow; + layout(location = 2) out vec4 frag_scene; + layout(location = 0) in float v_clip; + layout(location = 2) in vec2 v_uv; + layout(location = 3) in vec4 v_color; + layout(location = 5) in vec3 v_shade; + layout(location = 4) in vec3 v_sun; + layout(location = 6) in vec3 v_anchor; + layout(location = 0) out vec4 frag_color; + layout(location = 1) in vec3 v_to_camera; + layout(location = 7) in float v_glow; + + vec3 sun_shadow(vec3 world, vec3 normal) + { + vec3 _35 = normal * 0.03125; + vec4 _71 = mat4(shadow_params[0], shadow_params[1], shadow_params[2], shadow_params[3]) * vec4((((floor((world - _35) * 16.0) + vec3(0.5)) * vec3(0.0625)) + _35) + (normal * 0.0199999995529651641845703125), 1.0); + float _76 = _71.x; + bool _78 = _76 < 0.0; + bool _85; + if (!_78) + { + _85 = _76 > 1.0; + } + else + { + _85 = _78; + } + bool _93; + if (!_85) + { + _93 = _71.y < 0.0; + } + else + { + _93 = _85; + } + bool _100; + if (!_93) + { + _100 = _71.y > 1.0; + } + else + { + _100 = _93; + } + bool _108; + if (!_100) + { + _108 = _71.z > 1.0; + } + else + { + _108 = _100; + } + if (_108) + { + return vec3(1.0); + } + float _131 = _71.z - 0.0005000000237487256526947021484375; + return texture(shadow_tint_shadow_tint_smp, _71.xy).xyz * texture(shadow_map_shadow_smp, vec3(vec3(_76, _71.y, _131).xy, _131)); + } + + vec4 sprite_color() + { + if (v_clip < 0.0) + { + discard; + } + vec4 _167 = texture(sprite_sprite_smp, v_uv); + if (_167.w < 0.00999999977648258209228515625) + { + discard; + } + return _167 * v_color; + } + + void write_scene(vec3 to_camera, float glow) + { + frag_glow = vec4(glow); + frag_scene = vec4(length(to_camera)); + } + + void main() + { + vec3 param = v_anchor; + vec3 param_1 = vec3(0.0, 1.0, 0.0); + vec4 _197 = sprite_color(); + frag_color = _197 * vec4(mix(v_shade, v_sun, sun_shadow(param, param_1)), 1.0); + vec3 param_2 = v_to_camera; + float param_3 = 0.0; + write_scene(param_2, param_3); + } + +*/ +fs_sprite_source_glsl430 := u8.[ + 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x34,0x33,0x30,0x0a,0x0a,0x75,0x6e, + 0x69,0x66,0x6f,0x72,0x6d,0x20,0x76,0x65,0x63,0x34,0x20,0x73,0x68,0x61,0x64,0x6f, + 0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x34,0x5d,0x3b,0x0a,0x6c,0x61,0x79, + 0x6f,0x75,0x74,0x28,0x62,0x69,0x6e,0x64,0x69,0x6e,0x67,0x20,0x3d,0x20,0x31,0x36, + 0x29,0x20,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65, + 0x72,0x32,0x44,0x53,0x68,0x61,0x64,0x6f,0x77,0x20,0x73,0x68,0x61,0x64,0x6f,0x77, + 0x5f,0x6d,0x61,0x70,0x5f,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x73,0x6d,0x70,0x3b, + 0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x62,0x69,0x6e,0x64,0x69,0x6e,0x67,0x20, + 0x3d,0x20,0x31,0x37,0x29,0x20,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x73,0x61, + 0x6d,0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x74, + 0x69,0x6e,0x74,0x5f,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x74,0x69,0x6e,0x74,0x5f, + 0x73,0x6d,0x70,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x62,0x69,0x6e,0x64, + 0x69,0x6e,0x67,0x20,0x3d,0x20,0x31,0x38,0x29,0x20,0x75,0x6e,0x69,0x66,0x6f,0x72, + 0x6d,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x73,0x70,0x72,0x69, + 0x74,0x65,0x5f,0x73,0x70,0x72,0x69,0x74,0x65,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x0a, + 0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20, + 0x3d,0x20,0x31,0x29,0x20,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x34,0x20,0x66,0x72, + 0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28, + 0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x32,0x29,0x20,0x6f,0x75, + 0x74,0x20,0x76,0x65,0x63,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x73,0x63,0x65,0x6e, + 0x65,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69, + 0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x69,0x6e,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x20,0x76,0x5f,0x63,0x6c,0x69,0x70,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28, + 0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x32,0x29,0x20,0x69,0x6e, + 0x20,0x76,0x65,0x63,0x32,0x20,0x76,0x5f,0x75,0x76,0x3b,0x0a,0x6c,0x61,0x79,0x6f, + 0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x33,0x29, + 0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x34,0x20,0x76,0x5f,0x63,0x6f,0x6c,0x6f,0x72, + 0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f, + 0x6e,0x20,0x3d,0x20,0x35,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x33,0x20,0x76, + 0x5f,0x73,0x68,0x61,0x64,0x65,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c, + 0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x34,0x29,0x20,0x69,0x6e,0x20, + 0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x73,0x75,0x6e,0x3b,0x0a,0x6c,0x61,0x79,0x6f, + 0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x36,0x29, + 0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x61,0x6e,0x63,0x68,0x6f, + 0x72,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69, + 0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x34, + 0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x6c,0x61,0x79, + 0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x31, + 0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x74,0x6f,0x5f,0x63, + 0x61,0x6d,0x65,0x72,0x61,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f, + 0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x37,0x29,0x20,0x69,0x6e,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x67,0x6c,0x6f,0x77,0x3b,0x0a,0x0a,0x76,0x65, + 0x63,0x33,0x20,0x73,0x75,0x6e,0x5f,0x73,0x68,0x61,0x64,0x6f,0x77,0x28,0x76,0x65, + 0x63,0x33,0x20,0x77,0x6f,0x72,0x6c,0x64,0x2c,0x20,0x76,0x65,0x63,0x33,0x20,0x6e, + 0x6f,0x72,0x6d,0x61,0x6c,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63, + 0x33,0x20,0x5f,0x33,0x35,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x20,0x2a, + 0x20,0x30,0x2e,0x30,0x33,0x31,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65, + 0x63,0x34,0x20,0x5f,0x37,0x31,0x20,0x3d,0x20,0x6d,0x61,0x74,0x34,0x28,0x73,0x68, + 0x61,0x64,0x6f,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x30,0x5d,0x2c,0x20, + 0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x31,0x5d, + 0x2c,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b, + 0x32,0x5d,0x2c,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d, + 0x73,0x5b,0x33,0x5d,0x29,0x20,0x2a,0x20,0x76,0x65,0x63,0x34,0x28,0x28,0x28,0x28, + 0x66,0x6c,0x6f,0x6f,0x72,0x28,0x28,0x77,0x6f,0x72,0x6c,0x64,0x20,0x2d,0x20,0x5f, + 0x33,0x35,0x29,0x20,0x2a,0x20,0x31,0x36,0x2e,0x30,0x29,0x20,0x2b,0x20,0x76,0x65, + 0x63,0x33,0x28,0x30,0x2e,0x35,0x29,0x29,0x20,0x2a,0x20,0x76,0x65,0x63,0x33,0x28, + 0x30,0x2e,0x30,0x36,0x32,0x35,0x29,0x29,0x20,0x2b,0x20,0x5f,0x33,0x35,0x29,0x20, + 0x2b,0x20,0x28,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x20,0x2a,0x20,0x30,0x2e,0x30,0x31, + 0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x35,0x35,0x32,0x39,0x36,0x35,0x31,0x36,0x34, + 0x31,0x38,0x34,0x35,0x37,0x30,0x33,0x31,0x32,0x35,0x29,0x2c,0x20,0x31,0x2e,0x30, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x37,0x36, + 0x20,0x3d,0x20,0x5f,0x37,0x31,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f, + 0x6f,0x6c,0x20,0x5f,0x37,0x38,0x20,0x3d,0x20,0x5f,0x37,0x36,0x20,0x3c,0x20,0x30, + 0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x38,0x35, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x5f,0x37,0x38,0x29,0x0a, + 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x38, + 0x35,0x20,0x3d,0x20,0x5f,0x37,0x36,0x20,0x3e,0x20,0x31,0x2e,0x30,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20, + 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x38,0x35,0x20, + 0x3d,0x20,0x5f,0x37,0x38,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20, + 0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x39,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69, + 0x66,0x20,0x28,0x21,0x5f,0x38,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x39,0x33,0x20,0x3d,0x20,0x5f,0x37,0x31, + 0x2e,0x79,0x20,0x3c,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a, + 0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x39,0x33,0x20,0x3d,0x20,0x5f,0x38,0x35, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c, + 0x20,0x5f,0x31,0x30,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21, + 0x5f,0x39,0x33,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x5f,0x31,0x30,0x30,0x20,0x3d,0x20,0x5f,0x37,0x31,0x2e,0x79,0x20, + 0x3e,0x20,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20, + 0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x5f,0x31,0x30,0x30,0x20,0x3d,0x20,0x5f,0x39,0x33,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f, + 0x31,0x30,0x38,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x5f,0x31, + 0x30,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x5f,0x31,0x30,0x38,0x20,0x3d,0x20,0x5f,0x37,0x31,0x2e,0x7a,0x20,0x3e, + 0x20,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20, + 0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x5f,0x31,0x30,0x38,0x20,0x3d,0x20,0x5f,0x31,0x30,0x30,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31, + 0x30,0x38,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e, + 0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x20,0x5f,0x31,0x33,0x31,0x20,0x3d,0x20,0x5f,0x37,0x31,0x2e,0x7a, + 0x20,0x2d,0x20,0x30,0x2e,0x30,0x30,0x30,0x35,0x30,0x30,0x30,0x30,0x30,0x30,0x32, + 0x33,0x37,0x34,0x38,0x37,0x32,0x35,0x36,0x35,0x32,0x36,0x39,0x34,0x37,0x30,0x32, + 0x31,0x34,0x38,0x34,0x33,0x37,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74, + 0x75,0x72,0x6e,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x73,0x68,0x61,0x64, + 0x6f,0x77,0x5f,0x74,0x69,0x6e,0x74,0x5f,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x74, + 0x69,0x6e,0x74,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x5f,0x37,0x31,0x2e,0x78,0x79,0x29, + 0x2e,0x78,0x79,0x7a,0x20,0x2a,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x73, + 0x68,0x61,0x64,0x6f,0x77,0x5f,0x6d,0x61,0x70,0x5f,0x73,0x68,0x61,0x64,0x6f,0x77, + 0x5f,0x73,0x6d,0x70,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x76,0x65,0x63,0x33,0x28, + 0x5f,0x37,0x36,0x2c,0x20,0x5f,0x37,0x31,0x2e,0x79,0x2c,0x20,0x5f,0x31,0x33,0x31, + 0x29,0x2e,0x78,0x79,0x2c,0x20,0x5f,0x31,0x33,0x31,0x29,0x29,0x3b,0x0a,0x7d,0x0a, + 0x0a,0x76,0x65,0x63,0x34,0x20,0x73,0x70,0x72,0x69,0x74,0x65,0x5f,0x63,0x6f,0x6c, + 0x6f,0x72,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x76, + 0x5f,0x63,0x6c,0x69,0x70,0x20,0x3c,0x20,0x30,0x2e,0x30,0x29,0x0a,0x20,0x20,0x20, + 0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x69,0x73,0x63,0x61, + 0x72,0x64,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x76,0x65, + 0x63,0x34,0x20,0x5f,0x31,0x36,0x37,0x20,0x3d,0x20,0x74,0x65,0x78,0x74,0x75,0x72, + 0x65,0x28,0x73,0x70,0x72,0x69,0x74,0x65,0x5f,0x73,0x70,0x72,0x69,0x74,0x65,0x5f, + 0x73,0x6d,0x70,0x2c,0x20,0x76,0x5f,0x75,0x76,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x69,0x66,0x20,0x28,0x5f,0x31,0x36,0x37,0x2e,0x77,0x20,0x3c,0x20,0x30,0x2e,0x30, + 0x30,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x37,0x36,0x34,0x38,0x32,0x35,0x38, + 0x32,0x30,0x39,0x32,0x32,0x38,0x35,0x31,0x35,0x36,0x32,0x35,0x29,0x0a,0x20,0x20, + 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x69,0x73,0x63, + 0x61,0x72,0x64,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x72, + 0x65,0x74,0x75,0x72,0x6e,0x20,0x5f,0x31,0x36,0x37,0x20,0x2a,0x20,0x76,0x5f,0x63, + 0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x77,0x72, + 0x69,0x74,0x65,0x5f,0x73,0x63,0x65,0x6e,0x65,0x28,0x76,0x65,0x63,0x33,0x20,0x74, + 0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, + 0x67,0x6c,0x6f,0x77,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67, + 0x5f,0x67,0x6c,0x6f,0x77,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x67,0x6c,0x6f, + 0x77,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x73,0x63,0x65, + 0x6e,0x65,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x6c,0x65,0x6e,0x67,0x74,0x68, + 0x28,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x29,0x29,0x3b,0x0a,0x7d,0x0a, + 0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20, + 0x76,0x5f,0x61,0x6e,0x63,0x68,0x6f,0x72,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65, + 0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20,0x76,0x65,0x63, + 0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x31,0x39,0x37,0x20, + 0x3d,0x20,0x73,0x70,0x72,0x69,0x74,0x65,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x28,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72, + 0x20,0x3d,0x20,0x5f,0x31,0x39,0x37,0x20,0x2a,0x20,0x76,0x65,0x63,0x34,0x28,0x6d, + 0x69,0x78,0x28,0x76,0x5f,0x73,0x68,0x61,0x64,0x65,0x2c,0x20,0x76,0x5f,0x73,0x75, + 0x6e,0x2c,0x20,0x73,0x75,0x6e,0x5f,0x73,0x68,0x61,0x64,0x6f,0x77,0x28,0x70,0x61, + 0x72,0x61,0x6d,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x29,0x29,0x2c,0x20, + 0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x70, + 0x61,0x72,0x61,0x6d,0x5f,0x32,0x20,0x3d,0x20,0x76,0x5f,0x74,0x6f,0x5f,0x63,0x61, + 0x6d,0x65,0x72,0x61,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, + 0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x20,0x3d,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x77,0x72,0x69,0x74,0x65,0x5f,0x73,0x63,0x65,0x6e,0x65,0x28,0x70, + 0x61,0x72,0x61,0x6d,0x5f,0x32,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x29, + 0x3b,0x0a,0x7d,0x0a,0x0a,0x00, ]; /* #version 430 @@ -809,25 +2845,46 @@ vs_billboard_source_glsl430 := u8.[ layout(binding = 16) uniform sampler2D sprite_sprite_smp; layout(location = 0) in float v_clip; - layout(location = 1) in vec2 v_uv; + layout(location = 2) in vec2 v_uv; + layout(location = 3) in vec4 v_color; layout(location = 0) out vec4 frag_color; + layout(location = 1) out vec4 frag_glow; + layout(location = 7) in float v_glow; + layout(location = 1) in vec3 v_to_camera; + layout(location = 4) in vec3 v_sun; + layout(location = 5) in vec3 v_shade; + layout(location = 6) in vec3 v_anchor; - void main() + vec4 sprite_color() { if (v_clip < 0.0) { discard; } - vec4 _33 = texture(sprite_sprite_smp, v_uv); - if (_33.w < 0.00999999977648258209228515625) + vec4 _42 = texture(sprite_sprite_smp, v_uv); + if (_42.w < 0.00999999977648258209228515625) { discard; } - frag_color = vec4(_33.xyz, 1.0); + return _42 * v_color; + } + + void write_transparent(vec4 color, float glow) + { + frag_color = color; + frag_glow = vec4(glow, 0.0, 0.0, color.w); + } + + void main() + { + vec4 _67 = sprite_color(); + vec4 param = _67; + float param_1 = v_glow * 8.0; + write_transparent(param, param_1); } */ -fs_billboard_source_glsl430 := u8.[ +fs_particle_source_glsl430 := u8.[ 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x34,0x33,0x30,0x0a,0x0a,0x6c,0x61, 0x79,0x6f,0x75,0x74,0x28,0x62,0x69,0x6e,0x64,0x69,0x6e,0x67,0x20,0x3d,0x20,0x31, 0x36,0x29,0x20,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x73,0x61,0x6d,0x70,0x6c, @@ -836,26 +2893,505 @@ fs_billboard_source_glsl430 := u8.[ 0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x69,0x6e, 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x63,0x6c,0x69,0x70,0x3b,0x0a,0x6c, 0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d, - 0x20,0x31,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x32,0x20,0x76,0x5f,0x75,0x76, + 0x20,0x32,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x32,0x20,0x76,0x5f,0x75,0x76, 0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f, - 0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x34,0x20, - 0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x0a,0x76,0x6f,0x69, - 0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x69, - 0x66,0x20,0x28,0x76,0x5f,0x63,0x6c,0x69,0x70,0x20,0x3c,0x20,0x30,0x2e,0x30,0x29, - 0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64, - 0x69,0x73,0x63,0x61,0x72,0x64,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20, - 0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x33,0x33,0x20,0x3d,0x20,0x74,0x65,0x78, - 0x74,0x75,0x72,0x65,0x28,0x73,0x70,0x72,0x69,0x74,0x65,0x5f,0x73,0x70,0x72,0x69, - 0x74,0x65,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x76,0x5f,0x75,0x76,0x29,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x33,0x33,0x2e,0x77,0x20,0x3c,0x20,0x30, - 0x2e,0x30,0x30,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x37,0x36,0x34,0x38,0x32, - 0x35,0x38,0x32,0x30,0x39,0x32,0x32,0x38,0x35,0x31,0x35,0x36,0x32,0x35,0x29,0x0a, - 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x69, - 0x73,0x63,0x61,0x72,0x64,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20, - 0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x76,0x65, - 0x63,0x34,0x28,0x5f,0x33,0x33,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x31,0x2e,0x30,0x29, + 0x6e,0x20,0x3d,0x20,0x33,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x34,0x20,0x76, + 0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c, + 0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x6f,0x75,0x74, + 0x20,0x76,0x65,0x63,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72, + 0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f, + 0x6e,0x20,0x3d,0x20,0x31,0x29,0x20,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x34,0x20, + 0x66,0x72,0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75, + 0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x37,0x29,0x20, + 0x69,0x6e,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x67,0x6c,0x6f,0x77,0x3b, + 0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e, + 0x20,0x3d,0x20,0x31,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f, + 0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75, + 0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x34,0x29,0x20, + 0x69,0x6e,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x73,0x75,0x6e,0x3b,0x0a,0x6c, + 0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d, + 0x20,0x35,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x73,0x68, + 0x61,0x64,0x65,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61, + 0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x36,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63, + 0x33,0x20,0x76,0x5f,0x61,0x6e,0x63,0x68,0x6f,0x72,0x3b,0x0a,0x0a,0x76,0x65,0x63, + 0x34,0x20,0x73,0x70,0x72,0x69,0x74,0x65,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x28,0x29, + 0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x76,0x5f,0x63,0x6c,0x69, + 0x70,0x20,0x3c,0x20,0x30,0x2e,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x69,0x73,0x63,0x61,0x72,0x64,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x5f, + 0x34,0x32,0x20,0x3d,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x73,0x70,0x72, + 0x69,0x74,0x65,0x5f,0x73,0x70,0x72,0x69,0x74,0x65,0x5f,0x73,0x6d,0x70,0x2c,0x20, + 0x76,0x5f,0x75,0x76,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f, + 0x34,0x32,0x2e,0x77,0x20,0x3c,0x20,0x30,0x2e,0x30,0x30,0x39,0x39,0x39,0x39,0x39, + 0x39,0x39,0x37,0x37,0x36,0x34,0x38,0x32,0x35,0x38,0x32,0x30,0x39,0x32,0x32,0x38, + 0x35,0x31,0x35,0x36,0x32,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x69,0x73,0x63,0x61,0x72,0x64,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20, + 0x5f,0x34,0x32,0x20,0x2a,0x20,0x76,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x7d, + 0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x77,0x72,0x69,0x74,0x65,0x5f,0x74,0x72,0x61, + 0x6e,0x73,0x70,0x61,0x72,0x65,0x6e,0x74,0x28,0x76,0x65,0x63,0x34,0x20,0x63,0x6f, + 0x6c,0x6f,0x72,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x67,0x6c,0x6f,0x77,0x29, + 0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f, + 0x72,0x20,0x3d,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x72,0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28, + 0x67,0x6c,0x6f,0x77,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20, + 0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x77,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x6f,0x69, + 0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x76, + 0x65,0x63,0x34,0x20,0x5f,0x36,0x37,0x20,0x3d,0x20,0x73,0x70,0x72,0x69,0x74,0x65, + 0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x28,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65, + 0x63,0x34,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x5f,0x36,0x37,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x31,0x20,0x3d,0x20,0x76,0x5f,0x67,0x6c,0x6f,0x77,0x20,0x2a,0x20,0x38,0x2e,0x30, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x77,0x72,0x69,0x74,0x65,0x5f,0x74,0x72,0x61,0x6e, + 0x73,0x70,0x61,0x72,0x65,0x6e,0x74,0x28,0x70,0x61,0x72,0x61,0x6d,0x2c,0x20,0x70, + 0x61,0x72,0x61,0x6d,0x5f,0x31,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, +]; +/* + #version 430 + + layout(binding = 16) uniform sampler2D sprite_sprite_smp; + + layout(location = 0) in float v_clip; + layout(location = 2) in vec2 v_uv; + layout(location = 3) in vec4 v_color; + layout(location = 1) in vec3 v_to_camera; + layout(location = 4) in vec3 v_sun; + layout(location = 5) in vec3 v_shade; + layout(location = 6) in vec3 v_anchor; + layout(location = 7) in float v_glow; + + vec4 sprite_color() + { + if (v_clip < 0.0) + { + discard; + } + vec4 _36 = texture(sprite_sprite_smp, v_uv); + if (_36.w < 0.00999999977648258209228515625) + { + discard; + } + return _36 * v_color; + } + + void main() + { + vec4 _54 = sprite_color(); + } + +*/ +fs_sprite_shadow_source_glsl430 := u8.[ + 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x34,0x33,0x30,0x0a,0x0a,0x6c,0x61, + 0x79,0x6f,0x75,0x74,0x28,0x62,0x69,0x6e,0x64,0x69,0x6e,0x67,0x20,0x3d,0x20,0x31, + 0x36,0x29,0x20,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x73,0x61,0x6d,0x70,0x6c, + 0x65,0x72,0x32,0x44,0x20,0x73,0x70,0x72,0x69,0x74,0x65,0x5f,0x73,0x70,0x72,0x69, + 0x74,0x65,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28, + 0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x69,0x6e, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x63,0x6c,0x69,0x70,0x3b,0x0a,0x6c, + 0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d, + 0x20,0x32,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x32,0x20,0x76,0x5f,0x75,0x76, + 0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f, + 0x6e,0x20,0x3d,0x20,0x33,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x34,0x20,0x76, + 0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c, + 0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x31,0x29,0x20,0x69,0x6e,0x20, + 0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61, + 0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f, + 0x6e,0x20,0x3d,0x20,0x34,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x33,0x20,0x76, + 0x5f,0x73,0x75,0x6e,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63, + 0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x35,0x29,0x20,0x69,0x6e,0x20,0x76,0x65, + 0x63,0x33,0x20,0x76,0x5f,0x73,0x68,0x61,0x64,0x65,0x3b,0x0a,0x6c,0x61,0x79,0x6f, + 0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x36,0x29, + 0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x61,0x6e,0x63,0x68,0x6f, + 0x72,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69, + 0x6f,0x6e,0x20,0x3d,0x20,0x37,0x29,0x20,0x69,0x6e,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x20,0x76,0x5f,0x67,0x6c,0x6f,0x77,0x3b,0x0a,0x0a,0x76,0x65,0x63,0x34,0x20,0x73, + 0x70,0x72,0x69,0x74,0x65,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x28,0x29,0x0a,0x7b,0x0a, + 0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x76,0x5f,0x63,0x6c,0x69,0x70,0x20,0x3c, + 0x20,0x30,0x2e,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x64,0x69,0x73,0x63,0x61,0x72,0x64,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x33,0x36,0x20, + 0x3d,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x73,0x70,0x72,0x69,0x74,0x65, + 0x5f,0x73,0x70,0x72,0x69,0x74,0x65,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x76,0x5f,0x75, + 0x76,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x33,0x36,0x2e, + 0x77,0x20,0x3c,0x20,0x30,0x2e,0x30,0x30,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x37, + 0x37,0x36,0x34,0x38,0x32,0x35,0x38,0x32,0x30,0x39,0x32,0x32,0x38,0x35,0x31,0x35, + 0x36,0x32,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x64,0x69,0x73,0x63,0x61,0x72,0x64,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x7d,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x5f,0x33,0x36, + 0x20,0x2a,0x20,0x76,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x7d,0x0a,0x0a,0x76, + 0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x35,0x34,0x20,0x3d,0x20,0x73,0x70,0x72,0x69, + 0x74,0x65,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x28,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, + +]; +/* + #version 430 + + uniform vec4 view_params[13]; + layout(location = 0) out vec4 v_point; + layout(location = 1) out vec3 v_camera; + + vec2 fullscreen_position(int vertex_index) + { + return (vec2(float((vertex_index << 1) & 2), float(vertex_index & 2)) * 2.0) - vec2(1.0); + } + + void main() + { + int param = gl_VertexID; + vec2 _37 = fullscreen_position(param); + float _48 = _37.x; + gl_Position = vec4(_48, _37.y, 0.0, 1.0); + v_point = mat4(view_params[4], view_params[5], view_params[6], view_params[7]) * vec4(_48, _37.y, 0.5, 1.0); + v_camera = view_params[8].xyz; + } + +*/ +vs_sky_source_glsl430 := u8.[ + 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x34,0x33,0x30,0x0a,0x0a,0x75,0x6e, + 0x69,0x66,0x6f,0x72,0x6d,0x20,0x76,0x65,0x63,0x34,0x20,0x76,0x69,0x65,0x77,0x5f, + 0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x31,0x33,0x5d,0x3b,0x0a,0x6c,0x61,0x79,0x6f, + 0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29, + 0x20,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x34,0x20,0x76,0x5f,0x70,0x6f,0x69,0x6e, + 0x74,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69, + 0x6f,0x6e,0x20,0x3d,0x20,0x31,0x29,0x20,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x33, + 0x20,0x76,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x3b,0x0a,0x0a,0x76,0x65,0x63,0x32, + 0x20,0x66,0x75,0x6c,0x6c,0x73,0x63,0x72,0x65,0x65,0x6e,0x5f,0x70,0x6f,0x73,0x69, + 0x74,0x69,0x6f,0x6e,0x28,0x69,0x6e,0x74,0x20,0x76,0x65,0x72,0x74,0x65,0x78,0x5f, + 0x69,0x6e,0x64,0x65,0x78,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74, + 0x75,0x72,0x6e,0x20,0x28,0x76,0x65,0x63,0x32,0x28,0x66,0x6c,0x6f,0x61,0x74,0x28, + 0x28,0x76,0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x6e,0x64,0x65,0x78,0x20,0x3c,0x3c, + 0x20,0x31,0x29,0x20,0x26,0x20,0x32,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x28, + 0x76,0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x6e,0x64,0x65,0x78,0x20,0x26,0x20,0x32, + 0x29,0x29,0x20,0x2a,0x20,0x32,0x2e,0x30,0x29,0x20,0x2d,0x20,0x76,0x65,0x63,0x32, + 0x28,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d, + 0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20, + 0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x67,0x6c,0x5f,0x56,0x65,0x72,0x74,0x65, + 0x78,0x49,0x44,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x33, + 0x37,0x20,0x3d,0x20,0x66,0x75,0x6c,0x6c,0x73,0x63,0x72,0x65,0x65,0x6e,0x5f,0x70, + 0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x34,0x38,0x20,0x3d,0x20, + 0x5f,0x33,0x37,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x67,0x6c,0x5f,0x50,0x6f, + 0x73,0x69,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x5f,0x34, + 0x38,0x2c,0x20,0x5f,0x33,0x37,0x2e,0x79,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31, + 0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x5f,0x70,0x6f,0x69,0x6e,0x74, + 0x20,0x3d,0x20,0x6d,0x61,0x74,0x34,0x28,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72, + 0x61,0x6d,0x73,0x5b,0x34,0x5d,0x2c,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72, + 0x61,0x6d,0x73,0x5b,0x35,0x5d,0x2c,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72, + 0x61,0x6d,0x73,0x5b,0x36,0x5d,0x2c,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72, + 0x61,0x6d,0x73,0x5b,0x37,0x5d,0x29,0x20,0x2a,0x20,0x76,0x65,0x63,0x34,0x28,0x5f, + 0x34,0x38,0x2c,0x20,0x5f,0x33,0x37,0x2e,0x79,0x2c,0x20,0x30,0x2e,0x35,0x2c,0x20, + 0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x5f,0x63,0x61,0x6d,0x65, + 0x72,0x61,0x20,0x3d,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73, + 0x5b,0x38,0x5d,0x2e,0x78,0x79,0x7a,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, +]; +/* + #version 430 + + uniform vec4 sky_params[6]; + layout(location = 0) in vec4 v_point; + layout(location = 1) in vec3 v_camera; + layout(location = 0) out vec4 frag_color; + layout(location = 1) out vec4 frag_glow; + layout(location = 2) out vec4 frag_scene; + + void main() + { + vec3 _26 = normalize((v_point.xyz / vec3(v_point.w)) - v_camera); + float _44 = _26.y; + vec3 _62 = normalize(cross(sky_params[5].xyz, vec3(0.0, 1.0, 0.0))); + float _72 = dot(_26, sky_params[5].xyz); + vec3 _74 = _26 - (sky_params[5].xyz * _72); + float _84 = max(abs(dot(_74, _62)), abs(dot(_74, cross(_62, sky_params[5].xyz)))); + float _91 = clamp((0.25 - _84) * 6.0, 0.0, 1.0); + vec3 color = mix(sky_params[0].xyz, sky_params[1].xyz, vec3(clamp(_44 * 2.0, 0.0, 0.699999988079071044921875))) + ((sky_params[3].xyz * _91) * _91); + bool _107 = _84 < 0.0320000015199184417724609375; + bool _114; + if (_107) + { + _114 = _72 > 0.0; + } + else + { + _114 = _107; + } + if (_114) + { + color = sky_params[2].xyz * 3.0; + } + vec3 _138 = color; + vec3 _139 = _138 + ((sky_params[4].xyz * (1.0 - clamp(abs(_44) * 20.0, 0.0, 1.0))) * 0.800000011920928955078125); + color = _139; + frag_color = vec4(_139 * sky_params[5].w, 1.0); + frag_glow = vec4(float(_114)); + frag_scene = vec4(10000.0); + } + +*/ +fs_sky_source_glsl430 := u8.[ + 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x34,0x33,0x30,0x0a,0x0a,0x75,0x6e, + 0x69,0x66,0x6f,0x72,0x6d,0x20,0x76,0x65,0x63,0x34,0x20,0x73,0x6b,0x79,0x5f,0x70, + 0x61,0x72,0x61,0x6d,0x73,0x5b,0x36,0x5d,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74, + 0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x69, + 0x6e,0x20,0x76,0x65,0x63,0x34,0x20,0x76,0x5f,0x70,0x6f,0x69,0x6e,0x74,0x3b,0x0a, + 0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20, + 0x3d,0x20,0x31,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x63, + 0x61,0x6d,0x65,0x72,0x61,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f, + 0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x6f,0x75,0x74,0x20, + 0x76,0x65,0x63,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b, + 0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e, + 0x20,0x3d,0x20,0x31,0x29,0x20,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x34,0x20,0x66, + 0x72,0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74, + 0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x32,0x29,0x20,0x6f, + 0x75,0x74,0x20,0x76,0x65,0x63,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x73,0x63,0x65, + 0x6e,0x65,0x3b,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29, + 0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x36,0x20, + 0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x28,0x76,0x5f,0x70, + 0x6f,0x69,0x6e,0x74,0x2e,0x78,0x79,0x7a,0x20,0x2f,0x20,0x76,0x65,0x63,0x33,0x28, + 0x76,0x5f,0x70,0x6f,0x69,0x6e,0x74,0x2e,0x77,0x29,0x29,0x20,0x2d,0x20,0x76,0x5f, + 0x63,0x61,0x6d,0x65,0x72,0x61,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x20,0x5f,0x34,0x34,0x20,0x3d,0x20,0x5f,0x32,0x36,0x2e,0x79,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x36,0x32,0x20,0x3d,0x20,0x6e, + 0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x63,0x72,0x6f,0x73,0x73,0x28,0x73, + 0x6b,0x79,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x35,0x5d,0x2e,0x78,0x79,0x7a, + 0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x2c, + 0x20,0x30,0x2e,0x30,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x20,0x5f,0x37,0x32,0x20,0x3d,0x20,0x64,0x6f,0x74,0x28,0x5f,0x32,0x36, + 0x2c,0x20,0x73,0x6b,0x79,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x35,0x5d,0x2e, + 0x78,0x79,0x7a,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f, + 0x37,0x34,0x20,0x3d,0x20,0x5f,0x32,0x36,0x20,0x2d,0x20,0x28,0x73,0x6b,0x79,0x5f, + 0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x35,0x5d,0x2e,0x78,0x79,0x7a,0x20,0x2a,0x20, + 0x5f,0x37,0x32,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, + 0x5f,0x38,0x34,0x20,0x3d,0x20,0x6d,0x61,0x78,0x28,0x61,0x62,0x73,0x28,0x64,0x6f, + 0x74,0x28,0x5f,0x37,0x34,0x2c,0x20,0x5f,0x36,0x32,0x29,0x29,0x2c,0x20,0x61,0x62, + 0x73,0x28,0x64,0x6f,0x74,0x28,0x5f,0x37,0x34,0x2c,0x20,0x63,0x72,0x6f,0x73,0x73, + 0x28,0x5f,0x36,0x32,0x2c,0x20,0x73,0x6b,0x79,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73, + 0x5b,0x35,0x5d,0x2e,0x78,0x79,0x7a,0x29,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x39,0x31,0x20,0x3d,0x20,0x63,0x6c,0x61, + 0x6d,0x70,0x28,0x28,0x30,0x2e,0x32,0x35,0x20,0x2d,0x20,0x5f,0x38,0x34,0x29,0x20, + 0x2a,0x20,0x36,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x63,0x6f,0x6c,0x6f,0x72, + 0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x73,0x6b,0x79,0x5f,0x70,0x61,0x72,0x61,0x6d, + 0x73,0x5b,0x30,0x5d,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x73,0x6b,0x79,0x5f,0x70,0x61, + 0x72,0x61,0x6d,0x73,0x5b,0x31,0x5d,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x76,0x65,0x63, + 0x33,0x28,0x63,0x6c,0x61,0x6d,0x70,0x28,0x5f,0x34,0x34,0x20,0x2a,0x20,0x32,0x2e, + 0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x36,0x39,0x39,0x39,0x39,0x39, + 0x39,0x38,0x38,0x30,0x37,0x39,0x30,0x37,0x31,0x30,0x34,0x34,0x39,0x32,0x31,0x38, + 0x37,0x35,0x29,0x29,0x29,0x20,0x2b,0x20,0x28,0x28,0x73,0x6b,0x79,0x5f,0x70,0x61, + 0x72,0x61,0x6d,0x73,0x5b,0x33,0x5d,0x2e,0x78,0x79,0x7a,0x20,0x2a,0x20,0x5f,0x39, + 0x31,0x29,0x20,0x2a,0x20,0x5f,0x39,0x31,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62, + 0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x30,0x37,0x20,0x3d,0x20,0x5f,0x38,0x34,0x20,0x3c, + 0x20,0x30,0x2e,0x30,0x33,0x32,0x30,0x30,0x30,0x30,0x30,0x31,0x35,0x31,0x39,0x39, + 0x31,0x38,0x34,0x34,0x31,0x37,0x37,0x32,0x34,0x36,0x30,0x39,0x33,0x37,0x35,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x31,0x34,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x30,0x37,0x29,0x0a,0x20,0x20, + 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x31,0x34, + 0x20,0x3d,0x20,0x5f,0x37,0x32,0x20,0x3e,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20, + 0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x31,0x34,0x20, + 0x3d,0x20,0x5f,0x31,0x30,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20, + 0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x31,0x34,0x29,0x0a,0x20,0x20,0x20,0x20, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x20, + 0x3d,0x20,0x73,0x6b,0x79,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x32,0x5d,0x2e, + 0x78,0x79,0x7a,0x20,0x2a,0x20,0x33,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d, + 0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x31,0x33,0x38,0x20,0x3d, + 0x20,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33, + 0x20,0x5f,0x31,0x33,0x39,0x20,0x3d,0x20,0x5f,0x31,0x33,0x38,0x20,0x2b,0x20,0x28, + 0x28,0x73,0x6b,0x79,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x34,0x5d,0x2e,0x78, + 0x79,0x7a,0x20,0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x63,0x6c,0x61,0x6d, + 0x70,0x28,0x61,0x62,0x73,0x28,0x5f,0x34,0x34,0x29,0x20,0x2a,0x20,0x32,0x30,0x2e, + 0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x29,0x29,0x20,0x2a, + 0x20,0x30,0x2e,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39, + 0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x5f,0x31,0x33,0x39,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d, + 0x20,0x76,0x65,0x63,0x34,0x28,0x5f,0x31,0x33,0x39,0x20,0x2a,0x20,0x73,0x6b,0x79, + 0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x35,0x5d,0x2e,0x77,0x2c,0x20,0x31,0x2e, + 0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x67,0x6c,0x6f, + 0x77,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x66,0x6c,0x6f,0x61,0x74,0x28,0x5f, + 0x31,0x31,0x34,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f, + 0x73,0x63,0x65,0x6e,0x65,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x31,0x30,0x30, + 0x30,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, +]; +/* + #version 430 + + const vec2 _23[6] = vec2[](vec2(0.0), vec2(1.0, 0.0), vec2(1.0), vec2(0.0), vec2(1.0), vec2(0.0, 1.0)); + + uniform vec4 view_params[13]; + uniform vec4 line_params[1]; + layout(location = 0) in vec3 a; + layout(location = 1) in vec3 b; + layout(location = 3) in float width; + layout(location = 0) out vec4 v_color; + layout(location = 2) in vec4 color; + + vec2 quad_corner(int vertex_index) + { + return _23[vertex_index]; + } + + void main() + { + int param = gl_VertexID; + vec2 _37 = quad_corner(param); + mat4 _48 = mat4(view_params[0], view_params[1], view_params[2], view_params[3]); + vec4 _57 = _48 * vec4(a, 1.0); + vec4 _67 = _48 * vec4(b, 1.0); + vec2 _100 = ((_67.xy / vec2(max(_67.w, 9.9999997473787516355514526367188e-05))) * line_params[0].xy) - ((_57.xy / vec2(max(_57.w, 9.9999997473787516355514526367188e-05))) * line_params[0].xy); + vec2 dir = _100; + vec2 _106; + if (dot(_100, _100) > 9.9999997473787516355514526367188e-05) + { + _106 = normalize(dir); + } + else + { + _106 = vec2(1.0, 0.0); + } + dir = _106; + vec4 _120 = mix(_57, _67, vec4(_37.x)); + vec2 _145 = _120.xy + ((((vec2(-_106.y, _106.x) * (_37.y - 0.5)) * width) / line_params[0].xy) * _120.w); + vec4 _169 = _120; + _169.x = _145.x; + _169.y = _145.y; + gl_Position = _169; + v_color = color; + } + +*/ +vs_line_source_glsl430 := u8.[ + 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x34,0x33,0x30,0x0a,0x0a,0x63,0x6f, + 0x6e,0x73,0x74,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x32,0x33,0x5b,0x36,0x5d,0x20, + 0x3d,0x20,0x76,0x65,0x63,0x32,0x5b,0x5d,0x28,0x76,0x65,0x63,0x32,0x28,0x30,0x2e, + 0x30,0x29,0x2c,0x20,0x76,0x65,0x63,0x32,0x28,0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e, + 0x30,0x29,0x2c,0x20,0x76,0x65,0x63,0x32,0x28,0x31,0x2e,0x30,0x29,0x2c,0x20,0x76, + 0x65,0x63,0x32,0x28,0x30,0x2e,0x30,0x29,0x2c,0x20,0x76,0x65,0x63,0x32,0x28,0x31, + 0x2e,0x30,0x29,0x2c,0x20,0x76,0x65,0x63,0x32,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31, + 0x2e,0x30,0x29,0x29,0x3b,0x0a,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x76, + 0x65,0x63,0x34,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b, + 0x31,0x33,0x5d,0x3b,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x76,0x65,0x63, + 0x34,0x20,0x6c,0x69,0x6e,0x65,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x31,0x5d, + 0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f, + 0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x33,0x20,0x61, + 0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f, + 0x6e,0x20,0x3d,0x20,0x31,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x33,0x20,0x62, + 0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f, + 0x6e,0x20,0x3d,0x20,0x33,0x29,0x20,0x69,0x6e,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, + 0x77,0x69,0x64,0x74,0x68,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f, + 0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x6f,0x75,0x74,0x20, + 0x76,0x65,0x63,0x34,0x20,0x76,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x6c,0x61, + 0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20, + 0x32,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x34,0x20,0x63,0x6f,0x6c,0x6f,0x72, + 0x3b,0x0a,0x0a,0x76,0x65,0x63,0x32,0x20,0x71,0x75,0x61,0x64,0x5f,0x63,0x6f,0x72, + 0x6e,0x65,0x72,0x28,0x69,0x6e,0x74,0x20,0x76,0x65,0x72,0x74,0x65,0x78,0x5f,0x69, + 0x6e,0x64,0x65,0x78,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75, + 0x72,0x6e,0x20,0x5f,0x32,0x33,0x5b,0x76,0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x6e, + 0x64,0x65,0x78,0x5d,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d,0x61, + 0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70, + 0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x67,0x6c,0x5f,0x56,0x65,0x72,0x74,0x65,0x78, + 0x49,0x44,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x33,0x37, + 0x20,0x3d,0x20,0x71,0x75,0x61,0x64,0x5f,0x63,0x6f,0x72,0x6e,0x65,0x72,0x28,0x70, + 0x61,0x72,0x61,0x6d,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x6d,0x61,0x74,0x34,0x20, + 0x5f,0x34,0x38,0x20,0x3d,0x20,0x6d,0x61,0x74,0x34,0x28,0x76,0x69,0x65,0x77,0x5f, + 0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x30,0x5d,0x2c,0x20,0x76,0x69,0x65,0x77,0x5f, + 0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x31,0x5d,0x2c,0x20,0x76,0x69,0x65,0x77,0x5f, + 0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x32,0x5d,0x2c,0x20,0x76,0x69,0x65,0x77,0x5f, + 0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x33,0x5d,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x76,0x65,0x63,0x34,0x20,0x5f,0x35,0x37,0x20,0x3d,0x20,0x5f,0x34,0x38,0x20,0x2a, + 0x20,0x76,0x65,0x63,0x34,0x28,0x61,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x36,0x37,0x20,0x3d,0x20,0x5f,0x34, + 0x38,0x20,0x2a,0x20,0x76,0x65,0x63,0x34,0x28,0x62,0x2c,0x20,0x31,0x2e,0x30,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x31,0x30,0x30,0x20, + 0x3d,0x20,0x28,0x28,0x5f,0x36,0x37,0x2e,0x78,0x79,0x20,0x2f,0x20,0x76,0x65,0x63, + 0x32,0x28,0x6d,0x61,0x78,0x28,0x5f,0x36,0x37,0x2e,0x77,0x2c,0x20,0x39,0x2e,0x39, + 0x39,0x39,0x39,0x39,0x39,0x37,0x34,0x37,0x33,0x37,0x38,0x37,0x35,0x31,0x36,0x33, + 0x35,0x35,0x35,0x31,0x34,0x35,0x32,0x36,0x33,0x36,0x37,0x31,0x38,0x38,0x65,0x2d, + 0x30,0x35,0x29,0x29,0x29,0x20,0x2a,0x20,0x6c,0x69,0x6e,0x65,0x5f,0x70,0x61,0x72, + 0x61,0x6d,0x73,0x5b,0x30,0x5d,0x2e,0x78,0x79,0x29,0x20,0x2d,0x20,0x28,0x28,0x5f, + 0x35,0x37,0x2e,0x78,0x79,0x20,0x2f,0x20,0x76,0x65,0x63,0x32,0x28,0x6d,0x61,0x78, + 0x28,0x5f,0x35,0x37,0x2e,0x77,0x2c,0x20,0x39,0x2e,0x39,0x39,0x39,0x39,0x39,0x39, + 0x37,0x34,0x37,0x33,0x37,0x38,0x37,0x35,0x31,0x36,0x33,0x35,0x35,0x35,0x31,0x34, + 0x35,0x32,0x36,0x33,0x36,0x37,0x31,0x38,0x38,0x65,0x2d,0x30,0x35,0x29,0x29,0x29, + 0x20,0x2a,0x20,0x6c,0x69,0x6e,0x65,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x30, + 0x5d,0x2e,0x78,0x79,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20, + 0x64,0x69,0x72,0x20,0x3d,0x20,0x5f,0x31,0x30,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x76,0x65,0x63,0x32,0x20,0x5f,0x31,0x30,0x36,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69, + 0x66,0x20,0x28,0x64,0x6f,0x74,0x28,0x5f,0x31,0x30,0x30,0x2c,0x20,0x5f,0x31,0x30, + 0x30,0x29,0x20,0x3e,0x20,0x39,0x2e,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x34,0x37, + 0x33,0x37,0x38,0x37,0x35,0x31,0x36,0x33,0x35,0x35,0x35,0x31,0x34,0x35,0x32,0x36, + 0x33,0x36,0x37,0x31,0x38,0x38,0x65,0x2d,0x30,0x35,0x29,0x0a,0x20,0x20,0x20,0x20, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x30,0x36,0x20,0x3d, + 0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x64,0x69,0x72,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a, + 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31, + 0x30,0x36,0x20,0x3d,0x20,0x76,0x65,0x63,0x32,0x28,0x31,0x2e,0x30,0x2c,0x20,0x30, + 0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x64, + 0x69,0x72,0x20,0x3d,0x20,0x5f,0x31,0x30,0x36,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76, + 0x65,0x63,0x34,0x20,0x5f,0x31,0x32,0x30,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x5f, + 0x35,0x37,0x2c,0x20,0x5f,0x36,0x37,0x2c,0x20,0x76,0x65,0x63,0x34,0x28,0x5f,0x33, + 0x37,0x2e,0x78,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20, + 0x5f,0x31,0x34,0x35,0x20,0x3d,0x20,0x5f,0x31,0x32,0x30,0x2e,0x78,0x79,0x20,0x2b, + 0x20,0x28,0x28,0x28,0x28,0x76,0x65,0x63,0x32,0x28,0x2d,0x5f,0x31,0x30,0x36,0x2e, + 0x79,0x2c,0x20,0x5f,0x31,0x30,0x36,0x2e,0x78,0x29,0x20,0x2a,0x20,0x28,0x5f,0x33, + 0x37,0x2e,0x79,0x20,0x2d,0x20,0x30,0x2e,0x35,0x29,0x29,0x20,0x2a,0x20,0x77,0x69, + 0x64,0x74,0x68,0x29,0x20,0x2f,0x20,0x6c,0x69,0x6e,0x65,0x5f,0x70,0x61,0x72,0x61, + 0x6d,0x73,0x5b,0x30,0x5d,0x2e,0x78,0x79,0x29,0x20,0x2a,0x20,0x5f,0x31,0x32,0x30, + 0x2e,0x77,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x31, + 0x36,0x39,0x20,0x3d,0x20,0x5f,0x31,0x32,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x5f, + 0x31,0x36,0x39,0x2e,0x78,0x20,0x3d,0x20,0x5f,0x31,0x34,0x35,0x2e,0x78,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x5f,0x31,0x36,0x39,0x2e,0x79,0x20,0x3d,0x20,0x5f,0x31,0x34, + 0x35,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x67,0x6c,0x5f,0x50,0x6f,0x73,0x69, + 0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x5f,0x31,0x36,0x39,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x76,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x63,0x6f,0x6c,0x6f,0x72, 0x3b,0x0a,0x7d,0x0a,0x0a,0x00, ]; +/* + #version 430 + + layout(location = 0) out vec4 frag_color; + layout(location = 1) out vec4 frag_glow; + layout(location = 0) in vec4 v_color; + + void write_transparent(vec4 color, float glow) + { + frag_color = color; + frag_glow = vec4(glow, 0.0, 0.0, color.w); + } + + void main() + { + vec4 param = v_color; + float param_1 = 0.0; + write_transparent(param, param_1); + } + +*/ +fs_line_source_glsl430 := u8.[ + 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x34,0x33,0x30,0x0a,0x0a,0x6c,0x61, + 0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20, + 0x30,0x29,0x20,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x34,0x20,0x66,0x72,0x61,0x67, + 0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c, + 0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x31,0x29,0x20,0x6f,0x75,0x74, + 0x20,0x76,0x65,0x63,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x3b, + 0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e, + 0x20,0x3d,0x20,0x30,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x34,0x20,0x76,0x5f, + 0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x77,0x72,0x69, + 0x74,0x65,0x5f,0x74,0x72,0x61,0x6e,0x73,0x70,0x61,0x72,0x65,0x6e,0x74,0x28,0x76, + 0x65,0x63,0x34,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x20,0x67,0x6c,0x6f,0x77,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61, + 0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x20,0x3d, + 0x20,0x76,0x65,0x63,0x34,0x28,0x67,0x6c,0x6f,0x77,0x2c,0x20,0x30,0x2e,0x30,0x2c, + 0x20,0x30,0x2e,0x30,0x2c,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x77,0x29,0x3b,0x0a, + 0x7d,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x70,0x61,0x72,0x61,0x6d,0x20, + 0x3d,0x20,0x76,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20,0x30, + 0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x77,0x72,0x69,0x74,0x65,0x5f,0x74,0x72, + 0x61,0x6e,0x73,0x70,0x61,0x72,0x65,0x6e,0x74,0x28,0x70,0x61,0x72,0x61,0x6d,0x2c, + 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, +]; /* #version 300 es @@ -939,99 +3475,397 @@ fs_ui_source_glsl300es := u8.[ /* #version 300 es - uniform vec4 composite_vs_params[1]; - out vec2 v_uv; + vec2 fullscreen_position(int vertex_index) + { + return (vec2(float((vertex_index << 1) & 2), float(vertex_index & 2)) * 2.0) - vec2(1.0); + } void main() { - float _18 = float((gl_VertexID << 1) & 2); - float _21 = float(gl_VertexID & 2); - v_uv = vec2(_18, mix(_21, 1.0 - _21, composite_vs_params[0].x)); - gl_Position = vec4((vec2(_18, _21) * 2.0) - vec2(1.0), 0.0, 1.0); + int param = gl_VertexID; + gl_Position = vec4(fullscreen_position(param), 0.0, 1.0); } */ -vs_composite_source_glsl300es := u8.[ +vs_fullscreen_source_glsl300es := u8.[ 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x33,0x30,0x30,0x20,0x65,0x73,0x0a, - 0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x76,0x65,0x63,0x34,0x20,0x63,0x6f, - 0x6d,0x70,0x6f,0x73,0x69,0x74,0x65,0x5f,0x76,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d, - 0x73,0x5b,0x31,0x5d,0x3b,0x0a,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x32,0x20,0x76, - 0x5f,0x75,0x76,0x3b,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28, - 0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31, - 0x38,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x28,0x28,0x67,0x6c,0x5f,0x56,0x65, - 0x72,0x74,0x65,0x78,0x49,0x44,0x20,0x3c,0x3c,0x20,0x31,0x29,0x20,0x26,0x20,0x32, - 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x32,0x31, - 0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x28,0x67,0x6c,0x5f,0x56,0x65,0x72,0x74, - 0x65,0x78,0x49,0x44,0x20,0x26,0x20,0x32,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76, - 0x5f,0x75,0x76,0x20,0x3d,0x20,0x76,0x65,0x63,0x32,0x28,0x5f,0x31,0x38,0x2c,0x20, - 0x6d,0x69,0x78,0x28,0x5f,0x32,0x31,0x2c,0x20,0x31,0x2e,0x30,0x20,0x2d,0x20,0x5f, - 0x32,0x31,0x2c,0x20,0x63,0x6f,0x6d,0x70,0x6f,0x73,0x69,0x74,0x65,0x5f,0x76,0x73, - 0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x30,0x5d,0x2e,0x78,0x29,0x29,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x67,0x6c,0x5f,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x20, - 0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x28,0x76,0x65,0x63,0x32,0x28,0x5f,0x31,0x38, - 0x2c,0x20,0x5f,0x32,0x31,0x29,0x20,0x2a,0x20,0x32,0x2e,0x30,0x29,0x20,0x2d,0x20, - 0x76,0x65,0x63,0x32,0x28,0x31,0x2e,0x30,0x29,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20, - 0x31,0x2e,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, + 0x0a,0x76,0x65,0x63,0x32,0x20,0x66,0x75,0x6c,0x6c,0x73,0x63,0x72,0x65,0x65,0x6e, + 0x5f,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x28,0x69,0x6e,0x74,0x20,0x76,0x65, + 0x72,0x74,0x65,0x78,0x5f,0x69,0x6e,0x64,0x65,0x78,0x29,0x0a,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x28,0x76,0x65,0x63,0x32,0x28,0x66, + 0x6c,0x6f,0x61,0x74,0x28,0x28,0x76,0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x6e,0x64, + 0x65,0x78,0x20,0x3c,0x3c,0x20,0x31,0x29,0x20,0x26,0x20,0x32,0x29,0x2c,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x28,0x76,0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x6e,0x64,0x65, + 0x78,0x20,0x26,0x20,0x32,0x29,0x29,0x20,0x2a,0x20,0x32,0x2e,0x30,0x29,0x20,0x2d, + 0x20,0x76,0x65,0x63,0x32,0x28,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x76, + 0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x67,0x6c,0x5f, + 0x56,0x65,0x72,0x74,0x65,0x78,0x49,0x44,0x3b,0x0a,0x20,0x20,0x20,0x20,0x67,0x6c, + 0x5f,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x76,0x65,0x63,0x34, + 0x28,0x66,0x75,0x6c,0x6c,0x73,0x63,0x72,0x65,0x65,0x6e,0x5f,0x70,0x6f,0x73,0x69, + 0x74,0x69,0x6f,0x6e,0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x2c,0x20,0x30,0x2e,0x30, + 0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, ]; /* #version 300 es precision mediump float; precision highp int; - uniform highp sampler2D view_color_composite_smp; + uniform highp sampler2D bloom_source_bloom_smp; + uniform highp sampler2D bloom_glow_bloom_smp; layout(location = 0) out highp vec4 frag_color; - in highp vec2 v_uv; + + highp vec3 glowing(ivec2 p) + { + return texelFetch(bloom_source_bloom_smp, p, 0).xyz * texelFetch(bloom_glow_bloom_smp, p, 0).x; + } void main() { - frag_color = texture(view_color_composite_smp, v_uv); + ivec2 _53 = ivec2(gl_FragCoord.xy) * ivec2(2); + ivec2 param = _53; + ivec2 param_1 = _53 + ivec2(1, 0); + ivec2 param_2 = _53 + ivec2(0, 1); + ivec2 param_3 = _53 + ivec2(1); + frag_color = vec4((((glowing(param) + glowing(param_1)) + glowing(param_2)) + glowing(param_3)) * 0.25, 1.0); } */ -fs_composite_source_glsl300es := u8.[ +fs_bloom_glow_source_glsl300es := u8.[ 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x33,0x30,0x30,0x20,0x65,0x73,0x0a, 0x70,0x72,0x65,0x63,0x69,0x73,0x69,0x6f,0x6e,0x20,0x6d,0x65,0x64,0x69,0x75,0x6d, 0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x3b,0x0a,0x70,0x72,0x65,0x63,0x69,0x73,0x69, 0x6f,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x69,0x6e,0x74,0x3b,0x0a,0x0a,0x75, 0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x73,0x61,0x6d, - 0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x76,0x69,0x65,0x77,0x5f,0x63,0x6f,0x6c,0x6f, - 0x72,0x5f,0x63,0x6f,0x6d,0x70,0x6f,0x73,0x69,0x74,0x65,0x5f,0x73,0x6d,0x70,0x3b, - 0x0a,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f, - 0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x6f,0x75,0x74,0x20,0x68,0x69,0x67,0x68,0x70, - 0x20,0x76,0x65,0x63,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72, - 0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20, - 0x76,0x5f,0x75,0x76,0x3b,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e, - 0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f, - 0x6c,0x6f,0x72,0x20,0x3d,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x76,0x69, - 0x65,0x77,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x63,0x6f,0x6d,0x70,0x6f,0x73,0x69, - 0x74,0x65,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x76,0x5f,0x75,0x76,0x29,0x3b,0x0a,0x7d, - 0x0a,0x0a,0x00, + 0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6f,0x75, + 0x72,0x63,0x65,0x5f,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x75, + 0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x73,0x61,0x6d, + 0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x67,0x6c,0x6f, + 0x77,0x5f,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x0a,0x6c,0x61, + 0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20, + 0x30,0x29,0x20,0x6f,0x75,0x74,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, + 0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x0a,0x68, + 0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x67,0x6c,0x6f,0x77,0x69,0x6e, + 0x67,0x28,0x69,0x76,0x65,0x63,0x32,0x20,0x70,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x74,0x65,0x78,0x65,0x6c,0x46,0x65,0x74, + 0x63,0x68,0x28,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6f,0x75,0x72,0x63,0x65,0x5f, + 0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x70,0x2c,0x20,0x30,0x29, + 0x2e,0x78,0x79,0x7a,0x20,0x2a,0x20,0x74,0x65,0x78,0x65,0x6c,0x46,0x65,0x74,0x63, + 0x68,0x28,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x67,0x6c,0x6f,0x77,0x5f,0x62,0x6c,0x6f, + 0x6f,0x6d,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x70,0x2c,0x20,0x30,0x29,0x2e,0x78,0x3b, + 0x0a,0x7d,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x32,0x20,0x5f,0x35,0x33,0x20, + 0x3d,0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x67,0x6c,0x5f,0x46,0x72,0x61,0x67,0x43, + 0x6f,0x6f,0x72,0x64,0x2e,0x78,0x79,0x29,0x20,0x2a,0x20,0x69,0x76,0x65,0x63,0x32, + 0x28,0x32,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x32,0x20,0x70, + 0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x5f,0x35,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x69,0x76,0x65,0x63,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20, + 0x5f,0x35,0x33,0x20,0x2b,0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x31,0x2c,0x20,0x30, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x32,0x20,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x32,0x20,0x3d,0x20,0x5f,0x35,0x33,0x20,0x2b,0x20,0x69,0x76,0x65, + 0x63,0x32,0x28,0x30,0x2c,0x20,0x31,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76, + 0x65,0x63,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x20,0x3d,0x20,0x5f,0x35, + 0x33,0x20,0x2b,0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x31,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x76, + 0x65,0x63,0x34,0x28,0x28,0x28,0x28,0x67,0x6c,0x6f,0x77,0x69,0x6e,0x67,0x28,0x70, + 0x61,0x72,0x61,0x6d,0x29,0x20,0x2b,0x20,0x67,0x6c,0x6f,0x77,0x69,0x6e,0x67,0x28, + 0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x29,0x29,0x20,0x2b,0x20,0x67,0x6c,0x6f,0x77, + 0x69,0x6e,0x67,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x29,0x29,0x20,0x2b,0x20, + 0x67,0x6c,0x6f,0x77,0x69,0x6e,0x67,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x29, + 0x29,0x20,0x2a,0x20,0x30,0x2e,0x32,0x35,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a, + 0x7d,0x0a,0x0a,0x00, +]; +/* + #version 300 es + precision mediump float; + precision highp int; + + uniform highp sampler2D bloom_source_bloom_smp; + + layout(location = 0) out highp vec4 frag_color; + + highp vec3 tap(highp vec2 uv) + { + return texture(bloom_source_bloom_smp, uv).xyz; + } + + void main() + { + highp vec2 _40 = vec2(textureSize(bloom_source_bloom_smp, 0)); + highp vec2 _42 = vec2(1.0) / _40; + highp vec2 _51 = (gl_FragCoord.xy * 2.0) * _42; + highp vec2 param = _51 + (vec2(-1.0) / _40); + highp vec2 param_1 = _51 + (vec2(1.0, -1.0) / _40); + highp vec2 param_2 = _51 + (vec2(-1.0, 1.0) / _40); + highp vec2 param_3 = _51 + _42; + frag_color = vec4((((tap(param) + tap(param_1)) + tap(param_2)) + tap(param_3)) * 0.25, 1.0); + } + +*/ +fs_bloom_down_source_glsl300es := u8.[ + 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x33,0x30,0x30,0x20,0x65,0x73,0x0a, + 0x70,0x72,0x65,0x63,0x69,0x73,0x69,0x6f,0x6e,0x20,0x6d,0x65,0x64,0x69,0x75,0x6d, + 0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x3b,0x0a,0x70,0x72,0x65,0x63,0x69,0x73,0x69, + 0x6f,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x69,0x6e,0x74,0x3b,0x0a,0x0a,0x75, + 0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x73,0x61,0x6d, + 0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6f,0x75, + 0x72,0x63,0x65,0x5f,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x0a, + 0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20, + 0x3d,0x20,0x30,0x29,0x20,0x6f,0x75,0x74,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76, + 0x65,0x63,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a, + 0x0a,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x74,0x61,0x70,0x28, + 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x75,0x76,0x29,0x0a,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x74,0x65,0x78,0x74, + 0x75,0x72,0x65,0x28,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6f,0x75,0x72,0x63,0x65, + 0x5f,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x75,0x76,0x29,0x2e, + 0x78,0x79,0x7a,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69, + 0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20, + 0x76,0x65,0x63,0x32,0x20,0x5f,0x34,0x30,0x20,0x3d,0x20,0x76,0x65,0x63,0x32,0x28, + 0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x53,0x69,0x7a,0x65,0x28,0x62,0x6c,0x6f,0x6f, + 0x6d,0x5f,0x73,0x6f,0x75,0x72,0x63,0x65,0x5f,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73, + 0x6d,0x70,0x2c,0x20,0x30,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67, + 0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x34,0x32,0x20,0x3d,0x20,0x76,0x65, + 0x63,0x32,0x28,0x31,0x2e,0x30,0x29,0x20,0x2f,0x20,0x5f,0x34,0x30,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x35, + 0x31,0x20,0x3d,0x20,0x28,0x67,0x6c,0x5f,0x46,0x72,0x61,0x67,0x43,0x6f,0x6f,0x72, + 0x64,0x2e,0x78,0x79,0x20,0x2a,0x20,0x32,0x2e,0x30,0x29,0x20,0x2a,0x20,0x5f,0x34, + 0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, + 0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x5f,0x35,0x31,0x20,0x2b,0x20, + 0x28,0x76,0x65,0x63,0x32,0x28,0x2d,0x31,0x2e,0x30,0x29,0x20,0x2f,0x20,0x5f,0x34, + 0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, + 0x63,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20,0x5f,0x35,0x31, + 0x20,0x2b,0x20,0x28,0x76,0x65,0x63,0x32,0x28,0x31,0x2e,0x30,0x2c,0x20,0x2d,0x31, + 0x2e,0x30,0x29,0x20,0x2f,0x20,0x5f,0x34,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x32,0x20,0x3d,0x20,0x5f,0x35,0x31,0x20,0x2b,0x20,0x28,0x76,0x65,0x63,0x32, + 0x28,0x2d,0x31,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x20,0x2f,0x20,0x5f,0x34, + 0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, + 0x63,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x20,0x3d,0x20,0x5f,0x35,0x31, + 0x20,0x2b,0x20,0x5f,0x34,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67, + 0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x28,0x28, + 0x28,0x74,0x61,0x70,0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x20,0x2b,0x20,0x74,0x61, + 0x70,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x29,0x29,0x20,0x2b,0x20,0x74,0x61, + 0x70,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x29,0x29,0x20,0x2b,0x20,0x74,0x61, + 0x70,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x29,0x29,0x20,0x2a,0x20,0x30,0x2e, + 0x32,0x35,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, +]; +/* + #version 300 es + precision mediump float; + precision highp int; + + uniform highp sampler2D bloom_source_bloom_smp; + + layout(location = 0) out highp vec4 frag_color; + + highp vec3 tap(highp vec2 uv) + { + return texture(bloom_source_bloom_smp, uv).xyz; + } + + void main() + { + highp vec2 _40 = vec2(textureSize(bloom_source_bloom_smp, 0)); + highp vec2 _42 = vec2(1.0) / _40; + highp vec2 _51 = (gl_FragCoord.xy * 0.5) * _42; + highp vec2 param = _51; + highp vec2 param_1 = _51 + (vec2(-1.0, 0.0) / _40); + highp vec2 param_2 = _51 + (vec2(1.0, 0.0) / _40); + highp vec2 param_3 = _51 + (vec2(0.0, -1.0) / _40); + highp vec2 param_4 = _51 + (vec2(0.0, 1.0) / _40); + highp vec2 param_5 = _51 + (vec2(-1.0) / _40); + highp vec2 param_6 = _51 + (vec2(1.0, -1.0) / _40); + highp vec2 param_7 = _51 + (vec2(-1.0, 1.0) / _40); + highp vec2 param_8 = _51 + _42; + frag_color = vec4((((tap(param) * 4.0) + ((((tap(param_1) + tap(param_2)) + tap(param_3)) + tap(param_4)) * 2.0)) + (((tap(param_5) + tap(param_6)) + tap(param_7)) + tap(param_8))) * vec3(0.0625), 1.0); + } + +*/ +fs_bloom_up_source_glsl300es := u8.[ + 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x33,0x30,0x30,0x20,0x65,0x73,0x0a, + 0x70,0x72,0x65,0x63,0x69,0x73,0x69,0x6f,0x6e,0x20,0x6d,0x65,0x64,0x69,0x75,0x6d, + 0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x3b,0x0a,0x70,0x72,0x65,0x63,0x69,0x73,0x69, + 0x6f,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x69,0x6e,0x74,0x3b,0x0a,0x0a,0x75, + 0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x73,0x61,0x6d, + 0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6f,0x75, + 0x72,0x63,0x65,0x5f,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x0a, + 0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20, + 0x3d,0x20,0x30,0x29,0x20,0x6f,0x75,0x74,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76, + 0x65,0x63,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a, + 0x0a,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x74,0x61,0x70,0x28, + 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x75,0x76,0x29,0x0a,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x74,0x65,0x78,0x74, + 0x75,0x72,0x65,0x28,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6f,0x75,0x72,0x63,0x65, + 0x5f,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x75,0x76,0x29,0x2e, + 0x78,0x79,0x7a,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69, + 0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20, + 0x76,0x65,0x63,0x32,0x20,0x5f,0x34,0x30,0x20,0x3d,0x20,0x76,0x65,0x63,0x32,0x28, + 0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x53,0x69,0x7a,0x65,0x28,0x62,0x6c,0x6f,0x6f, + 0x6d,0x5f,0x73,0x6f,0x75,0x72,0x63,0x65,0x5f,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73, + 0x6d,0x70,0x2c,0x20,0x30,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67, + 0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x34,0x32,0x20,0x3d,0x20,0x76,0x65, + 0x63,0x32,0x28,0x31,0x2e,0x30,0x29,0x20,0x2f,0x20,0x5f,0x34,0x30,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x35, + 0x31,0x20,0x3d,0x20,0x28,0x67,0x6c,0x5f,0x46,0x72,0x61,0x67,0x43,0x6f,0x6f,0x72, + 0x64,0x2e,0x78,0x79,0x20,0x2a,0x20,0x30,0x2e,0x35,0x29,0x20,0x2a,0x20,0x5f,0x34, + 0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, + 0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x5f,0x35,0x31,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x70,0x61, + 0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20,0x5f,0x35,0x31,0x20,0x2b,0x20,0x28,0x76, + 0x65,0x63,0x32,0x28,0x2d,0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x29,0x20,0x2f, + 0x20,0x5f,0x34,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70, + 0x20,0x76,0x65,0x63,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x20,0x3d,0x20, + 0x5f,0x35,0x31,0x20,0x2b,0x20,0x28,0x76,0x65,0x63,0x32,0x28,0x31,0x2e,0x30,0x2c, + 0x20,0x30,0x2e,0x30,0x29,0x20,0x2f,0x20,0x5f,0x34,0x30,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x33,0x20,0x3d,0x20,0x5f,0x35,0x31,0x20,0x2b,0x20,0x28,0x76,0x65, + 0x63,0x32,0x28,0x30,0x2e,0x30,0x2c,0x20,0x2d,0x31,0x2e,0x30,0x29,0x20,0x2f,0x20, + 0x5f,0x34,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20, + 0x76,0x65,0x63,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x20,0x3d,0x20,0x5f, + 0x35,0x31,0x20,0x2b,0x20,0x28,0x76,0x65,0x63,0x32,0x28,0x30,0x2e,0x30,0x2c,0x20, + 0x31,0x2e,0x30,0x29,0x20,0x2f,0x20,0x5f,0x34,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x35,0x20,0x3d,0x20,0x5f,0x35,0x31,0x20,0x2b,0x20,0x28,0x76,0x65,0x63, + 0x32,0x28,0x2d,0x31,0x2e,0x30,0x29,0x20,0x2f,0x20,0x5f,0x34,0x30,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x70, + 0x61,0x72,0x61,0x6d,0x5f,0x36,0x20,0x3d,0x20,0x5f,0x35,0x31,0x20,0x2b,0x20,0x28, + 0x76,0x65,0x63,0x32,0x28,0x31,0x2e,0x30,0x2c,0x20,0x2d,0x31,0x2e,0x30,0x29,0x20, + 0x2f,0x20,0x5f,0x34,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68, + 0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x37,0x20,0x3d, + 0x20,0x5f,0x35,0x31,0x20,0x2b,0x20,0x28,0x76,0x65,0x63,0x32,0x28,0x2d,0x31,0x2e, + 0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x20,0x2f,0x20,0x5f,0x34,0x30,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x70, + 0x61,0x72,0x61,0x6d,0x5f,0x38,0x20,0x3d,0x20,0x5f,0x35,0x31,0x20,0x2b,0x20,0x5f, + 0x34,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c, + 0x6f,0x72,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x28,0x28,0x28,0x74,0x61,0x70, + 0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x20,0x2a,0x20,0x34,0x2e,0x30,0x29,0x20,0x2b, + 0x20,0x28,0x28,0x28,0x28,0x74,0x61,0x70,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31, + 0x29,0x20,0x2b,0x20,0x74,0x61,0x70,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x29, + 0x29,0x20,0x2b,0x20,0x74,0x61,0x70,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x29, + 0x29,0x20,0x2b,0x20,0x74,0x61,0x70,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x29, + 0x29,0x20,0x2a,0x20,0x32,0x2e,0x30,0x29,0x29,0x20,0x2b,0x20,0x28,0x28,0x28,0x74, + 0x61,0x70,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x35,0x29,0x20,0x2b,0x20,0x74,0x61, + 0x70,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36,0x29,0x29,0x20,0x2b,0x20,0x74,0x61, + 0x70,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x37,0x29,0x29,0x20,0x2b,0x20,0x74,0x61, + 0x70,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x38,0x29,0x29,0x29,0x20,0x2a,0x20,0x76, + 0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x36,0x32,0x35,0x29,0x2c,0x20,0x31,0x2e,0x30, + 0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, +]; +/* + #version 300 es + precision mediump float; + precision highp int; + + uniform highp vec4 post_params[1]; + uniform highp sampler2D view_color_view_smp; + uniform highp sampler2D bloom_bloom_view_smp; + + layout(location = 0) out highp vec4 frag_color; + + void main() + { + highp vec2 _31 = gl_FragCoord.xy / vec2(textureSize(view_color_view_smp, 0)); + highp vec3 _73 = ((((texture(view_color_view_smp, _31).xyz + (texture(bloom_bloom_view_smp, _31).xyz * post_params[0].w)) * exp2(post_params[0].x)) - vec3(0.5)) * post_params[0].y) + vec3(0.5); + frag_color = vec4(clamp(mix(vec3(dot(_73, vec3(0.2125999927520751953125, 0.715200006961822509765625, 0.072200000286102294921875))), _73, vec3(post_params[0].z)), vec3(0.0), vec3(1.0)), 1.0); + } + +*/ +fs_post_source_glsl300es := u8.[ + 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x33,0x30,0x30,0x20,0x65,0x73,0x0a, + 0x70,0x72,0x65,0x63,0x69,0x73,0x69,0x6f,0x6e,0x20,0x6d,0x65,0x64,0x69,0x75,0x6d, + 0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x3b,0x0a,0x70,0x72,0x65,0x63,0x69,0x73,0x69, + 0x6f,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x69,0x6e,0x74,0x3b,0x0a,0x0a,0x75, + 0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, + 0x34,0x20,0x70,0x6f,0x73,0x74,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x31,0x5d, + 0x3b,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x68,0x69,0x67,0x68,0x70,0x20, + 0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x76,0x69,0x65,0x77,0x5f,0x63, + 0x6f,0x6c,0x6f,0x72,0x5f,0x76,0x69,0x65,0x77,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x75, + 0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x73,0x61,0x6d, + 0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x62,0x6c,0x6f, + 0x6f,0x6d,0x5f,0x76,0x69,0x65,0x77,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x0a,0x6c,0x61, + 0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20, + 0x30,0x29,0x20,0x6f,0x75,0x74,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, + 0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x0a,0x76, + 0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x33,0x31,0x20, + 0x3d,0x20,0x67,0x6c,0x5f,0x46,0x72,0x61,0x67,0x43,0x6f,0x6f,0x72,0x64,0x2e,0x78, + 0x79,0x20,0x2f,0x20,0x76,0x65,0x63,0x32,0x28,0x74,0x65,0x78,0x74,0x75,0x72,0x65, + 0x53,0x69,0x7a,0x65,0x28,0x76,0x69,0x65,0x77,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x5f, + 0x76,0x69,0x65,0x77,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x30,0x29,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x37, + 0x33,0x20,0x3d,0x20,0x28,0x28,0x28,0x28,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28, + 0x76,0x69,0x65,0x77,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x5f,0x76,0x69,0x65,0x77,0x5f, + 0x73,0x6d,0x70,0x2c,0x20,0x5f,0x33,0x31,0x29,0x2e,0x78,0x79,0x7a,0x20,0x2b,0x20, + 0x28,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x62, + 0x6c,0x6f,0x6f,0x6d,0x5f,0x76,0x69,0x65,0x77,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x5f, + 0x33,0x31,0x29,0x2e,0x78,0x79,0x7a,0x20,0x2a,0x20,0x70,0x6f,0x73,0x74,0x5f,0x70, + 0x61,0x72,0x61,0x6d,0x73,0x5b,0x30,0x5d,0x2e,0x77,0x29,0x29,0x20,0x2a,0x20,0x65, + 0x78,0x70,0x32,0x28,0x70,0x6f,0x73,0x74,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b, + 0x30,0x5d,0x2e,0x78,0x29,0x29,0x20,0x2d,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e, + 0x35,0x29,0x29,0x20,0x2a,0x20,0x70,0x6f,0x73,0x74,0x5f,0x70,0x61,0x72,0x61,0x6d, + 0x73,0x5b,0x30,0x5d,0x2e,0x79,0x29,0x20,0x2b,0x20,0x76,0x65,0x63,0x33,0x28,0x30, + 0x2e,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f, + 0x6c,0x6f,0x72,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x63,0x6c,0x61,0x6d,0x70, + 0x28,0x6d,0x69,0x78,0x28,0x76,0x65,0x63,0x33,0x28,0x64,0x6f,0x74,0x28,0x5f,0x37, + 0x33,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x32,0x31,0x32,0x35,0x39,0x39, + 0x39,0x39,0x32,0x37,0x35,0x32,0x30,0x37,0x35,0x31,0x39,0x35,0x33,0x31,0x32,0x35, + 0x2c,0x20,0x30,0x2e,0x37,0x31,0x35,0x32,0x30,0x30,0x30,0x30,0x36,0x39,0x36,0x31, + 0x38,0x32,0x32,0x35,0x30,0x39,0x37,0x36,0x35,0x36,0x32,0x35,0x2c,0x20,0x30,0x2e, + 0x30,0x37,0x32,0x32,0x30,0x30,0x30,0x30,0x30,0x32,0x38,0x36,0x31,0x30,0x32,0x32, + 0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x29,0x29,0x29,0x2c,0x20,0x5f,0x37,0x33, + 0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x70,0x6f,0x73,0x74,0x5f,0x70,0x61,0x72,0x61, + 0x6d,0x73,0x5b,0x30,0x5d,0x2e,0x7a,0x29,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28, + 0x30,0x2e,0x30,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x29,0x29, + 0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, ]; /* #version 300 es - uniform vec4 trile_params[72]; - uniform vec4 view_params[6]; - layout(location = 3) in vec4 instance; + uniform vec4 trile_params[73]; + uniform vec4 view_params[13]; + layout(location = 1) in vec4 data_n; + layout(location = 2) in vec4 instance; layout(location = 0) in vec3 position; + out vec3 v_normal; + out float v_facing; + out float v_ao; + out vec3 v_shade; + out vec3 v_sun; + out float v_cut; + layout(location = 4) in float cut; + out vec3 v_to_camera; + out vec3 v_world; out float v_clip; out float v_swatch; - layout(location = 1) in float swatch; - out float v_ao; - layout(location = 2) in float ao; out float v_tint; - layout(location = 4) in float tint; + layout(location = 3) in float tint; void main() { - int _22 = int(instance.w + 0.5) * 3; - vec3 _30 = position - vec3(0.5); - vec4 _84 = vec4((vec3(dot(trile_params[_22 * 1 + 0].xyz, _30), dot(trile_params[(_22 + 1) * 1 + 0].xyz, _30), dot(trile_params[(_22 + 2) * 1 + 0].xyz, _30)) + vec3(0.5)) + instance.xyz, 1.0); - gl_Position = mat4(view_params[0], view_params[1], view_params[2], view_params[3]) * _84; - v_clip = dot(_84, view_params[5]); - v_swatch = swatch; - v_ao = ao; + vec4 _14 = data_n * 255.0; + int _28 = int(instance.w + 0.5) * 3; + mat3 _71 = transpose(mat3(vec3(trile_params[_28 * 1 + 0].xyz), vec3(trile_params[(_28 + 1) * 1 + 0].xyz), vec3(trile_params[(_28 + 2) * 1 + 0].xyz))); + vec3 _85 = ((_71 * (position - vec3(0.5))) + vec3(0.5)) + instance.xyz; + int _92 = int(_14.z + 0.5); + vec3 normal = vec3(0.0); + normal[_92 / 2] = ((_92 % 2) == 0) ? 1.0 : (-1.0); + v_normal = _71 * normal; + v_facing = smoothstep(0.0, 0.300000011920928955078125, dot(v_normal, view_params[10].xyz)); + v_ao = _14.y * 0.3333333432674407958984375; + v_shade = view_params[12].xyz; + v_sun = view_params[11].xyz; + vec4 _150 = vec4(_85, 1.0); + gl_Position = mat4(view_params[0], view_params[1], view_params[2], view_params[3]) * _150; + v_cut = (trile_params[72].x > 0.5) ? 0.0 : cut; + if (v_cut > 0.999000012874603271484375) + { + gl_Position = vec4(0.0, 0.0, 2.0, 1.0); + } + v_to_camera = view_params[8].xyz - _85; + v_world = _85; + v_clip = dot(_150, view_params[9]); + v_swatch = _14.x; v_tint = tint; } @@ -1039,77 +3873,299 @@ fs_composite_source_glsl300es := u8.[ vs_trile_source_glsl300es := u8.[ 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x33,0x30,0x30,0x20,0x65,0x73,0x0a, 0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x76,0x65,0x63,0x34,0x20,0x74,0x72, - 0x69,0x6c,0x65,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x37,0x32,0x5d,0x3b,0x0a, + 0x69,0x6c,0x65,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x37,0x33,0x5d,0x3b,0x0a, 0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x76,0x65,0x63,0x34,0x20,0x76,0x69,0x65, - 0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x36,0x5d,0x3b,0x0a,0x6c,0x61,0x79, - 0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x33, - 0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x34,0x20,0x69,0x6e,0x73,0x74,0x61,0x6e, - 0x63,0x65,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74, - 0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x33, - 0x20,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x3b,0x0a,0x6f,0x75,0x74,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x63,0x6c,0x69,0x70,0x3b,0x0a,0x6f,0x75,0x74, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x73,0x77,0x61,0x74,0x63,0x68,0x3b, - 0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e, - 0x20,0x3d,0x20,0x31,0x29,0x20,0x69,0x6e,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x73, - 0x77,0x61,0x74,0x63,0x68,0x3b,0x0a,0x6f,0x75,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74, - 0x20,0x76,0x5f,0x61,0x6f,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f, - 0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x32,0x29,0x20,0x69,0x6e,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x20,0x61,0x6f,0x3b,0x0a,0x6f,0x75,0x74,0x20,0x66,0x6c,0x6f, - 0x61,0x74,0x20,0x76,0x5f,0x74,0x69,0x6e,0x74,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75, + 0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x31,0x33,0x5d,0x3b,0x0a,0x6c,0x61, + 0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20, + 0x31,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x34,0x20,0x64,0x61,0x74,0x61,0x5f, + 0x6e,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69, + 0x6f,0x6e,0x20,0x3d,0x20,0x32,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x34,0x20, + 0x69,0x6e,0x73,0x74,0x61,0x6e,0x63,0x65,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74, + 0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x69, + 0x6e,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x3b, + 0x0a,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x6e,0x6f,0x72,0x6d, + 0x61,0x6c,0x3b,0x0a,0x6f,0x75,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f, + 0x66,0x61,0x63,0x69,0x6e,0x67,0x3b,0x0a,0x6f,0x75,0x74,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x76,0x5f,0x61,0x6f,0x3b,0x0a,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x33, + 0x20,0x76,0x5f,0x73,0x68,0x61,0x64,0x65,0x3b,0x0a,0x6f,0x75,0x74,0x20,0x76,0x65, + 0x63,0x33,0x20,0x76,0x5f,0x73,0x75,0x6e,0x3b,0x0a,0x6f,0x75,0x74,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x20,0x76,0x5f,0x63,0x75,0x74,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75, 0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x34,0x29,0x20, - 0x69,0x6e,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x74,0x69,0x6e,0x74,0x3b,0x0a,0x0a, - 0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20, - 0x20,0x20,0x69,0x6e,0x74,0x20,0x5f,0x32,0x32,0x20,0x3d,0x20,0x69,0x6e,0x74,0x28, - 0x69,0x6e,0x73,0x74,0x61,0x6e,0x63,0x65,0x2e,0x77,0x20,0x2b,0x20,0x30,0x2e,0x35, - 0x29,0x20,0x2a,0x20,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20, - 0x5f,0x33,0x30,0x20,0x3d,0x20,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x20,0x2d, - 0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x76,0x65,0x63,0x34,0x20,0x5f,0x38,0x34,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28, - 0x28,0x76,0x65,0x63,0x33,0x28,0x64,0x6f,0x74,0x28,0x74,0x72,0x69,0x6c,0x65,0x5f, - 0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x5f,0x32,0x32,0x20,0x2a,0x20,0x31,0x20,0x2b, - 0x20,0x30,0x5d,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x5f,0x33,0x30,0x29,0x2c,0x20,0x64, - 0x6f,0x74,0x28,0x74,0x72,0x69,0x6c,0x65,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b, - 0x28,0x5f,0x32,0x32,0x20,0x2b,0x20,0x31,0x29,0x20,0x2a,0x20,0x31,0x20,0x2b,0x20, - 0x30,0x5d,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x5f,0x33,0x30,0x29,0x2c,0x20,0x64,0x6f, - 0x74,0x28,0x74,0x72,0x69,0x6c,0x65,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x28, - 0x5f,0x32,0x32,0x20,0x2b,0x20,0x32,0x29,0x20,0x2a,0x20,0x31,0x20,0x2b,0x20,0x30, - 0x5d,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x5f,0x33,0x30,0x29,0x29,0x20,0x2b,0x20,0x76, - 0x65,0x63,0x33,0x28,0x30,0x2e,0x35,0x29,0x29,0x20,0x2b,0x20,0x69,0x6e,0x73,0x74, - 0x61,0x6e,0x63,0x65,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x67,0x6c,0x5f,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x20, - 0x3d,0x20,0x6d,0x61,0x74,0x34,0x28,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61, - 0x6d,0x73,0x5b,0x30,0x5d,0x2c,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61, - 0x6d,0x73,0x5b,0x31,0x5d,0x2c,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61, - 0x6d,0x73,0x5b,0x32,0x5d,0x2c,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61, - 0x6d,0x73,0x5b,0x33,0x5d,0x29,0x20,0x2a,0x20,0x5f,0x38,0x34,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x76,0x5f,0x63,0x6c,0x69,0x70,0x20,0x3d,0x20,0x64,0x6f,0x74,0x28,0x5f, - 0x38,0x34,0x2c,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b, - 0x35,0x5d,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x5f,0x73,0x77,0x61,0x74,0x63, - 0x68,0x20,0x3d,0x20,0x73,0x77,0x61,0x74,0x63,0x68,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x76,0x5f,0x61,0x6f,0x20,0x3d,0x20,0x61,0x6f,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76, - 0x5f,0x74,0x69,0x6e,0x74,0x20,0x3d,0x20,0x74,0x69,0x6e,0x74,0x3b,0x0a,0x7d,0x0a, - 0x0a,0x00, + 0x69,0x6e,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x63,0x75,0x74,0x3b,0x0a,0x6f,0x75, + 0x74,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65, + 0x72,0x61,0x3b,0x0a,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x77, + 0x6f,0x72,0x6c,0x64,0x3b,0x0a,0x6f,0x75,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, + 0x76,0x5f,0x63,0x6c,0x69,0x70,0x3b,0x0a,0x6f,0x75,0x74,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x76,0x5f,0x73,0x77,0x61,0x74,0x63,0x68,0x3b,0x0a,0x6f,0x75,0x74,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x74,0x69,0x6e,0x74,0x3b,0x0a,0x6c,0x61, + 0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20, + 0x33,0x29,0x20,0x69,0x6e,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x74,0x69,0x6e,0x74, + 0x3b,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x31,0x34,0x20,0x3d,0x20, + 0x64,0x61,0x74,0x61,0x5f,0x6e,0x20,0x2a,0x20,0x32,0x35,0x35,0x2e,0x30,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x5f,0x32,0x38,0x20,0x3d,0x20,0x69,0x6e, + 0x74,0x28,0x69,0x6e,0x73,0x74,0x61,0x6e,0x63,0x65,0x2e,0x77,0x20,0x2b,0x20,0x30, + 0x2e,0x35,0x29,0x20,0x2a,0x20,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x6d,0x61,0x74, + 0x33,0x20,0x5f,0x37,0x31,0x20,0x3d,0x20,0x74,0x72,0x61,0x6e,0x73,0x70,0x6f,0x73, + 0x65,0x28,0x6d,0x61,0x74,0x33,0x28,0x76,0x65,0x63,0x33,0x28,0x74,0x72,0x69,0x6c, + 0x65,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x5f,0x32,0x38,0x20,0x2a,0x20,0x31, + 0x20,0x2b,0x20,0x30,0x5d,0x2e,0x78,0x79,0x7a,0x29,0x2c,0x20,0x76,0x65,0x63,0x33, + 0x28,0x74,0x72,0x69,0x6c,0x65,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x28,0x5f, + 0x32,0x38,0x20,0x2b,0x20,0x31,0x29,0x20,0x2a,0x20,0x31,0x20,0x2b,0x20,0x30,0x5d, + 0x2e,0x78,0x79,0x7a,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x74,0x72,0x69,0x6c, + 0x65,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x28,0x5f,0x32,0x38,0x20,0x2b,0x20, + 0x32,0x29,0x20,0x2a,0x20,0x31,0x20,0x2b,0x20,0x30,0x5d,0x2e,0x78,0x79,0x7a,0x29, + 0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x38,0x35, + 0x20,0x3d,0x20,0x28,0x28,0x5f,0x37,0x31,0x20,0x2a,0x20,0x28,0x70,0x6f,0x73,0x69, + 0x74,0x69,0x6f,0x6e,0x20,0x2d,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x35,0x29, + 0x29,0x29,0x20,0x2b,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x35,0x29,0x29,0x20, + 0x2b,0x20,0x69,0x6e,0x73,0x74,0x61,0x6e,0x63,0x65,0x2e,0x78,0x79,0x7a,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x5f,0x39,0x32,0x20,0x3d,0x20,0x69,0x6e, + 0x74,0x28,0x5f,0x31,0x34,0x2e,0x7a,0x20,0x2b,0x20,0x30,0x2e,0x35,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x20, + 0x3d,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x5b,0x5f,0x39,0x32,0x20,0x2f,0x20,0x32,0x5d, + 0x20,0x3d,0x20,0x28,0x28,0x5f,0x39,0x32,0x20,0x25,0x20,0x32,0x29,0x20,0x3d,0x3d, + 0x20,0x30,0x29,0x20,0x3f,0x20,0x31,0x2e,0x30,0x20,0x3a,0x20,0x28,0x2d,0x31,0x2e, + 0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c, + 0x20,0x3d,0x20,0x5f,0x37,0x31,0x20,0x2a,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x76,0x5f,0x66,0x61,0x63,0x69,0x6e,0x67,0x20,0x3d,0x20, + 0x73,0x6d,0x6f,0x6f,0x74,0x68,0x73,0x74,0x65,0x70,0x28,0x30,0x2e,0x30,0x2c,0x20, + 0x30,0x2e,0x33,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32, + 0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x2c,0x20,0x64,0x6f,0x74,0x28, + 0x76,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x2c,0x20,0x76,0x69,0x65,0x77,0x5f,0x70, + 0x61,0x72,0x61,0x6d,0x73,0x5b,0x31,0x30,0x5d,0x2e,0x78,0x79,0x7a,0x29,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x76,0x5f,0x61,0x6f,0x20,0x3d,0x20,0x5f,0x31,0x34,0x2e, + 0x79,0x20,0x2a,0x20,0x30,0x2e,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x34,0x33,0x32, + 0x36,0x37,0x34,0x34,0x30,0x37,0x39,0x35,0x38,0x39,0x38,0x34,0x33,0x37,0x35,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x76,0x5f,0x73,0x68,0x61,0x64,0x65,0x20,0x3d,0x20,0x76, + 0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x31,0x32,0x5d,0x2e,0x78, + 0x79,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x5f,0x73,0x75,0x6e,0x20,0x3d,0x20, + 0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x31,0x31,0x5d,0x2e, + 0x78,0x79,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x31, + 0x35,0x30,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x5f,0x38,0x35,0x2c,0x20,0x31, + 0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x67,0x6c,0x5f,0x50,0x6f,0x73,0x69, + 0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x6d,0x61,0x74,0x34,0x28,0x76,0x69,0x65,0x77, + 0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x30,0x5d,0x2c,0x20,0x76,0x69,0x65,0x77, + 0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x31,0x5d,0x2c,0x20,0x76,0x69,0x65,0x77, + 0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x32,0x5d,0x2c,0x20,0x76,0x69,0x65,0x77, + 0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x33,0x5d,0x29,0x20,0x2a,0x20,0x5f,0x31, + 0x35,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x5f,0x63,0x75,0x74,0x20,0x3d,0x20, + 0x28,0x74,0x72,0x69,0x6c,0x65,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x37,0x32, + 0x5d,0x2e,0x78,0x20,0x3e,0x20,0x30,0x2e,0x35,0x29,0x20,0x3f,0x20,0x30,0x2e,0x30, + 0x20,0x3a,0x20,0x63,0x75,0x74,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28, + 0x76,0x5f,0x63,0x75,0x74,0x20,0x3e,0x20,0x30,0x2e,0x39,0x39,0x39,0x30,0x30,0x30, + 0x30,0x31,0x32,0x38,0x37,0x34,0x36,0x30,0x33,0x32,0x37,0x31,0x34,0x38,0x34,0x33, + 0x37,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x67,0x6c,0x5f,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20, + 0x76,0x65,0x63,0x34,0x28,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x32, + 0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a, + 0x20,0x20,0x20,0x20,0x76,0x5f,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x20, + 0x3d,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x38,0x5d, + 0x2e,0x78,0x79,0x7a,0x20,0x2d,0x20,0x5f,0x38,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x76,0x5f,0x77,0x6f,0x72,0x6c,0x64,0x20,0x3d,0x20,0x5f,0x38,0x35,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x76,0x5f,0x63,0x6c,0x69,0x70,0x20,0x3d,0x20,0x64,0x6f,0x74,0x28, + 0x5f,0x31,0x35,0x30,0x2c,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d, + 0x73,0x5b,0x39,0x5d,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x5f,0x73,0x77,0x61, + 0x74,0x63,0x68,0x20,0x3d,0x20,0x5f,0x31,0x34,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x76,0x5f,0x74,0x69,0x6e,0x74,0x20,0x3d,0x20,0x74,0x69,0x6e,0x74,0x3b,0x0a, + 0x7d,0x0a,0x0a,0x00, ]; /* #version 300 es precision mediump float; precision highp int; - uniform highp sampler2D palette_palette_smp; + const float _499[16] = float[](0.0, 8.0, 2.0, 10.0, 12.0, 4.0, 14.0, 6.0, 3.0, 11.0, 1.0, 9.0, 15.0, 7.0, 13.0, 5.0); + uniform highp vec4 shadow_params[4]; + uniform highp vec4 trile_fs_params[4]; + uniform highp sampler2D palette_palette_smp; + uniform highp sampler2DShadow shadow_map_shadow_smp; + uniform highp sampler2D shadow_tint_shadow_tint_smp; + uniform highp sampler3D probe_index_probe_smp; + uniform highp sampler3D probe_atlas_probe_smp; + uniform highp sampler2D trile_reflection_trile_reflection_smp; + uniform highp sampler2D trile_reflection_glow_trile_reflection_smp; + + layout(location = 1) out highp vec4 frag_glow; + layout(location = 2) out highp vec4 frag_scene; in highp float v_clip; + in highp float v_cut; in highp float v_swatch; - in highp float v_ao; in highp float v_tint; + in highp float v_facing; + in highp vec3 v_world; + in highp vec3 v_normal; + in highp float v_ao; + in highp vec3 v_shade; + in highp vec3 v_sun; + in highp vec3 v_to_camera; layout(location = 0) out highp vec4 frag_color; + highp float dither(highp vec2 pixel) + { + ivec2 _482 = ivec2(pixel) % ivec2(4); + return (_499[(_482.y * 4) + _482.x] + 0.5) * 0.0625; + } + + highp vec3 sun_shadow(highp vec3 world, highp vec3 normal) + { + highp vec3 _73 = normal * 0.03125; + highp vec4 _107 = mat4(shadow_params[0], shadow_params[1], shadow_params[2], shadow_params[3]) * vec4((((floor((world - _73) * 16.0) + vec3(0.5)) * vec3(0.0625)) + _73) + (normal * 0.0199999995529651641845703125), 1.0); + highp float _109 = _107.x; + bool _111 = _109 < 0.0; + bool _118; + if (!_111) + { + _118 = _109 > 1.0; + } + else + { + _118 = _111; + } + bool _125; + if (!_118) + { + _125 = _107.y < 0.0; + } + else + { + _125 = _118; + } + bool _132; + if (!_125) + { + _132 = _107.y > 1.0; + } + else + { + _132 = _125; + } + bool _139; + if (!_132) + { + _139 = _107.z > 1.0; + } + else + { + _139 = _132; + } + if (_139) + { + return vec3(1.0); + } + highp float _161 = _107.z - 0.0005000000237487256526947021484375; + return texture(shadow_tint_shadow_tint_smp, _107.xy).xyz * texture(shadow_map_shadow_smp, vec3(vec3(_109, _107.y, _161).xy, _161)); + } + + bool probe_at(ivec3 cell, inout highp vec4 r, inout highp vec4 g, inout highp vec4 b) + { + ivec3 _188 = ivec3(floor(vec3(cell) * vec3(0.03125))); + ivec3 _200 = _188 - ivec3(trile_fs_params[1].xyz); + bool _205 = any(lessThan(_200, ivec3(0))); + bool _217; + if (!_205) + { + _217 = any(greaterThanEqual(_200, ivec3(trile_fs_params[2].xyz))); + } + else + { + _217 = _205; + } + if (_217) + { + return false; + } + highp vec2 _238 = (texelFetch(probe_index_probe_smp, _200, 0).xy * 255.0) + vec2(0.5); + int _250 = (int(_238.x) + (int(_238.y) * 256)) - 1; + if (_250 < 0) + { + return false; + } + ivec3 _262 = cell - (_188 * ivec3(32)); + ivec3 _281 = ivec3(_262.x * 3, ((_250 % 16) * 32) + _262.y, ((_250 / 16) * 32) + _262.z); + r = texelFetch(probe_atlas_probe_smp, _281, 0); + g = texelFetch(probe_atlas_probe_smp, _281 + ivec3(1, 0, 0), 0); + b = texelFetch(probe_atlas_probe_smp, _281 + ivec3(2, 0, 0), 0); + return r.x >= 0.0; + } + + highp vec4 probe_light(highp vec3 world, highp vec3 normal) + { + highp vec3 _312 = normal * 0.03125; + highp vec3 _324 = ((floor((world - _312) * 16.0) + vec3(0.5)) * vec3(0.0625)) + _312; + highp vec3 _331 = (_324 + (normal * 0.5)) - vec3(0.5); + ivec3 _335 = ivec3(floor(_331)); + highp vec3 _340 = _331 - vec3(_335); + highp vec4 sum_r = vec4(0.0); + highp vec4 sum_g = vec4(0.0); + highp vec4 sum_b = vec4(0.0); + highp float total = 0.0; + highp vec4 param_1; + highp vec4 param_2; + highp vec4 param_3; + for (int i = 0; i < 8; i++) + { + ivec3 _363 = ivec3(i & 1, (i >> 1) & 1, i >> 2); + ivec3 _367 = _335 + _363; + if (dot((vec3(_367) + vec3(0.5)) - _324, normal) < 0.00999999977648258209228515625) + { + continue; + } + ivec3 param = _367; + bool _389 = probe_at(param, param_1, param_2, param_3); + if (!_389) + { + continue; + } + highp vec3 _404 = mix(vec3(1.0) - _340, _340, vec3(_363)); + highp float _415 = max((_404.x * _404.y) * _404.z, 9.9999997473787516355514526367188e-05); + sum_r += (param_1 * _415); + sum_g += (param_2 * _415); + sum_b += (param_3 * _415); + total += _415; + } + if (total == 0.0) + { + return vec4(0.0); + } + highp vec4 _453 = vec4(0.2820949852466583251953125, 0.3257350027561187744140625 * normal.y, 0.3257350027561187744140625 * normal.z, 0.3257350027561187744140625 * normal.x); + return vec4(max(vec3(dot(sum_r, _453), dot(sum_g, _453), dot(sum_b, _453)) / vec3(total), vec3(0.0)), 1.0); + } + + highp float brightest(highp vec3 c) + { + return max(c.x, max(c.y, c.z)); + } + + void write_scene(highp vec3 to_camera, highp float glow) + { + frag_glow = vec4(glow); + frag_scene = vec4(length(to_camera)); + } + void main() { - if (v_clip < 0.0) + bool _517 = v_clip < 0.0; + bool _530; + if (!_517) + { + highp vec2 param = gl_FragCoord.xy; + _530 = v_cut > dither(param); + } + else + { + _530 = _517; + } + if (_530) { discard; } - highp vec3 albedo = texelFetch(palette_palette_smp, ivec2(int(v_swatch + 0.5), 0), 0).xyz * mix(0.4000000059604644775390625, 1.0, v_ao); + int _538 = int(v_swatch + 0.5); + highp vec4 _548 = texelFetch(palette_palette_smp, ivec2(_538, 0), 0); + highp vec4 _556 = texelFetch(palette_palette_smp, ivec2(_538, 1), 0); + highp vec3 albedo = _548.xyz; if (v_tint > 1.5) { albedo = mix(albedo, vec3(1.0, 0.20000000298023223876953125, 0.20000000298023223876953125), vec3(0.5)); @@ -1121,7 +4177,78 @@ vs_trile_source_glsl300es := u8.[ albedo = mix(albedo, vec3(0.20000000298023223876953125, 1.0, 0.20000000298023223876953125), vec3(0.5)); } } - frag_color = vec4(albedo, 1.0); + highp vec3 param_1 = v_world; + highp vec3 param_2 = v_normal; + highp vec3 _590 = sun_shadow(param_1, param_2); + highp vec3 _591 = _590 * v_facing; + highp vec4 _605; + if (trile_fs_params[1].w > 0.5) + { + highp vec3 param_3 = v_world; + highp vec3 param_4 = v_normal; + _605 = probe_light(param_3, param_4); + } + else + { + _605 = vec4(0.0); + } + highp vec3 color = albedo * mix((v_shade + _605.xyz) * mix(0.60000002384185791015625, 1.0, v_ao), v_sun, _591 * mix(0.25, 1.0, v_ao)); + highp vec3 param_5 = _591; + highp float _638 = brightest(param_5); + if (_638 > 0.001000000047497451305389404296875) + { + color = mix(color, _591 * v_sun, vec3(min(1.0, ((_638 - min(_591.x, min(_591.y, _591.z))) / _638) * 2.0))); + } + highp float _668 = _548.w; + highp float glow = _668 * 8.0; + highp float _671 = _556.z; + if (_671 > 0.0) + { + highp float _696 = pow(max(dot(v_normal, normalize(normalize(v_to_camera) + trile_fs_params[0].xyz)), 0.0), mix(4.0, 96.0, _671)) * _671; + color += ((v_sun * _591) * _696); + highp vec3 param_6 = _591; + glow += ((_696 * brightest(param_6)) * 4.0); + } + bool _714 = trile_fs_params[3].x > 0.5; + bool _720; + if (_714) + { + _720 = _556.y > 0.0; + } + else + { + _720 = _714; + } + bool _726; + if (_720) + { + _726 = v_normal.y > 0.5; + } + else + { + _726 = _720; + } + bool _736; + if (_726) + { + _736 = abs(v_world.y - trile_fs_params[3].y) < 0.0199999995529651641845703125; + } + else + { + _736 = _726; + } + if (_736) + { + highp vec2 _750 = gl_FragCoord.xy / vec2(textureSize(trile_reflection_trile_reflection_smp, 0)); + highp vec2 _757 = vec2(_750.x, 1.0 - _750.y); + highp float _766 = _556.y; + color = mix(color, texture(trile_reflection_trile_reflection_smp, _757).xyz, vec3(_766)); + glow = max(glow, texture(trile_reflection_glow_trile_reflection_smp, _757).x * pow(_766, 0.4000000059604644775390625)); + } + frag_color = vec4(mix(color, albedo, vec3(_668)), 1.0); + highp vec3 param_7 = v_to_camera; + highp float param_8 = glow; + write_scene(param_7, param_8); } */ @@ -1129,32 +4256,351 @@ fs_trile_source_glsl300es := u8.[ 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x33,0x30,0x30,0x20,0x65,0x73,0x0a, 0x70,0x72,0x65,0x63,0x69,0x73,0x69,0x6f,0x6e,0x20,0x6d,0x65,0x64,0x69,0x75,0x6d, 0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x3b,0x0a,0x70,0x72,0x65,0x63,0x69,0x73,0x69, - 0x6f,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x69,0x6e,0x74,0x3b,0x0a,0x0a,0x75, + 0x6f,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x69,0x6e,0x74,0x3b,0x0a,0x0a,0x63, + 0x6f,0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x34,0x39,0x39,0x5b, + 0x31,0x36,0x5d,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x5b,0x5d,0x28,0x30,0x2e, + 0x30,0x2c,0x20,0x38,0x2e,0x30,0x2c,0x20,0x32,0x2e,0x30,0x2c,0x20,0x31,0x30,0x2e, + 0x30,0x2c,0x20,0x31,0x32,0x2e,0x30,0x2c,0x20,0x34,0x2e,0x30,0x2c,0x20,0x31,0x34, + 0x2e,0x30,0x2c,0x20,0x36,0x2e,0x30,0x2c,0x20,0x33,0x2e,0x30,0x2c,0x20,0x31,0x31, + 0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x2c,0x20,0x39,0x2e,0x30,0x2c,0x20,0x31,0x35, + 0x2e,0x30,0x2c,0x20,0x37,0x2e,0x30,0x2c,0x20,0x31,0x33,0x2e,0x30,0x2c,0x20,0x35, + 0x2e,0x30,0x29,0x3b,0x0a,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x68,0x69, + 0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f, + 0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x34,0x5d,0x3b,0x0a,0x75,0x6e,0x69,0x66,0x6f, + 0x72,0x6d,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x74,0x72, + 0x69,0x6c,0x65,0x5f,0x66,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x34,0x5d, + 0x3b,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x68,0x69,0x67,0x68,0x70,0x20, + 0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x70,0x61,0x6c,0x65,0x74,0x74, + 0x65,0x5f,0x70,0x61,0x6c,0x65,0x74,0x74,0x65,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x75, 0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x73,0x61,0x6d, - 0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x70,0x61,0x6c,0x65,0x74,0x74,0x65,0x5f,0x70, - 0x61,0x6c,0x65,0x74,0x74,0x65,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x0a,0x69,0x6e,0x20, - 0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x63,0x6c, - 0x69,0x70,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f, - 0x61,0x74,0x20,0x76,0x5f,0x73,0x77,0x61,0x74,0x63,0x68,0x3b,0x0a,0x69,0x6e,0x20, - 0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x61,0x6f, - 0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74, - 0x20,0x76,0x5f,0x74,0x69,0x6e,0x74,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28, - 0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x6f,0x75, - 0x74,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x66,0x72,0x61, - 0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d, - 0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28, - 0x76,0x5f,0x63,0x6c,0x69,0x70,0x20,0x3c,0x20,0x30,0x2e,0x30,0x29,0x0a,0x20,0x20, - 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x69,0x73,0x63, - 0x61,0x72,0x64,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x68, - 0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x61,0x6c,0x62,0x65,0x64,0x6f, - 0x20,0x3d,0x20,0x74,0x65,0x78,0x65,0x6c,0x46,0x65,0x74,0x63,0x68,0x28,0x70,0x61, - 0x6c,0x65,0x74,0x74,0x65,0x5f,0x70,0x61,0x6c,0x65,0x74,0x74,0x65,0x5f,0x73,0x6d, - 0x70,0x2c,0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x69,0x6e,0x74,0x28,0x76,0x5f,0x73, - 0x77,0x61,0x74,0x63,0x68,0x20,0x2b,0x20,0x30,0x2e,0x35,0x29,0x2c,0x20,0x30,0x29, - 0x2c,0x20,0x30,0x29,0x2e,0x78,0x79,0x7a,0x20,0x2a,0x20,0x6d,0x69,0x78,0x28,0x30, - 0x2e,0x34,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x35,0x39,0x36,0x30,0x34,0x36,0x34, - 0x34,0x37,0x37,0x35,0x33,0x39,0x30,0x36,0x32,0x35,0x2c,0x20,0x31,0x2e,0x30,0x2c, - 0x20,0x76,0x5f,0x61,0x6f,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28, + 0x70,0x6c,0x65,0x72,0x32,0x44,0x53,0x68,0x61,0x64,0x6f,0x77,0x20,0x73,0x68,0x61, + 0x64,0x6f,0x77,0x5f,0x6d,0x61,0x70,0x5f,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x73, + 0x6d,0x70,0x3b,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x68,0x69,0x67,0x68, + 0x70,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x73,0x68,0x61,0x64, + 0x6f,0x77,0x5f,0x74,0x69,0x6e,0x74,0x5f,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x74, + 0x69,0x6e,0x74,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d, + 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x33,0x44, + 0x20,0x70,0x72,0x6f,0x62,0x65,0x5f,0x69,0x6e,0x64,0x65,0x78,0x5f,0x70,0x72,0x6f, + 0x62,0x65,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20, + 0x68,0x69,0x67,0x68,0x70,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x33,0x44,0x20, + 0x70,0x72,0x6f,0x62,0x65,0x5f,0x61,0x74,0x6c,0x61,0x73,0x5f,0x70,0x72,0x6f,0x62, + 0x65,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x68, + 0x69,0x67,0x68,0x70,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x74, + 0x72,0x69,0x6c,0x65,0x5f,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x5f, + 0x74,0x72,0x69,0x6c,0x65,0x5f,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e, + 0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x68,0x69, + 0x67,0x68,0x70,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x74,0x72, + 0x69,0x6c,0x65,0x5f,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x67, + 0x6c,0x6f,0x77,0x5f,0x74,0x72,0x69,0x6c,0x65,0x5f,0x72,0x65,0x66,0x6c,0x65,0x63, + 0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x0a,0x6c,0x61,0x79,0x6f,0x75, + 0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x31,0x29,0x20, + 0x6f,0x75,0x74,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x66, + 0x72,0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74, + 0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x32,0x29,0x20,0x6f, + 0x75,0x74,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x66,0x72, + 0x61,0x67,0x5f,0x73,0x63,0x65,0x6e,0x65,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67, + 0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x63,0x6c,0x69,0x70,0x3b, + 0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, + 0x76,0x5f,0x63,0x75,0x74,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x73,0x77,0x61,0x74,0x63,0x68,0x3b,0x0a, + 0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76, + 0x5f,0x74,0x69,0x6e,0x74,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x66,0x61,0x63,0x69,0x6e,0x67,0x3b,0x0a, + 0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f, + 0x77,0x6f,0x72,0x6c,0x64,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20, + 0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x3b,0x0a,0x69, + 0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f, + 0x61,0x6f,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, + 0x33,0x20,0x76,0x5f,0x73,0x68,0x61,0x64,0x65,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69, + 0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x73,0x75,0x6e,0x3b,0x0a, + 0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f, + 0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75, + 0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20, + 0x6f,0x75,0x74,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x66, + 0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x0a,0x68,0x69,0x67,0x68, + 0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x64,0x69,0x74,0x68,0x65,0x72,0x28,0x68, + 0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x70,0x69,0x78,0x65,0x6c,0x29, + 0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x32,0x20,0x5f,0x34,0x38, + 0x32,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x70,0x69,0x78,0x65,0x6c,0x29, + 0x20,0x25,0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x34,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x28,0x5f,0x34,0x39,0x39,0x5b,0x28,0x5f, + 0x34,0x38,0x32,0x2e,0x79,0x20,0x2a,0x20,0x34,0x29,0x20,0x2b,0x20,0x5f,0x34,0x38, + 0x32,0x2e,0x78,0x5d,0x20,0x2b,0x20,0x30,0x2e,0x35,0x29,0x20,0x2a,0x20,0x30,0x2e, + 0x30,0x36,0x32,0x35,0x3b,0x0a,0x7d,0x0a,0x0a,0x68,0x69,0x67,0x68,0x70,0x20,0x76, + 0x65,0x63,0x33,0x20,0x73,0x75,0x6e,0x5f,0x73,0x68,0x61,0x64,0x6f,0x77,0x28,0x68, + 0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x77,0x6f,0x72,0x6c,0x64,0x2c, + 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x6e,0x6f,0x72,0x6d, + 0x61,0x6c,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20, + 0x76,0x65,0x63,0x33,0x20,0x5f,0x37,0x33,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61, + 0x6c,0x20,0x2a,0x20,0x30,0x2e,0x30,0x33,0x31,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x31,0x30,0x37, + 0x20,0x3d,0x20,0x6d,0x61,0x74,0x34,0x28,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x70, + 0x61,0x72,0x61,0x6d,0x73,0x5b,0x30,0x5d,0x2c,0x20,0x73,0x68,0x61,0x64,0x6f,0x77, + 0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x31,0x5d,0x2c,0x20,0x73,0x68,0x61,0x64, + 0x6f,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x32,0x5d,0x2c,0x20,0x73,0x68, + 0x61,0x64,0x6f,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x33,0x5d,0x29,0x20, + 0x2a,0x20,0x76,0x65,0x63,0x34,0x28,0x28,0x28,0x28,0x66,0x6c,0x6f,0x6f,0x72,0x28, + 0x28,0x77,0x6f,0x72,0x6c,0x64,0x20,0x2d,0x20,0x5f,0x37,0x33,0x29,0x20,0x2a,0x20, + 0x31,0x36,0x2e,0x30,0x29,0x20,0x2b,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x35, + 0x29,0x29,0x20,0x2a,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x36,0x32,0x35, + 0x29,0x29,0x20,0x2b,0x20,0x5f,0x37,0x33,0x29,0x20,0x2b,0x20,0x28,0x6e,0x6f,0x72, + 0x6d,0x61,0x6c,0x20,0x2a,0x20,0x30,0x2e,0x30,0x31,0x39,0x39,0x39,0x39,0x39,0x39, + 0x39,0x35,0x35,0x32,0x39,0x36,0x35,0x31,0x36,0x34,0x31,0x38,0x34,0x35,0x37,0x30, + 0x33,0x31,0x32,0x35,0x29,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x30, + 0x39,0x20,0x3d,0x20,0x5f,0x31,0x30,0x37,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x31,0x31,0x20,0x3d,0x20,0x5f,0x31,0x30,0x39, + 0x20,0x3c,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c, + 0x20,0x5f,0x31,0x31,0x38,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21, + 0x5f,0x31,0x31,0x31,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x5f,0x31,0x31,0x38,0x20,0x3d,0x20,0x5f,0x31,0x30,0x39,0x20, + 0x3e,0x20,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20, + 0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x5f,0x31,0x31,0x38,0x20,0x3d,0x20,0x5f,0x31,0x31,0x31,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20, + 0x5f,0x31,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x5f, + 0x31,0x31,0x38,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x5f,0x31,0x32,0x35,0x20,0x3d,0x20,0x5f,0x31,0x30,0x37,0x2e,0x79, + 0x20,0x3c,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20, + 0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x32,0x35,0x20,0x3d,0x20,0x5f,0x31,0x31,0x38, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c, + 0x20,0x5f,0x31,0x33,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21, + 0x5f,0x31,0x32,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x5f,0x31,0x33,0x32,0x20,0x3d,0x20,0x5f,0x31,0x30,0x37,0x2e, + 0x79,0x20,0x3e,0x20,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, + 0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x33,0x32,0x20,0x3d,0x20,0x5f,0x31,0x32, + 0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f, + 0x6c,0x20,0x5f,0x31,0x33,0x39,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28, + 0x21,0x5f,0x31,0x33,0x32,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x33,0x39,0x20,0x3d,0x20,0x5f,0x31,0x30,0x37, + 0x2e,0x7a,0x20,0x3e,0x20,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a, + 0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x33,0x39,0x20,0x3d,0x20,0x5f,0x31, + 0x33,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x66, + 0x20,0x28,0x5f,0x31,0x33,0x39,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x76,0x65,0x63, + 0x33,0x28,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20, + 0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31, + 0x36,0x31,0x20,0x3d,0x20,0x5f,0x31,0x30,0x37,0x2e,0x7a,0x20,0x2d,0x20,0x30,0x2e, + 0x30,0x30,0x30,0x35,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x33,0x37,0x34,0x38,0x37, + 0x32,0x35,0x36,0x35,0x32,0x36,0x39,0x34,0x37,0x30,0x32,0x31,0x34,0x38,0x34,0x33, + 0x37,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x74, + 0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x74,0x69, + 0x6e,0x74,0x5f,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x74,0x69,0x6e,0x74,0x5f,0x73, + 0x6d,0x70,0x2c,0x20,0x5f,0x31,0x30,0x37,0x2e,0x78,0x79,0x29,0x2e,0x78,0x79,0x7a, + 0x20,0x2a,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x73,0x68,0x61,0x64,0x6f, + 0x77,0x5f,0x6d,0x61,0x70,0x5f,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x73,0x6d,0x70, + 0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x76,0x65,0x63,0x33,0x28,0x5f,0x31,0x30,0x39, + 0x2c,0x20,0x5f,0x31,0x30,0x37,0x2e,0x79,0x2c,0x20,0x5f,0x31,0x36,0x31,0x29,0x2e, + 0x78,0x79,0x2c,0x20,0x5f,0x31,0x36,0x31,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x62, + 0x6f,0x6f,0x6c,0x20,0x70,0x72,0x6f,0x62,0x65,0x5f,0x61,0x74,0x28,0x69,0x76,0x65, + 0x63,0x33,0x20,0x63,0x65,0x6c,0x6c,0x2c,0x20,0x69,0x6e,0x6f,0x75,0x74,0x20,0x68, + 0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x72,0x2c,0x20,0x69,0x6e,0x6f, + 0x75,0x74,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x67,0x2c, + 0x20,0x69,0x6e,0x6f,0x75,0x74,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, + 0x34,0x20,0x62,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x33, + 0x20,0x5f,0x31,0x38,0x38,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33,0x28,0x66,0x6c, + 0x6f,0x6f,0x72,0x28,0x76,0x65,0x63,0x33,0x28,0x63,0x65,0x6c,0x6c,0x29,0x20,0x2a, + 0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x33,0x31,0x32,0x35,0x29,0x29,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x30,0x30, + 0x20,0x3d,0x20,0x5f,0x31,0x38,0x38,0x20,0x2d,0x20,0x69,0x76,0x65,0x63,0x33,0x28, + 0x74,0x72,0x69,0x6c,0x65,0x5f,0x66,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b, + 0x31,0x5d,0x2e,0x78,0x79,0x7a,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f, + 0x6c,0x20,0x5f,0x32,0x30,0x35,0x20,0x3d,0x20,0x61,0x6e,0x79,0x28,0x6c,0x65,0x73, + 0x73,0x54,0x68,0x61,0x6e,0x28,0x5f,0x32,0x30,0x30,0x2c,0x20,0x69,0x76,0x65,0x63, + 0x33,0x28,0x30,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c, + 0x20,0x5f,0x32,0x31,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21, + 0x5f,0x32,0x30,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x5f,0x32,0x31,0x37,0x20,0x3d,0x20,0x61,0x6e,0x79,0x28,0x67, + 0x72,0x65,0x61,0x74,0x65,0x72,0x54,0x68,0x61,0x6e,0x45,0x71,0x75,0x61,0x6c,0x28, + 0x5f,0x32,0x30,0x30,0x2c,0x20,0x69,0x76,0x65,0x63,0x33,0x28,0x74,0x72,0x69,0x6c, + 0x65,0x5f,0x66,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x32,0x5d,0x2e,0x78, + 0x79,0x7a,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20, + 0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x5f,0x32,0x31,0x37,0x20,0x3d,0x20,0x5f,0x32,0x30,0x35,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f, + 0x32,0x31,0x37,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x66,0x61,0x6c,0x73,0x65,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70, + 0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x32,0x33,0x38,0x20,0x3d,0x20,0x28,0x74,0x65, + 0x78,0x65,0x6c,0x46,0x65,0x74,0x63,0x68,0x28,0x70,0x72,0x6f,0x62,0x65,0x5f,0x69, + 0x6e,0x64,0x65,0x78,0x5f,0x70,0x72,0x6f,0x62,0x65,0x5f,0x73,0x6d,0x70,0x2c,0x20, + 0x5f,0x32,0x30,0x30,0x2c,0x20,0x30,0x29,0x2e,0x78,0x79,0x20,0x2a,0x20,0x32,0x35, + 0x35,0x2e,0x30,0x29,0x20,0x2b,0x20,0x76,0x65,0x63,0x32,0x28,0x30,0x2e,0x35,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x5f,0x32,0x35,0x30,0x20,0x3d, + 0x20,0x28,0x69,0x6e,0x74,0x28,0x5f,0x32,0x33,0x38,0x2e,0x78,0x29,0x20,0x2b,0x20, + 0x28,0x69,0x6e,0x74,0x28,0x5f,0x32,0x33,0x38,0x2e,0x79,0x29,0x20,0x2a,0x20,0x32, + 0x35,0x36,0x29,0x29,0x20,0x2d,0x20,0x31,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66, + 0x20,0x28,0x5f,0x32,0x35,0x30,0x20,0x3c,0x20,0x30,0x29,0x0a,0x20,0x20,0x20,0x20, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e, + 0x20,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20, + 0x20,0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x36,0x32,0x20,0x3d,0x20,0x63, + 0x65,0x6c,0x6c,0x20,0x2d,0x20,0x28,0x5f,0x31,0x38,0x38,0x20,0x2a,0x20,0x69,0x76, + 0x65,0x63,0x33,0x28,0x33,0x32,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x76, + 0x65,0x63,0x33,0x20,0x5f,0x32,0x38,0x31,0x20,0x3d,0x20,0x69,0x76,0x65,0x63,0x33, + 0x28,0x5f,0x32,0x36,0x32,0x2e,0x78,0x20,0x2a,0x20,0x33,0x2c,0x20,0x28,0x28,0x5f, + 0x32,0x35,0x30,0x20,0x25,0x20,0x31,0x36,0x29,0x20,0x2a,0x20,0x33,0x32,0x29,0x20, + 0x2b,0x20,0x5f,0x32,0x36,0x32,0x2e,0x79,0x2c,0x20,0x28,0x28,0x5f,0x32,0x35,0x30, + 0x20,0x2f,0x20,0x31,0x36,0x29,0x20,0x2a,0x20,0x33,0x32,0x29,0x20,0x2b,0x20,0x5f, + 0x32,0x36,0x32,0x2e,0x7a,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x20,0x3d,0x20, + 0x74,0x65,0x78,0x65,0x6c,0x46,0x65,0x74,0x63,0x68,0x28,0x70,0x72,0x6f,0x62,0x65, + 0x5f,0x61,0x74,0x6c,0x61,0x73,0x5f,0x70,0x72,0x6f,0x62,0x65,0x5f,0x73,0x6d,0x70, + 0x2c,0x20,0x5f,0x32,0x38,0x31,0x2c,0x20,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x67,0x20,0x3d,0x20,0x74,0x65,0x78,0x65,0x6c,0x46,0x65,0x74,0x63,0x68,0x28,0x70, + 0x72,0x6f,0x62,0x65,0x5f,0x61,0x74,0x6c,0x61,0x73,0x5f,0x70,0x72,0x6f,0x62,0x65, + 0x5f,0x73,0x6d,0x70,0x2c,0x20,0x5f,0x32,0x38,0x31,0x20,0x2b,0x20,0x69,0x76,0x65, + 0x63,0x33,0x28,0x31,0x2c,0x20,0x30,0x2c,0x20,0x30,0x29,0x2c,0x20,0x30,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x62,0x20,0x3d,0x20,0x74,0x65,0x78,0x65,0x6c,0x46,0x65, + 0x74,0x63,0x68,0x28,0x70,0x72,0x6f,0x62,0x65,0x5f,0x61,0x74,0x6c,0x61,0x73,0x5f, + 0x70,0x72,0x6f,0x62,0x65,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x5f,0x32,0x38,0x31,0x20, + 0x2b,0x20,0x69,0x76,0x65,0x63,0x33,0x28,0x32,0x2c,0x20,0x30,0x2c,0x20,0x30,0x29, + 0x2c,0x20,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e, + 0x20,0x72,0x2e,0x78,0x20,0x3e,0x3d,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x7d,0x0a,0x0a, + 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x70,0x72,0x6f,0x62,0x65, + 0x5f,0x6c,0x69,0x67,0x68,0x74,0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, + 0x33,0x20,0x77,0x6f,0x72,0x6c,0x64,0x2c,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76, + 0x65,0x63,0x33,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x29,0x0a,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x33,0x31, + 0x32,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x20,0x2a,0x20,0x30,0x2e,0x30, + 0x33,0x31,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20, + 0x76,0x65,0x63,0x33,0x20,0x5f,0x33,0x32,0x34,0x20,0x3d,0x20,0x28,0x28,0x66,0x6c, + 0x6f,0x6f,0x72,0x28,0x28,0x77,0x6f,0x72,0x6c,0x64,0x20,0x2d,0x20,0x5f,0x33,0x31, + 0x32,0x29,0x20,0x2a,0x20,0x31,0x36,0x2e,0x30,0x29,0x20,0x2b,0x20,0x76,0x65,0x63, + 0x33,0x28,0x30,0x2e,0x35,0x29,0x29,0x20,0x2a,0x20,0x76,0x65,0x63,0x33,0x28,0x30, + 0x2e,0x30,0x36,0x32,0x35,0x29,0x29,0x20,0x2b,0x20,0x5f,0x33,0x31,0x32,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f, + 0x33,0x33,0x31,0x20,0x3d,0x20,0x28,0x5f,0x33,0x32,0x34,0x20,0x2b,0x20,0x28,0x6e, + 0x6f,0x72,0x6d,0x61,0x6c,0x20,0x2a,0x20,0x30,0x2e,0x35,0x29,0x29,0x20,0x2d,0x20, + 0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69, + 0x76,0x65,0x63,0x33,0x20,0x5f,0x33,0x33,0x35,0x20,0x3d,0x20,0x69,0x76,0x65,0x63, + 0x33,0x28,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x5f,0x33,0x33,0x31,0x29,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f, + 0x33,0x34,0x30,0x20,0x3d,0x20,0x5f,0x33,0x33,0x31,0x20,0x2d,0x20,0x76,0x65,0x63, + 0x33,0x28,0x5f,0x33,0x33,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67, + 0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x73,0x75,0x6d,0x5f,0x72,0x20,0x3d,0x20, + 0x76,0x65,0x63,0x34,0x28,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68, + 0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x73,0x75,0x6d,0x5f,0x67,0x20, + 0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x73,0x75,0x6d,0x5f, + 0x62,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x74, + 0x6f,0x74,0x61,0x6c,0x20,0x3d,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x31,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, + 0x63,0x34,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74, + 0x20,0x69,0x20,0x3d,0x20,0x30,0x3b,0x20,0x69,0x20,0x3c,0x20,0x38,0x3b,0x20,0x69, + 0x2b,0x2b,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x5f,0x33,0x36,0x33,0x20,0x3d,0x20,0x69, + 0x76,0x65,0x63,0x33,0x28,0x69,0x20,0x26,0x20,0x31,0x2c,0x20,0x28,0x69,0x20,0x3e, + 0x3e,0x20,0x31,0x29,0x20,0x26,0x20,0x31,0x2c,0x20,0x69,0x20,0x3e,0x3e,0x20,0x32, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x33, + 0x20,0x5f,0x33,0x36,0x37,0x20,0x3d,0x20,0x5f,0x33,0x33,0x35,0x20,0x2b,0x20,0x5f, + 0x33,0x36,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20, + 0x28,0x64,0x6f,0x74,0x28,0x28,0x76,0x65,0x63,0x33,0x28,0x5f,0x33,0x36,0x37,0x29, + 0x20,0x2b,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x35,0x29,0x29,0x20,0x2d,0x20, + 0x5f,0x33,0x32,0x34,0x2c,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x29,0x20,0x3c,0x20, + 0x30,0x2e,0x30,0x30,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x37,0x36,0x34,0x38, + 0x32,0x35,0x38,0x32,0x30,0x39,0x32,0x32,0x38,0x35,0x31,0x35,0x36,0x32,0x35,0x29, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x69,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d, + 0x20,0x5f,0x33,0x36,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62, + 0x6f,0x6f,0x6c,0x20,0x5f,0x33,0x38,0x39,0x20,0x3d,0x20,0x70,0x72,0x6f,0x62,0x65, + 0x5f,0x61,0x74,0x28,0x70,0x61,0x72,0x61,0x6d,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x31,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x2c,0x20,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x33,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69, + 0x66,0x20,0x28,0x21,0x5f,0x33,0x38,0x39,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68, + 0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x34,0x30,0x34,0x20,0x3d,0x20,0x6d,0x69, + 0x78,0x28,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x29,0x20,0x2d,0x20,0x5f,0x33, + 0x34,0x30,0x2c,0x20,0x5f,0x33,0x34,0x30,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x5f, + 0x33,0x36,0x33,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68, + 0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x34,0x31,0x35,0x20, + 0x3d,0x20,0x6d,0x61,0x78,0x28,0x28,0x5f,0x34,0x30,0x34,0x2e,0x78,0x20,0x2a,0x20, + 0x5f,0x34,0x30,0x34,0x2e,0x79,0x29,0x20,0x2a,0x20,0x5f,0x34,0x30,0x34,0x2e,0x7a, + 0x2c,0x20,0x39,0x2e,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x34,0x37,0x33,0x37,0x38, + 0x37,0x35,0x31,0x36,0x33,0x35,0x35,0x35,0x31,0x34,0x35,0x32,0x36,0x33,0x36,0x37, + 0x31,0x38,0x38,0x65,0x2d,0x30,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x73,0x75,0x6d,0x5f,0x72,0x20,0x2b,0x3d,0x20,0x28,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x31,0x20,0x2a,0x20,0x5f,0x34,0x31,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x73,0x75,0x6d,0x5f,0x67,0x20,0x2b,0x3d,0x20,0x28,0x70, + 0x61,0x72,0x61,0x6d,0x5f,0x32,0x20,0x2a,0x20,0x5f,0x34,0x31,0x35,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x75,0x6d,0x5f,0x62,0x20,0x2b,0x3d, + 0x20,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x20,0x2a,0x20,0x5f,0x34,0x31,0x35, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x74,0x6f,0x74,0x61,0x6c, + 0x20,0x2b,0x3d,0x20,0x5f,0x34,0x31,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a, + 0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x74,0x6f,0x74,0x61,0x6c,0x20,0x3d,0x3d, + 0x20,0x30,0x2e,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x76,0x65,0x63,0x34,0x28, + 0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20, + 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x34,0x35,0x33,0x20, + 0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x30,0x2e,0x32,0x38,0x32,0x30,0x39,0x34,0x39, + 0x38,0x35,0x32,0x34,0x36,0x36,0x35,0x38,0x33,0x32,0x35,0x31,0x39,0x35,0x33,0x31, + 0x32,0x35,0x2c,0x20,0x30,0x2e,0x33,0x32,0x35,0x37,0x33,0x35,0x30,0x30,0x32,0x37, + 0x35,0x36,0x31,0x31,0x38,0x37,0x37,0x34,0x34,0x31,0x34,0x30,0x36,0x32,0x35,0x20, + 0x2a,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x2e,0x79,0x2c,0x20,0x30,0x2e,0x33,0x32, + 0x35,0x37,0x33,0x35,0x30,0x30,0x32,0x37,0x35,0x36,0x31,0x31,0x38,0x37,0x37,0x34, + 0x34,0x31,0x34,0x30,0x36,0x32,0x35,0x20,0x2a,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c, + 0x2e,0x7a,0x2c,0x20,0x30,0x2e,0x33,0x32,0x35,0x37,0x33,0x35,0x30,0x30,0x32,0x37, + 0x35,0x36,0x31,0x31,0x38,0x37,0x37,0x34,0x34,0x31,0x34,0x30,0x36,0x32,0x35,0x20, + 0x2a,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x2e,0x78,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x76,0x65,0x63,0x34,0x28,0x6d,0x61,0x78, + 0x28,0x76,0x65,0x63,0x33,0x28,0x64,0x6f,0x74,0x28,0x73,0x75,0x6d,0x5f,0x72,0x2c, + 0x20,0x5f,0x34,0x35,0x33,0x29,0x2c,0x20,0x64,0x6f,0x74,0x28,0x73,0x75,0x6d,0x5f, + 0x67,0x2c,0x20,0x5f,0x34,0x35,0x33,0x29,0x2c,0x20,0x64,0x6f,0x74,0x28,0x73,0x75, + 0x6d,0x5f,0x62,0x2c,0x20,0x5f,0x34,0x35,0x33,0x29,0x29,0x20,0x2f,0x20,0x76,0x65, + 0x63,0x33,0x28,0x74,0x6f,0x74,0x61,0x6c,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28, + 0x30,0x2e,0x30,0x29,0x29,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x0a, + 0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x62,0x72,0x69,0x67, + 0x68,0x74,0x65,0x73,0x74,0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33, + 0x20,0x63,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e, + 0x20,0x6d,0x61,0x78,0x28,0x63,0x2e,0x78,0x2c,0x20,0x6d,0x61,0x78,0x28,0x63,0x2e, + 0x79,0x2c,0x20,0x63,0x2e,0x7a,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x6f,0x69, + 0x64,0x20,0x77,0x72,0x69,0x74,0x65,0x5f,0x73,0x63,0x65,0x6e,0x65,0x28,0x68,0x69, + 0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65, + 0x72,0x61,0x2c,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, + 0x67,0x6c,0x6f,0x77,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67, + 0x5f,0x67,0x6c,0x6f,0x77,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x67,0x6c,0x6f, + 0x77,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x73,0x63,0x65, + 0x6e,0x65,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x6c,0x65,0x6e,0x67,0x74,0x68, + 0x28,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x29,0x29,0x3b,0x0a,0x7d,0x0a, + 0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x35,0x31,0x37,0x20,0x3d,0x20,0x76, + 0x5f,0x63,0x6c,0x69,0x70,0x20,0x3c,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x35,0x33,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x69,0x66,0x20,0x28,0x21,0x5f,0x35,0x31,0x37,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76, + 0x65,0x63,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x67,0x6c,0x5f,0x46, + 0x72,0x61,0x67,0x43,0x6f,0x6f,0x72,0x64,0x2e,0x78,0x79,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x5f,0x35,0x33,0x30,0x20,0x3d,0x20,0x76,0x5f,0x63,0x75, + 0x74,0x20,0x3e,0x20,0x64,0x69,0x74,0x68,0x65,0x72,0x28,0x70,0x61,0x72,0x61,0x6d, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73, + 0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x5f,0x35,0x33,0x30,0x20,0x3d,0x20,0x5f,0x35,0x31,0x37,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x35,0x33,0x30,0x29, + 0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64, + 0x69,0x73,0x63,0x61,0x72,0x64,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20, + 0x20,0x20,0x69,0x6e,0x74,0x20,0x5f,0x35,0x33,0x38,0x20,0x3d,0x20,0x69,0x6e,0x74, + 0x28,0x76,0x5f,0x73,0x77,0x61,0x74,0x63,0x68,0x20,0x2b,0x20,0x30,0x2e,0x35,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34, + 0x20,0x5f,0x35,0x34,0x38,0x20,0x3d,0x20,0x74,0x65,0x78,0x65,0x6c,0x46,0x65,0x74, + 0x63,0x68,0x28,0x70,0x61,0x6c,0x65,0x74,0x74,0x65,0x5f,0x70,0x61,0x6c,0x65,0x74, + 0x74,0x65,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x5f,0x35, + 0x33,0x38,0x2c,0x20,0x30,0x29,0x2c,0x20,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x35,0x35,0x36,0x20, + 0x3d,0x20,0x74,0x65,0x78,0x65,0x6c,0x46,0x65,0x74,0x63,0x68,0x28,0x70,0x61,0x6c, + 0x65,0x74,0x74,0x65,0x5f,0x70,0x61,0x6c,0x65,0x74,0x74,0x65,0x5f,0x73,0x6d,0x70, + 0x2c,0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x5f,0x35,0x33,0x38,0x2c,0x20,0x31,0x29, + 0x2c,0x20,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20, + 0x76,0x65,0x63,0x33,0x20,0x61,0x6c,0x62,0x65,0x64,0x6f,0x20,0x3d,0x20,0x5f,0x35, + 0x34,0x38,0x2e,0x78,0x79,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28, 0x76,0x5f,0x74,0x69,0x6e,0x74,0x20,0x3e,0x20,0x31,0x2e,0x35,0x29,0x0a,0x20,0x20, 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x61,0x6c,0x62,0x65, 0x64,0x6f,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x61,0x6c,0x62,0x65,0x64,0x6f,0x2c, @@ -1175,19 +4621,302 @@ fs_trile_source_glsl300es := u8.[ 0x32,0x39,0x38,0x30,0x32,0x33,0x32,0x32,0x33,0x38,0x37,0x36,0x39,0x35,0x33,0x31, 0x32,0x35,0x29,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x35,0x29,0x29,0x3b, 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x7d, - 0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20, - 0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x61,0x6c,0x62,0x65,0x64,0x6f,0x2c,0x20,0x31, - 0x2e,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, + 0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20, + 0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20,0x76,0x5f,0x77,0x6f,0x72,0x6c, + 0x64,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, + 0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x20,0x3d,0x20,0x76,0x5f,0x6e,0x6f, + 0x72,0x6d,0x61,0x6c,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20, + 0x76,0x65,0x63,0x33,0x20,0x5f,0x35,0x39,0x30,0x20,0x3d,0x20,0x73,0x75,0x6e,0x5f, + 0x73,0x68,0x61,0x64,0x6f,0x77,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x2c,0x20, + 0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69, + 0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x35,0x39,0x31,0x20,0x3d,0x20, + 0x5f,0x35,0x39,0x30,0x20,0x2a,0x20,0x76,0x5f,0x66,0x61,0x63,0x69,0x6e,0x67,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20, + 0x5f,0x36,0x30,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x74,0x72, + 0x69,0x6c,0x65,0x5f,0x66,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x31,0x5d, + 0x2e,0x77,0x20,0x3e,0x20,0x30,0x2e,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, + 0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x20,0x3d,0x20,0x76,0x5f,0x77, + 0x6f,0x72,0x6c,0x64,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69, + 0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34, + 0x20,0x3d,0x20,0x76,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x5f,0x36,0x30,0x35,0x20,0x3d,0x20,0x70,0x72,0x6f,0x62, + 0x65,0x5f,0x6c,0x69,0x67,0x68,0x74,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x2c, + 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d, + 0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x36,0x30,0x35,0x20,0x3d,0x20,0x76, + 0x65,0x63,0x34,0x28,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a, + 0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x63, + 0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x61,0x6c,0x62,0x65,0x64,0x6f,0x20,0x2a,0x20, + 0x6d,0x69,0x78,0x28,0x28,0x76,0x5f,0x73,0x68,0x61,0x64,0x65,0x20,0x2b,0x20,0x5f, + 0x36,0x30,0x35,0x2e,0x78,0x79,0x7a,0x29,0x20,0x2a,0x20,0x6d,0x69,0x78,0x28,0x30, + 0x2e,0x36,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35,0x37, + 0x39,0x31,0x30,0x31,0x35,0x36,0x32,0x35,0x2c,0x20,0x31,0x2e,0x30,0x2c,0x20,0x76, + 0x5f,0x61,0x6f,0x29,0x2c,0x20,0x76,0x5f,0x73,0x75,0x6e,0x2c,0x20,0x5f,0x35,0x39, + 0x31,0x20,0x2a,0x20,0x6d,0x69,0x78,0x28,0x30,0x2e,0x32,0x35,0x2c,0x20,0x31,0x2e, + 0x30,0x2c,0x20,0x76,0x5f,0x61,0x6f,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68, + 0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x35,0x20,0x3d,0x20,0x5f,0x35,0x39,0x31,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69, + 0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x36,0x33,0x38,0x20,0x3d, + 0x20,0x62,0x72,0x69,0x67,0x68,0x74,0x65,0x73,0x74,0x28,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x36,0x33, + 0x38,0x20,0x3e,0x20,0x30,0x2e,0x30,0x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x30, + 0x34,0x37,0x34,0x39,0x37,0x34,0x35,0x31,0x33,0x30,0x35,0x33,0x38,0x39,0x34,0x30, + 0x34,0x32,0x39,0x36,0x38,0x37,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x6d, + 0x69,0x78,0x28,0x63,0x6f,0x6c,0x6f,0x72,0x2c,0x20,0x5f,0x35,0x39,0x31,0x20,0x2a, + 0x20,0x76,0x5f,0x73,0x75,0x6e,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x6d,0x69,0x6e, + 0x28,0x31,0x2e,0x30,0x2c,0x20,0x28,0x28,0x5f,0x36,0x33,0x38,0x20,0x2d,0x20,0x6d, + 0x69,0x6e,0x28,0x5f,0x35,0x39,0x31,0x2e,0x78,0x2c,0x20,0x6d,0x69,0x6e,0x28,0x5f, + 0x35,0x39,0x31,0x2e,0x79,0x2c,0x20,0x5f,0x35,0x39,0x31,0x2e,0x7a,0x29,0x29,0x29, + 0x20,0x2f,0x20,0x5f,0x36,0x33,0x38,0x29,0x20,0x2a,0x20,0x32,0x2e,0x30,0x29,0x29, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67, + 0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x36,0x36,0x38,0x20,0x3d,0x20, + 0x5f,0x35,0x34,0x38,0x2e,0x77,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68, + 0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x67,0x6c,0x6f,0x77,0x20,0x3d,0x20,0x5f, + 0x36,0x36,0x38,0x20,0x2a,0x20,0x38,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68, + 0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x36,0x37,0x31,0x20, + 0x3d,0x20,0x5f,0x35,0x35,0x36,0x2e,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66, + 0x20,0x28,0x5f,0x36,0x37,0x31,0x20,0x3e,0x20,0x30,0x2e,0x30,0x29,0x0a,0x20,0x20, + 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68, + 0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x36,0x39,0x36,0x20,0x3d,0x20,0x70, + 0x6f,0x77,0x28,0x6d,0x61,0x78,0x28,0x64,0x6f,0x74,0x28,0x76,0x5f,0x6e,0x6f,0x72, + 0x6d,0x61,0x6c,0x2c,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x6e, + 0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x76,0x5f,0x74,0x6f,0x5f,0x63,0x61, + 0x6d,0x65,0x72,0x61,0x29,0x20,0x2b,0x20,0x74,0x72,0x69,0x6c,0x65,0x5f,0x66,0x73, + 0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x30,0x5d,0x2e,0x78,0x79,0x7a,0x29,0x29, + 0x2c,0x20,0x30,0x2e,0x30,0x29,0x2c,0x20,0x6d,0x69,0x78,0x28,0x34,0x2e,0x30,0x2c, + 0x20,0x39,0x36,0x2e,0x30,0x2c,0x20,0x5f,0x36,0x37,0x31,0x29,0x29,0x20,0x2a,0x20, + 0x5f,0x36,0x37,0x31,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f, + 0x6c,0x6f,0x72,0x20,0x2b,0x3d,0x20,0x28,0x28,0x76,0x5f,0x73,0x75,0x6e,0x20,0x2a, + 0x20,0x5f,0x35,0x39,0x31,0x29,0x20,0x2a,0x20,0x5f,0x36,0x39,0x36,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, + 0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36,0x20,0x3d,0x20,0x5f,0x35,0x39, + 0x31,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x6c,0x6f,0x77,0x20, + 0x2b,0x3d,0x20,0x28,0x28,0x5f,0x36,0x39,0x36,0x20,0x2a,0x20,0x62,0x72,0x69,0x67, + 0x68,0x74,0x65,0x73,0x74,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36,0x29,0x29,0x20, + 0x2a,0x20,0x34,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20, + 0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x37,0x31,0x34,0x20,0x3d,0x20,0x74,0x72, + 0x69,0x6c,0x65,0x5f,0x66,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x33,0x5d, + 0x2e,0x78,0x20,0x3e,0x20,0x30,0x2e,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f, + 0x6f,0x6c,0x20,0x5f,0x37,0x32,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20, + 0x28,0x5f,0x37,0x31,0x34,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x5f,0x37,0x32,0x30,0x20,0x3d,0x20,0x5f,0x35,0x35,0x36, + 0x2e,0x79,0x20,0x3e,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a, + 0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x37,0x32,0x30,0x20,0x3d,0x20,0x5f,0x37, + 0x31,0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f, + 0x6f,0x6c,0x20,0x5f,0x37,0x32,0x36,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20, + 0x28,0x5f,0x37,0x32,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x5f,0x37,0x32,0x36,0x20,0x3d,0x20,0x76,0x5f,0x6e,0x6f, + 0x72,0x6d,0x61,0x6c,0x2e,0x79,0x20,0x3e,0x20,0x30,0x2e,0x35,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20, + 0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x37,0x32,0x36,0x20, + 0x3d,0x20,0x5f,0x37,0x32,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20, + 0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x37,0x33,0x36,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x69,0x66,0x20,0x28,0x5f,0x37,0x32,0x36,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x37,0x33,0x36,0x20,0x3d,0x20, + 0x61,0x62,0x73,0x28,0x76,0x5f,0x77,0x6f,0x72,0x6c,0x64,0x2e,0x79,0x20,0x2d,0x20, + 0x74,0x72,0x69,0x6c,0x65,0x5f,0x66,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b, + 0x33,0x5d,0x2e,0x79,0x29,0x20,0x3c,0x20,0x30,0x2e,0x30,0x31,0x39,0x39,0x39,0x39, + 0x39,0x39,0x39,0x35,0x35,0x32,0x39,0x36,0x35,0x31,0x36,0x34,0x31,0x38,0x34,0x35, + 0x37,0x30,0x33,0x31,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20, + 0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x5f,0x37,0x33,0x36,0x20,0x3d,0x20,0x5f,0x37,0x32,0x36, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28, + 0x5f,0x37,0x33,0x36,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x5f, + 0x37,0x35,0x30,0x20,0x3d,0x20,0x67,0x6c,0x5f,0x46,0x72,0x61,0x67,0x43,0x6f,0x6f, + 0x72,0x64,0x2e,0x78,0x79,0x20,0x2f,0x20,0x76,0x65,0x63,0x32,0x28,0x74,0x65,0x78, + 0x74,0x75,0x72,0x65,0x53,0x69,0x7a,0x65,0x28,0x74,0x72,0x69,0x6c,0x65,0x5f,0x72, + 0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x74,0x72,0x69,0x6c,0x65,0x5f, + 0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6d,0x70,0x2c,0x20, + 0x30,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67, + 0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x37,0x35,0x37,0x20,0x3d,0x20,0x76, + 0x65,0x63,0x32,0x28,0x5f,0x37,0x35,0x30,0x2e,0x78,0x2c,0x20,0x31,0x2e,0x30,0x20, + 0x2d,0x20,0x5f,0x37,0x35,0x30,0x2e,0x79,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f, + 0x37,0x36,0x36,0x20,0x3d,0x20,0x5f,0x35,0x35,0x36,0x2e,0x79,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x6d,0x69, + 0x78,0x28,0x63,0x6f,0x6c,0x6f,0x72,0x2c,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65, + 0x28,0x74,0x72,0x69,0x6c,0x65,0x5f,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f, + 0x6e,0x5f,0x74,0x72,0x69,0x6c,0x65,0x5f,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69, + 0x6f,0x6e,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x5f,0x37,0x35,0x37,0x29,0x2e,0x78,0x79, + 0x7a,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x5f,0x37,0x36,0x36,0x29,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x6c,0x6f,0x77,0x20,0x3d,0x20,0x6d, + 0x61,0x78,0x28,0x67,0x6c,0x6f,0x77,0x2c,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65, + 0x28,0x74,0x72,0x69,0x6c,0x65,0x5f,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f, + 0x6e,0x5f,0x67,0x6c,0x6f,0x77,0x5f,0x74,0x72,0x69,0x6c,0x65,0x5f,0x72,0x65,0x66, + 0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x5f,0x37,0x35, + 0x37,0x29,0x2e,0x78,0x20,0x2a,0x20,0x70,0x6f,0x77,0x28,0x5f,0x37,0x36,0x36,0x2c, + 0x20,0x30,0x2e,0x34,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x35,0x39,0x36,0x30,0x34, + 0x36,0x34,0x34,0x37,0x37,0x35,0x33,0x39,0x30,0x36,0x32,0x35,0x29,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63, + 0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x6d,0x69,0x78,0x28, + 0x63,0x6f,0x6c,0x6f,0x72,0x2c,0x20,0x61,0x6c,0x62,0x65,0x64,0x6f,0x2c,0x20,0x76, + 0x65,0x63,0x33,0x28,0x5f,0x36,0x36,0x38,0x29,0x29,0x2c,0x20,0x31,0x2e,0x30,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33, + 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x37,0x20,0x3d,0x20,0x76,0x5f,0x74,0x6f,0x5f, + 0x63,0x61,0x6d,0x65,0x72,0x61,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68, + 0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x38,0x20, + 0x3d,0x20,0x67,0x6c,0x6f,0x77,0x3b,0x0a,0x20,0x20,0x20,0x20,0x77,0x72,0x69,0x74, + 0x65,0x5f,0x73,0x63,0x65,0x6e,0x65,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x37,0x2c, + 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x38,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, +]; +/* + #version 300 es + precision mediump float; + precision highp int; + + uniform highp sampler2D palette_palette_smp; + + in highp float v_swatch; + in highp float v_clip; + in highp vec3 v_to_camera; + in highp vec3 v_world; + in highp vec3 v_normal; + in highp float v_facing; + in highp float v_ao; + in highp vec3 v_shade; + in highp vec3 v_sun; + in highp float v_tint; + in highp float v_cut; + + void main() + { + if (texelFetch(palette_palette_smp, ivec2(int(v_swatch + 0.5), 1), 0).x > 0.5) + { + discard; + } + } + +*/ +fs_trile_shadow_source_glsl300es := u8.[ + 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x33,0x30,0x30,0x20,0x65,0x73,0x0a, + 0x70,0x72,0x65,0x63,0x69,0x73,0x69,0x6f,0x6e,0x20,0x6d,0x65,0x64,0x69,0x75,0x6d, + 0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x3b,0x0a,0x70,0x72,0x65,0x63,0x69,0x73,0x69, + 0x6f,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x69,0x6e,0x74,0x3b,0x0a,0x0a,0x75, + 0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x73,0x61,0x6d, + 0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x70,0x61,0x6c,0x65,0x74,0x74,0x65,0x5f,0x70, + 0x61,0x6c,0x65,0x74,0x74,0x65,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x0a,0x69,0x6e,0x20, + 0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x73,0x77, + 0x61,0x74,0x63,0x68,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x63,0x6c,0x69,0x70,0x3b,0x0a,0x69,0x6e,0x20, + 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x74,0x6f,0x5f, + 0x63,0x61,0x6d,0x65,0x72,0x61,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70, + 0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x77,0x6f,0x72,0x6c,0x64,0x3b,0x0a,0x69, + 0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x6e, + 0x6f,0x72,0x6d,0x61,0x6c,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x66,0x61,0x63,0x69,0x6e,0x67,0x3b,0x0a, + 0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76, + 0x5f,0x61,0x6f,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, + 0x63,0x33,0x20,0x76,0x5f,0x73,0x68,0x61,0x64,0x65,0x3b,0x0a,0x69,0x6e,0x20,0x68, + 0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x73,0x75,0x6e,0x3b, + 0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, + 0x76,0x5f,0x74,0x69,0x6e,0x74,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x63,0x75,0x74,0x3b,0x0a,0x0a,0x76, + 0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x69,0x66,0x20,0x28,0x74,0x65,0x78,0x65,0x6c,0x46,0x65,0x74,0x63,0x68,0x28, + 0x70,0x61,0x6c,0x65,0x74,0x74,0x65,0x5f,0x70,0x61,0x6c,0x65,0x74,0x74,0x65,0x5f, + 0x73,0x6d,0x70,0x2c,0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x69,0x6e,0x74,0x28,0x76, + 0x5f,0x73,0x77,0x61,0x74,0x63,0x68,0x20,0x2b,0x20,0x30,0x2e,0x35,0x29,0x2c,0x20, + 0x31,0x29,0x2c,0x20,0x30,0x29,0x2e,0x78,0x20,0x3e,0x20,0x30,0x2e,0x35,0x29,0x0a, + 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x69, + 0x73,0x63,0x61,0x72,0x64,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x7d,0x0a,0x0a, + 0x00, +]; +/* + #version 300 es + precision mediump float; + precision highp int; + + uniform highp sampler2D palette_palette_smp; + + in highp float v_swatch; + layout(location = 0) out highp vec4 frag_color; + in highp float v_clip; + in highp vec3 v_to_camera; + in highp vec3 v_world; + in highp vec3 v_normal; + in highp float v_facing; + in highp float v_ao; + in highp vec3 v_shade; + in highp vec3 v_sun; + in highp float v_tint; + in highp float v_cut; + + void main() + { + int _15 = int(v_swatch + 0.5); + if (texelFetch(palette_palette_smp, ivec2(_15, 1), 0).x < 0.5) + { + discard; + } + highp vec4 _51 = texelFetch(palette_palette_smp, ivec2(_15, 0), 0); + frag_color = vec4(_51.xyz / vec3(max(max(_51.x, max(_51.y, _51.z)), 0.001000000047497451305389404296875)), 1.0); + } + +*/ +fs_trile_glass_shadow_source_glsl300es := u8.[ + 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x33,0x30,0x30,0x20,0x65,0x73,0x0a, + 0x70,0x72,0x65,0x63,0x69,0x73,0x69,0x6f,0x6e,0x20,0x6d,0x65,0x64,0x69,0x75,0x6d, + 0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x3b,0x0a,0x70,0x72,0x65,0x63,0x69,0x73,0x69, + 0x6f,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x69,0x6e,0x74,0x3b,0x0a,0x0a,0x75, + 0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x73,0x61,0x6d, + 0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x70,0x61,0x6c,0x65,0x74,0x74,0x65,0x5f,0x70, + 0x61,0x6c,0x65,0x74,0x74,0x65,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x0a,0x69,0x6e,0x20, + 0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x73,0x77, + 0x61,0x74,0x63,0x68,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63, + 0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x6f,0x75,0x74,0x20,0x68, + 0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x63, + 0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x63,0x6c,0x69,0x70,0x3b,0x0a,0x69,0x6e,0x20, + 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x74,0x6f,0x5f, + 0x63,0x61,0x6d,0x65,0x72,0x61,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70, + 0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x77,0x6f,0x72,0x6c,0x64,0x3b,0x0a,0x69, + 0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x6e, + 0x6f,0x72,0x6d,0x61,0x6c,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x66,0x61,0x63,0x69,0x6e,0x67,0x3b,0x0a, + 0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76, + 0x5f,0x61,0x6f,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, + 0x63,0x33,0x20,0x76,0x5f,0x73,0x68,0x61,0x64,0x65,0x3b,0x0a,0x69,0x6e,0x20,0x68, + 0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x73,0x75,0x6e,0x3b, + 0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, + 0x76,0x5f,0x74,0x69,0x6e,0x74,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x63,0x75,0x74,0x3b,0x0a,0x0a,0x76, + 0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x69,0x6e,0x74,0x20,0x5f,0x31,0x35,0x20,0x3d,0x20,0x69,0x6e,0x74,0x28,0x76, + 0x5f,0x73,0x77,0x61,0x74,0x63,0x68,0x20,0x2b,0x20,0x30,0x2e,0x35,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x74,0x65,0x78,0x65,0x6c,0x46,0x65,0x74, + 0x63,0x68,0x28,0x70,0x61,0x6c,0x65,0x74,0x74,0x65,0x5f,0x70,0x61,0x6c,0x65,0x74, + 0x74,0x65,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x5f,0x31, + 0x35,0x2c,0x20,0x31,0x29,0x2c,0x20,0x30,0x29,0x2e,0x78,0x20,0x3c,0x20,0x30,0x2e, + 0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x64,0x69,0x73,0x63,0x61,0x72,0x64,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a, + 0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x5f, + 0x35,0x31,0x20,0x3d,0x20,0x74,0x65,0x78,0x65,0x6c,0x46,0x65,0x74,0x63,0x68,0x28, + 0x70,0x61,0x6c,0x65,0x74,0x74,0x65,0x5f,0x70,0x61,0x6c,0x65,0x74,0x74,0x65,0x5f, + 0x73,0x6d,0x70,0x2c,0x20,0x69,0x76,0x65,0x63,0x32,0x28,0x5f,0x31,0x35,0x2c,0x20, + 0x30,0x29,0x2c,0x20,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67, + 0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x5f,0x35, + 0x31,0x2e,0x78,0x79,0x7a,0x20,0x2f,0x20,0x76,0x65,0x63,0x33,0x28,0x6d,0x61,0x78, + 0x28,0x6d,0x61,0x78,0x28,0x5f,0x35,0x31,0x2e,0x78,0x2c,0x20,0x6d,0x61,0x78,0x28, + 0x5f,0x35,0x31,0x2e,0x79,0x2c,0x20,0x5f,0x35,0x31,0x2e,0x7a,0x29,0x29,0x2c,0x20, + 0x30,0x2e,0x30,0x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x34,0x39, + 0x37,0x34,0x35,0x31,0x33,0x30,0x35,0x33,0x38,0x39,0x34,0x30,0x34,0x32,0x39,0x36, + 0x38,0x37,0x35,0x29,0x29,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x0a, + 0x00, ]; /* #version 300 es const vec2 _23[6] = vec2[](vec2(0.0), vec2(1.0, 0.0), vec2(1.0), vec2(0.0), vec2(1.0), vec2(0.0, 1.0)); - uniform vec4 view_params[6]; + uniform vec4 view_params[13]; uniform vec4 water_vs_params[1]; - out vec4 v_normal_uv; + out vec2 v_xz; out vec3 v_to_camera; + out vec3 v_world; vec2 quad_corner(int vertex_index) { @@ -1197,13 +4926,11 @@ fs_trile_source_glsl300es := u8.[ void main() { int param = gl_VertexID; - vec2 _59 = view_params[4].xz + (((quad_corner(param) * 2.0) - vec2(1.0)) * water_vs_params[0].y); - float _66 = _59.x; - float _72 = _59.y; - gl_Position = mat4(view_params[0], view_params[1], view_params[2], view_params[3]) * vec4(_66, water_vs_params[0].x, _72, 1.0); - vec2 _96 = vec2(-0.004999999888241291046142578125, -0.01200000010430812835693359375) * view_params[4].w; - v_normal_uv = vec4((_59 * 0.4000000059604644775390625) + (_96 * 1.5), (_59 * 0.100000001490116119384765625) + (_96 * 1.7000000476837158203125)); - v_to_camera = view_params[4].xyz - vec3(_66, water_vs_params[0].x, _72); + v_xz = view_params[8].xz + (((quad_corner(param) * 2.0) - vec2(1.0)) * water_vs_params[0].y); + vec3 _75 = vec3(v_xz.x, water_vs_params[0].x, v_xz.y); + gl_Position = mat4(view_params[0], view_params[1], view_params[2], view_params[3]) * vec4(v_xz.x, water_vs_params[0].x, v_xz.y, 1.0); + v_to_camera = view_params[8].xyz - _75; + v_world = _75; } */ @@ -1217,84 +4944,210 @@ vs_water_source_glsl300es := u8.[ 0x32,0x28,0x31,0x2e,0x30,0x29,0x2c,0x20,0x76,0x65,0x63,0x32,0x28,0x30,0x2e,0x30, 0x2c,0x20,0x31,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72, 0x6d,0x20,0x76,0x65,0x63,0x34,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61, - 0x6d,0x73,0x5b,0x36,0x5d,0x3b,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x76, - 0x65,0x63,0x34,0x20,0x77,0x61,0x74,0x65,0x72,0x5f,0x76,0x73,0x5f,0x70,0x61,0x72, - 0x61,0x6d,0x73,0x5b,0x31,0x5d,0x3b,0x0a,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x34, - 0x20,0x76,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x5f,0x75,0x76,0x3b,0x0a,0x6f,0x75, - 0x74,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65, - 0x72,0x61,0x3b,0x0a,0x0a,0x76,0x65,0x63,0x32,0x20,0x71,0x75,0x61,0x64,0x5f,0x63, - 0x6f,0x72,0x6e,0x65,0x72,0x28,0x69,0x6e,0x74,0x20,0x76,0x65,0x72,0x74,0x65,0x78, - 0x5f,0x69,0x6e,0x64,0x65,0x78,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65, - 0x74,0x75,0x72,0x6e,0x20,0x5f,0x32,0x33,0x5b,0x76,0x65,0x72,0x74,0x65,0x78,0x5f, - 0x69,0x6e,0x64,0x65,0x78,0x5d,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20, - 0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74, - 0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x67,0x6c,0x5f,0x56,0x65,0x72,0x74, - 0x65,0x78,0x49,0x44,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x5f, - 0x35,0x39,0x20,0x3d,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73, - 0x5b,0x34,0x5d,0x2e,0x78,0x7a,0x20,0x2b,0x20,0x28,0x28,0x28,0x71,0x75,0x61,0x64, - 0x5f,0x63,0x6f,0x72,0x6e,0x65,0x72,0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x20,0x2a, - 0x20,0x32,0x2e,0x30,0x29,0x20,0x2d,0x20,0x76,0x65,0x63,0x32,0x28,0x31,0x2e,0x30, - 0x29,0x29,0x20,0x2a,0x20,0x77,0x61,0x74,0x65,0x72,0x5f,0x76,0x73,0x5f,0x70,0x61, - 0x72,0x61,0x6d,0x73,0x5b,0x30,0x5d,0x2e,0x79,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x36,0x36,0x20,0x3d,0x20,0x5f,0x35,0x39,0x2e, - 0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x37,0x32, - 0x20,0x3d,0x20,0x5f,0x35,0x39,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x67,0x6c, - 0x5f,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x6d,0x61,0x74,0x34, - 0x28,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x30,0x5d,0x2c, - 0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x31,0x5d,0x2c, - 0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x32,0x5d,0x2c, - 0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x33,0x5d,0x29, - 0x20,0x2a,0x20,0x76,0x65,0x63,0x34,0x28,0x5f,0x36,0x36,0x2c,0x20,0x77,0x61,0x74, + 0x6d,0x73,0x5b,0x31,0x33,0x5d,0x3b,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20, + 0x76,0x65,0x63,0x34,0x20,0x77,0x61,0x74,0x65,0x72,0x5f,0x76,0x73,0x5f,0x70,0x61, + 0x72,0x61,0x6d,0x73,0x5b,0x31,0x5d,0x3b,0x0a,0x6f,0x75,0x74,0x20,0x76,0x65,0x63, + 0x32,0x20,0x76,0x5f,0x78,0x7a,0x3b,0x0a,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x33, + 0x20,0x76,0x5f,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x3b,0x0a,0x6f,0x75, + 0x74,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x77,0x6f,0x72,0x6c,0x64,0x3b,0x0a, + 0x0a,0x76,0x65,0x63,0x32,0x20,0x71,0x75,0x61,0x64,0x5f,0x63,0x6f,0x72,0x6e,0x65, + 0x72,0x28,0x69,0x6e,0x74,0x20,0x76,0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x6e,0x64, + 0x65,0x78,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e, + 0x20,0x5f,0x32,0x33,0x5b,0x76,0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x6e,0x64,0x65, + 0x78,0x5d,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e, + 0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72, + 0x61,0x6d,0x20,0x3d,0x20,0x67,0x6c,0x5f,0x56,0x65,0x72,0x74,0x65,0x78,0x49,0x44, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x5f,0x78,0x7a,0x20,0x3d,0x20,0x76,0x69,0x65, + 0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x38,0x5d,0x2e,0x78,0x7a,0x20,0x2b, + 0x20,0x28,0x28,0x28,0x71,0x75,0x61,0x64,0x5f,0x63,0x6f,0x72,0x6e,0x65,0x72,0x28, + 0x70,0x61,0x72,0x61,0x6d,0x29,0x20,0x2a,0x20,0x32,0x2e,0x30,0x29,0x20,0x2d,0x20, + 0x76,0x65,0x63,0x32,0x28,0x31,0x2e,0x30,0x29,0x29,0x20,0x2a,0x20,0x77,0x61,0x74, 0x65,0x72,0x5f,0x76,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x30,0x5d,0x2e, - 0x78,0x2c,0x20,0x5f,0x37,0x32,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x39,0x36,0x20,0x3d,0x20,0x76,0x65,0x63, - 0x32,0x28,0x2d,0x30,0x2e,0x30,0x30,0x34,0x39,0x39,0x39,0x39,0x39,0x39,0x38,0x38, - 0x38,0x32,0x34,0x31,0x32,0x39,0x31,0x30,0x34,0x36,0x31,0x34,0x32,0x35,0x37,0x38, - 0x31,0x32,0x35,0x2c,0x20,0x2d,0x30,0x2e,0x30,0x31,0x32,0x30,0x30,0x30,0x30,0x30, - 0x30,0x31,0x30,0x34,0x33,0x30,0x38,0x31,0x32,0x38,0x33,0x35,0x36,0x39,0x33,0x33, - 0x35,0x39,0x33,0x37,0x35,0x29,0x20,0x2a,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61, - 0x72,0x61,0x6d,0x73,0x5b,0x34,0x5d,0x2e,0x77,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76, - 0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x5f,0x75,0x76,0x20,0x3d,0x20,0x76,0x65,0x63, - 0x34,0x28,0x28,0x5f,0x35,0x39,0x20,0x2a,0x20,0x30,0x2e,0x34,0x30,0x30,0x30,0x30, - 0x30,0x30,0x30,0x35,0x39,0x36,0x30,0x34,0x36,0x34,0x34,0x37,0x37,0x35,0x33,0x39, - 0x30,0x36,0x32,0x35,0x29,0x20,0x2b,0x20,0x28,0x5f,0x39,0x36,0x20,0x2a,0x20,0x31, - 0x2e,0x35,0x29,0x2c,0x20,0x28,0x5f,0x35,0x39,0x20,0x2a,0x20,0x30,0x2e,0x31,0x30, - 0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x34,0x39,0x30,0x31,0x31,0x36,0x31,0x31,0x39, - 0x33,0x38,0x34,0x37,0x36,0x35,0x36,0x32,0x35,0x29,0x20,0x2b,0x20,0x28,0x5f,0x39, - 0x36,0x20,0x2a,0x20,0x31,0x2e,0x37,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37,0x36, - 0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x29,0x29,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x76,0x5f,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x20, - 0x3d,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x34,0x5d, - 0x2e,0x78,0x79,0x7a,0x20,0x2d,0x20,0x76,0x65,0x63,0x33,0x28,0x5f,0x36,0x36,0x2c, - 0x20,0x77,0x61,0x74,0x65,0x72,0x5f,0x76,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73, - 0x5b,0x30,0x5d,0x2e,0x78,0x2c,0x20,0x5f,0x37,0x32,0x29,0x3b,0x0a,0x7d,0x0a,0x0a, - 0x00, + 0x79,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x37,0x35, + 0x20,0x3d,0x20,0x76,0x65,0x63,0x33,0x28,0x76,0x5f,0x78,0x7a,0x2e,0x78,0x2c,0x20, + 0x77,0x61,0x74,0x65,0x72,0x5f,0x76,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b, + 0x30,0x5d,0x2e,0x78,0x2c,0x20,0x76,0x5f,0x78,0x7a,0x2e,0x79,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x67,0x6c,0x5f,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x20,0x3d, + 0x20,0x6d,0x61,0x74,0x34,0x28,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d, + 0x73,0x5b,0x30,0x5d,0x2c,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d, + 0x73,0x5b,0x31,0x5d,0x2c,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d, + 0x73,0x5b,0x32,0x5d,0x2c,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d, + 0x73,0x5b,0x33,0x5d,0x29,0x20,0x2a,0x20,0x76,0x65,0x63,0x34,0x28,0x76,0x5f,0x78, + 0x7a,0x2e,0x78,0x2c,0x20,0x77,0x61,0x74,0x65,0x72,0x5f,0x76,0x73,0x5f,0x70,0x61, + 0x72,0x61,0x6d,0x73,0x5b,0x30,0x5d,0x2e,0x78,0x2c,0x20,0x76,0x5f,0x78,0x7a,0x2e, + 0x79,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x5f,0x74, + 0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x20,0x3d,0x20,0x76,0x69,0x65,0x77,0x5f, + 0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x38,0x5d,0x2e,0x78,0x79,0x7a,0x20,0x2d,0x20, + 0x5f,0x37,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x5f,0x77,0x6f,0x72,0x6c,0x64, + 0x20,0x3d,0x20,0x5f,0x37,0x35,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, ]; /* #version 300 es precision mediump float; precision highp int; - uniform highp vec4 water_fs_params[2]; - uniform highp sampler2D normals_normals_smp; - uniform highp sampler2D reflection_reflection_smp; - + uniform highp vec4 water_floor_params[1]; + layout(location = 1) out highp vec4 frag_glow; + layout(location = 2) out highp vec4 frag_scene; layout(location = 0) out highp vec4 frag_color; - in highp vec4 v_normal_uv; in highp vec3 v_to_camera; + in highp vec3 v_world; + in highp vec2 v_xz; + + void write_scene(highp vec3 to_camera, highp float glow) + { + frag_glow = vec4(glow); + frag_scene = vec4(length(to_camera)); + } void main() { - if (water_fs_params[0].w < 0.5) + frag_color = vec4(water_floor_params[0].xyz, 1.0); + highp vec3 param = v_to_camera; + highp float param_1 = 0.0; + write_scene(param, param_1); + } + +*/ +fs_water_floor_source_glsl300es := u8.[ + 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x33,0x30,0x30,0x20,0x65,0x73,0x0a, + 0x70,0x72,0x65,0x63,0x69,0x73,0x69,0x6f,0x6e,0x20,0x6d,0x65,0x64,0x69,0x75,0x6d, + 0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x3b,0x0a,0x70,0x72,0x65,0x63,0x69,0x73,0x69, + 0x6f,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x69,0x6e,0x74,0x3b,0x0a,0x0a,0x75, + 0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, + 0x34,0x20,0x77,0x61,0x74,0x65,0x72,0x5f,0x66,0x6c,0x6f,0x6f,0x72,0x5f,0x70,0x61, + 0x72,0x61,0x6d,0x73,0x5b,0x31,0x5d,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28, + 0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x31,0x29,0x20,0x6f,0x75, + 0x74,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x66,0x72,0x61, + 0x67,0x5f,0x67,0x6c,0x6f,0x77,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c, + 0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x32,0x29,0x20,0x6f,0x75,0x74, + 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x66,0x72,0x61,0x67, + 0x5f,0x73,0x63,0x65,0x6e,0x65,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c, + 0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x6f,0x75,0x74, + 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x66,0x72,0x61,0x67, + 0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70, + 0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72, + 0x61,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33, + 0x20,0x76,0x5f,0x77,0x6f,0x72,0x6c,0x64,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67, + 0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x76,0x5f,0x78,0x7a,0x3b,0x0a,0x0a,0x76, + 0x6f,0x69,0x64,0x20,0x77,0x72,0x69,0x74,0x65,0x5f,0x73,0x63,0x65,0x6e,0x65,0x28, + 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x74,0x6f,0x5f,0x63,0x61, + 0x6d,0x65,0x72,0x61,0x2c,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x67,0x6c,0x6f,0x77,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72, + 0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x67, + 0x6c,0x6f,0x77,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x73, + 0x63,0x65,0x6e,0x65,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x6c,0x65,0x6e,0x67, + 0x74,0x68,0x28,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x29,0x29,0x3b,0x0a, + 0x7d,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20, + 0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x77,0x61,0x74,0x65,0x72,0x5f,0x66,0x6c,0x6f, + 0x6f,0x72,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x30,0x5d,0x2e,0x78,0x79,0x7a, + 0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68, + 0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x76, + 0x5f,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x31,0x20,0x3d,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x77, + 0x72,0x69,0x74,0x65,0x5f,0x73,0x63,0x65,0x6e,0x65,0x28,0x70,0x61,0x72,0x61,0x6d, + 0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, + +]; +/* + #version 300 es + precision mediump float; + precision highp int; + + uniform highp vec4 shadow_params[4]; + uniform highp vec4 water_fs_params[4]; + uniform highp sampler2D normals_normals_smp; + uniform highp sampler2D reflection_reflection_smp; + uniform highp sampler2DShadow shadow_map_shadow_smp; + uniform highp sampler2D shadow_tint_shadow_tint_smp; + uniform highp sampler2D reflection_glow_reflection_smp; + + layout(location = 0) out highp vec4 frag_color; + layout(location = 1) out highp vec4 frag_glow; + in highp vec2 v_xz; + in highp vec3 v_to_camera; + in highp vec3 v_world; + + highp vec3 sun_shadow(highp vec3 world, highp vec3 normal) + { + highp vec3 _43 = normal * 0.03125; + highp vec4 _78 = mat4(shadow_params[0], shadow_params[1], shadow_params[2], shadow_params[3]) * vec4((((floor((world - _43) * 16.0) + vec3(0.5)) * vec3(0.0625)) + _43) + (normal * 0.0199999995529651641845703125), 1.0); + highp float _81 = _78.x; + bool _83 = _81 < 0.0; + bool _90; + if (!_83) { - frag_color = vec4(water_fs_params[0].xyz, 1.0); - return; + _90 = _81 > 1.0; } - highp vec3 _72 = normalize(((texture(normals_normals_smp, v_normal_uv.xy).xzy * 2.0) - vec3(1.0)) + ((texture(normals_normals_smp, v_normal_uv.zw).xzy * 2.0) - vec3(1.0))); - highp float _94 = min(1.0, (0.980000019073486328125 * pow(1.0 - max(dot(normalize(v_to_camera), _72), 0.0), 5.0)) + 0.4699999988079071044921875); - highp vec2 _109 = gl_FragCoord.xy / vec2(textureSize(reflection_reflection_smp, 0)); - _109.y = 1.0 - _109.y; - frag_color = vec4(mix(water_fs_params[0].xyz, texture(reflection_reflection_smp, _109 + (_72.xz * water_fs_params[1].y)).xyz, vec3(mix(_94, 1.0, water_fs_params[1].x))), mix(mix(0.300000011920928955078125, 0.5, _94), 1.0, water_fs_params[1].x)); + else + { + _90 = _83; + } + bool _97; + if (!_90) + { + _97 = _78.y < 0.0; + } + else + { + _97 = _90; + } + bool _104; + if (!_97) + { + _104 = _78.y > 1.0; + } + else + { + _104 = _97; + } + bool _111; + if (!_104) + { + _111 = _78.z > 1.0; + } + else + { + _111 = _104; + } + if (_111) + { + return vec3(1.0); + } + highp float _134 = _78.z - 0.0005000000237487256526947021484375; + return texture(shadow_tint_shadow_tint_smp, _78.xy).xyz * texture(shadow_map_shadow_smp, vec3(vec3(_81, _78.y, _134).xy, _134)); + } + + highp float brightest(highp vec3 c) + { + return max(c.x, max(c.y, c.z)); + } + + void write_transparent(highp vec4 color, highp float glow) + { + frag_color = color; + frag_glow = vec4(glow, 0.0, 0.0, color.w); + } + + void main() + { + highp vec2 _175 = vec2(-0.004999999888241291046142578125, -0.01200000010430812835693359375) * water_fs_params[2].w; + highp vec3 _217 = normalize(((texture(normals_normals_smp, (v_xz * 0.4000000059604644775390625) + (_175 * 1.5)).xzy * 2.0) - vec3(1.0)) + ((texture(normals_normals_smp, (v_xz * 0.100000001490116119384765625) + (_175 * 1.7000000476837158203125)).xzy * 2.0) - vec3(1.0))); + highp vec3 _222 = normalize(v_to_camera); + highp float _238 = min(1.0, (0.980000019073486328125 * pow(1.0 - max(dot(_222, _217), 0.0), 5.0)) + 0.4699999988079071044921875); + highp vec2 _253 = gl_FragCoord.xy / vec2(textureSize(reflection_reflection_smp, 0)); + highp vec2 _267 = vec2(_253.x, 1.0 - _253.y) + (_217.xz * water_fs_params[3].y); + highp float _280 = mix(_238, 1.0, water_fs_params[3].x); + highp vec3 param = v_world; + highp vec3 param_1 = vec3(0.0, 1.0, 0.0); + highp vec3 param_2 = sun_shadow(param, param_1); + highp float _324 = smoothstep(0.5, 0.550000011920928955078125, pow(max(dot(_217, normalize(_222 + water_fs_params[1].xyz)), 0.0), water_fs_params[1].w)) * brightest(param_2); + highp vec3 _341 = mix(mix(water_fs_params[0].xyz, texture(reflection_reflection_smp, _267).xyz, vec3(_280)), water_fs_params[2].xyz, vec3(_324)); + highp vec4 param_3 = vec4(_341, max(mix(mix(0.300000011920928955078125, 0.5, _238), 1.0, water_fs_params[3].x), _324)); + highp float param_4 = max(_324, texture(reflection_glow_reflection_smp, _267).x * _280); + write_transparent(param_3, param_4); } */ @@ -1304,85 +5157,235 @@ fs_water_source_glsl300es := u8.[ 0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x3b,0x0a,0x70,0x72,0x65,0x63,0x69,0x73,0x69, 0x6f,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x69,0x6e,0x74,0x3b,0x0a,0x0a,0x75, 0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, - 0x34,0x20,0x77,0x61,0x74,0x65,0x72,0x5f,0x66,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d, - 0x73,0x5b,0x32,0x5d,0x3b,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x68,0x69, - 0x67,0x68,0x70,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x6e,0x6f, - 0x72,0x6d,0x61,0x6c,0x73,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x73,0x5f,0x73,0x6d, - 0x70,0x3b,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x68,0x69,0x67,0x68,0x70, - 0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x72,0x65,0x66,0x6c,0x65, + 0x34,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b, + 0x34,0x5d,0x3b,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x68,0x69,0x67,0x68, + 0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x77,0x61,0x74,0x65,0x72,0x5f,0x66,0x73,0x5f, + 0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x34,0x5d,0x3b,0x0a,0x75,0x6e,0x69,0x66,0x6f, + 0x72,0x6d,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72, + 0x32,0x44,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x73,0x5f,0x6e,0x6f,0x72,0x6d,0x61, + 0x6c,0x73,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20, + 0x68,0x69,0x67,0x68,0x70,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x32,0x44,0x20, + 0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x72,0x65,0x66,0x6c,0x65, + 0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x75,0x6e,0x69,0x66,0x6f, + 0x72,0x6d,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72, + 0x32,0x44,0x53,0x68,0x61,0x64,0x6f,0x77,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f, + 0x6d,0x61,0x70,0x5f,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x73,0x6d,0x70,0x3b,0x0a, + 0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x73,0x61, + 0x6d,0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x74, + 0x69,0x6e,0x74,0x5f,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x74,0x69,0x6e,0x74,0x5f, + 0x73,0x6d,0x70,0x3b,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x68,0x69,0x67, + 0x68,0x70,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x72,0x65,0x66, + 0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x67,0x6c,0x6f,0x77,0x5f,0x72,0x65,0x66, + 0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x0a,0x6c,0x61, + 0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20, + 0x30,0x29,0x20,0x6f,0x75,0x74,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, + 0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x6c,0x61, + 0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20, + 0x31,0x29,0x20,0x6f,0x75,0x74,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, + 0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x3b,0x0a,0x69,0x6e,0x20, + 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x76,0x5f,0x78,0x7a,0x3b, + 0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x76, + 0x5f,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x3b,0x0a,0x69,0x6e,0x20,0x68, + 0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x77,0x6f,0x72,0x6c, + 0x64,0x3b,0x0a,0x0a,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x73, + 0x75,0x6e,0x5f,0x73,0x68,0x61,0x64,0x6f,0x77,0x28,0x68,0x69,0x67,0x68,0x70,0x20, + 0x76,0x65,0x63,0x33,0x20,0x77,0x6f,0x72,0x6c,0x64,0x2c,0x20,0x68,0x69,0x67,0x68, + 0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x29,0x0a,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20, + 0x5f,0x34,0x33,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x20,0x2a,0x20,0x30, + 0x2e,0x30,0x33,0x31,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68, + 0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x37,0x38,0x20,0x3d,0x20,0x6d,0x61,0x74, + 0x34,0x28,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b, + 0x30,0x5d,0x2c,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d, + 0x73,0x5b,0x31,0x5d,0x2c,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x70,0x61,0x72, + 0x61,0x6d,0x73,0x5b,0x32,0x5d,0x2c,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x70, + 0x61,0x72,0x61,0x6d,0x73,0x5b,0x33,0x5d,0x29,0x20,0x2a,0x20,0x76,0x65,0x63,0x34, + 0x28,0x28,0x28,0x28,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x28,0x77,0x6f,0x72,0x6c,0x64, + 0x20,0x2d,0x20,0x5f,0x34,0x33,0x29,0x20,0x2a,0x20,0x31,0x36,0x2e,0x30,0x29,0x20, + 0x2b,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x35,0x29,0x29,0x20,0x2a,0x20,0x76, + 0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x36,0x32,0x35,0x29,0x29,0x20,0x2b,0x20,0x5f, + 0x34,0x33,0x29,0x20,0x2b,0x20,0x28,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x20,0x2a,0x20, + 0x30,0x2e,0x30,0x31,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x35,0x35,0x32,0x39,0x36, + 0x35,0x31,0x36,0x34,0x31,0x38,0x34,0x35,0x37,0x30,0x33,0x31,0x32,0x35,0x29,0x2c, + 0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x38,0x31,0x20,0x3d,0x20,0x5f,0x37,0x38, + 0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x38,0x33, + 0x20,0x3d,0x20,0x5f,0x38,0x31,0x20,0x3c,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x39,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x69,0x66,0x20,0x28,0x21,0x5f,0x38,0x33,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x39,0x30,0x20,0x3d,0x20,0x5f,0x38, + 0x31,0x20,0x3e,0x20,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, + 0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x39,0x30,0x20,0x3d,0x20,0x5f,0x38,0x33,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20, + 0x5f,0x39,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x5f,0x39, + 0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x5f,0x39,0x37,0x20,0x3d,0x20,0x5f,0x37,0x38,0x2e,0x79,0x20,0x3c,0x20,0x30, + 0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c, + 0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x5f,0x39,0x37,0x20,0x3d,0x20,0x5f,0x39,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x7d,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x30,0x34,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x5f,0x39,0x37,0x29,0x0a,0x20, + 0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x30, + 0x34,0x20,0x3d,0x20,0x5f,0x37,0x38,0x2e,0x79,0x20,0x3e,0x20,0x31,0x2e,0x30,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a, + 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31, + 0x30,0x34,0x20,0x3d,0x20,0x5f,0x39,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a, + 0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x31,0x31,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x5f,0x31,0x30,0x34,0x29,0x0a,0x20,0x20, + 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x31,0x31, + 0x20,0x3d,0x20,0x5f,0x37,0x38,0x2e,0x7a,0x20,0x3e,0x20,0x31,0x2e,0x30,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20, + 0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x31, + 0x31,0x20,0x3d,0x20,0x5f,0x31,0x30,0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a, + 0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x31,0x31,0x29,0x0a,0x20,0x20, + 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75, + 0x72,0x6e,0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x20,0x5f,0x31,0x33,0x34,0x20,0x3d,0x20,0x5f,0x37,0x38,0x2e,0x7a, + 0x20,0x2d,0x20,0x30,0x2e,0x30,0x30,0x30,0x35,0x30,0x30,0x30,0x30,0x30,0x30,0x32, + 0x33,0x37,0x34,0x38,0x37,0x32,0x35,0x36,0x35,0x32,0x36,0x39,0x34,0x37,0x30,0x32, + 0x31,0x34,0x38,0x34,0x33,0x37,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74, + 0x75,0x72,0x6e,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x73,0x68,0x61,0x64, + 0x6f,0x77,0x5f,0x74,0x69,0x6e,0x74,0x5f,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x74, + 0x69,0x6e,0x74,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x5f,0x37,0x38,0x2e,0x78,0x79,0x29, + 0x2e,0x78,0x79,0x7a,0x20,0x2a,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x73, + 0x68,0x61,0x64,0x6f,0x77,0x5f,0x6d,0x61,0x70,0x5f,0x73,0x68,0x61,0x64,0x6f,0x77, + 0x5f,0x73,0x6d,0x70,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x76,0x65,0x63,0x33,0x28, + 0x5f,0x38,0x31,0x2c,0x20,0x5f,0x37,0x38,0x2e,0x79,0x2c,0x20,0x5f,0x31,0x33,0x34, + 0x29,0x2e,0x78,0x79,0x2c,0x20,0x5f,0x31,0x33,0x34,0x29,0x29,0x3b,0x0a,0x7d,0x0a, + 0x0a,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x62,0x72,0x69, + 0x67,0x68,0x74,0x65,0x73,0x74,0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, + 0x33,0x20,0x63,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72, + 0x6e,0x20,0x6d,0x61,0x78,0x28,0x63,0x2e,0x78,0x2c,0x20,0x6d,0x61,0x78,0x28,0x63, + 0x2e,0x79,0x2c,0x20,0x63,0x2e,0x7a,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x6f, + 0x69,0x64,0x20,0x77,0x72,0x69,0x74,0x65,0x5f,0x74,0x72,0x61,0x6e,0x73,0x70,0x61, + 0x72,0x65,0x6e,0x74,0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20, + 0x63,0x6f,0x6c,0x6f,0x72,0x2c,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x20,0x67,0x6c,0x6f,0x77,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x63,0x6f,0x6c,0x6f, + 0x72,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77, + 0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x67,0x6c,0x6f,0x77,0x2c,0x20,0x30,0x2e, + 0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x77,0x29, + 0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29, + 0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, + 0x32,0x20,0x5f,0x31,0x37,0x35,0x20,0x3d,0x20,0x76,0x65,0x63,0x32,0x28,0x2d,0x30, + 0x2e,0x30,0x30,0x34,0x39,0x39,0x39,0x39,0x39,0x39,0x38,0x38,0x38,0x32,0x34,0x31, + 0x32,0x39,0x31,0x30,0x34,0x36,0x31,0x34,0x32,0x35,0x37,0x38,0x31,0x32,0x35,0x2c, + 0x20,0x2d,0x30,0x2e,0x30,0x31,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x30,0x34, + 0x33,0x30,0x38,0x31,0x32,0x38,0x33,0x35,0x36,0x39,0x33,0x33,0x35,0x39,0x33,0x37, + 0x35,0x29,0x20,0x2a,0x20,0x77,0x61,0x74,0x65,0x72,0x5f,0x66,0x73,0x5f,0x70,0x61, + 0x72,0x61,0x6d,0x73,0x5b,0x32,0x5d,0x2e,0x77,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68, + 0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x31,0x37,0x20,0x3d, + 0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x28,0x28,0x74,0x65,0x78, + 0x74,0x75,0x72,0x65,0x28,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x73,0x5f,0x6e,0x6f,0x72, + 0x6d,0x61,0x6c,0x73,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x28,0x76,0x5f,0x78,0x7a,0x20, + 0x2a,0x20,0x30,0x2e,0x34,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x35,0x39,0x36,0x30, + 0x34,0x36,0x34,0x34,0x37,0x37,0x35,0x33,0x39,0x30,0x36,0x32,0x35,0x29,0x20,0x2b, + 0x20,0x28,0x5f,0x31,0x37,0x35,0x20,0x2a,0x20,0x31,0x2e,0x35,0x29,0x29,0x2e,0x78, + 0x7a,0x79,0x20,0x2a,0x20,0x32,0x2e,0x30,0x29,0x20,0x2d,0x20,0x76,0x65,0x63,0x33, + 0x28,0x31,0x2e,0x30,0x29,0x29,0x20,0x2b,0x20,0x28,0x28,0x74,0x65,0x78,0x74,0x75, + 0x72,0x65,0x28,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x73,0x5f,0x6e,0x6f,0x72,0x6d,0x61, + 0x6c,0x73,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x28,0x76,0x5f,0x78,0x7a,0x20,0x2a,0x20, + 0x30,0x2e,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x34,0x39,0x30,0x31,0x31, + 0x36,0x31,0x31,0x39,0x33,0x38,0x34,0x37,0x36,0x35,0x36,0x32,0x35,0x29,0x20,0x2b, + 0x20,0x28,0x5f,0x31,0x37,0x35,0x20,0x2a,0x20,0x31,0x2e,0x37,0x30,0x30,0x30,0x30, + 0x30,0x30,0x34,0x37,0x36,0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32, + 0x35,0x29,0x29,0x2e,0x78,0x7a,0x79,0x20,0x2a,0x20,0x32,0x2e,0x30,0x29,0x20,0x2d, + 0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x32, + 0x32,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x76,0x5f, + 0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x32,0x33,0x38, + 0x20,0x3d,0x20,0x6d,0x69,0x6e,0x28,0x31,0x2e,0x30,0x2c,0x20,0x28,0x30,0x2e,0x39, + 0x38,0x30,0x30,0x30,0x30,0x30,0x31,0x39,0x30,0x37,0x33,0x34,0x38,0x36,0x33,0x32, + 0x38,0x31,0x32,0x35,0x20,0x2a,0x20,0x70,0x6f,0x77,0x28,0x31,0x2e,0x30,0x20,0x2d, + 0x20,0x6d,0x61,0x78,0x28,0x64,0x6f,0x74,0x28,0x5f,0x32,0x32,0x32,0x2c,0x20,0x5f, + 0x32,0x31,0x37,0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x2c,0x20,0x35,0x2e,0x30,0x29, + 0x29,0x20,0x2b,0x20,0x30,0x2e,0x34,0x36,0x39,0x39,0x39,0x39,0x39,0x39,0x38,0x38, + 0x30,0x37,0x39,0x30,0x37,0x31,0x30,0x34,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32, + 0x20,0x5f,0x32,0x35,0x33,0x20,0x3d,0x20,0x67,0x6c,0x5f,0x46,0x72,0x61,0x67,0x43, + 0x6f,0x6f,0x72,0x64,0x2e,0x78,0x79,0x20,0x2f,0x20,0x76,0x65,0x63,0x32,0x28,0x74, + 0x65,0x78,0x74,0x75,0x72,0x65,0x53,0x69,0x7a,0x65,0x28,0x72,0x65,0x66,0x6c,0x65, 0x63,0x74,0x69,0x6f,0x6e,0x5f,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e, - 0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f, - 0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x6f,0x75,0x74,0x20, - 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x66,0x72,0x61,0x67,0x5f, - 0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20, - 0x76,0x65,0x63,0x34,0x20,0x76,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x5f,0x75,0x76, - 0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20, - 0x76,0x5f,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x3b,0x0a,0x0a,0x76,0x6f, - 0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20, - 0x69,0x66,0x20,0x28,0x77,0x61,0x74,0x65,0x72,0x5f,0x66,0x73,0x5f,0x70,0x61,0x72, - 0x61,0x6d,0x73,0x5b,0x30,0x5d,0x2e,0x77,0x20,0x3c,0x20,0x30,0x2e,0x35,0x29,0x0a, - 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x72, - 0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28, - 0x77,0x61,0x74,0x65,0x72,0x5f,0x66,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b, - 0x30,0x5d,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, - 0x63,0x33,0x20,0x5f,0x37,0x32,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69, - 0x7a,0x65,0x28,0x28,0x28,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x6e,0x6f,0x72, - 0x6d,0x61,0x6c,0x73,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x73,0x5f,0x73,0x6d,0x70, - 0x2c,0x20,0x76,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x5f,0x75,0x76,0x2e,0x78,0x79, - 0x29,0x2e,0x78,0x7a,0x79,0x20,0x2a,0x20,0x32,0x2e,0x30,0x29,0x20,0x2d,0x20,0x76, - 0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x29,0x29,0x20,0x2b,0x20,0x28,0x28,0x74,0x65, - 0x78,0x74,0x75,0x72,0x65,0x28,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x73,0x5f,0x6e,0x6f, - 0x72,0x6d,0x61,0x6c,0x73,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x76,0x5f,0x6e,0x6f,0x72, - 0x6d,0x61,0x6c,0x5f,0x75,0x76,0x2e,0x7a,0x77,0x29,0x2e,0x78,0x7a,0x79,0x20,0x2a, - 0x20,0x32,0x2e,0x30,0x29,0x20,0x2d,0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30, - 0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x20,0x5f,0x39,0x34,0x20,0x3d,0x20,0x6d,0x69,0x6e,0x28,0x31, - 0x2e,0x30,0x2c,0x20,0x28,0x30,0x2e,0x39,0x38,0x30,0x30,0x30,0x30,0x30,0x31,0x39, - 0x30,0x37,0x33,0x34,0x38,0x36,0x33,0x32,0x38,0x31,0x32,0x35,0x20,0x2a,0x20,0x70, - 0x6f,0x77,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x6d,0x61,0x78,0x28,0x64,0x6f,0x74, - 0x28,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x76,0x5f,0x74,0x6f,0x5f, - 0x63,0x61,0x6d,0x65,0x72,0x61,0x29,0x2c,0x20,0x5f,0x37,0x32,0x29,0x2c,0x20,0x30, - 0x2e,0x30,0x29,0x2c,0x20,0x35,0x2e,0x30,0x29,0x29,0x20,0x2b,0x20,0x30,0x2e,0x34, - 0x36,0x39,0x39,0x39,0x39,0x39,0x39,0x38,0x38,0x30,0x37,0x39,0x30,0x37,0x31,0x30, - 0x34,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68, - 0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x31,0x30,0x39,0x20,0x3d, - 0x20,0x67,0x6c,0x5f,0x46,0x72,0x61,0x67,0x43,0x6f,0x6f,0x72,0x64,0x2e,0x78,0x79, - 0x20,0x2f,0x20,0x76,0x65,0x63,0x32,0x28,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x53, - 0x69,0x7a,0x65,0x28,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x72, - 0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x30, - 0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x5f,0x31,0x30,0x39,0x2e,0x79,0x20,0x3d, - 0x20,0x31,0x2e,0x30,0x20,0x2d,0x20,0x5f,0x31,0x30,0x39,0x2e,0x79,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20, - 0x76,0x65,0x63,0x34,0x28,0x6d,0x69,0x78,0x28,0x77,0x61,0x74,0x65,0x72,0x5f,0x66, - 0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x30,0x5d,0x2e,0x78,0x79,0x7a,0x2c, - 0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x72,0x65,0x66,0x6c,0x65,0x63,0x74, - 0x69,0x6f,0x6e,0x5f,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73, - 0x6d,0x70,0x2c,0x20,0x5f,0x31,0x30,0x39,0x20,0x2b,0x20,0x28,0x5f,0x37,0x32,0x2e, - 0x78,0x7a,0x20,0x2a,0x20,0x77,0x61,0x74,0x65,0x72,0x5f,0x66,0x73,0x5f,0x70,0x61, - 0x72,0x61,0x6d,0x73,0x5b,0x31,0x5d,0x2e,0x79,0x29,0x29,0x2e,0x78,0x79,0x7a,0x2c, - 0x20,0x76,0x65,0x63,0x33,0x28,0x6d,0x69,0x78,0x28,0x5f,0x39,0x34,0x2c,0x20,0x31, - 0x2e,0x30,0x2c,0x20,0x77,0x61,0x74,0x65,0x72,0x5f,0x66,0x73,0x5f,0x70,0x61,0x72, - 0x61,0x6d,0x73,0x5b,0x31,0x5d,0x2e,0x78,0x29,0x29,0x29,0x2c,0x20,0x6d,0x69,0x78, - 0x28,0x6d,0x69,0x78,0x28,0x30,0x2e,0x33,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31, - 0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x2c, - 0x20,0x30,0x2e,0x35,0x2c,0x20,0x5f,0x39,0x34,0x29,0x2c,0x20,0x31,0x2e,0x30,0x2c, - 0x20,0x77,0x61,0x74,0x65,0x72,0x5f,0x66,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73, - 0x5b,0x31,0x5d,0x2e,0x78,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, + 0x5f,0x73,0x6d,0x70,0x2c,0x20,0x30,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68, + 0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x32,0x36,0x37,0x20,0x3d, + 0x20,0x76,0x65,0x63,0x32,0x28,0x5f,0x32,0x35,0x33,0x2e,0x78,0x2c,0x20,0x31,0x2e, + 0x30,0x20,0x2d,0x20,0x5f,0x32,0x35,0x33,0x2e,0x79,0x29,0x20,0x2b,0x20,0x28,0x5f, + 0x32,0x31,0x37,0x2e,0x78,0x7a,0x20,0x2a,0x20,0x77,0x61,0x74,0x65,0x72,0x5f,0x66, + 0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x33,0x5d,0x2e,0x79,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, + 0x5f,0x32,0x38,0x30,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x5f,0x32,0x33,0x38,0x2c, + 0x20,0x31,0x2e,0x30,0x2c,0x20,0x77,0x61,0x74,0x65,0x72,0x5f,0x66,0x73,0x5f,0x70, + 0x61,0x72,0x61,0x6d,0x73,0x5b,0x33,0x5d,0x2e,0x78,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61, + 0x6d,0x20,0x3d,0x20,0x76,0x5f,0x77,0x6f,0x72,0x6c,0x64,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x31,0x20,0x3d,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20, + 0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68, + 0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x32,0x20,0x3d,0x20,0x73,0x75,0x6e,0x5f,0x73,0x68,0x61,0x64,0x6f,0x77,0x28,0x70, + 0x61,0x72,0x61,0x6d,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, + 0x5f,0x33,0x32,0x34,0x20,0x3d,0x20,0x73,0x6d,0x6f,0x6f,0x74,0x68,0x73,0x74,0x65, + 0x70,0x28,0x30,0x2e,0x35,0x2c,0x20,0x30,0x2e,0x35,0x35,0x30,0x30,0x30,0x30,0x30, + 0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32, + 0x35,0x2c,0x20,0x70,0x6f,0x77,0x28,0x6d,0x61,0x78,0x28,0x64,0x6f,0x74,0x28,0x5f, + 0x32,0x31,0x37,0x2c,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x5f, + 0x32,0x32,0x32,0x20,0x2b,0x20,0x77,0x61,0x74,0x65,0x72,0x5f,0x66,0x73,0x5f,0x70, + 0x61,0x72,0x61,0x6d,0x73,0x5b,0x31,0x5d,0x2e,0x78,0x79,0x7a,0x29,0x29,0x2c,0x20, + 0x30,0x2e,0x30,0x29,0x2c,0x20,0x77,0x61,0x74,0x65,0x72,0x5f,0x66,0x73,0x5f,0x70, + 0x61,0x72,0x61,0x6d,0x73,0x5b,0x31,0x5d,0x2e,0x77,0x29,0x29,0x20,0x2a,0x20,0x62, + 0x72,0x69,0x67,0x68,0x74,0x65,0x73,0x74,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, + 0x33,0x20,0x5f,0x33,0x34,0x31,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x6d,0x69,0x78, + 0x28,0x77,0x61,0x74,0x65,0x72,0x5f,0x66,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73, + 0x5b,0x30,0x5d,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65, + 0x28,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x72,0x65,0x66,0x6c, + 0x65,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x5f,0x32,0x36,0x37, + 0x29,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x5f,0x32,0x38,0x30, + 0x29,0x29,0x2c,0x20,0x77,0x61,0x74,0x65,0x72,0x5f,0x66,0x73,0x5f,0x70,0x61,0x72, + 0x61,0x6d,0x73,0x5b,0x32,0x5d,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x76,0x65,0x63,0x33, + 0x28,0x5f,0x33,0x32,0x34,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67, + 0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x20, + 0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x5f,0x33,0x34,0x31,0x2c,0x20,0x6d,0x61,0x78, + 0x28,0x6d,0x69,0x78,0x28,0x6d,0x69,0x78,0x28,0x30,0x2e,0x33,0x30,0x30,0x30,0x30, + 0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38, + 0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x35,0x2c,0x20,0x5f,0x32,0x33,0x38,0x29,0x2c, + 0x20,0x31,0x2e,0x30,0x2c,0x20,0x77,0x61,0x74,0x65,0x72,0x5f,0x66,0x73,0x5f,0x70, + 0x61,0x72,0x61,0x6d,0x73,0x5b,0x33,0x5d,0x2e,0x78,0x29,0x2c,0x20,0x5f,0x33,0x32, + 0x34,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x20,0x3d,0x20,0x6d, + 0x61,0x78,0x28,0x5f,0x33,0x32,0x34,0x2c,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65, + 0x28,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x67,0x6c,0x6f,0x77, + 0x5f,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6d,0x70,0x2c, + 0x20,0x5f,0x32,0x36,0x37,0x29,0x2e,0x78,0x20,0x2a,0x20,0x5f,0x32,0x38,0x30,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x77,0x72,0x69,0x74,0x65,0x5f,0x74,0x72,0x61,0x6e, + 0x73,0x70,0x61,0x72,0x65,0x6e,0x74,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x2c, + 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, ]; /* #version 300 es const vec2 _23[6] = vec2[](vec2(0.0), vec2(1.0, 0.0), vec2(1.0), vec2(0.0), vec2(1.0), vec2(0.0, 1.0)); - uniform vec4 view_params[6]; + uniform vec4 view_params[13]; + uniform vec4 sprite_params[1]; layout(location = 3) in vec3 face; layout(location = 0) in vec3 center; layout(location = 1) in vec2 size; out float v_clip; + out vec3 v_to_camera; out vec2 v_uv; layout(location = 2) in vec4 uv_rect; + out vec4 v_color; + layout(location = 4) in vec4 color; + out float v_glow; + layout(location = 5) in float glow; + out vec3 v_sun; + out vec3 v_shade; + out vec3 v_anchor; vec2 quad_corner(int vertex_index) { @@ -1396,7 +5399,7 @@ fs_water_source_glsl300es := u8.[ vec3 look = face; if (face.x < (-10.0)) { - look = vec3(center.x - view_params[4].x, 0.0, center.z - view_params[4].z); + look = vec3(center.x - view_params[8].x, 0.0, center.z - view_params[8].z); } if (dot(look.xz, look.xz) < 9.9999997473787516355514526367188e-05) { @@ -1404,14 +5407,40 @@ fs_water_source_glsl300es := u8.[ } float _93 = _37.x; float _105 = _37.y; - vec4 _123 = vec4((center + (normalize(cross(vec3(0.0, 1.0, 0.0), look)) * ((_93 - 0.5) * size.x))) + vec3(0.0, _105 * size.y, 0.0), 1.0); + vec3 _110 = (center + (normalize(cross(vec3(0.0, 1.0, 0.0), look)) * ((_93 - 0.5) * size.x))) + vec3(0.0, _105 * size.y, 0.0); + vec4 _123 = vec4(_110, 1.0); gl_Position = mat4(view_params[0], view_params[1], view_params[2], view_params[3]) * _123; - v_clip = dot(_123, view_params[5]); + v_clip = dot(_123, view_params[9]); + v_to_camera = view_params[8].xyz - _110; v_uv = vec2(uv_rect.x + (_93 * uv_rect.z), uv_rect.y + ((1.0 - _105) * uv_rect.w)); + v_color = color; + v_glow = glow; + bool _181 = sprite_params[0].x > 0.5; + vec3 _182; + if (_181) + { + _182 = view_params[11].xyz; + } + else + { + _182 = vec3(1.0); + } + v_sun = _182; + vec3 _196; + if (_181) + { + _196 = view_params[12].xyz; + } + else + { + _196 = vec3(1.0); + } + v_shade = _196; + v_anchor = (center + vec3(0.0, size.y * 0.5, 0.0)) + (view_params[10].xyz * 0.300000011920928955078125); } */ -vs_billboard_source_glsl300es := u8.[ +vs_sprite_source_glsl300es := u8.[ 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x33,0x30,0x30,0x20,0x65,0x73,0x0a, 0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x32,0x33,0x5b, 0x36,0x5d,0x20,0x3d,0x20,0x76,0x65,0x63,0x32,0x5b,0x5d,0x28,0x76,0x65,0x63,0x32, @@ -1421,7 +5450,9 @@ vs_billboard_source_glsl300es := u8.[ 0x32,0x28,0x31,0x2e,0x30,0x29,0x2c,0x20,0x76,0x65,0x63,0x32,0x28,0x30,0x2e,0x30, 0x2c,0x20,0x31,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72, 0x6d,0x20,0x76,0x65,0x63,0x34,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61, - 0x6d,0x73,0x5b,0x36,0x5d,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f, + 0x6d,0x73,0x5b,0x31,0x33,0x5d,0x3b,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20, + 0x76,0x65,0x63,0x34,0x20,0x73,0x70,0x72,0x69,0x74,0x65,0x5f,0x70,0x61,0x72,0x61, + 0x6d,0x73,0x5b,0x31,0x5d,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f, 0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x33,0x29,0x20,0x69,0x6e,0x20,0x76, 0x65,0x63,0x33,0x20,0x66,0x61,0x63,0x65,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74, 0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x69, @@ -1429,62 +5460,360 @@ vs_billboard_source_glsl300es := u8.[ 0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d, 0x20,0x31,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x32,0x20,0x73,0x69,0x7a,0x65, 0x3b,0x0a,0x6f,0x75,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x63,0x6c, - 0x69,0x70,0x3b,0x0a,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x32,0x20,0x76,0x5f,0x75, - 0x76,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69, - 0x6f,0x6e,0x20,0x3d,0x20,0x32,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x34,0x20, - 0x75,0x76,0x5f,0x72,0x65,0x63,0x74,0x3b,0x0a,0x0a,0x76,0x65,0x63,0x32,0x20,0x71, - 0x75,0x61,0x64,0x5f,0x63,0x6f,0x72,0x6e,0x65,0x72,0x28,0x69,0x6e,0x74,0x20,0x76, - 0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x6e,0x64,0x65,0x78,0x29,0x0a,0x7b,0x0a,0x20, - 0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x5f,0x32,0x33,0x5b,0x76,0x65, - 0x72,0x74,0x65,0x78,0x5f,0x69,0x6e,0x64,0x65,0x78,0x5d,0x3b,0x0a,0x7d,0x0a,0x0a, - 0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20, - 0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x67,0x6c, - 0x5f,0x56,0x65,0x72,0x74,0x65,0x78,0x49,0x44,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76, - 0x65,0x63,0x32,0x20,0x5f,0x33,0x37,0x20,0x3d,0x20,0x71,0x75,0x61,0x64,0x5f,0x63, - 0x6f,0x72,0x6e,0x65,0x72,0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x6c,0x6f,0x6f,0x6b,0x20,0x3d,0x20,0x66,0x61, - 0x63,0x65,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x66,0x61,0x63,0x65, - 0x2e,0x78,0x20,0x3c,0x20,0x28,0x2d,0x31,0x30,0x2e,0x30,0x29,0x29,0x0a,0x20,0x20, - 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6c,0x6f,0x6f,0x6b, - 0x20,0x3d,0x20,0x76,0x65,0x63,0x33,0x28,0x63,0x65,0x6e,0x74,0x65,0x72,0x2e,0x78, - 0x20,0x2d,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x34, - 0x5d,0x2e,0x78,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x63,0x65,0x6e,0x74,0x65,0x72, - 0x2e,0x7a,0x20,0x2d,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73, - 0x5b,0x34,0x5d,0x2e,0x7a,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20, - 0x20,0x20,0x69,0x66,0x20,0x28,0x64,0x6f,0x74,0x28,0x6c,0x6f,0x6f,0x6b,0x2e,0x78, - 0x7a,0x2c,0x20,0x6c,0x6f,0x6f,0x6b,0x2e,0x78,0x7a,0x29,0x20,0x3c,0x20,0x39,0x2e, - 0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x34,0x37,0x33,0x37,0x38,0x37,0x35,0x31,0x36, - 0x33,0x35,0x35,0x35,0x31,0x34,0x35,0x32,0x36,0x33,0x36,0x37,0x31,0x38,0x38,0x65, - 0x2d,0x30,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x6c,0x6f,0x6f,0x6b,0x20,0x3d,0x20,0x76,0x65,0x63,0x33,0x28,0x30, - 0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f, - 0x39,0x33,0x20,0x3d,0x20,0x5f,0x33,0x37,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x30,0x35,0x20,0x3d,0x20,0x5f,0x33,0x37, - 0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x31,0x32, - 0x33,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x28,0x63,0x65,0x6e,0x74,0x65,0x72, - 0x20,0x2b,0x20,0x28,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x63,0x72, - 0x6f,0x73,0x73,0x28,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e, - 0x30,0x2c,0x20,0x30,0x2e,0x30,0x29,0x2c,0x20,0x6c,0x6f,0x6f,0x6b,0x29,0x29,0x20, - 0x2a,0x20,0x28,0x28,0x5f,0x39,0x33,0x20,0x2d,0x20,0x30,0x2e,0x35,0x29,0x20,0x2a, - 0x20,0x73,0x69,0x7a,0x65,0x2e,0x78,0x29,0x29,0x29,0x20,0x2b,0x20,0x76,0x65,0x63, - 0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x5f,0x31,0x30,0x35,0x20,0x2a,0x20,0x73,0x69, - 0x7a,0x65,0x2e,0x79,0x2c,0x20,0x30,0x2e,0x30,0x29,0x2c,0x20,0x31,0x2e,0x30,0x29, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x67,0x6c,0x5f,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f, - 0x6e,0x20,0x3d,0x20,0x6d,0x61,0x74,0x34,0x28,0x76,0x69,0x65,0x77,0x5f,0x70,0x61, - 0x72,0x61,0x6d,0x73,0x5b,0x30,0x5d,0x2c,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61, - 0x72,0x61,0x6d,0x73,0x5b,0x31,0x5d,0x2c,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61, - 0x72,0x61,0x6d,0x73,0x5b,0x32,0x5d,0x2c,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61, - 0x72,0x61,0x6d,0x73,0x5b,0x33,0x5d,0x29,0x20,0x2a,0x20,0x5f,0x31,0x32,0x33,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x76,0x5f,0x63,0x6c,0x69,0x70,0x20,0x3d,0x20,0x64,0x6f, - 0x74,0x28,0x5f,0x31,0x32,0x33,0x2c,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72, - 0x61,0x6d,0x73,0x5b,0x35,0x5d,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x5f,0x75, - 0x76,0x20,0x3d,0x20,0x76,0x65,0x63,0x32,0x28,0x75,0x76,0x5f,0x72,0x65,0x63,0x74, - 0x2e,0x78,0x20,0x2b,0x20,0x28,0x5f,0x39,0x33,0x20,0x2a,0x20,0x75,0x76,0x5f,0x72, - 0x65,0x63,0x74,0x2e,0x7a,0x29,0x2c,0x20,0x75,0x76,0x5f,0x72,0x65,0x63,0x74,0x2e, - 0x79,0x20,0x2b,0x20,0x28,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x5f,0x31,0x30,0x35, - 0x29,0x20,0x2a,0x20,0x75,0x76,0x5f,0x72,0x65,0x63,0x74,0x2e,0x77,0x29,0x29,0x3b, - 0x0a,0x7d,0x0a,0x0a,0x00, + 0x69,0x70,0x3b,0x0a,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x74, + 0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x3b,0x0a,0x6f,0x75,0x74,0x20,0x76,0x65, + 0x63,0x32,0x20,0x76,0x5f,0x75,0x76,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28, + 0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x32,0x29,0x20,0x69,0x6e, + 0x20,0x76,0x65,0x63,0x34,0x20,0x75,0x76,0x5f,0x72,0x65,0x63,0x74,0x3b,0x0a,0x6f, + 0x75,0x74,0x20,0x76,0x65,0x63,0x34,0x20,0x76,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b, + 0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e, + 0x20,0x3d,0x20,0x34,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x34,0x20,0x63,0x6f, + 0x6c,0x6f,0x72,0x3b,0x0a,0x6f,0x75,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76, + 0x5f,0x67,0x6c,0x6f,0x77,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f, + 0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x35,0x29,0x20,0x69,0x6e,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x20,0x67,0x6c,0x6f,0x77,0x3b,0x0a,0x6f,0x75,0x74,0x20,0x76, + 0x65,0x63,0x33,0x20,0x76,0x5f,0x73,0x75,0x6e,0x3b,0x0a,0x6f,0x75,0x74,0x20,0x76, + 0x65,0x63,0x33,0x20,0x76,0x5f,0x73,0x68,0x61,0x64,0x65,0x3b,0x0a,0x6f,0x75,0x74, + 0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x61,0x6e,0x63,0x68,0x6f,0x72,0x3b,0x0a, + 0x0a,0x76,0x65,0x63,0x32,0x20,0x71,0x75,0x61,0x64,0x5f,0x63,0x6f,0x72,0x6e,0x65, + 0x72,0x28,0x69,0x6e,0x74,0x20,0x76,0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x6e,0x64, + 0x65,0x78,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e, + 0x20,0x5f,0x32,0x33,0x5b,0x76,0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x6e,0x64,0x65, + 0x78,0x5d,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e, + 0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72, + 0x61,0x6d,0x20,0x3d,0x20,0x67,0x6c,0x5f,0x56,0x65,0x72,0x74,0x65,0x78,0x49,0x44, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x33,0x37,0x20,0x3d, + 0x20,0x71,0x75,0x61,0x64,0x5f,0x63,0x6f,0x72,0x6e,0x65,0x72,0x28,0x70,0x61,0x72, + 0x61,0x6d,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x33,0x20,0x6c,0x6f, + 0x6f,0x6b,0x20,0x3d,0x20,0x66,0x61,0x63,0x65,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69, + 0x66,0x20,0x28,0x66,0x61,0x63,0x65,0x2e,0x78,0x20,0x3c,0x20,0x28,0x2d,0x31,0x30, + 0x2e,0x30,0x29,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x6c,0x6f,0x6f,0x6b,0x20,0x3d,0x20,0x76,0x65,0x63,0x33,0x28,0x63, + 0x65,0x6e,0x74,0x65,0x72,0x2e,0x78,0x20,0x2d,0x20,0x76,0x69,0x65,0x77,0x5f,0x70, + 0x61,0x72,0x61,0x6d,0x73,0x5b,0x38,0x5d,0x2e,0x78,0x2c,0x20,0x30,0x2e,0x30,0x2c, + 0x20,0x63,0x65,0x6e,0x74,0x65,0x72,0x2e,0x7a,0x20,0x2d,0x20,0x76,0x69,0x65,0x77, + 0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x38,0x5d,0x2e,0x7a,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x64,0x6f,0x74, + 0x28,0x6c,0x6f,0x6f,0x6b,0x2e,0x78,0x7a,0x2c,0x20,0x6c,0x6f,0x6f,0x6b,0x2e,0x78, + 0x7a,0x29,0x20,0x3c,0x20,0x39,0x2e,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x34,0x37, + 0x33,0x37,0x38,0x37,0x35,0x31,0x36,0x33,0x35,0x35,0x35,0x31,0x34,0x35,0x32,0x36, + 0x33,0x36,0x37,0x31,0x38,0x38,0x65,0x2d,0x30,0x35,0x29,0x0a,0x20,0x20,0x20,0x20, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6c,0x6f,0x6f,0x6b,0x20,0x3d, + 0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20, + 0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x39,0x33,0x20,0x3d,0x20,0x5f,0x33,0x37,0x2e, + 0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x30, + 0x35,0x20,0x3d,0x20,0x5f,0x33,0x37,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76, + 0x65,0x63,0x33,0x20,0x5f,0x31,0x31,0x30,0x20,0x3d,0x20,0x28,0x63,0x65,0x6e,0x74, + 0x65,0x72,0x20,0x2b,0x20,0x28,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28, + 0x63,0x72,0x6f,0x73,0x73,0x28,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20, + 0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x29,0x2c,0x20,0x6c,0x6f,0x6f,0x6b,0x29, + 0x29,0x20,0x2a,0x20,0x28,0x28,0x5f,0x39,0x33,0x20,0x2d,0x20,0x30,0x2e,0x35,0x29, + 0x20,0x2a,0x20,0x73,0x69,0x7a,0x65,0x2e,0x78,0x29,0x29,0x29,0x20,0x2b,0x20,0x76, + 0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x5f,0x31,0x30,0x35,0x20,0x2a,0x20, + 0x73,0x69,0x7a,0x65,0x2e,0x79,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x31,0x32,0x33,0x20,0x3d,0x20,0x76,0x65, + 0x63,0x34,0x28,0x5f,0x31,0x31,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x67,0x6c,0x5f,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x20,0x3d, + 0x20,0x6d,0x61,0x74,0x34,0x28,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d, + 0x73,0x5b,0x30,0x5d,0x2c,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d, + 0x73,0x5b,0x31,0x5d,0x2c,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d, + 0x73,0x5b,0x32,0x5d,0x2c,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d, + 0x73,0x5b,0x33,0x5d,0x29,0x20,0x2a,0x20,0x5f,0x31,0x32,0x33,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x76,0x5f,0x63,0x6c,0x69,0x70,0x20,0x3d,0x20,0x64,0x6f,0x74,0x28,0x5f, + 0x31,0x32,0x33,0x2c,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73, + 0x5b,0x39,0x5d,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x5f,0x74,0x6f,0x5f,0x63, + 0x61,0x6d,0x65,0x72,0x61,0x20,0x3d,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72, + 0x61,0x6d,0x73,0x5b,0x38,0x5d,0x2e,0x78,0x79,0x7a,0x20,0x2d,0x20,0x5f,0x31,0x31, + 0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x5f,0x75,0x76,0x20,0x3d,0x20,0x76,0x65, + 0x63,0x32,0x28,0x75,0x76,0x5f,0x72,0x65,0x63,0x74,0x2e,0x78,0x20,0x2b,0x20,0x28, + 0x5f,0x39,0x33,0x20,0x2a,0x20,0x75,0x76,0x5f,0x72,0x65,0x63,0x74,0x2e,0x7a,0x29, + 0x2c,0x20,0x75,0x76,0x5f,0x72,0x65,0x63,0x74,0x2e,0x79,0x20,0x2b,0x20,0x28,0x28, + 0x31,0x2e,0x30,0x20,0x2d,0x20,0x5f,0x31,0x30,0x35,0x29,0x20,0x2a,0x20,0x75,0x76, + 0x5f,0x72,0x65,0x63,0x74,0x2e,0x77,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76, + 0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x76,0x5f,0x67,0x6c,0x6f,0x77,0x20,0x3d,0x20,0x67,0x6c,0x6f, + 0x77,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x38,0x31, + 0x20,0x3d,0x20,0x73,0x70,0x72,0x69,0x74,0x65,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73, + 0x5b,0x30,0x5d,0x2e,0x78,0x20,0x3e,0x20,0x30,0x2e,0x35,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x31,0x38,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x69,0x66,0x20,0x28,0x5f,0x31,0x38,0x31,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x38,0x32,0x20,0x3d,0x20,0x76, + 0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x31,0x31,0x5d,0x2e,0x78, + 0x79,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c, + 0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x5f,0x31,0x38,0x32,0x20,0x3d,0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x76,0x5f,0x73, + 0x75,0x6e,0x20,0x3d,0x20,0x5f,0x31,0x38,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76, + 0x65,0x63,0x33,0x20,0x5f,0x31,0x39,0x36,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66, + 0x20,0x28,0x5f,0x31,0x38,0x31,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x39,0x36,0x20,0x3d,0x20,0x76,0x69,0x65, + 0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x31,0x32,0x5d,0x2e,0x78,0x79,0x7a, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65, + 0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f, + 0x31,0x39,0x36,0x20,0x3d,0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x76,0x5f,0x73,0x68,0x61, + 0x64,0x65,0x20,0x3d,0x20,0x5f,0x31,0x39,0x36,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76, + 0x5f,0x61,0x6e,0x63,0x68,0x6f,0x72,0x20,0x3d,0x20,0x28,0x63,0x65,0x6e,0x74,0x65, + 0x72,0x20,0x2b,0x20,0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x73,0x69, + 0x7a,0x65,0x2e,0x79,0x20,0x2a,0x20,0x30,0x2e,0x35,0x2c,0x20,0x30,0x2e,0x30,0x29, + 0x29,0x20,0x2b,0x20,0x28,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73, + 0x5b,0x31,0x30,0x5d,0x2e,0x78,0x79,0x7a,0x20,0x2a,0x20,0x30,0x2e,0x33,0x30,0x30, + 0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30, + 0x37,0x38,0x31,0x32,0x35,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, +]; +/* + #version 300 es + precision mediump float; + precision highp int; + + uniform highp vec4 shadow_params[4]; + uniform highp sampler2DShadow shadow_map_shadow_smp; + uniform highp sampler2D shadow_tint_shadow_tint_smp; + uniform highp sampler2D sprite_sprite_smp; + + layout(location = 1) out highp vec4 frag_glow; + layout(location = 2) out highp vec4 frag_scene; + in highp float v_clip; + in highp vec2 v_uv; + in highp vec4 v_color; + in highp vec3 v_shade; + in highp vec3 v_sun; + in highp vec3 v_anchor; + layout(location = 0) out highp vec4 frag_color; + in highp vec3 v_to_camera; + in highp float v_glow; + + highp vec3 sun_shadow(highp vec3 world, highp vec3 normal) + { + highp vec3 _35 = normal * 0.03125; + highp vec4 _71 = mat4(shadow_params[0], shadow_params[1], shadow_params[2], shadow_params[3]) * vec4((((floor((world - _35) * 16.0) + vec3(0.5)) * vec3(0.0625)) + _35) + (normal * 0.0199999995529651641845703125), 1.0); + highp float _76 = _71.x; + bool _78 = _76 < 0.0; + bool _85; + if (!_78) + { + _85 = _76 > 1.0; + } + else + { + _85 = _78; + } + bool _93; + if (!_85) + { + _93 = _71.y < 0.0; + } + else + { + _93 = _85; + } + bool _100; + if (!_93) + { + _100 = _71.y > 1.0; + } + else + { + _100 = _93; + } + bool _108; + if (!_100) + { + _108 = _71.z > 1.0; + } + else + { + _108 = _100; + } + if (_108) + { + return vec3(1.0); + } + highp float _131 = _71.z - 0.0005000000237487256526947021484375; + return texture(shadow_tint_shadow_tint_smp, _71.xy).xyz * texture(shadow_map_shadow_smp, vec3(vec3(_76, _71.y, _131).xy, _131)); + } + + highp vec4 sprite_color() + { + if (v_clip < 0.0) + { + discard; + } + highp vec4 _167 = texture(sprite_sprite_smp, v_uv); + if (_167.w < 0.00999999977648258209228515625) + { + discard; + } + return _167 * v_color; + } + + void write_scene(highp vec3 to_camera, highp float glow) + { + frag_glow = vec4(glow); + frag_scene = vec4(length(to_camera)); + } + + void main() + { + highp vec3 param = v_anchor; + highp vec3 param_1 = vec3(0.0, 1.0, 0.0); + highp vec4 _197 = sprite_color(); + frag_color = _197 * vec4(mix(v_shade, v_sun, sun_shadow(param, param_1)), 1.0); + highp vec3 param_2 = v_to_camera; + highp float param_3 = 0.0; + write_scene(param_2, param_3); + } + +*/ +fs_sprite_source_glsl300es := u8.[ + 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x33,0x30,0x30,0x20,0x65,0x73,0x0a, + 0x70,0x72,0x65,0x63,0x69,0x73,0x69,0x6f,0x6e,0x20,0x6d,0x65,0x64,0x69,0x75,0x6d, + 0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x3b,0x0a,0x70,0x72,0x65,0x63,0x69,0x73,0x69, + 0x6f,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x69,0x6e,0x74,0x3b,0x0a,0x0a,0x75, + 0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, + 0x34,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b, + 0x34,0x5d,0x3b,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x68,0x69,0x67,0x68, + 0x70,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x32,0x44,0x53,0x68,0x61,0x64,0x6f, + 0x77,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x6d,0x61,0x70,0x5f,0x73,0x68,0x61, + 0x64,0x6f,0x77,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d, + 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x32,0x44, + 0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x74,0x69,0x6e,0x74,0x5f,0x73,0x68,0x61, + 0x64,0x6f,0x77,0x5f,0x74,0x69,0x6e,0x74,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x75,0x6e, + 0x69,0x66,0x6f,0x72,0x6d,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x73,0x61,0x6d,0x70, + 0x6c,0x65,0x72,0x32,0x44,0x20,0x73,0x70,0x72,0x69,0x74,0x65,0x5f,0x73,0x70,0x72, + 0x69,0x74,0x65,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74, + 0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x31,0x29,0x20,0x6f, + 0x75,0x74,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x66,0x72, + 0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28, + 0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x32,0x29,0x20,0x6f,0x75, + 0x74,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x66,0x72,0x61, + 0x67,0x5f,0x73,0x63,0x65,0x6e,0x65,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68, + 0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x63,0x6c,0x69,0x70,0x3b,0x0a, + 0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x76,0x5f, + 0x75,0x76,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, + 0x34,0x20,0x76,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69, + 0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x73,0x68,0x61,0x64,0x65, + 0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20, + 0x76,0x5f,0x73,0x75,0x6e,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20, + 0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x61,0x6e,0x63,0x68,0x6f,0x72,0x3b,0x0a,0x6c, + 0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d, + 0x20,0x30,0x29,0x20,0x6f,0x75,0x74,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, + 0x63,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x69, + 0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x74, + 0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67, + 0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x67,0x6c,0x6f,0x77,0x3b, + 0x0a,0x0a,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x73,0x75,0x6e, + 0x5f,0x73,0x68,0x61,0x64,0x6f,0x77,0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, + 0x63,0x33,0x20,0x77,0x6f,0x72,0x6c,0x64,0x2c,0x20,0x68,0x69,0x67,0x68,0x70,0x20, + 0x76,0x65,0x63,0x33,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x29,0x0a,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x33, + 0x35,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x20,0x2a,0x20,0x30,0x2e,0x30, + 0x33,0x31,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20, + 0x76,0x65,0x63,0x34,0x20,0x5f,0x37,0x31,0x20,0x3d,0x20,0x6d,0x61,0x74,0x34,0x28, + 0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x30,0x5d, + 0x2c,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b, + 0x31,0x5d,0x2c,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d, + 0x73,0x5b,0x32,0x5d,0x2c,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x70,0x61,0x72, + 0x61,0x6d,0x73,0x5b,0x33,0x5d,0x29,0x20,0x2a,0x20,0x76,0x65,0x63,0x34,0x28,0x28, + 0x28,0x28,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x28,0x77,0x6f,0x72,0x6c,0x64,0x20,0x2d, + 0x20,0x5f,0x33,0x35,0x29,0x20,0x2a,0x20,0x31,0x36,0x2e,0x30,0x29,0x20,0x2b,0x20, + 0x76,0x65,0x63,0x33,0x28,0x30,0x2e,0x35,0x29,0x29,0x20,0x2a,0x20,0x76,0x65,0x63, + 0x33,0x28,0x30,0x2e,0x30,0x36,0x32,0x35,0x29,0x29,0x20,0x2b,0x20,0x5f,0x33,0x35, + 0x29,0x20,0x2b,0x20,0x28,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x20,0x2a,0x20,0x30,0x2e, + 0x30,0x31,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x35,0x35,0x32,0x39,0x36,0x35,0x31, + 0x36,0x34,0x31,0x38,0x34,0x35,0x37,0x30,0x33,0x31,0x32,0x35,0x29,0x2c,0x20,0x31, + 0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x20,0x5f,0x37,0x36,0x20,0x3d,0x20,0x5f,0x37,0x31,0x2e,0x78, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x37,0x38,0x20,0x3d, + 0x20,0x5f,0x37,0x36,0x20,0x3c,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x38,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66, + 0x20,0x28,0x21,0x5f,0x37,0x38,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x38,0x35,0x20,0x3d,0x20,0x5f,0x37,0x36,0x20, + 0x3e,0x20,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20, + 0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x5f,0x38,0x35,0x20,0x3d,0x20,0x5f,0x37,0x38,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x39, + 0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x5f,0x38,0x35,0x29, + 0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f, + 0x39,0x33,0x20,0x3d,0x20,0x5f,0x37,0x31,0x2e,0x79,0x20,0x3c,0x20,0x30,0x2e,0x30, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65, + 0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f, + 0x39,0x33,0x20,0x3d,0x20,0x5f,0x38,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a, + 0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x30,0x30,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x5f,0x39,0x33,0x29,0x0a,0x20,0x20,0x20, + 0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x30,0x30,0x20, + 0x3d,0x20,0x5f,0x37,0x31,0x2e,0x79,0x20,0x3e,0x20,0x31,0x2e,0x30,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20, + 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x30,0x30, + 0x20,0x3d,0x20,0x5f,0x39,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20, + 0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x30,0x38,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x69,0x66,0x20,0x28,0x21,0x5f,0x31,0x30,0x30,0x29,0x0a,0x20,0x20,0x20,0x20, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x30,0x38,0x20,0x3d, + 0x20,0x5f,0x37,0x31,0x2e,0x7a,0x20,0x3e,0x20,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20, + 0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x30,0x38,0x20, + 0x3d,0x20,0x5f,0x31,0x30,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20, + 0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x30,0x38,0x29,0x0a,0x20,0x20,0x20,0x20, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e, + 0x20,0x76,0x65,0x63,0x33,0x28,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x7d,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x5f,0x31,0x33,0x31,0x20,0x3d,0x20,0x5f,0x37,0x31,0x2e,0x7a,0x20,0x2d, + 0x20,0x30,0x2e,0x30,0x30,0x30,0x35,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x33,0x37, + 0x34,0x38,0x37,0x32,0x35,0x36,0x35,0x32,0x36,0x39,0x34,0x37,0x30,0x32,0x31,0x34, + 0x38,0x34,0x33,0x37,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72, + 0x6e,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x73,0x68,0x61,0x64,0x6f,0x77, + 0x5f,0x74,0x69,0x6e,0x74,0x5f,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x74,0x69,0x6e, + 0x74,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x5f,0x37,0x31,0x2e,0x78,0x79,0x29,0x2e,0x78, + 0x79,0x7a,0x20,0x2a,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x73,0x68,0x61, + 0x64,0x6f,0x77,0x5f,0x6d,0x61,0x70,0x5f,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x73, + 0x6d,0x70,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x76,0x65,0x63,0x33,0x28,0x5f,0x37, + 0x36,0x2c,0x20,0x5f,0x37,0x31,0x2e,0x79,0x2c,0x20,0x5f,0x31,0x33,0x31,0x29,0x2e, + 0x78,0x79,0x2c,0x20,0x5f,0x31,0x33,0x31,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x68, + 0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x73,0x70,0x72,0x69,0x74,0x65, + 0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x69, + 0x66,0x20,0x28,0x76,0x5f,0x63,0x6c,0x69,0x70,0x20,0x3c,0x20,0x30,0x2e,0x30,0x29, + 0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64, + 0x69,0x73,0x63,0x61,0x72,0x64,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20, + 0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x31,0x36, + 0x37,0x20,0x3d,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x73,0x70,0x72,0x69, + 0x74,0x65,0x5f,0x73,0x70,0x72,0x69,0x74,0x65,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x76, + 0x5f,0x75,0x76,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31, + 0x36,0x37,0x2e,0x77,0x20,0x3c,0x20,0x30,0x2e,0x30,0x30,0x39,0x39,0x39,0x39,0x39, + 0x39,0x39,0x37,0x37,0x36,0x34,0x38,0x32,0x35,0x38,0x32,0x30,0x39,0x32,0x32,0x38, + 0x35,0x31,0x35,0x36,0x32,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x69,0x73,0x63,0x61,0x72,0x64,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20, + 0x5f,0x31,0x36,0x37,0x20,0x2a,0x20,0x76,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a, + 0x7d,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x77,0x72,0x69,0x74,0x65,0x5f,0x73,0x63, + 0x65,0x6e,0x65,0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x74, + 0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x2c,0x20,0x68,0x69,0x67,0x68,0x70,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x20,0x67,0x6c,0x6f,0x77,0x29,0x0a,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x20,0x3d,0x20,0x76,0x65, + 0x63,0x34,0x28,0x67,0x6c,0x6f,0x77,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72, + 0x61,0x67,0x5f,0x73,0x63,0x65,0x6e,0x65,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28, + 0x6c,0x65,0x6e,0x67,0x74,0x68,0x28,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61, + 0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e, + 0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76, + 0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x76,0x5f,0x61,0x6e, + 0x63,0x68,0x6f,0x72,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20, + 0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20,0x76, + 0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e, + 0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, + 0x63,0x34,0x20,0x5f,0x31,0x39,0x37,0x20,0x3d,0x20,0x73,0x70,0x72,0x69,0x74,0x65, + 0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x28,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72, + 0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x5f,0x31,0x39,0x37,0x20, + 0x2a,0x20,0x76,0x65,0x63,0x34,0x28,0x6d,0x69,0x78,0x28,0x76,0x5f,0x73,0x68,0x61, + 0x64,0x65,0x2c,0x20,0x76,0x5f,0x73,0x75,0x6e,0x2c,0x20,0x73,0x75,0x6e,0x5f,0x73, + 0x68,0x61,0x64,0x6f,0x77,0x28,0x70,0x61,0x72,0x61,0x6d,0x2c,0x20,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x31,0x29,0x29,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x32,0x20,0x3d,0x20,0x76,0x5f,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65, + 0x72,0x61,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x20,0x3d,0x20,0x30,0x2e, + 0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x77,0x72,0x69,0x74,0x65,0x5f,0x73,0x63,0x65, + 0x6e,0x65,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x2c,0x20,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x33,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, ]; /* #version 300 es @@ -1495,24 +5824,45 @@ vs_billboard_source_glsl300es := u8.[ in highp float v_clip; in highp vec2 v_uv; + in highp vec4 v_color; layout(location = 0) out highp vec4 frag_color; + layout(location = 1) out highp vec4 frag_glow; + in highp float v_glow; + in highp vec3 v_to_camera; + in highp vec3 v_sun; + in highp vec3 v_shade; + in highp vec3 v_anchor; - void main() + highp vec4 sprite_color() { if (v_clip < 0.0) { discard; } - highp vec4 _33 = texture(sprite_sprite_smp, v_uv); - if (_33.w < 0.00999999977648258209228515625) + highp vec4 _42 = texture(sprite_sprite_smp, v_uv); + if (_42.w < 0.00999999977648258209228515625) { discard; } - frag_color = vec4(_33.xyz, 1.0); + return _42 * v_color; + } + + void write_transparent(highp vec4 color, highp float glow) + { + frag_color = color; + frag_glow = vec4(glow, 0.0, 0.0, color.w); + } + + void main() + { + highp vec4 _67 = sprite_color(); + highp vec4 param = _67; + highp float param_1 = v_glow * 8.0; + write_transparent(param, param_1); } */ -fs_billboard_source_glsl300es := u8.[ +fs_particle_source_glsl300es := u8.[ 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x33,0x30,0x30,0x20,0x65,0x73,0x0a, 0x70,0x72,0x65,0x63,0x69,0x73,0x69,0x6f,0x6e,0x20,0x6d,0x65,0x64,0x69,0x75,0x6d, 0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x3b,0x0a,0x70,0x72,0x65,0x63,0x69,0x73,0x69, @@ -1522,26 +5872,512 @@ fs_billboard_source_glsl300es := u8.[ 0x72,0x69,0x74,0x65,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x0a,0x69,0x6e,0x20,0x68,0x69, 0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x63,0x6c,0x69,0x70, 0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20, - 0x76,0x5f,0x75,0x76,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63, - 0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x6f,0x75,0x74,0x20,0x68, - 0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x63, - 0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e, - 0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x76,0x5f,0x63, - 0x6c,0x69,0x70,0x20,0x3c,0x20,0x30,0x2e,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b, + 0x76,0x5f,0x75,0x76,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76, + 0x65,0x63,0x34,0x20,0x76,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x6c,0x61,0x79, + 0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30, + 0x29,0x20,0x6f,0x75,0x74,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34, + 0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x6c,0x61,0x79, + 0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x31, + 0x29,0x20,0x6f,0x75,0x74,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34, + 0x20,0x66,0x72,0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x3b,0x0a,0x69,0x6e,0x20,0x68, + 0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x67,0x6c,0x6f, + 0x77,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33, + 0x20,0x76,0x5f,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x3b,0x0a,0x69,0x6e, + 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x73,0x75, + 0x6e,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33, + 0x20,0x76,0x5f,0x73,0x68,0x61,0x64,0x65,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67, + 0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x61,0x6e,0x63,0x68,0x6f,0x72, + 0x3b,0x0a,0x0a,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x73,0x70, + 0x72,0x69,0x74,0x65,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x28,0x29,0x0a,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x76,0x5f,0x63,0x6c,0x69,0x70,0x20,0x3c,0x20, + 0x30,0x2e,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x64,0x69,0x73,0x63,0x61,0x72,0x64,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x7d,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34, + 0x20,0x5f,0x34,0x32,0x20,0x3d,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x73, + 0x70,0x72,0x69,0x74,0x65,0x5f,0x73,0x70,0x72,0x69,0x74,0x65,0x5f,0x73,0x6d,0x70, + 0x2c,0x20,0x76,0x5f,0x75,0x76,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20, + 0x28,0x5f,0x34,0x32,0x2e,0x77,0x20,0x3c,0x20,0x30,0x2e,0x30,0x30,0x39,0x39,0x39, + 0x39,0x39,0x39,0x39,0x37,0x37,0x36,0x34,0x38,0x32,0x35,0x38,0x32,0x30,0x39,0x32, + 0x32,0x38,0x35,0x31,0x35,0x36,0x32,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x69,0x73,0x63,0x61,0x72,0x64,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72, + 0x6e,0x20,0x5f,0x34,0x32,0x20,0x2a,0x20,0x76,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b, + 0x0a,0x7d,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x77,0x72,0x69,0x74,0x65,0x5f,0x74, + 0x72,0x61,0x6e,0x73,0x70,0x61,0x72,0x65,0x6e,0x74,0x28,0x68,0x69,0x67,0x68,0x70, + 0x20,0x76,0x65,0x63,0x34,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x2c,0x20,0x68,0x69,0x67, + 0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x67,0x6c,0x6f,0x77,0x29,0x0a,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20, + 0x3d,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61, + 0x67,0x5f,0x67,0x6c,0x6f,0x77,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x67,0x6c, + 0x6f,0x77,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x63,0x6f, + 0x6c,0x6f,0x72,0x2e,0x77,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20, + 0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67, + 0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x36,0x37,0x20,0x3d,0x20,0x73,0x70, + 0x72,0x69,0x74,0x65,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x28,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x70,0x61,0x72, + 0x61,0x6d,0x20,0x3d,0x20,0x5f,0x36,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69, + 0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x31,0x20,0x3d,0x20,0x76,0x5f,0x67,0x6c,0x6f,0x77,0x20,0x2a,0x20,0x38,0x2e,0x30, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x77,0x72,0x69,0x74,0x65,0x5f,0x74,0x72,0x61,0x6e, + 0x73,0x70,0x61,0x72,0x65,0x6e,0x74,0x28,0x70,0x61,0x72,0x61,0x6d,0x2c,0x20,0x70, + 0x61,0x72,0x61,0x6d,0x5f,0x31,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, +]; +/* + #version 300 es + precision mediump float; + precision highp int; + + uniform highp sampler2D sprite_sprite_smp; + + in highp float v_clip; + in highp vec2 v_uv; + in highp vec4 v_color; + in highp vec3 v_to_camera; + in highp vec3 v_sun; + in highp vec3 v_shade; + in highp vec3 v_anchor; + in highp float v_glow; + + highp vec4 sprite_color() + { + if (v_clip < 0.0) + { + discard; + } + highp vec4 _36 = texture(sprite_sprite_smp, v_uv); + if (_36.w < 0.00999999977648258209228515625) + { + discard; + } + return _36 * v_color; + } + + void main() + { + highp vec4 _54 = sprite_color(); + } + +*/ +fs_sprite_shadow_source_glsl300es := u8.[ + 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x33,0x30,0x30,0x20,0x65,0x73,0x0a, + 0x70,0x72,0x65,0x63,0x69,0x73,0x69,0x6f,0x6e,0x20,0x6d,0x65,0x64,0x69,0x75,0x6d, + 0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x3b,0x0a,0x70,0x72,0x65,0x63,0x69,0x73,0x69, + 0x6f,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x69,0x6e,0x74,0x3b,0x0a,0x0a,0x75, + 0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x73,0x61,0x6d, + 0x70,0x6c,0x65,0x72,0x32,0x44,0x20,0x73,0x70,0x72,0x69,0x74,0x65,0x5f,0x73,0x70, + 0x72,0x69,0x74,0x65,0x5f,0x73,0x6d,0x70,0x3b,0x0a,0x0a,0x69,0x6e,0x20,0x68,0x69, + 0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x63,0x6c,0x69,0x70, + 0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20, + 0x76,0x5f,0x75,0x76,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76, + 0x65,0x63,0x34,0x20,0x76,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x69,0x6e,0x20, + 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x74,0x6f,0x5f, + 0x63,0x61,0x6d,0x65,0x72,0x61,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70, + 0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x73,0x75,0x6e,0x3b,0x0a,0x69,0x6e,0x20, + 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x73,0x68,0x61, + 0x64,0x65,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, + 0x33,0x20,0x76,0x5f,0x61,0x6e,0x63,0x68,0x6f,0x72,0x3b,0x0a,0x69,0x6e,0x20,0x68, + 0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x67,0x6c,0x6f, + 0x77,0x3b,0x0a,0x0a,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x73, + 0x70,0x72,0x69,0x74,0x65,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x28,0x29,0x0a,0x7b,0x0a, + 0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x76,0x5f,0x63,0x6c,0x69,0x70,0x20,0x3c, + 0x20,0x30,0x2e,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x64,0x69,0x73,0x63,0x61,0x72,0x64,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, + 0x34,0x20,0x5f,0x33,0x36,0x20,0x3d,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28, + 0x73,0x70,0x72,0x69,0x74,0x65,0x5f,0x73,0x70,0x72,0x69,0x74,0x65,0x5f,0x73,0x6d, + 0x70,0x2c,0x20,0x76,0x5f,0x75,0x76,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66, + 0x20,0x28,0x5f,0x33,0x36,0x2e,0x77,0x20,0x3c,0x20,0x30,0x2e,0x30,0x30,0x39,0x39, + 0x39,0x39,0x39,0x39,0x39,0x37,0x37,0x36,0x34,0x38,0x32,0x35,0x38,0x32,0x30,0x39, + 0x32,0x32,0x38,0x35,0x31,0x35,0x36,0x32,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b, 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x69,0x73,0x63,0x61,0x72,0x64, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68, - 0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x33,0x33,0x20,0x3d,0x20,0x74,0x65,0x78, - 0x74,0x75,0x72,0x65,0x28,0x73,0x70,0x72,0x69,0x74,0x65,0x5f,0x73,0x70,0x72,0x69, - 0x74,0x65,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x76,0x5f,0x75,0x76,0x29,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x33,0x33,0x2e,0x77,0x20,0x3c,0x20,0x30, - 0x2e,0x30,0x30,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x37,0x36,0x34,0x38,0x32, - 0x35,0x38,0x32,0x30,0x39,0x32,0x32,0x38,0x35,0x31,0x35,0x36,0x32,0x35,0x29,0x0a, - 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x69, - 0x73,0x63,0x61,0x72,0x64,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20, - 0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x76,0x65, - 0x63,0x34,0x28,0x5f,0x33,0x33,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x31,0x2e,0x30,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75, + 0x72,0x6e,0x20,0x5f,0x33,0x36,0x20,0x2a,0x20,0x76,0x5f,0x63,0x6f,0x6c,0x6f,0x72, + 0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29, + 0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, + 0x34,0x20,0x5f,0x35,0x34,0x20,0x3d,0x20,0x73,0x70,0x72,0x69,0x74,0x65,0x5f,0x63, + 0x6f,0x6c,0x6f,0x72,0x28,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, +]; +/* + #version 300 es + + uniform vec4 view_params[13]; + out vec4 v_point; + out vec3 v_camera; + + vec2 fullscreen_position(int vertex_index) + { + return (vec2(float((vertex_index << 1) & 2), float(vertex_index & 2)) * 2.0) - vec2(1.0); + } + + void main() + { + int param = gl_VertexID; + vec2 _37 = fullscreen_position(param); + float _48 = _37.x; + gl_Position = vec4(_48, _37.y, 0.0, 1.0); + v_point = mat4(view_params[4], view_params[5], view_params[6], view_params[7]) * vec4(_48, _37.y, 0.5, 1.0); + v_camera = view_params[8].xyz; + } + +*/ +vs_sky_source_glsl300es := u8.[ + 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x33,0x30,0x30,0x20,0x65,0x73,0x0a, + 0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x76,0x65,0x63,0x34,0x20,0x76,0x69, + 0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x31,0x33,0x5d,0x3b,0x0a,0x6f, + 0x75,0x74,0x20,0x76,0x65,0x63,0x34,0x20,0x76,0x5f,0x70,0x6f,0x69,0x6e,0x74,0x3b, + 0x0a,0x6f,0x75,0x74,0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x63,0x61,0x6d,0x65, + 0x72,0x61,0x3b,0x0a,0x0a,0x76,0x65,0x63,0x32,0x20,0x66,0x75,0x6c,0x6c,0x73,0x63, + 0x72,0x65,0x65,0x6e,0x5f,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x28,0x69,0x6e, + 0x74,0x20,0x76,0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x6e,0x64,0x65,0x78,0x29,0x0a, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x28,0x76,0x65, + 0x63,0x32,0x28,0x66,0x6c,0x6f,0x61,0x74,0x28,0x28,0x76,0x65,0x72,0x74,0x65,0x78, + 0x5f,0x69,0x6e,0x64,0x65,0x78,0x20,0x3c,0x3c,0x20,0x31,0x29,0x20,0x26,0x20,0x32, + 0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x28,0x76,0x65,0x72,0x74,0x65,0x78,0x5f, + 0x69,0x6e,0x64,0x65,0x78,0x20,0x26,0x20,0x32,0x29,0x29,0x20,0x2a,0x20,0x32,0x2e, + 0x30,0x29,0x20,0x2d,0x20,0x76,0x65,0x63,0x32,0x28,0x31,0x2e,0x30,0x29,0x3b,0x0a, + 0x7d,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d, + 0x20,0x67,0x6c,0x5f,0x56,0x65,0x72,0x74,0x65,0x78,0x49,0x44,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x33,0x37,0x20,0x3d,0x20,0x66,0x75,0x6c, + 0x6c,0x73,0x63,0x72,0x65,0x65,0x6e,0x5f,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e, + 0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x20,0x5f,0x34,0x38,0x20,0x3d,0x20,0x5f,0x33,0x37,0x2e,0x78,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x67,0x6c,0x5f,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x20, + 0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x5f,0x34,0x38,0x2c,0x20,0x5f,0x33,0x37,0x2e, + 0x79,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x76,0x5f,0x70,0x6f,0x69,0x6e,0x74,0x20,0x3d,0x20,0x6d,0x61,0x74,0x34, + 0x28,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x34,0x5d,0x2c, + 0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x35,0x5d,0x2c, + 0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x36,0x5d,0x2c, + 0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x37,0x5d,0x29, + 0x20,0x2a,0x20,0x76,0x65,0x63,0x34,0x28,0x5f,0x34,0x38,0x2c,0x20,0x5f,0x33,0x37, + 0x2e,0x79,0x2c,0x20,0x30,0x2e,0x35,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x76,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x20,0x3d,0x20,0x76,0x69, + 0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x38,0x5d,0x2e,0x78,0x79,0x7a, 0x3b,0x0a,0x7d,0x0a,0x0a,0x00, ]; +/* + #version 300 es + precision mediump float; + precision highp int; + + uniform highp vec4 sky_params[6]; + in highp vec4 v_point; + in highp vec3 v_camera; + layout(location = 0) out highp vec4 frag_color; + layout(location = 1) out highp vec4 frag_glow; + layout(location = 2) out highp vec4 frag_scene; + + void main() + { + highp vec3 _26 = normalize((v_point.xyz / vec3(v_point.w)) - v_camera); + highp float _44 = _26.y; + highp vec3 _62 = normalize(cross(sky_params[5].xyz, vec3(0.0, 1.0, 0.0))); + highp float _72 = dot(_26, sky_params[5].xyz); + highp vec3 _74 = _26 - (sky_params[5].xyz * _72); + highp float _84 = max(abs(dot(_74, _62)), abs(dot(_74, cross(_62, sky_params[5].xyz)))); + highp float _91 = clamp((0.25 - _84) * 6.0, 0.0, 1.0); + highp vec3 color = mix(sky_params[0].xyz, sky_params[1].xyz, vec3(clamp(_44 * 2.0, 0.0, 0.699999988079071044921875))) + ((sky_params[3].xyz * _91) * _91); + bool _107 = _84 < 0.0320000015199184417724609375; + bool _114; + if (_107) + { + _114 = _72 > 0.0; + } + else + { + _114 = _107; + } + if (_114) + { + color = sky_params[2].xyz * 3.0; + } + highp vec3 _138 = color; + highp vec3 _139 = _138 + ((sky_params[4].xyz * (1.0 - clamp(abs(_44) * 20.0, 0.0, 1.0))) * 0.800000011920928955078125); + color = _139; + frag_color = vec4(_139 * sky_params[5].w, 1.0); + frag_glow = vec4(float(_114)); + frag_scene = vec4(10000.0); + } + +*/ +fs_sky_source_glsl300es := u8.[ + 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x33,0x30,0x30,0x20,0x65,0x73,0x0a, + 0x70,0x72,0x65,0x63,0x69,0x73,0x69,0x6f,0x6e,0x20,0x6d,0x65,0x64,0x69,0x75,0x6d, + 0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x3b,0x0a,0x70,0x72,0x65,0x63,0x69,0x73,0x69, + 0x6f,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x69,0x6e,0x74,0x3b,0x0a,0x0a,0x75, + 0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63, + 0x34,0x20,0x73,0x6b,0x79,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x36,0x5d,0x3b, + 0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x76, + 0x5f,0x70,0x6f,0x69,0x6e,0x74,0x3b,0x0a,0x69,0x6e,0x20,0x68,0x69,0x67,0x68,0x70, + 0x20,0x76,0x65,0x63,0x33,0x20,0x76,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x3b,0x0a, + 0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20, + 0x3d,0x20,0x30,0x29,0x20,0x6f,0x75,0x74,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76, + 0x65,0x63,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a, + 0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20, + 0x3d,0x20,0x31,0x29,0x20,0x6f,0x75,0x74,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76, + 0x65,0x63,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x3b,0x0a,0x6c, + 0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d, + 0x20,0x32,0x29,0x20,0x6f,0x75,0x74,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, + 0x63,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x73,0x63,0x65,0x6e,0x65,0x3b,0x0a,0x0a, + 0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x32,0x36, + 0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x28,0x76,0x5f, + 0x70,0x6f,0x69,0x6e,0x74,0x2e,0x78,0x79,0x7a,0x20,0x2f,0x20,0x76,0x65,0x63,0x33, + 0x28,0x76,0x5f,0x70,0x6f,0x69,0x6e,0x74,0x2e,0x77,0x29,0x29,0x20,0x2d,0x20,0x76, + 0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69, + 0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x34,0x34,0x20,0x3d,0x20, + 0x5f,0x32,0x36,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70, + 0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x36,0x32,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d, + 0x61,0x6c,0x69,0x7a,0x65,0x28,0x63,0x72,0x6f,0x73,0x73,0x28,0x73,0x6b,0x79,0x5f, + 0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x35,0x5d,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x76, + 0x65,0x63,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e, + 0x30,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x37,0x32,0x20,0x3d,0x20,0x64,0x6f,0x74,0x28, + 0x5f,0x32,0x36,0x2c,0x20,0x73,0x6b,0x79,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b, + 0x35,0x5d,0x2e,0x78,0x79,0x7a,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67, + 0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x37,0x34,0x20,0x3d,0x20,0x5f,0x32, + 0x36,0x20,0x2d,0x20,0x28,0x73,0x6b,0x79,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b, + 0x35,0x5d,0x2e,0x78,0x79,0x7a,0x20,0x2a,0x20,0x5f,0x37,0x32,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f, + 0x38,0x34,0x20,0x3d,0x20,0x6d,0x61,0x78,0x28,0x61,0x62,0x73,0x28,0x64,0x6f,0x74, + 0x28,0x5f,0x37,0x34,0x2c,0x20,0x5f,0x36,0x32,0x29,0x29,0x2c,0x20,0x61,0x62,0x73, + 0x28,0x64,0x6f,0x74,0x28,0x5f,0x37,0x34,0x2c,0x20,0x63,0x72,0x6f,0x73,0x73,0x28, + 0x5f,0x36,0x32,0x2c,0x20,0x73,0x6b,0x79,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b, + 0x35,0x5d,0x2e,0x78,0x79,0x7a,0x29,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x39,0x31,0x20, + 0x3d,0x20,0x63,0x6c,0x61,0x6d,0x70,0x28,0x28,0x30,0x2e,0x32,0x35,0x20,0x2d,0x20, + 0x5f,0x38,0x34,0x29,0x20,0x2a,0x20,0x36,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c, + 0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70, + 0x20,0x76,0x65,0x63,0x33,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x6d,0x69, + 0x78,0x28,0x73,0x6b,0x79,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x30,0x5d,0x2e, + 0x78,0x79,0x7a,0x2c,0x20,0x73,0x6b,0x79,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b, + 0x31,0x5d,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x76,0x65,0x63,0x33,0x28,0x63,0x6c,0x61, + 0x6d,0x70,0x28,0x5f,0x34,0x34,0x20,0x2a,0x20,0x32,0x2e,0x30,0x2c,0x20,0x30,0x2e, + 0x30,0x2c,0x20,0x30,0x2e,0x36,0x39,0x39,0x39,0x39,0x39,0x39,0x38,0x38,0x30,0x37, + 0x39,0x30,0x37,0x31,0x30,0x34,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x29,0x29,0x29, + 0x20,0x2b,0x20,0x28,0x28,0x73,0x6b,0x79,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b, + 0x33,0x5d,0x2e,0x78,0x79,0x7a,0x20,0x2a,0x20,0x5f,0x39,0x31,0x29,0x20,0x2a,0x20, + 0x5f,0x39,0x31,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f, + 0x31,0x30,0x37,0x20,0x3d,0x20,0x5f,0x38,0x34,0x20,0x3c,0x20,0x30,0x2e,0x30,0x33, + 0x32,0x30,0x30,0x30,0x30,0x30,0x31,0x35,0x31,0x39,0x39,0x31,0x38,0x34,0x34,0x31, + 0x37,0x37,0x32,0x34,0x36,0x30,0x39,0x33,0x37,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x31,0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69, + 0x66,0x20,0x28,0x5f,0x31,0x30,0x37,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x31,0x34,0x20,0x3d,0x20,0x5f,0x37, + 0x32,0x20,0x3e,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, + 0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x31,0x34,0x20,0x3d,0x20,0x5f,0x31,0x30, + 0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20, + 0x28,0x5f,0x31,0x31,0x34,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x73,0x6b,0x79, + 0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x32,0x5d,0x2e,0x78,0x79,0x7a,0x20,0x2a, + 0x20,0x33,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20, + 0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x31,0x33,0x38,0x20, + 0x3d,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67, + 0x68,0x70,0x20,0x76,0x65,0x63,0x33,0x20,0x5f,0x31,0x33,0x39,0x20,0x3d,0x20,0x5f, + 0x31,0x33,0x38,0x20,0x2b,0x20,0x28,0x28,0x73,0x6b,0x79,0x5f,0x70,0x61,0x72,0x61, + 0x6d,0x73,0x5b,0x34,0x5d,0x2e,0x78,0x79,0x7a,0x20,0x2a,0x20,0x28,0x31,0x2e,0x30, + 0x20,0x2d,0x20,0x63,0x6c,0x61,0x6d,0x70,0x28,0x61,0x62,0x73,0x28,0x5f,0x34,0x34, + 0x29,0x20,0x2a,0x20,0x32,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31, + 0x2e,0x30,0x29,0x29,0x29,0x20,0x2a,0x20,0x30,0x2e,0x38,0x30,0x30,0x30,0x30,0x30, + 0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31, + 0x32,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d, + 0x20,0x5f,0x31,0x33,0x39,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f, + 0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x5f,0x31,0x33, + 0x39,0x20,0x2a,0x20,0x73,0x6b,0x79,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x35, + 0x5d,0x2e,0x77,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x72,0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28, + 0x66,0x6c,0x6f,0x61,0x74,0x28,0x5f,0x31,0x31,0x34,0x29,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x73,0x63,0x65,0x6e,0x65,0x20,0x3d,0x20,0x76, + 0x65,0x63,0x34,0x28,0x31,0x30,0x30,0x30,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x7d,0x0a, + 0x0a,0x00, +]; +/* + #version 300 es + + const vec2 _23[6] = vec2[](vec2(0.0), vec2(1.0, 0.0), vec2(1.0), vec2(0.0), vec2(1.0), vec2(0.0, 1.0)); + + uniform vec4 view_params[13]; + uniform vec4 line_params[1]; + layout(location = 0) in vec3 a; + layout(location = 1) in vec3 b; + layout(location = 3) in float width; + out vec4 v_color; + layout(location = 2) in vec4 color; + + vec2 quad_corner(int vertex_index) + { + return _23[vertex_index]; + } + + void main() + { + int param = gl_VertexID; + vec2 _37 = quad_corner(param); + mat4 _48 = mat4(view_params[0], view_params[1], view_params[2], view_params[3]); + vec4 _57 = _48 * vec4(a, 1.0); + vec4 _67 = _48 * vec4(b, 1.0); + vec2 _100 = ((_67.xy / vec2(max(_67.w, 9.9999997473787516355514526367188e-05))) * line_params[0].xy) - ((_57.xy / vec2(max(_57.w, 9.9999997473787516355514526367188e-05))) * line_params[0].xy); + vec2 dir = _100; + vec2 _106; + if (dot(_100, _100) > 9.9999997473787516355514526367188e-05) + { + _106 = normalize(dir); + } + else + { + _106 = vec2(1.0, 0.0); + } + dir = _106; + vec4 _120 = mix(_57, _67, vec4(_37.x)); + vec2 _145 = _120.xy + ((((vec2(-_106.y, _106.x) * (_37.y - 0.5)) * width) / line_params[0].xy) * _120.w); + vec4 _169 = _120; + _169.x = _145.x; + _169.y = _145.y; + gl_Position = _169; + v_color = color; + } + +*/ +vs_line_source_glsl300es := u8.[ + 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x33,0x30,0x30,0x20,0x65,0x73,0x0a, + 0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x32,0x33,0x5b, + 0x36,0x5d,0x20,0x3d,0x20,0x76,0x65,0x63,0x32,0x5b,0x5d,0x28,0x76,0x65,0x63,0x32, + 0x28,0x30,0x2e,0x30,0x29,0x2c,0x20,0x76,0x65,0x63,0x32,0x28,0x31,0x2e,0x30,0x2c, + 0x20,0x30,0x2e,0x30,0x29,0x2c,0x20,0x76,0x65,0x63,0x32,0x28,0x31,0x2e,0x30,0x29, + 0x2c,0x20,0x76,0x65,0x63,0x32,0x28,0x30,0x2e,0x30,0x29,0x2c,0x20,0x76,0x65,0x63, + 0x32,0x28,0x31,0x2e,0x30,0x29,0x2c,0x20,0x76,0x65,0x63,0x32,0x28,0x30,0x2e,0x30, + 0x2c,0x20,0x31,0x2e,0x30,0x29,0x29,0x3b,0x0a,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72, + 0x6d,0x20,0x76,0x65,0x63,0x34,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61, + 0x6d,0x73,0x5b,0x31,0x33,0x5d,0x3b,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20, + 0x76,0x65,0x63,0x34,0x20,0x6c,0x69,0x6e,0x65,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73, + 0x5b,0x31,0x5d,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61, + 0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63, + 0x33,0x20,0x61,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61, + 0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x31,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63, + 0x33,0x20,0x62,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61, + 0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x33,0x29,0x20,0x69,0x6e,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x20,0x77,0x69,0x64,0x74,0x68,0x3b,0x0a,0x6f,0x75,0x74,0x20,0x76,0x65, + 0x63,0x34,0x20,0x76,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x6c,0x61,0x79,0x6f, + 0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x32,0x29, + 0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x34,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a, + 0x0a,0x76,0x65,0x63,0x32,0x20,0x71,0x75,0x61,0x64,0x5f,0x63,0x6f,0x72,0x6e,0x65, + 0x72,0x28,0x69,0x6e,0x74,0x20,0x76,0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x6e,0x64, + 0x65,0x78,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e, + 0x20,0x5f,0x32,0x33,0x5b,0x76,0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x6e,0x64,0x65, + 0x78,0x5d,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e, + 0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72, + 0x61,0x6d,0x20,0x3d,0x20,0x67,0x6c,0x5f,0x56,0x65,0x72,0x74,0x65,0x78,0x49,0x44, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x33,0x37,0x20,0x3d, + 0x20,0x71,0x75,0x61,0x64,0x5f,0x63,0x6f,0x72,0x6e,0x65,0x72,0x28,0x70,0x61,0x72, + 0x61,0x6d,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x6d,0x61,0x74,0x34,0x20,0x5f,0x34, + 0x38,0x20,0x3d,0x20,0x6d,0x61,0x74,0x34,0x28,0x76,0x69,0x65,0x77,0x5f,0x70,0x61, + 0x72,0x61,0x6d,0x73,0x5b,0x30,0x5d,0x2c,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61, + 0x72,0x61,0x6d,0x73,0x5b,0x31,0x5d,0x2c,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61, + 0x72,0x61,0x6d,0x73,0x5b,0x32,0x5d,0x2c,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61, + 0x72,0x61,0x6d,0x73,0x5b,0x33,0x5d,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65, + 0x63,0x34,0x20,0x5f,0x35,0x37,0x20,0x3d,0x20,0x5f,0x34,0x38,0x20,0x2a,0x20,0x76, + 0x65,0x63,0x34,0x28,0x61,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x36,0x37,0x20,0x3d,0x20,0x5f,0x34,0x38,0x20, + 0x2a,0x20,0x76,0x65,0x63,0x34,0x28,0x62,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x31,0x30,0x30,0x20,0x3d,0x20, + 0x28,0x28,0x5f,0x36,0x37,0x2e,0x78,0x79,0x20,0x2f,0x20,0x76,0x65,0x63,0x32,0x28, + 0x6d,0x61,0x78,0x28,0x5f,0x36,0x37,0x2e,0x77,0x2c,0x20,0x39,0x2e,0x39,0x39,0x39, + 0x39,0x39,0x39,0x37,0x34,0x37,0x33,0x37,0x38,0x37,0x35,0x31,0x36,0x33,0x35,0x35, + 0x35,0x31,0x34,0x35,0x32,0x36,0x33,0x36,0x37,0x31,0x38,0x38,0x65,0x2d,0x30,0x35, + 0x29,0x29,0x29,0x20,0x2a,0x20,0x6c,0x69,0x6e,0x65,0x5f,0x70,0x61,0x72,0x61,0x6d, + 0x73,0x5b,0x30,0x5d,0x2e,0x78,0x79,0x29,0x20,0x2d,0x20,0x28,0x28,0x5f,0x35,0x37, + 0x2e,0x78,0x79,0x20,0x2f,0x20,0x76,0x65,0x63,0x32,0x28,0x6d,0x61,0x78,0x28,0x5f, + 0x35,0x37,0x2e,0x77,0x2c,0x20,0x39,0x2e,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x34, + 0x37,0x33,0x37,0x38,0x37,0x35,0x31,0x36,0x33,0x35,0x35,0x35,0x31,0x34,0x35,0x32, + 0x36,0x33,0x36,0x37,0x31,0x38,0x38,0x65,0x2d,0x30,0x35,0x29,0x29,0x29,0x20,0x2a, + 0x20,0x6c,0x69,0x6e,0x65,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x30,0x5d,0x2e, + 0x78,0x79,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x64,0x69, + 0x72,0x20,0x3d,0x20,0x5f,0x31,0x30,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65, + 0x63,0x32,0x20,0x5f,0x31,0x30,0x36,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20, + 0x28,0x64,0x6f,0x74,0x28,0x5f,0x31,0x30,0x30,0x2c,0x20,0x5f,0x31,0x30,0x30,0x29, + 0x20,0x3e,0x20,0x39,0x2e,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x34,0x37,0x33,0x37, + 0x38,0x37,0x35,0x31,0x36,0x33,0x35,0x35,0x35,0x31,0x34,0x35,0x32,0x36,0x33,0x36, + 0x37,0x31,0x38,0x38,0x65,0x2d,0x30,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x30,0x36,0x20,0x3d,0x20,0x6e, + 0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x64,0x69,0x72,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20, + 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x30,0x36, + 0x20,0x3d,0x20,0x76,0x65,0x63,0x32,0x28,0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x64,0x69,0x72, + 0x20,0x3d,0x20,0x5f,0x31,0x30,0x36,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63, + 0x34,0x20,0x5f,0x31,0x32,0x30,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x5f,0x35,0x37, + 0x2c,0x20,0x5f,0x36,0x37,0x2c,0x20,0x76,0x65,0x63,0x34,0x28,0x5f,0x33,0x37,0x2e, + 0x78,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x31, + 0x34,0x35,0x20,0x3d,0x20,0x5f,0x31,0x32,0x30,0x2e,0x78,0x79,0x20,0x2b,0x20,0x28, + 0x28,0x28,0x28,0x76,0x65,0x63,0x32,0x28,0x2d,0x5f,0x31,0x30,0x36,0x2e,0x79,0x2c, + 0x20,0x5f,0x31,0x30,0x36,0x2e,0x78,0x29,0x20,0x2a,0x20,0x28,0x5f,0x33,0x37,0x2e, + 0x79,0x20,0x2d,0x20,0x30,0x2e,0x35,0x29,0x29,0x20,0x2a,0x20,0x77,0x69,0x64,0x74, + 0x68,0x29,0x20,0x2f,0x20,0x6c,0x69,0x6e,0x65,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73, + 0x5b,0x30,0x5d,0x2e,0x78,0x79,0x29,0x20,0x2a,0x20,0x5f,0x31,0x32,0x30,0x2e,0x77, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x34,0x20,0x5f,0x31,0x36,0x39, + 0x20,0x3d,0x20,0x5f,0x31,0x32,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x5f,0x31,0x36, + 0x39,0x2e,0x78,0x20,0x3d,0x20,0x5f,0x31,0x34,0x35,0x2e,0x78,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x5f,0x31,0x36,0x39,0x2e,0x79,0x20,0x3d,0x20,0x5f,0x31,0x34,0x35,0x2e, + 0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x67,0x6c,0x5f,0x50,0x6f,0x73,0x69,0x74,0x69, + 0x6f,0x6e,0x20,0x3d,0x20,0x5f,0x31,0x36,0x39,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76, + 0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a, + 0x7d,0x0a,0x0a,0x00, +]; +/* + #version 300 es + precision mediump float; + precision highp int; + + layout(location = 0) out highp vec4 frag_color; + layout(location = 1) out highp vec4 frag_glow; + in highp vec4 v_color; + + void write_transparent(highp vec4 color, highp float glow) + { + frag_color = color; + frag_glow = vec4(glow, 0.0, 0.0, color.w); + } + + void main() + { + highp vec4 param = v_color; + highp float param_1 = 0.0; + write_transparent(param, param_1); + } + +*/ +fs_line_source_glsl300es := u8.[ + 0x23,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x33,0x30,0x30,0x20,0x65,0x73,0x0a, + 0x70,0x72,0x65,0x63,0x69,0x73,0x69,0x6f,0x6e,0x20,0x6d,0x65,0x64,0x69,0x75,0x6d, + 0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x3b,0x0a,0x70,0x72,0x65,0x63,0x69,0x73,0x69, + 0x6f,0x6e,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x69,0x6e,0x74,0x3b,0x0a,0x0a,0x6c, + 0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d, + 0x20,0x30,0x29,0x20,0x6f,0x75,0x74,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, + 0x63,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x6c, + 0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d, + 0x20,0x31,0x29,0x20,0x6f,0x75,0x74,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65, + 0x63,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x3b,0x0a,0x69,0x6e, + 0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x76,0x5f,0x63,0x6f, + 0x6c,0x6f,0x72,0x3b,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x77,0x72,0x69,0x74,0x65, + 0x5f,0x74,0x72,0x61,0x6e,0x73,0x70,0x61,0x72,0x65,0x6e,0x74,0x28,0x68,0x69,0x67, + 0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x2c,0x20,0x68, + 0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x67,0x6c,0x6f,0x77,0x29, + 0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f, + 0x72,0x20,0x3d,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x72,0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28, + 0x67,0x6c,0x6f,0x77,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20, + 0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x77,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x6f,0x69, + 0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x68, + 0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x70,0x61,0x72,0x61,0x6d,0x20, + 0x3d,0x20,0x76,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x20,0x20,0x20,0x20,0x68, + 0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x31,0x20,0x3d,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x77,0x72, + 0x69,0x74,0x65,0x5f,0x74,0x72,0x61,0x6e,0x73,0x70,0x61,0x72,0x65,0x6e,0x74,0x28, + 0x70,0x61,0x72,0x61,0x6d,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x29,0x3b, + 0x0a,0x7d,0x0a,0x0a,0x00, +]; /* #include #include @@ -1680,75 +6516,76 @@ fs_ui_source_metal_macos := u8.[ 0x72,0x6e,0x20,0x6f,0x75,0x74,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, ]; /* + #pragma clang diagnostic ignored "-Wmissing-prototypes" + #include #include using namespace metal; - struct composite_vs_params - { - float flip_y; - }; - struct main0_out { - float2 v_uv [[user(locn0)]]; float4 gl_Position [[position]]; }; - vertex main0_out main0(constant composite_vs_params& _39 [[buffer(0)]], uint gl_VertexIndex [[vertex_id]]) + static inline __attribute__((always_inline)) + float2 fullscreen_position(thread const int& vertex_index) + { + return (float2(float((vertex_index << 1) & 2), float(vertex_index & 2)) * 2.0) - float2(1.0); + } + + vertex main0_out main0(uint gl_VertexIndex [[vertex_id]]) { main0_out out = {}; - float _18 = float((int(gl_VertexIndex) << 1) & 2); - float _21 = float(int(gl_VertexIndex) & 2); - out.v_uv = float2(_18, mix(_21, 1.0 - _21, _39.flip_y)); - out.gl_Position = float4((float2(_18, _21) * 2.0) - float2(1.0), 0.0, 1.0); + int param = int(gl_VertexIndex); + out.gl_Position = float4(fullscreen_position(param), 0.0, 1.0); return out; } */ -vs_composite_source_metal_macos := u8.[ - 0x23,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x20,0x3c,0x6d,0x65,0x74,0x61,0x6c,0x5f, - 0x73,0x74,0x64,0x6c,0x69,0x62,0x3e,0x0a,0x23,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65, - 0x20,0x3c,0x73,0x69,0x6d,0x64,0x2f,0x73,0x69,0x6d,0x64,0x2e,0x68,0x3e,0x0a,0x0a, - 0x75,0x73,0x69,0x6e,0x67,0x20,0x6e,0x61,0x6d,0x65,0x73,0x70,0x61,0x63,0x65,0x20, - 0x6d,0x65,0x74,0x61,0x6c,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x63, - 0x6f,0x6d,0x70,0x6f,0x73,0x69,0x74,0x65,0x5f,0x76,0x73,0x5f,0x70,0x61,0x72,0x61, - 0x6d,0x73,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x66, - 0x6c,0x69,0x70,0x5f,0x79,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63, - 0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x0a,0x7b,0x0a,0x20,0x20, - 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x76,0x5f,0x75,0x76,0x20,0x5b,0x5b, - 0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x30,0x29,0x5d,0x5d,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x67,0x6c,0x5f,0x50,0x6f,0x73, - 0x69,0x74,0x69,0x6f,0x6e,0x20,0x5b,0x5b,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e, - 0x5d,0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x76,0x65,0x72,0x74,0x65,0x78,0x20,0x6d, - 0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x28,0x63, - 0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x63,0x6f,0x6d,0x70,0x6f,0x73,0x69,0x74, - 0x65,0x5f,0x76,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x26,0x20,0x5f,0x33,0x39, - 0x20,0x5b,0x5b,0x62,0x75,0x66,0x66,0x65,0x72,0x28,0x30,0x29,0x5d,0x5d,0x2c,0x20, - 0x75,0x69,0x6e,0x74,0x20,0x67,0x6c,0x5f,0x56,0x65,0x72,0x74,0x65,0x78,0x49,0x6e, - 0x64,0x65,0x78,0x20,0x5b,0x5b,0x76,0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x64,0x5d, - 0x5d,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f, - 0x75,0x74,0x20,0x6f,0x75,0x74,0x20,0x3d,0x20,0x7b,0x7d,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x38,0x20,0x3d,0x20,0x66,0x6c,0x6f, - 0x61,0x74,0x28,0x28,0x69,0x6e,0x74,0x28,0x67,0x6c,0x5f,0x56,0x65,0x72,0x74,0x65, - 0x78,0x49,0x6e,0x64,0x65,0x78,0x29,0x20,0x3c,0x3c,0x20,0x31,0x29,0x20,0x26,0x20, - 0x32,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x32, - 0x31,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x28,0x69,0x6e,0x74,0x28,0x67,0x6c, - 0x5f,0x56,0x65,0x72,0x74,0x65,0x78,0x49,0x6e,0x64,0x65,0x78,0x29,0x20,0x26,0x20, - 0x32,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x76,0x5f,0x75,0x76, - 0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x5f,0x31,0x38,0x2c,0x20,0x6d, - 0x69,0x78,0x28,0x5f,0x32,0x31,0x2c,0x20,0x31,0x2e,0x30,0x20,0x2d,0x20,0x5f,0x32, - 0x31,0x2c,0x20,0x5f,0x33,0x39,0x2e,0x66,0x6c,0x69,0x70,0x5f,0x79,0x29,0x29,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x67,0x6c,0x5f,0x50,0x6f,0x73,0x69, - 0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x28,0x66, - 0x6c,0x6f,0x61,0x74,0x32,0x28,0x5f,0x31,0x38,0x2c,0x20,0x5f,0x32,0x31,0x29,0x20, - 0x2a,0x20,0x32,0x2e,0x30,0x29,0x20,0x2d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28, - 0x31,0x2e,0x30,0x29,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x6f,0x75,0x74,0x3b, - 0x0a,0x7d,0x0a,0x0a,0x00, +vs_fullscreen_source_metal_macos := u8.[ + 0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x63,0x6c,0x61,0x6e,0x67,0x20,0x64,0x69, + 0x61,0x67,0x6e,0x6f,0x73,0x74,0x69,0x63,0x20,0x69,0x67,0x6e,0x6f,0x72,0x65,0x64, + 0x20,0x22,0x2d,0x57,0x6d,0x69,0x73,0x73,0x69,0x6e,0x67,0x2d,0x70,0x72,0x6f,0x74, + 0x6f,0x74,0x79,0x70,0x65,0x73,0x22,0x0a,0x0a,0x23,0x69,0x6e,0x63,0x6c,0x75,0x64, + 0x65,0x20,0x3c,0x6d,0x65,0x74,0x61,0x6c,0x5f,0x73,0x74,0x64,0x6c,0x69,0x62,0x3e, + 0x0a,0x23,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x20,0x3c,0x73,0x69,0x6d,0x64,0x2f, + 0x73,0x69,0x6d,0x64,0x2e,0x68,0x3e,0x0a,0x0a,0x75,0x73,0x69,0x6e,0x67,0x20,0x6e, + 0x61,0x6d,0x65,0x73,0x70,0x61,0x63,0x65,0x20,0x6d,0x65,0x74,0x61,0x6c,0x3b,0x0a, + 0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75, + 0x74,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x67, + 0x6c,0x5f,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x20,0x5b,0x5b,0x70,0x6f,0x73, + 0x69,0x74,0x69,0x6f,0x6e,0x5d,0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x61, + 0x74,0x69,0x63,0x20,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x5f,0x5f,0x61,0x74,0x74, + 0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x61,0x6c,0x77,0x61,0x79,0x73, + 0x5f,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x29,0x29,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x32, + 0x20,0x66,0x75,0x6c,0x6c,0x73,0x63,0x72,0x65,0x65,0x6e,0x5f,0x70,0x6f,0x73,0x69, + 0x74,0x69,0x6f,0x6e,0x28,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x63,0x6f,0x6e,0x73, + 0x74,0x20,0x69,0x6e,0x74,0x26,0x20,0x76,0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x6e, + 0x64,0x65,0x78,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72, + 0x6e,0x20,0x28,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x66,0x6c,0x6f,0x61,0x74,0x28, + 0x28,0x76,0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x6e,0x64,0x65,0x78,0x20,0x3c,0x3c, + 0x20,0x31,0x29,0x20,0x26,0x20,0x32,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x28, + 0x76,0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x6e,0x64,0x65,0x78,0x20,0x26,0x20,0x32, + 0x29,0x29,0x20,0x2a,0x20,0x32,0x2e,0x30,0x29,0x20,0x2d,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x32,0x28,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x65,0x72,0x74, + 0x65,0x78,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,0x6d,0x61,0x69, + 0x6e,0x30,0x28,0x75,0x69,0x6e,0x74,0x20,0x67,0x6c,0x5f,0x56,0x65,0x72,0x74,0x65, + 0x78,0x49,0x6e,0x64,0x65,0x78,0x20,0x5b,0x5b,0x76,0x65,0x72,0x74,0x65,0x78,0x5f, + 0x69,0x64,0x5d,0x5d,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x6d,0x61,0x69,0x6e, + 0x30,0x5f,0x6f,0x75,0x74,0x20,0x6f,0x75,0x74,0x20,0x3d,0x20,0x7b,0x7d,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20, + 0x69,0x6e,0x74,0x28,0x67,0x6c,0x5f,0x56,0x65,0x72,0x74,0x65,0x78,0x49,0x6e,0x64, + 0x65,0x78,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x67,0x6c,0x5f, + 0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x34,0x28,0x66,0x75,0x6c,0x6c,0x73,0x63,0x72,0x65,0x65,0x6e,0x5f,0x70,0x6f,0x73, + 0x69,0x74,0x69,0x6f,0x6e,0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x2c,0x20,0x30,0x2e, + 0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74, + 0x75,0x72,0x6e,0x20,0x6f,0x75,0x74,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, ]; /* + #pragma clang diagnostic ignored "-Wmissing-prototypes" + #include #include @@ -1759,47 +6596,440 @@ vs_composite_source_metal_macos := u8.[ float4 frag_color [[color(0)]]; }; - struct main0_in + static inline __attribute__((always_inline)) + float3 glowing(thread const int2& p, texture2d bloom_source, sampler bloom_smp, texture2d bloom_glow) { - float2 v_uv [[user(locn0)]]; - }; + return bloom_source.read(uint2(p), 0).xyz * bloom_glow.read(uint2(p), 0).x; + } - fragment main0_out main0(main0_in in [[stage_in]], texture2d view_color [[texture(0)]], sampler composite_smp [[sampler(0)]]) + fragment main0_out main0(texture2d bloom_source [[texture(0)]], texture2d bloom_glow [[texture(1)]], sampler bloom_smp [[sampler(0)]], float4 gl_FragCoord [[position]]) { main0_out out = {}; - out.frag_color = view_color.sample(composite_smp, in.v_uv); + int2 _53 = int2(gl_FragCoord.xy) * int2(2); + int2 param = _53; + int2 param_1 = _53 + int2(1, 0); + int2 param_2 = _53 + int2(0, 1); + int2 param_3 = _53 + int2(1); + out.frag_color = float4((((glowing(param, bloom_source, bloom_smp, bloom_glow) + glowing(param_1, bloom_source, bloom_smp, bloom_glow)) + glowing(param_2, bloom_source, bloom_smp, bloom_glow)) + glowing(param_3, bloom_source, bloom_smp, bloom_glow)) * 0.25, 1.0); return out; } */ -fs_composite_source_metal_macos := u8.[ +fs_bloom_glow_source_metal_macos := u8.[ + 0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x63,0x6c,0x61,0x6e,0x67,0x20,0x64,0x69, + 0x61,0x67,0x6e,0x6f,0x73,0x74,0x69,0x63,0x20,0x69,0x67,0x6e,0x6f,0x72,0x65,0x64, + 0x20,0x22,0x2d,0x57,0x6d,0x69,0x73,0x73,0x69,0x6e,0x67,0x2d,0x70,0x72,0x6f,0x74, + 0x6f,0x74,0x79,0x70,0x65,0x73,0x22,0x0a,0x0a,0x23,0x69,0x6e,0x63,0x6c,0x75,0x64, + 0x65,0x20,0x3c,0x6d,0x65,0x74,0x61,0x6c,0x5f,0x73,0x74,0x64,0x6c,0x69,0x62,0x3e, + 0x0a,0x23,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x20,0x3c,0x73,0x69,0x6d,0x64,0x2f, + 0x73,0x69,0x6d,0x64,0x2e,0x68,0x3e,0x0a,0x0a,0x75,0x73,0x69,0x6e,0x67,0x20,0x6e, + 0x61,0x6d,0x65,0x73,0x70,0x61,0x63,0x65,0x20,0x6d,0x65,0x74,0x61,0x6c,0x3b,0x0a, + 0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75, + 0x74,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x66, + 0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x5b,0x5b,0x63,0x6f,0x6c,0x6f, + 0x72,0x28,0x30,0x29,0x5d,0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x61,0x74, + 0x69,0x63,0x20,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x5f,0x5f,0x61,0x74,0x74,0x72, + 0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x61,0x6c,0x77,0x61,0x79,0x73,0x5f, + 0x69,0x6e,0x6c,0x69,0x6e,0x65,0x29,0x29,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20, + 0x67,0x6c,0x6f,0x77,0x69,0x6e,0x67,0x28,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x63, + 0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x32,0x26,0x20,0x70,0x2c,0x20,0x74,0x65, + 0x78,0x74,0x75,0x72,0x65,0x32,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e,0x20,0x62, + 0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6f,0x75,0x72,0x63,0x65,0x2c,0x20,0x73,0x61,0x6d, + 0x70,0x6c,0x65,0x72,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6d,0x70,0x2c,0x20, + 0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x32,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e, + 0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x67,0x6c,0x6f,0x77,0x29,0x0a,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f, + 0x73,0x6f,0x75,0x72,0x63,0x65,0x2e,0x72,0x65,0x61,0x64,0x28,0x75,0x69,0x6e,0x74, + 0x32,0x28,0x70,0x29,0x2c,0x20,0x30,0x29,0x2e,0x78,0x79,0x7a,0x20,0x2a,0x20,0x62, + 0x6c,0x6f,0x6f,0x6d,0x5f,0x67,0x6c,0x6f,0x77,0x2e,0x72,0x65,0x61,0x64,0x28,0x75, + 0x69,0x6e,0x74,0x32,0x28,0x70,0x29,0x2c,0x20,0x30,0x29,0x2e,0x78,0x3b,0x0a,0x7d, + 0x0a,0x0a,0x66,0x72,0x61,0x67,0x6d,0x65,0x6e,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30, + 0x5f,0x6f,0x75,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x28,0x74,0x65,0x78,0x74,0x75, + 0x72,0x65,0x32,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e,0x20,0x62,0x6c,0x6f,0x6f, + 0x6d,0x5f,0x73,0x6f,0x75,0x72,0x63,0x65,0x20,0x5b,0x5b,0x74,0x65,0x78,0x74,0x75, + 0x72,0x65,0x28,0x30,0x29,0x5d,0x5d,0x2c,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65, + 0x32,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f, + 0x67,0x6c,0x6f,0x77,0x20,0x5b,0x5b,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x31, + 0x29,0x5d,0x5d,0x2c,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x20,0x62,0x6c,0x6f, + 0x6f,0x6d,0x5f,0x73,0x6d,0x70,0x20,0x5b,0x5b,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72, + 0x28,0x30,0x29,0x5d,0x5d,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x67,0x6c, + 0x5f,0x46,0x72,0x61,0x67,0x43,0x6f,0x6f,0x72,0x64,0x20,0x5b,0x5b,0x70,0x6f,0x73, + 0x69,0x74,0x69,0x6f,0x6e,0x5d,0x5d,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x6d, + 0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,0x6f,0x75,0x74,0x20,0x3d,0x20,0x7b, + 0x7d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x32,0x20,0x5f,0x35,0x33,0x20, + 0x3d,0x20,0x69,0x6e,0x74,0x32,0x28,0x67,0x6c,0x5f,0x46,0x72,0x61,0x67,0x43,0x6f, + 0x6f,0x72,0x64,0x2e,0x78,0x79,0x29,0x20,0x2a,0x20,0x69,0x6e,0x74,0x32,0x28,0x32, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x32,0x20,0x70,0x61,0x72,0x61, + 0x6d,0x20,0x3d,0x20,0x5f,0x35,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74, + 0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20,0x5f,0x35,0x33,0x20, + 0x2b,0x20,0x69,0x6e,0x74,0x32,0x28,0x31,0x2c,0x20,0x30,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x69,0x6e,0x74,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x20,0x3d, + 0x20,0x5f,0x35,0x33,0x20,0x2b,0x20,0x69,0x6e,0x74,0x32,0x28,0x30,0x2c,0x20,0x31, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x32,0x20,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x33,0x20,0x3d,0x20,0x5f,0x35,0x33,0x20,0x2b,0x20,0x69,0x6e,0x74,0x32, + 0x28,0x31,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x66,0x72,0x61, + 0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34, + 0x28,0x28,0x28,0x28,0x67,0x6c,0x6f,0x77,0x69,0x6e,0x67,0x28,0x70,0x61,0x72,0x61, + 0x6d,0x2c,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6f,0x75,0x72,0x63,0x65,0x2c, + 0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x62,0x6c,0x6f,0x6f, + 0x6d,0x5f,0x67,0x6c,0x6f,0x77,0x29,0x20,0x2b,0x20,0x67,0x6c,0x6f,0x77,0x69,0x6e, + 0x67,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x2c,0x20,0x62,0x6c,0x6f,0x6f,0x6d, + 0x5f,0x73,0x6f,0x75,0x72,0x63,0x65,0x2c,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73, + 0x6d,0x70,0x2c,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x67,0x6c,0x6f,0x77,0x29,0x29, + 0x20,0x2b,0x20,0x67,0x6c,0x6f,0x77,0x69,0x6e,0x67,0x28,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x32,0x2c,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6f,0x75,0x72,0x63,0x65, + 0x2c,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x62,0x6c,0x6f, + 0x6f,0x6d,0x5f,0x67,0x6c,0x6f,0x77,0x29,0x29,0x20,0x2b,0x20,0x67,0x6c,0x6f,0x77, + 0x69,0x6e,0x67,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x2c,0x20,0x62,0x6c,0x6f, + 0x6f,0x6d,0x5f,0x73,0x6f,0x75,0x72,0x63,0x65,0x2c,0x20,0x62,0x6c,0x6f,0x6f,0x6d, + 0x5f,0x73,0x6d,0x70,0x2c,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x67,0x6c,0x6f,0x77, + 0x29,0x29,0x20,0x2a,0x20,0x30,0x2e,0x32,0x35,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x6f,0x75,0x74,0x3b, + 0x0a,0x7d,0x0a,0x0a,0x00, +]; +/* + #pragma clang diagnostic ignored "-Wmissing-prototypes" + + #include + #include + + using namespace metal; + + struct main0_out + { + float4 frag_color [[color(0)]]; + }; + + static inline __attribute__((always_inline)) + float3 tap(thread const float2& uv, texture2d bloom_source, sampler bloom_smp) + { + return bloom_source.sample(bloom_smp, uv).xyz; + } + + fragment main0_out main0(texture2d bloom_source [[texture(0)]], sampler bloom_smp [[sampler(0)]], float4 gl_FragCoord [[position]]) + { + main0_out out = {}; + float2 _40 = float2(int2(bloom_source.get_width(), bloom_source.get_height())); + float2 _42 = float2(1.0) / _40; + float2 _51 = (gl_FragCoord.xy * 2.0) * _42; + float2 param = _51 + (float2(-1.0) / _40); + float2 param_1 = _51 + (float2(1.0, -1.0) / _40); + float2 param_2 = _51 + (float2(-1.0, 1.0) / _40); + float2 param_3 = _51 + _42; + out.frag_color = float4((((tap(param, bloom_source, bloom_smp) + tap(param_1, bloom_source, bloom_smp)) + tap(param_2, bloom_source, bloom_smp)) + tap(param_3, bloom_source, bloom_smp)) * 0.25, 1.0); + return out; + } + +*/ +fs_bloom_down_source_metal_macos := u8.[ + 0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x63,0x6c,0x61,0x6e,0x67,0x20,0x64,0x69, + 0x61,0x67,0x6e,0x6f,0x73,0x74,0x69,0x63,0x20,0x69,0x67,0x6e,0x6f,0x72,0x65,0x64, + 0x20,0x22,0x2d,0x57,0x6d,0x69,0x73,0x73,0x69,0x6e,0x67,0x2d,0x70,0x72,0x6f,0x74, + 0x6f,0x74,0x79,0x70,0x65,0x73,0x22,0x0a,0x0a,0x23,0x69,0x6e,0x63,0x6c,0x75,0x64, + 0x65,0x20,0x3c,0x6d,0x65,0x74,0x61,0x6c,0x5f,0x73,0x74,0x64,0x6c,0x69,0x62,0x3e, + 0x0a,0x23,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x20,0x3c,0x73,0x69,0x6d,0x64,0x2f, + 0x73,0x69,0x6d,0x64,0x2e,0x68,0x3e,0x0a,0x0a,0x75,0x73,0x69,0x6e,0x67,0x20,0x6e, + 0x61,0x6d,0x65,0x73,0x70,0x61,0x63,0x65,0x20,0x6d,0x65,0x74,0x61,0x6c,0x3b,0x0a, + 0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75, + 0x74,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x66, + 0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x5b,0x5b,0x63,0x6f,0x6c,0x6f, + 0x72,0x28,0x30,0x29,0x5d,0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x61,0x74, + 0x69,0x63,0x20,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x5f,0x5f,0x61,0x74,0x74,0x72, + 0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x61,0x6c,0x77,0x61,0x79,0x73,0x5f, + 0x69,0x6e,0x6c,0x69,0x6e,0x65,0x29,0x29,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20, + 0x74,0x61,0x70,0x28,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x63,0x6f,0x6e,0x73,0x74, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x26,0x20,0x75,0x76,0x2c,0x20,0x74,0x65,0x78, + 0x74,0x75,0x72,0x65,0x32,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e,0x20,0x62,0x6c, + 0x6f,0x6f,0x6d,0x5f,0x73,0x6f,0x75,0x72,0x63,0x65,0x2c,0x20,0x73,0x61,0x6d,0x70, + 0x6c,0x65,0x72,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6d,0x70,0x29,0x0a,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x62,0x6c,0x6f,0x6f, + 0x6d,0x5f,0x73,0x6f,0x75,0x72,0x63,0x65,0x2e,0x73,0x61,0x6d,0x70,0x6c,0x65,0x28, + 0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x75,0x76,0x29,0x2e,0x78, + 0x79,0x7a,0x3b,0x0a,0x7d,0x0a,0x0a,0x66,0x72,0x61,0x67,0x6d,0x65,0x6e,0x74,0x20, + 0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x28, + 0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x32,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e, + 0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6f,0x75,0x72,0x63,0x65,0x20,0x5b,0x5b, + 0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x30,0x29,0x5d,0x5d,0x2c,0x20,0x73,0x61, + 0x6d,0x70,0x6c,0x65,0x72,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6d,0x70,0x20, + 0x5b,0x5b,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x28,0x30,0x29,0x5d,0x5d,0x2c,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x67,0x6c,0x5f,0x46,0x72,0x61,0x67,0x43,0x6f, + 0x6f,0x72,0x64,0x20,0x5b,0x5b,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x5d,0x5d, + 0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75, + 0x74,0x20,0x6f,0x75,0x74,0x20,0x3d,0x20,0x7b,0x7d,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x5f,0x34,0x30,0x20,0x3d,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x32,0x28,0x69,0x6e,0x74,0x32,0x28,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73, + 0x6f,0x75,0x72,0x63,0x65,0x2e,0x67,0x65,0x74,0x5f,0x77,0x69,0x64,0x74,0x68,0x28, + 0x29,0x2c,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6f,0x75,0x72,0x63,0x65,0x2e, + 0x67,0x65,0x74,0x5f,0x68,0x65,0x69,0x67,0x68,0x74,0x28,0x29,0x29,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x5f,0x34,0x32,0x20,0x3d, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x31,0x2e,0x30,0x29,0x20,0x2f,0x20,0x5f, + 0x34,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x5f, + 0x35,0x31,0x20,0x3d,0x20,0x28,0x67,0x6c,0x5f,0x46,0x72,0x61,0x67,0x43,0x6f,0x6f, + 0x72,0x64,0x2e,0x78,0x79,0x20,0x2a,0x20,0x32,0x2e,0x30,0x29,0x20,0x2a,0x20,0x5f, + 0x34,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x70, + 0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x5f,0x35,0x31,0x20,0x2b,0x20,0x28,0x66,0x6c, + 0x6f,0x61,0x74,0x32,0x28,0x2d,0x31,0x2e,0x30,0x29,0x20,0x2f,0x20,0x5f,0x34,0x30, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x70,0x61, + 0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20,0x5f,0x35,0x31,0x20,0x2b,0x20,0x28,0x66, + 0x6c,0x6f,0x61,0x74,0x32,0x28,0x31,0x2e,0x30,0x2c,0x20,0x2d,0x31,0x2e,0x30,0x29, + 0x20,0x2f,0x20,0x5f,0x34,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x20,0x3d,0x20,0x5f,0x35, + 0x31,0x20,0x2b,0x20,0x28,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x2d,0x31,0x2e,0x30, + 0x2c,0x20,0x31,0x2e,0x30,0x29,0x20,0x2f,0x20,0x5f,0x34,0x30,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x33,0x20,0x3d,0x20,0x5f,0x35,0x31,0x20,0x2b,0x20,0x5f,0x34,0x32,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f, + 0x72,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x28,0x28,0x28,0x74,0x61, + 0x70,0x28,0x70,0x61,0x72,0x61,0x6d,0x2c,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73, + 0x6f,0x75,0x72,0x63,0x65,0x2c,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6d,0x70, + 0x29,0x20,0x2b,0x20,0x74,0x61,0x70,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x2c, + 0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6f,0x75,0x72,0x63,0x65,0x2c,0x20,0x62, + 0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6d,0x70,0x29,0x29,0x20,0x2b,0x20,0x74,0x61,0x70, + 0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x2c,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f, + 0x73,0x6f,0x75,0x72,0x63,0x65,0x2c,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6d, + 0x70,0x29,0x29,0x20,0x2b,0x20,0x74,0x61,0x70,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x33,0x2c,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6f,0x75,0x72,0x63,0x65,0x2c, + 0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6d,0x70,0x29,0x29,0x20,0x2a,0x20,0x30, + 0x2e,0x32,0x35,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72, + 0x65,0x74,0x75,0x72,0x6e,0x20,0x6f,0x75,0x74,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, +]; +/* + #pragma clang diagnostic ignored "-Wmissing-prototypes" + + #include + #include + + using namespace metal; + + struct main0_out + { + float4 frag_color [[color(0)]]; + }; + + static inline __attribute__((always_inline)) + float3 tap(thread const float2& uv, texture2d bloom_source, sampler bloom_smp) + { + return bloom_source.sample(bloom_smp, uv).xyz; + } + + fragment main0_out main0(texture2d bloom_source [[texture(0)]], sampler bloom_smp [[sampler(0)]], float4 gl_FragCoord [[position]]) + { + main0_out out = {}; + float2 _40 = float2(int2(bloom_source.get_width(), bloom_source.get_height())); + float2 _42 = float2(1.0) / _40; + float2 _51 = (gl_FragCoord.xy * 0.5) * _42; + float2 param = _51; + float2 param_1 = _51 + (float2(-1.0, 0.0) / _40); + float2 param_2 = _51 + (float2(1.0, 0.0) / _40); + float2 param_3 = _51 + (float2(0.0, -1.0) / _40); + float2 param_4 = _51 + (float2(0.0, 1.0) / _40); + float2 param_5 = _51 + (float2(-1.0) / _40); + float2 param_6 = _51 + (float2(1.0, -1.0) / _40); + float2 param_7 = _51 + (float2(-1.0, 1.0) / _40); + float2 param_8 = _51 + _42; + out.frag_color = float4((((tap(param, bloom_source, bloom_smp) * 4.0) + ((((tap(param_1, bloom_source, bloom_smp) + tap(param_2, bloom_source, bloom_smp)) + tap(param_3, bloom_source, bloom_smp)) + tap(param_4, bloom_source, bloom_smp)) * 2.0)) + (((tap(param_5, bloom_source, bloom_smp) + tap(param_6, bloom_source, bloom_smp)) + tap(param_7, bloom_source, bloom_smp)) + tap(param_8, bloom_source, bloom_smp))) * float3(0.0625), 1.0); + return out; + } + +*/ +fs_bloom_up_source_metal_macos := u8.[ + 0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x63,0x6c,0x61,0x6e,0x67,0x20,0x64,0x69, + 0x61,0x67,0x6e,0x6f,0x73,0x74,0x69,0x63,0x20,0x69,0x67,0x6e,0x6f,0x72,0x65,0x64, + 0x20,0x22,0x2d,0x57,0x6d,0x69,0x73,0x73,0x69,0x6e,0x67,0x2d,0x70,0x72,0x6f,0x74, + 0x6f,0x74,0x79,0x70,0x65,0x73,0x22,0x0a,0x0a,0x23,0x69,0x6e,0x63,0x6c,0x75,0x64, + 0x65,0x20,0x3c,0x6d,0x65,0x74,0x61,0x6c,0x5f,0x73,0x74,0x64,0x6c,0x69,0x62,0x3e, + 0x0a,0x23,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x20,0x3c,0x73,0x69,0x6d,0x64,0x2f, + 0x73,0x69,0x6d,0x64,0x2e,0x68,0x3e,0x0a,0x0a,0x75,0x73,0x69,0x6e,0x67,0x20,0x6e, + 0x61,0x6d,0x65,0x73,0x70,0x61,0x63,0x65,0x20,0x6d,0x65,0x74,0x61,0x6c,0x3b,0x0a, + 0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75, + 0x74,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x66, + 0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x5b,0x5b,0x63,0x6f,0x6c,0x6f, + 0x72,0x28,0x30,0x29,0x5d,0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x61,0x74, + 0x69,0x63,0x20,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x5f,0x5f,0x61,0x74,0x74,0x72, + 0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x61,0x6c,0x77,0x61,0x79,0x73,0x5f, + 0x69,0x6e,0x6c,0x69,0x6e,0x65,0x29,0x29,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20, + 0x74,0x61,0x70,0x28,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x63,0x6f,0x6e,0x73,0x74, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x26,0x20,0x75,0x76,0x2c,0x20,0x74,0x65,0x78, + 0x74,0x75,0x72,0x65,0x32,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e,0x20,0x62,0x6c, + 0x6f,0x6f,0x6d,0x5f,0x73,0x6f,0x75,0x72,0x63,0x65,0x2c,0x20,0x73,0x61,0x6d,0x70, + 0x6c,0x65,0x72,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6d,0x70,0x29,0x0a,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x62,0x6c,0x6f,0x6f, + 0x6d,0x5f,0x73,0x6f,0x75,0x72,0x63,0x65,0x2e,0x73,0x61,0x6d,0x70,0x6c,0x65,0x28, + 0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x75,0x76,0x29,0x2e,0x78, + 0x79,0x7a,0x3b,0x0a,0x7d,0x0a,0x0a,0x66,0x72,0x61,0x67,0x6d,0x65,0x6e,0x74,0x20, + 0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x28, + 0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x32,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e, + 0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6f,0x75,0x72,0x63,0x65,0x20,0x5b,0x5b, + 0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x30,0x29,0x5d,0x5d,0x2c,0x20,0x73,0x61, + 0x6d,0x70,0x6c,0x65,0x72,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6d,0x70,0x20, + 0x5b,0x5b,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x28,0x30,0x29,0x5d,0x5d,0x2c,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x67,0x6c,0x5f,0x46,0x72,0x61,0x67,0x43,0x6f, + 0x6f,0x72,0x64,0x20,0x5b,0x5b,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x5d,0x5d, + 0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75, + 0x74,0x20,0x6f,0x75,0x74,0x20,0x3d,0x20,0x7b,0x7d,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x5f,0x34,0x30,0x20,0x3d,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x32,0x28,0x69,0x6e,0x74,0x32,0x28,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73, + 0x6f,0x75,0x72,0x63,0x65,0x2e,0x67,0x65,0x74,0x5f,0x77,0x69,0x64,0x74,0x68,0x28, + 0x29,0x2c,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6f,0x75,0x72,0x63,0x65,0x2e, + 0x67,0x65,0x74,0x5f,0x68,0x65,0x69,0x67,0x68,0x74,0x28,0x29,0x29,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x5f,0x34,0x32,0x20,0x3d, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x31,0x2e,0x30,0x29,0x20,0x2f,0x20,0x5f, + 0x34,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x5f, + 0x35,0x31,0x20,0x3d,0x20,0x28,0x67,0x6c,0x5f,0x46,0x72,0x61,0x67,0x43,0x6f,0x6f, + 0x72,0x64,0x2e,0x78,0x79,0x20,0x2a,0x20,0x30,0x2e,0x35,0x29,0x20,0x2a,0x20,0x5f, + 0x34,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x70, + 0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x5f,0x35,0x31,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d, + 0x20,0x5f,0x35,0x31,0x20,0x2b,0x20,0x28,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x2d, + 0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x29,0x20,0x2f,0x20,0x5f,0x34,0x30,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x32,0x20,0x3d,0x20,0x5f,0x35,0x31,0x20,0x2b,0x20,0x28,0x66,0x6c, + 0x6f,0x61,0x74,0x32,0x28,0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x29,0x20,0x2f, + 0x20,0x5f,0x34,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x20,0x3d,0x20,0x5f,0x35,0x31,0x20, + 0x2b,0x20,0x28,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x30,0x2e,0x30,0x2c,0x20,0x2d, + 0x31,0x2e,0x30,0x29,0x20,0x2f,0x20,0x5f,0x34,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x20, + 0x3d,0x20,0x5f,0x35,0x31,0x20,0x2b,0x20,0x28,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28, + 0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x20,0x2f,0x20,0x5f,0x34,0x30,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x35,0x20,0x3d,0x20,0x5f,0x35,0x31,0x20,0x2b,0x20,0x28,0x66,0x6c, + 0x6f,0x61,0x74,0x32,0x28,0x2d,0x31,0x2e,0x30,0x29,0x20,0x2f,0x20,0x5f,0x34,0x30, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x70,0x61, + 0x72,0x61,0x6d,0x5f,0x36,0x20,0x3d,0x20,0x5f,0x35,0x31,0x20,0x2b,0x20,0x28,0x66, + 0x6c,0x6f,0x61,0x74,0x32,0x28,0x31,0x2e,0x30,0x2c,0x20,0x2d,0x31,0x2e,0x30,0x29, + 0x20,0x2f,0x20,0x5f,0x34,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x37,0x20,0x3d,0x20,0x5f,0x35, + 0x31,0x20,0x2b,0x20,0x28,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x2d,0x31,0x2e,0x30, + 0x2c,0x20,0x31,0x2e,0x30,0x29,0x20,0x2f,0x20,0x5f,0x34,0x30,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x38,0x20,0x3d,0x20,0x5f,0x35,0x31,0x20,0x2b,0x20,0x5f,0x34,0x32,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f, + 0x72,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x28,0x28,0x28,0x74,0x61, + 0x70,0x28,0x70,0x61,0x72,0x61,0x6d,0x2c,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73, + 0x6f,0x75,0x72,0x63,0x65,0x2c,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6d,0x70, + 0x29,0x20,0x2a,0x20,0x34,0x2e,0x30,0x29,0x20,0x2b,0x20,0x28,0x28,0x28,0x28,0x74, + 0x61,0x70,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x2c,0x20,0x62,0x6c,0x6f,0x6f, + 0x6d,0x5f,0x73,0x6f,0x75,0x72,0x63,0x65,0x2c,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f, + 0x73,0x6d,0x70,0x29,0x20,0x2b,0x20,0x74,0x61,0x70,0x28,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x32,0x2c,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6f,0x75,0x72,0x63,0x65, + 0x2c,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6d,0x70,0x29,0x29,0x20,0x2b,0x20, + 0x74,0x61,0x70,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x2c,0x20,0x62,0x6c,0x6f, + 0x6f,0x6d,0x5f,0x73,0x6f,0x75,0x72,0x63,0x65,0x2c,0x20,0x62,0x6c,0x6f,0x6f,0x6d, + 0x5f,0x73,0x6d,0x70,0x29,0x29,0x20,0x2b,0x20,0x74,0x61,0x70,0x28,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x34,0x2c,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6f,0x75,0x72, + 0x63,0x65,0x2c,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6d,0x70,0x29,0x29,0x20, + 0x2a,0x20,0x32,0x2e,0x30,0x29,0x29,0x20,0x2b,0x20,0x28,0x28,0x28,0x74,0x61,0x70, + 0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x35,0x2c,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f, + 0x73,0x6f,0x75,0x72,0x63,0x65,0x2c,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6d, + 0x70,0x29,0x20,0x2b,0x20,0x74,0x61,0x70,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36, + 0x2c,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6f,0x75,0x72,0x63,0x65,0x2c,0x20, + 0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6d,0x70,0x29,0x29,0x20,0x2b,0x20,0x74,0x61, + 0x70,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x37,0x2c,0x20,0x62,0x6c,0x6f,0x6f,0x6d, + 0x5f,0x73,0x6f,0x75,0x72,0x63,0x65,0x2c,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73, + 0x6d,0x70,0x29,0x29,0x20,0x2b,0x20,0x74,0x61,0x70,0x28,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x38,0x2c,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6f,0x75,0x72,0x63,0x65, + 0x2c,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x73,0x6d,0x70,0x29,0x29,0x29,0x20,0x2a, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x30,0x36,0x32,0x35,0x29,0x2c, + 0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72, + 0x6e,0x20,0x6f,0x75,0x74,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, +]; +/* + #include + #include + + using namespace metal; + + struct post_params + { + float exposure; + float contrast; + float saturation; + float bloom_amount; + }; + + struct main0_out + { + float4 frag_color [[color(0)]]; + }; + + fragment main0_out main0(constant post_params& _51 [[buffer(0)]], texture2d view_color [[texture(0)]], texture2d bloom [[texture(1)]], sampler view_smp [[sampler(0)]], sampler bloom_view_smp [[sampler(1)]], float4 gl_FragCoord [[position]]) + { + main0_out out = {}; + float2 _31 = gl_FragCoord.xy / float2(int2(view_color.get_width(), view_color.get_height())); + float3 _73 = ((((view_color.sample(view_smp, _31).xyz + (bloom.sample(bloom_view_smp, _31).xyz * _51.bloom_amount)) * exp2(_51.exposure)) - float3(0.5)) * _51.contrast) + float3(0.5); + out.frag_color = float4(fast::clamp(mix(float3(dot(_73, float3(0.2125999927520751953125, 0.715200006961822509765625, 0.072200000286102294921875))), _73, float3(_51.saturation)), float3(0.0), float3(1.0)), 1.0); + return out; + } + +*/ +fs_post_source_metal_macos := u8.[ 0x23,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x20,0x3c,0x6d,0x65,0x74,0x61,0x6c,0x5f, 0x73,0x74,0x64,0x6c,0x69,0x62,0x3e,0x0a,0x23,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65, 0x20,0x3c,0x73,0x69,0x6d,0x64,0x2f,0x73,0x69,0x6d,0x64,0x2e,0x68,0x3e,0x0a,0x0a, 0x75,0x73,0x69,0x6e,0x67,0x20,0x6e,0x61,0x6d,0x65,0x73,0x70,0x61,0x63,0x65,0x20, - 0x6d,0x65,0x74,0x61,0x6c,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x6d, - 0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72, - 0x20,0x5b,0x5b,0x63,0x6f,0x6c,0x6f,0x72,0x28,0x30,0x29,0x5d,0x5d,0x3b,0x0a,0x7d, - 0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f, - 0x69,0x6e,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20, - 0x76,0x5f,0x75,0x76,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e, - 0x30,0x29,0x5d,0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x66,0x72,0x61,0x67,0x6d,0x65, - 0x6e,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,0x6d,0x61,0x69, - 0x6e,0x30,0x28,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x69,0x6e,0x20,0x69,0x6e,0x20,0x5b, - 0x5b,0x73,0x74,0x61,0x67,0x65,0x5f,0x69,0x6e,0x5d,0x5d,0x2c,0x20,0x74,0x65,0x78, - 0x74,0x75,0x72,0x65,0x32,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e,0x20,0x76,0x69, - 0x65,0x77,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x5b,0x5b,0x74,0x65,0x78,0x74,0x75, - 0x72,0x65,0x28,0x30,0x29,0x5d,0x5d,0x2c,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72, - 0x20,0x63,0x6f,0x6d,0x70,0x6f,0x73,0x69,0x74,0x65,0x5f,0x73,0x6d,0x70,0x20,0x5b, - 0x5b,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x28,0x30,0x29,0x5d,0x5d,0x29,0x0a,0x7b, - 0x0a,0x20,0x20,0x20,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,0x6f, - 0x75,0x74,0x20,0x3d,0x20,0x7b,0x7d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74, - 0x2e,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x76,0x69, - 0x65,0x77,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x73,0x61,0x6d,0x70,0x6c,0x65,0x28, - 0x63,0x6f,0x6d,0x70,0x6f,0x73,0x69,0x74,0x65,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x69, - 0x6e,0x2e,0x76,0x5f,0x75,0x76,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74, - 0x75,0x72,0x6e,0x20,0x6f,0x75,0x74,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, + 0x6d,0x65,0x74,0x61,0x6c,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x70, + 0x6f,0x73,0x74,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x0a,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x65,0x78,0x70,0x6f,0x73,0x75,0x72,0x65,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x63,0x6f,0x6e,0x74,0x72, + 0x61,0x73,0x74,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x73, + 0x61,0x74,0x75,0x72,0x61,0x74,0x69,0x6f,0x6e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x61,0x6d,0x6f,0x75,0x6e, + 0x74,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x6d,0x61, + 0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20, + 0x5b,0x5b,0x63,0x6f,0x6c,0x6f,0x72,0x28,0x30,0x29,0x5d,0x5d,0x3b,0x0a,0x7d,0x3b, + 0x0a,0x0a,0x66,0x72,0x61,0x67,0x6d,0x65,0x6e,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30, + 0x5f,0x6f,0x75,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x28,0x63,0x6f,0x6e,0x73,0x74, + 0x61,0x6e,0x74,0x20,0x70,0x6f,0x73,0x74,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x26, + 0x20,0x5f,0x35,0x31,0x20,0x5b,0x5b,0x62,0x75,0x66,0x66,0x65,0x72,0x28,0x30,0x29, + 0x5d,0x5d,0x2c,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x32,0x64,0x3c,0x66,0x6c, + 0x6f,0x61,0x74,0x3e,0x20,0x76,0x69,0x65,0x77,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20, + 0x5b,0x5b,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x30,0x29,0x5d,0x5d,0x2c,0x20, + 0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x32,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e, + 0x20,0x62,0x6c,0x6f,0x6f,0x6d,0x20,0x5b,0x5b,0x74,0x65,0x78,0x74,0x75,0x72,0x65, + 0x28,0x31,0x29,0x5d,0x5d,0x2c,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x20,0x76, + 0x69,0x65,0x77,0x5f,0x73,0x6d,0x70,0x20,0x5b,0x5b,0x73,0x61,0x6d,0x70,0x6c,0x65, + 0x72,0x28,0x30,0x29,0x5d,0x5d,0x2c,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x20, + 0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x76,0x69,0x65,0x77,0x5f,0x73,0x6d,0x70,0x20,0x5b, + 0x5b,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x28,0x31,0x29,0x5d,0x5d,0x2c,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x34,0x20,0x67,0x6c,0x5f,0x46,0x72,0x61,0x67,0x43,0x6f,0x6f, + 0x72,0x64,0x20,0x5b,0x5b,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x5d,0x5d,0x29, + 0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74, + 0x20,0x6f,0x75,0x74,0x20,0x3d,0x20,0x7b,0x7d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x32,0x20,0x5f,0x33,0x31,0x20,0x3d,0x20,0x67,0x6c,0x5f,0x46, + 0x72,0x61,0x67,0x43,0x6f,0x6f,0x72,0x64,0x2e,0x78,0x79,0x20,0x2f,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x32,0x28,0x69,0x6e,0x74,0x32,0x28,0x76,0x69,0x65,0x77,0x5f,0x63, + 0x6f,0x6c,0x6f,0x72,0x2e,0x67,0x65,0x74,0x5f,0x77,0x69,0x64,0x74,0x68,0x28,0x29, + 0x2c,0x20,0x76,0x69,0x65,0x77,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x67,0x65,0x74, + 0x5f,0x68,0x65,0x69,0x67,0x68,0x74,0x28,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x37,0x33,0x20,0x3d,0x20,0x28,0x28, + 0x28,0x28,0x76,0x69,0x65,0x77,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x73,0x61,0x6d, + 0x70,0x6c,0x65,0x28,0x76,0x69,0x65,0x77,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x5f,0x33, + 0x31,0x29,0x2e,0x78,0x79,0x7a,0x20,0x2b,0x20,0x28,0x62,0x6c,0x6f,0x6f,0x6d,0x2e, + 0x73,0x61,0x6d,0x70,0x6c,0x65,0x28,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x76,0x69,0x65, + 0x77,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x5f,0x33,0x31,0x29,0x2e,0x78,0x79,0x7a,0x20, + 0x2a,0x20,0x5f,0x35,0x31,0x2e,0x62,0x6c,0x6f,0x6f,0x6d,0x5f,0x61,0x6d,0x6f,0x75, + 0x6e,0x74,0x29,0x29,0x20,0x2a,0x20,0x65,0x78,0x70,0x32,0x28,0x5f,0x35,0x31,0x2e, + 0x65,0x78,0x70,0x6f,0x73,0x75,0x72,0x65,0x29,0x29,0x20,0x2d,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x33,0x28,0x30,0x2e,0x35,0x29,0x29,0x20,0x2a,0x20,0x5f,0x35,0x31,0x2e, + 0x63,0x6f,0x6e,0x74,0x72,0x61,0x73,0x74,0x29,0x20,0x2b,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x33,0x28,0x30,0x2e,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74, + 0x2e,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x34,0x28,0x66,0x61,0x73,0x74,0x3a,0x3a,0x63,0x6c,0x61,0x6d,0x70, + 0x28,0x6d,0x69,0x78,0x28,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x64,0x6f,0x74,0x28, + 0x5f,0x37,0x33,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x32,0x31, + 0x32,0x35,0x39,0x39,0x39,0x39,0x32,0x37,0x35,0x32,0x30,0x37,0x35,0x31,0x39,0x35, + 0x33,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x37,0x31,0x35,0x32,0x30,0x30,0x30,0x30, + 0x36,0x39,0x36,0x31,0x38,0x32,0x32,0x35,0x30,0x39,0x37,0x36,0x35,0x36,0x32,0x35, + 0x2c,0x20,0x30,0x2e,0x30,0x37,0x32,0x32,0x30,0x30,0x30,0x30,0x30,0x32,0x38,0x36, + 0x31,0x30,0x32,0x32,0x39,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x29,0x29,0x29,0x2c, + 0x20,0x5f,0x37,0x33,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x5f,0x35,0x31, + 0x2e,0x73,0x61,0x74,0x75,0x72,0x61,0x74,0x69,0x6f,0x6e,0x29,0x29,0x2c,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x30,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x33,0x28,0x31,0x2e,0x30,0x29,0x29,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x6f,0x75,0x74,0x3b,0x0a, + 0x7d,0x0a,0x0a,0x00, ]; /* #include @@ -1810,43 +7040,71 @@ fs_composite_source_metal_macos := u8.[ struct trile_params { float4 orientations[72]; + float show_hidden; }; struct view_params { float4x4 view_proj; + float4x4 inv_view_proj; float4 camera; float4 clip; + float4 sun_direction; + float4 sun_color; + float4 shade_color; }; struct main0_out { float v_clip [[user(locn0)]]; - float v_swatch [[user(locn1)]]; - float v_ao [[user(locn2)]]; - float v_tint [[user(locn3)]]; + float3 v_to_camera [[user(locn1)]]; + float3 v_world [[user(locn2)]]; + float3 v_normal [[user(locn3)]]; + float v_swatch [[user(locn4)]]; + float v_facing [[user(locn5)]]; + float v_ao [[user(locn6)]]; + float3 v_shade [[user(locn7)]]; + float3 v_sun [[user(locn8)]]; + float v_tint [[user(locn9)]]; + float v_cut [[user(locn10)]]; float4 gl_Position [[position]]; }; struct main0_in { float3 position [[attribute(0)]]; - float swatch [[attribute(1)]]; - float ao [[attribute(2)]]; - float4 instance [[attribute(3)]]; - float tint [[attribute(4)]]; + float4 data_n [[attribute(1)]]; + float4 instance [[attribute(2)]]; + float tint [[attribute(3)]]; + float cut [[attribute(4)]]; }; - vertex main0_out main0(main0_in in [[stage_in]], constant trile_params& _36 [[buffer(0)]], constant view_params& _75 [[buffer(1)]]) + vertex main0_out main0(main0_in in [[stage_in]], constant trile_params& _37 [[buffer(0)]], constant view_params& _116 [[buffer(1)]]) { main0_out out = {}; - int _22 = int(in.instance.w + 0.5) * 3; - float3 _30 = in.position - float3(0.5); - float4 _84 = float4((float3(dot(_36.orientations[_22].xyz, _30), dot(_36.orientations[_22 + 1].xyz, _30), dot(_36.orientations[_22 + 2].xyz, _30)) + float3(0.5)) + in.instance.xyz, 1.0); - out.gl_Position = _75.view_proj * _84; - out.v_clip = dot(_84, _75.clip); - out.v_swatch = in.swatch; - out.v_ao = in.ao; + float4 _14 = in.data_n * 255.0; + int _28 = int(in.instance.w + 0.5) * 3; + float3x3 _71 = transpose(float3x3(float3(_37.orientations[_28].xyz), float3(_37.orientations[_28 + 1].xyz), float3(_37.orientations[_28 + 2].xyz))); + float3 _85 = ((_71 * (in.position - float3(0.5))) + float3(0.5)) + in.instance.xyz; + int _92 = int(_14.z + 0.5); + float3 normal = float3(0.0); + normal[_92 / 2] = ((_92 % 2) == 0) ? 1.0 : (-1.0); + out.v_normal = _71 * normal; + out.v_facing = smoothstep(0.0, 0.300000011920928955078125, dot(out.v_normal, _116.sun_direction.xyz)); + out.v_ao = _14.y * 0.3333333432674407958984375; + out.v_shade = _116.shade_color.xyz; + out.v_sun = _116.sun_color.xyz; + float4 _150 = float4(_85, 1.0); + out.gl_Position = _116.view_proj * _150; + out.v_cut = (_37.show_hidden > 0.5) ? 0.0 : in.cut; + if (out.v_cut > 0.999000012874603271484375) + { + out.gl_Position = float4(0.0, 0.0, 2.0, 1.0); + } + out.v_to_camera = _116.camera.xyz - _85; + out.v_world = _85; + out.v_clip = dot(_150, _116.clip); + out.v_swatch = _14.x; out.v_tint = in.tint; return out; } @@ -1860,75 +7118,1189 @@ vs_trile_source_metal_macos := u8.[ 0x6d,0x65,0x74,0x61,0x6c,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x74, 0x72,0x69,0x6c,0x65,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x0a,0x7b,0x0a,0x20,0x20, 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x6f,0x72,0x69,0x65,0x6e,0x74,0x61, - 0x74,0x69,0x6f,0x6e,0x73,0x5b,0x37,0x32,0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73, - 0x74,0x72,0x75,0x63,0x74,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d, - 0x73,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x78,0x34, - 0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x72,0x6f,0x6a,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x63,0x61,0x6d,0x65,0x72,0x61,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x63,0x6c,0x69,0x70,0x3b,0x0a, - 0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30, - 0x5f,0x6f,0x75,0x74,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, - 0x20,0x76,0x5f,0x63,0x6c,0x69,0x70,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c, - 0x6f,0x63,0x6e,0x30,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, - 0x61,0x74,0x20,0x76,0x5f,0x73,0x77,0x61,0x74,0x63,0x68,0x20,0x5b,0x5b,0x75,0x73, - 0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x31,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20, + 0x74,0x69,0x6f,0x6e,0x73,0x5b,0x37,0x32,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x20,0x73,0x68,0x6f,0x77,0x5f,0x68,0x69,0x64,0x64,0x65,0x6e, + 0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x76,0x69,0x65, + 0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x34,0x78,0x34,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x72,0x6f, + 0x6a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x78,0x34,0x20, + 0x69,0x6e,0x76,0x5f,0x76,0x69,0x65,0x77,0x5f,0x70,0x72,0x6f,0x6a,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x63,0x61,0x6d,0x65,0x72,0x61, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x63,0x6c,0x69, + 0x70,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x73,0x75, + 0x6e,0x5f,0x64,0x69,0x72,0x65,0x63,0x74,0x69,0x6f,0x6e,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x73,0x75,0x6e,0x5f,0x63,0x6f,0x6c,0x6f, + 0x72,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x73,0x68, + 0x61,0x64,0x65,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73, + 0x74,0x72,0x75,0x63,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x0a, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x63,0x6c, + 0x69,0x70,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x30,0x29, + 0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x76, + 0x5f,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x20,0x5b,0x5b,0x75,0x73,0x65, + 0x72,0x28,0x6c,0x6f,0x63,0x6e,0x31,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x76,0x5f,0x77,0x6f,0x72,0x6c,0x64,0x20,0x5b, + 0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x32,0x29,0x5d,0x5d,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x76,0x5f,0x6e,0x6f,0x72, + 0x6d,0x61,0x6c,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x33, + 0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76, + 0x5f,0x73,0x77,0x61,0x74,0x63,0x68,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c, + 0x6f,0x63,0x6e,0x34,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x20,0x76,0x5f,0x66,0x61,0x63,0x69,0x6e,0x67,0x20,0x5b,0x5b,0x75,0x73, + 0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x35,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20, 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x61,0x6f,0x20,0x5b,0x5b,0x75,0x73, - 0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x32,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x74,0x69,0x6e,0x74,0x20,0x5b,0x5b, - 0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x33,0x29,0x5d,0x5d,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x67,0x6c,0x5f,0x50,0x6f,0x73, - 0x69,0x74,0x69,0x6f,0x6e,0x20,0x5b,0x5b,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e, - 0x5d,0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x6d, - 0x61,0x69,0x6e,0x30,0x5f,0x69,0x6e,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x33,0x20,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x20,0x5b,0x5b, - 0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x28,0x30,0x29,0x5d,0x5d,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x73,0x77,0x61,0x74,0x63,0x68, - 0x20,0x5b,0x5b,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x28,0x31,0x29,0x5d, - 0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x61,0x6f,0x20, + 0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x36,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x76,0x5f,0x73,0x68,0x61,0x64,0x65,0x20, + 0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x37,0x29,0x5d,0x5d,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x76,0x5f,0x73,0x75, + 0x6e,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x38,0x29,0x5d, + 0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x74, + 0x69,0x6e,0x74,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x39, + 0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76, + 0x5f,0x63,0x75,0x74,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e, + 0x31,0x30,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x34,0x20,0x67,0x6c,0x5f,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x20,0x5b,0x5b, + 0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x5d,0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a, + 0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x69,0x6e,0x0a, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x70,0x6f,0x73, + 0x69,0x74,0x69,0x6f,0x6e,0x20,0x5b,0x5b,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74, + 0x65,0x28,0x30,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x34,0x20,0x64,0x61,0x74,0x61,0x5f,0x6e,0x20,0x5b,0x5b,0x61,0x74,0x74,0x72, + 0x69,0x62,0x75,0x74,0x65,0x28,0x31,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x69,0x6e,0x73,0x74,0x61,0x6e,0x63,0x65,0x20, 0x5b,0x5b,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x28,0x32,0x29,0x5d,0x5d, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x69,0x6e,0x73, - 0x74,0x61,0x6e,0x63,0x65,0x20,0x5b,0x5b,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74, - 0x65,0x28,0x33,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, - 0x74,0x20,0x74,0x69,0x6e,0x74,0x20,0x5b,0x5b,0x61,0x74,0x74,0x72,0x69,0x62,0x75, - 0x74,0x65,0x28,0x34,0x29,0x5d,0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x76,0x65,0x72, - 0x74,0x65,0x78,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,0x6d,0x61, - 0x69,0x6e,0x30,0x28,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x69,0x6e,0x20,0x69,0x6e,0x20, - 0x5b,0x5b,0x73,0x74,0x61,0x67,0x65,0x5f,0x69,0x6e,0x5d,0x5d,0x2c,0x20,0x63,0x6f, - 0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x74,0x72,0x69,0x6c,0x65,0x5f,0x70,0x61,0x72, - 0x61,0x6d,0x73,0x26,0x20,0x5f,0x33,0x36,0x20,0x5b,0x5b,0x62,0x75,0x66,0x66,0x65, - 0x72,0x28,0x30,0x29,0x5d,0x5d,0x2c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74, - 0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x26,0x20,0x5f,0x37, - 0x35,0x20,0x5b,0x5b,0x62,0x75,0x66,0x66,0x65,0x72,0x28,0x31,0x29,0x5d,0x5d,0x29, - 0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74, - 0x20,0x6f,0x75,0x74,0x20,0x3d,0x20,0x7b,0x7d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69, - 0x6e,0x74,0x20,0x5f,0x32,0x32,0x20,0x3d,0x20,0x69,0x6e,0x74,0x28,0x69,0x6e,0x2e, - 0x69,0x6e,0x73,0x74,0x61,0x6e,0x63,0x65,0x2e,0x77,0x20,0x2b,0x20,0x30,0x2e,0x35, - 0x29,0x20,0x2a,0x20,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, - 0x33,0x20,0x5f,0x33,0x30,0x20,0x3d,0x20,0x69,0x6e,0x2e,0x70,0x6f,0x73,0x69,0x74, - 0x69,0x6f,0x6e,0x20,0x2d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x35, - 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x5f,0x38, - 0x34,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x28,0x66,0x6c,0x6f,0x61, - 0x74,0x33,0x28,0x64,0x6f,0x74,0x28,0x5f,0x33,0x36,0x2e,0x6f,0x72,0x69,0x65,0x6e, - 0x74,0x61,0x74,0x69,0x6f,0x6e,0x73,0x5b,0x5f,0x32,0x32,0x5d,0x2e,0x78,0x79,0x7a, - 0x2c,0x20,0x5f,0x33,0x30,0x29,0x2c,0x20,0x64,0x6f,0x74,0x28,0x5f,0x33,0x36,0x2e, - 0x6f,0x72,0x69,0x65,0x6e,0x74,0x61,0x74,0x69,0x6f,0x6e,0x73,0x5b,0x5f,0x32,0x32, - 0x20,0x2b,0x20,0x31,0x5d,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x5f,0x33,0x30,0x29,0x2c, - 0x20,0x64,0x6f,0x74,0x28,0x5f,0x33,0x36,0x2e,0x6f,0x72,0x69,0x65,0x6e,0x74,0x61, - 0x74,0x69,0x6f,0x6e,0x73,0x5b,0x5f,0x32,0x32,0x20,0x2b,0x20,0x32,0x5d,0x2e,0x78, - 0x79,0x7a,0x2c,0x20,0x5f,0x33,0x30,0x29,0x29,0x20,0x2b,0x20,0x66,0x6c,0x6f,0x61, - 0x74,0x33,0x28,0x30,0x2e,0x35,0x29,0x29,0x20,0x2b,0x20,0x69,0x6e,0x2e,0x69,0x6e, - 0x73,0x74,0x61,0x6e,0x63,0x65,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x31,0x2e,0x30,0x29, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x67,0x6c,0x5f,0x50,0x6f,0x73, - 0x69,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x5f,0x37,0x35,0x2e,0x76,0x69,0x65,0x77, - 0x5f,0x70,0x72,0x6f,0x6a,0x20,0x2a,0x20,0x5f,0x38,0x34,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x6f,0x75,0x74,0x2e,0x76,0x5f,0x63,0x6c,0x69,0x70,0x20,0x3d,0x20,0x64,0x6f, - 0x74,0x28,0x5f,0x38,0x34,0x2c,0x20,0x5f,0x37,0x35,0x2e,0x63,0x6c,0x69,0x70,0x29, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x76,0x5f,0x73,0x77,0x61,0x74, - 0x63,0x68,0x20,0x3d,0x20,0x69,0x6e,0x2e,0x73,0x77,0x61,0x74,0x63,0x68,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x76,0x5f,0x61,0x6f,0x20,0x3d,0x20,0x69, - 0x6e,0x2e,0x61,0x6f,0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x76,0x5f, - 0x74,0x69,0x6e,0x74,0x20,0x3d,0x20,0x69,0x6e,0x2e,0x74,0x69,0x6e,0x74,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x6f,0x75,0x74,0x3b,0x0a, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x74,0x69,0x6e,0x74, + 0x20,0x5b,0x5b,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x28,0x33,0x29,0x5d, + 0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x63,0x75,0x74, + 0x20,0x5b,0x5b,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x28,0x34,0x29,0x5d, + 0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x76,0x65,0x72,0x74,0x65,0x78,0x20,0x6d,0x61, + 0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x28,0x6d,0x61, + 0x69,0x6e,0x30,0x5f,0x69,0x6e,0x20,0x69,0x6e,0x20,0x5b,0x5b,0x73,0x74,0x61,0x67, + 0x65,0x5f,0x69,0x6e,0x5d,0x5d,0x2c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74, + 0x20,0x74,0x72,0x69,0x6c,0x65,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x26,0x20,0x5f, + 0x33,0x37,0x20,0x5b,0x5b,0x62,0x75,0x66,0x66,0x65,0x72,0x28,0x30,0x29,0x5d,0x5d, + 0x2c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x76,0x69,0x65,0x77,0x5f, + 0x70,0x61,0x72,0x61,0x6d,0x73,0x26,0x20,0x5f,0x31,0x31,0x36,0x20,0x5b,0x5b,0x62, + 0x75,0x66,0x66,0x65,0x72,0x28,0x31,0x29,0x5d,0x5d,0x29,0x0a,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,0x6f,0x75,0x74,0x20, + 0x3d,0x20,0x7b,0x7d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34, + 0x20,0x5f,0x31,0x34,0x20,0x3d,0x20,0x69,0x6e,0x2e,0x64,0x61,0x74,0x61,0x5f,0x6e, + 0x20,0x2a,0x20,0x32,0x35,0x35,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e, + 0x74,0x20,0x5f,0x32,0x38,0x20,0x3d,0x20,0x69,0x6e,0x74,0x28,0x69,0x6e,0x2e,0x69, + 0x6e,0x73,0x74,0x61,0x6e,0x63,0x65,0x2e,0x77,0x20,0x2b,0x20,0x30,0x2e,0x35,0x29, + 0x20,0x2a,0x20,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33, + 0x78,0x33,0x20,0x5f,0x37,0x31,0x20,0x3d,0x20,0x74,0x72,0x61,0x6e,0x73,0x70,0x6f, + 0x73,0x65,0x28,0x66,0x6c,0x6f,0x61,0x74,0x33,0x78,0x33,0x28,0x66,0x6c,0x6f,0x61, + 0x74,0x33,0x28,0x5f,0x33,0x37,0x2e,0x6f,0x72,0x69,0x65,0x6e,0x74,0x61,0x74,0x69, + 0x6f,0x6e,0x73,0x5b,0x5f,0x32,0x38,0x5d,0x2e,0x78,0x79,0x7a,0x29,0x2c,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x33,0x28,0x5f,0x33,0x37,0x2e,0x6f,0x72,0x69,0x65,0x6e,0x74, + 0x61,0x74,0x69,0x6f,0x6e,0x73,0x5b,0x5f,0x32,0x38,0x20,0x2b,0x20,0x31,0x5d,0x2e, + 0x78,0x79,0x7a,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x5f,0x33,0x37, + 0x2e,0x6f,0x72,0x69,0x65,0x6e,0x74,0x61,0x74,0x69,0x6f,0x6e,0x73,0x5b,0x5f,0x32, + 0x38,0x20,0x2b,0x20,0x32,0x5d,0x2e,0x78,0x79,0x7a,0x29,0x29,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x38,0x35,0x20,0x3d,0x20, + 0x28,0x28,0x5f,0x37,0x31,0x20,0x2a,0x20,0x28,0x69,0x6e,0x2e,0x70,0x6f,0x73,0x69, + 0x74,0x69,0x6f,0x6e,0x20,0x2d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e, + 0x35,0x29,0x29,0x29,0x20,0x2b,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e, + 0x35,0x29,0x29,0x20,0x2b,0x20,0x69,0x6e,0x2e,0x69,0x6e,0x73,0x74,0x61,0x6e,0x63, + 0x65,0x2e,0x78,0x79,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x5f, + 0x39,0x32,0x20,0x3d,0x20,0x69,0x6e,0x74,0x28,0x5f,0x31,0x34,0x2e,0x7a,0x20,0x2b, + 0x20,0x30,0x2e,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x33,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x33,0x28,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x6e,0x6f,0x72,0x6d, + 0x61,0x6c,0x5b,0x5f,0x39,0x32,0x20,0x2f,0x20,0x32,0x5d,0x20,0x3d,0x20,0x28,0x28, + 0x5f,0x39,0x32,0x20,0x25,0x20,0x32,0x29,0x20,0x3d,0x3d,0x20,0x30,0x29,0x20,0x3f, + 0x20,0x31,0x2e,0x30,0x20,0x3a,0x20,0x28,0x2d,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x76,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x20, + 0x3d,0x20,0x5f,0x37,0x31,0x20,0x2a,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x76,0x5f,0x66,0x61,0x63,0x69,0x6e,0x67, + 0x20,0x3d,0x20,0x73,0x6d,0x6f,0x6f,0x74,0x68,0x73,0x74,0x65,0x70,0x28,0x30,0x2e, + 0x30,0x2c,0x20,0x30,0x2e,0x33,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39,0x32, + 0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x2c,0x20,0x64, + 0x6f,0x74,0x28,0x6f,0x75,0x74,0x2e,0x76,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x2c, + 0x20,0x5f,0x31,0x31,0x36,0x2e,0x73,0x75,0x6e,0x5f,0x64,0x69,0x72,0x65,0x63,0x74, + 0x69,0x6f,0x6e,0x2e,0x78,0x79,0x7a,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f, + 0x75,0x74,0x2e,0x76,0x5f,0x61,0x6f,0x20,0x3d,0x20,0x5f,0x31,0x34,0x2e,0x79,0x20, + 0x2a,0x20,0x30,0x2e,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x34,0x33,0x32,0x36,0x37, + 0x34,0x34,0x30,0x37,0x39,0x35,0x38,0x39,0x38,0x34,0x33,0x37,0x35,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x76,0x5f,0x73,0x68,0x61,0x64,0x65,0x20,0x3d, + 0x20,0x5f,0x31,0x31,0x36,0x2e,0x73,0x68,0x61,0x64,0x65,0x5f,0x63,0x6f,0x6c,0x6f, + 0x72,0x2e,0x78,0x79,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x76, + 0x5f,0x73,0x75,0x6e,0x20,0x3d,0x20,0x5f,0x31,0x31,0x36,0x2e,0x73,0x75,0x6e,0x5f, + 0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x78,0x79,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x34,0x20,0x5f,0x31,0x35,0x30,0x20,0x3d,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x34,0x28,0x5f,0x38,0x35,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x67,0x6c,0x5f,0x50,0x6f,0x73,0x69,0x74,0x69, + 0x6f,0x6e,0x20,0x3d,0x20,0x5f,0x31,0x31,0x36,0x2e,0x76,0x69,0x65,0x77,0x5f,0x70, + 0x72,0x6f,0x6a,0x20,0x2a,0x20,0x5f,0x31,0x35,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x6f,0x75,0x74,0x2e,0x76,0x5f,0x63,0x75,0x74,0x20,0x3d,0x20,0x28,0x5f,0x33,0x37, + 0x2e,0x73,0x68,0x6f,0x77,0x5f,0x68,0x69,0x64,0x64,0x65,0x6e,0x20,0x3e,0x20,0x30, + 0x2e,0x35,0x29,0x20,0x3f,0x20,0x30,0x2e,0x30,0x20,0x3a,0x20,0x69,0x6e,0x2e,0x63, + 0x75,0x74,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x6f,0x75,0x74,0x2e, + 0x76,0x5f,0x63,0x75,0x74,0x20,0x3e,0x20,0x30,0x2e,0x39,0x39,0x39,0x30,0x30,0x30, + 0x30,0x31,0x32,0x38,0x37,0x34,0x36,0x30,0x33,0x32,0x37,0x31,0x34,0x38,0x34,0x33, + 0x37,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x6f,0x75,0x74,0x2e,0x67,0x6c,0x5f,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f, + 0x6e,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x30,0x2e,0x30,0x2c,0x20, + 0x30,0x2e,0x30,0x2c,0x20,0x32,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x76,0x5f, + 0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x20,0x3d,0x20,0x5f,0x31,0x31,0x36, + 0x2e,0x63,0x61,0x6d,0x65,0x72,0x61,0x2e,0x78,0x79,0x7a,0x20,0x2d,0x20,0x5f,0x38, + 0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x76,0x5f,0x77,0x6f,0x72, + 0x6c,0x64,0x20,0x3d,0x20,0x5f,0x38,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75, + 0x74,0x2e,0x76,0x5f,0x63,0x6c,0x69,0x70,0x20,0x3d,0x20,0x64,0x6f,0x74,0x28,0x5f, + 0x31,0x35,0x30,0x2c,0x20,0x5f,0x31,0x31,0x36,0x2e,0x63,0x6c,0x69,0x70,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x76,0x5f,0x73,0x77,0x61,0x74,0x63, + 0x68,0x20,0x3d,0x20,0x5f,0x31,0x34,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f, + 0x75,0x74,0x2e,0x76,0x5f,0x74,0x69,0x6e,0x74,0x20,0x3d,0x20,0x69,0x6e,0x2e,0x74, + 0x69,0x6e,0x74,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20, + 0x6f,0x75,0x74,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, +]; +/* + #pragma clang diagnostic ignored "-Wmissing-prototypes" + #pragma clang diagnostic ignored "-Wmissing-braces" + + #include + #include + + using namespace metal; + + template + struct spvUnsafeArray + { + T elements[Num ? Num : 1]; + + thread T& operator [] (size_t pos) thread + { + return elements[pos]; + } + constexpr const thread T& operator [] (size_t pos) const thread + { + return elements[pos]; + } + + device T& operator [] (size_t pos) device + { + return elements[pos]; + } + constexpr const device T& operator [] (size_t pos) const device + { + return elements[pos]; + } + + constexpr const constant T& operator [] (size_t pos) const constant + { + return elements[pos]; + } + + threadgroup T& operator [] (size_t pos) threadgroup + { + return elements[pos]; + } + constexpr const threadgroup T& operator [] (size_t pos) const threadgroup + { + return elements[pos]; + } + }; + + struct shadow_params + { + float4x4 shadow_uv; + }; + + struct trile_fs_params + { + float4 sun_dir; + float4 probe_min; + float4 probe_size; + float use_reflection; + float reflection_height; + }; + + constant spvUnsafeArray _499 = spvUnsafeArray({ 0.0, 8.0, 2.0, 10.0, 12.0, 4.0, 14.0, 6.0, 3.0, 11.0, 1.0, 9.0, 15.0, 7.0, 13.0, 5.0 }); + + struct main0_out + { + float4 frag_color [[color(0)]]; + float4 frag_glow [[color(1)]]; + float4 frag_scene [[color(2)]]; + }; + + struct main0_in + { + float v_clip [[user(locn0)]]; + float3 v_to_camera [[user(locn1)]]; + float3 v_world [[user(locn2)]]; + float3 v_normal [[user(locn3)]]; + float v_swatch [[user(locn4)]]; + float v_facing [[user(locn5)]]; + float v_ao [[user(locn6)]]; + float3 v_shade [[user(locn7)]]; + float3 v_sun [[user(locn8)]]; + float v_tint [[user(locn9)]]; + float v_cut [[user(locn10)]]; + }; + + static inline __attribute__((always_inline)) + float dither(thread const float2& pixel) + { + int2 _482 = int2(pixel) % int2(4); + return (_499[(_482.y * 4) + _482.x] + 0.5) * 0.0625; + } + + static inline __attribute__((always_inline)) + float3 sun_shadow(thread const float3& world, thread const float3& normal, constant shadow_params& _92, depth2d shadow_map, sampler shadow_smp, texture2d shadow_tint, sampler shadow_tint_smp) + { + float3 _73 = normal * 0.03125; + float4 _107 = _92.shadow_uv * float4((((floor((world - _73) * 16.0) + float3(0.5)) * float3(0.0625)) + _73) + (normal * 0.0199999995529651641845703125), 1.0); + float _109 = _107.x; + bool _111 = _109 < 0.0; + bool _118; + if (!_111) + { + _118 = _109 > 1.0; + } + else + { + _118 = _111; + } + bool _125; + if (!_118) + { + _125 = _107.y < 0.0; + } + else + { + _125 = _118; + } + bool _132; + if (!_125) + { + _132 = _107.y > 1.0; + } + else + { + _132 = _125; + } + bool _139; + if (!_132) + { + _139 = _107.z > 1.0; + } + else + { + _139 = _132; + } + if (_139) + { + return float3(1.0); + } + float _161 = _107.z - 0.0005000000237487256526947021484375; + return shadow_tint.sample(shadow_tint_smp, _107.xy).xyz * shadow_map.sample_compare(shadow_smp, float3(_109, _107.y, _161).xy, _161); + } + + static inline __attribute__((always_inline)) + bool probe_at(thread const int3& cell, thread float4& r, thread float4& g, thread float4& b, constant trile_fs_params& _193, texture3d probe_index, sampler probe_smp, texture3d probe_atlas) + { + int3 _188 = int3(floor(float3(cell) * float3(0.03125))); + int3 _200 = _188 - int3(_193.probe_min.xyz); + bool _205 = any(_200 < int3(0)); + bool _217; + if (!_205) + { + _217 = any(_200 >= int3(_193.probe_size.xyz)); + } + else + { + _217 = _205; + } + if (_217) + { + return false; + } + float2 _238 = (probe_index.read(uint3(_200), 0).xy * 255.0) + float2(0.5); + int _250 = (int(_238.x) + (int(_238.y) * 256)) - 1; + if (_250 < 0) + { + return false; + } + int3 _262 = cell - (_188 * int3(32)); + int3 _281 = int3(_262.x * 3, ((_250 % 16) * 32) + _262.y, ((_250 / 16) * 32) + _262.z); + r = probe_atlas.read(uint3(_281), 0); + g = probe_atlas.read(uint3((_281 + int3(1, 0, 0))), 0); + b = probe_atlas.read(uint3((_281 + int3(2, 0, 0))), 0); + return r.x >= 0.0; + } + + static inline __attribute__((always_inline)) + float4 probe_light(thread const float3& world, thread const float3& normal, constant trile_fs_params& _193, texture3d probe_index, sampler probe_smp, texture3d probe_atlas) + { + float3 _312 = normal * 0.03125; + float3 _324 = ((floor((world - _312) * 16.0) + float3(0.5)) * float3(0.0625)) + _312; + float3 _331 = (_324 + (normal * 0.5)) - float3(0.5); + int3 _335 = int3(floor(_331)); + float3 _340 = _331 - float3(_335); + float4 sum_r = float4(0.0); + float4 sum_g = float4(0.0); + float4 sum_b = float4(0.0); + float total = 0.0; + float4 param_1; + float4 param_2; + float4 param_3; + for (int i = 0; i < 8; i++) + { + int3 _363 = int3(i & 1, (i >> 1) & 1, i >> 2); + int3 _367 = _335 + _363; + if (dot((float3(_367) + float3(0.5)) - _324, normal) < 0.00999999977648258209228515625) + { + continue; + } + int3 param = _367; + bool _389 = probe_at(param, param_1, param_2, param_3, _193, probe_index, probe_smp, probe_atlas); + if (!_389) + { + continue; + } + float3 _404 = mix(float3(1.0) - _340, _340, float3(_363)); + float _415 = fast::max((_404.x * _404.y) * _404.z, 9.9999997473787516355514526367188e-05); + sum_r += (param_1 * _415); + sum_g += (param_2 * _415); + sum_b += (param_3 * _415); + total += _415; + } + if (total == 0.0) + { + return float4(0.0); + } + float4 _453 = float4(0.2820949852466583251953125, 0.3257350027561187744140625 * normal.y, 0.3257350027561187744140625 * normal.z, 0.3257350027561187744140625 * normal.x); + return float4(fast::max(float3(dot(sum_r, _453), dot(sum_g, _453), dot(sum_b, _453)) / float3(total), float3(0.0)), 1.0); + } + + static inline __attribute__((always_inline)) + float brightest(thread const float3& c) + { + return fast::max(c.x, fast::max(c.y, c.z)); + } + + static inline __attribute__((always_inline)) + void write_scene(thread const float3& to_camera, thread const float& glow, thread float4& frag_glow, thread float4& frag_scene) + { + frag_glow = float4(glow); + frag_scene = float4(length(to_camera)); + } + + fragment main0_out main0(main0_in in [[stage_in]], constant shadow_params& _92 [[buffer(0)]], constant trile_fs_params& _193 [[buffer(1)]], depth2d shadow_map [[texture(0)]], texture2d shadow_tint [[texture(1)]], texture3d probe_index [[texture(2)]], texture3d probe_atlas [[texture(3)]], texture2d palette [[texture(4)]], texture2d trile_reflection [[texture(5)]], texture2d trile_reflection_glow [[texture(6)]], sampler shadow_smp [[sampler(0)]], sampler shadow_tint_smp [[sampler(1)]], sampler probe_smp [[sampler(2)]], sampler palette_smp [[sampler(3)]], sampler trile_reflection_smp [[sampler(4)]], float4 gl_FragCoord [[position]]) + { + main0_out out = {}; + bool _517 = in.v_clip < 0.0; + bool _530; + if (!_517) + { + float2 param = gl_FragCoord.xy; + _530 = in.v_cut > dither(param); + } + else + { + _530 = _517; + } + if (_530) + { + discard_fragment(); + } + int _538 = int(in.v_swatch + 0.5); + float4 _548 = palette.read(uint2(int2(_538, 0)), 0); + float4 _556 = palette.read(uint2(int2(_538, 1)), 0); + float3 albedo = _548.xyz; + if (in.v_tint > 1.5) + { + albedo = mix(albedo, float3(1.0, 0.20000000298023223876953125, 0.20000000298023223876953125), float3(0.5)); + } + else + { + if (in.v_tint > 0.5) + { + albedo = mix(albedo, float3(0.20000000298023223876953125, 1.0, 0.20000000298023223876953125), float3(0.5)); + } + } + float3 param_1 = in.v_world; + float3 param_2 = in.v_normal; + float3 _590 = sun_shadow(param_1, param_2, _92, shadow_map, shadow_smp, shadow_tint, shadow_tint_smp); + float3 _591 = _590 * in.v_facing; + float4 _605; + if (_193.probe_min.w > 0.5) + { + float3 param_3 = in.v_world; + float3 param_4 = in.v_normal; + _605 = probe_light(param_3, param_4, _193, probe_index, probe_smp, probe_atlas); + } + else + { + _605 = float4(0.0); + } + float3 color = albedo * mix((in.v_shade + _605.xyz) * mix(0.60000002384185791015625, 1.0, in.v_ao), in.v_sun, _591 * mix(0.25, 1.0, in.v_ao)); + float3 param_5 = _591; + float _638 = brightest(param_5); + if (_638 > 0.001000000047497451305389404296875) + { + color = mix(color, _591 * in.v_sun, float3(fast::min(1.0, ((_638 - fast::min(_591.x, fast::min(_591.y, _591.z))) / _638) * 2.0))); + } + float _668 = _548.w; + float glow = _668 * 8.0; + float _671 = _556.z; + if (_671 > 0.0) + { + float _696 = powr(fast::max(dot(in.v_normal, fast::normalize(fast::normalize(in.v_to_camera) + _193.sun_dir.xyz)), 0.0), mix(4.0, 96.0, _671)) * _671; + color += ((in.v_sun * _591) * _696); + float3 param_6 = _591; + glow += ((_696 * brightest(param_6)) * 4.0); + } + bool _714 = _193.use_reflection > 0.5; + bool _720; + if (_714) + { + _720 = _556.y > 0.0; + } + else + { + _720 = _714; + } + bool _726; + if (_720) + { + _726 = in.v_normal.y > 0.5; + } + else + { + _726 = _720; + } + bool _736; + if (_726) + { + _736 = abs(in.v_world.y - _193.reflection_height) < 0.0199999995529651641845703125; + } + else + { + _736 = _726; + } + if (_736) + { + float2 _750 = gl_FragCoord.xy / float2(int2(trile_reflection.get_width(), trile_reflection.get_height())); + float2 _757 = float2(_750.x, 1.0 - _750.y); + float _766 = _556.y; + color = mix(color, trile_reflection.sample(trile_reflection_smp, _757).xyz, float3(_766)); + glow = fast::max(glow, trile_reflection_glow.sample(trile_reflection_smp, _757).x * powr(_766, 0.4000000059604644775390625)); + } + out.frag_color = float4(mix(color, albedo, float3(_668)), 1.0); + float3 param_7 = in.v_to_camera; + float param_8 = glow; + write_scene(param_7, param_8, out.frag_glow, out.frag_scene); + return out; + } + +*/ +fs_trile_source_metal_macos := u8.[ + 0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x63,0x6c,0x61,0x6e,0x67,0x20,0x64,0x69, + 0x61,0x67,0x6e,0x6f,0x73,0x74,0x69,0x63,0x20,0x69,0x67,0x6e,0x6f,0x72,0x65,0x64, + 0x20,0x22,0x2d,0x57,0x6d,0x69,0x73,0x73,0x69,0x6e,0x67,0x2d,0x70,0x72,0x6f,0x74, + 0x6f,0x74,0x79,0x70,0x65,0x73,0x22,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20, + 0x63,0x6c,0x61,0x6e,0x67,0x20,0x64,0x69,0x61,0x67,0x6e,0x6f,0x73,0x74,0x69,0x63, + 0x20,0x69,0x67,0x6e,0x6f,0x72,0x65,0x64,0x20,0x22,0x2d,0x57,0x6d,0x69,0x73,0x73, + 0x69,0x6e,0x67,0x2d,0x62,0x72,0x61,0x63,0x65,0x73,0x22,0x0a,0x0a,0x23,0x69,0x6e, + 0x63,0x6c,0x75,0x64,0x65,0x20,0x3c,0x6d,0x65,0x74,0x61,0x6c,0x5f,0x73,0x74,0x64, + 0x6c,0x69,0x62,0x3e,0x0a,0x23,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x20,0x3c,0x73, + 0x69,0x6d,0x64,0x2f,0x73,0x69,0x6d,0x64,0x2e,0x68,0x3e,0x0a,0x0a,0x75,0x73,0x69, + 0x6e,0x67,0x20,0x6e,0x61,0x6d,0x65,0x73,0x70,0x61,0x63,0x65,0x20,0x6d,0x65,0x74, + 0x61,0x6c,0x3b,0x0a,0x0a,0x74,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x3c,0x74,0x79, + 0x70,0x65,0x6e,0x61,0x6d,0x65,0x20,0x54,0x2c,0x20,0x73,0x69,0x7a,0x65,0x5f,0x74, + 0x20,0x4e,0x75,0x6d,0x3e,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x73,0x70,0x76, + 0x55,0x6e,0x73,0x61,0x66,0x65,0x41,0x72,0x72,0x61,0x79,0x0a,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x54,0x20,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x73,0x5b,0x4e,0x75,0x6d, + 0x20,0x3f,0x20,0x4e,0x75,0x6d,0x20,0x3a,0x20,0x31,0x5d,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x0a,0x20,0x20,0x20,0x20,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x54,0x26,0x20, + 0x6f,0x70,0x65,0x72,0x61,0x74,0x6f,0x72,0x20,0x5b,0x5d,0x20,0x28,0x73,0x69,0x7a, + 0x65,0x5f,0x74,0x20,0x70,0x6f,0x73,0x29,0x20,0x74,0x68,0x72,0x65,0x61,0x64,0x0a, + 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65, + 0x74,0x75,0x72,0x6e,0x20,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x73,0x5b,0x70,0x6f, + 0x73,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x63,0x6f, + 0x6e,0x73,0x74,0x65,0x78,0x70,0x72,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x74,0x68, + 0x72,0x65,0x61,0x64,0x20,0x54,0x26,0x20,0x6f,0x70,0x65,0x72,0x61,0x74,0x6f,0x72, + 0x20,0x5b,0x5d,0x20,0x28,0x73,0x69,0x7a,0x65,0x5f,0x74,0x20,0x70,0x6f,0x73,0x29, + 0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x74,0x68,0x72,0x65,0x61,0x64,0x0a,0x20,0x20, + 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75, + 0x72,0x6e,0x20,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x73,0x5b,0x70,0x6f,0x73,0x5d, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x0a,0x20,0x20,0x20, + 0x20,0x64,0x65,0x76,0x69,0x63,0x65,0x20,0x54,0x26,0x20,0x6f,0x70,0x65,0x72,0x61, + 0x74,0x6f,0x72,0x20,0x5b,0x5d,0x20,0x28,0x73,0x69,0x7a,0x65,0x5f,0x74,0x20,0x70, + 0x6f,0x73,0x29,0x20,0x64,0x65,0x76,0x69,0x63,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20, + 0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x73,0x5b,0x70,0x6f,0x73,0x5d,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x63,0x6f,0x6e,0x73,0x74,0x65,0x78, + 0x70,0x72,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x64,0x65,0x76,0x69,0x63,0x65,0x20, + 0x54,0x26,0x20,0x6f,0x70,0x65,0x72,0x61,0x74,0x6f,0x72,0x20,0x5b,0x5d,0x20,0x28, + 0x73,0x69,0x7a,0x65,0x5f,0x74,0x20,0x70,0x6f,0x73,0x29,0x20,0x63,0x6f,0x6e,0x73, + 0x74,0x20,0x64,0x65,0x76,0x69,0x63,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x65,0x6c, + 0x65,0x6d,0x65,0x6e,0x74,0x73,0x5b,0x70,0x6f,0x73,0x5d,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x0a,0x20,0x20,0x20,0x20,0x63,0x6f,0x6e,0x73, + 0x74,0x65,0x78,0x70,0x72,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x63,0x6f,0x6e,0x73, + 0x74,0x61,0x6e,0x74,0x20,0x54,0x26,0x20,0x6f,0x70,0x65,0x72,0x61,0x74,0x6f,0x72, + 0x20,0x5b,0x5d,0x20,0x28,0x73,0x69,0x7a,0x65,0x5f,0x74,0x20,0x70,0x6f,0x73,0x29, + 0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x0a, + 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65, + 0x74,0x75,0x72,0x6e,0x20,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x73,0x5b,0x70,0x6f, + 0x73,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x0a,0x20, + 0x20,0x20,0x20,0x74,0x68,0x72,0x65,0x61,0x64,0x67,0x72,0x6f,0x75,0x70,0x20,0x54, + 0x26,0x20,0x6f,0x70,0x65,0x72,0x61,0x74,0x6f,0x72,0x20,0x5b,0x5d,0x20,0x28,0x73, + 0x69,0x7a,0x65,0x5f,0x74,0x20,0x70,0x6f,0x73,0x29,0x20,0x74,0x68,0x72,0x65,0x61, + 0x64,0x67,0x72,0x6f,0x75,0x70,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x65,0x6c,0x65,0x6d, + 0x65,0x6e,0x74,0x73,0x5b,0x70,0x6f,0x73,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d, + 0x0a,0x20,0x20,0x20,0x20,0x63,0x6f,0x6e,0x73,0x74,0x65,0x78,0x70,0x72,0x20,0x63, + 0x6f,0x6e,0x73,0x74,0x20,0x74,0x68,0x72,0x65,0x61,0x64,0x67,0x72,0x6f,0x75,0x70, + 0x20,0x54,0x26,0x20,0x6f,0x70,0x65,0x72,0x61,0x74,0x6f,0x72,0x20,0x5b,0x5d,0x20, + 0x28,0x73,0x69,0x7a,0x65,0x5f,0x74,0x20,0x70,0x6f,0x73,0x29,0x20,0x63,0x6f,0x6e, + 0x73,0x74,0x20,0x74,0x68,0x72,0x65,0x61,0x64,0x67,0x72,0x6f,0x75,0x70,0x0a,0x20, + 0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74, + 0x75,0x72,0x6e,0x20,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x73,0x5b,0x70,0x6f,0x73, + 0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x72, + 0x75,0x63,0x74,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d, + 0x73,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x78,0x34, + 0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x75,0x76,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a, + 0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x74,0x72,0x69,0x6c,0x65,0x5f,0x66,0x73,0x5f, + 0x70,0x61,0x72,0x61,0x6d,0x73,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x34,0x20,0x73,0x75,0x6e,0x5f,0x64,0x69,0x72,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x70,0x72,0x6f,0x62,0x65,0x5f,0x6d,0x69, + 0x6e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x70,0x72, + 0x6f,0x62,0x65,0x5f,0x73,0x69,0x7a,0x65,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x20,0x75,0x73,0x65,0x5f,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69, + 0x6f,0x6e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x72,0x65, + 0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x68,0x65,0x69,0x67,0x68,0x74,0x3b, + 0x0a,0x7d,0x3b,0x0a,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x73,0x70, + 0x76,0x55,0x6e,0x73,0x61,0x66,0x65,0x41,0x72,0x72,0x61,0x79,0x3c,0x66,0x6c,0x6f, + 0x61,0x74,0x2c,0x20,0x31,0x36,0x3e,0x20,0x5f,0x34,0x39,0x39,0x20,0x3d,0x20,0x73, + 0x70,0x76,0x55,0x6e,0x73,0x61,0x66,0x65,0x41,0x72,0x72,0x61,0x79,0x3c,0x66,0x6c, + 0x6f,0x61,0x74,0x2c,0x20,0x31,0x36,0x3e,0x28,0x7b,0x20,0x30,0x2e,0x30,0x2c,0x20, + 0x38,0x2e,0x30,0x2c,0x20,0x32,0x2e,0x30,0x2c,0x20,0x31,0x30,0x2e,0x30,0x2c,0x20, + 0x31,0x32,0x2e,0x30,0x2c,0x20,0x34,0x2e,0x30,0x2c,0x20,0x31,0x34,0x2e,0x30,0x2c, + 0x20,0x36,0x2e,0x30,0x2c,0x20,0x33,0x2e,0x30,0x2c,0x20,0x31,0x31,0x2e,0x30,0x2c, + 0x20,0x31,0x2e,0x30,0x2c,0x20,0x39,0x2e,0x30,0x2c,0x20,0x31,0x35,0x2e,0x30,0x2c, + 0x20,0x37,0x2e,0x30,0x2c,0x20,0x31,0x33,0x2e,0x30,0x2c,0x20,0x35,0x2e,0x30,0x20, + 0x7d,0x29,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x6d,0x61,0x69,0x6e, + 0x30,0x5f,0x6f,0x75,0x74,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x5b,0x5b, + 0x63,0x6f,0x6c,0x6f,0x72,0x28,0x30,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77, + 0x20,0x5b,0x5b,0x63,0x6f,0x6c,0x6f,0x72,0x28,0x31,0x29,0x5d,0x5d,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x73, + 0x63,0x65,0x6e,0x65,0x20,0x5b,0x5b,0x63,0x6f,0x6c,0x6f,0x72,0x28,0x32,0x29,0x5d, + 0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x6d,0x61, + 0x69,0x6e,0x30,0x5f,0x69,0x6e,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x20,0x76,0x5f,0x63,0x6c,0x69,0x70,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72, + 0x28,0x6c,0x6f,0x63,0x6e,0x30,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x33,0x20,0x76,0x5f,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72, + 0x61,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x31,0x29,0x5d, + 0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x76,0x5f, + 0x77,0x6f,0x72,0x6c,0x64,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63, + 0x6e,0x32,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x33,0x20,0x76,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x20,0x5b,0x5b,0x75,0x73,0x65, + 0x72,0x28,0x6c,0x6f,0x63,0x6e,0x33,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x73,0x77,0x61,0x74,0x63,0x68,0x20,0x5b, + 0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x34,0x29,0x5d,0x5d,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x66,0x61,0x63,0x69, + 0x6e,0x67,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x35,0x29, + 0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f, + 0x61,0x6f,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x36,0x29, + 0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x76, + 0x5f,0x73,0x68,0x61,0x64,0x65,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f, + 0x63,0x6e,0x37,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x33,0x20,0x76,0x5f,0x73,0x75,0x6e,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28, + 0x6c,0x6f,0x63,0x6e,0x38,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x20,0x76,0x5f,0x74,0x69,0x6e,0x74,0x20,0x5b,0x5b,0x75,0x73,0x65, + 0x72,0x28,0x6c,0x6f,0x63,0x6e,0x39,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x63,0x75,0x74,0x20,0x5b,0x5b,0x75,0x73, + 0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x31,0x30,0x29,0x5d,0x5d,0x3b,0x0a,0x7d,0x3b, + 0x0a,0x0a,0x73,0x74,0x61,0x74,0x69,0x63,0x20,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20, + 0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x61, + 0x6c,0x77,0x61,0x79,0x73,0x5f,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x29,0x29,0x0a,0x66, + 0x6c,0x6f,0x61,0x74,0x20,0x64,0x69,0x74,0x68,0x65,0x72,0x28,0x74,0x68,0x72,0x65, + 0x61,0x64,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x26, + 0x20,0x70,0x69,0x78,0x65,0x6c,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e, + 0x74,0x32,0x20,0x5f,0x34,0x38,0x32,0x20,0x3d,0x20,0x69,0x6e,0x74,0x32,0x28,0x70, + 0x69,0x78,0x65,0x6c,0x29,0x20,0x25,0x20,0x69,0x6e,0x74,0x32,0x28,0x34,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x28,0x5f,0x34,0x39, + 0x39,0x5b,0x28,0x5f,0x34,0x38,0x32,0x2e,0x79,0x20,0x2a,0x20,0x34,0x29,0x20,0x2b, + 0x20,0x5f,0x34,0x38,0x32,0x2e,0x78,0x5d,0x20,0x2b,0x20,0x30,0x2e,0x35,0x29,0x20, + 0x2a,0x20,0x30,0x2e,0x30,0x36,0x32,0x35,0x3b,0x0a,0x7d,0x0a,0x0a,0x73,0x74,0x61, + 0x74,0x69,0x63,0x20,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x5f,0x5f,0x61,0x74,0x74, + 0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x61,0x6c,0x77,0x61,0x79,0x73, + 0x5f,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x29,0x29,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x33, + 0x20,0x73,0x75,0x6e,0x5f,0x73,0x68,0x61,0x64,0x6f,0x77,0x28,0x74,0x68,0x72,0x65, + 0x61,0x64,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x26, + 0x20,0x77,0x6f,0x72,0x6c,0x64,0x2c,0x20,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x63, + 0x6f,0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x26,0x20,0x6e,0x6f,0x72, + 0x6d,0x61,0x6c,0x2c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x73,0x68, + 0x61,0x64,0x6f,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x26,0x20,0x5f,0x39,0x32, + 0x2c,0x20,0x64,0x65,0x70,0x74,0x68,0x32,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e, + 0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x6d,0x61,0x70,0x2c,0x20,0x73,0x61,0x6d, + 0x70,0x6c,0x65,0x72,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x73,0x6d,0x70,0x2c, + 0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x32,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74, + 0x3e,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x74,0x69,0x6e,0x74,0x2c,0x20,0x73, + 0x61,0x6d,0x70,0x6c,0x65,0x72,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x74,0x69, + 0x6e,0x74,0x5f,0x73,0x6d,0x70,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x33,0x20,0x5f,0x37,0x33,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61, + 0x6c,0x20,0x2a,0x20,0x30,0x2e,0x30,0x33,0x31,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x5f,0x31,0x30,0x37,0x20,0x3d,0x20,0x5f, + 0x39,0x32,0x2e,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x75,0x76,0x20,0x2a,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x34,0x28,0x28,0x28,0x28,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x28, + 0x77,0x6f,0x72,0x6c,0x64,0x20,0x2d,0x20,0x5f,0x37,0x33,0x29,0x20,0x2a,0x20,0x31, + 0x36,0x2e,0x30,0x29,0x20,0x2b,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e, + 0x35,0x29,0x29,0x20,0x2a,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x30, + 0x36,0x32,0x35,0x29,0x29,0x20,0x2b,0x20,0x5f,0x37,0x33,0x29,0x20,0x2b,0x20,0x28, + 0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x20,0x2a,0x20,0x30,0x2e,0x30,0x31,0x39,0x39,0x39, + 0x39,0x39,0x39,0x39,0x35,0x35,0x32,0x39,0x36,0x35,0x31,0x36,0x34,0x31,0x38,0x34, + 0x35,0x37,0x30,0x33,0x31,0x32,0x35,0x29,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x30,0x39,0x20,0x3d, + 0x20,0x5f,0x31,0x30,0x37,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f, + 0x6c,0x20,0x5f,0x31,0x31,0x31,0x20,0x3d,0x20,0x5f,0x31,0x30,0x39,0x20,0x3c,0x20, + 0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31, + 0x31,0x38,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x5f,0x31,0x31, + 0x31,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x5f,0x31,0x31,0x38,0x20,0x3d,0x20,0x5f,0x31,0x30,0x39,0x20,0x3e,0x20,0x31, + 0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c, + 0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x5f,0x31,0x31,0x38,0x20,0x3d,0x20,0x5f,0x31,0x31,0x31,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x32, + 0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x5f,0x31,0x31,0x38, + 0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x5f,0x31,0x32,0x35,0x20,0x3d,0x20,0x5f,0x31,0x30,0x37,0x2e,0x79,0x20,0x3c,0x20, + 0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65, + 0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x5f,0x31,0x32,0x35,0x20,0x3d,0x20,0x5f,0x31,0x31,0x38,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31, + 0x33,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x5f,0x31,0x32, + 0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x5f,0x31,0x33,0x32,0x20,0x3d,0x20,0x5f,0x31,0x30,0x37,0x2e,0x79,0x20,0x3e, + 0x20,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20, + 0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x5f,0x31,0x33,0x32,0x20,0x3d,0x20,0x5f,0x31,0x32,0x35,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f, + 0x31,0x33,0x39,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x5f,0x31, + 0x33,0x32,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x5f,0x31,0x33,0x39,0x20,0x3d,0x20,0x5f,0x31,0x30,0x37,0x2e,0x7a,0x20, + 0x3e,0x20,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20, + 0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x5f,0x31,0x33,0x39,0x20,0x3d,0x20,0x5f,0x31,0x33,0x32,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f, + 0x31,0x33,0x39,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33, + 0x28,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x36,0x31,0x20,0x3d,0x20,0x5f,0x31, + 0x30,0x37,0x2e,0x7a,0x20,0x2d,0x20,0x30,0x2e,0x30,0x30,0x30,0x35,0x30,0x30,0x30, + 0x30,0x30,0x30,0x32,0x33,0x37,0x34,0x38,0x37,0x32,0x35,0x36,0x35,0x32,0x36,0x39, + 0x34,0x37,0x30,0x32,0x31,0x34,0x38,0x34,0x33,0x37,0x35,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x74, + 0x69,0x6e,0x74,0x2e,0x73,0x61,0x6d,0x70,0x6c,0x65,0x28,0x73,0x68,0x61,0x64,0x6f, + 0x77,0x5f,0x74,0x69,0x6e,0x74,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x5f,0x31,0x30,0x37, + 0x2e,0x78,0x79,0x29,0x2e,0x78,0x79,0x7a,0x20,0x2a,0x20,0x73,0x68,0x61,0x64,0x6f, + 0x77,0x5f,0x6d,0x61,0x70,0x2e,0x73,0x61,0x6d,0x70,0x6c,0x65,0x5f,0x63,0x6f,0x6d, + 0x70,0x61,0x72,0x65,0x28,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x73,0x6d,0x70,0x2c, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x5f,0x31,0x30,0x39,0x2c,0x20,0x5f,0x31, + 0x30,0x37,0x2e,0x79,0x2c,0x20,0x5f,0x31,0x36,0x31,0x29,0x2e,0x78,0x79,0x2c,0x20, + 0x5f,0x31,0x36,0x31,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x73,0x74,0x61,0x74,0x69,0x63, + 0x20,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62, + 0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x61,0x6c,0x77,0x61,0x79,0x73,0x5f,0x69,0x6e, + 0x6c,0x69,0x6e,0x65,0x29,0x29,0x0a,0x62,0x6f,0x6f,0x6c,0x20,0x70,0x72,0x6f,0x62, + 0x65,0x5f,0x61,0x74,0x28,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x63,0x6f,0x6e,0x73, + 0x74,0x20,0x69,0x6e,0x74,0x33,0x26,0x20,0x63,0x65,0x6c,0x6c,0x2c,0x20,0x74,0x68, + 0x72,0x65,0x61,0x64,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x26,0x20,0x72,0x2c,0x20, + 0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x26,0x20,0x67, + 0x2c,0x20,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x26, + 0x20,0x62,0x2c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x74,0x72,0x69, + 0x6c,0x65,0x5f,0x66,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x26,0x20,0x5f,0x31, + 0x39,0x33,0x2c,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x33,0x64,0x3c,0x66,0x6c, + 0x6f,0x61,0x74,0x3e,0x20,0x70,0x72,0x6f,0x62,0x65,0x5f,0x69,0x6e,0x64,0x65,0x78, + 0x2c,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x20,0x70,0x72,0x6f,0x62,0x65,0x5f, + 0x73,0x6d,0x70,0x2c,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x33,0x64,0x3c,0x66, + 0x6c,0x6f,0x61,0x74,0x3e,0x20,0x70,0x72,0x6f,0x62,0x65,0x5f,0x61,0x74,0x6c,0x61, + 0x73,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x33,0x20,0x5f,0x31, + 0x38,0x38,0x20,0x3d,0x20,0x69,0x6e,0x74,0x33,0x28,0x66,0x6c,0x6f,0x6f,0x72,0x28, + 0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x63,0x65,0x6c,0x6c,0x29,0x20,0x2a,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x30,0x33,0x31,0x32,0x35,0x29,0x29,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x33,0x20,0x5f,0x32,0x30,0x30,0x20, + 0x3d,0x20,0x5f,0x31,0x38,0x38,0x20,0x2d,0x20,0x69,0x6e,0x74,0x33,0x28,0x5f,0x31, + 0x39,0x33,0x2e,0x70,0x72,0x6f,0x62,0x65,0x5f,0x6d,0x69,0x6e,0x2e,0x78,0x79,0x7a, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x32,0x30,0x35, + 0x20,0x3d,0x20,0x61,0x6e,0x79,0x28,0x5f,0x32,0x30,0x30,0x20,0x3c,0x20,0x69,0x6e, + 0x74,0x33,0x28,0x30,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c, + 0x20,0x5f,0x32,0x31,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21, + 0x5f,0x32,0x30,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x5f,0x32,0x31,0x37,0x20,0x3d,0x20,0x61,0x6e,0x79,0x28,0x5f, + 0x32,0x30,0x30,0x20,0x3e,0x3d,0x20,0x69,0x6e,0x74,0x33,0x28,0x5f,0x31,0x39,0x33, + 0x2e,0x70,0x72,0x6f,0x62,0x65,0x5f,0x73,0x69,0x7a,0x65,0x2e,0x78,0x79,0x7a,0x29, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73, + 0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x5f,0x32,0x31,0x37,0x20,0x3d,0x20,0x5f,0x32,0x30,0x35,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x32,0x31,0x37,0x29, + 0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72, + 0x65,0x74,0x75,0x72,0x6e,0x20,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x5f,0x32, + 0x33,0x38,0x20,0x3d,0x20,0x28,0x70,0x72,0x6f,0x62,0x65,0x5f,0x69,0x6e,0x64,0x65, + 0x78,0x2e,0x72,0x65,0x61,0x64,0x28,0x75,0x69,0x6e,0x74,0x33,0x28,0x5f,0x32,0x30, + 0x30,0x29,0x2c,0x20,0x30,0x29,0x2e,0x78,0x79,0x20,0x2a,0x20,0x32,0x35,0x35,0x2e, + 0x30,0x29,0x20,0x2b,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x30,0x2e,0x35,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x5f,0x32,0x35,0x30,0x20,0x3d, + 0x20,0x28,0x69,0x6e,0x74,0x28,0x5f,0x32,0x33,0x38,0x2e,0x78,0x29,0x20,0x2b,0x20, + 0x28,0x69,0x6e,0x74,0x28,0x5f,0x32,0x33,0x38,0x2e,0x79,0x29,0x20,0x2a,0x20,0x32, + 0x35,0x36,0x29,0x29,0x20,0x2d,0x20,0x31,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66, + 0x20,0x28,0x5f,0x32,0x35,0x30,0x20,0x3c,0x20,0x30,0x29,0x0a,0x20,0x20,0x20,0x20, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e, + 0x20,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20, + 0x20,0x20,0x69,0x6e,0x74,0x33,0x20,0x5f,0x32,0x36,0x32,0x20,0x3d,0x20,0x63,0x65, + 0x6c,0x6c,0x20,0x2d,0x20,0x28,0x5f,0x31,0x38,0x38,0x20,0x2a,0x20,0x69,0x6e,0x74, + 0x33,0x28,0x33,0x32,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x33, + 0x20,0x5f,0x32,0x38,0x31,0x20,0x3d,0x20,0x69,0x6e,0x74,0x33,0x28,0x5f,0x32,0x36, + 0x32,0x2e,0x78,0x20,0x2a,0x20,0x33,0x2c,0x20,0x28,0x28,0x5f,0x32,0x35,0x30,0x20, + 0x25,0x20,0x31,0x36,0x29,0x20,0x2a,0x20,0x33,0x32,0x29,0x20,0x2b,0x20,0x5f,0x32, + 0x36,0x32,0x2e,0x79,0x2c,0x20,0x28,0x28,0x5f,0x32,0x35,0x30,0x20,0x2f,0x20,0x31, + 0x36,0x29,0x20,0x2a,0x20,0x33,0x32,0x29,0x20,0x2b,0x20,0x5f,0x32,0x36,0x32,0x2e, + 0x7a,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x20,0x3d,0x20,0x70,0x72,0x6f,0x62, + 0x65,0x5f,0x61,0x74,0x6c,0x61,0x73,0x2e,0x72,0x65,0x61,0x64,0x28,0x75,0x69,0x6e, + 0x74,0x33,0x28,0x5f,0x32,0x38,0x31,0x29,0x2c,0x20,0x30,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x67,0x20,0x3d,0x20,0x70,0x72,0x6f,0x62,0x65,0x5f,0x61,0x74,0x6c,0x61, + 0x73,0x2e,0x72,0x65,0x61,0x64,0x28,0x75,0x69,0x6e,0x74,0x33,0x28,0x28,0x5f,0x32, + 0x38,0x31,0x20,0x2b,0x20,0x69,0x6e,0x74,0x33,0x28,0x31,0x2c,0x20,0x30,0x2c,0x20, + 0x30,0x29,0x29,0x29,0x2c,0x20,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x20, + 0x3d,0x20,0x70,0x72,0x6f,0x62,0x65,0x5f,0x61,0x74,0x6c,0x61,0x73,0x2e,0x72,0x65, + 0x61,0x64,0x28,0x75,0x69,0x6e,0x74,0x33,0x28,0x28,0x5f,0x32,0x38,0x31,0x20,0x2b, + 0x20,0x69,0x6e,0x74,0x33,0x28,0x32,0x2c,0x20,0x30,0x2c,0x20,0x30,0x29,0x29,0x29, + 0x2c,0x20,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e, + 0x20,0x72,0x2e,0x78,0x20,0x3e,0x3d,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x7d,0x0a,0x0a, + 0x73,0x74,0x61,0x74,0x69,0x63,0x20,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x5f,0x5f, + 0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x61,0x6c,0x77, + 0x61,0x79,0x73,0x5f,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x29,0x29,0x0a,0x66,0x6c,0x6f, + 0x61,0x74,0x34,0x20,0x70,0x72,0x6f,0x62,0x65,0x5f,0x6c,0x69,0x67,0x68,0x74,0x28, + 0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x33,0x26,0x20,0x77,0x6f,0x72,0x6c,0x64,0x2c,0x20,0x74,0x68,0x72,0x65, + 0x61,0x64,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x26, + 0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x2c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e, + 0x74,0x20,0x74,0x72,0x69,0x6c,0x65,0x5f,0x66,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d, + 0x73,0x26,0x20,0x5f,0x31,0x39,0x33,0x2c,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65, + 0x33,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e,0x20,0x70,0x72,0x6f,0x62,0x65,0x5f, + 0x69,0x6e,0x64,0x65,0x78,0x2c,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x20,0x70, + 0x72,0x6f,0x62,0x65,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x74,0x65,0x78,0x74,0x75,0x72, + 0x65,0x33,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e,0x20,0x70,0x72,0x6f,0x62,0x65, + 0x5f,0x61,0x74,0x6c,0x61,0x73,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x33,0x20,0x5f,0x33,0x31,0x32,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d, + 0x61,0x6c,0x20,0x2a,0x20,0x30,0x2e,0x30,0x33,0x31,0x32,0x35,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x33,0x32,0x34,0x20,0x3d,0x20, + 0x28,0x28,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x28,0x77,0x6f,0x72,0x6c,0x64,0x20,0x2d, + 0x20,0x5f,0x33,0x31,0x32,0x29,0x20,0x2a,0x20,0x31,0x36,0x2e,0x30,0x29,0x20,0x2b, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x35,0x29,0x29,0x20,0x2a,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x30,0x36,0x32,0x35,0x29,0x29,0x20, + 0x2b,0x20,0x5f,0x33,0x31,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x33,0x20,0x5f,0x33,0x33,0x31,0x20,0x3d,0x20,0x28,0x5f,0x33,0x32,0x34,0x20, + 0x2b,0x20,0x28,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x20,0x2a,0x20,0x30,0x2e,0x35,0x29, + 0x29,0x20,0x2d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x35,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x33,0x20,0x5f,0x33,0x33,0x35,0x20,0x3d, + 0x20,0x69,0x6e,0x74,0x33,0x28,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x5f,0x33,0x33,0x31, + 0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f, + 0x33,0x34,0x30,0x20,0x3d,0x20,0x5f,0x33,0x33,0x31,0x20,0x2d,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x33,0x28,0x5f,0x33,0x33,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x34,0x20,0x73,0x75,0x6d,0x5f,0x72,0x20,0x3d,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x34,0x28,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x34,0x20,0x73,0x75,0x6d,0x5f,0x67,0x20,0x3d,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x34,0x28,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x34,0x20,0x73,0x75,0x6d,0x5f,0x62,0x20,0x3d,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x34,0x28,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x20,0x74,0x6f,0x74,0x61,0x6c,0x20,0x3d,0x20,0x30,0x2e,0x30, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x31,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34, + 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x34,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x69,0x20,0x3d,0x20,0x30, + 0x3b,0x20,0x69,0x20,0x3c,0x20,0x38,0x3b,0x20,0x69,0x2b,0x2b,0x29,0x0a,0x20,0x20, + 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x33, + 0x20,0x5f,0x33,0x36,0x33,0x20,0x3d,0x20,0x69,0x6e,0x74,0x33,0x28,0x69,0x20,0x26, + 0x20,0x31,0x2c,0x20,0x28,0x69,0x20,0x3e,0x3e,0x20,0x31,0x29,0x20,0x26,0x20,0x31, + 0x2c,0x20,0x69,0x20,0x3e,0x3e,0x20,0x32,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x69,0x6e,0x74,0x33,0x20,0x5f,0x33,0x36,0x37,0x20,0x3d,0x20,0x5f, + 0x33,0x33,0x35,0x20,0x2b,0x20,0x5f,0x33,0x36,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x64,0x6f,0x74,0x28,0x28,0x66,0x6c,0x6f, + 0x61,0x74,0x33,0x28,0x5f,0x33,0x36,0x37,0x29,0x20,0x2b,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x33,0x28,0x30,0x2e,0x35,0x29,0x29,0x20,0x2d,0x20,0x5f,0x33,0x32,0x34,0x2c, + 0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x29,0x20,0x3c,0x20,0x30,0x2e,0x30,0x30,0x39, + 0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x37,0x36,0x34,0x38,0x32,0x35,0x38,0x32,0x30, + 0x39,0x32,0x32,0x38,0x35,0x31,0x35,0x36,0x32,0x35,0x29,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e, + 0x74,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x5f,0x33,0x36,0x37,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x33, + 0x38,0x39,0x20,0x3d,0x20,0x70,0x72,0x6f,0x62,0x65,0x5f,0x61,0x74,0x28,0x70,0x61, + 0x72,0x61,0x6d,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x2c,0x20,0x70,0x61, + 0x72,0x61,0x6d,0x5f,0x32,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x2c,0x20, + 0x5f,0x31,0x39,0x33,0x2c,0x20,0x70,0x72,0x6f,0x62,0x65,0x5f,0x69,0x6e,0x64,0x65, + 0x78,0x2c,0x20,0x70,0x72,0x6f,0x62,0x65,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x70,0x72, + 0x6f,0x62,0x65,0x5f,0x61,0x74,0x6c,0x61,0x73,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x5f,0x33,0x38,0x39,0x29,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x34,0x30,0x34,0x20,0x3d,0x20,0x6d, + 0x69,0x78,0x28,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x31,0x2e,0x30,0x29,0x20,0x2d, + 0x20,0x5f,0x33,0x34,0x30,0x2c,0x20,0x5f,0x33,0x34,0x30,0x2c,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x33,0x28,0x5f,0x33,0x36,0x33,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x34,0x31,0x35,0x20,0x3d, + 0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6d,0x61,0x78,0x28,0x28,0x5f,0x34,0x30,0x34, + 0x2e,0x78,0x20,0x2a,0x20,0x5f,0x34,0x30,0x34,0x2e,0x79,0x29,0x20,0x2a,0x20,0x5f, + 0x34,0x30,0x34,0x2e,0x7a,0x2c,0x20,0x39,0x2e,0x39,0x39,0x39,0x39,0x39,0x39,0x37, + 0x34,0x37,0x33,0x37,0x38,0x37,0x35,0x31,0x36,0x33,0x35,0x35,0x35,0x31,0x34,0x35, + 0x32,0x36,0x33,0x36,0x37,0x31,0x38,0x38,0x65,0x2d,0x30,0x35,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x75,0x6d,0x5f,0x72,0x20,0x2b,0x3d,0x20, + 0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x2a,0x20,0x5f,0x34,0x31,0x35,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x75,0x6d,0x5f,0x67,0x20, + 0x2b,0x3d,0x20,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x20,0x2a,0x20,0x5f,0x34, + 0x31,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x75,0x6d, + 0x5f,0x62,0x20,0x2b,0x3d,0x20,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x20,0x2a, + 0x20,0x5f,0x34,0x31,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x74,0x6f,0x74,0x61,0x6c,0x20,0x2b,0x3d,0x20,0x5f,0x34,0x31,0x35,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x74,0x6f,0x74, + 0x61,0x6c,0x20,0x3d,0x3d,0x20,0x30,0x2e,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x5f,0x34, + 0x35,0x33,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x30,0x2e,0x32,0x38, + 0x32,0x30,0x39,0x34,0x39,0x38,0x35,0x32,0x34,0x36,0x36,0x35,0x38,0x33,0x32,0x35, + 0x31,0x39,0x35,0x33,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x33,0x32,0x35,0x37,0x33, + 0x35,0x30,0x30,0x32,0x37,0x35,0x36,0x31,0x31,0x38,0x37,0x37,0x34,0x34,0x31,0x34, + 0x30,0x36,0x32,0x35,0x20,0x2a,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x2e,0x79,0x2c, + 0x20,0x30,0x2e,0x33,0x32,0x35,0x37,0x33,0x35,0x30,0x30,0x32,0x37,0x35,0x36,0x31, + 0x31,0x38,0x37,0x37,0x34,0x34,0x31,0x34,0x30,0x36,0x32,0x35,0x20,0x2a,0x20,0x6e, + 0x6f,0x72,0x6d,0x61,0x6c,0x2e,0x7a,0x2c,0x20,0x30,0x2e,0x33,0x32,0x35,0x37,0x33, + 0x35,0x30,0x30,0x32,0x37,0x35,0x36,0x31,0x31,0x38,0x37,0x37,0x34,0x34,0x31,0x34, + 0x30,0x36,0x32,0x35,0x20,0x2a,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x2e,0x78,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x34,0x28,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6d,0x61,0x78,0x28,0x66,0x6c, + 0x6f,0x61,0x74,0x33,0x28,0x64,0x6f,0x74,0x28,0x73,0x75,0x6d,0x5f,0x72,0x2c,0x20, + 0x5f,0x34,0x35,0x33,0x29,0x2c,0x20,0x64,0x6f,0x74,0x28,0x73,0x75,0x6d,0x5f,0x67, + 0x2c,0x20,0x5f,0x34,0x35,0x33,0x29,0x2c,0x20,0x64,0x6f,0x74,0x28,0x73,0x75,0x6d, + 0x5f,0x62,0x2c,0x20,0x5f,0x34,0x35,0x33,0x29,0x29,0x20,0x2f,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x33,0x28,0x74,0x6f,0x74,0x61,0x6c,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x33,0x28,0x30,0x2e,0x30,0x29,0x29,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a, + 0x7d,0x0a,0x0a,0x73,0x74,0x61,0x74,0x69,0x63,0x20,0x69,0x6e,0x6c,0x69,0x6e,0x65, + 0x20,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28, + 0x61,0x6c,0x77,0x61,0x79,0x73,0x5f,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x29,0x29,0x0a, + 0x66,0x6c,0x6f,0x61,0x74,0x20,0x62,0x72,0x69,0x67,0x68,0x74,0x65,0x73,0x74,0x28, + 0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x33,0x26,0x20,0x63,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65, + 0x74,0x75,0x72,0x6e,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6d,0x61,0x78,0x28,0x63, + 0x2e,0x78,0x2c,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6d,0x61,0x78,0x28,0x63,0x2e, + 0x79,0x2c,0x20,0x63,0x2e,0x7a,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x73,0x74,0x61, + 0x74,0x69,0x63,0x20,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x5f,0x5f,0x61,0x74,0x74, + 0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x61,0x6c,0x77,0x61,0x79,0x73, + 0x5f,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x29,0x29,0x0a,0x76,0x6f,0x69,0x64,0x20,0x77, + 0x72,0x69,0x74,0x65,0x5f,0x73,0x63,0x65,0x6e,0x65,0x28,0x74,0x68,0x72,0x65,0x61, + 0x64,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x26,0x20, + 0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x2c,0x20,0x74,0x68,0x72,0x65,0x61, + 0x64,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x26,0x20,0x67, + 0x6c,0x6f,0x77,0x2c,0x20,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x34,0x26,0x20,0x66,0x72,0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x2c,0x20,0x74, + 0x68,0x72,0x65,0x61,0x64,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x26,0x20,0x66,0x72, + 0x61,0x67,0x5f,0x73,0x63,0x65,0x6e,0x65,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20, + 0x66,0x72,0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x34,0x28,0x67,0x6c,0x6f,0x77,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72, + 0x61,0x67,0x5f,0x73,0x63,0x65,0x6e,0x65,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x34,0x28,0x6c,0x65,0x6e,0x67,0x74,0x68,0x28,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65, + 0x72,0x61,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x66,0x72,0x61,0x67,0x6d,0x65,0x6e, + 0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,0x6d,0x61,0x69,0x6e, + 0x30,0x28,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x69,0x6e,0x20,0x69,0x6e,0x20,0x5b,0x5b, + 0x73,0x74,0x61,0x67,0x65,0x5f,0x69,0x6e,0x5d,0x5d,0x2c,0x20,0x63,0x6f,0x6e,0x73, + 0x74,0x61,0x6e,0x74,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x70,0x61,0x72,0x61, + 0x6d,0x73,0x26,0x20,0x5f,0x39,0x32,0x20,0x5b,0x5b,0x62,0x75,0x66,0x66,0x65,0x72, + 0x28,0x30,0x29,0x5d,0x5d,0x2c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20, + 0x74,0x72,0x69,0x6c,0x65,0x5f,0x66,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x26, + 0x20,0x5f,0x31,0x39,0x33,0x20,0x5b,0x5b,0x62,0x75,0x66,0x66,0x65,0x72,0x28,0x31, + 0x29,0x5d,0x5d,0x2c,0x20,0x64,0x65,0x70,0x74,0x68,0x32,0x64,0x3c,0x66,0x6c,0x6f, + 0x61,0x74,0x3e,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x6d,0x61,0x70,0x20,0x5b, + 0x5b,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x30,0x29,0x5d,0x5d,0x2c,0x20,0x74, + 0x65,0x78,0x74,0x75,0x72,0x65,0x32,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e,0x20, + 0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x74,0x69,0x6e,0x74,0x20,0x5b,0x5b,0x74,0x65, + 0x78,0x74,0x75,0x72,0x65,0x28,0x31,0x29,0x5d,0x5d,0x2c,0x20,0x74,0x65,0x78,0x74, + 0x75,0x72,0x65,0x33,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e,0x20,0x70,0x72,0x6f, + 0x62,0x65,0x5f,0x69,0x6e,0x64,0x65,0x78,0x20,0x5b,0x5b,0x74,0x65,0x78,0x74,0x75, + 0x72,0x65,0x28,0x32,0x29,0x5d,0x5d,0x2c,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65, + 0x33,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e,0x20,0x70,0x72,0x6f,0x62,0x65,0x5f, + 0x61,0x74,0x6c,0x61,0x73,0x20,0x5b,0x5b,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28, + 0x33,0x29,0x5d,0x5d,0x2c,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x32,0x64,0x3c, + 0x66,0x6c,0x6f,0x61,0x74,0x3e,0x20,0x70,0x61,0x6c,0x65,0x74,0x74,0x65,0x20,0x5b, + 0x5b,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x34,0x29,0x5d,0x5d,0x2c,0x20,0x74, + 0x65,0x78,0x74,0x75,0x72,0x65,0x32,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e,0x20, + 0x74,0x72,0x69,0x6c,0x65,0x5f,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e, + 0x20,0x5b,0x5b,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x35,0x29,0x5d,0x5d,0x2c, + 0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x32,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74, + 0x3e,0x20,0x74,0x72,0x69,0x6c,0x65,0x5f,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69, + 0x6f,0x6e,0x5f,0x67,0x6c,0x6f,0x77,0x20,0x5b,0x5b,0x74,0x65,0x78,0x74,0x75,0x72, + 0x65,0x28,0x36,0x29,0x5d,0x5d,0x2c,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x20, + 0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x73,0x6d,0x70,0x20,0x5b,0x5b,0x73,0x61,0x6d, + 0x70,0x6c,0x65,0x72,0x28,0x30,0x29,0x5d,0x5d,0x2c,0x20,0x73,0x61,0x6d,0x70,0x6c, + 0x65,0x72,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x74,0x69,0x6e,0x74,0x5f,0x73, + 0x6d,0x70,0x20,0x5b,0x5b,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x28,0x31,0x29,0x5d, + 0x5d,0x2c,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x20,0x70,0x72,0x6f,0x62,0x65, + 0x5f,0x73,0x6d,0x70,0x20,0x5b,0x5b,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x28,0x32, + 0x29,0x5d,0x5d,0x2c,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x20,0x70,0x61,0x6c, + 0x65,0x74,0x74,0x65,0x5f,0x73,0x6d,0x70,0x20,0x5b,0x5b,0x73,0x61,0x6d,0x70,0x6c, + 0x65,0x72,0x28,0x33,0x29,0x5d,0x5d,0x2c,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72, + 0x20,0x74,0x72,0x69,0x6c,0x65,0x5f,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f, + 0x6e,0x5f,0x73,0x6d,0x70,0x20,0x5b,0x5b,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x28, + 0x34,0x29,0x5d,0x5d,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x67,0x6c,0x5f, + 0x46,0x72,0x61,0x67,0x43,0x6f,0x6f,0x72,0x64,0x20,0x5b,0x5b,0x70,0x6f,0x73,0x69, + 0x74,0x69,0x6f,0x6e,0x5d,0x5d,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x6d,0x61, + 0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,0x6f,0x75,0x74,0x20,0x3d,0x20,0x7b,0x7d, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x35,0x31,0x37,0x20, + 0x3d,0x20,0x69,0x6e,0x2e,0x76,0x5f,0x63,0x6c,0x69,0x70,0x20,0x3c,0x20,0x30,0x2e, + 0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x35,0x33,0x30, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x5f,0x35,0x31,0x37,0x29, + 0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x67,0x6c, + 0x5f,0x46,0x72,0x61,0x67,0x43,0x6f,0x6f,0x72,0x64,0x2e,0x78,0x79,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x35,0x33,0x30,0x20,0x3d,0x20,0x69,0x6e, + 0x2e,0x76,0x5f,0x63,0x75,0x74,0x20,0x3e,0x20,0x64,0x69,0x74,0x68,0x65,0x72,0x28, + 0x70,0x61,0x72,0x61,0x6d,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20, + 0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x5f,0x35,0x33,0x30,0x20,0x3d,0x20,0x5f,0x35,0x31,0x37, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28, + 0x5f,0x35,0x33,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x64,0x69,0x73,0x63,0x61,0x72,0x64,0x5f,0x66,0x72,0x61,0x67, + 0x6d,0x65,0x6e,0x74,0x28,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20, + 0x20,0x20,0x69,0x6e,0x74,0x20,0x5f,0x35,0x33,0x38,0x20,0x3d,0x20,0x69,0x6e,0x74, + 0x28,0x69,0x6e,0x2e,0x76,0x5f,0x73,0x77,0x61,0x74,0x63,0x68,0x20,0x2b,0x20,0x30, + 0x2e,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20, + 0x5f,0x35,0x34,0x38,0x20,0x3d,0x20,0x70,0x61,0x6c,0x65,0x74,0x74,0x65,0x2e,0x72, + 0x65,0x61,0x64,0x28,0x75,0x69,0x6e,0x74,0x32,0x28,0x69,0x6e,0x74,0x32,0x28,0x5f, + 0x35,0x33,0x38,0x2c,0x20,0x30,0x29,0x29,0x2c,0x20,0x30,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x5f,0x35,0x35,0x36,0x20,0x3d,0x20, + 0x70,0x61,0x6c,0x65,0x74,0x74,0x65,0x2e,0x72,0x65,0x61,0x64,0x28,0x75,0x69,0x6e, + 0x74,0x32,0x28,0x69,0x6e,0x74,0x32,0x28,0x5f,0x35,0x33,0x38,0x2c,0x20,0x31,0x29, + 0x29,0x2c,0x20,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x33,0x20,0x61,0x6c,0x62,0x65,0x64,0x6f,0x20,0x3d,0x20,0x5f,0x35,0x34,0x38,0x2e, + 0x78,0x79,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x69,0x6e,0x2e, + 0x76,0x5f,0x74,0x69,0x6e,0x74,0x20,0x3e,0x20,0x31,0x2e,0x35,0x29,0x0a,0x20,0x20, + 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x61,0x6c,0x62,0x65, + 0x64,0x6f,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x61,0x6c,0x62,0x65,0x64,0x6f,0x2c, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x32, + 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x39,0x38,0x30,0x32,0x33,0x32,0x32,0x33, + 0x38,0x37,0x36,0x39,0x35,0x33,0x31,0x32,0x35,0x2c,0x20,0x30,0x2e,0x32,0x30,0x30, + 0x30,0x30,0x30,0x30,0x30,0x32,0x39,0x38,0x30,0x32,0x33,0x32,0x32,0x33,0x38,0x37, + 0x36,0x39,0x35,0x33,0x31,0x32,0x35,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33, + 0x28,0x30,0x2e,0x35,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20, + 0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x69,0x6e,0x2e,0x76,0x5f,0x74,0x69, + 0x6e,0x74,0x20,0x3e,0x20,0x30,0x2e,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x61,0x6c,0x62,0x65,0x64,0x6f,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x61,0x6c,0x62, + 0x65,0x64,0x6f,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x32,0x30, + 0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x39,0x38,0x30,0x32,0x33,0x32,0x32,0x33,0x38, + 0x37,0x36,0x39,0x35,0x33,0x31,0x32,0x35,0x2c,0x20,0x31,0x2e,0x30,0x2c,0x20,0x30, + 0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x39,0x38,0x30,0x32,0x33,0x32, + 0x32,0x33,0x38,0x37,0x36,0x39,0x35,0x33,0x31,0x32,0x35,0x29,0x2c,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x35,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d, + 0x20,0x69,0x6e,0x2e,0x76,0x5f,0x77,0x6f,0x72,0x6c,0x64,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x20, + 0x3d,0x20,0x69,0x6e,0x2e,0x76,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x35,0x39,0x30,0x20,0x3d, + 0x20,0x73,0x75,0x6e,0x5f,0x73,0x68,0x61,0x64,0x6f,0x77,0x28,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x31,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x2c,0x20,0x5f,0x39, + 0x32,0x2c,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x6d,0x61,0x70,0x2c,0x20,0x73, + 0x68,0x61,0x64,0x6f,0x77,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x73,0x68,0x61,0x64,0x6f, + 0x77,0x5f,0x74,0x69,0x6e,0x74,0x2c,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x74, + 0x69,0x6e,0x74,0x5f,0x73,0x6d,0x70,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x33,0x20,0x5f,0x35,0x39,0x31,0x20,0x3d,0x20,0x5f,0x35,0x39,0x30, + 0x20,0x2a,0x20,0x69,0x6e,0x2e,0x76,0x5f,0x66,0x61,0x63,0x69,0x6e,0x67,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x5f,0x36,0x30,0x35,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x39,0x33,0x2e,0x70,0x72, + 0x6f,0x62,0x65,0x5f,0x6d,0x69,0x6e,0x2e,0x77,0x20,0x3e,0x20,0x30,0x2e,0x35,0x29, + 0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x20,0x3d,0x20, + 0x69,0x6e,0x2e,0x76,0x5f,0x77,0x6f,0x72,0x6c,0x64,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x34,0x20,0x3d,0x20,0x69,0x6e,0x2e,0x76,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x36,0x30,0x35,0x20,0x3d, + 0x20,0x70,0x72,0x6f,0x62,0x65,0x5f,0x6c,0x69,0x67,0x68,0x74,0x28,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x33,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x2c,0x20,0x5f, + 0x31,0x39,0x33,0x2c,0x20,0x70,0x72,0x6f,0x62,0x65,0x5f,0x69,0x6e,0x64,0x65,0x78, + 0x2c,0x20,0x70,0x72,0x6f,0x62,0x65,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x70,0x72,0x6f, + 0x62,0x65,0x5f,0x61,0x74,0x6c,0x61,0x73,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d, + 0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x36,0x30,0x35,0x20,0x3d,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x34,0x28,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x7d,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x63,0x6f,0x6c, + 0x6f,0x72,0x20,0x3d,0x20,0x61,0x6c,0x62,0x65,0x64,0x6f,0x20,0x2a,0x20,0x6d,0x69, + 0x78,0x28,0x28,0x69,0x6e,0x2e,0x76,0x5f,0x73,0x68,0x61,0x64,0x65,0x20,0x2b,0x20, + 0x5f,0x36,0x30,0x35,0x2e,0x78,0x79,0x7a,0x29,0x20,0x2a,0x20,0x6d,0x69,0x78,0x28, + 0x30,0x2e,0x36,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x33,0x38,0x34,0x31,0x38,0x35, + 0x37,0x39,0x31,0x30,0x31,0x35,0x36,0x32,0x35,0x2c,0x20,0x31,0x2e,0x30,0x2c,0x20, + 0x69,0x6e,0x2e,0x76,0x5f,0x61,0x6f,0x29,0x2c,0x20,0x69,0x6e,0x2e,0x76,0x5f,0x73, + 0x75,0x6e,0x2c,0x20,0x5f,0x35,0x39,0x31,0x20,0x2a,0x20,0x6d,0x69,0x78,0x28,0x30, + 0x2e,0x32,0x35,0x2c,0x20,0x31,0x2e,0x30,0x2c,0x20,0x69,0x6e,0x2e,0x76,0x5f,0x61, + 0x6f,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20, + 0x70,0x61,0x72,0x61,0x6d,0x5f,0x35,0x20,0x3d,0x20,0x5f,0x35,0x39,0x31,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x36,0x33,0x38,0x20,0x3d, + 0x20,0x62,0x72,0x69,0x67,0x68,0x74,0x65,0x73,0x74,0x28,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x36,0x33, + 0x38,0x20,0x3e,0x20,0x30,0x2e,0x30,0x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x30, + 0x34,0x37,0x34,0x39,0x37,0x34,0x35,0x31,0x33,0x30,0x35,0x33,0x38,0x39,0x34,0x30, + 0x34,0x32,0x39,0x36,0x38,0x37,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x6d, + 0x69,0x78,0x28,0x63,0x6f,0x6c,0x6f,0x72,0x2c,0x20,0x5f,0x35,0x39,0x31,0x20,0x2a, + 0x20,0x69,0x6e,0x2e,0x76,0x5f,0x73,0x75,0x6e,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x33,0x28,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6d,0x69,0x6e,0x28,0x31,0x2e,0x30,0x2c, + 0x20,0x28,0x28,0x5f,0x36,0x33,0x38,0x20,0x2d,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a, + 0x6d,0x69,0x6e,0x28,0x5f,0x35,0x39,0x31,0x2e,0x78,0x2c,0x20,0x66,0x61,0x73,0x74, + 0x3a,0x3a,0x6d,0x69,0x6e,0x28,0x5f,0x35,0x39,0x31,0x2e,0x79,0x2c,0x20,0x5f,0x35, + 0x39,0x31,0x2e,0x7a,0x29,0x29,0x29,0x20,0x2f,0x20,0x5f,0x36,0x33,0x38,0x29,0x20, + 0x2a,0x20,0x32,0x2e,0x30,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x36,0x36,0x38,0x20,0x3d, + 0x20,0x5f,0x35,0x34,0x38,0x2e,0x77,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x20,0x67,0x6c,0x6f,0x77,0x20,0x3d,0x20,0x5f,0x36,0x36,0x38,0x20,0x2a, + 0x20,0x38,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, + 0x5f,0x36,0x37,0x31,0x20,0x3d,0x20,0x5f,0x35,0x35,0x36,0x2e,0x7a,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x36,0x37,0x31,0x20,0x3e,0x20,0x30,0x2e, + 0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x36,0x39,0x36,0x20,0x3d,0x20,0x70,0x6f, + 0x77,0x72,0x28,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6d,0x61,0x78,0x28,0x64,0x6f,0x74, + 0x28,0x69,0x6e,0x2e,0x76,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x2c,0x20,0x66,0x61, + 0x73,0x74,0x3a,0x3a,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x66,0x61, + 0x73,0x74,0x3a,0x3a,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x69,0x6e, + 0x2e,0x76,0x5f,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x29,0x20,0x2b,0x20, + 0x5f,0x31,0x39,0x33,0x2e,0x73,0x75,0x6e,0x5f,0x64,0x69,0x72,0x2e,0x78,0x79,0x7a, + 0x29,0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x2c,0x20,0x6d,0x69,0x78,0x28,0x34,0x2e, + 0x30,0x2c,0x20,0x39,0x36,0x2e,0x30,0x2c,0x20,0x5f,0x36,0x37,0x31,0x29,0x29,0x20, + 0x2a,0x20,0x5f,0x36,0x37,0x31,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x63,0x6f,0x6c,0x6f,0x72,0x20,0x2b,0x3d,0x20,0x28,0x28,0x69,0x6e,0x2e,0x76,0x5f, + 0x73,0x75,0x6e,0x20,0x2a,0x20,0x5f,0x35,0x39,0x31,0x29,0x20,0x2a,0x20,0x5f,0x36, + 0x39,0x36,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36,0x20,0x3d,0x20,0x5f,0x35, + 0x39,0x31,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x6c,0x6f,0x77, + 0x20,0x2b,0x3d,0x20,0x28,0x28,0x5f,0x36,0x39,0x36,0x20,0x2a,0x20,0x62,0x72,0x69, + 0x67,0x68,0x74,0x65,0x73,0x74,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x36,0x29,0x29, + 0x20,0x2a,0x20,0x34,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, + 0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x37,0x31,0x34,0x20,0x3d,0x20,0x5f, + 0x31,0x39,0x33,0x2e,0x75,0x73,0x65,0x5f,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69, + 0x6f,0x6e,0x20,0x3e,0x20,0x30,0x2e,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f, + 0x6f,0x6c,0x20,0x5f,0x37,0x32,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20, + 0x28,0x5f,0x37,0x31,0x34,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x5f,0x37,0x32,0x30,0x20,0x3d,0x20,0x5f,0x35,0x35,0x36, + 0x2e,0x79,0x20,0x3e,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a, + 0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x37,0x32,0x30,0x20,0x3d,0x20,0x5f,0x37, + 0x31,0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f, + 0x6f,0x6c,0x20,0x5f,0x37,0x32,0x36,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20, + 0x28,0x5f,0x37,0x32,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x5f,0x37,0x32,0x36,0x20,0x3d,0x20,0x69,0x6e,0x2e,0x76, + 0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x2e,0x79,0x20,0x3e,0x20,0x30,0x2e,0x35,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a, + 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x37, + 0x32,0x36,0x20,0x3d,0x20,0x5f,0x37,0x32,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d, + 0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x37,0x33,0x36,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x37,0x32,0x36,0x29,0x0a,0x20,0x20, + 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x37,0x33,0x36, + 0x20,0x3d,0x20,0x61,0x62,0x73,0x28,0x69,0x6e,0x2e,0x76,0x5f,0x77,0x6f,0x72,0x6c, + 0x64,0x2e,0x79,0x20,0x2d,0x20,0x5f,0x31,0x39,0x33,0x2e,0x72,0x65,0x66,0x6c,0x65, + 0x63,0x74,0x69,0x6f,0x6e,0x5f,0x68,0x65,0x69,0x67,0x68,0x74,0x29,0x20,0x3c,0x20, + 0x30,0x2e,0x30,0x31,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x35,0x35,0x32,0x39,0x36, + 0x35,0x31,0x36,0x34,0x31,0x38,0x34,0x35,0x37,0x30,0x33,0x31,0x32,0x35,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20, + 0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x37,0x33, + 0x36,0x20,0x3d,0x20,0x5f,0x37,0x32,0x36,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a, + 0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x37,0x33,0x36,0x29,0x0a,0x20,0x20, + 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x32,0x20,0x5f,0x37,0x35,0x30,0x20,0x3d,0x20,0x67,0x6c,0x5f,0x46,0x72,0x61, + 0x67,0x43,0x6f,0x6f,0x72,0x64,0x2e,0x78,0x79,0x20,0x2f,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x32,0x28,0x69,0x6e,0x74,0x32,0x28,0x74,0x72,0x69,0x6c,0x65,0x5f,0x72,0x65, + 0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x2e,0x67,0x65,0x74,0x5f,0x77,0x69,0x64, + 0x74,0x68,0x28,0x29,0x2c,0x20,0x74,0x72,0x69,0x6c,0x65,0x5f,0x72,0x65,0x66,0x6c, + 0x65,0x63,0x74,0x69,0x6f,0x6e,0x2e,0x67,0x65,0x74,0x5f,0x68,0x65,0x69,0x67,0x68, + 0x74,0x28,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x32,0x20,0x5f,0x37,0x35,0x37,0x20,0x3d,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x32,0x28,0x5f,0x37,0x35,0x30,0x2e,0x78,0x2c,0x20,0x31,0x2e,0x30,0x20, + 0x2d,0x20,0x5f,0x37,0x35,0x30,0x2e,0x79,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x37,0x36,0x36,0x20,0x3d,0x20, + 0x5f,0x35,0x35,0x36,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x63,0x6f,0x6c,0x6f, + 0x72,0x2c,0x20,0x74,0x72,0x69,0x6c,0x65,0x5f,0x72,0x65,0x66,0x6c,0x65,0x63,0x74, + 0x69,0x6f,0x6e,0x2e,0x73,0x61,0x6d,0x70,0x6c,0x65,0x28,0x74,0x72,0x69,0x6c,0x65, + 0x5f,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6d,0x70,0x2c, + 0x20,0x5f,0x37,0x35,0x37,0x29,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x33,0x28,0x5f,0x37,0x36,0x36,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x67,0x6c,0x6f,0x77,0x20,0x3d,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a, + 0x6d,0x61,0x78,0x28,0x67,0x6c,0x6f,0x77,0x2c,0x20,0x74,0x72,0x69,0x6c,0x65,0x5f, + 0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x67,0x6c,0x6f,0x77,0x2e, + 0x73,0x61,0x6d,0x70,0x6c,0x65,0x28,0x74,0x72,0x69,0x6c,0x65,0x5f,0x72,0x65,0x66, + 0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x5f,0x37,0x35, + 0x37,0x29,0x2e,0x78,0x20,0x2a,0x20,0x70,0x6f,0x77,0x72,0x28,0x5f,0x37,0x36,0x36, + 0x2c,0x20,0x30,0x2e,0x34,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x35,0x39,0x36,0x30, + 0x34,0x36,0x34,0x34,0x37,0x37,0x35,0x33,0x39,0x30,0x36,0x32,0x35,0x29,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x66, + 0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x34,0x28,0x6d,0x69,0x78,0x28,0x63,0x6f,0x6c,0x6f,0x72,0x2c,0x20,0x61,0x6c, + 0x62,0x65,0x64,0x6f,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x5f,0x36,0x36, + 0x38,0x29,0x29,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x37,0x20,0x3d,0x20, + 0x69,0x6e,0x2e,0x76,0x5f,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x38,0x20,0x3d,0x20,0x67,0x6c,0x6f,0x77,0x3b,0x0a,0x20,0x20,0x20,0x20,0x77,0x72, + 0x69,0x74,0x65,0x5f,0x73,0x63,0x65,0x6e,0x65,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f, + 0x37,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x38,0x2c,0x20,0x6f,0x75,0x74,0x2e, + 0x66,0x72,0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x2c,0x20,0x6f,0x75,0x74,0x2e,0x66, + 0x72,0x61,0x67,0x5f,0x73,0x63,0x65,0x6e,0x65,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x6f,0x75,0x74,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, + +]; +/* + #include + #include + + using namespace metal; + + struct main0_in + { + float v_swatch [[user(locn4)]]; + }; + + fragment void main0(main0_in in [[stage_in]], texture2d palette [[texture(0)]], sampler palette_smp [[sampler(0)]]) + { + if (palette.read(uint2(int2(int(in.v_swatch + 0.5), 1)), 0).x > 0.5) + { + discard_fragment(); + } + } + +*/ +fs_trile_shadow_source_metal_macos := u8.[ + 0x23,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x20,0x3c,0x6d,0x65,0x74,0x61,0x6c,0x5f, + 0x73,0x74,0x64,0x6c,0x69,0x62,0x3e,0x0a,0x23,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65, + 0x20,0x3c,0x73,0x69,0x6d,0x64,0x2f,0x73,0x69,0x6d,0x64,0x2e,0x68,0x3e,0x0a,0x0a, + 0x75,0x73,0x69,0x6e,0x67,0x20,0x6e,0x61,0x6d,0x65,0x73,0x70,0x61,0x63,0x65,0x20, + 0x6d,0x65,0x74,0x61,0x6c,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x6d, + 0x61,0x69,0x6e,0x30,0x5f,0x69,0x6e,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x20,0x76,0x5f,0x73,0x77,0x61,0x74,0x63,0x68,0x20,0x5b,0x5b,0x75, + 0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x34,0x29,0x5d,0x5d,0x3b,0x0a,0x7d,0x3b, + 0x0a,0x0a,0x66,0x72,0x61,0x67,0x6d,0x65,0x6e,0x74,0x20,0x76,0x6f,0x69,0x64,0x20, + 0x6d,0x61,0x69,0x6e,0x30,0x28,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x69,0x6e,0x20,0x69, + 0x6e,0x20,0x5b,0x5b,0x73,0x74,0x61,0x67,0x65,0x5f,0x69,0x6e,0x5d,0x5d,0x2c,0x20, + 0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x32,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e, + 0x20,0x70,0x61,0x6c,0x65,0x74,0x74,0x65,0x20,0x5b,0x5b,0x74,0x65,0x78,0x74,0x75, + 0x72,0x65,0x28,0x30,0x29,0x5d,0x5d,0x2c,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72, + 0x20,0x70,0x61,0x6c,0x65,0x74,0x74,0x65,0x5f,0x73,0x6d,0x70,0x20,0x5b,0x5b,0x73, + 0x61,0x6d,0x70,0x6c,0x65,0x72,0x28,0x30,0x29,0x5d,0x5d,0x29,0x0a,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x70,0x61,0x6c,0x65,0x74,0x74,0x65,0x2e,0x72, + 0x65,0x61,0x64,0x28,0x75,0x69,0x6e,0x74,0x32,0x28,0x69,0x6e,0x74,0x32,0x28,0x69, + 0x6e,0x74,0x28,0x69,0x6e,0x2e,0x76,0x5f,0x73,0x77,0x61,0x74,0x63,0x68,0x20,0x2b, + 0x20,0x30,0x2e,0x35,0x29,0x2c,0x20,0x31,0x29,0x29,0x2c,0x20,0x30,0x29,0x2e,0x78, + 0x20,0x3e,0x20,0x30,0x2e,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x69,0x73,0x63,0x61,0x72,0x64,0x5f,0x66,0x72, + 0x61,0x67,0x6d,0x65,0x6e,0x74,0x28,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a, 0x7d,0x0a,0x0a,0x00, ]; /* @@ -1944,37 +8316,24 @@ vs_trile_source_metal_macos := u8.[ struct main0_in { - float v_clip [[user(locn0)]]; - float v_swatch [[user(locn1)]]; - float v_ao [[user(locn2)]]; - float v_tint [[user(locn3)]]; + float v_swatch [[user(locn4)]]; }; fragment main0_out main0(main0_in in [[stage_in]], texture2d palette [[texture(0)]], sampler palette_smp [[sampler(0)]]) { main0_out out = {}; - if (in.v_clip < 0.0) + int _15 = int(in.v_swatch + 0.5); + if (palette.read(uint2(int2(_15, 1)), 0).x < 0.5) { discard_fragment(); } - float3 albedo = palette.read(uint2(int2(int(in.v_swatch + 0.5), 0)), 0).xyz * mix(0.4000000059604644775390625, 1.0, in.v_ao); - if (in.v_tint > 1.5) - { - albedo = mix(albedo, float3(1.0, 0.20000000298023223876953125, 0.20000000298023223876953125), float3(0.5)); - } - else - { - if (in.v_tint > 0.5) - { - albedo = mix(albedo, float3(0.20000000298023223876953125, 1.0, 0.20000000298023223876953125), float3(0.5)); - } - } - out.frag_color = float4(albedo, 1.0); + float4 _51 = palette.read(uint2(int2(_15, 0)), 0); + out.frag_color = float4(_51.xyz / float3(fast::max(fast::max(_51.x, fast::max(_51.y, _51.z)), 0.001000000047497451305389404296875)), 1.0); return out; } */ -fs_trile_source_metal_macos := u8.[ +fs_trile_glass_shadow_source_metal_macos := u8.[ 0x23,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x20,0x3c,0x6d,0x65,0x74,0x61,0x6c,0x5f, 0x73,0x74,0x64,0x6c,0x69,0x62,0x3e,0x0a,0x23,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65, 0x20,0x3c,0x73,0x69,0x6d,0x64,0x2f,0x73,0x69,0x6d,0x64,0x2e,0x68,0x3e,0x0a,0x0a, @@ -1985,62 +8344,40 @@ fs_trile_source_metal_macos := u8.[ 0x20,0x5b,0x5b,0x63,0x6f,0x6c,0x6f,0x72,0x28,0x30,0x29,0x5d,0x5d,0x3b,0x0a,0x7d, 0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f, 0x69,0x6e,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76, - 0x5f,0x63,0x6c,0x69,0x70,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63, - 0x6e,0x30,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, - 0x20,0x76,0x5f,0x73,0x77,0x61,0x74,0x63,0x68,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72, - 0x28,0x6c,0x6f,0x63,0x6e,0x31,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x61,0x6f,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72, - 0x28,0x6c,0x6f,0x63,0x6e,0x32,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x74,0x69,0x6e,0x74,0x20,0x5b,0x5b,0x75,0x73, - 0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x33,0x29,0x5d,0x5d,0x3b,0x0a,0x7d,0x3b,0x0a, - 0x0a,0x66,0x72,0x61,0x67,0x6d,0x65,0x6e,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f, - 0x6f,0x75,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x28,0x6d,0x61,0x69,0x6e,0x30,0x5f, - 0x69,0x6e,0x20,0x69,0x6e,0x20,0x5b,0x5b,0x73,0x74,0x61,0x67,0x65,0x5f,0x69,0x6e, - 0x5d,0x5d,0x2c,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x32,0x64,0x3c,0x66,0x6c, - 0x6f,0x61,0x74,0x3e,0x20,0x70,0x61,0x6c,0x65,0x74,0x74,0x65,0x20,0x5b,0x5b,0x74, - 0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x30,0x29,0x5d,0x5d,0x2c,0x20,0x73,0x61,0x6d, - 0x70,0x6c,0x65,0x72,0x20,0x70,0x61,0x6c,0x65,0x74,0x74,0x65,0x5f,0x73,0x6d,0x70, - 0x20,0x5b,0x5b,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x28,0x30,0x29,0x5d,0x5d,0x29, - 0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74, - 0x20,0x6f,0x75,0x74,0x20,0x3d,0x20,0x7b,0x7d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69, - 0x66,0x20,0x28,0x69,0x6e,0x2e,0x76,0x5f,0x63,0x6c,0x69,0x70,0x20,0x3c,0x20,0x30, - 0x2e,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x64,0x69,0x73,0x63,0x61,0x72,0x64,0x5f,0x66,0x72,0x61,0x67,0x6d,0x65, - 0x6e,0x74,0x28,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20, - 0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x61,0x6c,0x62,0x65,0x64,0x6f,0x20,0x3d,0x20, - 0x70,0x61,0x6c,0x65,0x74,0x74,0x65,0x2e,0x72,0x65,0x61,0x64,0x28,0x75,0x69,0x6e, - 0x74,0x32,0x28,0x69,0x6e,0x74,0x32,0x28,0x69,0x6e,0x74,0x28,0x69,0x6e,0x2e,0x76, - 0x5f,0x73,0x77,0x61,0x74,0x63,0x68,0x20,0x2b,0x20,0x30,0x2e,0x35,0x29,0x2c,0x20, - 0x30,0x29,0x29,0x2c,0x20,0x30,0x29,0x2e,0x78,0x79,0x7a,0x20,0x2a,0x20,0x6d,0x69, - 0x78,0x28,0x30,0x2e,0x34,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x35,0x39,0x36,0x30, - 0x34,0x36,0x34,0x34,0x37,0x37,0x35,0x33,0x39,0x30,0x36,0x32,0x35,0x2c,0x20,0x31, - 0x2e,0x30,0x2c,0x20,0x69,0x6e,0x2e,0x76,0x5f,0x61,0x6f,0x29,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x69,0x66,0x20,0x28,0x69,0x6e,0x2e,0x76,0x5f,0x74,0x69,0x6e,0x74,0x20, - 0x3e,0x20,0x31,0x2e,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x61,0x6c,0x62,0x65,0x64,0x6f,0x20,0x3d,0x20,0x6d,0x69, - 0x78,0x28,0x61,0x6c,0x62,0x65,0x64,0x6f,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33, - 0x28,0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x30, - 0x32,0x39,0x38,0x30,0x32,0x33,0x32,0x32,0x33,0x38,0x37,0x36,0x39,0x35,0x33,0x31, - 0x32,0x35,0x2c,0x20,0x30,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x39, - 0x38,0x30,0x32,0x33,0x32,0x32,0x33,0x38,0x37,0x36,0x39,0x35,0x33,0x31,0x32,0x35, - 0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x35,0x29,0x29,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a, - 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66, - 0x20,0x28,0x69,0x6e,0x2e,0x76,0x5f,0x74,0x69,0x6e,0x74,0x20,0x3e,0x20,0x30,0x2e, - 0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x61,0x6c,0x62,0x65,0x64,0x6f,0x20, - 0x3d,0x20,0x6d,0x69,0x78,0x28,0x61,0x6c,0x62,0x65,0x64,0x6f,0x2c,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x32, - 0x39,0x38,0x30,0x32,0x33,0x32,0x32,0x33,0x38,0x37,0x36,0x39,0x35,0x33,0x31,0x32, - 0x35,0x2c,0x20,0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x32,0x30,0x30,0x30,0x30,0x30, - 0x30,0x30,0x32,0x39,0x38,0x30,0x32,0x33,0x32,0x32,0x33,0x38,0x37,0x36,0x39,0x35, - 0x33,0x31,0x32,0x35,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e, - 0x35,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, - 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x66,0x72,0x61, - 0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34, - 0x28,0x61,0x6c,0x62,0x65,0x64,0x6f,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x6f,0x75,0x74,0x3b,0x0a,0x7d, - 0x0a,0x0a,0x00, + 0x5f,0x73,0x77,0x61,0x74,0x63,0x68,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c, + 0x6f,0x63,0x6e,0x34,0x29,0x5d,0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x66,0x72,0x61, + 0x67,0x6d,0x65,0x6e,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20, + 0x6d,0x61,0x69,0x6e,0x30,0x28,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x69,0x6e,0x20,0x69, + 0x6e,0x20,0x5b,0x5b,0x73,0x74,0x61,0x67,0x65,0x5f,0x69,0x6e,0x5d,0x5d,0x2c,0x20, + 0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x32,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e, + 0x20,0x70,0x61,0x6c,0x65,0x74,0x74,0x65,0x20,0x5b,0x5b,0x74,0x65,0x78,0x74,0x75, + 0x72,0x65,0x28,0x30,0x29,0x5d,0x5d,0x2c,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72, + 0x20,0x70,0x61,0x6c,0x65,0x74,0x74,0x65,0x5f,0x73,0x6d,0x70,0x20,0x5b,0x5b,0x73, + 0x61,0x6d,0x70,0x6c,0x65,0x72,0x28,0x30,0x29,0x5d,0x5d,0x29,0x0a,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,0x6f,0x75,0x74, + 0x20,0x3d,0x20,0x7b,0x7d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x5f, + 0x31,0x35,0x20,0x3d,0x20,0x69,0x6e,0x74,0x28,0x69,0x6e,0x2e,0x76,0x5f,0x73,0x77, + 0x61,0x74,0x63,0x68,0x20,0x2b,0x20,0x30,0x2e,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x69,0x66,0x20,0x28,0x70,0x61,0x6c,0x65,0x74,0x74,0x65,0x2e,0x72,0x65,0x61, + 0x64,0x28,0x75,0x69,0x6e,0x74,0x32,0x28,0x69,0x6e,0x74,0x32,0x28,0x5f,0x31,0x35, + 0x2c,0x20,0x31,0x29,0x29,0x2c,0x20,0x30,0x29,0x2e,0x78,0x20,0x3c,0x20,0x30,0x2e, + 0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x64,0x69,0x73,0x63,0x61,0x72,0x64,0x5f,0x66,0x72,0x61,0x67,0x6d,0x65,0x6e, + 0x74,0x28,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x34,0x20,0x5f,0x35,0x31,0x20,0x3d,0x20,0x70,0x61,0x6c,0x65, + 0x74,0x74,0x65,0x2e,0x72,0x65,0x61,0x64,0x28,0x75,0x69,0x6e,0x74,0x32,0x28,0x69, + 0x6e,0x74,0x32,0x28,0x5f,0x31,0x35,0x2c,0x20,0x30,0x29,0x29,0x2c,0x20,0x30,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x66,0x72,0x61,0x67,0x5f,0x63, + 0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x5f,0x35, + 0x31,0x2e,0x78,0x79,0x7a,0x20,0x2f,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x66, + 0x61,0x73,0x74,0x3a,0x3a,0x6d,0x61,0x78,0x28,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6d, + 0x61,0x78,0x28,0x5f,0x35,0x31,0x2e,0x78,0x2c,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a, + 0x6d,0x61,0x78,0x28,0x5f,0x35,0x31,0x2e,0x79,0x2c,0x20,0x5f,0x35,0x31,0x2e,0x7a, + 0x29,0x29,0x2c,0x20,0x30,0x2e,0x30,0x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x30, + 0x34,0x37,0x34,0x39,0x37,0x34,0x35,0x31,0x33,0x30,0x35,0x33,0x38,0x39,0x34,0x30, + 0x34,0x32,0x39,0x36,0x38,0x37,0x35,0x29,0x29,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x6f,0x75,0x74,0x3b, + 0x0a,0x7d,0x0a,0x0a,0x00, ]; /* #pragma clang diagnostic ignored "-Wmissing-prototypes" @@ -2092,8 +8429,12 @@ fs_trile_source_metal_macos := u8.[ struct view_params { float4x4 view_proj; + float4x4 inv_view_proj; float4 camera; float4 clip; + float4 sun_direction; + float4 sun_color; + float4 shade_color; }; struct water_vs_params @@ -2107,7 +8448,8 @@ fs_trile_source_metal_macos := u8.[ struct main0_out { float3 v_to_camera [[user(locn0)]]; - float4 v_normal_uv [[user(locn1)]]; + float3 v_world [[user(locn1)]]; + float2 v_xz [[user(locn2)]]; float4 gl_Position [[position]]; }; @@ -2117,17 +8459,15 @@ fs_trile_source_metal_macos := u8.[ return _23[vertex_index]; } - vertex main0_out main0(constant view_params& _37 [[buffer(0)]], constant water_vs_params& _54 [[buffer(1)]], uint gl_VertexIndex [[vertex_id]]) + vertex main0_out main0(constant view_params& _38 [[buffer(0)]], constant water_vs_params& _55 [[buffer(1)]], uint gl_VertexIndex [[vertex_id]]) { main0_out out = {}; int param = int(gl_VertexIndex); - float2 _59 = _37.camera.xz + (((quad_corner(param) * 2.0) - float2(1.0)) * _54.half_size); - float _66 = _59.x; - float _72 = _59.y; - out.gl_Position = _37.view_proj * float4(_66, _54.height, _72, 1.0); - float2 _96 = float2(-0.004999999888241291046142578125, -0.01200000010430812835693359375) * _37.camera.w; - out.v_normal_uv = float4((_59 * 0.4000000059604644775390625) + (_96 * 1.5), (_59 * 0.100000001490116119384765625) + (_96 * 1.7000000476837158203125)); - out.v_to_camera = _37.camera.xyz - float3(_66, _54.height, _72); + out.v_xz = _38.camera.xz + (((quad_corner(param) * 2.0) - float2(1.0)) * _55.half_size); + float3 _75 = float3(out.v_xz.x, _55.height, out.v_xz.y); + out.gl_Position = _38.view_proj * float4(out.v_xz.x, _55.height, out.v_xz.y, 1.0); + out.v_to_camera = _38.camera.xyz - _75; + out.v_world = _75; return out; } @@ -2200,99 +8540,207 @@ vs_water_source_metal_macos := u8.[ 0x75,0x63,0x74,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x0a, 0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x78,0x34,0x20,0x76, 0x69,0x65,0x77,0x5f,0x70,0x72,0x6f,0x6a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x34,0x20,0x63,0x61,0x6d,0x65,0x72,0x61,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x63,0x6c,0x69,0x70,0x3b,0x0a,0x7d,0x3b, - 0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x77,0x61,0x74,0x65,0x72,0x5f,0x76, - 0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x20,0x68,0x65,0x69,0x67,0x68,0x74,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x68,0x61,0x6c,0x66,0x5f,0x73,0x69,0x7a,0x65, - 0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x73, - 0x70,0x76,0x55,0x6e,0x73,0x61,0x66,0x65,0x41,0x72,0x72,0x61,0x79,0x3c,0x66,0x6c, - 0x6f,0x61,0x74,0x32,0x2c,0x20,0x36,0x3e,0x20,0x5f,0x32,0x33,0x20,0x3d,0x20,0x73, - 0x70,0x76,0x55,0x6e,0x73,0x61,0x66,0x65,0x41,0x72,0x72,0x61,0x79,0x3c,0x66,0x6c, - 0x6f,0x61,0x74,0x32,0x2c,0x20,0x36,0x3e,0x28,0x7b,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x6f,0x61,0x74,0x34,0x78,0x34,0x20,0x69,0x6e,0x76,0x5f,0x76,0x69,0x65,0x77,0x5f, + 0x70,0x72,0x6f,0x6a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34, + 0x20,0x63,0x61,0x6d,0x65,0x72,0x61,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x34,0x20,0x63,0x6c,0x69,0x70,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x34,0x20,0x73,0x75,0x6e,0x5f,0x64,0x69,0x72,0x65,0x63,0x74,0x69, + 0x6f,0x6e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x73, + 0x75,0x6e,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x34,0x20,0x73,0x68,0x61,0x64,0x65,0x5f,0x63,0x6f,0x6c,0x6f,0x72, + 0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x77,0x61,0x74, + 0x65,0x72,0x5f,0x76,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x0a,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x68,0x65,0x69,0x67,0x68,0x74,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x68,0x61,0x6c,0x66,0x5f, + 0x73,0x69,0x7a,0x65,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x61, + 0x6e,0x74,0x20,0x73,0x70,0x76,0x55,0x6e,0x73,0x61,0x66,0x65,0x41,0x72,0x72,0x61, + 0x79,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x32,0x2c,0x20,0x36,0x3e,0x20,0x5f,0x32,0x33, + 0x20,0x3d,0x20,0x73,0x70,0x76,0x55,0x6e,0x73,0x61,0x66,0x65,0x41,0x72,0x72,0x61, + 0x79,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x32,0x2c,0x20,0x36,0x3e,0x28,0x7b,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x32,0x28,0x30,0x2e,0x30,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x32,0x28,0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x29,0x2c,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x32,0x28,0x31,0x2e,0x30,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74, 0x32,0x28,0x30,0x2e,0x30,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x31, - 0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32, - 0x28,0x31,0x2e,0x30,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x30,0x2e, - 0x30,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x31,0x2e,0x30,0x29,0x2c, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30, - 0x29,0x20,0x7d,0x29,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x6d,0x61, - 0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x33,0x20,0x76,0x5f,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61, - 0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x30,0x29,0x5d,0x5d, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x76,0x5f,0x6e, - 0x6f,0x72,0x6d,0x61,0x6c,0x5f,0x75,0x76,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28, + 0x2e,0x30,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x30,0x2e,0x30,0x2c, + 0x20,0x31,0x2e,0x30,0x29,0x20,0x7d,0x29,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63, + 0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x0a,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x76,0x5f,0x74,0x6f,0x5f,0x63,0x61, + 0x6d,0x65,0x72,0x61,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e, + 0x30,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33, + 0x20,0x76,0x5f,0x77,0x6f,0x72,0x6c,0x64,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28, 0x6c,0x6f,0x63,0x6e,0x31,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x34,0x20,0x67,0x6c,0x5f,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e, - 0x20,0x5b,0x5b,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x5d,0x5d,0x3b,0x0a,0x7d, - 0x3b,0x0a,0x0a,0x73,0x74,0x61,0x74,0x69,0x63,0x20,0x69,0x6e,0x6c,0x69,0x6e,0x65, - 0x20,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28, - 0x61,0x6c,0x77,0x61,0x79,0x73,0x5f,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x29,0x29,0x0a, - 0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x71,0x75,0x61,0x64,0x5f,0x63,0x6f,0x72,0x6e, - 0x65,0x72,0x28,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20, - 0x69,0x6e,0x74,0x26,0x20,0x76,0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x6e,0x64,0x65, - 0x78,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20, - 0x5f,0x32,0x33,0x5b,0x76,0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x6e,0x64,0x65,0x78, - 0x5d,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x65,0x72,0x74,0x65,0x78,0x20,0x6d,0x61,0x69, - 0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x28,0x63,0x6f,0x6e, - 0x73,0x74,0x61,0x6e,0x74,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d, - 0x73,0x26,0x20,0x5f,0x33,0x37,0x20,0x5b,0x5b,0x62,0x75,0x66,0x66,0x65,0x72,0x28, - 0x30,0x29,0x5d,0x5d,0x2c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x77, - 0x61,0x74,0x65,0x72,0x5f,0x76,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x26,0x20, - 0x5f,0x35,0x34,0x20,0x5b,0x5b,0x62,0x75,0x66,0x66,0x65,0x72,0x28,0x31,0x29,0x5d, - 0x5d,0x2c,0x20,0x75,0x69,0x6e,0x74,0x20,0x67,0x6c,0x5f,0x56,0x65,0x72,0x74,0x65, - 0x78,0x49,0x6e,0x64,0x65,0x78,0x20,0x5b,0x5b,0x76,0x65,0x72,0x74,0x65,0x78,0x5f, - 0x69,0x64,0x5d,0x5d,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x6d,0x61,0x69,0x6e, - 0x30,0x5f,0x6f,0x75,0x74,0x20,0x6f,0x75,0x74,0x20,0x3d,0x20,0x7b,0x7d,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20, - 0x69,0x6e,0x74,0x28,0x67,0x6c,0x5f,0x56,0x65,0x72,0x74,0x65,0x78,0x49,0x6e,0x64, - 0x65,0x78,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20, - 0x5f,0x35,0x39,0x20,0x3d,0x20,0x5f,0x33,0x37,0x2e,0x63,0x61,0x6d,0x65,0x72,0x61, - 0x2e,0x78,0x7a,0x20,0x2b,0x20,0x28,0x28,0x28,0x71,0x75,0x61,0x64,0x5f,0x63,0x6f, - 0x72,0x6e,0x65,0x72,0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x20,0x2a,0x20,0x32,0x2e, - 0x30,0x29,0x20,0x2d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x31,0x2e,0x30,0x29, - 0x29,0x20,0x2a,0x20,0x5f,0x35,0x34,0x2e,0x68,0x61,0x6c,0x66,0x5f,0x73,0x69,0x7a, - 0x65,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x36, - 0x36,0x20,0x3d,0x20,0x5f,0x35,0x39,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x20,0x5f,0x37,0x32,0x20,0x3d,0x20,0x5f,0x35,0x39,0x2e,0x79, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x67,0x6c,0x5f,0x50,0x6f,0x73, - 0x69,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x5f,0x33,0x37,0x2e,0x76,0x69,0x65,0x77, - 0x5f,0x70,0x72,0x6f,0x6a,0x20,0x2a,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x5f, - 0x36,0x36,0x2c,0x20,0x5f,0x35,0x34,0x2e,0x68,0x65,0x69,0x67,0x68,0x74,0x2c,0x20, - 0x5f,0x37,0x32,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x32,0x20,0x5f,0x39,0x36,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61, - 0x74,0x32,0x28,0x2d,0x30,0x2e,0x30,0x30,0x34,0x39,0x39,0x39,0x39,0x39,0x39,0x38, - 0x38,0x38,0x32,0x34,0x31,0x32,0x39,0x31,0x30,0x34,0x36,0x31,0x34,0x32,0x35,0x37, - 0x38,0x31,0x32,0x35,0x2c,0x20,0x2d,0x30,0x2e,0x30,0x31,0x32,0x30,0x30,0x30,0x30, - 0x30,0x30,0x31,0x30,0x34,0x33,0x30,0x38,0x31,0x32,0x38,0x33,0x35,0x36,0x39,0x33, - 0x33,0x35,0x39,0x33,0x37,0x35,0x29,0x20,0x2a,0x20,0x5f,0x33,0x37,0x2e,0x63,0x61, - 0x6d,0x65,0x72,0x61,0x2e,0x77,0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e, - 0x76,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x5f,0x75,0x76,0x20,0x3d,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x34,0x28,0x28,0x5f,0x35,0x39,0x20,0x2a,0x20,0x30,0x2e,0x34,0x30, - 0x30,0x30,0x30,0x30,0x30,0x30,0x35,0x39,0x36,0x30,0x34,0x36,0x34,0x34,0x37,0x37, - 0x35,0x33,0x39,0x30,0x36,0x32,0x35,0x29,0x20,0x2b,0x20,0x28,0x5f,0x39,0x36,0x20, - 0x2a,0x20,0x31,0x2e,0x35,0x29,0x2c,0x20,0x28,0x5f,0x35,0x39,0x20,0x2a,0x20,0x30, - 0x2e,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x34,0x39,0x30,0x31,0x31,0x36, - 0x31,0x31,0x39,0x33,0x38,0x34,0x37,0x36,0x35,0x36,0x32,0x35,0x29,0x20,0x2b,0x20, - 0x28,0x5f,0x39,0x36,0x20,0x2a,0x20,0x31,0x2e,0x37,0x30,0x30,0x30,0x30,0x30,0x30, - 0x34,0x37,0x36,0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x29, - 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x76,0x5f,0x74,0x6f,0x5f, - 0x63,0x61,0x6d,0x65,0x72,0x61,0x20,0x3d,0x20,0x5f,0x33,0x37,0x2e,0x63,0x61,0x6d, - 0x65,0x72,0x61,0x2e,0x78,0x79,0x7a,0x20,0x2d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33, - 0x28,0x5f,0x36,0x36,0x2c,0x20,0x5f,0x35,0x34,0x2e,0x68,0x65,0x69,0x67,0x68,0x74, - 0x2c,0x20,0x5f,0x37,0x32,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75, - 0x72,0x6e,0x20,0x6f,0x75,0x74,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, + 0x6f,0x61,0x74,0x32,0x20,0x76,0x5f,0x78,0x7a,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72, + 0x28,0x6c,0x6f,0x63,0x6e,0x32,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x34,0x20,0x67,0x6c,0x5f,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f, + 0x6e,0x20,0x5b,0x5b,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x5d,0x5d,0x3b,0x0a, + 0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x61,0x74,0x69,0x63,0x20,0x69,0x6e,0x6c,0x69,0x6e, + 0x65,0x20,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28, + 0x28,0x61,0x6c,0x77,0x61,0x79,0x73,0x5f,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x29,0x29, + 0x0a,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x71,0x75,0x61,0x64,0x5f,0x63,0x6f,0x72, + 0x6e,0x65,0x72,0x28,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x63,0x6f,0x6e,0x73,0x74, + 0x20,0x69,0x6e,0x74,0x26,0x20,0x76,0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x6e,0x64, + 0x65,0x78,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e, + 0x20,0x5f,0x32,0x33,0x5b,0x76,0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x6e,0x64,0x65, + 0x78,0x5d,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x65,0x72,0x74,0x65,0x78,0x20,0x6d,0x61, + 0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x28,0x63,0x6f, + 0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61, + 0x6d,0x73,0x26,0x20,0x5f,0x33,0x38,0x20,0x5b,0x5b,0x62,0x75,0x66,0x66,0x65,0x72, + 0x28,0x30,0x29,0x5d,0x5d,0x2c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20, + 0x77,0x61,0x74,0x65,0x72,0x5f,0x76,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x26, + 0x20,0x5f,0x35,0x35,0x20,0x5b,0x5b,0x62,0x75,0x66,0x66,0x65,0x72,0x28,0x31,0x29, + 0x5d,0x5d,0x2c,0x20,0x75,0x69,0x6e,0x74,0x20,0x67,0x6c,0x5f,0x56,0x65,0x72,0x74, + 0x65,0x78,0x49,0x6e,0x64,0x65,0x78,0x20,0x5b,0x5b,0x76,0x65,0x72,0x74,0x65,0x78, + 0x5f,0x69,0x64,0x5d,0x5d,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x6d,0x61,0x69, + 0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,0x6f,0x75,0x74,0x20,0x3d,0x20,0x7b,0x7d,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d, + 0x20,0x69,0x6e,0x74,0x28,0x67,0x6c,0x5f,0x56,0x65,0x72,0x74,0x65,0x78,0x49,0x6e, + 0x64,0x65,0x78,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x76,0x5f, + 0x78,0x7a,0x20,0x3d,0x20,0x5f,0x33,0x38,0x2e,0x63,0x61,0x6d,0x65,0x72,0x61,0x2e, + 0x78,0x7a,0x20,0x2b,0x20,0x28,0x28,0x28,0x71,0x75,0x61,0x64,0x5f,0x63,0x6f,0x72, + 0x6e,0x65,0x72,0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x20,0x2a,0x20,0x32,0x2e,0x30, + 0x29,0x20,0x2d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x31,0x2e,0x30,0x29,0x29, + 0x20,0x2a,0x20,0x5f,0x35,0x35,0x2e,0x68,0x61,0x6c,0x66,0x5f,0x73,0x69,0x7a,0x65, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x37, + 0x35,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x6f,0x75,0x74,0x2e,0x76, + 0x5f,0x78,0x7a,0x2e,0x78,0x2c,0x20,0x5f,0x35,0x35,0x2e,0x68,0x65,0x69,0x67,0x68, + 0x74,0x2c,0x20,0x6f,0x75,0x74,0x2e,0x76,0x5f,0x78,0x7a,0x2e,0x79,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x67,0x6c,0x5f,0x50,0x6f,0x73,0x69,0x74, + 0x69,0x6f,0x6e,0x20,0x3d,0x20,0x5f,0x33,0x38,0x2e,0x76,0x69,0x65,0x77,0x5f,0x70, + 0x72,0x6f,0x6a,0x20,0x2a,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x6f,0x75,0x74, + 0x2e,0x76,0x5f,0x78,0x7a,0x2e,0x78,0x2c,0x20,0x5f,0x35,0x35,0x2e,0x68,0x65,0x69, + 0x67,0x68,0x74,0x2c,0x20,0x6f,0x75,0x74,0x2e,0x76,0x5f,0x78,0x7a,0x2e,0x79,0x2c, + 0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x76, + 0x5f,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x20,0x3d,0x20,0x5f,0x33,0x38, + 0x2e,0x63,0x61,0x6d,0x65,0x72,0x61,0x2e,0x78,0x79,0x7a,0x20,0x2d,0x20,0x5f,0x37, + 0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x76,0x5f,0x77,0x6f,0x72, + 0x6c,0x64,0x20,0x3d,0x20,0x5f,0x37,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65, + 0x74,0x75,0x72,0x6e,0x20,0x6f,0x75,0x74,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, ]; /* + #pragma clang diagnostic ignored "-Wmissing-prototypes" + #include #include using namespace metal; + struct water_floor_params + { + float3 floor_color; + }; + + struct main0_out + { + float4 frag_color [[color(0)]]; + float4 frag_glow [[color(1)]]; + float4 frag_scene [[color(2)]]; + }; + + struct main0_in + { + float3 v_to_camera [[user(locn0)]]; + }; + + static inline __attribute__((always_inline)) + void write_scene(thread const float3& to_camera, thread const float& glow, thread float4& frag_glow, thread float4& frag_scene) + { + frag_glow = float4(glow); + frag_scene = float4(length(to_camera)); + } + + fragment main0_out main0(main0_in in [[stage_in]], constant water_floor_params& _27 [[buffer(0)]]) + { + main0_out out = {}; + out.frag_color = float4(_27.floor_color, 1.0); + float3 param = in.v_to_camera; + float param_1 = 0.0; + write_scene(param, param_1, out.frag_glow, out.frag_scene); + return out; + } + +*/ +fs_water_floor_source_metal_macos := u8.[ + 0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x63,0x6c,0x61,0x6e,0x67,0x20,0x64,0x69, + 0x61,0x67,0x6e,0x6f,0x73,0x74,0x69,0x63,0x20,0x69,0x67,0x6e,0x6f,0x72,0x65,0x64, + 0x20,0x22,0x2d,0x57,0x6d,0x69,0x73,0x73,0x69,0x6e,0x67,0x2d,0x70,0x72,0x6f,0x74, + 0x6f,0x74,0x79,0x70,0x65,0x73,0x22,0x0a,0x0a,0x23,0x69,0x6e,0x63,0x6c,0x75,0x64, + 0x65,0x20,0x3c,0x6d,0x65,0x74,0x61,0x6c,0x5f,0x73,0x74,0x64,0x6c,0x69,0x62,0x3e, + 0x0a,0x23,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x20,0x3c,0x73,0x69,0x6d,0x64,0x2f, + 0x73,0x69,0x6d,0x64,0x2e,0x68,0x3e,0x0a,0x0a,0x75,0x73,0x69,0x6e,0x67,0x20,0x6e, + 0x61,0x6d,0x65,0x73,0x70,0x61,0x63,0x65,0x20,0x6d,0x65,0x74,0x61,0x6c,0x3b,0x0a, + 0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x77,0x61,0x74,0x65,0x72,0x5f,0x66,0x6c, + 0x6f,0x6f,0x72,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x0a,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x66,0x6c,0x6f,0x6f,0x72,0x5f,0x63,0x6f, + 0x6c,0x6f,0x72,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20, + 0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f, + 0x72,0x20,0x5b,0x5b,0x63,0x6f,0x6c,0x6f,0x72,0x28,0x30,0x29,0x5d,0x5d,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x66,0x72,0x61,0x67,0x5f, + 0x67,0x6c,0x6f,0x77,0x20,0x5b,0x5b,0x63,0x6f,0x6c,0x6f,0x72,0x28,0x31,0x29,0x5d, + 0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x66,0x72, + 0x61,0x67,0x5f,0x73,0x63,0x65,0x6e,0x65,0x20,0x5b,0x5b,0x63,0x6f,0x6c,0x6f,0x72, + 0x28,0x32,0x29,0x5d,0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63, + 0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x69,0x6e,0x0a,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x76,0x5f,0x74,0x6f,0x5f,0x63,0x61,0x6d, + 0x65,0x72,0x61,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x30, + 0x29,0x5d,0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x61,0x74,0x69,0x63,0x20, + 0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75, + 0x74,0x65,0x5f,0x5f,0x28,0x28,0x61,0x6c,0x77,0x61,0x79,0x73,0x5f,0x69,0x6e,0x6c, + 0x69,0x6e,0x65,0x29,0x29,0x0a,0x76,0x6f,0x69,0x64,0x20,0x77,0x72,0x69,0x74,0x65, + 0x5f,0x73,0x63,0x65,0x6e,0x65,0x28,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x63,0x6f, + 0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x26,0x20,0x74,0x6f,0x5f,0x63, + 0x61,0x6d,0x65,0x72,0x61,0x2c,0x20,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x63,0x6f, + 0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x26,0x20,0x67,0x6c,0x6f,0x77,0x2c, + 0x20,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x26,0x20, + 0x66,0x72,0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x2c,0x20,0x74,0x68,0x72,0x65,0x61, + 0x64,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x26,0x20,0x66,0x72,0x61,0x67,0x5f,0x73, + 0x63,0x65,0x6e,0x65,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67, + 0x5f,0x67,0x6c,0x6f,0x77,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x67, + 0x6c,0x6f,0x77,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x73, + 0x63,0x65,0x6e,0x65,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x6c,0x65, + 0x6e,0x67,0x74,0x68,0x28,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x29,0x29, + 0x3b,0x0a,0x7d,0x0a,0x0a,0x66,0x72,0x61,0x67,0x6d,0x65,0x6e,0x74,0x20,0x6d,0x61, + 0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x28,0x6d,0x61, + 0x69,0x6e,0x30,0x5f,0x69,0x6e,0x20,0x69,0x6e,0x20,0x5b,0x5b,0x73,0x74,0x61,0x67, + 0x65,0x5f,0x69,0x6e,0x5d,0x5d,0x2c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74, + 0x20,0x77,0x61,0x74,0x65,0x72,0x5f,0x66,0x6c,0x6f,0x6f,0x72,0x5f,0x70,0x61,0x72, + 0x61,0x6d,0x73,0x26,0x20,0x5f,0x32,0x37,0x20,0x5b,0x5b,0x62,0x75,0x66,0x66,0x65, + 0x72,0x28,0x30,0x29,0x5d,0x5d,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x6d,0x61, + 0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,0x6f,0x75,0x74,0x20,0x3d,0x20,0x7b,0x7d, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x66,0x72,0x61,0x67,0x5f,0x63, + 0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x5f,0x32, + 0x37,0x2e,0x66,0x6c,0x6f,0x6f,0x72,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x2c,0x20,0x31, + 0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20, + 0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x69,0x6e,0x2e,0x76,0x5f,0x74,0x6f,0x5f, + 0x63,0x61,0x6d,0x65,0x72,0x61,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20,0x30,0x2e,0x30,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x77,0x72,0x69,0x74,0x65,0x5f,0x73,0x63,0x65,0x6e,0x65, + 0x28,0x70,0x61,0x72,0x61,0x6d,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x2c, + 0x20,0x6f,0x75,0x74,0x2e,0x66,0x72,0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x2c,0x20, + 0x6f,0x75,0x74,0x2e,0x66,0x72,0x61,0x67,0x5f,0x73,0x63,0x65,0x6e,0x65,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x6f,0x75,0x74,0x3b, + 0x0a,0x7d,0x0a,0x0a,0x00, +]; +/* + #pragma clang diagnostic ignored "-Wmissing-prototypes" + + #include + #include + + using namespace metal; + + struct shadow_params + { + float4x4 shadow_uv; + }; + struct water_fs_params { - packed_float3 color; - float surface; + float3 water_color; + packed_float3 sun_direction; + float shininess; + packed_float3 sun_color; + float time; float reflectivity; float distortion; }; @@ -2300,129 +8748,378 @@ vs_water_source_metal_macos := u8.[ struct main0_out { float4 frag_color [[color(0)]]; + float4 frag_glow [[color(1)]]; }; struct main0_in { float3 v_to_camera [[user(locn0)]]; - float4 v_normal_uv [[user(locn1)]]; + float3 v_world [[user(locn1)]]; + float2 v_xz [[user(locn2)]]; }; - fragment main0_out main0(main0_in in [[stage_in]], constant water_fs_params& _10 [[buffer(0)]], texture2d normals [[texture(0)]], texture2d reflection [[texture(1)]], sampler normals_smp [[sampler(0)]], sampler reflection_smp [[sampler(1)]], float4 gl_FragCoord [[position]]) + static inline __attribute__((always_inline)) + float3 sun_shadow(thread const float3& world, thread const float3& normal, constant shadow_params& _62, depth2d shadow_map, sampler shadow_smp, texture2d shadow_tint, sampler shadow_tint_smp) + { + float3 _43 = normal * 0.03125; + float4 _78 = _62.shadow_uv * float4((((floor((world - _43) * 16.0) + float3(0.5)) * float3(0.0625)) + _43) + (normal * 0.0199999995529651641845703125), 1.0); + float _81 = _78.x; + bool _83 = _81 < 0.0; + bool _90; + if (!_83) + { + _90 = _81 > 1.0; + } + else + { + _90 = _83; + } + bool _97; + if (!_90) + { + _97 = _78.y < 0.0; + } + else + { + _97 = _90; + } + bool _104; + if (!_97) + { + _104 = _78.y > 1.0; + } + else + { + _104 = _97; + } + bool _111; + if (!_104) + { + _111 = _78.z > 1.0; + } + else + { + _111 = _104; + } + if (_111) + { + return float3(1.0); + } + float _134 = _78.z - 0.0005000000237487256526947021484375; + return shadow_tint.sample(shadow_tint_smp, _78.xy).xyz * shadow_map.sample_compare(shadow_smp, float3(_81, _78.y, _134).xy, _134); + } + + static inline __attribute__((always_inline)) + float brightest(thread const float3& c) + { + return fast::max(c.x, fast::max(c.y, c.z)); + } + + static inline __attribute__((always_inline)) + void write_transparent(thread const float4& color, thread const float& glow, thread float4& frag_color, thread float4& frag_glow) + { + frag_color = color; + frag_glow = float4(glow, 0.0, 0.0, color.w); + } + + fragment main0_out main0(main0_in in [[stage_in]], constant shadow_params& _62 [[buffer(0)]], constant water_fs_params& _167 [[buffer(1)]], depth2d shadow_map [[texture(0)]], texture2d shadow_tint [[texture(1)]], texture2d normals [[texture(2)]], texture2d reflection [[texture(3)]], texture2d reflection_glow [[texture(4)]], sampler shadow_smp [[sampler(0)]], sampler shadow_tint_smp [[sampler(1)]], sampler normals_smp [[sampler(2)]], sampler reflection_smp [[sampler(3)]], float4 gl_FragCoord [[position]]) { main0_out out = {}; - if (_10.surface < 0.5) - { - out.frag_color = float4(_10.color[0], _10.color[1], _10.color[2], 1.0); - return out; - } - float3 _72 = fast::normalize(((normals.sample(normals_smp, in.v_normal_uv.xy).xzy * 2.0) - float3(1.0)) + ((normals.sample(normals_smp, in.v_normal_uv.zw).xzy * 2.0) - float3(1.0))); - float _94 = fast::min(1.0, (0.980000019073486328125 * powr(1.0 - fast::max(dot(fast::normalize(in.v_to_camera), _72), 0.0), 5.0)) + 0.4699999988079071044921875); - float2 _109 = gl_FragCoord.xy / float2(int2(reflection.get_width(), reflection.get_height())); - _109.y = 1.0 - _109.y; - out.frag_color = float4(mix(float3(_10.color), reflection.sample(reflection_smp, (_109 + (_72.xz * _10.distortion))).xyz, float3(mix(_94, 1.0, _10.reflectivity))), mix(mix(0.300000011920928955078125, 0.5, _94), 1.0, _10.reflectivity)); + float2 _175 = float2(-0.004999999888241291046142578125, -0.01200000010430812835693359375) * _167.time; + float3 _217 = fast::normalize(((normals.sample(normals_smp, ((in.v_xz * 0.4000000059604644775390625) + (_175 * 1.5))).xzy * 2.0) - float3(1.0)) + ((normals.sample(normals_smp, ((in.v_xz * 0.100000001490116119384765625) + (_175 * 1.7000000476837158203125))).xzy * 2.0) - float3(1.0))); + float3 _222 = fast::normalize(in.v_to_camera); + float _238 = fast::min(1.0, (0.980000019073486328125 * powr(1.0 - fast::max(dot(_222, _217), 0.0), 5.0)) + 0.4699999988079071044921875); + float2 _253 = gl_FragCoord.xy / float2(int2(reflection.get_width(), reflection.get_height())); + float2 _267 = float2(_253.x, 1.0 - _253.y) + (_217.xz * _167.distortion); + float _280 = mix(_238, 1.0, _167.reflectivity); + float3 param = in.v_world; + float3 param_1 = float3(0.0, 1.0, 0.0); + float3 param_2 = sun_shadow(param, param_1, _62, shadow_map, shadow_smp, shadow_tint, shadow_tint_smp); + float _324 = smoothstep(0.5, 0.550000011920928955078125, powr(fast::max(dot(_217, fast::normalize(_222 + float3(_167.sun_direction))), 0.0), _167.shininess)) * brightest(param_2); + float3 _341 = mix(mix(_167.water_color, reflection.sample(reflection_smp, _267).xyz, float3(_280)), float3(_167.sun_color), float3(_324)); + float4 param_3 = float4(_341, fast::max(mix(mix(0.300000011920928955078125, 0.5, _238), 1.0, _167.reflectivity), _324)); + float param_4 = fast::max(_324, reflection_glow.sample(reflection_smp, _267).x * _280); + write_transparent(param_3, param_4, out.frag_color, out.frag_glow); return out; } */ fs_water_source_metal_macos := u8.[ - 0x23,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x20,0x3c,0x6d,0x65,0x74,0x61,0x6c,0x5f, - 0x73,0x74,0x64,0x6c,0x69,0x62,0x3e,0x0a,0x23,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65, - 0x20,0x3c,0x73,0x69,0x6d,0x64,0x2f,0x73,0x69,0x6d,0x64,0x2e,0x68,0x3e,0x0a,0x0a, - 0x75,0x73,0x69,0x6e,0x67,0x20,0x6e,0x61,0x6d,0x65,0x73,0x70,0x61,0x63,0x65,0x20, - 0x6d,0x65,0x74,0x61,0x6c,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x77, - 0x61,0x74,0x65,0x72,0x5f,0x66,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x0a,0x7b, - 0x0a,0x20,0x20,0x20,0x20,0x70,0x61,0x63,0x6b,0x65,0x64,0x5f,0x66,0x6c,0x6f,0x61, - 0x74,0x33,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x20,0x73,0x75,0x72,0x66,0x61,0x63,0x65,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x76, - 0x69,0x74,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x64, - 0x69,0x73,0x74,0x6f,0x72,0x74,0x69,0x6f,0x6e,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73, - 0x74,0x72,0x75,0x63,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x0a, - 0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x66,0x72,0x61, - 0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x5b,0x5b,0x63,0x6f,0x6c,0x6f,0x72,0x28, - 0x30,0x29,0x5d,0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74, - 0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x69,0x6e,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20, - 0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x76,0x5f,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65, - 0x72,0x61,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x30,0x29, - 0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x76, - 0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x5f,0x75,0x76,0x20,0x5b,0x5b,0x75,0x73,0x65, - 0x72,0x28,0x6c,0x6f,0x63,0x6e,0x31,0x29,0x5d,0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a, - 0x66,0x72,0x61,0x67,0x6d,0x65,0x6e,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f, - 0x75,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x28,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x69, - 0x6e,0x20,0x69,0x6e,0x20,0x5b,0x5b,0x73,0x74,0x61,0x67,0x65,0x5f,0x69,0x6e,0x5d, - 0x5d,0x2c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x77,0x61,0x74,0x65, - 0x72,0x5f,0x66,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x26,0x20,0x5f,0x31,0x30, - 0x20,0x5b,0x5b,0x62,0x75,0x66,0x66,0x65,0x72,0x28,0x30,0x29,0x5d,0x5d,0x2c,0x20, - 0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x32,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e, - 0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x73,0x20,0x5b,0x5b,0x74,0x65,0x78,0x74,0x75, - 0x72,0x65,0x28,0x30,0x29,0x5d,0x5d,0x2c,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65, - 0x32,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e,0x20,0x72,0x65,0x66,0x6c,0x65,0x63, - 0x74,0x69,0x6f,0x6e,0x20,0x5b,0x5b,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x31, - 0x29,0x5d,0x5d,0x2c,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x20,0x6e,0x6f,0x72, - 0x6d,0x61,0x6c,0x73,0x5f,0x73,0x6d,0x70,0x20,0x5b,0x5b,0x73,0x61,0x6d,0x70,0x6c, - 0x65,0x72,0x28,0x30,0x29,0x5d,0x5d,0x2c,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72, - 0x20,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6d,0x70,0x20, - 0x5b,0x5b,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x28,0x31,0x29,0x5d,0x5d,0x2c,0x20, - 0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x67,0x6c,0x5f,0x46,0x72,0x61,0x67,0x43,0x6f, - 0x6f,0x72,0x64,0x20,0x5b,0x5b,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x5d,0x5d, - 0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75, - 0x74,0x20,0x6f,0x75,0x74,0x20,0x3d,0x20,0x7b,0x7d,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x69,0x66,0x20,0x28,0x5f,0x31,0x30,0x2e,0x73,0x75,0x72,0x66,0x61,0x63,0x65,0x20, - 0x3c,0x20,0x30,0x2e,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f, - 0x6c,0x6f,0x72,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x5f,0x31,0x30, - 0x2e,0x63,0x6f,0x6c,0x6f,0x72,0x5b,0x30,0x5d,0x2c,0x20,0x5f,0x31,0x30,0x2e,0x63, - 0x6f,0x6c,0x6f,0x72,0x5b,0x31,0x5d,0x2c,0x20,0x5f,0x31,0x30,0x2e,0x63,0x6f,0x6c, - 0x6f,0x72,0x5b,0x32,0x5d,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x6f,0x75,0x74,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, - 0x33,0x20,0x5f,0x37,0x32,0x20,0x3d,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6e,0x6f, - 0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x28,0x28,0x6e,0x6f,0x72,0x6d,0x61,0x6c, - 0x73,0x2e,0x73,0x61,0x6d,0x70,0x6c,0x65,0x28,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x73, - 0x5f,0x73,0x6d,0x70,0x2c,0x20,0x69,0x6e,0x2e,0x76,0x5f,0x6e,0x6f,0x72,0x6d,0x61, - 0x6c,0x5f,0x75,0x76,0x2e,0x78,0x79,0x29,0x2e,0x78,0x7a,0x79,0x20,0x2a,0x20,0x32, - 0x2e,0x30,0x29,0x20,0x2d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x31,0x2e,0x30, - 0x29,0x29,0x20,0x2b,0x20,0x28,0x28,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x73,0x2e,0x73, - 0x61,0x6d,0x70,0x6c,0x65,0x28,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x73,0x5f,0x73,0x6d, - 0x70,0x2c,0x20,0x69,0x6e,0x2e,0x76,0x5f,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x5f,0x75, - 0x76,0x2e,0x7a,0x77,0x29,0x2e,0x78,0x7a,0x79,0x20,0x2a,0x20,0x32,0x2e,0x30,0x29, - 0x20,0x2d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x31,0x2e,0x30,0x29,0x29,0x29, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x39,0x34,0x20, - 0x3d,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6d,0x69,0x6e,0x28,0x31,0x2e,0x30,0x2c, - 0x20,0x28,0x30,0x2e,0x39,0x38,0x30,0x30,0x30,0x30,0x30,0x31,0x39,0x30,0x37,0x33, - 0x34,0x38,0x36,0x33,0x32,0x38,0x31,0x32,0x35,0x20,0x2a,0x20,0x70,0x6f,0x77,0x72, - 0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6d,0x61,0x78, - 0x28,0x64,0x6f,0x74,0x28,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6e,0x6f,0x72,0x6d,0x61, - 0x6c,0x69,0x7a,0x65,0x28,0x69,0x6e,0x2e,0x76,0x5f,0x74,0x6f,0x5f,0x63,0x61,0x6d, - 0x65,0x72,0x61,0x29,0x2c,0x20,0x5f,0x37,0x32,0x29,0x2c,0x20,0x30,0x2e,0x30,0x29, - 0x2c,0x20,0x35,0x2e,0x30,0x29,0x29,0x20,0x2b,0x20,0x30,0x2e,0x34,0x36,0x39,0x39, - 0x39,0x39,0x39,0x39,0x38,0x38,0x30,0x37,0x39,0x30,0x37,0x31,0x30,0x34,0x34,0x39, - 0x32,0x31,0x38,0x37,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, - 0x74,0x32,0x20,0x5f,0x31,0x30,0x39,0x20,0x3d,0x20,0x67,0x6c,0x5f,0x46,0x72,0x61, - 0x67,0x43,0x6f,0x6f,0x72,0x64,0x2e,0x78,0x79,0x20,0x2f,0x20,0x66,0x6c,0x6f,0x61, - 0x74,0x32,0x28,0x69,0x6e,0x74,0x32,0x28,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69, - 0x6f,0x6e,0x2e,0x67,0x65,0x74,0x5f,0x77,0x69,0x64,0x74,0x68,0x28,0x29,0x2c,0x20, - 0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x2e,0x67,0x65,0x74,0x5f,0x68, - 0x65,0x69,0x67,0x68,0x74,0x28,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x5f, - 0x31,0x30,0x39,0x2e,0x79,0x20,0x3d,0x20,0x31,0x2e,0x30,0x20,0x2d,0x20,0x5f,0x31, - 0x30,0x39,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x66,0x72, - 0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74, - 0x34,0x28,0x6d,0x69,0x78,0x28,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x5f,0x31,0x30, - 0x2e,0x63,0x6f,0x6c,0x6f,0x72,0x29,0x2c,0x20,0x72,0x65,0x66,0x6c,0x65,0x63,0x74, - 0x69,0x6f,0x6e,0x2e,0x73,0x61,0x6d,0x70,0x6c,0x65,0x28,0x72,0x65,0x66,0x6c,0x65, - 0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x28,0x5f,0x31,0x30,0x39, - 0x20,0x2b,0x20,0x28,0x5f,0x37,0x32,0x2e,0x78,0x7a,0x20,0x2a,0x20,0x5f,0x31,0x30, - 0x2e,0x64,0x69,0x73,0x74,0x6f,0x72,0x74,0x69,0x6f,0x6e,0x29,0x29,0x29,0x2e,0x78, - 0x79,0x7a,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x6d,0x69,0x78,0x28,0x5f, - 0x39,0x34,0x2c,0x20,0x31,0x2e,0x30,0x2c,0x20,0x5f,0x31,0x30,0x2e,0x72,0x65,0x66, - 0x6c,0x65,0x63,0x74,0x69,0x76,0x69,0x74,0x79,0x29,0x29,0x29,0x2c,0x20,0x6d,0x69, - 0x78,0x28,0x6d,0x69,0x78,0x28,0x30,0x2e,0x33,0x30,0x30,0x30,0x30,0x30,0x30,0x31, - 0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35, - 0x2c,0x20,0x30,0x2e,0x35,0x2c,0x20,0x5f,0x39,0x34,0x29,0x2c,0x20,0x31,0x2e,0x30, - 0x2c,0x20,0x5f,0x31,0x30,0x2e,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x76,0x69, - 0x74,0x79,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e, - 0x20,0x6f,0x75,0x74,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, + 0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x63,0x6c,0x61,0x6e,0x67,0x20,0x64,0x69, + 0x61,0x67,0x6e,0x6f,0x73,0x74,0x69,0x63,0x20,0x69,0x67,0x6e,0x6f,0x72,0x65,0x64, + 0x20,0x22,0x2d,0x57,0x6d,0x69,0x73,0x73,0x69,0x6e,0x67,0x2d,0x70,0x72,0x6f,0x74, + 0x6f,0x74,0x79,0x70,0x65,0x73,0x22,0x0a,0x0a,0x23,0x69,0x6e,0x63,0x6c,0x75,0x64, + 0x65,0x20,0x3c,0x6d,0x65,0x74,0x61,0x6c,0x5f,0x73,0x74,0x64,0x6c,0x69,0x62,0x3e, + 0x0a,0x23,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x20,0x3c,0x73,0x69,0x6d,0x64,0x2f, + 0x73,0x69,0x6d,0x64,0x2e,0x68,0x3e,0x0a,0x0a,0x75,0x73,0x69,0x6e,0x67,0x20,0x6e, + 0x61,0x6d,0x65,0x73,0x70,0x61,0x63,0x65,0x20,0x6d,0x65,0x74,0x61,0x6c,0x3b,0x0a, + 0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x70, + 0x61,0x72,0x61,0x6d,0x73,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x34,0x78,0x34,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x75,0x76,0x3b,0x0a, + 0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x77,0x61,0x74,0x65,0x72, + 0x5f,0x66,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x0a,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x77,0x61,0x74,0x65,0x72,0x5f,0x63,0x6f, + 0x6c,0x6f,0x72,0x3b,0x0a,0x20,0x20,0x20,0x20,0x70,0x61,0x63,0x6b,0x65,0x64,0x5f, + 0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x73,0x75,0x6e,0x5f,0x64,0x69,0x72,0x65,0x63, + 0x74,0x69,0x6f,0x6e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, + 0x73,0x68,0x69,0x6e,0x69,0x6e,0x65,0x73,0x73,0x3b,0x0a,0x20,0x20,0x20,0x20,0x70, + 0x61,0x63,0x6b,0x65,0x64,0x5f,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x73,0x75,0x6e, + 0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x74,0x69,0x6d,0x65,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x76,0x69,0x74,0x79,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x64,0x69,0x73,0x74,0x6f,0x72, + 0x74,0x69,0x6f,0x6e,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74, + 0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x0a,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c, + 0x6f,0x72,0x20,0x5b,0x5b,0x63,0x6f,0x6c,0x6f,0x72,0x28,0x30,0x29,0x5d,0x5d,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x66,0x72,0x61,0x67, + 0x5f,0x67,0x6c,0x6f,0x77,0x20,0x5b,0x5b,0x63,0x6f,0x6c,0x6f,0x72,0x28,0x31,0x29, + 0x5d,0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x6d, + 0x61,0x69,0x6e,0x30,0x5f,0x69,0x6e,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x33,0x20,0x76,0x5f,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61, + 0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x30,0x29,0x5d,0x5d, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x76,0x5f,0x77, + 0x6f,0x72,0x6c,0x64,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e, + 0x31,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32, + 0x20,0x76,0x5f,0x78,0x7a,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63, + 0x6e,0x32,0x29,0x5d,0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x61,0x74,0x69, + 0x63,0x20,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69, + 0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x61,0x6c,0x77,0x61,0x79,0x73,0x5f,0x69, + 0x6e,0x6c,0x69,0x6e,0x65,0x29,0x29,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x73, + 0x75,0x6e,0x5f,0x73,0x68,0x61,0x64,0x6f,0x77,0x28,0x74,0x68,0x72,0x65,0x61,0x64, + 0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x26,0x20,0x77, + 0x6f,0x72,0x6c,0x64,0x2c,0x20,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x63,0x6f,0x6e, + 0x73,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x26,0x20,0x6e,0x6f,0x72,0x6d,0x61, + 0x6c,0x2c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x73,0x68,0x61,0x64, + 0x6f,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x26,0x20,0x5f,0x36,0x32,0x2c,0x20, + 0x64,0x65,0x70,0x74,0x68,0x32,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e,0x20,0x73, + 0x68,0x61,0x64,0x6f,0x77,0x5f,0x6d,0x61,0x70,0x2c,0x20,0x73,0x61,0x6d,0x70,0x6c, + 0x65,0x72,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x74, + 0x65,0x78,0x74,0x75,0x72,0x65,0x32,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e,0x20, + 0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x74,0x69,0x6e,0x74,0x2c,0x20,0x73,0x61,0x6d, + 0x70,0x6c,0x65,0x72,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x74,0x69,0x6e,0x74, + 0x5f,0x73,0x6d,0x70,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x33,0x20,0x5f,0x34,0x33,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x20, + 0x2a,0x20,0x30,0x2e,0x30,0x33,0x31,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x34,0x20,0x5f,0x37,0x38,0x20,0x3d,0x20,0x5f,0x36,0x32,0x2e, + 0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x75,0x76,0x20,0x2a,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x34,0x28,0x28,0x28,0x28,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x28,0x77,0x6f,0x72, + 0x6c,0x64,0x20,0x2d,0x20,0x5f,0x34,0x33,0x29,0x20,0x2a,0x20,0x31,0x36,0x2e,0x30, + 0x29,0x20,0x2b,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x35,0x29,0x29, + 0x20,0x2a,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x30,0x36,0x32,0x35, + 0x29,0x29,0x20,0x2b,0x20,0x5f,0x34,0x33,0x29,0x20,0x2b,0x20,0x28,0x6e,0x6f,0x72, + 0x6d,0x61,0x6c,0x20,0x2a,0x20,0x30,0x2e,0x30,0x31,0x39,0x39,0x39,0x39,0x39,0x39, + 0x39,0x35,0x35,0x32,0x39,0x36,0x35,0x31,0x36,0x34,0x31,0x38,0x34,0x35,0x37,0x30, + 0x33,0x31,0x32,0x35,0x29,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x38,0x31,0x20,0x3d,0x20,0x5f,0x37,0x38, + 0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x38,0x33, + 0x20,0x3d,0x20,0x5f,0x38,0x31,0x20,0x3c,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x39,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x69,0x66,0x20,0x28,0x21,0x5f,0x38,0x33,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x39,0x30,0x20,0x3d,0x20,0x5f,0x38, + 0x31,0x20,0x3e,0x20,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, + 0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x39,0x30,0x20,0x3d,0x20,0x5f,0x38,0x33,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20, + 0x5f,0x39,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x5f,0x39, + 0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x5f,0x39,0x37,0x20,0x3d,0x20,0x5f,0x37,0x38,0x2e,0x79,0x20,0x3c,0x20,0x30, + 0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c, + 0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x5f,0x39,0x37,0x20,0x3d,0x20,0x5f,0x39,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x7d,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x30,0x34,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x5f,0x39,0x37,0x29,0x0a,0x20, + 0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x30, + 0x34,0x20,0x3d,0x20,0x5f,0x37,0x38,0x2e,0x79,0x20,0x3e,0x20,0x31,0x2e,0x30,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a, + 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31, + 0x30,0x34,0x20,0x3d,0x20,0x5f,0x39,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a, + 0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x31,0x31,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x5f,0x31,0x30,0x34,0x29,0x0a,0x20,0x20, + 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x31,0x31, + 0x20,0x3d,0x20,0x5f,0x37,0x38,0x2e,0x7a,0x20,0x3e,0x20,0x31,0x2e,0x30,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20, + 0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x31, + 0x31,0x20,0x3d,0x20,0x5f,0x31,0x30,0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a, + 0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x31,0x31,0x29,0x0a,0x20,0x20, + 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75, + 0x72,0x6e,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x31,0x2e,0x30,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, + 0x5f,0x31,0x33,0x34,0x20,0x3d,0x20,0x5f,0x37,0x38,0x2e,0x7a,0x20,0x2d,0x20,0x30, + 0x2e,0x30,0x30,0x30,0x35,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x33,0x37,0x34,0x38, + 0x37,0x32,0x35,0x36,0x35,0x32,0x36,0x39,0x34,0x37,0x30,0x32,0x31,0x34,0x38,0x34, + 0x33,0x37,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20, + 0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x74,0x69,0x6e,0x74,0x2e,0x73,0x61,0x6d,0x70, + 0x6c,0x65,0x28,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x74,0x69,0x6e,0x74,0x5f,0x73, + 0x6d,0x70,0x2c,0x20,0x5f,0x37,0x38,0x2e,0x78,0x79,0x29,0x2e,0x78,0x79,0x7a,0x20, + 0x2a,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x6d,0x61,0x70,0x2e,0x73,0x61,0x6d, + 0x70,0x6c,0x65,0x5f,0x63,0x6f,0x6d,0x70,0x61,0x72,0x65,0x28,0x73,0x68,0x61,0x64, + 0x6f,0x77,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x5f, + 0x38,0x31,0x2c,0x20,0x5f,0x37,0x38,0x2e,0x79,0x2c,0x20,0x5f,0x31,0x33,0x34,0x29, + 0x2e,0x78,0x79,0x2c,0x20,0x5f,0x31,0x33,0x34,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x73, + 0x74,0x61,0x74,0x69,0x63,0x20,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x5f,0x5f,0x61, + 0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x61,0x6c,0x77,0x61, + 0x79,0x73,0x5f,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x29,0x29,0x0a,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x62,0x72,0x69,0x67,0x68,0x74,0x65,0x73,0x74,0x28,0x74,0x68,0x72,0x65, + 0x61,0x64,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x26, + 0x20,0x63,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e, + 0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6d,0x61,0x78,0x28,0x63,0x2e,0x78,0x2c,0x20, + 0x66,0x61,0x73,0x74,0x3a,0x3a,0x6d,0x61,0x78,0x28,0x63,0x2e,0x79,0x2c,0x20,0x63, + 0x2e,0x7a,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x73,0x74,0x61,0x74,0x69,0x63,0x20, + 0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75, + 0x74,0x65,0x5f,0x5f,0x28,0x28,0x61,0x6c,0x77,0x61,0x79,0x73,0x5f,0x69,0x6e,0x6c, + 0x69,0x6e,0x65,0x29,0x29,0x0a,0x76,0x6f,0x69,0x64,0x20,0x77,0x72,0x69,0x74,0x65, + 0x5f,0x74,0x72,0x61,0x6e,0x73,0x70,0x61,0x72,0x65,0x6e,0x74,0x28,0x74,0x68,0x72, + 0x65,0x61,0x64,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34, + 0x26,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x2c,0x20,0x74,0x68,0x72,0x65,0x61,0x64,0x20, + 0x63,0x6f,0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x26,0x20,0x67,0x6c,0x6f, + 0x77,0x2c,0x20,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34, + 0x26,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x2c,0x20,0x74,0x68, + 0x72,0x65,0x61,0x64,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x26,0x20,0x66,0x72,0x61, + 0x67,0x5f,0x67,0x6c,0x6f,0x77,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72, + 0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x63,0x6f,0x6c,0x6f,0x72, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x20, + 0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x67,0x6c,0x6f,0x77,0x2c,0x20,0x30, + 0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x77, + 0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x66,0x72,0x61,0x67,0x6d,0x65,0x6e,0x74,0x20,0x6d, + 0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x28,0x6d, + 0x61,0x69,0x6e,0x30,0x5f,0x69,0x6e,0x20,0x69,0x6e,0x20,0x5b,0x5b,0x73,0x74,0x61, + 0x67,0x65,0x5f,0x69,0x6e,0x5d,0x5d,0x2c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e, + 0x74,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x26, + 0x20,0x5f,0x36,0x32,0x20,0x5b,0x5b,0x62,0x75,0x66,0x66,0x65,0x72,0x28,0x30,0x29, + 0x5d,0x5d,0x2c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x77,0x61,0x74, + 0x65,0x72,0x5f,0x66,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x26,0x20,0x5f,0x31, + 0x36,0x37,0x20,0x5b,0x5b,0x62,0x75,0x66,0x66,0x65,0x72,0x28,0x31,0x29,0x5d,0x5d, + 0x2c,0x20,0x64,0x65,0x70,0x74,0x68,0x32,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e, + 0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x6d,0x61,0x70,0x20,0x5b,0x5b,0x74,0x65, + 0x78,0x74,0x75,0x72,0x65,0x28,0x30,0x29,0x5d,0x5d,0x2c,0x20,0x74,0x65,0x78,0x74, + 0x75,0x72,0x65,0x32,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e,0x20,0x73,0x68,0x61, + 0x64,0x6f,0x77,0x5f,0x74,0x69,0x6e,0x74,0x20,0x5b,0x5b,0x74,0x65,0x78,0x74,0x75, + 0x72,0x65,0x28,0x31,0x29,0x5d,0x5d,0x2c,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65, + 0x32,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c, + 0x73,0x20,0x5b,0x5b,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x32,0x29,0x5d,0x5d, + 0x2c,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x32,0x64,0x3c,0x66,0x6c,0x6f,0x61, + 0x74,0x3e,0x20,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x20,0x5b,0x5b, + 0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x33,0x29,0x5d,0x5d,0x2c,0x20,0x74,0x65, + 0x78,0x74,0x75,0x72,0x65,0x32,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e,0x20,0x72, + 0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x67,0x6c,0x6f,0x77,0x20,0x5b, + 0x5b,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x34,0x29,0x5d,0x5d,0x2c,0x20,0x73, + 0x61,0x6d,0x70,0x6c,0x65,0x72,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x73,0x6d, + 0x70,0x20,0x5b,0x5b,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x28,0x30,0x29,0x5d,0x5d, + 0x2c,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x20,0x73,0x68,0x61,0x64,0x6f,0x77, + 0x5f,0x74,0x69,0x6e,0x74,0x5f,0x73,0x6d,0x70,0x20,0x5b,0x5b,0x73,0x61,0x6d,0x70, + 0x6c,0x65,0x72,0x28,0x31,0x29,0x5d,0x5d,0x2c,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65, + 0x72,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x73,0x5f,0x73,0x6d,0x70,0x20,0x5b,0x5b, + 0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x28,0x32,0x29,0x5d,0x5d,0x2c,0x20,0x73,0x61, + 0x6d,0x70,0x6c,0x65,0x72,0x20,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e, + 0x5f,0x73,0x6d,0x70,0x20,0x5b,0x5b,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x28,0x33, + 0x29,0x5d,0x5d,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x67,0x6c,0x5f,0x46, + 0x72,0x61,0x67,0x43,0x6f,0x6f,0x72,0x64,0x20,0x5b,0x5b,0x70,0x6f,0x73,0x69,0x74, + 0x69,0x6f,0x6e,0x5d,0x5d,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x6d,0x61,0x69, + 0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,0x6f,0x75,0x74,0x20,0x3d,0x20,0x7b,0x7d,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x5f,0x31,0x37,0x35, + 0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x2d,0x30,0x2e,0x30,0x30,0x34, + 0x39,0x39,0x39,0x39,0x39,0x39,0x38,0x38,0x38,0x32,0x34,0x31,0x32,0x39,0x31,0x30, + 0x34,0x36,0x31,0x34,0x32,0x35,0x37,0x38,0x31,0x32,0x35,0x2c,0x20,0x2d,0x30,0x2e, + 0x30,0x31,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x30,0x34,0x33,0x30,0x38,0x31, + 0x32,0x38,0x33,0x35,0x36,0x39,0x33,0x33,0x35,0x39,0x33,0x37,0x35,0x29,0x20,0x2a, + 0x20,0x5f,0x31,0x36,0x37,0x2e,0x74,0x69,0x6d,0x65,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x32,0x31,0x37,0x20,0x3d,0x20,0x66,0x61, + 0x73,0x74,0x3a,0x3a,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x28,0x28, + 0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x73,0x2e,0x73,0x61,0x6d,0x70,0x6c,0x65,0x28,0x6e, + 0x6f,0x72,0x6d,0x61,0x6c,0x73,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x28,0x28,0x69,0x6e, + 0x2e,0x76,0x5f,0x78,0x7a,0x20,0x2a,0x20,0x30,0x2e,0x34,0x30,0x30,0x30,0x30,0x30, + 0x30,0x30,0x35,0x39,0x36,0x30,0x34,0x36,0x34,0x34,0x37,0x37,0x35,0x33,0x39,0x30, + 0x36,0x32,0x35,0x29,0x20,0x2b,0x20,0x28,0x5f,0x31,0x37,0x35,0x20,0x2a,0x20,0x31, + 0x2e,0x35,0x29,0x29,0x29,0x2e,0x78,0x7a,0x79,0x20,0x2a,0x20,0x32,0x2e,0x30,0x29, + 0x20,0x2d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x31,0x2e,0x30,0x29,0x29,0x20, + 0x2b,0x20,0x28,0x28,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x73,0x2e,0x73,0x61,0x6d,0x70, + 0x6c,0x65,0x28,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x73,0x5f,0x73,0x6d,0x70,0x2c,0x20, + 0x28,0x28,0x69,0x6e,0x2e,0x76,0x5f,0x78,0x7a,0x20,0x2a,0x20,0x30,0x2e,0x31,0x30, + 0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x34,0x39,0x30,0x31,0x31,0x36,0x31,0x31,0x39, + 0x33,0x38,0x34,0x37,0x36,0x35,0x36,0x32,0x35,0x29,0x20,0x2b,0x20,0x28,0x5f,0x31, + 0x37,0x35,0x20,0x2a,0x20,0x31,0x2e,0x37,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x37, + 0x36,0x38,0x33,0x37,0x31,0x35,0x38,0x32,0x30,0x33,0x31,0x32,0x35,0x29,0x29,0x29, + 0x2e,0x78,0x7a,0x79,0x20,0x2a,0x20,0x32,0x2e,0x30,0x29,0x20,0x2d,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x33,0x28,0x31,0x2e,0x30,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x32,0x32,0x32,0x20,0x3d,0x20,0x66, + 0x61,0x73,0x74,0x3a,0x3a,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x69, + 0x6e,0x2e,0x76,0x5f,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x32,0x33,0x38,0x20,0x3d, + 0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6d,0x69,0x6e,0x28,0x31,0x2e,0x30,0x2c,0x20, + 0x28,0x30,0x2e,0x39,0x38,0x30,0x30,0x30,0x30,0x30,0x31,0x39,0x30,0x37,0x33,0x34, + 0x38,0x36,0x33,0x32,0x38,0x31,0x32,0x35,0x20,0x2a,0x20,0x70,0x6f,0x77,0x72,0x28, + 0x31,0x2e,0x30,0x20,0x2d,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6d,0x61,0x78,0x28, + 0x64,0x6f,0x74,0x28,0x5f,0x32,0x32,0x32,0x2c,0x20,0x5f,0x32,0x31,0x37,0x29,0x2c, + 0x20,0x30,0x2e,0x30,0x29,0x2c,0x20,0x35,0x2e,0x30,0x29,0x29,0x20,0x2b,0x20,0x30, + 0x2e,0x34,0x36,0x39,0x39,0x39,0x39,0x39,0x39,0x38,0x38,0x30,0x37,0x39,0x30,0x37, + 0x31,0x30,0x34,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x5f,0x32,0x35,0x33,0x20,0x3d,0x20,0x67, + 0x6c,0x5f,0x46,0x72,0x61,0x67,0x43,0x6f,0x6f,0x72,0x64,0x2e,0x78,0x79,0x20,0x2f, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x69,0x6e,0x74,0x32,0x28,0x72,0x65,0x66, + 0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x2e,0x67,0x65,0x74,0x5f,0x77,0x69,0x64,0x74, + 0x68,0x28,0x29,0x2c,0x20,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x2e, + 0x67,0x65,0x74,0x5f,0x68,0x65,0x69,0x67,0x68,0x74,0x28,0x29,0x29,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x5f,0x32,0x36,0x37,0x20, + 0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x5f,0x32,0x35,0x33,0x2e,0x78,0x2c, + 0x20,0x31,0x2e,0x30,0x20,0x2d,0x20,0x5f,0x32,0x35,0x33,0x2e,0x79,0x29,0x20,0x2b, + 0x20,0x28,0x5f,0x32,0x31,0x37,0x2e,0x78,0x7a,0x20,0x2a,0x20,0x5f,0x31,0x36,0x37, + 0x2e,0x64,0x69,0x73,0x74,0x6f,0x72,0x74,0x69,0x6f,0x6e,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x32,0x38,0x30,0x20,0x3d,0x20,0x6d, + 0x69,0x78,0x28,0x5f,0x32,0x33,0x38,0x2c,0x20,0x31,0x2e,0x30,0x2c,0x20,0x5f,0x31, + 0x36,0x37,0x2e,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x76,0x69,0x74,0x79,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x70,0x61,0x72, + 0x61,0x6d,0x20,0x3d,0x20,0x69,0x6e,0x2e,0x76,0x5f,0x77,0x6f,0x72,0x6c,0x64,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x31,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x30, + 0x2c,0x20,0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x20, + 0x3d,0x20,0x73,0x75,0x6e,0x5f,0x73,0x68,0x61,0x64,0x6f,0x77,0x28,0x70,0x61,0x72, + 0x61,0x6d,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x2c,0x20,0x5f,0x36,0x32, + 0x2c,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x6d,0x61,0x70,0x2c,0x20,0x73,0x68, + 0x61,0x64,0x6f,0x77,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x73,0x68,0x61,0x64,0x6f,0x77, + 0x5f,0x74,0x69,0x6e,0x74,0x2c,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x74,0x69, + 0x6e,0x74,0x5f,0x73,0x6d,0x70,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x20,0x5f,0x33,0x32,0x34,0x20,0x3d,0x20,0x73,0x6d,0x6f,0x6f,0x74,0x68, + 0x73,0x74,0x65,0x70,0x28,0x30,0x2e,0x35,0x2c,0x20,0x30,0x2e,0x35,0x35,0x30,0x30, + 0x30,0x30,0x30,0x31,0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37, + 0x38,0x31,0x32,0x35,0x2c,0x20,0x70,0x6f,0x77,0x72,0x28,0x66,0x61,0x73,0x74,0x3a, + 0x3a,0x6d,0x61,0x78,0x28,0x64,0x6f,0x74,0x28,0x5f,0x32,0x31,0x37,0x2c,0x20,0x66, + 0x61,0x73,0x74,0x3a,0x3a,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x5f, + 0x32,0x32,0x32,0x20,0x2b,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x5f,0x31,0x36, + 0x37,0x2e,0x73,0x75,0x6e,0x5f,0x64,0x69,0x72,0x65,0x63,0x74,0x69,0x6f,0x6e,0x29, + 0x29,0x29,0x2c,0x20,0x30,0x2e,0x30,0x29,0x2c,0x20,0x5f,0x31,0x36,0x37,0x2e,0x73, + 0x68,0x69,0x6e,0x69,0x6e,0x65,0x73,0x73,0x29,0x29,0x20,0x2a,0x20,0x62,0x72,0x69, + 0x67,0x68,0x74,0x65,0x73,0x74,0x28,0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x33,0x34,0x31, + 0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x6d,0x69,0x78,0x28,0x5f,0x31,0x36,0x37,0x2e, + 0x77,0x61,0x74,0x65,0x72,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x2c,0x20,0x72,0x65,0x66, + 0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x2e,0x73,0x61,0x6d,0x70,0x6c,0x65,0x28,0x72, + 0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x5f, + 0x32,0x36,0x37,0x29,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33, + 0x28,0x5f,0x32,0x38,0x30,0x29,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28, + 0x5f,0x31,0x36,0x37,0x2e,0x73,0x75,0x6e,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x29,0x2c, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x5f,0x33,0x32,0x34,0x29,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x70,0x61,0x72,0x61,0x6d, + 0x5f,0x33,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x5f,0x33,0x34,0x31, + 0x2c,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6d,0x61,0x78,0x28,0x6d,0x69,0x78,0x28, + 0x6d,0x69,0x78,0x28,0x30,0x2e,0x33,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x39, + 0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x2c,0x20, + 0x30,0x2e,0x35,0x2c,0x20,0x5f,0x32,0x33,0x38,0x29,0x2c,0x20,0x31,0x2e,0x30,0x2c, + 0x20,0x5f,0x31,0x36,0x37,0x2e,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x76,0x69, + 0x74,0x79,0x29,0x2c,0x20,0x5f,0x33,0x32,0x34,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x20,0x3d, + 0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6d,0x61,0x78,0x28,0x5f,0x33,0x32,0x34,0x2c, + 0x20,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x67,0x6c,0x6f,0x77, + 0x2e,0x73,0x61,0x6d,0x70,0x6c,0x65,0x28,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x69, + 0x6f,0x6e,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x5f,0x32,0x36,0x37,0x29,0x2e,0x78,0x20, + 0x2a,0x20,0x5f,0x32,0x38,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x77,0x72,0x69, + 0x74,0x65,0x5f,0x74,0x72,0x61,0x6e,0x73,0x70,0x61,0x72,0x65,0x6e,0x74,0x28,0x70, + 0x61,0x72,0x61,0x6d,0x5f,0x33,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x34,0x2c, + 0x20,0x6f,0x75,0x74,0x2e,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x2c, + 0x20,0x6f,0x75,0x74,0x2e,0x66,0x72,0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x6f,0x75,0x74,0x3b, + 0x0a,0x7d,0x0a,0x0a,0x00, ]; /* #pragma clang diagnostic ignored "-Wmissing-prototypes" @@ -2474,8 +9171,17 @@ fs_water_source_metal_macos := u8.[ struct view_params { float4x4 view_proj; + float4x4 inv_view_proj; float4 camera; float4 clip; + float4 sun_direction; + float4 sun_color; + float4 shade_color; + }; + + struct sprite_params + { + float lit; }; constant spvUnsafeArray _23 = spvUnsafeArray({ float2(0.0), float2(1.0, 0.0), float2(1.0), float2(0.0), float2(1.0), float2(0.0, 1.0) }); @@ -2483,7 +9189,13 @@ fs_water_source_metal_macos := u8.[ struct main0_out { float v_clip [[user(locn0)]]; - float2 v_uv [[user(locn1)]]; + float3 v_to_camera [[user(locn1)]]; + float2 v_uv [[user(locn2)]]; + float4 v_color [[user(locn3)]]; + float3 v_sun [[user(locn4)]]; + float3 v_shade [[user(locn5)]]; + float3 v_anchor [[user(locn6)]]; + float v_glow [[user(locn7)]]; float4 gl_Position [[position]]; }; @@ -2493,6 +9205,8 @@ fs_water_source_metal_macos := u8.[ float2 size [[attribute(1)]]; float4 uv_rect [[attribute(2)]]; float3 face [[attribute(3)]]; + float4 color [[attribute(4)]]; + float glow [[attribute(5)]]; }; static inline __attribute__((always_inline)) @@ -2501,7 +9215,7 @@ fs_water_source_metal_macos := u8.[ return _23[vertex_index]; } - vertex main0_out main0(main0_in in [[stage_in]], constant view_params& _60 [[buffer(0)]], uint gl_VertexIndex [[vertex_id]]) + vertex main0_out main0(main0_in in [[stage_in]], constant view_params& _60 [[buffer(0)]], constant sprite_params& _178 [[buffer(1)]], uint gl_VertexIndex [[vertex_id]]) { main0_out out = {}; int param = int(gl_VertexIndex); @@ -2517,15 +9231,41 @@ fs_water_source_metal_macos := u8.[ } float _93 = _37.x; float _105 = _37.y; - float4 _123 = float4((in.center + (fast::normalize(cross(float3(0.0, 1.0, 0.0), look)) * ((_93 - 0.5) * in.size.x))) + float3(0.0, _105 * in.size.y, 0.0), 1.0); + float3 _110 = (in.center + (fast::normalize(cross(float3(0.0, 1.0, 0.0), look)) * ((_93 - 0.5) * in.size.x))) + float3(0.0, _105 * in.size.y, 0.0); + float4 _123 = float4(_110, 1.0); out.gl_Position = _60.view_proj * _123; out.v_clip = dot(_123, _60.clip); + out.v_to_camera = _60.camera.xyz - _110; out.v_uv = float2(in.uv_rect.x + (_93 * in.uv_rect.z), in.uv_rect.y + ((1.0 - _105) * in.uv_rect.w)); + out.v_color = in.color; + out.v_glow = in.glow; + bool _181 = _178.lit > 0.5; + float3 _182; + if (_181) + { + _182 = _60.sun_color.xyz; + } + else + { + _182 = float3(1.0); + } + out.v_sun = _182; + float3 _196; + if (_181) + { + _196 = _60.shade_color.xyz; + } + else + { + _196 = float3(1.0); + } + out.v_shade = _196; + out.v_anchor = (in.center + float3(0.0, in.size.y * 0.5, 0.0)) + (_60.sun_direction.xyz * 0.300000011920928955078125); return out; } */ -vs_billboard_source_metal_macos := u8.[ +vs_sprite_source_metal_macos := u8.[ 0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x63,0x6c,0x61,0x6e,0x67,0x20,0x64,0x69, 0x61,0x67,0x6e,0x6f,0x73,0x74,0x69,0x63,0x20,0x69,0x67,0x6e,0x6f,0x72,0x65,0x64, 0x20,0x22,0x2d,0x57,0x6d,0x69,0x73,0x73,0x69,0x6e,0x67,0x2d,0x70,0x72,0x6f,0x74, @@ -2593,81 +9333,110 @@ vs_billboard_source_metal_macos := u8.[ 0x75,0x63,0x74,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x0a, 0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x78,0x34,0x20,0x76, 0x69,0x65,0x77,0x5f,0x70,0x72,0x6f,0x6a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x34,0x20,0x63,0x61,0x6d,0x65,0x72,0x61,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x63,0x6c,0x69,0x70,0x3b,0x0a,0x7d,0x3b, - 0x0a,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x73,0x70,0x76,0x55,0x6e, - 0x73,0x61,0x66,0x65,0x41,0x72,0x72,0x61,0x79,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x32, - 0x2c,0x20,0x36,0x3e,0x20,0x5f,0x32,0x33,0x20,0x3d,0x20,0x73,0x70,0x76,0x55,0x6e, - 0x73,0x61,0x66,0x65,0x41,0x72,0x72,0x61,0x79,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x32, - 0x2c,0x20,0x36,0x3e,0x28,0x7b,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x30,0x2e, - 0x30,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x31,0x2e,0x30,0x2c,0x20, - 0x30,0x2e,0x30,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x31,0x2e,0x30, - 0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x30,0x2e,0x30,0x29,0x2c,0x20, - 0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x31,0x2e,0x30,0x29,0x2c,0x20,0x66,0x6c,0x6f, - 0x61,0x74,0x32,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x20,0x7d,0x29, - 0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f, - 0x6f,0x75,0x74,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20, - 0x76,0x5f,0x63,0x6c,0x69,0x70,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f, - 0x63,0x6e,0x30,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, - 0x74,0x32,0x20,0x76,0x5f,0x75,0x76,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c, - 0x6f,0x63,0x6e,0x31,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, - 0x61,0x74,0x34,0x20,0x67,0x6c,0x5f,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x20, - 0x5b,0x5b,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x5d,0x5d,0x3b,0x0a,0x7d,0x3b, - 0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x69, - 0x6e,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x63, - 0x65,0x6e,0x74,0x65,0x72,0x20,0x5b,0x5b,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74, - 0x65,0x28,0x30,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, - 0x74,0x32,0x20,0x73,0x69,0x7a,0x65,0x20,0x5b,0x5b,0x61,0x74,0x74,0x72,0x69,0x62, - 0x75,0x74,0x65,0x28,0x31,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x34,0x20,0x75,0x76,0x5f,0x72,0x65,0x63,0x74,0x20,0x5b,0x5b,0x61, - 0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x28,0x32,0x29,0x5d,0x5d,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x66,0x61,0x63,0x65,0x20,0x5b, - 0x5b,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x28,0x33,0x29,0x5d,0x5d,0x3b, - 0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x61,0x74,0x69,0x63,0x20,0x69,0x6e,0x6c,0x69, - 0x6e,0x65,0x20,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f, - 0x28,0x28,0x61,0x6c,0x77,0x61,0x79,0x73,0x5f,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x29, - 0x29,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x71,0x75,0x61,0x64,0x5f,0x63,0x6f, - 0x72,0x6e,0x65,0x72,0x28,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x63,0x6f,0x6e,0x73, - 0x74,0x20,0x69,0x6e,0x74,0x26,0x20,0x76,0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x6e, - 0x64,0x65,0x78,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72, - 0x6e,0x20,0x5f,0x32,0x33,0x5b,0x76,0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x6e,0x64, - 0x65,0x78,0x5d,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x65,0x72,0x74,0x65,0x78,0x20,0x6d, - 0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x28,0x6d, - 0x61,0x69,0x6e,0x30,0x5f,0x69,0x6e,0x20,0x69,0x6e,0x20,0x5b,0x5b,0x73,0x74,0x61, - 0x67,0x65,0x5f,0x69,0x6e,0x5d,0x5d,0x2c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e, - 0x74,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x26,0x20,0x5f, - 0x36,0x30,0x20,0x5b,0x5b,0x62,0x75,0x66,0x66,0x65,0x72,0x28,0x30,0x29,0x5d,0x5d, - 0x2c,0x20,0x75,0x69,0x6e,0x74,0x20,0x67,0x6c,0x5f,0x56,0x65,0x72,0x74,0x65,0x78, - 0x49,0x6e,0x64,0x65,0x78,0x20,0x5b,0x5b,0x76,0x65,0x72,0x74,0x65,0x78,0x5f,0x69, - 0x64,0x5d,0x5d,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x6d,0x61,0x69,0x6e,0x30, - 0x5f,0x6f,0x75,0x74,0x20,0x6f,0x75,0x74,0x20,0x3d,0x20,0x7b,0x7d,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x69, - 0x6e,0x74,0x28,0x67,0x6c,0x5f,0x56,0x65,0x72,0x74,0x65,0x78,0x49,0x6e,0x64,0x65, - 0x78,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x5f, - 0x33,0x37,0x20,0x3d,0x20,0x71,0x75,0x61,0x64,0x5f,0x63,0x6f,0x72,0x6e,0x65,0x72, - 0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, - 0x61,0x74,0x33,0x20,0x6c,0x6f,0x6f,0x6b,0x20,0x3d,0x20,0x69,0x6e,0x2e,0x66,0x61, - 0x63,0x65,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x69,0x6e,0x2e,0x66, - 0x61,0x63,0x65,0x2e,0x78,0x20,0x3c,0x20,0x28,0x2d,0x31,0x30,0x2e,0x30,0x29,0x29, - 0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6c, - 0x6f,0x6f,0x6b,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x69,0x6e,0x2e, - 0x63,0x65,0x6e,0x74,0x65,0x72,0x2e,0x78,0x20,0x2d,0x20,0x5f,0x36,0x30,0x2e,0x63, - 0x61,0x6d,0x65,0x72,0x61,0x2e,0x78,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x69,0x6e, - 0x2e,0x63,0x65,0x6e,0x74,0x65,0x72,0x2e,0x7a,0x20,0x2d,0x20,0x5f,0x36,0x30,0x2e, - 0x63,0x61,0x6d,0x65,0x72,0x61,0x2e,0x7a,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d, - 0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x64,0x6f,0x74,0x28,0x6c,0x6f,0x6f, - 0x6b,0x2e,0x78,0x7a,0x2c,0x20,0x6c,0x6f,0x6f,0x6b,0x2e,0x78,0x7a,0x29,0x20,0x3c, - 0x20,0x39,0x2e,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x34,0x37,0x33,0x37,0x38,0x37, - 0x35,0x31,0x36,0x33,0x35,0x35,0x35,0x31,0x34,0x35,0x32,0x36,0x33,0x36,0x37,0x31, - 0x38,0x38,0x65,0x2d,0x30,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, + 0x6f,0x61,0x74,0x34,0x78,0x34,0x20,0x69,0x6e,0x76,0x5f,0x76,0x69,0x65,0x77,0x5f, + 0x70,0x72,0x6f,0x6a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34, + 0x20,0x63,0x61,0x6d,0x65,0x72,0x61,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x34,0x20,0x63,0x6c,0x69,0x70,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x34,0x20,0x73,0x75,0x6e,0x5f,0x64,0x69,0x72,0x65,0x63,0x74,0x69, + 0x6f,0x6e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x73, + 0x75,0x6e,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x34,0x20,0x73,0x68,0x61,0x64,0x65,0x5f,0x63,0x6f,0x6c,0x6f,0x72, + 0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x73,0x70,0x72, + 0x69,0x74,0x65,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x0a,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x6c,0x69,0x74,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a, + 0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x73,0x70,0x76,0x55,0x6e,0x73,0x61, + 0x66,0x65,0x41,0x72,0x72,0x61,0x79,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x32,0x2c,0x20, + 0x36,0x3e,0x20,0x5f,0x32,0x33,0x20,0x3d,0x20,0x73,0x70,0x76,0x55,0x6e,0x73,0x61, + 0x66,0x65,0x41,0x72,0x72,0x61,0x79,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x32,0x2c,0x20, + 0x36,0x3e,0x28,0x7b,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x30,0x2e,0x30,0x29, + 0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e, + 0x30,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x31,0x2e,0x30,0x29,0x2c, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x30,0x2e,0x30,0x29,0x2c,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x32,0x28,0x31,0x2e,0x30,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x32,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x20,0x7d,0x29,0x3b,0x0a, + 0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75, + 0x74,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f, + 0x63,0x6c,0x69,0x70,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e, + 0x30,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33, + 0x20,0x76,0x5f,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x20,0x5b,0x5b,0x75, + 0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x31,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x76,0x5f,0x75,0x76,0x20,0x5b,0x5b, + 0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x32,0x29,0x5d,0x5d,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x76,0x5f,0x63,0x6f,0x6c,0x6f, + 0x72,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x33,0x29,0x5d, + 0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x76,0x5f, + 0x73,0x75,0x6e,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x34, + 0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20, + 0x76,0x5f,0x73,0x68,0x61,0x64,0x65,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c, + 0x6f,0x63,0x6e,0x35,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x33,0x20,0x76,0x5f,0x61,0x6e,0x63,0x68,0x6f,0x72,0x20,0x5b,0x5b,0x75, + 0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x36,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x67,0x6c,0x6f,0x77,0x20,0x5b, + 0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x37,0x29,0x5d,0x5d,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x67,0x6c,0x5f,0x50,0x6f, + 0x73,0x69,0x74,0x69,0x6f,0x6e,0x20,0x5b,0x5b,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f, + 0x6e,0x5d,0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20, + 0x6d,0x61,0x69,0x6e,0x30,0x5f,0x69,0x6e,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x33,0x20,0x63,0x65,0x6e,0x74,0x65,0x72,0x20,0x5b,0x5b,0x61, + 0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x28,0x30,0x29,0x5d,0x5d,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x73,0x69,0x7a,0x65,0x20,0x5b, + 0x5b,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x28,0x31,0x29,0x5d,0x5d,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x75,0x76,0x5f,0x72, + 0x65,0x63,0x74,0x20,0x5b,0x5b,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x28, + 0x32,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33, + 0x20,0x66,0x61,0x63,0x65,0x20,0x5b,0x5b,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74, + 0x65,0x28,0x33,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x34,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x5b,0x5b,0x61,0x74,0x74,0x72,0x69, + 0x62,0x75,0x74,0x65,0x28,0x34,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x20,0x67,0x6c,0x6f,0x77,0x20,0x5b,0x5b,0x61,0x74,0x74,0x72, + 0x69,0x62,0x75,0x74,0x65,0x28,0x35,0x29,0x5d,0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a, + 0x73,0x74,0x61,0x74,0x69,0x63,0x20,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x5f,0x5f, + 0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x61,0x6c,0x77, + 0x61,0x79,0x73,0x5f,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x29,0x29,0x0a,0x66,0x6c,0x6f, + 0x61,0x74,0x32,0x20,0x71,0x75,0x61,0x64,0x5f,0x63,0x6f,0x72,0x6e,0x65,0x72,0x28, + 0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74, + 0x26,0x20,0x76,0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x6e,0x64,0x65,0x78,0x29,0x0a, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x5f,0x32,0x33, + 0x5b,0x76,0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x6e,0x64,0x65,0x78,0x5d,0x3b,0x0a, + 0x7d,0x0a,0x0a,0x76,0x65,0x72,0x74,0x65,0x78,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f, + 0x6f,0x75,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x28,0x6d,0x61,0x69,0x6e,0x30,0x5f, + 0x69,0x6e,0x20,0x69,0x6e,0x20,0x5b,0x5b,0x73,0x74,0x61,0x67,0x65,0x5f,0x69,0x6e, + 0x5d,0x5d,0x2c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x76,0x69,0x65, + 0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x26,0x20,0x5f,0x36,0x30,0x20,0x5b,0x5b, + 0x62,0x75,0x66,0x66,0x65,0x72,0x28,0x30,0x29,0x5d,0x5d,0x2c,0x20,0x63,0x6f,0x6e, + 0x73,0x74,0x61,0x6e,0x74,0x20,0x73,0x70,0x72,0x69,0x74,0x65,0x5f,0x70,0x61,0x72, + 0x61,0x6d,0x73,0x26,0x20,0x5f,0x31,0x37,0x38,0x20,0x5b,0x5b,0x62,0x75,0x66,0x66, + 0x65,0x72,0x28,0x31,0x29,0x5d,0x5d,0x2c,0x20,0x75,0x69,0x6e,0x74,0x20,0x67,0x6c, + 0x5f,0x56,0x65,0x72,0x74,0x65,0x78,0x49,0x6e,0x64,0x65,0x78,0x20,0x5b,0x5b,0x76, + 0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x64,0x5d,0x5d,0x29,0x0a,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,0x6f,0x75,0x74,0x20, + 0x3d,0x20,0x7b,0x7d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61, + 0x72,0x61,0x6d,0x20,0x3d,0x20,0x69,0x6e,0x74,0x28,0x67,0x6c,0x5f,0x56,0x65,0x72, + 0x74,0x65,0x78,0x49,0x6e,0x64,0x65,0x78,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x32,0x20,0x5f,0x33,0x37,0x20,0x3d,0x20,0x71,0x75,0x61,0x64, + 0x5f,0x63,0x6f,0x72,0x6e,0x65,0x72,0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x6c,0x6f,0x6f,0x6b,0x20, + 0x3d,0x20,0x69,0x6e,0x2e,0x66,0x61,0x63,0x65,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69, + 0x66,0x20,0x28,0x69,0x6e,0x2e,0x66,0x61,0x63,0x65,0x2e,0x78,0x20,0x3c,0x20,0x28, + 0x2d,0x31,0x30,0x2e,0x30,0x29,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, 0x20,0x20,0x20,0x20,0x20,0x20,0x6c,0x6f,0x6f,0x6b,0x20,0x3d,0x20,0x66,0x6c,0x6f, - 0x61,0x74,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e, - 0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, - 0x6f,0x61,0x74,0x20,0x5f,0x39,0x33,0x20,0x3d,0x20,0x5f,0x33,0x37,0x2e,0x78,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x30,0x35,0x20, - 0x3d,0x20,0x5f,0x33,0x37,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, - 0x61,0x74,0x34,0x20,0x5f,0x31,0x32,0x33,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74, - 0x34,0x28,0x28,0x69,0x6e,0x2e,0x63,0x65,0x6e,0x74,0x65,0x72,0x20,0x2b,0x20,0x28, + 0x61,0x74,0x33,0x28,0x69,0x6e,0x2e,0x63,0x65,0x6e,0x74,0x65,0x72,0x2e,0x78,0x20, + 0x2d,0x20,0x5f,0x36,0x30,0x2e,0x63,0x61,0x6d,0x65,0x72,0x61,0x2e,0x78,0x2c,0x20, + 0x30,0x2e,0x30,0x2c,0x20,0x69,0x6e,0x2e,0x63,0x65,0x6e,0x74,0x65,0x72,0x2e,0x7a, + 0x20,0x2d,0x20,0x5f,0x36,0x30,0x2e,0x63,0x61,0x6d,0x65,0x72,0x61,0x2e,0x7a,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28, + 0x64,0x6f,0x74,0x28,0x6c,0x6f,0x6f,0x6b,0x2e,0x78,0x7a,0x2c,0x20,0x6c,0x6f,0x6f, + 0x6b,0x2e,0x78,0x7a,0x29,0x20,0x3c,0x20,0x39,0x2e,0x39,0x39,0x39,0x39,0x39,0x39, + 0x37,0x34,0x37,0x33,0x37,0x38,0x37,0x35,0x31,0x36,0x33,0x35,0x35,0x35,0x31,0x34, + 0x35,0x32,0x36,0x33,0x36,0x37,0x31,0x38,0x38,0x65,0x2d,0x30,0x35,0x29,0x0a,0x20, + 0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6c,0x6f,0x6f, + 0x6b,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20, + 0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d, + 0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x39,0x33,0x20,0x3d, + 0x20,0x5f,0x33,0x37,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x5f,0x31,0x30,0x35,0x20,0x3d,0x20,0x5f,0x33,0x37,0x2e,0x79,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x31,0x31,0x30,0x20, + 0x3d,0x20,0x28,0x69,0x6e,0x2e,0x63,0x65,0x6e,0x74,0x65,0x72,0x20,0x2b,0x20,0x28, 0x66,0x61,0x73,0x74,0x3a,0x3a,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28, 0x63,0x72,0x6f,0x73,0x73,0x28,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x30, 0x2c,0x20,0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x29,0x2c,0x20,0x6c,0x6f,0x6f, @@ -2675,22 +9444,385 @@ vs_billboard_source_metal_macos := u8.[ 0x35,0x29,0x20,0x2a,0x20,0x69,0x6e,0x2e,0x73,0x69,0x7a,0x65,0x2e,0x78,0x29,0x29, 0x29,0x20,0x2b,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20, 0x5f,0x31,0x30,0x35,0x20,0x2a,0x20,0x69,0x6e,0x2e,0x73,0x69,0x7a,0x65,0x2e,0x79, - 0x2c,0x20,0x30,0x2e,0x30,0x29,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x6f,0x75,0x74,0x2e,0x67,0x6c,0x5f,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f, - 0x6e,0x20,0x3d,0x20,0x5f,0x36,0x30,0x2e,0x76,0x69,0x65,0x77,0x5f,0x70,0x72,0x6f, - 0x6a,0x20,0x2a,0x20,0x5f,0x31,0x32,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75, - 0x74,0x2e,0x76,0x5f,0x63,0x6c,0x69,0x70,0x20,0x3d,0x20,0x64,0x6f,0x74,0x28,0x5f, - 0x31,0x32,0x33,0x2c,0x20,0x5f,0x36,0x30,0x2e,0x63,0x6c,0x69,0x70,0x29,0x3b,0x0a, - 0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x76,0x5f,0x75,0x76,0x20,0x3d,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x32,0x28,0x69,0x6e,0x2e,0x75,0x76,0x5f,0x72,0x65,0x63,0x74, - 0x2e,0x78,0x20,0x2b,0x20,0x28,0x5f,0x39,0x33,0x20,0x2a,0x20,0x69,0x6e,0x2e,0x75, - 0x76,0x5f,0x72,0x65,0x63,0x74,0x2e,0x7a,0x29,0x2c,0x20,0x69,0x6e,0x2e,0x75,0x76, - 0x5f,0x72,0x65,0x63,0x74,0x2e,0x79,0x20,0x2b,0x20,0x28,0x28,0x31,0x2e,0x30,0x20, - 0x2d,0x20,0x5f,0x31,0x30,0x35,0x29,0x20,0x2a,0x20,0x69,0x6e,0x2e,0x75,0x76,0x5f, - 0x72,0x65,0x63,0x74,0x2e,0x77,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65, - 0x74,0x75,0x72,0x6e,0x20,0x6f,0x75,0x74,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, + 0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x34,0x20,0x5f,0x31,0x32,0x33,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34, + 0x28,0x5f,0x31,0x31,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x6f,0x75,0x74,0x2e,0x67,0x6c,0x5f,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e, + 0x20,0x3d,0x20,0x5f,0x36,0x30,0x2e,0x76,0x69,0x65,0x77,0x5f,0x70,0x72,0x6f,0x6a, + 0x20,0x2a,0x20,0x5f,0x31,0x32,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74, + 0x2e,0x76,0x5f,0x63,0x6c,0x69,0x70,0x20,0x3d,0x20,0x64,0x6f,0x74,0x28,0x5f,0x31, + 0x32,0x33,0x2c,0x20,0x5f,0x36,0x30,0x2e,0x63,0x6c,0x69,0x70,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x76,0x5f,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65, + 0x72,0x61,0x20,0x3d,0x20,0x5f,0x36,0x30,0x2e,0x63,0x61,0x6d,0x65,0x72,0x61,0x2e, + 0x78,0x79,0x7a,0x20,0x2d,0x20,0x5f,0x31,0x31,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x6f,0x75,0x74,0x2e,0x76,0x5f,0x75,0x76,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x32,0x28,0x69,0x6e,0x2e,0x75,0x76,0x5f,0x72,0x65,0x63,0x74,0x2e,0x78,0x20,0x2b, + 0x20,0x28,0x5f,0x39,0x33,0x20,0x2a,0x20,0x69,0x6e,0x2e,0x75,0x76,0x5f,0x72,0x65, + 0x63,0x74,0x2e,0x7a,0x29,0x2c,0x20,0x69,0x6e,0x2e,0x75,0x76,0x5f,0x72,0x65,0x63, + 0x74,0x2e,0x79,0x20,0x2b,0x20,0x28,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x5f,0x31, + 0x30,0x35,0x29,0x20,0x2a,0x20,0x69,0x6e,0x2e,0x75,0x76,0x5f,0x72,0x65,0x63,0x74, + 0x2e,0x77,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x76,0x5f, + 0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x69,0x6e,0x2e,0x63,0x6f,0x6c,0x6f,0x72, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x76,0x5f,0x67,0x6c,0x6f,0x77, + 0x20,0x3d,0x20,0x69,0x6e,0x2e,0x67,0x6c,0x6f,0x77,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x38,0x31,0x20,0x3d,0x20,0x5f,0x31,0x37,0x38, + 0x2e,0x6c,0x69,0x74,0x20,0x3e,0x20,0x30,0x2e,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x31,0x38,0x32,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x38,0x31,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x38,0x32,0x20,0x3d,0x20, + 0x5f,0x36,0x30,0x2e,0x73,0x75,0x6e,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x78,0x79, + 0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73, + 0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x5f,0x31,0x38,0x32,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x31,0x2e, + 0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75, + 0x74,0x2e,0x76,0x5f,0x73,0x75,0x6e,0x20,0x3d,0x20,0x5f,0x31,0x38,0x32,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x31,0x39,0x36,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x38,0x31,0x29,0x0a,0x20, + 0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x39, + 0x36,0x20,0x3d,0x20,0x5f,0x36,0x30,0x2e,0x73,0x68,0x61,0x64,0x65,0x5f,0x63,0x6f, + 0x6c,0x6f,0x72,0x2e,0x78,0x79,0x7a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, + 0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x39,0x36,0x20,0x3d,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x33,0x28,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a, + 0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x76,0x5f,0x73,0x68,0x61,0x64,0x65,0x20, + 0x3d,0x20,0x5f,0x31,0x39,0x36,0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e, + 0x76,0x5f,0x61,0x6e,0x63,0x68,0x6f,0x72,0x20,0x3d,0x20,0x28,0x69,0x6e,0x2e,0x63, + 0x65,0x6e,0x74,0x65,0x72,0x20,0x2b,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30, + 0x2e,0x30,0x2c,0x20,0x69,0x6e,0x2e,0x73,0x69,0x7a,0x65,0x2e,0x79,0x20,0x2a,0x20, + 0x30,0x2e,0x35,0x2c,0x20,0x30,0x2e,0x30,0x29,0x29,0x20,0x2b,0x20,0x28,0x5f,0x36, + 0x30,0x2e,0x73,0x75,0x6e,0x5f,0x64,0x69,0x72,0x65,0x63,0x74,0x69,0x6f,0x6e,0x2e, + 0x78,0x79,0x7a,0x20,0x2a,0x20,0x30,0x2e,0x33,0x30,0x30,0x30,0x30,0x30,0x30,0x31, + 0x31,0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x6f,0x75, + 0x74,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, ]; /* + #pragma clang diagnostic ignored "-Wmissing-prototypes" + + #include + #include + + using namespace metal; + + struct shadow_params + { + float4x4 shadow_uv; + }; + + struct main0_out + { + float4 frag_color [[color(0)]]; + float4 frag_glow [[color(1)]]; + float4 frag_scene [[color(2)]]; + }; + + struct main0_in + { + float v_clip [[user(locn0)]]; + float3 v_to_camera [[user(locn1)]]; + float2 v_uv [[user(locn2)]]; + float4 v_color [[user(locn3)]]; + float3 v_sun [[user(locn4)]]; + float3 v_shade [[user(locn5)]]; + float3 v_anchor [[user(locn6)]]; + }; + + static inline __attribute__((always_inline)) + float3 sun_shadow(thread const float3& world, thread const float3& normal, constant shadow_params& _55, depth2d shadow_map, sampler shadow_smp, texture2d shadow_tint, sampler shadow_tint_smp) + { + float3 _35 = normal * 0.03125; + float4 _71 = _55.shadow_uv * float4((((floor((world - _35) * 16.0) + float3(0.5)) * float3(0.0625)) + _35) + (normal * 0.0199999995529651641845703125), 1.0); + float _76 = _71.x; + bool _78 = _76 < 0.0; + bool _85; + if (!_78) + { + _85 = _76 > 1.0; + } + else + { + _85 = _78; + } + bool _93; + if (!_85) + { + _93 = _71.y < 0.0; + } + else + { + _93 = _85; + } + bool _100; + if (!_93) + { + _100 = _71.y > 1.0; + } + else + { + _100 = _93; + } + bool _108; + if (!_100) + { + _108 = _71.z > 1.0; + } + else + { + _108 = _100; + } + if (_108) + { + return float3(1.0); + } + float _131 = _71.z - 0.0005000000237487256526947021484375; + return shadow_tint.sample(shadow_tint_smp, _71.xy).xyz * shadow_map.sample_compare(shadow_smp, float3(_76, _71.y, _131).xy, _131); + } + + static inline __attribute__((always_inline)) + float4 sprite_color(thread float& v_clip, texture2d sprite, sampler sprite_smp, thread float2& v_uv, thread float4& v_color) + { + if (v_clip < 0.0) + { + discard_fragment(); + } + float4 _167 = sprite.sample(sprite_smp, v_uv); + if (_167.w < 0.00999999977648258209228515625) + { + discard_fragment(); + } + return _167 * v_color; + } + + static inline __attribute__((always_inline)) + void write_scene(thread const float3& to_camera, thread const float& glow, thread float4& frag_glow, thread float4& frag_scene) + { + frag_glow = float4(glow); + frag_scene = float4(length(to_camera)); + } + + fragment main0_out main0(main0_in in [[stage_in]], constant shadow_params& _55 [[buffer(0)]], depth2d shadow_map [[texture(0)]], texture2d shadow_tint [[texture(1)]], texture2d sprite [[texture(2)]], sampler shadow_smp [[sampler(0)]], sampler shadow_tint_smp [[sampler(1)]], sampler sprite_smp [[sampler(2)]]) + { + main0_out out = {}; + float3 param = in.v_anchor; + float3 param_1 = float3(0.0, 1.0, 0.0); + float4 _197 = sprite_color(in.v_clip, sprite, sprite_smp, in.v_uv, in.v_color); + out.frag_color = _197 * float4(mix(in.v_shade, in.v_sun, sun_shadow(param, param_1, _55, shadow_map, shadow_smp, shadow_tint, shadow_tint_smp)), 1.0); + float3 param_2 = in.v_to_camera; + float param_3 = 0.0; + write_scene(param_2, param_3, out.frag_glow, out.frag_scene); + return out; + } + +*/ +fs_sprite_source_metal_macos := u8.[ + 0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x63,0x6c,0x61,0x6e,0x67,0x20,0x64,0x69, + 0x61,0x67,0x6e,0x6f,0x73,0x74,0x69,0x63,0x20,0x69,0x67,0x6e,0x6f,0x72,0x65,0x64, + 0x20,0x22,0x2d,0x57,0x6d,0x69,0x73,0x73,0x69,0x6e,0x67,0x2d,0x70,0x72,0x6f,0x74, + 0x6f,0x74,0x79,0x70,0x65,0x73,0x22,0x0a,0x0a,0x23,0x69,0x6e,0x63,0x6c,0x75,0x64, + 0x65,0x20,0x3c,0x6d,0x65,0x74,0x61,0x6c,0x5f,0x73,0x74,0x64,0x6c,0x69,0x62,0x3e, + 0x0a,0x23,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x20,0x3c,0x73,0x69,0x6d,0x64,0x2f, + 0x73,0x69,0x6d,0x64,0x2e,0x68,0x3e,0x0a,0x0a,0x75,0x73,0x69,0x6e,0x67,0x20,0x6e, + 0x61,0x6d,0x65,0x73,0x70,0x61,0x63,0x65,0x20,0x6d,0x65,0x74,0x61,0x6c,0x3b,0x0a, + 0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x70, + 0x61,0x72,0x61,0x6d,0x73,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x34,0x78,0x34,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x75,0x76,0x3b,0x0a, + 0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30, + 0x5f,0x6f,0x75,0x74,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x5b,0x5b,0x63, + 0x6f,0x6c,0x6f,0x72,0x28,0x30,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x20, + 0x5b,0x5b,0x63,0x6f,0x6c,0x6f,0x72,0x28,0x31,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x73,0x63, + 0x65,0x6e,0x65,0x20,0x5b,0x5b,0x63,0x6f,0x6c,0x6f,0x72,0x28,0x32,0x29,0x5d,0x5d, + 0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x6d,0x61,0x69, + 0x6e,0x30,0x5f,0x69,0x6e,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x76,0x5f,0x63,0x6c,0x69,0x70,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28, + 0x6c,0x6f,0x63,0x6e,0x30,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x33,0x20,0x76,0x5f,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61, + 0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x31,0x29,0x5d,0x5d, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x76,0x5f,0x75, + 0x76,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x32,0x29,0x5d, + 0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x76,0x5f, + 0x63,0x6f,0x6c,0x6f,0x72,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63, + 0x6e,0x33,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x33,0x20,0x76,0x5f,0x73,0x75,0x6e,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c, + 0x6f,0x63,0x6e,0x34,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x33,0x20,0x76,0x5f,0x73,0x68,0x61,0x64,0x65,0x20,0x5b,0x5b,0x75,0x73, + 0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x35,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x76,0x5f,0x61,0x6e,0x63,0x68,0x6f,0x72, + 0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x36,0x29,0x5d,0x5d, + 0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x61,0x74,0x69,0x63,0x20,0x69,0x6e,0x6c, + 0x69,0x6e,0x65,0x20,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f, + 0x5f,0x28,0x28,0x61,0x6c,0x77,0x61,0x79,0x73,0x5f,0x69,0x6e,0x6c,0x69,0x6e,0x65, + 0x29,0x29,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x73,0x75,0x6e,0x5f,0x73,0x68, + 0x61,0x64,0x6f,0x77,0x28,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x63,0x6f,0x6e,0x73, + 0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x26,0x20,0x77,0x6f,0x72,0x6c,0x64,0x2c, + 0x20,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x33,0x26,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x2c,0x20,0x63,0x6f, + 0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x70,0x61, + 0x72,0x61,0x6d,0x73,0x26,0x20,0x5f,0x35,0x35,0x2c,0x20,0x64,0x65,0x70,0x74,0x68, + 0x32,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e,0x20,0x73,0x68,0x61,0x64,0x6f,0x77, + 0x5f,0x6d,0x61,0x70,0x2c,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x20,0x73,0x68, + 0x61,0x64,0x6f,0x77,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x74,0x65,0x78,0x74,0x75,0x72, + 0x65,0x32,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e,0x20,0x73,0x68,0x61,0x64,0x6f, + 0x77,0x5f,0x74,0x69,0x6e,0x74,0x2c,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x20, + 0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x74,0x69,0x6e,0x74,0x5f,0x73,0x6d,0x70,0x29, + 0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x33, + 0x35,0x20,0x3d,0x20,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x20,0x2a,0x20,0x30,0x2e,0x30, + 0x33,0x31,0x32,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34, + 0x20,0x5f,0x37,0x31,0x20,0x3d,0x20,0x5f,0x35,0x35,0x2e,0x73,0x68,0x61,0x64,0x6f, + 0x77,0x5f,0x75,0x76,0x20,0x2a,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x28,0x28, + 0x28,0x66,0x6c,0x6f,0x6f,0x72,0x28,0x28,0x77,0x6f,0x72,0x6c,0x64,0x20,0x2d,0x20, + 0x5f,0x33,0x35,0x29,0x20,0x2a,0x20,0x31,0x36,0x2e,0x30,0x29,0x20,0x2b,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x35,0x29,0x29,0x20,0x2a,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x30,0x36,0x32,0x35,0x29,0x29,0x20,0x2b,0x20, + 0x5f,0x33,0x35,0x29,0x20,0x2b,0x20,0x28,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x20,0x2a, + 0x20,0x30,0x2e,0x30,0x31,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x35,0x35,0x32,0x39, + 0x36,0x35,0x31,0x36,0x34,0x31,0x38,0x34,0x35,0x37,0x30,0x33,0x31,0x32,0x35,0x29, + 0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x5f,0x37,0x36,0x20,0x3d,0x20,0x5f,0x37,0x31,0x2e,0x78,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x37,0x38,0x20,0x3d,0x20,0x5f,0x37, + 0x36,0x20,0x3c,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f, + 0x6c,0x20,0x5f,0x38,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21, + 0x5f,0x37,0x38,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x5f,0x38,0x35,0x20,0x3d,0x20,0x5f,0x37,0x36,0x20,0x3e,0x20,0x31, + 0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c, + 0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x5f,0x38,0x35,0x20,0x3d,0x20,0x5f,0x37,0x38,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x7d,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x39,0x33,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x5f,0x38,0x35,0x29,0x0a,0x20,0x20, + 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x39,0x33,0x20, + 0x3d,0x20,0x5f,0x37,0x31,0x2e,0x79,0x20,0x3c,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20, + 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x39,0x33,0x20, + 0x3d,0x20,0x5f,0x38,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20, + 0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x30,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x69,0x66,0x20,0x28,0x21,0x5f,0x39,0x33,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x30,0x30,0x20,0x3d,0x20,0x5f, + 0x37,0x31,0x2e,0x79,0x20,0x3e,0x20,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x30,0x30,0x20,0x3d,0x20, + 0x5f,0x39,0x33,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x62, + 0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x30,0x38,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66, + 0x20,0x28,0x21,0x5f,0x31,0x30,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x30,0x38,0x20,0x3d,0x20,0x5f,0x37, + 0x31,0x2e,0x7a,0x20,0x3e,0x20,0x31,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d, + 0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x30,0x38,0x20,0x3d,0x20,0x5f, + 0x31,0x30,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69, + 0x66,0x20,0x28,0x5f,0x31,0x30,0x38,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x33,0x28,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d, + 0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x33,0x31,0x20, + 0x3d,0x20,0x5f,0x37,0x31,0x2e,0x7a,0x20,0x2d,0x20,0x30,0x2e,0x30,0x30,0x30,0x35, + 0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x33,0x37,0x34,0x38,0x37,0x32,0x35,0x36,0x35, + 0x32,0x36,0x39,0x34,0x37,0x30,0x32,0x31,0x34,0x38,0x34,0x33,0x37,0x35,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x73,0x68,0x61,0x64,0x6f, + 0x77,0x5f,0x74,0x69,0x6e,0x74,0x2e,0x73,0x61,0x6d,0x70,0x6c,0x65,0x28,0x73,0x68, + 0x61,0x64,0x6f,0x77,0x5f,0x74,0x69,0x6e,0x74,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x5f, + 0x37,0x31,0x2e,0x78,0x79,0x29,0x2e,0x78,0x79,0x7a,0x20,0x2a,0x20,0x73,0x68,0x61, + 0x64,0x6f,0x77,0x5f,0x6d,0x61,0x70,0x2e,0x73,0x61,0x6d,0x70,0x6c,0x65,0x5f,0x63, + 0x6f,0x6d,0x70,0x61,0x72,0x65,0x28,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x73,0x6d, + 0x70,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x5f,0x37,0x36,0x2c,0x20,0x5f, + 0x37,0x31,0x2e,0x79,0x2c,0x20,0x5f,0x31,0x33,0x31,0x29,0x2e,0x78,0x79,0x2c,0x20, + 0x5f,0x31,0x33,0x31,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x73,0x74,0x61,0x74,0x69,0x63, + 0x20,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62, + 0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x61,0x6c,0x77,0x61,0x79,0x73,0x5f,0x69,0x6e, + 0x6c,0x69,0x6e,0x65,0x29,0x29,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x73,0x70, + 0x72,0x69,0x74,0x65,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x28,0x74,0x68,0x72,0x65,0x61, + 0x64,0x20,0x66,0x6c,0x6f,0x61,0x74,0x26,0x20,0x76,0x5f,0x63,0x6c,0x69,0x70,0x2c, + 0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x32,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74, + 0x3e,0x20,0x73,0x70,0x72,0x69,0x74,0x65,0x2c,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65, + 0x72,0x20,0x73,0x70,0x72,0x69,0x74,0x65,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x74,0x68, + 0x72,0x65,0x61,0x64,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x26,0x20,0x76,0x5f,0x75, + 0x76,0x2c,0x20,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34, + 0x26,0x20,0x76,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x69,0x66,0x20,0x28,0x76,0x5f,0x63,0x6c,0x69,0x70,0x20,0x3c,0x20,0x30,0x2e, + 0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x64,0x69,0x73,0x63,0x61,0x72,0x64,0x5f,0x66,0x72,0x61,0x67,0x6d,0x65,0x6e, + 0x74,0x28,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x34,0x20,0x5f,0x31,0x36,0x37,0x20,0x3d,0x20,0x73,0x70,0x72, + 0x69,0x74,0x65,0x2e,0x73,0x61,0x6d,0x70,0x6c,0x65,0x28,0x73,0x70,0x72,0x69,0x74, + 0x65,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x76,0x5f,0x75,0x76,0x29,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31,0x36,0x37,0x2e,0x77,0x20,0x3c,0x20,0x30, + 0x2e,0x30,0x30,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x37,0x36,0x34,0x38,0x32, + 0x35,0x38,0x32,0x30,0x39,0x32,0x32,0x38,0x35,0x31,0x35,0x36,0x32,0x35,0x29,0x0a, + 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x69, + 0x73,0x63,0x61,0x72,0x64,0x5f,0x66,0x72,0x61,0x67,0x6d,0x65,0x6e,0x74,0x28,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75, + 0x72,0x6e,0x20,0x5f,0x31,0x36,0x37,0x20,0x2a,0x20,0x76,0x5f,0x63,0x6f,0x6c,0x6f, + 0x72,0x3b,0x0a,0x7d,0x0a,0x0a,0x73,0x74,0x61,0x74,0x69,0x63,0x20,0x69,0x6e,0x6c, + 0x69,0x6e,0x65,0x20,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f, + 0x5f,0x28,0x28,0x61,0x6c,0x77,0x61,0x79,0x73,0x5f,0x69,0x6e,0x6c,0x69,0x6e,0x65, + 0x29,0x29,0x0a,0x76,0x6f,0x69,0x64,0x20,0x77,0x72,0x69,0x74,0x65,0x5f,0x73,0x63, + 0x65,0x6e,0x65,0x28,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x63,0x6f,0x6e,0x73,0x74, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x26,0x20,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65, + 0x72,0x61,0x2c,0x20,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x63,0x6f,0x6e,0x73,0x74, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x26,0x20,0x67,0x6c,0x6f,0x77,0x2c,0x20,0x74,0x68, + 0x72,0x65,0x61,0x64,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x26,0x20,0x66,0x72,0x61, + 0x67,0x5f,0x67,0x6c,0x6f,0x77,0x2c,0x20,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x34,0x26,0x20,0x66,0x72,0x61,0x67,0x5f,0x73,0x63,0x65,0x6e, + 0x65,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x67,0x6c, + 0x6f,0x77,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x67,0x6c,0x6f,0x77, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x73,0x63,0x65,0x6e, + 0x65,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x6c,0x65,0x6e,0x67,0x74, + 0x68,0x28,0x74,0x6f,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x29,0x29,0x3b,0x0a,0x7d, + 0x0a,0x0a,0x66,0x72,0x61,0x67,0x6d,0x65,0x6e,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30, + 0x5f,0x6f,0x75,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x28,0x6d,0x61,0x69,0x6e,0x30, + 0x5f,0x69,0x6e,0x20,0x69,0x6e,0x20,0x5b,0x5b,0x73,0x74,0x61,0x67,0x65,0x5f,0x69, + 0x6e,0x5d,0x5d,0x2c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x73,0x68, + 0x61,0x64,0x6f,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x26,0x20,0x5f,0x35,0x35, + 0x20,0x5b,0x5b,0x62,0x75,0x66,0x66,0x65,0x72,0x28,0x30,0x29,0x5d,0x5d,0x2c,0x20, + 0x64,0x65,0x70,0x74,0x68,0x32,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e,0x20,0x73, + 0x68,0x61,0x64,0x6f,0x77,0x5f,0x6d,0x61,0x70,0x20,0x5b,0x5b,0x74,0x65,0x78,0x74, + 0x75,0x72,0x65,0x28,0x30,0x29,0x5d,0x5d,0x2c,0x20,0x74,0x65,0x78,0x74,0x75,0x72, + 0x65,0x32,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e,0x20,0x73,0x68,0x61,0x64,0x6f, + 0x77,0x5f,0x74,0x69,0x6e,0x74,0x20,0x5b,0x5b,0x74,0x65,0x78,0x74,0x75,0x72,0x65, + 0x28,0x31,0x29,0x5d,0x5d,0x2c,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x32,0x64, + 0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e,0x20,0x73,0x70,0x72,0x69,0x74,0x65,0x20,0x5b, + 0x5b,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x32,0x29,0x5d,0x5d,0x2c,0x20,0x73, + 0x61,0x6d,0x70,0x6c,0x65,0x72,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x73,0x6d, + 0x70,0x20,0x5b,0x5b,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x28,0x30,0x29,0x5d,0x5d, + 0x2c,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x20,0x73,0x68,0x61,0x64,0x6f,0x77, + 0x5f,0x74,0x69,0x6e,0x74,0x5f,0x73,0x6d,0x70,0x20,0x5b,0x5b,0x73,0x61,0x6d,0x70, + 0x6c,0x65,0x72,0x28,0x31,0x29,0x5d,0x5d,0x2c,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65, + 0x72,0x20,0x73,0x70,0x72,0x69,0x74,0x65,0x5f,0x73,0x6d,0x70,0x20,0x5b,0x5b,0x73, + 0x61,0x6d,0x70,0x6c,0x65,0x72,0x28,0x32,0x29,0x5d,0x5d,0x29,0x0a,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,0x6f,0x75,0x74, + 0x20,0x3d,0x20,0x7b,0x7d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x69,0x6e,0x2e,0x76,0x5f,0x61, + 0x6e,0x63,0x68,0x6f,0x72,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x33,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x33,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x5f,0x31, + 0x39,0x37,0x20,0x3d,0x20,0x73,0x70,0x72,0x69,0x74,0x65,0x5f,0x63,0x6f,0x6c,0x6f, + 0x72,0x28,0x69,0x6e,0x2e,0x76,0x5f,0x63,0x6c,0x69,0x70,0x2c,0x20,0x73,0x70,0x72, + 0x69,0x74,0x65,0x2c,0x20,0x73,0x70,0x72,0x69,0x74,0x65,0x5f,0x73,0x6d,0x70,0x2c, + 0x20,0x69,0x6e,0x2e,0x76,0x5f,0x75,0x76,0x2c,0x20,0x69,0x6e,0x2e,0x76,0x5f,0x63, + 0x6f,0x6c,0x6f,0x72,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x66, + 0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x5f,0x31,0x39,0x37, + 0x20,0x2a,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x6d,0x69,0x78,0x28,0x69,0x6e, + 0x2e,0x76,0x5f,0x73,0x68,0x61,0x64,0x65,0x2c,0x20,0x69,0x6e,0x2e,0x76,0x5f,0x73, + 0x75,0x6e,0x2c,0x20,0x73,0x75,0x6e,0x5f,0x73,0x68,0x61,0x64,0x6f,0x77,0x28,0x70, + 0x61,0x72,0x61,0x6d,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x2c,0x20,0x5f, + 0x35,0x35,0x2c,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x6d,0x61,0x70,0x2c,0x20, + 0x73,0x68,0x61,0x64,0x6f,0x77,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x73,0x68,0x61,0x64, + 0x6f,0x77,0x5f,0x74,0x69,0x6e,0x74,0x2c,0x20,0x73,0x68,0x61,0x64,0x6f,0x77,0x5f, + 0x74,0x69,0x6e,0x74,0x5f,0x73,0x6d,0x70,0x29,0x29,0x2c,0x20,0x31,0x2e,0x30,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x70,0x61,0x72, + 0x61,0x6d,0x5f,0x32,0x20,0x3d,0x20,0x69,0x6e,0x2e,0x76,0x5f,0x74,0x6f,0x5f,0x63, + 0x61,0x6d,0x65,0x72,0x61,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33,0x20,0x3d,0x20,0x30,0x2e,0x30,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x77,0x72,0x69,0x74,0x65,0x5f,0x73,0x63,0x65,0x6e,0x65,0x28, + 0x70,0x61,0x72,0x61,0x6d,0x5f,0x32,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x33, + 0x2c,0x20,0x6f,0x75,0x74,0x2e,0x66,0x72,0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x2c, + 0x20,0x6f,0x75,0x74,0x2e,0x66,0x72,0x61,0x67,0x5f,0x73,0x63,0x65,0x6e,0x65,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x6f,0x75,0x74, + 0x3b,0x0a,0x7d,0x0a,0x0a,0x00, +]; +/* + #pragma clang diagnostic ignored "-Wmissing-prototypes" + #include #include @@ -2699,97 +9831,914 @@ vs_billboard_source_metal_macos := u8.[ struct main0_out { float4 frag_color [[color(0)]]; + float4 frag_glow [[color(1)]]; }; struct main0_in { float v_clip [[user(locn0)]]; - float2 v_uv [[user(locn1)]]; + float2 v_uv [[user(locn2)]]; + float4 v_color [[user(locn3)]]; + float v_glow [[user(locn7)]]; }; + static inline __attribute__((always_inline)) + float4 sprite_color(thread float& v_clip, texture2d sprite, sampler sprite_smp, thread float2& v_uv, thread float4& v_color) + { + if (v_clip < 0.0) + { + discard_fragment(); + } + float4 _42 = sprite.sample(sprite_smp, v_uv); + if (_42.w < 0.00999999977648258209228515625) + { + discard_fragment(); + } + return _42 * v_color; + } + + static inline __attribute__((always_inline)) + void write_transparent(thread const float4& color, thread const float& glow, thread float4& frag_color, thread float4& frag_glow) + { + frag_color = color; + frag_glow = float4(glow, 0.0, 0.0, color.w); + } + fragment main0_out main0(main0_in in [[stage_in]], texture2d sprite [[texture(0)]], sampler sprite_smp [[sampler(0)]]) { main0_out out = {}; - if (in.v_clip < 0.0) - { - discard_fragment(); - } - float4 _33 = sprite.sample(sprite_smp, in.v_uv); - if (_33.w < 0.00999999977648258209228515625) - { - discard_fragment(); - } - out.frag_color = float4(_33.xyz, 1.0); + float4 _67 = sprite_color(in.v_clip, sprite, sprite_smp, in.v_uv, in.v_color); + float4 param = _67; + float param_1 = in.v_glow * 8.0; + write_transparent(param, param_1, out.frag_color, out.frag_glow); return out; } */ -fs_billboard_source_metal_macos := u8.[ +fs_particle_source_metal_macos := u8.[ + 0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x63,0x6c,0x61,0x6e,0x67,0x20,0x64,0x69, + 0x61,0x67,0x6e,0x6f,0x73,0x74,0x69,0x63,0x20,0x69,0x67,0x6e,0x6f,0x72,0x65,0x64, + 0x20,0x22,0x2d,0x57,0x6d,0x69,0x73,0x73,0x69,0x6e,0x67,0x2d,0x70,0x72,0x6f,0x74, + 0x6f,0x74,0x79,0x70,0x65,0x73,0x22,0x0a,0x0a,0x23,0x69,0x6e,0x63,0x6c,0x75,0x64, + 0x65,0x20,0x3c,0x6d,0x65,0x74,0x61,0x6c,0x5f,0x73,0x74,0x64,0x6c,0x69,0x62,0x3e, + 0x0a,0x23,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x20,0x3c,0x73,0x69,0x6d,0x64,0x2f, + 0x73,0x69,0x6d,0x64,0x2e,0x68,0x3e,0x0a,0x0a,0x75,0x73,0x69,0x6e,0x67,0x20,0x6e, + 0x61,0x6d,0x65,0x73,0x70,0x61,0x63,0x65,0x20,0x6d,0x65,0x74,0x61,0x6c,0x3b,0x0a, + 0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75, + 0x74,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x66, + 0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x5b,0x5b,0x63,0x6f,0x6c,0x6f, + 0x72,0x28,0x30,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x20,0x5b,0x5b,0x63, + 0x6f,0x6c,0x6f,0x72,0x28,0x31,0x29,0x5d,0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73, + 0x74,0x72,0x75,0x63,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x69,0x6e,0x0a,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x63,0x6c,0x69, + 0x70,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x30,0x29,0x5d, + 0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x76,0x5f, + 0x75,0x76,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x32,0x29, + 0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x76, + 0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f, + 0x63,0x6e,0x33,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x76,0x5f,0x67,0x6c,0x6f,0x77,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28, + 0x6c,0x6f,0x63,0x6e,0x37,0x29,0x5d,0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74, + 0x61,0x74,0x69,0x63,0x20,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x5f,0x5f,0x61,0x74, + 0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x61,0x6c,0x77,0x61,0x79, + 0x73,0x5f,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x29,0x29,0x0a,0x66,0x6c,0x6f,0x61,0x74, + 0x34,0x20,0x73,0x70,0x72,0x69,0x74,0x65,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x28,0x74, + 0x68,0x72,0x65,0x61,0x64,0x20,0x66,0x6c,0x6f,0x61,0x74,0x26,0x20,0x76,0x5f,0x63, + 0x6c,0x69,0x70,0x2c,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x32,0x64,0x3c,0x66, + 0x6c,0x6f,0x61,0x74,0x3e,0x20,0x73,0x70,0x72,0x69,0x74,0x65,0x2c,0x20,0x73,0x61, + 0x6d,0x70,0x6c,0x65,0x72,0x20,0x73,0x70,0x72,0x69,0x74,0x65,0x5f,0x73,0x6d,0x70, + 0x2c,0x20,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x26, + 0x20,0x76,0x5f,0x75,0x76,0x2c,0x20,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x34,0x26,0x20,0x76,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x29,0x0a,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x76,0x5f,0x63,0x6c,0x69,0x70,0x20, + 0x3c,0x20,0x30,0x2e,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x64,0x69,0x73,0x63,0x61,0x72,0x64,0x5f,0x66,0x72,0x61, + 0x67,0x6d,0x65,0x6e,0x74,0x28,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, + 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x5f,0x34,0x32,0x20,0x3d,0x20, + 0x73,0x70,0x72,0x69,0x74,0x65,0x2e,0x73,0x61,0x6d,0x70,0x6c,0x65,0x28,0x73,0x70, + 0x72,0x69,0x74,0x65,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x76,0x5f,0x75,0x76,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x34,0x32,0x2e,0x77,0x20,0x3c, + 0x20,0x30,0x2e,0x30,0x30,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x37,0x36,0x34, + 0x38,0x32,0x35,0x38,0x32,0x30,0x39,0x32,0x32,0x38,0x35,0x31,0x35,0x36,0x32,0x35, + 0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x64,0x69,0x73,0x63,0x61,0x72,0x64,0x5f,0x66,0x72,0x61,0x67,0x6d,0x65,0x6e,0x74, + 0x28,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x72,0x65, + 0x74,0x75,0x72,0x6e,0x20,0x5f,0x34,0x32,0x20,0x2a,0x20,0x76,0x5f,0x63,0x6f,0x6c, + 0x6f,0x72,0x3b,0x0a,0x7d,0x0a,0x0a,0x73,0x74,0x61,0x74,0x69,0x63,0x20,0x69,0x6e, + 0x6c,0x69,0x6e,0x65,0x20,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65, + 0x5f,0x5f,0x28,0x28,0x61,0x6c,0x77,0x61,0x79,0x73,0x5f,0x69,0x6e,0x6c,0x69,0x6e, + 0x65,0x29,0x29,0x0a,0x76,0x6f,0x69,0x64,0x20,0x77,0x72,0x69,0x74,0x65,0x5f,0x74, + 0x72,0x61,0x6e,0x73,0x70,0x61,0x72,0x65,0x6e,0x74,0x28,0x74,0x68,0x72,0x65,0x61, + 0x64,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x26,0x20, + 0x63,0x6f,0x6c,0x6f,0x72,0x2c,0x20,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x63,0x6f, + 0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x26,0x20,0x67,0x6c,0x6f,0x77,0x2c, + 0x20,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x26,0x20, + 0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x2c,0x20,0x74,0x68,0x72,0x65, + 0x61,0x64,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x26,0x20,0x66,0x72,0x61,0x67,0x5f, + 0x67,0x6c,0x6f,0x77,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67, + 0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x20,0x3d,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x67,0x6c,0x6f,0x77,0x2c,0x20,0x30,0x2e,0x30, + 0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x77,0x29,0x3b, + 0x0a,0x7d,0x0a,0x0a,0x66,0x72,0x61,0x67,0x6d,0x65,0x6e,0x74,0x20,0x6d,0x61,0x69, + 0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x28,0x6d,0x61,0x69, + 0x6e,0x30,0x5f,0x69,0x6e,0x20,0x69,0x6e,0x20,0x5b,0x5b,0x73,0x74,0x61,0x67,0x65, + 0x5f,0x69,0x6e,0x5d,0x5d,0x2c,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x32,0x64, + 0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e,0x20,0x73,0x70,0x72,0x69,0x74,0x65,0x20,0x5b, + 0x5b,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x30,0x29,0x5d,0x5d,0x2c,0x20,0x73, + 0x61,0x6d,0x70,0x6c,0x65,0x72,0x20,0x73,0x70,0x72,0x69,0x74,0x65,0x5f,0x73,0x6d, + 0x70,0x20,0x5b,0x5b,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x28,0x30,0x29,0x5d,0x5d, + 0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75, + 0x74,0x20,0x6f,0x75,0x74,0x20,0x3d,0x20,0x7b,0x7d,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x5f,0x36,0x37,0x20,0x3d,0x20,0x73,0x70,0x72, + 0x69,0x74,0x65,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x28,0x69,0x6e,0x2e,0x76,0x5f,0x63, + 0x6c,0x69,0x70,0x2c,0x20,0x73,0x70,0x72,0x69,0x74,0x65,0x2c,0x20,0x73,0x70,0x72, + 0x69,0x74,0x65,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x69,0x6e,0x2e,0x76,0x5f,0x75,0x76, + 0x2c,0x20,0x69,0x6e,0x2e,0x76,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x70,0x61,0x72,0x61,0x6d,0x20, + 0x3d,0x20,0x5f,0x36,0x37,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x20,0x3d,0x20,0x69,0x6e,0x2e,0x76,0x5f, + 0x67,0x6c,0x6f,0x77,0x20,0x2a,0x20,0x38,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x77,0x72,0x69,0x74,0x65,0x5f,0x74,0x72,0x61,0x6e,0x73,0x70,0x61,0x72,0x65,0x6e, + 0x74,0x28,0x70,0x61,0x72,0x61,0x6d,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31, + 0x2c,0x20,0x6f,0x75,0x74,0x2e,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72, + 0x2c,0x20,0x6f,0x75,0x74,0x2e,0x66,0x72,0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x6f,0x75,0x74, + 0x3b,0x0a,0x7d,0x0a,0x0a,0x00, +]; +/* + #pragma clang diagnostic ignored "-Wmissing-prototypes" + + #include + #include + + using namespace metal; + + struct main0_in + { + float v_clip [[user(locn0)]]; + float2 v_uv [[user(locn2)]]; + float4 v_color [[user(locn3)]]; + }; + + static inline __attribute__((always_inline)) + float4 sprite_color(thread float& v_clip, texture2d sprite, sampler sprite_smp, thread float2& v_uv, thread float4& v_color) + { + if (v_clip < 0.0) + { + discard_fragment(); + } + float4 _36 = sprite.sample(sprite_smp, v_uv); + if (_36.w < 0.00999999977648258209228515625) + { + discard_fragment(); + } + return _36 * v_color; + } + + fragment void main0(main0_in in [[stage_in]], texture2d sprite [[texture(0)]], sampler sprite_smp [[sampler(0)]]) + { + float4 _54 = sprite_color(in.v_clip, sprite, sprite_smp, in.v_uv, in.v_color); + } + +*/ +fs_sprite_shadow_source_metal_macos := u8.[ + 0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x63,0x6c,0x61,0x6e,0x67,0x20,0x64,0x69, + 0x61,0x67,0x6e,0x6f,0x73,0x74,0x69,0x63,0x20,0x69,0x67,0x6e,0x6f,0x72,0x65,0x64, + 0x20,0x22,0x2d,0x57,0x6d,0x69,0x73,0x73,0x69,0x6e,0x67,0x2d,0x70,0x72,0x6f,0x74, + 0x6f,0x74,0x79,0x70,0x65,0x73,0x22,0x0a,0x0a,0x23,0x69,0x6e,0x63,0x6c,0x75,0x64, + 0x65,0x20,0x3c,0x6d,0x65,0x74,0x61,0x6c,0x5f,0x73,0x74,0x64,0x6c,0x69,0x62,0x3e, + 0x0a,0x23,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x20,0x3c,0x73,0x69,0x6d,0x64,0x2f, + 0x73,0x69,0x6d,0x64,0x2e,0x68,0x3e,0x0a,0x0a,0x75,0x73,0x69,0x6e,0x67,0x20,0x6e, + 0x61,0x6d,0x65,0x73,0x70,0x61,0x63,0x65,0x20,0x6d,0x65,0x74,0x61,0x6c,0x3b,0x0a, + 0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x69,0x6e, + 0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76,0x5f,0x63, + 0x6c,0x69,0x70,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x30, + 0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20, + 0x76,0x5f,0x75,0x76,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e, + 0x32,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34, + 0x20,0x76,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28, + 0x6c,0x6f,0x63,0x6e,0x33,0x29,0x5d,0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74, + 0x61,0x74,0x69,0x63,0x20,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x5f,0x5f,0x61,0x74, + 0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x61,0x6c,0x77,0x61,0x79, + 0x73,0x5f,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x29,0x29,0x0a,0x66,0x6c,0x6f,0x61,0x74, + 0x34,0x20,0x73,0x70,0x72,0x69,0x74,0x65,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x28,0x74, + 0x68,0x72,0x65,0x61,0x64,0x20,0x66,0x6c,0x6f,0x61,0x74,0x26,0x20,0x76,0x5f,0x63, + 0x6c,0x69,0x70,0x2c,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x32,0x64,0x3c,0x66, + 0x6c,0x6f,0x61,0x74,0x3e,0x20,0x73,0x70,0x72,0x69,0x74,0x65,0x2c,0x20,0x73,0x61, + 0x6d,0x70,0x6c,0x65,0x72,0x20,0x73,0x70,0x72,0x69,0x74,0x65,0x5f,0x73,0x6d,0x70, + 0x2c,0x20,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x26, + 0x20,0x76,0x5f,0x75,0x76,0x2c,0x20,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x34,0x26,0x20,0x76,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x29,0x0a,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x76,0x5f,0x63,0x6c,0x69,0x70,0x20, + 0x3c,0x20,0x30,0x2e,0x30,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x64,0x69,0x73,0x63,0x61,0x72,0x64,0x5f,0x66,0x72,0x61, + 0x67,0x6d,0x65,0x6e,0x74,0x28,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20, + 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x5f,0x33,0x36,0x20,0x3d,0x20, + 0x73,0x70,0x72,0x69,0x74,0x65,0x2e,0x73,0x61,0x6d,0x70,0x6c,0x65,0x28,0x73,0x70, + 0x72,0x69,0x74,0x65,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x76,0x5f,0x75,0x76,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x33,0x36,0x2e,0x77,0x20,0x3c, + 0x20,0x30,0x2e,0x30,0x30,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x37,0x36,0x34, + 0x38,0x32,0x35,0x38,0x32,0x30,0x39,0x32,0x32,0x38,0x35,0x31,0x35,0x36,0x32,0x35, + 0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x64,0x69,0x73,0x63,0x61,0x72,0x64,0x5f,0x66,0x72,0x61,0x67,0x6d,0x65,0x6e,0x74, + 0x28,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x72,0x65, + 0x74,0x75,0x72,0x6e,0x20,0x5f,0x33,0x36,0x20,0x2a,0x20,0x76,0x5f,0x63,0x6f,0x6c, + 0x6f,0x72,0x3b,0x0a,0x7d,0x0a,0x0a,0x66,0x72,0x61,0x67,0x6d,0x65,0x6e,0x74,0x20, + 0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,0x69,0x6e,0x30,0x28,0x6d,0x61,0x69,0x6e,0x30, + 0x5f,0x69,0x6e,0x20,0x69,0x6e,0x20,0x5b,0x5b,0x73,0x74,0x61,0x67,0x65,0x5f,0x69, + 0x6e,0x5d,0x5d,0x2c,0x20,0x74,0x65,0x78,0x74,0x75,0x72,0x65,0x32,0x64,0x3c,0x66, + 0x6c,0x6f,0x61,0x74,0x3e,0x20,0x73,0x70,0x72,0x69,0x74,0x65,0x20,0x5b,0x5b,0x74, + 0x65,0x78,0x74,0x75,0x72,0x65,0x28,0x30,0x29,0x5d,0x5d,0x2c,0x20,0x73,0x61,0x6d, + 0x70,0x6c,0x65,0x72,0x20,0x73,0x70,0x72,0x69,0x74,0x65,0x5f,0x73,0x6d,0x70,0x20, + 0x5b,0x5b,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x28,0x30,0x29,0x5d,0x5d,0x29,0x0a, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x5f,0x35,0x34, + 0x20,0x3d,0x20,0x73,0x70,0x72,0x69,0x74,0x65,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x28, + 0x69,0x6e,0x2e,0x76,0x5f,0x63,0x6c,0x69,0x70,0x2c,0x20,0x73,0x70,0x72,0x69,0x74, + 0x65,0x2c,0x20,0x73,0x70,0x72,0x69,0x74,0x65,0x5f,0x73,0x6d,0x70,0x2c,0x20,0x69, + 0x6e,0x2e,0x76,0x5f,0x75,0x76,0x2c,0x20,0x69,0x6e,0x2e,0x76,0x5f,0x63,0x6f,0x6c, + 0x6f,0x72,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, +]; +/* + #pragma clang diagnostic ignored "-Wmissing-prototypes" + + #include + #include + + using namespace metal; + + struct view_params + { + float4x4 view_proj; + float4x4 inv_view_proj; + float4 camera; + float4 clip; + float4 sun_direction; + float4 sun_color; + float4 shade_color; + }; + + struct main0_out + { + float4 v_point [[user(locn0)]]; + float3 v_camera [[user(locn1)]]; + float4 gl_Position [[position]]; + }; + + static inline __attribute__((always_inline)) + float2 fullscreen_position(thread const int& vertex_index) + { + return (float2(float((vertex_index << 1) & 2), float(vertex_index & 2)) * 2.0) - float2(1.0); + } + + vertex main0_out main0(constant view_params& _57 [[buffer(0)]], uint gl_VertexIndex [[vertex_id]]) + { + main0_out out = {}; + int param = int(gl_VertexIndex); + float2 _37 = fullscreen_position(param); + float _48 = _37.x; + out.gl_Position = float4(_48, _37.y, 0.0, 1.0); + out.v_point = _57.inv_view_proj * float4(_48, _37.y, 0.5, 1.0); + out.v_camera = _57.camera.xyz; + return out; + } + +*/ +vs_sky_source_metal_macos := u8.[ + 0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x63,0x6c,0x61,0x6e,0x67,0x20,0x64,0x69, + 0x61,0x67,0x6e,0x6f,0x73,0x74,0x69,0x63,0x20,0x69,0x67,0x6e,0x6f,0x72,0x65,0x64, + 0x20,0x22,0x2d,0x57,0x6d,0x69,0x73,0x73,0x69,0x6e,0x67,0x2d,0x70,0x72,0x6f,0x74, + 0x6f,0x74,0x79,0x70,0x65,0x73,0x22,0x0a,0x0a,0x23,0x69,0x6e,0x63,0x6c,0x75,0x64, + 0x65,0x20,0x3c,0x6d,0x65,0x74,0x61,0x6c,0x5f,0x73,0x74,0x64,0x6c,0x69,0x62,0x3e, + 0x0a,0x23,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x20,0x3c,0x73,0x69,0x6d,0x64,0x2f, + 0x73,0x69,0x6d,0x64,0x2e,0x68,0x3e,0x0a,0x0a,0x75,0x73,0x69,0x6e,0x67,0x20,0x6e, + 0x61,0x6d,0x65,0x73,0x70,0x61,0x63,0x65,0x20,0x6d,0x65,0x74,0x61,0x6c,0x3b,0x0a, + 0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72, + 0x61,0x6d,0x73,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34, + 0x78,0x34,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x72,0x6f,0x6a,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x78,0x34,0x20,0x69,0x6e,0x76,0x5f,0x76, + 0x69,0x65,0x77,0x5f,0x70,0x72,0x6f,0x6a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x34,0x20,0x63,0x61,0x6d,0x65,0x72,0x61,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x63,0x6c,0x69,0x70,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x73,0x75,0x6e,0x5f,0x64,0x69,0x72, + 0x65,0x63,0x74,0x69,0x6f,0x6e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x34,0x20,0x73,0x75,0x6e,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x73,0x68,0x61,0x64,0x65,0x5f,0x63, + 0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74, + 0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x0a,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x76,0x5f,0x70,0x6f,0x69,0x6e,0x74,0x20, + 0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x30,0x29,0x5d,0x5d,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x76,0x5f,0x63,0x61, + 0x6d,0x65,0x72,0x61,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e, + 0x31,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34, + 0x20,0x67,0x6c,0x5f,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x20,0x5b,0x5b,0x70, + 0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x5d,0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73, + 0x74,0x61,0x74,0x69,0x63,0x20,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x5f,0x5f,0x61, + 0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x61,0x6c,0x77,0x61, + 0x79,0x73,0x5f,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x29,0x29,0x0a,0x66,0x6c,0x6f,0x61, + 0x74,0x32,0x20,0x66,0x75,0x6c,0x6c,0x73,0x63,0x72,0x65,0x65,0x6e,0x5f,0x70,0x6f, + 0x73,0x69,0x74,0x69,0x6f,0x6e,0x28,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x63,0x6f, + 0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x26,0x20,0x76,0x65,0x72,0x74,0x65,0x78,0x5f, + 0x69,0x6e,0x64,0x65,0x78,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74, + 0x75,0x72,0x6e,0x20,0x28,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x66,0x6c,0x6f,0x61, + 0x74,0x28,0x28,0x76,0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x6e,0x64,0x65,0x78,0x20, + 0x3c,0x3c,0x20,0x31,0x29,0x20,0x26,0x20,0x32,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x28,0x76,0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x6e,0x64,0x65,0x78,0x20,0x26, + 0x20,0x32,0x29,0x29,0x20,0x2a,0x20,0x32,0x2e,0x30,0x29,0x20,0x2d,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x32,0x28,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x65, + 0x72,0x74,0x65,0x78,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,0x6d, + 0x61,0x69,0x6e,0x30,0x28,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x76,0x69, + 0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x26,0x20,0x5f,0x35,0x37,0x20,0x5b, + 0x5b,0x62,0x75,0x66,0x66,0x65,0x72,0x28,0x30,0x29,0x5d,0x5d,0x2c,0x20,0x75,0x69, + 0x6e,0x74,0x20,0x67,0x6c,0x5f,0x56,0x65,0x72,0x74,0x65,0x78,0x49,0x6e,0x64,0x65, + 0x78,0x20,0x5b,0x5b,0x76,0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x64,0x5d,0x5d,0x29, + 0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74, + 0x20,0x6f,0x75,0x74,0x20,0x3d,0x20,0x7b,0x7d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69, + 0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x69,0x6e,0x74,0x28,0x67, + 0x6c,0x5f,0x56,0x65,0x72,0x74,0x65,0x78,0x49,0x6e,0x64,0x65,0x78,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x5f,0x33,0x37,0x20,0x3d, + 0x20,0x66,0x75,0x6c,0x6c,0x73,0x63,0x72,0x65,0x65,0x6e,0x5f,0x70,0x6f,0x73,0x69, + 0x74,0x69,0x6f,0x6e,0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x34,0x38,0x20,0x3d,0x20,0x5f,0x33,0x37, + 0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x67,0x6c,0x5f,0x50, + 0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34, + 0x28,0x5f,0x34,0x38,0x2c,0x20,0x5f,0x33,0x37,0x2e,0x79,0x2c,0x20,0x30,0x2e,0x30, + 0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e, + 0x76,0x5f,0x70,0x6f,0x69,0x6e,0x74,0x20,0x3d,0x20,0x5f,0x35,0x37,0x2e,0x69,0x6e, + 0x76,0x5f,0x76,0x69,0x65,0x77,0x5f,0x70,0x72,0x6f,0x6a,0x20,0x2a,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x34,0x28,0x5f,0x34,0x38,0x2c,0x20,0x5f,0x33,0x37,0x2e,0x79,0x2c, + 0x20,0x30,0x2e,0x35,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x6f,0x75,0x74,0x2e,0x76,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x20,0x3d,0x20,0x5f, + 0x35,0x37,0x2e,0x63,0x61,0x6d,0x65,0x72,0x61,0x2e,0x78,0x79,0x7a,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x6f,0x75,0x74,0x3b,0x0a,0x7d, + 0x0a,0x0a,0x00, +]; +/* + #include + #include + + using namespace metal; + + struct sky_params + { + float4 sky_base; + float4 sky_top; + float4 sun_disk; + float4 sun_halo; + float4 horizon_halo; + float4 sun; + }; + + struct main0_out + { + float4 frag_color [[color(0)]]; + float4 frag_glow [[color(1)]]; + float4 frag_scene [[color(2)]]; + }; + + struct main0_in + { + float4 v_point [[user(locn0)]]; + float3 v_camera [[user(locn1)]]; + }; + + fragment main0_out main0(main0_in in [[stage_in]], constant sky_params& _30 [[buffer(0)]]) + { + main0_out out = {}; + float3 _26 = fast::normalize((in.v_point.xyz / float3(in.v_point.w)) - in.v_camera); + float _44 = _26.y; + float3 _62 = fast::normalize(cross(_30.sun.xyz, float3(0.0, 1.0, 0.0))); + float _72 = dot(_26, _30.sun.xyz); + float3 _74 = _26 - (_30.sun.xyz * _72); + float _84 = fast::max(abs(dot(_74, _62)), abs(dot(_74, cross(_62, _30.sun.xyz)))); + float _91 = fast::clamp((0.25 - _84) * 6.0, 0.0, 1.0); + float3 color = mix(_30.sky_base.xyz, _30.sky_top.xyz, float3(fast::clamp(_44 * 2.0, 0.0, 0.699999988079071044921875))) + ((_30.sun_halo.xyz * _91) * _91); + bool _107 = _84 < 0.0320000015199184417724609375; + bool _114; + if (_107) + { + _114 = _72 > 0.0; + } + else + { + _114 = _107; + } + if (_114) + { + color = _30.sun_disk.xyz * 3.0; + } + float3 _138 = color; + float3 _139 = _138 + ((_30.horizon_halo.xyz * (1.0 - fast::clamp(abs(_44) * 20.0, 0.0, 1.0))) * 0.800000011920928955078125); + color = _139; + out.frag_color = float4(_139 * _30.sun.w, 1.0); + out.frag_glow = float4(float(_114)); + out.frag_scene = float4(10000.0); + return out; + } + +*/ +fs_sky_source_metal_macos := u8.[ 0x23,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x20,0x3c,0x6d,0x65,0x74,0x61,0x6c,0x5f, 0x73,0x74,0x64,0x6c,0x69,0x62,0x3e,0x0a,0x23,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65, 0x20,0x3c,0x73,0x69,0x6d,0x64,0x2f,0x73,0x69,0x6d,0x64,0x2e,0x68,0x3e,0x0a,0x0a, 0x75,0x73,0x69,0x6e,0x67,0x20,0x6e,0x61,0x6d,0x65,0x73,0x70,0x61,0x63,0x65,0x20, - 0x6d,0x65,0x74,0x61,0x6c,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x6d, - 0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66, - 0x6c,0x6f,0x61,0x74,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72, - 0x20,0x5b,0x5b,0x63,0x6f,0x6c,0x6f,0x72,0x28,0x30,0x29,0x5d,0x5d,0x3b,0x0a,0x7d, - 0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f, - 0x69,0x6e,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x76, - 0x5f,0x63,0x6c,0x69,0x70,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63, - 0x6e,0x30,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, - 0x32,0x20,0x76,0x5f,0x75,0x76,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f, - 0x63,0x6e,0x31,0x29,0x5d,0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x66,0x72,0x61,0x67, - 0x6d,0x65,0x6e,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,0x6d, - 0x61,0x69,0x6e,0x30,0x28,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x69,0x6e,0x20,0x69,0x6e, - 0x20,0x5b,0x5b,0x73,0x74,0x61,0x67,0x65,0x5f,0x69,0x6e,0x5d,0x5d,0x2c,0x20,0x74, - 0x65,0x78,0x74,0x75,0x72,0x65,0x32,0x64,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e,0x20, - 0x73,0x70,0x72,0x69,0x74,0x65,0x20,0x5b,0x5b,0x74,0x65,0x78,0x74,0x75,0x72,0x65, - 0x28,0x30,0x29,0x5d,0x5d,0x2c,0x20,0x73,0x61,0x6d,0x70,0x6c,0x65,0x72,0x20,0x73, - 0x70,0x72,0x69,0x74,0x65,0x5f,0x73,0x6d,0x70,0x20,0x5b,0x5b,0x73,0x61,0x6d,0x70, - 0x6c,0x65,0x72,0x28,0x30,0x29,0x5d,0x5d,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20, - 0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,0x6f,0x75,0x74,0x20,0x3d,0x20, - 0x7b,0x7d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x69,0x6e,0x2e,0x76, - 0x5f,0x63,0x6c,0x69,0x70,0x20,0x3c,0x20,0x30,0x2e,0x30,0x29,0x0a,0x20,0x20,0x20, - 0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x69,0x73,0x63,0x61, - 0x72,0x64,0x5f,0x66,0x72,0x61,0x67,0x6d,0x65,0x6e,0x74,0x28,0x29,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20, - 0x5f,0x33,0x33,0x20,0x3d,0x20,0x73,0x70,0x72,0x69,0x74,0x65,0x2e,0x73,0x61,0x6d, - 0x70,0x6c,0x65,0x28,0x73,0x70,0x72,0x69,0x74,0x65,0x5f,0x73,0x6d,0x70,0x2c,0x20, - 0x69,0x6e,0x2e,0x76,0x5f,0x75,0x76,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66, - 0x20,0x28,0x5f,0x33,0x33,0x2e,0x77,0x20,0x3c,0x20,0x30,0x2e,0x30,0x30,0x39,0x39, - 0x39,0x39,0x39,0x39,0x39,0x37,0x37,0x36,0x34,0x38,0x32,0x35,0x38,0x32,0x30,0x39, - 0x32,0x32,0x38,0x35,0x31,0x35,0x36,0x32,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b, - 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x69,0x73,0x63,0x61,0x72,0x64, - 0x5f,0x66,0x72,0x61,0x67,0x6d,0x65,0x6e,0x74,0x28,0x29,0x3b,0x0a,0x20,0x20,0x20, - 0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x66,0x72,0x61,0x67,0x5f, - 0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x5f, - 0x33,0x33,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x6f,0x75,0x74,0x3b,0x0a,0x7d,0x0a, - 0x0a,0x00, + 0x6d,0x65,0x74,0x61,0x6c,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x73, + 0x6b,0x79,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x73,0x6b,0x79,0x5f,0x62,0x61,0x73,0x65,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x73,0x6b,0x79,0x5f, + 0x74,0x6f,0x70,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20, + 0x73,0x75,0x6e,0x5f,0x64,0x69,0x73,0x6b,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x34,0x20,0x73,0x75,0x6e,0x5f,0x68,0x61,0x6c,0x6f,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x68,0x6f,0x72,0x69,0x7a,0x6f, + 0x6e,0x5f,0x68,0x61,0x6c,0x6f,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x34,0x20,0x73,0x75,0x6e,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75, + 0x63,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x0a,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x63, + 0x6f,0x6c,0x6f,0x72,0x20,0x5b,0x5b,0x63,0x6f,0x6c,0x6f,0x72,0x28,0x30,0x29,0x5d, + 0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x66,0x72, + 0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x20,0x5b,0x5b,0x63,0x6f,0x6c,0x6f,0x72,0x28, + 0x31,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34, + 0x20,0x66,0x72,0x61,0x67,0x5f,0x73,0x63,0x65,0x6e,0x65,0x20,0x5b,0x5b,0x63,0x6f, + 0x6c,0x6f,0x72,0x28,0x32,0x29,0x5d,0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74, + 0x72,0x75,0x63,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x69,0x6e,0x0a,0x7b,0x0a, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x76,0x5f,0x70,0x6f,0x69, + 0x6e,0x74,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x30,0x29, + 0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x76, + 0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c, + 0x6f,0x63,0x6e,0x31,0x29,0x5d,0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x66,0x72,0x61, + 0x67,0x6d,0x65,0x6e,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20, + 0x6d,0x61,0x69,0x6e,0x30,0x28,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x69,0x6e,0x20,0x69, + 0x6e,0x20,0x5b,0x5b,0x73,0x74,0x61,0x67,0x65,0x5f,0x69,0x6e,0x5d,0x5d,0x2c,0x20, + 0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x73,0x6b,0x79,0x5f,0x70,0x61,0x72, + 0x61,0x6d,0x73,0x26,0x20,0x5f,0x33,0x30,0x20,0x5b,0x5b,0x62,0x75,0x66,0x66,0x65, + 0x72,0x28,0x30,0x29,0x5d,0x5d,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x6d,0x61, + 0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,0x6f,0x75,0x74,0x20,0x3d,0x20,0x7b,0x7d, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x32,0x36, + 0x20,0x3d,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69, + 0x7a,0x65,0x28,0x28,0x69,0x6e,0x2e,0x76,0x5f,0x70,0x6f,0x69,0x6e,0x74,0x2e,0x78, + 0x79,0x7a,0x20,0x2f,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x69,0x6e,0x2e,0x76, + 0x5f,0x70,0x6f,0x69,0x6e,0x74,0x2e,0x77,0x29,0x29,0x20,0x2d,0x20,0x69,0x6e,0x2e, + 0x76,0x5f,0x63,0x61,0x6d,0x65,0x72,0x61,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x20,0x5f,0x34,0x34,0x20,0x3d,0x20,0x5f,0x32,0x36,0x2e,0x79, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x36,0x32, + 0x20,0x3d,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69, + 0x7a,0x65,0x28,0x63,0x72,0x6f,0x73,0x73,0x28,0x5f,0x33,0x30,0x2e,0x73,0x75,0x6e, + 0x2e,0x78,0x79,0x7a,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,0x30,0x2e,0x30, + 0x2c,0x20,0x31,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x29,0x29,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x37,0x32,0x20,0x3d,0x20,0x64, + 0x6f,0x74,0x28,0x5f,0x32,0x36,0x2c,0x20,0x5f,0x33,0x30,0x2e,0x73,0x75,0x6e,0x2e, + 0x78,0x79,0x7a,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33, + 0x20,0x5f,0x37,0x34,0x20,0x3d,0x20,0x5f,0x32,0x36,0x20,0x2d,0x20,0x28,0x5f,0x33, + 0x30,0x2e,0x73,0x75,0x6e,0x2e,0x78,0x79,0x7a,0x20,0x2a,0x20,0x5f,0x37,0x32,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x38,0x34,0x20, + 0x3d,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6d,0x61,0x78,0x28,0x61,0x62,0x73,0x28, + 0x64,0x6f,0x74,0x28,0x5f,0x37,0x34,0x2c,0x20,0x5f,0x36,0x32,0x29,0x29,0x2c,0x20, + 0x61,0x62,0x73,0x28,0x64,0x6f,0x74,0x28,0x5f,0x37,0x34,0x2c,0x20,0x63,0x72,0x6f, + 0x73,0x73,0x28,0x5f,0x36,0x32,0x2c,0x20,0x5f,0x33,0x30,0x2e,0x73,0x75,0x6e,0x2e, + 0x78,0x79,0x7a,0x29,0x29,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x20,0x5f,0x39,0x31,0x20,0x3d,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a,0x63, + 0x6c,0x61,0x6d,0x70,0x28,0x28,0x30,0x2e,0x32,0x35,0x20,0x2d,0x20,0x5f,0x38,0x34, + 0x29,0x20,0x2a,0x20,0x36,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e, + 0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x63, + 0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x6d,0x69,0x78,0x28,0x5f,0x33,0x30,0x2e,0x73, + 0x6b,0x79,0x5f,0x62,0x61,0x73,0x65,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x5f,0x33,0x30, + 0x2e,0x73,0x6b,0x79,0x5f,0x74,0x6f,0x70,0x2e,0x78,0x79,0x7a,0x2c,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x33,0x28,0x66,0x61,0x73,0x74,0x3a,0x3a,0x63,0x6c,0x61,0x6d,0x70, + 0x28,0x5f,0x34,0x34,0x20,0x2a,0x20,0x32,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c, + 0x20,0x30,0x2e,0x36,0x39,0x39,0x39,0x39,0x39,0x39,0x38,0x38,0x30,0x37,0x39,0x30, + 0x37,0x31,0x30,0x34,0x34,0x39,0x32,0x31,0x38,0x37,0x35,0x29,0x29,0x29,0x20,0x2b, + 0x20,0x28,0x28,0x5f,0x33,0x30,0x2e,0x73,0x75,0x6e,0x5f,0x68,0x61,0x6c,0x6f,0x2e, + 0x78,0x79,0x7a,0x20,0x2a,0x20,0x5f,0x39,0x31,0x29,0x20,0x2a,0x20,0x5f,0x39,0x31, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x5f,0x31,0x30,0x37, + 0x20,0x3d,0x20,0x5f,0x38,0x34,0x20,0x3c,0x20,0x30,0x2e,0x30,0x33,0x32,0x30,0x30, + 0x30,0x30,0x30,0x31,0x35,0x31,0x39,0x39,0x31,0x38,0x34,0x34,0x31,0x37,0x37,0x32, + 0x34,0x36,0x30,0x39,0x33,0x37,0x35,0x3b,0x0a,0x20,0x20,0x20,0x20,0x62,0x6f,0x6f, + 0x6c,0x20,0x5f,0x31,0x31,0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28, + 0x5f,0x31,0x30,0x37,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x5f,0x31,0x31,0x34,0x20,0x3d,0x20,0x5f,0x37,0x32,0x20,0x3e, + 0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20, + 0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x5f,0x31,0x31,0x34,0x20,0x3d,0x20,0x5f,0x31,0x30,0x37,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x31, + 0x31,0x34,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x5f,0x33,0x30,0x2e,0x73,0x75, + 0x6e,0x5f,0x64,0x69,0x73,0x6b,0x2e,0x78,0x79,0x7a,0x20,0x2a,0x20,0x33,0x2e,0x30, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x33,0x20,0x5f,0x31,0x33,0x38,0x20,0x3d,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33,0x20,0x5f,0x31,0x33,0x39, + 0x20,0x3d,0x20,0x5f,0x31,0x33,0x38,0x20,0x2b,0x20,0x28,0x28,0x5f,0x33,0x30,0x2e, + 0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x5f,0x68,0x61,0x6c,0x6f,0x2e,0x78,0x79,0x7a, + 0x20,0x2a,0x20,0x28,0x31,0x2e,0x30,0x20,0x2d,0x20,0x66,0x61,0x73,0x74,0x3a,0x3a, + 0x63,0x6c,0x61,0x6d,0x70,0x28,0x61,0x62,0x73,0x28,0x5f,0x34,0x34,0x29,0x20,0x2a, + 0x20,0x32,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29, + 0x29,0x29,0x20,0x2a,0x20,0x30,0x2e,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31, + 0x39,0x32,0x30,0x39,0x32,0x38,0x39,0x35,0x35,0x30,0x37,0x38,0x31,0x32,0x35,0x29, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x5f,0x31, + 0x33,0x39,0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x66,0x72,0x61,0x67, + 0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28, + 0x5f,0x31,0x33,0x39,0x20,0x2a,0x20,0x5f,0x33,0x30,0x2e,0x73,0x75,0x6e,0x2e,0x77, + 0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e, + 0x66,0x72,0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x34,0x28,0x66,0x6c,0x6f,0x61,0x74,0x28,0x5f,0x31,0x31,0x34,0x29,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x66,0x72,0x61,0x67,0x5f,0x73,0x63, + 0x65,0x6e,0x65,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x31,0x30,0x30, + 0x30,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72, + 0x6e,0x20,0x6f,0x75,0x74,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, ]; -billboard_shader_desc :: (backend: sg_backend) -> sg_shader_desc { +/* + #pragma clang diagnostic ignored "-Wmissing-prototypes" + #pragma clang diagnostic ignored "-Wmissing-braces" + + #include + #include + + using namespace metal; + + template + struct spvUnsafeArray + { + T elements[Num ? Num : 1]; + + thread T& operator [] (size_t pos) thread + { + return elements[pos]; + } + constexpr const thread T& operator [] (size_t pos) const thread + { + return elements[pos]; + } + + device T& operator [] (size_t pos) device + { + return elements[pos]; + } + constexpr const device T& operator [] (size_t pos) const device + { + return elements[pos]; + } + + constexpr const constant T& operator [] (size_t pos) const constant + { + return elements[pos]; + } + + threadgroup T& operator [] (size_t pos) threadgroup + { + return elements[pos]; + } + constexpr const threadgroup T& operator [] (size_t pos) const threadgroup + { + return elements[pos]; + } + }; + + struct view_params + { + float4x4 view_proj; + float4x4 inv_view_proj; + float4 camera; + float4 clip; + float4 sun_direction; + float4 sun_color; + float4 shade_color; + }; + + struct line_params + { + float2 viewport; + }; + + constant spvUnsafeArray _23 = spvUnsafeArray({ float2(0.0), float2(1.0, 0.0), float2(1.0), float2(0.0), float2(1.0), float2(0.0, 1.0) }); + + struct main0_out + { + float4 v_color [[user(locn0)]]; + float4 gl_Position [[position]]; + }; + + struct main0_in + { + float3 a [[attribute(0)]]; + float3 b [[attribute(1)]]; + float4 color [[attribute(2)]]; + float width [[attribute(3)]]; + }; + + static inline __attribute__((always_inline)) + float2 quad_corner(thread const int& vertex_index) + { + return _23[vertex_index]; + } + + vertex main0_out main0(main0_in in [[stage_in]], constant view_params& _44 [[buffer(0)]], constant line_params& _81 [[buffer(1)]], uint gl_VertexIndex [[vertex_id]]) + { + main0_out out = {}; + int param = int(gl_VertexIndex); + float2 _37 = quad_corner(param); + float4 _57 = _44.view_proj * float4(in.a, 1.0); + float4 _67 = _44.view_proj * float4(in.b, 1.0); + float2 _100 = ((_67.xy / float2(fast::max(_67.w, 9.9999997473787516355514526367188e-05))) * _81.viewport) - ((_57.xy / float2(fast::max(_57.w, 9.9999997473787516355514526367188e-05))) * _81.viewport); + float2 dir = _100; + float2 _106; + if (dot(_100, _100) > 9.9999997473787516355514526367188e-05) + { + _106 = fast::normalize(dir); + } + else + { + _106 = float2(1.0, 0.0); + } + dir = _106; + float4 _120 = mix(_57, _67, float4(_37.x)); + float2 _145 = _120.xy + ((((float2(-_106.y, _106.x) * (_37.y - 0.5)) * in.width) / _81.viewport) * _120.w); + float4 _169 = _120; + _169.x = _145.x; + _169.y = _145.y; + out.gl_Position = _169; + out.v_color = in.color; + return out; + } + +*/ +vs_line_source_metal_macos := u8.[ + 0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x63,0x6c,0x61,0x6e,0x67,0x20,0x64,0x69, + 0x61,0x67,0x6e,0x6f,0x73,0x74,0x69,0x63,0x20,0x69,0x67,0x6e,0x6f,0x72,0x65,0x64, + 0x20,0x22,0x2d,0x57,0x6d,0x69,0x73,0x73,0x69,0x6e,0x67,0x2d,0x70,0x72,0x6f,0x74, + 0x6f,0x74,0x79,0x70,0x65,0x73,0x22,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20, + 0x63,0x6c,0x61,0x6e,0x67,0x20,0x64,0x69,0x61,0x67,0x6e,0x6f,0x73,0x74,0x69,0x63, + 0x20,0x69,0x67,0x6e,0x6f,0x72,0x65,0x64,0x20,0x22,0x2d,0x57,0x6d,0x69,0x73,0x73, + 0x69,0x6e,0x67,0x2d,0x62,0x72,0x61,0x63,0x65,0x73,0x22,0x0a,0x0a,0x23,0x69,0x6e, + 0x63,0x6c,0x75,0x64,0x65,0x20,0x3c,0x6d,0x65,0x74,0x61,0x6c,0x5f,0x73,0x74,0x64, + 0x6c,0x69,0x62,0x3e,0x0a,0x23,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x20,0x3c,0x73, + 0x69,0x6d,0x64,0x2f,0x73,0x69,0x6d,0x64,0x2e,0x68,0x3e,0x0a,0x0a,0x75,0x73,0x69, + 0x6e,0x67,0x20,0x6e,0x61,0x6d,0x65,0x73,0x70,0x61,0x63,0x65,0x20,0x6d,0x65,0x74, + 0x61,0x6c,0x3b,0x0a,0x0a,0x74,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x3c,0x74,0x79, + 0x70,0x65,0x6e,0x61,0x6d,0x65,0x20,0x54,0x2c,0x20,0x73,0x69,0x7a,0x65,0x5f,0x74, + 0x20,0x4e,0x75,0x6d,0x3e,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x73,0x70,0x76, + 0x55,0x6e,0x73,0x61,0x66,0x65,0x41,0x72,0x72,0x61,0x79,0x0a,0x7b,0x0a,0x20,0x20, + 0x20,0x20,0x54,0x20,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x73,0x5b,0x4e,0x75,0x6d, + 0x20,0x3f,0x20,0x4e,0x75,0x6d,0x20,0x3a,0x20,0x31,0x5d,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x0a,0x20,0x20,0x20,0x20,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x54,0x26,0x20, + 0x6f,0x70,0x65,0x72,0x61,0x74,0x6f,0x72,0x20,0x5b,0x5d,0x20,0x28,0x73,0x69,0x7a, + 0x65,0x5f,0x74,0x20,0x70,0x6f,0x73,0x29,0x20,0x74,0x68,0x72,0x65,0x61,0x64,0x0a, + 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65, + 0x74,0x75,0x72,0x6e,0x20,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x73,0x5b,0x70,0x6f, + 0x73,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x63,0x6f, + 0x6e,0x73,0x74,0x65,0x78,0x70,0x72,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x74,0x68, + 0x72,0x65,0x61,0x64,0x20,0x54,0x26,0x20,0x6f,0x70,0x65,0x72,0x61,0x74,0x6f,0x72, + 0x20,0x5b,0x5d,0x20,0x28,0x73,0x69,0x7a,0x65,0x5f,0x74,0x20,0x70,0x6f,0x73,0x29, + 0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x74,0x68,0x72,0x65,0x61,0x64,0x0a,0x20,0x20, + 0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75, + 0x72,0x6e,0x20,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x73,0x5b,0x70,0x6f,0x73,0x5d, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x0a,0x20,0x20,0x20, + 0x20,0x64,0x65,0x76,0x69,0x63,0x65,0x20,0x54,0x26,0x20,0x6f,0x70,0x65,0x72,0x61, + 0x74,0x6f,0x72,0x20,0x5b,0x5d,0x20,0x28,0x73,0x69,0x7a,0x65,0x5f,0x74,0x20,0x70, + 0x6f,0x73,0x29,0x20,0x64,0x65,0x76,0x69,0x63,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20, + 0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x73,0x5b,0x70,0x6f,0x73,0x5d,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x63,0x6f,0x6e,0x73,0x74,0x65,0x78, + 0x70,0x72,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x64,0x65,0x76,0x69,0x63,0x65,0x20, + 0x54,0x26,0x20,0x6f,0x70,0x65,0x72,0x61,0x74,0x6f,0x72,0x20,0x5b,0x5d,0x20,0x28, + 0x73,0x69,0x7a,0x65,0x5f,0x74,0x20,0x70,0x6f,0x73,0x29,0x20,0x63,0x6f,0x6e,0x73, + 0x74,0x20,0x64,0x65,0x76,0x69,0x63,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x65,0x6c, + 0x65,0x6d,0x65,0x6e,0x74,0x73,0x5b,0x70,0x6f,0x73,0x5d,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x0a,0x20,0x20,0x20,0x20,0x63,0x6f,0x6e,0x73, + 0x74,0x65,0x78,0x70,0x72,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x63,0x6f,0x6e,0x73, + 0x74,0x61,0x6e,0x74,0x20,0x54,0x26,0x20,0x6f,0x70,0x65,0x72,0x61,0x74,0x6f,0x72, + 0x20,0x5b,0x5d,0x20,0x28,0x73,0x69,0x7a,0x65,0x5f,0x74,0x20,0x70,0x6f,0x73,0x29, + 0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x0a, + 0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65, + 0x74,0x75,0x72,0x6e,0x20,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x73,0x5b,0x70,0x6f, + 0x73,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x0a,0x20, + 0x20,0x20,0x20,0x74,0x68,0x72,0x65,0x61,0x64,0x67,0x72,0x6f,0x75,0x70,0x20,0x54, + 0x26,0x20,0x6f,0x70,0x65,0x72,0x61,0x74,0x6f,0x72,0x20,0x5b,0x5d,0x20,0x28,0x73, + 0x69,0x7a,0x65,0x5f,0x74,0x20,0x70,0x6f,0x73,0x29,0x20,0x74,0x68,0x72,0x65,0x61, + 0x64,0x67,0x72,0x6f,0x75,0x70,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x65,0x6c,0x65,0x6d, + 0x65,0x6e,0x74,0x73,0x5b,0x70,0x6f,0x73,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d, + 0x0a,0x20,0x20,0x20,0x20,0x63,0x6f,0x6e,0x73,0x74,0x65,0x78,0x70,0x72,0x20,0x63, + 0x6f,0x6e,0x73,0x74,0x20,0x74,0x68,0x72,0x65,0x61,0x64,0x67,0x72,0x6f,0x75,0x70, + 0x20,0x54,0x26,0x20,0x6f,0x70,0x65,0x72,0x61,0x74,0x6f,0x72,0x20,0x5b,0x5d,0x20, + 0x28,0x73,0x69,0x7a,0x65,0x5f,0x74,0x20,0x70,0x6f,0x73,0x29,0x20,0x63,0x6f,0x6e, + 0x73,0x74,0x20,0x74,0x68,0x72,0x65,0x61,0x64,0x67,0x72,0x6f,0x75,0x70,0x0a,0x20, + 0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x65,0x74, + 0x75,0x72,0x6e,0x20,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x73,0x5b,0x70,0x6f,0x73, + 0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x72, + 0x75,0x63,0x74,0x20,0x76,0x69,0x65,0x77,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x0a, + 0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x78,0x34,0x20,0x76, + 0x69,0x65,0x77,0x5f,0x70,0x72,0x6f,0x6a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x34,0x78,0x34,0x20,0x69,0x6e,0x76,0x5f,0x76,0x69,0x65,0x77,0x5f, + 0x70,0x72,0x6f,0x6a,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34, + 0x20,0x63,0x61,0x6d,0x65,0x72,0x61,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f, + 0x61,0x74,0x34,0x20,0x63,0x6c,0x69,0x70,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x34,0x20,0x73,0x75,0x6e,0x5f,0x64,0x69,0x72,0x65,0x63,0x74,0x69, + 0x6f,0x6e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x73, + 0x75,0x6e,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x34,0x20,0x73,0x68,0x61,0x64,0x65,0x5f,0x63,0x6f,0x6c,0x6f,0x72, + 0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x6c,0x69,0x6e, + 0x65,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x32,0x20,0x76,0x69,0x65,0x77,0x70,0x6f,0x72,0x74,0x3b,0x0a, + 0x7d,0x3b,0x0a,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x73,0x70,0x76, + 0x55,0x6e,0x73,0x61,0x66,0x65,0x41,0x72,0x72,0x61,0x79,0x3c,0x66,0x6c,0x6f,0x61, + 0x74,0x32,0x2c,0x20,0x36,0x3e,0x20,0x5f,0x32,0x33,0x20,0x3d,0x20,0x73,0x70,0x76, + 0x55,0x6e,0x73,0x61,0x66,0x65,0x41,0x72,0x72,0x61,0x79,0x3c,0x66,0x6c,0x6f,0x61, + 0x74,0x32,0x2c,0x20,0x36,0x3e,0x28,0x7b,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28, + 0x30,0x2e,0x30,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x31,0x2e,0x30, + 0x2c,0x20,0x30,0x2e,0x30,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x31, + 0x2e,0x30,0x29,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x30,0x2e,0x30,0x29, + 0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x31,0x2e,0x30,0x29,0x2c,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x32,0x28,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x20, + 0x7d,0x29,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x6d,0x61,0x69,0x6e, + 0x30,0x5f,0x6f,0x75,0x74,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x34,0x20,0x76,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x5b,0x5b,0x75,0x73,0x65, + 0x72,0x28,0x6c,0x6f,0x63,0x6e,0x30,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x67,0x6c,0x5f,0x50,0x6f,0x73,0x69,0x74,0x69, + 0x6f,0x6e,0x20,0x5b,0x5b,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x5d,0x5d,0x3b, + 0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x6d,0x61,0x69,0x6e, + 0x30,0x5f,0x69,0x6e,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x33,0x20,0x61,0x20,0x5b,0x5b,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x28, + 0x30,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x33, + 0x20,0x62,0x20,0x5b,0x5b,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x28,0x31, + 0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20, + 0x63,0x6f,0x6c,0x6f,0x72,0x20,0x5b,0x5b,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74, + 0x65,0x28,0x32,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x77,0x69,0x64,0x74,0x68,0x20,0x5b,0x5b,0x61,0x74,0x74,0x72,0x69,0x62, + 0x75,0x74,0x65,0x28,0x33,0x29,0x5d,0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74, + 0x61,0x74,0x69,0x63,0x20,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x5f,0x5f,0x61,0x74, + 0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x61,0x6c,0x77,0x61,0x79, + 0x73,0x5f,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x29,0x29,0x0a,0x66,0x6c,0x6f,0x61,0x74, + 0x32,0x20,0x71,0x75,0x61,0x64,0x5f,0x63,0x6f,0x72,0x6e,0x65,0x72,0x28,0x74,0x68, + 0x72,0x65,0x61,0x64,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x26,0x20, + 0x76,0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x6e,0x64,0x65,0x78,0x29,0x0a,0x7b,0x0a, + 0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x5f,0x32,0x33,0x5b,0x76, + 0x65,0x72,0x74,0x65,0x78,0x5f,0x69,0x6e,0x64,0x65,0x78,0x5d,0x3b,0x0a,0x7d,0x0a, + 0x0a,0x76,0x65,0x72,0x74,0x65,0x78,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75, + 0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x28,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x69,0x6e, + 0x20,0x69,0x6e,0x20,0x5b,0x5b,0x73,0x74,0x61,0x67,0x65,0x5f,0x69,0x6e,0x5d,0x5d, + 0x2c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x76,0x69,0x65,0x77,0x5f, + 0x70,0x61,0x72,0x61,0x6d,0x73,0x26,0x20,0x5f,0x34,0x34,0x20,0x5b,0x5b,0x62,0x75, + 0x66,0x66,0x65,0x72,0x28,0x30,0x29,0x5d,0x5d,0x2c,0x20,0x63,0x6f,0x6e,0x73,0x74, + 0x61,0x6e,0x74,0x20,0x6c,0x69,0x6e,0x65,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x26, + 0x20,0x5f,0x38,0x31,0x20,0x5b,0x5b,0x62,0x75,0x66,0x66,0x65,0x72,0x28,0x31,0x29, + 0x5d,0x5d,0x2c,0x20,0x75,0x69,0x6e,0x74,0x20,0x67,0x6c,0x5f,0x56,0x65,0x72,0x74, + 0x65,0x78,0x49,0x6e,0x64,0x65,0x78,0x20,0x5b,0x5b,0x76,0x65,0x72,0x74,0x65,0x78, + 0x5f,0x69,0x64,0x5d,0x5d,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x6d,0x61,0x69, + 0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,0x6f,0x75,0x74,0x20,0x3d,0x20,0x7b,0x7d,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d, + 0x20,0x69,0x6e,0x74,0x28,0x67,0x6c,0x5f,0x56,0x65,0x72,0x74,0x65,0x78,0x49,0x6e, + 0x64,0x65,0x78,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32, + 0x20,0x5f,0x33,0x37,0x20,0x3d,0x20,0x71,0x75,0x61,0x64,0x5f,0x63,0x6f,0x72,0x6e, + 0x65,0x72,0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66, + 0x6c,0x6f,0x61,0x74,0x34,0x20,0x5f,0x35,0x37,0x20,0x3d,0x20,0x5f,0x34,0x34,0x2e, + 0x76,0x69,0x65,0x77,0x5f,0x70,0x72,0x6f,0x6a,0x20,0x2a,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x34,0x28,0x69,0x6e,0x2e,0x61,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20, + 0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x5f,0x36,0x37,0x20,0x3d,0x20, + 0x5f,0x34,0x34,0x2e,0x76,0x69,0x65,0x77,0x5f,0x70,0x72,0x6f,0x6a,0x20,0x2a,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x69,0x6e,0x2e,0x62,0x2c,0x20,0x31,0x2e,0x30, + 0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x5f,0x31, + 0x30,0x30,0x20,0x3d,0x20,0x28,0x28,0x5f,0x36,0x37,0x2e,0x78,0x79,0x20,0x2f,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6d,0x61,0x78, + 0x28,0x5f,0x36,0x37,0x2e,0x77,0x2c,0x20,0x39,0x2e,0x39,0x39,0x39,0x39,0x39,0x39, + 0x37,0x34,0x37,0x33,0x37,0x38,0x37,0x35,0x31,0x36,0x33,0x35,0x35,0x35,0x31,0x34, + 0x35,0x32,0x36,0x33,0x36,0x37,0x31,0x38,0x38,0x65,0x2d,0x30,0x35,0x29,0x29,0x29, + 0x20,0x2a,0x20,0x5f,0x38,0x31,0x2e,0x76,0x69,0x65,0x77,0x70,0x6f,0x72,0x74,0x29, + 0x20,0x2d,0x20,0x28,0x28,0x5f,0x35,0x37,0x2e,0x78,0x79,0x20,0x2f,0x20,0x66,0x6c, + 0x6f,0x61,0x74,0x32,0x28,0x66,0x61,0x73,0x74,0x3a,0x3a,0x6d,0x61,0x78,0x28,0x5f, + 0x35,0x37,0x2e,0x77,0x2c,0x20,0x39,0x2e,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x34, + 0x37,0x33,0x37,0x38,0x37,0x35,0x31,0x36,0x33,0x35,0x35,0x35,0x31,0x34,0x35,0x32, + 0x36,0x33,0x36,0x37,0x31,0x38,0x38,0x65,0x2d,0x30,0x35,0x29,0x29,0x29,0x20,0x2a, + 0x20,0x5f,0x38,0x31,0x2e,0x76,0x69,0x65,0x77,0x70,0x6f,0x72,0x74,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x64,0x69,0x72,0x20,0x3d, + 0x20,0x5f,0x31,0x30,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74, + 0x32,0x20,0x5f,0x31,0x30,0x36,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28, + 0x64,0x6f,0x74,0x28,0x5f,0x31,0x30,0x30,0x2c,0x20,0x5f,0x31,0x30,0x30,0x29,0x20, + 0x3e,0x20,0x39,0x2e,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x34,0x37,0x33,0x37,0x38, + 0x37,0x35,0x31,0x36,0x33,0x35,0x35,0x35,0x31,0x34,0x35,0x32,0x36,0x33,0x36,0x37, + 0x31,0x38,0x38,0x65,0x2d,0x30,0x35,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x5f,0x31,0x30,0x36,0x20,0x3d,0x20,0x66,0x61, + 0x73,0x74,0x3a,0x3a,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x28,0x64,0x69, + 0x72,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c, + 0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x5f,0x31,0x30,0x36,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x31, + 0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a, + 0x20,0x20,0x20,0x20,0x64,0x69,0x72,0x20,0x3d,0x20,0x5f,0x31,0x30,0x36,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x5f,0x31,0x32,0x30,0x20, + 0x3d,0x20,0x6d,0x69,0x78,0x28,0x5f,0x35,0x37,0x2c,0x20,0x5f,0x36,0x37,0x2c,0x20, + 0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x5f,0x33,0x37,0x2e,0x78,0x29,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x5f,0x31,0x34,0x35,0x20, + 0x3d,0x20,0x5f,0x31,0x32,0x30,0x2e,0x78,0x79,0x20,0x2b,0x20,0x28,0x28,0x28,0x28, + 0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x2d,0x5f,0x31,0x30,0x36,0x2e,0x79,0x2c,0x20, + 0x5f,0x31,0x30,0x36,0x2e,0x78,0x29,0x20,0x2a,0x20,0x28,0x5f,0x33,0x37,0x2e,0x79, + 0x20,0x2d,0x20,0x30,0x2e,0x35,0x29,0x29,0x20,0x2a,0x20,0x69,0x6e,0x2e,0x77,0x69, + 0x64,0x74,0x68,0x29,0x20,0x2f,0x20,0x5f,0x38,0x31,0x2e,0x76,0x69,0x65,0x77,0x70, + 0x6f,0x72,0x74,0x29,0x20,0x2a,0x20,0x5f,0x31,0x32,0x30,0x2e,0x77,0x29,0x3b,0x0a, + 0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x5f,0x31,0x36,0x39,0x20, + 0x3d,0x20,0x5f,0x31,0x32,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x5f,0x31,0x36,0x39, + 0x2e,0x78,0x20,0x3d,0x20,0x5f,0x31,0x34,0x35,0x2e,0x78,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x5f,0x31,0x36,0x39,0x2e,0x79,0x20,0x3d,0x20,0x5f,0x31,0x34,0x35,0x2e,0x79, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x67,0x6c,0x5f,0x50,0x6f,0x73, + 0x69,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x5f,0x31,0x36,0x39,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x6f,0x75,0x74,0x2e,0x76,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20, + 0x69,0x6e,0x2e,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65, + 0x74,0x75,0x72,0x6e,0x20,0x6f,0x75,0x74,0x3b,0x0a,0x7d,0x0a,0x0a,0x00, +]; +/* + #pragma clang diagnostic ignored "-Wmissing-prototypes" + + #include + #include + + using namespace metal; + + struct main0_out + { + float4 frag_color [[color(0)]]; + float4 frag_glow [[color(1)]]; + }; + + struct main0_in + { + float4 v_color [[user(locn0)]]; + }; + + static inline __attribute__((always_inline)) + void write_transparent(thread const float4& color, thread const float& glow, thread float4& frag_color, thread float4& frag_glow) + { + frag_color = color; + frag_glow = float4(glow, 0.0, 0.0, color.w); + } + + fragment main0_out main0(main0_in in [[stage_in]]) + { + main0_out out = {}; + float4 param = in.v_color; + float param_1 = 0.0; + write_transparent(param, param_1, out.frag_color, out.frag_glow); + return out; + } + +*/ +fs_line_source_metal_macos := u8.[ + 0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x63,0x6c,0x61,0x6e,0x67,0x20,0x64,0x69, + 0x61,0x67,0x6e,0x6f,0x73,0x74,0x69,0x63,0x20,0x69,0x67,0x6e,0x6f,0x72,0x65,0x64, + 0x20,0x22,0x2d,0x57,0x6d,0x69,0x73,0x73,0x69,0x6e,0x67,0x2d,0x70,0x72,0x6f,0x74, + 0x6f,0x74,0x79,0x70,0x65,0x73,0x22,0x0a,0x0a,0x23,0x69,0x6e,0x63,0x6c,0x75,0x64, + 0x65,0x20,0x3c,0x6d,0x65,0x74,0x61,0x6c,0x5f,0x73,0x74,0x64,0x6c,0x69,0x62,0x3e, + 0x0a,0x23,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x20,0x3c,0x73,0x69,0x6d,0x64,0x2f, + 0x73,0x69,0x6d,0x64,0x2e,0x68,0x3e,0x0a,0x0a,0x75,0x73,0x69,0x6e,0x67,0x20,0x6e, + 0x61,0x6d,0x65,0x73,0x70,0x61,0x63,0x65,0x20,0x6d,0x65,0x74,0x61,0x6c,0x3b,0x0a, + 0x0a,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75, + 0x74,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x66, + 0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x5b,0x5b,0x63,0x6f,0x6c,0x6f, + 0x72,0x28,0x30,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x20,0x5b,0x5b,0x63, + 0x6f,0x6c,0x6f,0x72,0x28,0x31,0x29,0x5d,0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73, + 0x74,0x72,0x75,0x63,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x69,0x6e,0x0a,0x7b, + 0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x76,0x5f,0x63,0x6f, + 0x6c,0x6f,0x72,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x30, + 0x29,0x5d,0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x61,0x74,0x69,0x63,0x20, + 0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75, + 0x74,0x65,0x5f,0x5f,0x28,0x28,0x61,0x6c,0x77,0x61,0x79,0x73,0x5f,0x69,0x6e,0x6c, + 0x69,0x6e,0x65,0x29,0x29,0x0a,0x76,0x6f,0x69,0x64,0x20,0x77,0x72,0x69,0x74,0x65, + 0x5f,0x74,0x72,0x61,0x6e,0x73,0x70,0x61,0x72,0x65,0x6e,0x74,0x28,0x74,0x68,0x72, + 0x65,0x61,0x64,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34, + 0x26,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x2c,0x20,0x74,0x68,0x72,0x65,0x61,0x64,0x20, + 0x63,0x6f,0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x26,0x20,0x67,0x6c,0x6f, + 0x77,0x2c,0x20,0x74,0x68,0x72,0x65,0x61,0x64,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34, + 0x26,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x2c,0x20,0x74,0x68, + 0x72,0x65,0x61,0x64,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x26,0x20,0x66,0x72,0x61, + 0x67,0x5f,0x67,0x6c,0x6f,0x77,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72, + 0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x63,0x6f,0x6c,0x6f,0x72, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x20, + 0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x67,0x6c,0x6f,0x77,0x2c,0x20,0x30, + 0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x2e,0x77, + 0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x66,0x72,0x61,0x67,0x6d,0x65,0x6e,0x74,0x20,0x6d, + 0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x28,0x6d, + 0x61,0x69,0x6e,0x30,0x5f,0x69,0x6e,0x20,0x69,0x6e,0x20,0x5b,0x5b,0x73,0x74,0x61, + 0x67,0x65,0x5f,0x69,0x6e,0x5d,0x5d,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x6d, + 0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,0x6f,0x75,0x74,0x20,0x3d,0x20,0x7b, + 0x7d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x70,0x61, + 0x72,0x61,0x6d,0x20,0x3d,0x20,0x69,0x6e,0x2e,0x76,0x5f,0x63,0x6f,0x6c,0x6f,0x72, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x70,0x61,0x72,0x61, + 0x6d,0x5f,0x31,0x20,0x3d,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x77, + 0x72,0x69,0x74,0x65,0x5f,0x74,0x72,0x61,0x6e,0x73,0x70,0x61,0x72,0x65,0x6e,0x74, + 0x28,0x70,0x61,0x72,0x61,0x6d,0x2c,0x20,0x70,0x61,0x72,0x61,0x6d,0x5f,0x31,0x2c, + 0x20,0x6f,0x75,0x74,0x2e,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x2c, + 0x20,0x6f,0x75,0x74,0x2e,0x66,0x72,0x61,0x67,0x5f,0x67,0x6c,0x6f,0x77,0x29,0x3b, + 0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x6f,0x75,0x74,0x3b, + 0x0a,0x7d,0x0a,0x0a,0x00, +]; +bloom_down_shader_desc :: (backend: sg_backend) -> sg_shader_desc { desc: sg_shader_desc; - desc.label = "billboard_shader"; + desc.label = "bloom_down_shader"; if backend == { case .GLCORE; - desc.vertex_func.source = xx *vs_billboard_source_glsl430; + desc.vertex_func.source = xx *vs_fullscreen_source_glsl430; desc.vertex_func.entry = "main"; - desc.fragment_func.source = xx *fs_billboard_source_glsl430; + desc.fragment_func.source = xx *fs_bloom_down_source_glsl430; desc.fragment_func.entry = "main"; - desc.attrs[0].base_type = .FLOAT; - desc.attrs[0].glsl_name = "center"; - desc.attrs[1].base_type = .FLOAT; - desc.attrs[1].glsl_name = "size"; - desc.attrs[2].base_type = .FLOAT; - desc.attrs[2].glsl_name = "uv_rect"; - desc.attrs[3].base_type = .FLOAT; - desc.attrs[3].glsl_name = "face"; - desc.uniform_blocks[0].stage = .VERTEX; - desc.uniform_blocks[0].layout = .STD140; - desc.uniform_blocks[0].size = 96; - desc.uniform_blocks[0].glsl_uniforms[0].type = .FLOAT4; - desc.uniform_blocks[0].glsl_uniforms[0].array_count = 6; - desc.uniform_blocks[0].glsl_uniforms[0].glsl_name = "view_params"; desc.images[0].stage = .FRAGMENT; desc.images[0].multisampled = false; desc.images[0].image_type = ._2D; @@ -2799,26 +10748,12 @@ billboard_shader_desc :: (backend: sg_backend) -> sg_shader_desc { desc.image_sampler_pairs[0].stage = .FRAGMENT; desc.image_sampler_pairs[0].image_slot = 0; desc.image_sampler_pairs[0].sampler_slot = 0; - desc.image_sampler_pairs[0].glsl_name = "sprite_sprite_smp"; + desc.image_sampler_pairs[0].glsl_name = "bloom_source_bloom_smp"; case .GLES3; - desc.vertex_func.source = xx *vs_billboard_source_glsl300es; + desc.vertex_func.source = xx *vs_fullscreen_source_glsl300es; desc.vertex_func.entry = "main"; - desc.fragment_func.source = xx *fs_billboard_source_glsl300es; + desc.fragment_func.source = xx *fs_bloom_down_source_glsl300es; desc.fragment_func.entry = "main"; - desc.attrs[0].base_type = .FLOAT; - desc.attrs[0].glsl_name = "center"; - desc.attrs[1].base_type = .FLOAT; - desc.attrs[1].glsl_name = "size"; - desc.attrs[2].base_type = .FLOAT; - desc.attrs[2].glsl_name = "uv_rect"; - desc.attrs[3].base_type = .FLOAT; - desc.attrs[3].glsl_name = "face"; - desc.uniform_blocks[0].stage = .VERTEX; - desc.uniform_blocks[0].layout = .STD140; - desc.uniform_blocks[0].size = 96; - desc.uniform_blocks[0].glsl_uniforms[0].type = .FLOAT4; - desc.uniform_blocks[0].glsl_uniforms[0].array_count = 6; - desc.uniform_blocks[0].glsl_uniforms[0].glsl_name = "view_params"; desc.images[0].stage = .FRAGMENT; desc.images[0].multisampled = false; desc.images[0].image_type = ._2D; @@ -2828,20 +10763,12 @@ billboard_shader_desc :: (backend: sg_backend) -> sg_shader_desc { desc.image_sampler_pairs[0].stage = .FRAGMENT; desc.image_sampler_pairs[0].image_slot = 0; desc.image_sampler_pairs[0].sampler_slot = 0; - desc.image_sampler_pairs[0].glsl_name = "sprite_sprite_smp"; + desc.image_sampler_pairs[0].glsl_name = "bloom_source_bloom_smp"; case .METAL_MACOS; - desc.vertex_func.source = xx *vs_billboard_source_metal_macos; + desc.vertex_func.source = xx *vs_fullscreen_source_metal_macos; desc.vertex_func.entry = "main0"; - desc.fragment_func.source = xx *fs_billboard_source_metal_macos; + desc.fragment_func.source = xx *fs_bloom_down_source_metal_macos; desc.fragment_func.entry = "main0"; - desc.attrs[0].base_type = .FLOAT; - desc.attrs[1].base_type = .FLOAT; - desc.attrs[2].base_type = .FLOAT; - desc.attrs[3].base_type = .FLOAT; - desc.uniform_blocks[0].stage = .VERTEX; - desc.uniform_blocks[0].layout = .STD140; - desc.uniform_blocks[0].size = 96; - desc.uniform_blocks[0].msl_buffer_n = 0; desc.images[0].stage = .FRAGMENT; desc.images[0].multisampled = false; desc.images[0].image_type = ._2D; @@ -2856,42 +10783,92 @@ billboard_shader_desc :: (backend: sg_backend) -> sg_shader_desc { } return desc; } -composite_shader_desc :: (backend: sg_backend) -> sg_shader_desc { +bloom_glow_shader_desc :: (backend: sg_backend) -> sg_shader_desc { desc: sg_shader_desc; - desc.label = "composite_shader"; + desc.label = "bloom_glow_shader"; if backend == { case .GLCORE; - desc.vertex_func.source = xx *vs_composite_source_glsl430; + desc.vertex_func.source = xx *vs_fullscreen_source_glsl430; desc.vertex_func.entry = "main"; - desc.fragment_func.source = xx *fs_composite_source_glsl430; + desc.fragment_func.source = xx *fs_bloom_glow_source_glsl430; desc.fragment_func.entry = "main"; - desc.uniform_blocks[0].stage = .VERTEX; - desc.uniform_blocks[0].layout = .STD140; - desc.uniform_blocks[0].size = 16; - desc.uniform_blocks[0].glsl_uniforms[0].type = .FLOAT4; - desc.uniform_blocks[0].glsl_uniforms[0].array_count = 1; - desc.uniform_blocks[0].glsl_uniforms[0].glsl_name = "composite_vs_params"; desc.images[0].stage = .FRAGMENT; desc.images[0].multisampled = false; desc.images[0].image_type = ._2D; desc.images[0].sample_type = .FLOAT; + desc.images[1].stage = .FRAGMENT; + desc.images[1].multisampled = false; + desc.images[1].image_type = ._2D; + desc.images[1].sample_type = .FLOAT; desc.samplers[0].stage = .FRAGMENT; desc.samplers[0].sampler_type = .FILTERING; desc.image_sampler_pairs[0].stage = .FRAGMENT; desc.image_sampler_pairs[0].image_slot = 0; desc.image_sampler_pairs[0].sampler_slot = 0; - desc.image_sampler_pairs[0].glsl_name = "view_color_composite_smp"; + desc.image_sampler_pairs[0].glsl_name = "bloom_source_bloom_smp"; + desc.image_sampler_pairs[1].stage = .FRAGMENT; + desc.image_sampler_pairs[1].image_slot = 1; + desc.image_sampler_pairs[1].sampler_slot = 0; + desc.image_sampler_pairs[1].glsl_name = "bloom_glow_bloom_smp"; case .GLES3; - desc.vertex_func.source = xx *vs_composite_source_glsl300es; + desc.vertex_func.source = xx *vs_fullscreen_source_glsl300es; desc.vertex_func.entry = "main"; - desc.fragment_func.source = xx *fs_composite_source_glsl300es; + desc.fragment_func.source = xx *fs_bloom_glow_source_glsl300es; + desc.fragment_func.entry = "main"; + desc.images[0].stage = .FRAGMENT; + desc.images[0].multisampled = false; + desc.images[0].image_type = ._2D; + desc.images[0].sample_type = .FLOAT; + desc.images[1].stage = .FRAGMENT; + desc.images[1].multisampled = false; + desc.images[1].image_type = ._2D; + desc.images[1].sample_type = .FLOAT; + desc.samplers[0].stage = .FRAGMENT; + desc.samplers[0].sampler_type = .FILTERING; + desc.image_sampler_pairs[0].stage = .FRAGMENT; + desc.image_sampler_pairs[0].image_slot = 0; + desc.image_sampler_pairs[0].sampler_slot = 0; + desc.image_sampler_pairs[0].glsl_name = "bloom_source_bloom_smp"; + desc.image_sampler_pairs[1].stage = .FRAGMENT; + desc.image_sampler_pairs[1].image_slot = 1; + desc.image_sampler_pairs[1].sampler_slot = 0; + desc.image_sampler_pairs[1].glsl_name = "bloom_glow_bloom_smp"; + case .METAL_MACOS; + desc.vertex_func.source = xx *vs_fullscreen_source_metal_macos; + desc.vertex_func.entry = "main0"; + desc.fragment_func.source = xx *fs_bloom_glow_source_metal_macos; + desc.fragment_func.entry = "main0"; + desc.images[0].stage = .FRAGMENT; + desc.images[0].multisampled = false; + desc.images[0].image_type = ._2D; + desc.images[0].sample_type = .FLOAT; + desc.images[0].msl_texture_n = 0; + desc.images[1].stage = .FRAGMENT; + desc.images[1].multisampled = false; + desc.images[1].image_type = ._2D; + desc.images[1].sample_type = .FLOAT; + desc.images[1].msl_texture_n = 1; + desc.samplers[0].stage = .FRAGMENT; + desc.samplers[0].sampler_type = .FILTERING; + desc.samplers[0].msl_sampler_n = 0; + desc.image_sampler_pairs[0].stage = .FRAGMENT; + desc.image_sampler_pairs[0].image_slot = 0; + desc.image_sampler_pairs[0].sampler_slot = 0; + desc.image_sampler_pairs[1].stage = .FRAGMENT; + desc.image_sampler_pairs[1].image_slot = 1; + desc.image_sampler_pairs[1].sampler_slot = 0; + } + return desc; +} +bloom_up_shader_desc :: (backend: sg_backend) -> sg_shader_desc { + desc: sg_shader_desc; + desc.label = "bloom_up_shader"; + if backend == { + case .GLCORE; + desc.vertex_func.source = xx *vs_fullscreen_source_glsl430; + desc.vertex_func.entry = "main"; + desc.fragment_func.source = xx *fs_bloom_up_source_glsl430; desc.fragment_func.entry = "main"; - desc.uniform_blocks[0].stage = .VERTEX; - desc.uniform_blocks[0].layout = .STD140; - desc.uniform_blocks[0].size = 16; - desc.uniform_blocks[0].glsl_uniforms[0].type = .FLOAT4; - desc.uniform_blocks[0].glsl_uniforms[0].array_count = 1; - desc.uniform_blocks[0].glsl_uniforms[0].glsl_name = "composite_vs_params"; desc.images[0].stage = .FRAGMENT; desc.images[0].multisampled = false; desc.images[0].image_type = ._2D; @@ -2901,14 +10878,303 @@ composite_shader_desc :: (backend: sg_backend) -> sg_shader_desc { desc.image_sampler_pairs[0].stage = .FRAGMENT; desc.image_sampler_pairs[0].image_slot = 0; desc.image_sampler_pairs[0].sampler_slot = 0; - desc.image_sampler_pairs[0].glsl_name = "view_color_composite_smp"; + desc.image_sampler_pairs[0].glsl_name = "bloom_source_bloom_smp"; + case .GLES3; + desc.vertex_func.source = xx *vs_fullscreen_source_glsl300es; + desc.vertex_func.entry = "main"; + desc.fragment_func.source = xx *fs_bloom_up_source_glsl300es; + desc.fragment_func.entry = "main"; + desc.images[0].stage = .FRAGMENT; + desc.images[0].multisampled = false; + desc.images[0].image_type = ._2D; + desc.images[0].sample_type = .FLOAT; + desc.samplers[0].stage = .FRAGMENT; + desc.samplers[0].sampler_type = .FILTERING; + desc.image_sampler_pairs[0].stage = .FRAGMENT; + desc.image_sampler_pairs[0].image_slot = 0; + desc.image_sampler_pairs[0].sampler_slot = 0; + desc.image_sampler_pairs[0].glsl_name = "bloom_source_bloom_smp"; case .METAL_MACOS; - desc.vertex_func.source = xx *vs_composite_source_metal_macos; + desc.vertex_func.source = xx *vs_fullscreen_source_metal_macos; desc.vertex_func.entry = "main0"; - desc.fragment_func.source = xx *fs_composite_source_metal_macos; + desc.fragment_func.source = xx *fs_bloom_up_source_metal_macos; desc.fragment_func.entry = "main0"; + desc.images[0].stage = .FRAGMENT; + desc.images[0].multisampled = false; + desc.images[0].image_type = ._2D; + desc.images[0].sample_type = .FLOAT; + desc.images[0].msl_texture_n = 0; + desc.samplers[0].stage = .FRAGMENT; + desc.samplers[0].sampler_type = .FILTERING; + desc.samplers[0].msl_sampler_n = 0; + desc.image_sampler_pairs[0].stage = .FRAGMENT; + desc.image_sampler_pairs[0].image_slot = 0; + desc.image_sampler_pairs[0].sampler_slot = 0; + } + return desc; +} +line_shader_desc :: (backend: sg_backend) -> sg_shader_desc { + desc: sg_shader_desc; + desc.label = "line_shader"; + if backend == { + case .GLCORE; + desc.vertex_func.source = xx *vs_line_source_glsl430; + desc.vertex_func.entry = "main"; + desc.fragment_func.source = xx *fs_line_source_glsl430; + desc.fragment_func.entry = "main"; + desc.attrs[0].base_type = .FLOAT; + desc.attrs[0].glsl_name = "a"; + desc.attrs[1].base_type = .FLOAT; + desc.attrs[1].glsl_name = "b"; + desc.attrs[2].base_type = .FLOAT; + desc.attrs[2].glsl_name = "color"; + desc.attrs[3].base_type = .FLOAT; + desc.attrs[3].glsl_name = "width"; desc.uniform_blocks[0].stage = .VERTEX; desc.uniform_blocks[0].layout = .STD140; + desc.uniform_blocks[0].size = 208; + desc.uniform_blocks[0].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[0].glsl_uniforms[0].array_count = 13; + desc.uniform_blocks[0].glsl_uniforms[0].glsl_name = "view_params"; + desc.uniform_blocks[1].stage = .VERTEX; + desc.uniform_blocks[1].layout = .STD140; + desc.uniform_blocks[1].size = 16; + desc.uniform_blocks[1].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[1].glsl_uniforms[0].array_count = 1; + desc.uniform_blocks[1].glsl_uniforms[0].glsl_name = "line_params"; + case .GLES3; + desc.vertex_func.source = xx *vs_line_source_glsl300es; + desc.vertex_func.entry = "main"; + desc.fragment_func.source = xx *fs_line_source_glsl300es; + desc.fragment_func.entry = "main"; + desc.attrs[0].base_type = .FLOAT; + desc.attrs[0].glsl_name = "a"; + desc.attrs[1].base_type = .FLOAT; + desc.attrs[1].glsl_name = "b"; + desc.attrs[2].base_type = .FLOAT; + desc.attrs[2].glsl_name = "color"; + desc.attrs[3].base_type = .FLOAT; + desc.attrs[3].glsl_name = "width"; + desc.uniform_blocks[0].stage = .VERTEX; + desc.uniform_blocks[0].layout = .STD140; + desc.uniform_blocks[0].size = 208; + desc.uniform_blocks[0].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[0].glsl_uniforms[0].array_count = 13; + desc.uniform_blocks[0].glsl_uniforms[0].glsl_name = "view_params"; + desc.uniform_blocks[1].stage = .VERTEX; + desc.uniform_blocks[1].layout = .STD140; + desc.uniform_blocks[1].size = 16; + desc.uniform_blocks[1].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[1].glsl_uniforms[0].array_count = 1; + desc.uniform_blocks[1].glsl_uniforms[0].glsl_name = "line_params"; + case .METAL_MACOS; + desc.vertex_func.source = xx *vs_line_source_metal_macos; + desc.vertex_func.entry = "main0"; + desc.fragment_func.source = xx *fs_line_source_metal_macos; + desc.fragment_func.entry = "main0"; + desc.attrs[0].base_type = .FLOAT; + desc.attrs[1].base_type = .FLOAT; + desc.attrs[2].base_type = .FLOAT; + desc.attrs[3].base_type = .FLOAT; + desc.uniform_blocks[0].stage = .VERTEX; + desc.uniform_blocks[0].layout = .STD140; + desc.uniform_blocks[0].size = 208; + desc.uniform_blocks[0].msl_buffer_n = 0; + desc.uniform_blocks[1].stage = .VERTEX; + desc.uniform_blocks[1].layout = .STD140; + desc.uniform_blocks[1].size = 16; + desc.uniform_blocks[1].msl_buffer_n = 1; + } + return desc; +} +particle_shader_desc :: (backend: sg_backend) -> sg_shader_desc { + desc: sg_shader_desc; + desc.label = "particle_shader"; + if backend == { + case .GLCORE; + desc.vertex_func.source = xx *vs_sprite_source_glsl430; + desc.vertex_func.entry = "main"; + desc.fragment_func.source = xx *fs_particle_source_glsl430; + desc.fragment_func.entry = "main"; + desc.attrs[0].base_type = .FLOAT; + desc.attrs[0].glsl_name = "center"; + desc.attrs[1].base_type = .FLOAT; + desc.attrs[1].glsl_name = "size"; + desc.attrs[2].base_type = .FLOAT; + desc.attrs[2].glsl_name = "uv_rect"; + desc.attrs[3].base_type = .FLOAT; + desc.attrs[3].glsl_name = "face"; + desc.attrs[4].base_type = .FLOAT; + desc.attrs[4].glsl_name = "color"; + desc.attrs[5].base_type = .FLOAT; + desc.attrs[5].glsl_name = "glow"; + desc.uniform_blocks[0].stage = .VERTEX; + desc.uniform_blocks[0].layout = .STD140; + desc.uniform_blocks[0].size = 208; + desc.uniform_blocks[0].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[0].glsl_uniforms[0].array_count = 13; + desc.uniform_blocks[0].glsl_uniforms[0].glsl_name = "view_params"; + desc.uniform_blocks[1].stage = .VERTEX; + desc.uniform_blocks[1].layout = .STD140; + desc.uniform_blocks[1].size = 16; + desc.uniform_blocks[1].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[1].glsl_uniforms[0].array_count = 1; + desc.uniform_blocks[1].glsl_uniforms[0].glsl_name = "sprite_params"; + desc.images[0].stage = .FRAGMENT; + desc.images[0].multisampled = false; + desc.images[0].image_type = ._2D; + desc.images[0].sample_type = .FLOAT; + desc.samplers[0].stage = .FRAGMENT; + desc.samplers[0].sampler_type = .FILTERING; + desc.image_sampler_pairs[0].stage = .FRAGMENT; + desc.image_sampler_pairs[0].image_slot = 0; + desc.image_sampler_pairs[0].sampler_slot = 0; + desc.image_sampler_pairs[0].glsl_name = "sprite_sprite_smp"; + case .GLES3; + desc.vertex_func.source = xx *vs_sprite_source_glsl300es; + desc.vertex_func.entry = "main"; + desc.fragment_func.source = xx *fs_particle_source_glsl300es; + desc.fragment_func.entry = "main"; + desc.attrs[0].base_type = .FLOAT; + desc.attrs[0].glsl_name = "center"; + desc.attrs[1].base_type = .FLOAT; + desc.attrs[1].glsl_name = "size"; + desc.attrs[2].base_type = .FLOAT; + desc.attrs[2].glsl_name = "uv_rect"; + desc.attrs[3].base_type = .FLOAT; + desc.attrs[3].glsl_name = "face"; + desc.attrs[4].base_type = .FLOAT; + desc.attrs[4].glsl_name = "color"; + desc.attrs[5].base_type = .FLOAT; + desc.attrs[5].glsl_name = "glow"; + desc.uniform_blocks[0].stage = .VERTEX; + desc.uniform_blocks[0].layout = .STD140; + desc.uniform_blocks[0].size = 208; + desc.uniform_blocks[0].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[0].glsl_uniforms[0].array_count = 13; + desc.uniform_blocks[0].glsl_uniforms[0].glsl_name = "view_params"; + desc.uniform_blocks[1].stage = .VERTEX; + desc.uniform_blocks[1].layout = .STD140; + desc.uniform_blocks[1].size = 16; + desc.uniform_blocks[1].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[1].glsl_uniforms[0].array_count = 1; + desc.uniform_blocks[1].glsl_uniforms[0].glsl_name = "sprite_params"; + desc.images[0].stage = .FRAGMENT; + desc.images[0].multisampled = false; + desc.images[0].image_type = ._2D; + desc.images[0].sample_type = .FLOAT; + desc.samplers[0].stage = .FRAGMENT; + desc.samplers[0].sampler_type = .FILTERING; + desc.image_sampler_pairs[0].stage = .FRAGMENT; + desc.image_sampler_pairs[0].image_slot = 0; + desc.image_sampler_pairs[0].sampler_slot = 0; + desc.image_sampler_pairs[0].glsl_name = "sprite_sprite_smp"; + case .METAL_MACOS; + desc.vertex_func.source = xx *vs_sprite_source_metal_macos; + desc.vertex_func.entry = "main0"; + desc.fragment_func.source = xx *fs_particle_source_metal_macos; + desc.fragment_func.entry = "main0"; + desc.attrs[0].base_type = .FLOAT; + desc.attrs[1].base_type = .FLOAT; + desc.attrs[2].base_type = .FLOAT; + desc.attrs[3].base_type = .FLOAT; + desc.attrs[4].base_type = .FLOAT; + desc.attrs[5].base_type = .FLOAT; + desc.uniform_blocks[0].stage = .VERTEX; + desc.uniform_blocks[0].layout = .STD140; + desc.uniform_blocks[0].size = 208; + desc.uniform_blocks[0].msl_buffer_n = 0; + desc.uniform_blocks[1].stage = .VERTEX; + desc.uniform_blocks[1].layout = .STD140; + desc.uniform_blocks[1].size = 16; + desc.uniform_blocks[1].msl_buffer_n = 1; + desc.images[0].stage = .FRAGMENT; + desc.images[0].multisampled = false; + desc.images[0].image_type = ._2D; + desc.images[0].sample_type = .FLOAT; + desc.images[0].msl_texture_n = 0; + desc.samplers[0].stage = .FRAGMENT; + desc.samplers[0].sampler_type = .FILTERING; + desc.samplers[0].msl_sampler_n = 0; + desc.image_sampler_pairs[0].stage = .FRAGMENT; + desc.image_sampler_pairs[0].image_slot = 0; + desc.image_sampler_pairs[0].sampler_slot = 0; + } + return desc; +} +post_shader_desc :: (backend: sg_backend) -> sg_shader_desc { + desc: sg_shader_desc; + desc.label = "post_shader"; + if backend == { + case .GLCORE; + desc.vertex_func.source = xx *vs_fullscreen_source_glsl430; + desc.vertex_func.entry = "main"; + desc.fragment_func.source = xx *fs_post_source_glsl430; + desc.fragment_func.entry = "main"; + desc.uniform_blocks[0].stage = .FRAGMENT; + desc.uniform_blocks[0].layout = .STD140; + desc.uniform_blocks[0].size = 16; + desc.uniform_blocks[0].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[0].glsl_uniforms[0].array_count = 1; + desc.uniform_blocks[0].glsl_uniforms[0].glsl_name = "post_params"; + desc.images[0].stage = .FRAGMENT; + desc.images[0].multisampled = false; + desc.images[0].image_type = ._2D; + desc.images[0].sample_type = .FLOAT; + desc.images[1].stage = .FRAGMENT; + desc.images[1].multisampled = false; + desc.images[1].image_type = ._2D; + desc.images[1].sample_type = .FLOAT; + desc.samplers[0].stage = .FRAGMENT; + desc.samplers[0].sampler_type = .FILTERING; + desc.samplers[1].stage = .FRAGMENT; + desc.samplers[1].sampler_type = .FILTERING; + desc.image_sampler_pairs[0].stage = .FRAGMENT; + desc.image_sampler_pairs[0].image_slot = 0; + desc.image_sampler_pairs[0].sampler_slot = 0; + desc.image_sampler_pairs[0].glsl_name = "view_color_view_smp"; + desc.image_sampler_pairs[1].stage = .FRAGMENT; + desc.image_sampler_pairs[1].image_slot = 1; + desc.image_sampler_pairs[1].sampler_slot = 1; + desc.image_sampler_pairs[1].glsl_name = "bloom_bloom_view_smp"; + case .GLES3; + desc.vertex_func.source = xx *vs_fullscreen_source_glsl300es; + desc.vertex_func.entry = "main"; + desc.fragment_func.source = xx *fs_post_source_glsl300es; + desc.fragment_func.entry = "main"; + desc.uniform_blocks[0].stage = .FRAGMENT; + desc.uniform_blocks[0].layout = .STD140; + desc.uniform_blocks[0].size = 16; + desc.uniform_blocks[0].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[0].glsl_uniforms[0].array_count = 1; + desc.uniform_blocks[0].glsl_uniforms[0].glsl_name = "post_params"; + desc.images[0].stage = .FRAGMENT; + desc.images[0].multisampled = false; + desc.images[0].image_type = ._2D; + desc.images[0].sample_type = .FLOAT; + desc.images[1].stage = .FRAGMENT; + desc.images[1].multisampled = false; + desc.images[1].image_type = ._2D; + desc.images[1].sample_type = .FLOAT; + desc.samplers[0].stage = .FRAGMENT; + desc.samplers[0].sampler_type = .FILTERING; + desc.samplers[1].stage = .FRAGMENT; + desc.samplers[1].sampler_type = .FILTERING; + desc.image_sampler_pairs[0].stage = .FRAGMENT; + desc.image_sampler_pairs[0].image_slot = 0; + desc.image_sampler_pairs[0].sampler_slot = 0; + desc.image_sampler_pairs[0].glsl_name = "view_color_view_smp"; + desc.image_sampler_pairs[1].stage = .FRAGMENT; + desc.image_sampler_pairs[1].image_slot = 1; + desc.image_sampler_pairs[1].sampler_slot = 1; + desc.image_sampler_pairs[1].glsl_name = "bloom_bloom_view_smp"; + case .METAL_MACOS; + desc.vertex_func.source = xx *vs_fullscreen_source_metal_macos; + desc.vertex_func.entry = "main0"; + desc.fragment_func.source = xx *fs_post_source_metal_macos; + desc.fragment_func.entry = "main0"; + desc.uniform_blocks[0].stage = .FRAGMENT; + desc.uniform_blocks[0].layout = .STD140; desc.uniform_blocks[0].size = 16; desc.uniform_blocks[0].msl_buffer_n = 0; desc.images[0].stage = .FRAGMENT; @@ -2916,6 +11182,379 @@ composite_shader_desc :: (backend: sg_backend) -> sg_shader_desc { desc.images[0].image_type = ._2D; desc.images[0].sample_type = .FLOAT; desc.images[0].msl_texture_n = 0; + desc.images[1].stage = .FRAGMENT; + desc.images[1].multisampled = false; + desc.images[1].image_type = ._2D; + desc.images[1].sample_type = .FLOAT; + desc.images[1].msl_texture_n = 1; + desc.samplers[0].stage = .FRAGMENT; + desc.samplers[0].sampler_type = .FILTERING; + desc.samplers[0].msl_sampler_n = 0; + desc.samplers[1].stage = .FRAGMENT; + desc.samplers[1].sampler_type = .FILTERING; + desc.samplers[1].msl_sampler_n = 1; + desc.image_sampler_pairs[0].stage = .FRAGMENT; + desc.image_sampler_pairs[0].image_slot = 0; + desc.image_sampler_pairs[0].sampler_slot = 0; + desc.image_sampler_pairs[1].stage = .FRAGMENT; + desc.image_sampler_pairs[1].image_slot = 1; + desc.image_sampler_pairs[1].sampler_slot = 1; + } + return desc; +} +sky_shader_desc :: (backend: sg_backend) -> sg_shader_desc { + desc: sg_shader_desc; + desc.label = "sky_shader"; + if backend == { + case .GLCORE; + desc.vertex_func.source = xx *vs_sky_source_glsl430; + desc.vertex_func.entry = "main"; + desc.fragment_func.source = xx *fs_sky_source_glsl430; + desc.fragment_func.entry = "main"; + desc.uniform_blocks[0].stage = .VERTEX; + desc.uniform_blocks[0].layout = .STD140; + desc.uniform_blocks[0].size = 208; + desc.uniform_blocks[0].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[0].glsl_uniforms[0].array_count = 13; + desc.uniform_blocks[0].glsl_uniforms[0].glsl_name = "view_params"; + desc.uniform_blocks[1].stage = .FRAGMENT; + desc.uniform_blocks[1].layout = .STD140; + desc.uniform_blocks[1].size = 96; + desc.uniform_blocks[1].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[1].glsl_uniforms[0].array_count = 6; + desc.uniform_blocks[1].glsl_uniforms[0].glsl_name = "sky_params"; + case .GLES3; + desc.vertex_func.source = xx *vs_sky_source_glsl300es; + desc.vertex_func.entry = "main"; + desc.fragment_func.source = xx *fs_sky_source_glsl300es; + desc.fragment_func.entry = "main"; + desc.uniform_blocks[0].stage = .VERTEX; + desc.uniform_blocks[0].layout = .STD140; + desc.uniform_blocks[0].size = 208; + desc.uniform_blocks[0].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[0].glsl_uniforms[0].array_count = 13; + desc.uniform_blocks[0].glsl_uniforms[0].glsl_name = "view_params"; + desc.uniform_blocks[1].stage = .FRAGMENT; + desc.uniform_blocks[1].layout = .STD140; + desc.uniform_blocks[1].size = 96; + desc.uniform_blocks[1].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[1].glsl_uniforms[0].array_count = 6; + desc.uniform_blocks[1].glsl_uniforms[0].glsl_name = "sky_params"; + case .METAL_MACOS; + desc.vertex_func.source = xx *vs_sky_source_metal_macos; + desc.vertex_func.entry = "main0"; + desc.fragment_func.source = xx *fs_sky_source_metal_macos; + desc.fragment_func.entry = "main0"; + desc.uniform_blocks[0].stage = .VERTEX; + desc.uniform_blocks[0].layout = .STD140; + desc.uniform_blocks[0].size = 208; + desc.uniform_blocks[0].msl_buffer_n = 0; + desc.uniform_blocks[1].stage = .FRAGMENT; + desc.uniform_blocks[1].layout = .STD140; + desc.uniform_blocks[1].size = 96; + desc.uniform_blocks[1].msl_buffer_n = 0; + } + return desc; +} +sprite_shader_desc :: (backend: sg_backend) -> sg_shader_desc { + desc: sg_shader_desc; + desc.label = "sprite_shader"; + if backend == { + case .GLCORE; + desc.vertex_func.source = xx *vs_sprite_source_glsl430; + desc.vertex_func.entry = "main"; + desc.fragment_func.source = xx *fs_sprite_source_glsl430; + desc.fragment_func.entry = "main"; + desc.attrs[0].base_type = .FLOAT; + desc.attrs[0].glsl_name = "center"; + desc.attrs[1].base_type = .FLOAT; + desc.attrs[1].glsl_name = "size"; + desc.attrs[2].base_type = .FLOAT; + desc.attrs[2].glsl_name = "uv_rect"; + desc.attrs[3].base_type = .FLOAT; + desc.attrs[3].glsl_name = "face"; + desc.attrs[4].base_type = .FLOAT; + desc.attrs[4].glsl_name = "color"; + desc.attrs[5].base_type = .FLOAT; + desc.attrs[5].glsl_name = "glow"; + desc.uniform_blocks[0].stage = .VERTEX; + desc.uniform_blocks[0].layout = .STD140; + desc.uniform_blocks[0].size = 208; + desc.uniform_blocks[0].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[0].glsl_uniforms[0].array_count = 13; + desc.uniform_blocks[0].glsl_uniforms[0].glsl_name = "view_params"; + desc.uniform_blocks[1].stage = .VERTEX; + desc.uniform_blocks[1].layout = .STD140; + desc.uniform_blocks[1].size = 16; + desc.uniform_blocks[1].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[1].glsl_uniforms[0].array_count = 1; + desc.uniform_blocks[1].glsl_uniforms[0].glsl_name = "sprite_params"; + desc.uniform_blocks[3].stage = .FRAGMENT; + desc.uniform_blocks[3].layout = .STD140; + desc.uniform_blocks[3].size = 64; + desc.uniform_blocks[3].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[3].glsl_uniforms[0].array_count = 4; + desc.uniform_blocks[3].glsl_uniforms[0].glsl_name = "shadow_params"; + desc.images[0].stage = .FRAGMENT; + desc.images[0].multisampled = false; + desc.images[0].image_type = ._2D; + desc.images[0].sample_type = .FLOAT; + desc.images[7].stage = .FRAGMENT; + desc.images[7].multisampled = false; + desc.images[7].image_type = ._2D; + desc.images[7].sample_type = .DEPTH; + desc.images[8].stage = .FRAGMENT; + desc.images[8].multisampled = false; + desc.images[8].image_type = ._2D; + desc.images[8].sample_type = .FLOAT; + desc.samplers[0].stage = .FRAGMENT; + desc.samplers[0].sampler_type = .FILTERING; + desc.samplers[7].stage = .FRAGMENT; + desc.samplers[7].sampler_type = .COMPARISON; + desc.samplers[8].stage = .FRAGMENT; + desc.samplers[8].sampler_type = .FILTERING; + desc.image_sampler_pairs[0].stage = .FRAGMENT; + desc.image_sampler_pairs[0].image_slot = 7; + desc.image_sampler_pairs[0].sampler_slot = 7; + desc.image_sampler_pairs[0].glsl_name = "shadow_map_shadow_smp"; + desc.image_sampler_pairs[1].stage = .FRAGMENT; + desc.image_sampler_pairs[1].image_slot = 8; + desc.image_sampler_pairs[1].sampler_slot = 8; + desc.image_sampler_pairs[1].glsl_name = "shadow_tint_shadow_tint_smp"; + desc.image_sampler_pairs[2].stage = .FRAGMENT; + desc.image_sampler_pairs[2].image_slot = 0; + desc.image_sampler_pairs[2].sampler_slot = 0; + desc.image_sampler_pairs[2].glsl_name = "sprite_sprite_smp"; + case .GLES3; + desc.vertex_func.source = xx *vs_sprite_source_glsl300es; + desc.vertex_func.entry = "main"; + desc.fragment_func.source = xx *fs_sprite_source_glsl300es; + desc.fragment_func.entry = "main"; + desc.attrs[0].base_type = .FLOAT; + desc.attrs[0].glsl_name = "center"; + desc.attrs[1].base_type = .FLOAT; + desc.attrs[1].glsl_name = "size"; + desc.attrs[2].base_type = .FLOAT; + desc.attrs[2].glsl_name = "uv_rect"; + desc.attrs[3].base_type = .FLOAT; + desc.attrs[3].glsl_name = "face"; + desc.attrs[4].base_type = .FLOAT; + desc.attrs[4].glsl_name = "color"; + desc.attrs[5].base_type = .FLOAT; + desc.attrs[5].glsl_name = "glow"; + desc.uniform_blocks[0].stage = .VERTEX; + desc.uniform_blocks[0].layout = .STD140; + desc.uniform_blocks[0].size = 208; + desc.uniform_blocks[0].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[0].glsl_uniforms[0].array_count = 13; + desc.uniform_blocks[0].glsl_uniforms[0].glsl_name = "view_params"; + desc.uniform_blocks[1].stage = .VERTEX; + desc.uniform_blocks[1].layout = .STD140; + desc.uniform_blocks[1].size = 16; + desc.uniform_blocks[1].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[1].glsl_uniforms[0].array_count = 1; + desc.uniform_blocks[1].glsl_uniforms[0].glsl_name = "sprite_params"; + desc.uniform_blocks[3].stage = .FRAGMENT; + desc.uniform_blocks[3].layout = .STD140; + desc.uniform_blocks[3].size = 64; + desc.uniform_blocks[3].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[3].glsl_uniforms[0].array_count = 4; + desc.uniform_blocks[3].glsl_uniforms[0].glsl_name = "shadow_params"; + desc.images[0].stage = .FRAGMENT; + desc.images[0].multisampled = false; + desc.images[0].image_type = ._2D; + desc.images[0].sample_type = .FLOAT; + desc.images[7].stage = .FRAGMENT; + desc.images[7].multisampled = false; + desc.images[7].image_type = ._2D; + desc.images[7].sample_type = .DEPTH; + desc.images[8].stage = .FRAGMENT; + desc.images[8].multisampled = false; + desc.images[8].image_type = ._2D; + desc.images[8].sample_type = .FLOAT; + desc.samplers[0].stage = .FRAGMENT; + desc.samplers[0].sampler_type = .FILTERING; + desc.samplers[7].stage = .FRAGMENT; + desc.samplers[7].sampler_type = .COMPARISON; + desc.samplers[8].stage = .FRAGMENT; + desc.samplers[8].sampler_type = .FILTERING; + desc.image_sampler_pairs[0].stage = .FRAGMENT; + desc.image_sampler_pairs[0].image_slot = 7; + desc.image_sampler_pairs[0].sampler_slot = 7; + desc.image_sampler_pairs[0].glsl_name = "shadow_map_shadow_smp"; + desc.image_sampler_pairs[1].stage = .FRAGMENT; + desc.image_sampler_pairs[1].image_slot = 8; + desc.image_sampler_pairs[1].sampler_slot = 8; + desc.image_sampler_pairs[1].glsl_name = "shadow_tint_shadow_tint_smp"; + desc.image_sampler_pairs[2].stage = .FRAGMENT; + desc.image_sampler_pairs[2].image_slot = 0; + desc.image_sampler_pairs[2].sampler_slot = 0; + desc.image_sampler_pairs[2].glsl_name = "sprite_sprite_smp"; + case .METAL_MACOS; + desc.vertex_func.source = xx *vs_sprite_source_metal_macos; + desc.vertex_func.entry = "main0"; + desc.fragment_func.source = xx *fs_sprite_source_metal_macos; + desc.fragment_func.entry = "main0"; + desc.attrs[0].base_type = .FLOAT; + desc.attrs[1].base_type = .FLOAT; + desc.attrs[2].base_type = .FLOAT; + desc.attrs[3].base_type = .FLOAT; + desc.attrs[4].base_type = .FLOAT; + desc.attrs[5].base_type = .FLOAT; + desc.uniform_blocks[0].stage = .VERTEX; + desc.uniform_blocks[0].layout = .STD140; + desc.uniform_blocks[0].size = 208; + desc.uniform_blocks[0].msl_buffer_n = 0; + desc.uniform_blocks[1].stage = .VERTEX; + desc.uniform_blocks[1].layout = .STD140; + desc.uniform_blocks[1].size = 16; + desc.uniform_blocks[1].msl_buffer_n = 1; + desc.uniform_blocks[3].stage = .FRAGMENT; + desc.uniform_blocks[3].layout = .STD140; + desc.uniform_blocks[3].size = 64; + desc.uniform_blocks[3].msl_buffer_n = 0; + desc.images[0].stage = .FRAGMENT; + desc.images[0].multisampled = false; + desc.images[0].image_type = ._2D; + desc.images[0].sample_type = .FLOAT; + desc.images[0].msl_texture_n = 2; + desc.images[7].stage = .FRAGMENT; + desc.images[7].multisampled = false; + desc.images[7].image_type = ._2D; + desc.images[7].sample_type = .DEPTH; + desc.images[7].msl_texture_n = 0; + desc.images[8].stage = .FRAGMENT; + desc.images[8].multisampled = false; + desc.images[8].image_type = ._2D; + desc.images[8].sample_type = .FLOAT; + desc.images[8].msl_texture_n = 1; + desc.samplers[0].stage = .FRAGMENT; + desc.samplers[0].sampler_type = .FILTERING; + desc.samplers[0].msl_sampler_n = 2; + desc.samplers[7].stage = .FRAGMENT; + desc.samplers[7].sampler_type = .COMPARISON; + desc.samplers[7].msl_sampler_n = 0; + desc.samplers[8].stage = .FRAGMENT; + desc.samplers[8].sampler_type = .FILTERING; + desc.samplers[8].msl_sampler_n = 1; + desc.image_sampler_pairs[0].stage = .FRAGMENT; + desc.image_sampler_pairs[0].image_slot = 7; + desc.image_sampler_pairs[0].sampler_slot = 7; + desc.image_sampler_pairs[1].stage = .FRAGMENT; + desc.image_sampler_pairs[1].image_slot = 8; + desc.image_sampler_pairs[1].sampler_slot = 8; + desc.image_sampler_pairs[2].stage = .FRAGMENT; + desc.image_sampler_pairs[2].image_slot = 0; + desc.image_sampler_pairs[2].sampler_slot = 0; + } + return desc; +} +sprite_shadow_shader_desc :: (backend: sg_backend) -> sg_shader_desc { + desc: sg_shader_desc; + desc.label = "sprite_shadow_shader"; + if backend == { + case .GLCORE; + desc.vertex_func.source = xx *vs_sprite_source_glsl430; + desc.vertex_func.entry = "main"; + desc.fragment_func.source = xx *fs_sprite_shadow_source_glsl430; + desc.fragment_func.entry = "main"; + desc.attrs[0].base_type = .FLOAT; + desc.attrs[0].glsl_name = "center"; + desc.attrs[1].base_type = .FLOAT; + desc.attrs[1].glsl_name = "size"; + desc.attrs[2].base_type = .FLOAT; + desc.attrs[2].glsl_name = "uv_rect"; + desc.attrs[3].base_type = .FLOAT; + desc.attrs[3].glsl_name = "face"; + desc.attrs[4].base_type = .FLOAT; + desc.attrs[4].glsl_name = "color"; + desc.attrs[5].base_type = .FLOAT; + desc.attrs[5].glsl_name = "glow"; + desc.uniform_blocks[0].stage = .VERTEX; + desc.uniform_blocks[0].layout = .STD140; + desc.uniform_blocks[0].size = 208; + desc.uniform_blocks[0].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[0].glsl_uniforms[0].array_count = 13; + desc.uniform_blocks[0].glsl_uniforms[0].glsl_name = "view_params"; + desc.uniform_blocks[1].stage = .VERTEX; + desc.uniform_blocks[1].layout = .STD140; + desc.uniform_blocks[1].size = 16; + desc.uniform_blocks[1].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[1].glsl_uniforms[0].array_count = 1; + desc.uniform_blocks[1].glsl_uniforms[0].glsl_name = "sprite_params"; + desc.images[0].stage = .FRAGMENT; + desc.images[0].multisampled = false; + desc.images[0].image_type = ._2D; + desc.images[0].sample_type = .FLOAT; + desc.samplers[0].stage = .FRAGMENT; + desc.samplers[0].sampler_type = .FILTERING; + desc.image_sampler_pairs[0].stage = .FRAGMENT; + desc.image_sampler_pairs[0].image_slot = 0; + desc.image_sampler_pairs[0].sampler_slot = 0; + desc.image_sampler_pairs[0].glsl_name = "sprite_sprite_smp"; + case .GLES3; + desc.vertex_func.source = xx *vs_sprite_source_glsl300es; + desc.vertex_func.entry = "main"; + desc.fragment_func.source = xx *fs_sprite_shadow_source_glsl300es; + desc.fragment_func.entry = "main"; + desc.attrs[0].base_type = .FLOAT; + desc.attrs[0].glsl_name = "center"; + desc.attrs[1].base_type = .FLOAT; + desc.attrs[1].glsl_name = "size"; + desc.attrs[2].base_type = .FLOAT; + desc.attrs[2].glsl_name = "uv_rect"; + desc.attrs[3].base_type = .FLOAT; + desc.attrs[3].glsl_name = "face"; + desc.attrs[4].base_type = .FLOAT; + desc.attrs[4].glsl_name = "color"; + desc.attrs[5].base_type = .FLOAT; + desc.attrs[5].glsl_name = "glow"; + desc.uniform_blocks[0].stage = .VERTEX; + desc.uniform_blocks[0].layout = .STD140; + desc.uniform_blocks[0].size = 208; + desc.uniform_blocks[0].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[0].glsl_uniforms[0].array_count = 13; + desc.uniform_blocks[0].glsl_uniforms[0].glsl_name = "view_params"; + desc.uniform_blocks[1].stage = .VERTEX; + desc.uniform_blocks[1].layout = .STD140; + desc.uniform_blocks[1].size = 16; + desc.uniform_blocks[1].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[1].glsl_uniforms[0].array_count = 1; + desc.uniform_blocks[1].glsl_uniforms[0].glsl_name = "sprite_params"; + desc.images[0].stage = .FRAGMENT; + desc.images[0].multisampled = false; + desc.images[0].image_type = ._2D; + desc.images[0].sample_type = .FLOAT; + desc.samplers[0].stage = .FRAGMENT; + desc.samplers[0].sampler_type = .FILTERING; + desc.image_sampler_pairs[0].stage = .FRAGMENT; + desc.image_sampler_pairs[0].image_slot = 0; + desc.image_sampler_pairs[0].sampler_slot = 0; + desc.image_sampler_pairs[0].glsl_name = "sprite_sprite_smp"; + case .METAL_MACOS; + desc.vertex_func.source = xx *vs_sprite_source_metal_macos; + desc.vertex_func.entry = "main0"; + desc.fragment_func.source = xx *fs_sprite_shadow_source_metal_macos; + desc.fragment_func.entry = "main0"; + desc.attrs[0].base_type = .FLOAT; + desc.attrs[1].base_type = .FLOAT; + desc.attrs[2].base_type = .FLOAT; + desc.attrs[3].base_type = .FLOAT; + desc.attrs[4].base_type = .FLOAT; + desc.attrs[5].base_type = .FLOAT; + desc.uniform_blocks[0].stage = .VERTEX; + desc.uniform_blocks[0].layout = .STD140; + desc.uniform_blocks[0].size = 208; + desc.uniform_blocks[0].msl_buffer_n = 0; + desc.uniform_blocks[1].stage = .VERTEX; + desc.uniform_blocks[1].layout = .STD140; + desc.uniform_blocks[1].size = 16; + desc.uniform_blocks[1].msl_buffer_n = 1; + desc.images[0].stage = .FRAGMENT; + desc.images[0].multisampled = false; + desc.images[0].image_type = ._2D; + desc.images[0].sample_type = .FLOAT; + desc.images[0].msl_texture_n = 0; desc.samplers[0].stage = .FRAGMENT; desc.samplers[0].sampler_type = .FILTERING; desc.samplers[0].msl_sampler_n = 0; @@ -2937,24 +11576,338 @@ trile_shader_desc :: (backend: sg_backend) -> sg_shader_desc { desc.attrs[0].base_type = .FLOAT; desc.attrs[0].glsl_name = "position"; desc.attrs[1].base_type = .FLOAT; - desc.attrs[1].glsl_name = "swatch"; + desc.attrs[1].glsl_name = "data_n"; desc.attrs[2].base_type = .FLOAT; - desc.attrs[2].glsl_name = "ao"; + desc.attrs[2].glsl_name = "instance"; desc.attrs[3].base_type = .FLOAT; - desc.attrs[3].glsl_name = "instance"; + desc.attrs[3].glsl_name = "tint"; desc.attrs[4].base_type = .FLOAT; - desc.attrs[4].glsl_name = "tint"; + desc.attrs[4].glsl_name = "cut"; desc.uniform_blocks[0].stage = .VERTEX; desc.uniform_blocks[0].layout = .STD140; - desc.uniform_blocks[0].size = 96; + desc.uniform_blocks[0].size = 208; desc.uniform_blocks[0].glsl_uniforms[0].type = .FLOAT4; - desc.uniform_blocks[0].glsl_uniforms[0].array_count = 6; + desc.uniform_blocks[0].glsl_uniforms[0].array_count = 13; desc.uniform_blocks[0].glsl_uniforms[0].glsl_name = "view_params"; desc.uniform_blocks[1].stage = .VERTEX; desc.uniform_blocks[1].layout = .STD140; - desc.uniform_blocks[1].size = 1152; + desc.uniform_blocks[1].size = 1168; desc.uniform_blocks[1].glsl_uniforms[0].type = .FLOAT4; - desc.uniform_blocks[1].glsl_uniforms[0].array_count = 72; + desc.uniform_blocks[1].glsl_uniforms[0].array_count = 73; + desc.uniform_blocks[1].glsl_uniforms[0].glsl_name = "trile_params"; + desc.uniform_blocks[2].stage = .FRAGMENT; + desc.uniform_blocks[2].layout = .STD140; + desc.uniform_blocks[2].size = 64; + desc.uniform_blocks[2].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[2].glsl_uniforms[0].array_count = 4; + desc.uniform_blocks[2].glsl_uniforms[0].glsl_name = "trile_fs_params"; + desc.uniform_blocks[3].stage = .FRAGMENT; + desc.uniform_blocks[3].layout = .STD140; + desc.uniform_blocks[3].size = 64; + desc.uniform_blocks[3].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[3].glsl_uniforms[0].array_count = 4; + desc.uniform_blocks[3].glsl_uniforms[0].glsl_name = "shadow_params"; + desc.images[0].stage = .FRAGMENT; + desc.images[0].multisampled = false; + desc.images[0].image_type = ._2D; + desc.images[0].sample_type = .FLOAT; + desc.images[1].stage = .FRAGMENT; + desc.images[1].multisampled = false; + desc.images[1].image_type = ._2D; + desc.images[1].sample_type = .FLOAT; + desc.images[2].stage = .FRAGMENT; + desc.images[2].multisampled = false; + desc.images[2].image_type = ._2D; + desc.images[2].sample_type = .FLOAT; + desc.images[3].stage = .FRAGMENT; + desc.images[3].multisampled = false; + desc.images[3].image_type = ._3D; + desc.images[3].sample_type = .FLOAT; + desc.images[4].stage = .FRAGMENT; + desc.images[4].multisampled = false; + desc.images[4].image_type = ._3D; + desc.images[4].sample_type = .FLOAT; + desc.images[7].stage = .FRAGMENT; + desc.images[7].multisampled = false; + desc.images[7].image_type = ._2D; + desc.images[7].sample_type = .DEPTH; + desc.images[8].stage = .FRAGMENT; + desc.images[8].multisampled = false; + desc.images[8].image_type = ._2D; + desc.images[8].sample_type = .FLOAT; + desc.samplers[0].stage = .FRAGMENT; + desc.samplers[0].sampler_type = .FILTERING; + desc.samplers[1].stage = .FRAGMENT; + desc.samplers[1].sampler_type = .FILTERING; + desc.samplers[2].stage = .FRAGMENT; + desc.samplers[2].sampler_type = .FILTERING; + desc.samplers[7].stage = .FRAGMENT; + desc.samplers[7].sampler_type = .COMPARISON; + desc.samplers[8].stage = .FRAGMENT; + desc.samplers[8].sampler_type = .FILTERING; + desc.image_sampler_pairs[0].stage = .FRAGMENT; + desc.image_sampler_pairs[0].image_slot = 0; + desc.image_sampler_pairs[0].sampler_slot = 0; + desc.image_sampler_pairs[0].glsl_name = "palette_palette_smp"; + desc.image_sampler_pairs[1].stage = .FRAGMENT; + desc.image_sampler_pairs[1].image_slot = 7; + desc.image_sampler_pairs[1].sampler_slot = 7; + desc.image_sampler_pairs[1].glsl_name = "shadow_map_shadow_smp"; + desc.image_sampler_pairs[2].stage = .FRAGMENT; + desc.image_sampler_pairs[2].image_slot = 8; + desc.image_sampler_pairs[2].sampler_slot = 8; + desc.image_sampler_pairs[2].glsl_name = "shadow_tint_shadow_tint_smp"; + desc.image_sampler_pairs[3].stage = .FRAGMENT; + desc.image_sampler_pairs[3].image_slot = 3; + desc.image_sampler_pairs[3].sampler_slot = 2; + desc.image_sampler_pairs[3].glsl_name = "probe_index_probe_smp"; + desc.image_sampler_pairs[4].stage = .FRAGMENT; + desc.image_sampler_pairs[4].image_slot = 4; + desc.image_sampler_pairs[4].sampler_slot = 2; + desc.image_sampler_pairs[4].glsl_name = "probe_atlas_probe_smp"; + desc.image_sampler_pairs[5].stage = .FRAGMENT; + desc.image_sampler_pairs[5].image_slot = 1; + desc.image_sampler_pairs[5].sampler_slot = 1; + desc.image_sampler_pairs[5].glsl_name = "trile_reflection_trile_reflection_smp"; + desc.image_sampler_pairs[6].stage = .FRAGMENT; + desc.image_sampler_pairs[6].image_slot = 2; + desc.image_sampler_pairs[6].sampler_slot = 1; + desc.image_sampler_pairs[6].glsl_name = "trile_reflection_glow_trile_reflection_smp"; + case .GLES3; + desc.vertex_func.source = xx *vs_trile_source_glsl300es; + desc.vertex_func.entry = "main"; + desc.fragment_func.source = xx *fs_trile_source_glsl300es; + desc.fragment_func.entry = "main"; + desc.attrs[0].base_type = .FLOAT; + desc.attrs[0].glsl_name = "position"; + desc.attrs[1].base_type = .FLOAT; + desc.attrs[1].glsl_name = "data_n"; + desc.attrs[2].base_type = .FLOAT; + desc.attrs[2].glsl_name = "instance"; + desc.attrs[3].base_type = .FLOAT; + desc.attrs[3].glsl_name = "tint"; + desc.attrs[4].base_type = .FLOAT; + desc.attrs[4].glsl_name = "cut"; + desc.uniform_blocks[0].stage = .VERTEX; + desc.uniform_blocks[0].layout = .STD140; + desc.uniform_blocks[0].size = 208; + desc.uniform_blocks[0].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[0].glsl_uniforms[0].array_count = 13; + desc.uniform_blocks[0].glsl_uniforms[0].glsl_name = "view_params"; + desc.uniform_blocks[1].stage = .VERTEX; + desc.uniform_blocks[1].layout = .STD140; + desc.uniform_blocks[1].size = 1168; + desc.uniform_blocks[1].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[1].glsl_uniforms[0].array_count = 73; + desc.uniform_blocks[1].glsl_uniforms[0].glsl_name = "trile_params"; + desc.uniform_blocks[2].stage = .FRAGMENT; + desc.uniform_blocks[2].layout = .STD140; + desc.uniform_blocks[2].size = 64; + desc.uniform_blocks[2].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[2].glsl_uniforms[0].array_count = 4; + desc.uniform_blocks[2].glsl_uniforms[0].glsl_name = "trile_fs_params"; + desc.uniform_blocks[3].stage = .FRAGMENT; + desc.uniform_blocks[3].layout = .STD140; + desc.uniform_blocks[3].size = 64; + desc.uniform_blocks[3].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[3].glsl_uniforms[0].array_count = 4; + desc.uniform_blocks[3].glsl_uniforms[0].glsl_name = "shadow_params"; + desc.images[0].stage = .FRAGMENT; + desc.images[0].multisampled = false; + desc.images[0].image_type = ._2D; + desc.images[0].sample_type = .FLOAT; + desc.images[1].stage = .FRAGMENT; + desc.images[1].multisampled = false; + desc.images[1].image_type = ._2D; + desc.images[1].sample_type = .FLOAT; + desc.images[2].stage = .FRAGMENT; + desc.images[2].multisampled = false; + desc.images[2].image_type = ._2D; + desc.images[2].sample_type = .FLOAT; + desc.images[3].stage = .FRAGMENT; + desc.images[3].multisampled = false; + desc.images[3].image_type = ._3D; + desc.images[3].sample_type = .FLOAT; + desc.images[4].stage = .FRAGMENT; + desc.images[4].multisampled = false; + desc.images[4].image_type = ._3D; + desc.images[4].sample_type = .FLOAT; + desc.images[7].stage = .FRAGMENT; + desc.images[7].multisampled = false; + desc.images[7].image_type = ._2D; + desc.images[7].sample_type = .DEPTH; + desc.images[8].stage = .FRAGMENT; + desc.images[8].multisampled = false; + desc.images[8].image_type = ._2D; + desc.images[8].sample_type = .FLOAT; + desc.samplers[0].stage = .FRAGMENT; + desc.samplers[0].sampler_type = .FILTERING; + desc.samplers[1].stage = .FRAGMENT; + desc.samplers[1].sampler_type = .FILTERING; + desc.samplers[2].stage = .FRAGMENT; + desc.samplers[2].sampler_type = .FILTERING; + desc.samplers[7].stage = .FRAGMENT; + desc.samplers[7].sampler_type = .COMPARISON; + desc.samplers[8].stage = .FRAGMENT; + desc.samplers[8].sampler_type = .FILTERING; + desc.image_sampler_pairs[0].stage = .FRAGMENT; + desc.image_sampler_pairs[0].image_slot = 0; + desc.image_sampler_pairs[0].sampler_slot = 0; + desc.image_sampler_pairs[0].glsl_name = "palette_palette_smp"; + desc.image_sampler_pairs[1].stage = .FRAGMENT; + desc.image_sampler_pairs[1].image_slot = 7; + desc.image_sampler_pairs[1].sampler_slot = 7; + desc.image_sampler_pairs[1].glsl_name = "shadow_map_shadow_smp"; + desc.image_sampler_pairs[2].stage = .FRAGMENT; + desc.image_sampler_pairs[2].image_slot = 8; + desc.image_sampler_pairs[2].sampler_slot = 8; + desc.image_sampler_pairs[2].glsl_name = "shadow_tint_shadow_tint_smp"; + desc.image_sampler_pairs[3].stage = .FRAGMENT; + desc.image_sampler_pairs[3].image_slot = 3; + desc.image_sampler_pairs[3].sampler_slot = 2; + desc.image_sampler_pairs[3].glsl_name = "probe_index_probe_smp"; + desc.image_sampler_pairs[4].stage = .FRAGMENT; + desc.image_sampler_pairs[4].image_slot = 4; + desc.image_sampler_pairs[4].sampler_slot = 2; + desc.image_sampler_pairs[4].glsl_name = "probe_atlas_probe_smp"; + desc.image_sampler_pairs[5].stage = .FRAGMENT; + desc.image_sampler_pairs[5].image_slot = 1; + desc.image_sampler_pairs[5].sampler_slot = 1; + desc.image_sampler_pairs[5].glsl_name = "trile_reflection_trile_reflection_smp"; + desc.image_sampler_pairs[6].stage = .FRAGMENT; + desc.image_sampler_pairs[6].image_slot = 2; + desc.image_sampler_pairs[6].sampler_slot = 1; + desc.image_sampler_pairs[6].glsl_name = "trile_reflection_glow_trile_reflection_smp"; + case .METAL_MACOS; + desc.vertex_func.source = xx *vs_trile_source_metal_macos; + desc.vertex_func.entry = "main0"; + desc.fragment_func.source = xx *fs_trile_source_metal_macos; + desc.fragment_func.entry = "main0"; + desc.attrs[0].base_type = .FLOAT; + desc.attrs[1].base_type = .FLOAT; + desc.attrs[2].base_type = .FLOAT; + desc.attrs[3].base_type = .FLOAT; + desc.attrs[4].base_type = .FLOAT; + desc.uniform_blocks[0].stage = .VERTEX; + desc.uniform_blocks[0].layout = .STD140; + desc.uniform_blocks[0].size = 208; + desc.uniform_blocks[0].msl_buffer_n = 1; + desc.uniform_blocks[1].stage = .VERTEX; + desc.uniform_blocks[1].layout = .STD140; + desc.uniform_blocks[1].size = 1168; + desc.uniform_blocks[1].msl_buffer_n = 0; + desc.uniform_blocks[2].stage = .FRAGMENT; + desc.uniform_blocks[2].layout = .STD140; + desc.uniform_blocks[2].size = 64; + desc.uniform_blocks[2].msl_buffer_n = 1; + desc.uniform_blocks[3].stage = .FRAGMENT; + desc.uniform_blocks[3].layout = .STD140; + desc.uniform_blocks[3].size = 64; + desc.uniform_blocks[3].msl_buffer_n = 0; + desc.images[0].stage = .FRAGMENT; + desc.images[0].multisampled = false; + desc.images[0].image_type = ._2D; + desc.images[0].sample_type = .FLOAT; + desc.images[0].msl_texture_n = 4; + desc.images[1].stage = .FRAGMENT; + desc.images[1].multisampled = false; + desc.images[1].image_type = ._2D; + desc.images[1].sample_type = .FLOAT; + desc.images[1].msl_texture_n = 5; + desc.images[2].stage = .FRAGMENT; + desc.images[2].multisampled = false; + desc.images[2].image_type = ._2D; + desc.images[2].sample_type = .FLOAT; + desc.images[2].msl_texture_n = 6; + desc.images[3].stage = .FRAGMENT; + desc.images[3].multisampled = false; + desc.images[3].image_type = ._3D; + desc.images[3].sample_type = .FLOAT; + desc.images[3].msl_texture_n = 2; + desc.images[4].stage = .FRAGMENT; + desc.images[4].multisampled = false; + desc.images[4].image_type = ._3D; + desc.images[4].sample_type = .FLOAT; + desc.images[4].msl_texture_n = 3; + desc.images[7].stage = .FRAGMENT; + desc.images[7].multisampled = false; + desc.images[7].image_type = ._2D; + desc.images[7].sample_type = .DEPTH; + desc.images[7].msl_texture_n = 0; + desc.images[8].stage = .FRAGMENT; + desc.images[8].multisampled = false; + desc.images[8].image_type = ._2D; + desc.images[8].sample_type = .FLOAT; + desc.images[8].msl_texture_n = 1; + desc.samplers[0].stage = .FRAGMENT; + desc.samplers[0].sampler_type = .FILTERING; + desc.samplers[0].msl_sampler_n = 3; + desc.samplers[1].stage = .FRAGMENT; + desc.samplers[1].sampler_type = .FILTERING; + desc.samplers[1].msl_sampler_n = 4; + desc.samplers[2].stage = .FRAGMENT; + desc.samplers[2].sampler_type = .FILTERING; + desc.samplers[2].msl_sampler_n = 2; + desc.samplers[7].stage = .FRAGMENT; + desc.samplers[7].sampler_type = .COMPARISON; + desc.samplers[7].msl_sampler_n = 0; + desc.samplers[8].stage = .FRAGMENT; + desc.samplers[8].sampler_type = .FILTERING; + desc.samplers[8].msl_sampler_n = 1; + desc.image_sampler_pairs[0].stage = .FRAGMENT; + desc.image_sampler_pairs[0].image_slot = 0; + desc.image_sampler_pairs[0].sampler_slot = 0; + desc.image_sampler_pairs[1].stage = .FRAGMENT; + desc.image_sampler_pairs[1].image_slot = 7; + desc.image_sampler_pairs[1].sampler_slot = 7; + desc.image_sampler_pairs[2].stage = .FRAGMENT; + desc.image_sampler_pairs[2].image_slot = 8; + desc.image_sampler_pairs[2].sampler_slot = 8; + desc.image_sampler_pairs[3].stage = .FRAGMENT; + desc.image_sampler_pairs[3].image_slot = 3; + desc.image_sampler_pairs[3].sampler_slot = 2; + desc.image_sampler_pairs[4].stage = .FRAGMENT; + desc.image_sampler_pairs[4].image_slot = 4; + desc.image_sampler_pairs[4].sampler_slot = 2; + desc.image_sampler_pairs[5].stage = .FRAGMENT; + desc.image_sampler_pairs[5].image_slot = 1; + desc.image_sampler_pairs[5].sampler_slot = 1; + desc.image_sampler_pairs[6].stage = .FRAGMENT; + desc.image_sampler_pairs[6].image_slot = 2; + desc.image_sampler_pairs[6].sampler_slot = 1; + } + return desc; +} +trile_glass_shadow_shader_desc :: (backend: sg_backend) -> sg_shader_desc { + desc: sg_shader_desc; + desc.label = "trile_glass_shadow_shader"; + if backend == { + case .GLCORE; + desc.vertex_func.source = xx *vs_trile_source_glsl430; + desc.vertex_func.entry = "main"; + desc.fragment_func.source = xx *fs_trile_glass_shadow_source_glsl430; + desc.fragment_func.entry = "main"; + desc.attrs[0].base_type = .FLOAT; + desc.attrs[0].glsl_name = "position"; + desc.attrs[1].base_type = .FLOAT; + desc.attrs[1].glsl_name = "data_n"; + desc.attrs[2].base_type = .FLOAT; + desc.attrs[2].glsl_name = "instance"; + desc.attrs[3].base_type = .FLOAT; + desc.attrs[3].glsl_name = "tint"; + desc.attrs[4].base_type = .FLOAT; + desc.attrs[4].glsl_name = "cut"; + desc.uniform_blocks[0].stage = .VERTEX; + desc.uniform_blocks[0].layout = .STD140; + desc.uniform_blocks[0].size = 208; + desc.uniform_blocks[0].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[0].glsl_uniforms[0].array_count = 13; + desc.uniform_blocks[0].glsl_uniforms[0].glsl_name = "view_params"; + desc.uniform_blocks[1].stage = .VERTEX; + desc.uniform_blocks[1].layout = .STD140; + desc.uniform_blocks[1].size = 1168; + desc.uniform_blocks[1].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[1].glsl_uniforms[0].array_count = 73; desc.uniform_blocks[1].glsl_uniforms[0].glsl_name = "trile_params"; desc.images[0].stage = .FRAGMENT; desc.images[0].multisampled = false; @@ -2969,29 +11922,29 @@ trile_shader_desc :: (backend: sg_backend) -> sg_shader_desc { case .GLES3; desc.vertex_func.source = xx *vs_trile_source_glsl300es; desc.vertex_func.entry = "main"; - desc.fragment_func.source = xx *fs_trile_source_glsl300es; + desc.fragment_func.source = xx *fs_trile_glass_shadow_source_glsl300es; desc.fragment_func.entry = "main"; desc.attrs[0].base_type = .FLOAT; desc.attrs[0].glsl_name = "position"; desc.attrs[1].base_type = .FLOAT; - desc.attrs[1].glsl_name = "swatch"; + desc.attrs[1].glsl_name = "data_n"; desc.attrs[2].base_type = .FLOAT; - desc.attrs[2].glsl_name = "ao"; + desc.attrs[2].glsl_name = "instance"; desc.attrs[3].base_type = .FLOAT; - desc.attrs[3].glsl_name = "instance"; + desc.attrs[3].glsl_name = "tint"; desc.attrs[4].base_type = .FLOAT; - desc.attrs[4].glsl_name = "tint"; + desc.attrs[4].glsl_name = "cut"; desc.uniform_blocks[0].stage = .VERTEX; desc.uniform_blocks[0].layout = .STD140; - desc.uniform_blocks[0].size = 96; + desc.uniform_blocks[0].size = 208; desc.uniform_blocks[0].glsl_uniforms[0].type = .FLOAT4; - desc.uniform_blocks[0].glsl_uniforms[0].array_count = 6; + desc.uniform_blocks[0].glsl_uniforms[0].array_count = 13; desc.uniform_blocks[0].glsl_uniforms[0].glsl_name = "view_params"; desc.uniform_blocks[1].stage = .VERTEX; desc.uniform_blocks[1].layout = .STD140; - desc.uniform_blocks[1].size = 1152; + desc.uniform_blocks[1].size = 1168; desc.uniform_blocks[1].glsl_uniforms[0].type = .FLOAT4; - desc.uniform_blocks[1].glsl_uniforms[0].array_count = 72; + desc.uniform_blocks[1].glsl_uniforms[0].array_count = 73; desc.uniform_blocks[1].glsl_uniforms[0].glsl_name = "trile_params"; desc.images[0].stage = .FRAGMENT; desc.images[0].multisampled = false; @@ -3006,7 +11959,7 @@ trile_shader_desc :: (backend: sg_backend) -> sg_shader_desc { case .METAL_MACOS; desc.vertex_func.source = xx *vs_trile_source_metal_macos; desc.vertex_func.entry = "main0"; - desc.fragment_func.source = xx *fs_trile_source_metal_macos; + desc.fragment_func.source = xx *fs_trile_glass_shadow_source_metal_macos; desc.fragment_func.entry = "main0"; desc.attrs[0].base_type = .FLOAT; desc.attrs[1].base_type = .FLOAT; @@ -3015,11 +11968,121 @@ trile_shader_desc :: (backend: sg_backend) -> sg_shader_desc { desc.attrs[4].base_type = .FLOAT; desc.uniform_blocks[0].stage = .VERTEX; desc.uniform_blocks[0].layout = .STD140; - desc.uniform_blocks[0].size = 96; + desc.uniform_blocks[0].size = 208; desc.uniform_blocks[0].msl_buffer_n = 1; desc.uniform_blocks[1].stage = .VERTEX; desc.uniform_blocks[1].layout = .STD140; - desc.uniform_blocks[1].size = 1152; + desc.uniform_blocks[1].size = 1168; + desc.uniform_blocks[1].msl_buffer_n = 0; + desc.images[0].stage = .FRAGMENT; + desc.images[0].multisampled = false; + desc.images[0].image_type = ._2D; + desc.images[0].sample_type = .FLOAT; + desc.images[0].msl_texture_n = 0; + desc.samplers[0].stage = .FRAGMENT; + desc.samplers[0].sampler_type = .FILTERING; + desc.samplers[0].msl_sampler_n = 0; + desc.image_sampler_pairs[0].stage = .FRAGMENT; + desc.image_sampler_pairs[0].image_slot = 0; + desc.image_sampler_pairs[0].sampler_slot = 0; + } + return desc; +} +trile_shadow_shader_desc :: (backend: sg_backend) -> sg_shader_desc { + desc: sg_shader_desc; + desc.label = "trile_shadow_shader"; + if backend == { + case .GLCORE; + desc.vertex_func.source = xx *vs_trile_source_glsl430; + desc.vertex_func.entry = "main"; + desc.fragment_func.source = xx *fs_trile_shadow_source_glsl430; + desc.fragment_func.entry = "main"; + desc.attrs[0].base_type = .FLOAT; + desc.attrs[0].glsl_name = "position"; + desc.attrs[1].base_type = .FLOAT; + desc.attrs[1].glsl_name = "data_n"; + desc.attrs[2].base_type = .FLOAT; + desc.attrs[2].glsl_name = "instance"; + desc.attrs[3].base_type = .FLOAT; + desc.attrs[3].glsl_name = "tint"; + desc.attrs[4].base_type = .FLOAT; + desc.attrs[4].glsl_name = "cut"; + desc.uniform_blocks[0].stage = .VERTEX; + desc.uniform_blocks[0].layout = .STD140; + desc.uniform_blocks[0].size = 208; + desc.uniform_blocks[0].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[0].glsl_uniforms[0].array_count = 13; + desc.uniform_blocks[0].glsl_uniforms[0].glsl_name = "view_params"; + desc.uniform_blocks[1].stage = .VERTEX; + desc.uniform_blocks[1].layout = .STD140; + desc.uniform_blocks[1].size = 1168; + desc.uniform_blocks[1].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[1].glsl_uniforms[0].array_count = 73; + desc.uniform_blocks[1].glsl_uniforms[0].glsl_name = "trile_params"; + desc.images[0].stage = .FRAGMENT; + desc.images[0].multisampled = false; + desc.images[0].image_type = ._2D; + desc.images[0].sample_type = .FLOAT; + desc.samplers[0].stage = .FRAGMENT; + desc.samplers[0].sampler_type = .FILTERING; + desc.image_sampler_pairs[0].stage = .FRAGMENT; + desc.image_sampler_pairs[0].image_slot = 0; + desc.image_sampler_pairs[0].sampler_slot = 0; + desc.image_sampler_pairs[0].glsl_name = "palette_palette_smp"; + case .GLES3; + desc.vertex_func.source = xx *vs_trile_source_glsl300es; + desc.vertex_func.entry = "main"; + desc.fragment_func.source = xx *fs_trile_shadow_source_glsl300es; + desc.fragment_func.entry = "main"; + desc.attrs[0].base_type = .FLOAT; + desc.attrs[0].glsl_name = "position"; + desc.attrs[1].base_type = .FLOAT; + desc.attrs[1].glsl_name = "data_n"; + desc.attrs[2].base_type = .FLOAT; + desc.attrs[2].glsl_name = "instance"; + desc.attrs[3].base_type = .FLOAT; + desc.attrs[3].glsl_name = "tint"; + desc.attrs[4].base_type = .FLOAT; + desc.attrs[4].glsl_name = "cut"; + desc.uniform_blocks[0].stage = .VERTEX; + desc.uniform_blocks[0].layout = .STD140; + desc.uniform_blocks[0].size = 208; + desc.uniform_blocks[0].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[0].glsl_uniforms[0].array_count = 13; + desc.uniform_blocks[0].glsl_uniforms[0].glsl_name = "view_params"; + desc.uniform_blocks[1].stage = .VERTEX; + desc.uniform_blocks[1].layout = .STD140; + desc.uniform_blocks[1].size = 1168; + desc.uniform_blocks[1].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[1].glsl_uniforms[0].array_count = 73; + desc.uniform_blocks[1].glsl_uniforms[0].glsl_name = "trile_params"; + desc.images[0].stage = .FRAGMENT; + desc.images[0].multisampled = false; + desc.images[0].image_type = ._2D; + desc.images[0].sample_type = .FLOAT; + desc.samplers[0].stage = .FRAGMENT; + desc.samplers[0].sampler_type = .FILTERING; + desc.image_sampler_pairs[0].stage = .FRAGMENT; + desc.image_sampler_pairs[0].image_slot = 0; + desc.image_sampler_pairs[0].sampler_slot = 0; + desc.image_sampler_pairs[0].glsl_name = "palette_palette_smp"; + case .METAL_MACOS; + desc.vertex_func.source = xx *vs_trile_source_metal_macos; + desc.vertex_func.entry = "main0"; + desc.fragment_func.source = xx *fs_trile_shadow_source_metal_macos; + desc.fragment_func.entry = "main0"; + desc.attrs[0].base_type = .FLOAT; + desc.attrs[1].base_type = .FLOAT; + desc.attrs[2].base_type = .FLOAT; + desc.attrs[3].base_type = .FLOAT; + desc.attrs[4].base_type = .FLOAT; + desc.uniform_blocks[0].stage = .VERTEX; + desc.uniform_blocks[0].layout = .STD140; + desc.uniform_blocks[0].size = 208; + desc.uniform_blocks[0].msl_buffer_n = 1; + desc.uniform_blocks[1].stage = .VERTEX; + desc.uniform_blocks[1].layout = .STD140; + desc.uniform_blocks[1].size = 1168; desc.uniform_blocks[1].msl_buffer_n = 0; desc.images[0].stage = .FRAGMENT; desc.images[0].multisampled = false; @@ -3130,9 +12193,9 @@ water_shader_desc :: (backend: sg_backend) -> sg_shader_desc { desc.fragment_func.entry = "main"; desc.uniform_blocks[0].stage = .VERTEX; desc.uniform_blocks[0].layout = .STD140; - desc.uniform_blocks[0].size = 96; + desc.uniform_blocks[0].size = 208; desc.uniform_blocks[0].glsl_uniforms[0].type = .FLOAT4; - desc.uniform_blocks[0].glsl_uniforms[0].array_count = 6; + desc.uniform_blocks[0].glsl_uniforms[0].array_count = 13; desc.uniform_blocks[0].glsl_uniforms[0].glsl_name = "view_params"; desc.uniform_blocks[1].stage = .VERTEX; desc.uniform_blocks[1].layout = .STD140; @@ -3142,10 +12205,16 @@ water_shader_desc :: (backend: sg_backend) -> sg_shader_desc { desc.uniform_blocks[1].glsl_uniforms[0].glsl_name = "water_vs_params"; desc.uniform_blocks[2].stage = .FRAGMENT; desc.uniform_blocks[2].layout = .STD140; - desc.uniform_blocks[2].size = 32; + desc.uniform_blocks[2].size = 64; desc.uniform_blocks[2].glsl_uniforms[0].type = .FLOAT4; - desc.uniform_blocks[2].glsl_uniforms[0].array_count = 2; + desc.uniform_blocks[2].glsl_uniforms[0].array_count = 4; desc.uniform_blocks[2].glsl_uniforms[0].glsl_name = "water_fs_params"; + desc.uniform_blocks[3].stage = .FRAGMENT; + desc.uniform_blocks[3].layout = .STD140; + desc.uniform_blocks[3].size = 64; + desc.uniform_blocks[3].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[3].glsl_uniforms[0].array_count = 4; + desc.uniform_blocks[3].glsl_uniforms[0].glsl_name = "shadow_params"; desc.images[0].stage = .FRAGMENT; desc.images[0].multisampled = false; desc.images[0].image_type = ._2D; @@ -3154,10 +12223,26 @@ water_shader_desc :: (backend: sg_backend) -> sg_shader_desc { desc.images[1].multisampled = false; desc.images[1].image_type = ._2D; desc.images[1].sample_type = .FLOAT; + desc.images[2].stage = .FRAGMENT; + desc.images[2].multisampled = false; + desc.images[2].image_type = ._2D; + desc.images[2].sample_type = .FLOAT; + desc.images[7].stage = .FRAGMENT; + desc.images[7].multisampled = false; + desc.images[7].image_type = ._2D; + desc.images[7].sample_type = .DEPTH; + desc.images[8].stage = .FRAGMENT; + desc.images[8].multisampled = false; + desc.images[8].image_type = ._2D; + desc.images[8].sample_type = .FLOAT; desc.samplers[0].stage = .FRAGMENT; desc.samplers[0].sampler_type = .FILTERING; desc.samplers[1].stage = .FRAGMENT; desc.samplers[1].sampler_type = .FILTERING; + desc.samplers[7].stage = .FRAGMENT; + desc.samplers[7].sampler_type = .COMPARISON; + desc.samplers[8].stage = .FRAGMENT; + desc.samplers[8].sampler_type = .FILTERING; desc.image_sampler_pairs[0].stage = .FRAGMENT; desc.image_sampler_pairs[0].image_slot = 1; desc.image_sampler_pairs[0].sampler_slot = 1; @@ -3166,6 +12251,18 @@ water_shader_desc :: (backend: sg_backend) -> sg_shader_desc { desc.image_sampler_pairs[1].image_slot = 0; desc.image_sampler_pairs[1].sampler_slot = 0; desc.image_sampler_pairs[1].glsl_name = "reflection_reflection_smp"; + desc.image_sampler_pairs[2].stage = .FRAGMENT; + desc.image_sampler_pairs[2].image_slot = 7; + desc.image_sampler_pairs[2].sampler_slot = 7; + desc.image_sampler_pairs[2].glsl_name = "shadow_map_shadow_smp"; + desc.image_sampler_pairs[3].stage = .FRAGMENT; + desc.image_sampler_pairs[3].image_slot = 8; + desc.image_sampler_pairs[3].sampler_slot = 8; + desc.image_sampler_pairs[3].glsl_name = "shadow_tint_shadow_tint_smp"; + desc.image_sampler_pairs[4].stage = .FRAGMENT; + desc.image_sampler_pairs[4].image_slot = 2; + desc.image_sampler_pairs[4].sampler_slot = 0; + desc.image_sampler_pairs[4].glsl_name = "reflection_glow_reflection_smp"; case .GLES3; desc.vertex_func.source = xx *vs_water_source_glsl300es; desc.vertex_func.entry = "main"; @@ -3173,9 +12270,9 @@ water_shader_desc :: (backend: sg_backend) -> sg_shader_desc { desc.fragment_func.entry = "main"; desc.uniform_blocks[0].stage = .VERTEX; desc.uniform_blocks[0].layout = .STD140; - desc.uniform_blocks[0].size = 96; + desc.uniform_blocks[0].size = 208; desc.uniform_blocks[0].glsl_uniforms[0].type = .FLOAT4; - desc.uniform_blocks[0].glsl_uniforms[0].array_count = 6; + desc.uniform_blocks[0].glsl_uniforms[0].array_count = 13; desc.uniform_blocks[0].glsl_uniforms[0].glsl_name = "view_params"; desc.uniform_blocks[1].stage = .VERTEX; desc.uniform_blocks[1].layout = .STD140; @@ -3185,10 +12282,16 @@ water_shader_desc :: (backend: sg_backend) -> sg_shader_desc { desc.uniform_blocks[1].glsl_uniforms[0].glsl_name = "water_vs_params"; desc.uniform_blocks[2].stage = .FRAGMENT; desc.uniform_blocks[2].layout = .STD140; - desc.uniform_blocks[2].size = 32; + desc.uniform_blocks[2].size = 64; desc.uniform_blocks[2].glsl_uniforms[0].type = .FLOAT4; - desc.uniform_blocks[2].glsl_uniforms[0].array_count = 2; + desc.uniform_blocks[2].glsl_uniforms[0].array_count = 4; desc.uniform_blocks[2].glsl_uniforms[0].glsl_name = "water_fs_params"; + desc.uniform_blocks[3].stage = .FRAGMENT; + desc.uniform_blocks[3].layout = .STD140; + desc.uniform_blocks[3].size = 64; + desc.uniform_blocks[3].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[3].glsl_uniforms[0].array_count = 4; + desc.uniform_blocks[3].glsl_uniforms[0].glsl_name = "shadow_params"; desc.images[0].stage = .FRAGMENT; desc.images[0].multisampled = false; desc.images[0].image_type = ._2D; @@ -3197,10 +12300,26 @@ water_shader_desc :: (backend: sg_backend) -> sg_shader_desc { desc.images[1].multisampled = false; desc.images[1].image_type = ._2D; desc.images[1].sample_type = .FLOAT; + desc.images[2].stage = .FRAGMENT; + desc.images[2].multisampled = false; + desc.images[2].image_type = ._2D; + desc.images[2].sample_type = .FLOAT; + desc.images[7].stage = .FRAGMENT; + desc.images[7].multisampled = false; + desc.images[7].image_type = ._2D; + desc.images[7].sample_type = .DEPTH; + desc.images[8].stage = .FRAGMENT; + desc.images[8].multisampled = false; + desc.images[8].image_type = ._2D; + desc.images[8].sample_type = .FLOAT; desc.samplers[0].stage = .FRAGMENT; desc.samplers[0].sampler_type = .FILTERING; desc.samplers[1].stage = .FRAGMENT; desc.samplers[1].sampler_type = .FILTERING; + desc.samplers[7].stage = .FRAGMENT; + desc.samplers[7].sampler_type = .COMPARISON; + desc.samplers[8].stage = .FRAGMENT; + desc.samplers[8].sampler_type = .FILTERING; desc.image_sampler_pairs[0].stage = .FRAGMENT; desc.image_sampler_pairs[0].image_slot = 1; desc.image_sampler_pairs[0].sampler_slot = 1; @@ -3209,6 +12328,18 @@ water_shader_desc :: (backend: sg_backend) -> sg_shader_desc { desc.image_sampler_pairs[1].image_slot = 0; desc.image_sampler_pairs[1].sampler_slot = 0; desc.image_sampler_pairs[1].glsl_name = "reflection_reflection_smp"; + desc.image_sampler_pairs[2].stage = .FRAGMENT; + desc.image_sampler_pairs[2].image_slot = 7; + desc.image_sampler_pairs[2].sampler_slot = 7; + desc.image_sampler_pairs[2].glsl_name = "shadow_map_shadow_smp"; + desc.image_sampler_pairs[3].stage = .FRAGMENT; + desc.image_sampler_pairs[3].image_slot = 8; + desc.image_sampler_pairs[3].sampler_slot = 8; + desc.image_sampler_pairs[3].glsl_name = "shadow_tint_shadow_tint_smp"; + desc.image_sampler_pairs[4].stage = .FRAGMENT; + desc.image_sampler_pairs[4].image_slot = 2; + desc.image_sampler_pairs[4].sampler_slot = 0; + desc.image_sampler_pairs[4].glsl_name = "reflection_glow_reflection_smp"; case .METAL_MACOS; desc.vertex_func.source = xx *vs_water_source_metal_macos; desc.vertex_func.entry = "main0"; @@ -3216,7 +12347,7 @@ water_shader_desc :: (backend: sg_backend) -> sg_shader_desc { desc.fragment_func.entry = "main0"; desc.uniform_blocks[0].stage = .VERTEX; desc.uniform_blocks[0].layout = .STD140; - desc.uniform_blocks[0].size = 96; + desc.uniform_blocks[0].size = 208; desc.uniform_blocks[0].msl_buffer_n = 0; desc.uniform_blocks[1].stage = .VERTEX; desc.uniform_blocks[1].layout = .STD140; @@ -3224,30 +12355,134 @@ water_shader_desc :: (backend: sg_backend) -> sg_shader_desc { desc.uniform_blocks[1].msl_buffer_n = 1; desc.uniform_blocks[2].stage = .FRAGMENT; desc.uniform_blocks[2].layout = .STD140; - desc.uniform_blocks[2].size = 32; - desc.uniform_blocks[2].msl_buffer_n = 0; + desc.uniform_blocks[2].size = 64; + desc.uniform_blocks[2].msl_buffer_n = 1; + desc.uniform_blocks[3].stage = .FRAGMENT; + desc.uniform_blocks[3].layout = .STD140; + desc.uniform_blocks[3].size = 64; + desc.uniform_blocks[3].msl_buffer_n = 0; desc.images[0].stage = .FRAGMENT; desc.images[0].multisampled = false; desc.images[0].image_type = ._2D; desc.images[0].sample_type = .FLOAT; - desc.images[0].msl_texture_n = 1; + desc.images[0].msl_texture_n = 3; desc.images[1].stage = .FRAGMENT; desc.images[1].multisampled = false; desc.images[1].image_type = ._2D; desc.images[1].sample_type = .FLOAT; - desc.images[1].msl_texture_n = 0; + desc.images[1].msl_texture_n = 2; + desc.images[2].stage = .FRAGMENT; + desc.images[2].multisampled = false; + desc.images[2].image_type = ._2D; + desc.images[2].sample_type = .FLOAT; + desc.images[2].msl_texture_n = 4; + desc.images[7].stage = .FRAGMENT; + desc.images[7].multisampled = false; + desc.images[7].image_type = ._2D; + desc.images[7].sample_type = .DEPTH; + desc.images[7].msl_texture_n = 0; + desc.images[8].stage = .FRAGMENT; + desc.images[8].multisampled = false; + desc.images[8].image_type = ._2D; + desc.images[8].sample_type = .FLOAT; + desc.images[8].msl_texture_n = 1; desc.samplers[0].stage = .FRAGMENT; desc.samplers[0].sampler_type = .FILTERING; - desc.samplers[0].msl_sampler_n = 1; + desc.samplers[0].msl_sampler_n = 3; desc.samplers[1].stage = .FRAGMENT; desc.samplers[1].sampler_type = .FILTERING; - desc.samplers[1].msl_sampler_n = 0; + desc.samplers[1].msl_sampler_n = 2; + desc.samplers[7].stage = .FRAGMENT; + desc.samplers[7].sampler_type = .COMPARISON; + desc.samplers[7].msl_sampler_n = 0; + desc.samplers[8].stage = .FRAGMENT; + desc.samplers[8].sampler_type = .FILTERING; + desc.samplers[8].msl_sampler_n = 1; desc.image_sampler_pairs[0].stage = .FRAGMENT; desc.image_sampler_pairs[0].image_slot = 1; desc.image_sampler_pairs[0].sampler_slot = 1; desc.image_sampler_pairs[1].stage = .FRAGMENT; desc.image_sampler_pairs[1].image_slot = 0; desc.image_sampler_pairs[1].sampler_slot = 0; + desc.image_sampler_pairs[2].stage = .FRAGMENT; + desc.image_sampler_pairs[2].image_slot = 7; + desc.image_sampler_pairs[2].sampler_slot = 7; + desc.image_sampler_pairs[3].stage = .FRAGMENT; + desc.image_sampler_pairs[3].image_slot = 8; + desc.image_sampler_pairs[3].sampler_slot = 8; + desc.image_sampler_pairs[4].stage = .FRAGMENT; + desc.image_sampler_pairs[4].image_slot = 2; + desc.image_sampler_pairs[4].sampler_slot = 0; + } + return desc; +} +water_floor_shader_desc :: (backend: sg_backend) -> sg_shader_desc { + desc: sg_shader_desc; + desc.label = "water_floor_shader"; + if backend == { + case .GLCORE; + desc.vertex_func.source = xx *vs_water_source_glsl430; + desc.vertex_func.entry = "main"; + desc.fragment_func.source = xx *fs_water_floor_source_glsl430; + desc.fragment_func.entry = "main"; + desc.uniform_blocks[0].stage = .VERTEX; + desc.uniform_blocks[0].layout = .STD140; + desc.uniform_blocks[0].size = 208; + desc.uniform_blocks[0].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[0].glsl_uniforms[0].array_count = 13; + desc.uniform_blocks[0].glsl_uniforms[0].glsl_name = "view_params"; + desc.uniform_blocks[1].stage = .VERTEX; + desc.uniform_blocks[1].layout = .STD140; + desc.uniform_blocks[1].size = 16; + desc.uniform_blocks[1].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[1].glsl_uniforms[0].array_count = 1; + desc.uniform_blocks[1].glsl_uniforms[0].glsl_name = "water_vs_params"; + desc.uniform_blocks[2].stage = .FRAGMENT; + desc.uniform_blocks[2].layout = .STD140; + desc.uniform_blocks[2].size = 16; + desc.uniform_blocks[2].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[2].glsl_uniforms[0].array_count = 1; + desc.uniform_blocks[2].glsl_uniforms[0].glsl_name = "water_floor_params"; + case .GLES3; + desc.vertex_func.source = xx *vs_water_source_glsl300es; + desc.vertex_func.entry = "main"; + desc.fragment_func.source = xx *fs_water_floor_source_glsl300es; + desc.fragment_func.entry = "main"; + desc.uniform_blocks[0].stage = .VERTEX; + desc.uniform_blocks[0].layout = .STD140; + desc.uniform_blocks[0].size = 208; + desc.uniform_blocks[0].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[0].glsl_uniforms[0].array_count = 13; + desc.uniform_blocks[0].glsl_uniforms[0].glsl_name = "view_params"; + desc.uniform_blocks[1].stage = .VERTEX; + desc.uniform_blocks[1].layout = .STD140; + desc.uniform_blocks[1].size = 16; + desc.uniform_blocks[1].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[1].glsl_uniforms[0].array_count = 1; + desc.uniform_blocks[1].glsl_uniforms[0].glsl_name = "water_vs_params"; + desc.uniform_blocks[2].stage = .FRAGMENT; + desc.uniform_blocks[2].layout = .STD140; + desc.uniform_blocks[2].size = 16; + desc.uniform_blocks[2].glsl_uniforms[0].type = .FLOAT4; + desc.uniform_blocks[2].glsl_uniforms[0].array_count = 1; + desc.uniform_blocks[2].glsl_uniforms[0].glsl_name = "water_floor_params"; + case .METAL_MACOS; + desc.vertex_func.source = xx *vs_water_source_metal_macos; + desc.vertex_func.entry = "main0"; + desc.fragment_func.source = xx *fs_water_floor_source_metal_macos; + desc.fragment_func.entry = "main0"; + desc.uniform_blocks[0].stage = .VERTEX; + desc.uniform_blocks[0].layout = .STD140; + desc.uniform_blocks[0].size = 208; + desc.uniform_blocks[0].msl_buffer_n = 0; + desc.uniform_blocks[1].stage = .VERTEX; + desc.uniform_blocks[1].layout = .STD140; + desc.uniform_blocks[1].size = 16; + desc.uniform_blocks[1].msl_buffer_n = 1; + desc.uniform_blocks[2].stage = .FRAGMENT; + desc.uniform_blocks[2].layout = .STD140; + desc.uniform_blocks[2].size = 16; + desc.uniform_blocks[2].msl_buffer_n = 0; } return desc; } diff --git a/src/renderer_sokol/shaders/line.glsl b/src/renderer_sokol/shaders/line.glsl new file mode 100644 index 0000000..75f25d0 --- /dev/null +++ b/src/renderer_sokol/shaders/line.glsl @@ -0,0 +1,41 @@ +@vs vs_line +@include_block view +@include_block quad + +layout(binding=1) uniform line_params { + vec2 viewport; // in pixels +}; + +in vec3 a; +in vec3 b; +in vec4 color; +in float width; // in pixels + +out vec4 v_color; + +// A quad from a to b, widened across the line in screen space. +void main() { + vec2 c = quad_corner(gl_VertexIndex); // x: a to b, y: side + vec4 clip_a = view_proj * vec4(a, 1.0); + vec4 clip_b = view_proj * vec4(b, 1.0); + vec2 screen_a = clip_a.xy / max(clip_a.w, 0.0001) * viewport; + vec2 screen_b = clip_b.xy / max(clip_b.w, 0.0001) * viewport; + vec2 dir = screen_b - screen_a; + dir = dot(dir, dir) > 0.0001 ? normalize(dir) : vec2(1.0, 0.0); + + vec4 p = mix(clip_a, clip_b, c.x); + p.xy += vec2(-dir.y, dir.x) * (c.y - 0.5) * width / viewport * p.w; + gl_Position = p; + v_color = color; +} +@end + +@fs fs_line +@include_block transparent_out +in vec4 v_color; +void main() { + write_transparent(v_color, 0.0); +} +@end + +@program line vs_line fs_line diff --git a/src/renderer_sokol/shaders/post.glsl b/src/renderer_sokol/shaders/post.glsl new file mode 100644 index 0000000..e3ba8c9 --- /dev/null +++ b/src/renderer_sokol/shaders/post.glsl @@ -0,0 +1,90 @@ +// Texture coordinates come from the pixel position, which lines up with +// render-target textures the same way on every backend. + +@vs vs_fullscreen +@include_block fullscreen +void main() { + gl_Position = vec4(fullscreen_position(gl_VertexIndex), 0.0, 1.0); +} +@end + +// The first level: colour times glow, averaged over each 2x2 block of view pixels. +@fs fs_bloom_glow +layout(binding=0) uniform texture2D bloom_source; +layout(binding=1) uniform texture2D bloom_glow; +layout(binding=0) uniform sampler bloom_smp; +out vec4 frag_color; + +vec3 glowing(ivec2 p) { + return texelFetch(sampler2D(bloom_source, bloom_smp), p, 0).rgb * texelFetch(sampler2D(bloom_glow, bloom_smp), p, 0).r; +} + +void main() { + ivec2 p = ivec2(gl_FragCoord.xy) * 2; + vec3 c = (glowing(p) + glowing(p + ivec2(1, 0)) + glowing(p + ivec2(0, 1)) + glowing(p + ivec2(1, 1))) * 0.25; + frag_color = vec4(c, 1.0); +} +@end + +@fs fs_bloom_down +layout(binding=0) uniform texture2D bloom_source; +layout(binding=0) uniform sampler bloom_smp; +out vec4 frag_color; + +vec3 tap(vec2 uv) { return texture(sampler2D(bloom_source, bloom_smp), uv).rgb; } + +void main() { + vec2 texel = 1.0 / vec2(textureSize(sampler2D(bloom_source, bloom_smp), 0)); + vec2 uv = gl_FragCoord.xy * 2.0 * texel; + vec3 c = (tap(uv + texel * vec2(-1, -1)) + tap(uv + texel * vec2(1, -1)) + + tap(uv + texel * vec2(-1, 1)) + tap(uv + texel * vec2(1, 1))) * 0.25; + frag_color = vec4(c, 1.0); +} +@end + +@fs fs_bloom_up +layout(binding=0) uniform texture2D bloom_source; +layout(binding=0) uniform sampler bloom_smp; +out vec4 frag_color; + +vec3 tap(vec2 uv) { return texture(sampler2D(bloom_source, bloom_smp), uv).rgb; } + +// A 3x3 tent over the smaller level, added onto the larger one. +void main() { + vec2 texel = 1.0 / vec2(textureSize(sampler2D(bloom_source, bloom_smp), 0)); + vec2 uv = gl_FragCoord.xy * 0.5 * texel; + vec3 c = tap(uv) * 4.0 + + (tap(uv + texel * vec2(-1, 0)) + tap(uv + texel * vec2(1, 0)) + tap(uv + texel * vec2(0, -1)) + tap(uv + texel * vec2(0, 1))) * 2.0 + + (tap(uv + texel * vec2(-1, -1)) + tap(uv + texel * vec2(1, -1)) + tap(uv + texel * vec2(-1, 1)) + tap(uv + texel * vec2(1, 1))); + frag_color = vec4(c / 16.0, 1.0); +} +@end + +@fs fs_post +layout(binding=0) uniform post_params { + float exposure; // in stops + float contrast; + float saturation; + float bloom_amount; +}; +layout(binding=0) uniform texture2D view_color; +layout(binding=1) uniform texture2D bloom; +layout(binding=0) uniform sampler view_smp; +layout(binding=1) uniform sampler bloom_view_smp; +out vec4 frag_color; + +void main() { + vec2 uv = gl_FragCoord.xy / vec2(textureSize(sampler2D(view_color, view_smp), 0)); + vec3 c = texture(sampler2D(view_color, view_smp), uv).rgb; + c += texture(sampler2D(bloom, bloom_view_smp), uv).rgb * bloom_amount; + c *= exp2(exposure); + c = (c - 0.5) * contrast + 0.5; + c = mix(vec3(dot(c, vec3(0.2126, 0.7152, 0.0722))), c, saturation); + frag_color = vec4(clamp(c, 0.0, 1.0), 1.0); +} +@end + +@program bloom_glow vs_fullscreen fs_bloom_glow +@program bloom_down vs_fullscreen fs_bloom_down +@program bloom_up vs_fullscreen fs_bloom_up +@program post vs_fullscreen fs_post diff --git a/src/renderer_sokol/shaders/shaders.glsl b/src/renderer_sokol/shaders/shaders.glsl index c0e1aff..2dad70e 100644 --- a/src/renderer_sokol/shaders/shaders.glsl +++ b/src/renderer_sokol/shaders/shaders.glsl @@ -1,6 +1,8 @@ @include common.glsl @include ui.glsl -@include composite.glsl +@include post.glsl @include trile.glsl @include water.glsl -@include billboard.glsl +@include sprite.glsl +@include sky.glsl +@include line.glsl diff --git a/src/renderer_sokol/shaders/sky.glsl b/src/renderer_sokol/shaders/sky.glsl new file mode 100644 index 0000000..31de7f3 --- /dev/null +++ b/src/renderer_sokol/shaders/sky.glsl @@ -0,0 +1,53 @@ +@vs vs_sky +@include_block view +@include_block fullscreen + +out vec4 v_point; +out vec3 v_camera; + +void main() { + vec2 p = fullscreen_position(gl_VertexIndex); + gl_Position = vec4(p, 0.0, 1.0); + v_point = inv_view_proj * vec4(p, 0.5, 1.0); + v_camera = camera.xyz; +} +@end + +@fs fs_sky +@include_block scene_out +in vec4 v_point; +in vec3 v_camera; + +layout(binding=1) uniform sky_params { + vec4 sky_base; + vec4 sky_top; + vec4 sun_disk; + vec4 sun_halo; + vec4 horizon_halo; + vec4 sun; // xyz = direction, w = sky intensity +}; + +void main() { + vec3 dir = normalize(v_point.xyz / v_point.w - v_camera); + vec3 color = mix(sky_base.rgb, sky_top.rgb, clamp(dir.y * 2.0, 0.0, 0.7)); + + // The sun and its halo are squares in the sun's own frame. + vec3 sun_dir = sun.xyz; + vec3 sun_right = normalize(cross(sun_dir, vec3(0.0, 1.0, 0.0))); + vec3 sun_up = cross(sun_right, sun_dir); + vec3 off = dir - sun_dir * dot(dir, sun_dir); + float square = max(abs(dot(off, sun_right)), abs(dot(off, sun_up))); + + float halo = clamp((0.25 - square) * 6.0, 0.0, 1.0); + color += sun_halo.rgb * halo * halo; + bool disk = square < 0.032 && dot(dir, sun_dir) > 0.0; + if (disk) color = sun_disk.rgb * 3.0; + color += horizon_halo.rgb * (1.0 - clamp(abs(dir.y) * 20.0, 0.0, 1.0)) * 0.8; + + frag_color = vec4(color * sun.w, 1.0); + frag_glow = vec4(disk ? 1.0 : 0.0); + frag_scene = vec4(1.0e4); +} +@end + +@program sky vs_sky fs_sky diff --git a/src/renderer_sokol/shaders/sprite.glsl b/src/renderer_sokol/shaders/sprite.glsl new file mode 100644 index 0000000..272a71b --- /dev/null +++ b/src/renderer_sokol/shaders/sprite.glsl @@ -0,0 +1,97 @@ +@vs vs_sprite +@include_block view +@include_block quad + +layout(binding=1) uniform sprite_params { + float lit; +}; + +in vec3 center; // bottom middle +in vec2 size; +in vec4 uv_rect; +in vec3 face; +in vec4 color; +in float glow; + +out float v_clip; +out vec3 v_to_camera; +out vec2 v_uv; +out vec4 v_color; +out vec3 v_sun; +out vec3 v_shade; +out vec3 v_anchor; +out float v_glow; + +void main() { + vec2 c = quad_corner(gl_VertexIndex); + vec3 look = face; + if (face.x < -10.0) look = vec3(center.x - camera.x, 0.0, center.z - camera.z); + if (dot(look.xz, look.xz) < 0.0001) look = vec3(0.0, 0.0, 1.0); + vec3 right = normalize(cross(vec3(0.0, 1.0, 0.0), look)); + + vec3 world = center + right * ((c.x - 0.5) * size.x) + vec3(0.0, c.y * size.y, 0.0); + gl_Position = view_proj * vec4(world, 1.0); + v_clip = dot(vec4(world, 1.0), clip); + v_to_camera = camera.xyz - world; + v_uv = vec2(uv_rect.x + c.x * uv_rect.z, uv_rect.y + (1.0 - c.y) * uv_rect.w); + v_color = color; + v_glow = glow; + v_sun = lit > 0.5 ? sun_color.rgb : vec3(1.0); + v_shade = lit > 0.5 ? shade_color.rgb : vec3(1.0); + // The whole sprite takes the shadow found inside its body, nudged toward the + // sun so it doesn't find its own shadow. + v_anchor = center + vec3(0.0, size.y * 0.5, 0.0) + sun_direction.xyz * 0.3; +} +@end + +@block sprite_fs +in float v_clip; +in vec3 v_to_camera; +in vec2 v_uv; +in vec4 v_color; +in vec3 v_sun; +in vec3 v_shade; +in vec3 v_anchor; +in float v_glow; + +layout(binding=0) uniform texture2D sprite; +layout(binding=0) uniform sampler sprite_smp; + +vec4 sprite_color() { + if (v_clip < 0.0) discard; + vec4 sampled = texture(sampler2D(sprite, sprite_smp), v_uv); + if (sampled.a < 0.01) discard; + return sampled * v_color; +} +@end + +@fs fs_sprite +@include_block scene_out +@include_block shadow +@include_block sprite_fs +void main() { + vec3 light = mix(v_shade, v_sun, sun_shadow(v_anchor, vec3(0.0, 1.0, 0.0))); + frag_color = sprite_color() * vec4(light, 1.0); + write_scene(v_to_camera, 0.0); +} +@end + +@fs fs_particle +@include_block sprite_fs +@include_block transparent_out +@include_block emissive +void main() { + write_transparent(sprite_color(), v_glow * EMISSIVE_GLOW); +} +@end + +@fs fs_sprite_shadow +@include_block sprite_fs +void main() { + sprite_color(); +} +@end + +@program sprite vs_sprite fs_sprite +@program particle vs_sprite fs_particle +@program sprite_shadow vs_sprite fs_sprite_shadow diff --git a/src/renderer_sokol/shaders/trile.glsl b/src/renderer_sokol/shaders/trile.glsl index a9eb103..b8d262a 100644 --- a/src/renderer_sokol/shaders/trile.glsl +++ b/src/renderer_sokol/shaders/trile.glsl @@ -3,51 +3,223 @@ layout(binding=1) uniform trile_params { vec4 orientations[72]; + float show_hidden; // shadow and reflection passes still draw cut triles }; in vec3 position; -in float swatch; -in float ao; +in vec4 data_n; // bytes / 255: x = swatch, y = ao (0..3), z = normal index in vec4 instance; // xyz = position, w = orientation in float tint; +in float cut; out float v_clip; +out vec3 v_to_camera; +out vec3 v_world; +out vec3 v_normal; out float v_swatch; +out float v_facing; out float v_ao; +out vec3 v_shade; +out vec3 v_sun; out float v_tint; +out float v_cut; void main() { + vec4 data = data_n * 255.0; int ori = int(instance.w + 0.5) * 3; - vec3 p = position - 0.5; - vec3 world = vec3(dot(orientations[ori].xyz, p), - dot(orientations[ori + 1].xyz, p), - dot(orientations[ori + 2].xyz, p)) + 0.5 + instance.xyz; + mat3 rotation = transpose(mat3(orientations[ori].xyz, orientations[ori + 1].xyz, orientations[ori + 2].xyz)); + vec3 world = rotation * (position - 0.5) + 0.5 + instance.xyz; + + int n = int(data.z + 0.5); + vec3 normal = vec3(0.0); + normal[n / 2] = (n % 2 == 0) ? 1.0 : -1.0; + v_normal = rotation * normal; + v_facing = smoothstep(0.0, 0.3, dot(v_normal, sun_direction.xyz)); + v_ao = data.y / 3.0; + v_shade = shade_color.rgb; + v_sun = sun_color.rgb; + gl_Position = view_proj * vec4(world, 1.0); + v_cut = show_hidden > 0.5 ? 0.0 : cut; + // Fully cut triles are collapsed outside the clip volume, so nothing is drawn. + if (v_cut > 0.999) gl_Position = vec4(0.0, 0.0, 2.0, 1.0); + v_to_camera = camera.xyz - world; + v_world = world; v_clip = dot(vec4(world, 1.0), clip); - v_swatch = swatch; - v_ao = ao; + v_swatch = data.x; v_tint = tint; } @end -@fs fs_trile +@block trile_in in float v_clip; +in vec3 v_to_camera; +in vec3 v_world; +in vec3 v_normal; in float v_swatch; +in float v_facing; in float v_ao; +in vec3 v_shade; +in vec3 v_sun; in float v_tint; -out vec4 frag_color; +in float v_cut; +@end +@block palette layout(binding=0) uniform texture2D palette; layout(binding=0) uniform sampler palette_smp; +@end + +@fs fs_trile +@include_block scene_out +@include_block emissive +@include_block shadow +@include_block trile_in +@include_block palette + +layout(binding=2) uniform trile_fs_params { + vec4 sun_dir; // towards the sun + vec4 probe_min; // xyz = first chunk in probe_index, w = 1 when there are probes + vec4 probe_size; // xyz = probe_index size in chunks + float use_reflection; // the reflection pass can't read its own image + float reflection_height; +}; +layout(binding=1) uniform texture2D trile_reflection; +layout(binding=2) uniform texture2D trile_reflection_glow; +layout(binding=1) uniform sampler trile_reflection_smp; +layout(binding=3) uniform texture3D probe_index; // per chunk: brick number + 1 in r + g * 256, 0 = none +layout(binding=4) uniform texture3D probe_atlas; // per brick 32^3 probes, 3 texels each: red, green, blue +layout(binding=2) uniform sampler probe_smp; + +const float GLOSS_GLOW = 4.0; // how much a full gloss highlight blooms +const float REFLECTED_GLOW_CURVE = 0.4; // below 1, reflected glow fades slower than reflected colour +const float GLASS_PROJECTION = 2.0; // how strongly coloured sunlight paints its colour on + +const int PROBE_BRICKS_PER_COLUMN = 16; + +// The probe at the centre of the trile at cell, unless there is none or it is inside geometry. +bool probe_at(ivec3 cell, out vec4 r, out vec4 g, out vec4 b) { + ivec3 chunk = ivec3(floor(vec3(cell) / 32.0)); + ivec3 slot = chunk - ivec3(probe_min.xyz); + if (any(lessThan(slot, ivec3(0))) || any(greaterThanEqual(slot, ivec3(probe_size.xyz)))) return false; + vec2 number = texelFetch(sampler3D(probe_index, probe_smp), slot, 0).rg * 255.0 + 0.5; + int brick = int(number.x) + int(number.y) * 256 - 1; + if (brick < 0) return false; + ivec3 local = cell - chunk * 32; + ivec3 texel = ivec3(local.x * 3, (brick % PROBE_BRICKS_PER_COLUMN) * 32 + local.y, (brick / PROBE_BRICKS_PER_COLUMN) * 32 + local.z); + r = texelFetch(sampler3D(probe_atlas, probe_smp), texel, 0); + g = texelFetch(sampler3D(probe_atlas, probe_smp), texel + ivec3(1, 0, 0), 0); + b = texelFetch(sampler3D(probe_atlas, probe_smp), texel + ivec3(2, 0, 0), 0); + return r.x >= 0.0; +} + +// Light from the eight probes around a point half a trile out from the surface, +// leaving out probes behind the surface or inside geometry. Like sun_shadow it is +// taken at the trixel face centre, so it steps per trixel. a = 0 when no probe counts. +vec4 probe_light(vec3 world, vec3 normal) { + vec3 half_trixel = normal * (0.5 / 16.0); + vec3 face = (floor((world - half_trixel) * 16.0) + 0.5) / 16.0 + half_trixel; + vec3 grid = face + normal * 0.5 - 0.5; + ivec3 base = ivec3(floor(grid)); + vec3 f = grid - vec3(base); + + vec4 sum_r = vec4(0.0), sum_g = vec4(0.0), sum_b = vec4(0.0); + float total = 0.0; + for (int i = 0; i < 8; i++) { + ivec3 offset = ivec3(i & 1, (i >> 1) & 1, i >> 2); + ivec3 cell = base + offset; + if (dot(vec3(cell) + 0.5 - face, normal) < 0.01) continue; + vec4 r, g, b; + if (!probe_at(cell, r, g, b)) continue; + vec3 t = mix(1.0 - f, f, vec3(offset)); + float w = max(t.x * t.y * t.z, 0.0001); + sum_r += r * w; + sum_g += g * w; + sum_b += b * w; + total += w; + } + if (total == 0.0) return vec4(0.0); + // Irradiance over pi from the SH: the cosine lobe convolved, both bands. + vec4 lobe = vec4(0.282095, 0.325735 * normal.y, 0.325735 * normal.z, 0.325735 * normal.x); + return vec4(max(vec3(dot(sum_r, lobe), dot(sum_g, lobe), dot(sum_b, lobe)) / total, 0.0), 1.0); +} + +// Ordered dither, so dissolving triles fade without blending. +float dither(vec2 pixel) { + const float bayer[16] = float[16](0.0, 8.0, 2.0, 10.0, 12.0, 4.0, 14.0, 6.0, 3.0, 11.0, 1.0, 9.0, 15.0, 7.0, 13.0, 5.0); + ivec2 p = ivec2(pixel) % 4; + return (bayer[p.y * 4 + p.x] + 0.5) / 16.0; +} void main() { - if (v_clip < 0.0) discard; - vec3 albedo = texelFetch(sampler2D(palette, palette_smp), ivec2(int(v_swatch + 0.5), 0), 0).rgb; - albedo *= mix(0.4, 1.0, v_ao); + if (v_clip < 0.0 || v_cut > dither(gl_FragCoord.xy)) discard; + int id = int(v_swatch + 0.5); + vec4 swatch = texelFetch(sampler2D(palette, palette_smp), ivec2(id, 0), 0); + vec4 material = texelFetch(sampler2D(palette, palette_smp), ivec2(id, 1), 0); // g = reflectivity, b = gloss + vec3 albedo = swatch.rgb; if (v_tint > 1.5) albedo = mix(albedo, vec3(1.0, 0.2, 0.2), 0.5); else if (v_tint > 0.5) albedo = mix(albedo, vec3(0.2, 1.0, 0.2), 0.5); - frag_color = vec4(albedo, 1.0); + vec3 sun = v_facing * sun_shadow(v_world, v_normal); + vec3 lit = sun * mix(0.25, 1.0, v_ao); + vec4 probe = probe_min.w > 0.5 ? probe_light(v_world, v_normal) : vec4(0.0); + vec3 shade = v_shade + probe.rgb; + vec3 light = mix(shade * mix(0.6, 1.0, v_ao), v_sun, lit); + vec3 color = albedo * light; + + // Light through glass paints the glass colour onto what it hits, so the pattern + // shows on dark surfaces too, not only where the albedo can reflect it. + float bright = brightest(sun); + if (bright > 0.001) { + float tinted = (bright - min(sun.r, min(sun.g, sun.b))) / bright; + color = mix(color, sun * v_sun, min(1.0, tinted * GLASS_PROJECTION)); + } + float glow = swatch.a * EMISSIVE_GLOW; + + // Glossier is both stronger and sharper. + if (material.b > 0.0) { + vec3 halfway = normalize(normalize(v_to_camera) + sun_dir.xyz); + float highlight = pow(max(dot(v_normal, halfway), 0.0), mix(4.0, 96.0, material.b)) * material.b; + color += v_sun * sun * highlight; + glow += highlight * brightest(sun) * GLOSS_GLOW; + } + // Only floors lying on the reflection plane can show the planar reflection. + if (use_reflection > 0.5 && material.g > 0.0 && v_normal.y > 0.5 && abs(v_world.y - reflection_height) < 0.02) { + vec2 screen = gl_FragCoord.xy / vec2(textureSize(sampler2D(trile_reflection, trile_reflection_smp), 0)); + vec2 uv = vec2(screen.x, 1.0 - screen.y); + color = mix(color, texture(sampler2D(trile_reflection, trile_reflection_smp), uv).rgb, material.g); + glow = max(glow, texture(sampler2D(trile_reflection_glow, trile_reflection_smp), uv).r * pow(material.g, REFLECTED_GLOW_CURVE)); + } + + // Emissive swatches show their own colour whatever the lighting. + frag_color = vec4(mix(color, albedo, swatch.a), 1.0); + write_scene(v_to_camera, glow); +} +@end + +@fs fs_trile_shadow +@include_block trile_in +@include_block palette +void main() { + // Glass lets the sun through. + if (texelFetch(sampler2D(palette, palette_smp), ivec2(int(v_swatch + 0.5), 1), 0).r > 0.5) discard; +} +@end + +// Drawn after the opaque casters and multiplied into the shadow tint, so light +// through several panes takes all their colours. +@fs fs_trile_glass_shadow +@include_block trile_in +@include_block palette +out vec4 frag_color; +void main() { + int id = int(v_swatch + 0.5); + if (texelFetch(sampler2D(palette, palette_smp), ivec2(id, 1), 0).r < 0.5) discard; + vec3 c = texelFetch(sampler2D(palette, palette_smp), ivec2(id, 0), 0).rgb; + // Tinted rather than darkened: the glass's brightest channel passes fully. + frag_color = vec4(c / max(max(c.r, max(c.g, c.b)), 0.001), 1.0); } @end @program trile vs_trile fs_trile +@program trile_shadow vs_trile fs_trile_shadow +@program trile_glass_shadow vs_trile fs_trile_glass_shadow diff --git a/src/renderer_sokol/shaders/water.glsl b/src/renderer_sokol/shaders/water.glsl index f385e5c..1cd19dc 100644 --- a/src/renderer_sokol/shaders/water.glsl +++ b/src/renderer_sokol/shaders/water.glsl @@ -8,57 +8,80 @@ layout(binding=1) uniform water_vs_params { }; out vec3 v_to_camera; -out vec4 v_normal_uv; +out vec3 v_world; +out vec2 v_xz; void main() { - vec2 xz = camera.xz + (quad_corner(gl_VertexIndex) * 2.0 - 1.0) * half_size; - vec3 world = vec3(xz.x, height, xz.y); + v_xz = camera.xz + (quad_corner(gl_VertexIndex) * 2.0 - 1.0) * half_size; + vec3 world = vec3(v_xz.x, height, v_xz.y); gl_Position = view_proj * vec4(world, 1.0); - - vec2 flow = camera.w * vec2(-0.005, -0.012); - v_normal_uv = vec4(xz * 0.4 + flow * 1.5, xz * 0.1 + flow * 1.7); v_to_camera = camera.xyz - world; + v_world = world; +} +@end + +@fs fs_water_floor +@include_block scene_out +in vec3 v_to_camera; +in vec3 v_world; +in vec2 v_xz; + +layout(binding=2) uniform water_floor_params { + vec3 floor_color; +}; + +void main() { + frag_color = vec4(floor_color, 1.0); + write_scene(v_to_camera, 0.0); } @end @fs fs_water +@include_block shadow +@include_block transparent_out in vec3 v_to_camera; -in vec4 v_normal_uv; -out vec4 frag_color; +in vec3 v_world; +in vec2 v_xz; layout(binding=2) uniform water_fs_params { - vec3 color; - float surface; + vec3 water_color; + vec3 sun_direction; float shininess; + vec3 sun_color; float time; float reflectivity; float distortion; }; layout(binding=0) uniform texture2D reflection; layout(binding=1) uniform texture2D normals; +layout(binding=2) uniform texture2D reflection_glow; layout(binding=0) uniform sampler reflection_smp; layout(binding=1) uniform sampler normals_smp; void main() { - if (surface < 0.5) { - frag_color = vec4(color, 1.0); - return; - } - - vec3 n1 = texture(sampler2D(normals, normals_smp), v_normal_uv.xy).xzy * 2.0 - 1.0; - vec3 n2 = texture(sampler2D(normals, normals_smp), v_normal_uv.zw).xzy * 2.0 - 1.0; + vec2 flow = time * vec2(-0.005, -0.012); + vec3 n1 = texture(sampler2D(normals, normals_smp), v_xz * 0.4 + flow * 1.5).xzy * 2.0 - 1.0; + vec3 n2 = texture(sampler2D(normals, normals_smp), v_xz * 0.1 + flow * 1.7).xzy * 2.0 - 1.0; vec3 normal = normalize(n1 + n2); + vec3 view_dir = normalize(v_to_camera); - float facing = max(dot(normalize(v_to_camera), normal), 0.0); + float facing = max(dot(view_dir, normal), 0.0); float fresnel = min(1.0, 0.02 + 0.98 * pow(1.0 - facing, 5.0) + 0.45); - vec2 uv = gl_FragCoord.xy / vec2(textureSize(sampler2D(reflection, reflection_smp), 0)); - uv.y = 1.0 - uv.y; - vec3 reflected = texture(sampler2D(reflection, reflection_smp), uv + normal.xz * distortion).rgb; + vec2 screen = gl_FragCoord.xy / vec2(textureSize(sampler2D(reflection, reflection_smp), 0)); + vec2 reflect_uv = vec2(screen.x, 1.0 - screen.y) + normal.xz * distortion; + vec3 reflected = texture(sampler2D(reflection, reflection_smp), reflect_uv).rgb; - vec3 surface_color = mix(color, reflected, mix(fresnel, 1.0, reflectivity)); + float reflect_amount = mix(fresnel, 1.0, reflectivity); + vec3 color = mix(water_color, reflected, reflect_amount); float alpha = mix(mix(0.3, 0.5, fresnel), 1.0, reflectivity); - frag_color = vec4(surface_color, alpha); + + vec3 halfway = normalize(view_dir + sun_direction); + vec3 sun = sun_shadow(v_world, vec3(0.0, 1.0, 0.0)); + float glint = smoothstep(0.5, 0.55, pow(max(dot(normal, halfway), 0.0), shininess)) * brightest(sun); + float reflected_glow = texture(sampler2D(reflection_glow, reflection_smp), reflect_uv).r * reflect_amount; + write_transparent(vec4(mix(color, sun_color, glint), max(alpha, glint)), max(glint, reflected_glow)); } @end +@program water_floor vs_water fs_water_floor @program water vs_water fs_water diff --git a/src/renderer_sokol/sky.jai b/src/renderer_sokol/sky.jai new file mode 100644 index 0000000..0acaa09 --- /dev/null +++ b/src/renderer_sokol/sky.jai @@ -0,0 +1,29 @@ +sky_init :: () { + desc := pipeline_desc(sky_shader_desc(sg_query_backend()), .VIEW_OPAQUE); + desc.depth.compare = .ALWAYS; + sky.pipeline = sg_make_pipeline(*desc); +} + +sky_draw :: (pass: *Pass) { + env := view_environment(pass.view); + if !env.sky return; + params := Sky_Params.{ + sky_base = .[env.sky_base.x, env.sky_base.y, env.sky_base.z, 0], + sky_top = .[env.sky_top.x, env.sky_top.y, env.sky_top.z, 0], + sun_disk = .[env.sun_disk.x, env.sun_disk.y, env.sun_disk.z, 0], + sun_halo = .[env.sun_halo.x, env.sun_halo.y, env.sun_halo.z, 0], + horizon_halo = .[env.horizon_halo.x, env.horizon_halo.y, env.horizon_halo.z, 0], + sun = .[env.sun_direction.x, env.sun_direction.y, env.sun_direction.z, env.sky_intensity], + }; + + sg_apply_pipeline(sky.pipeline); + apply_uniforms(UB_view_params, *pass.params); + apply_uniforms(UB_sky_params, *params); + sg_draw(0, 3, 1); +} + +#scope_file + +sky : struct { + pipeline : sg_pipeline; +} diff --git a/src/renderer_sokol/sprites.jai b/src/renderer_sokol/sprites.jai new file mode 100644 index 0000000..94fd85f --- /dev/null +++ b/src/renderer_sokol/sprites.jai @@ -0,0 +1,101 @@ +sprites_init :: () { + // Billboards and particles share the vertex shader, so they share attribute slots. + make :: (shader: sg_shader_desc, target: Pipeline_Target, blend := sg_blend_state.{}) -> sg_pipeline { + desc := pipeline_desc(shader, target, blend, depth_write = target != .VIEW_TRANSPARENT); + desc.layout.buffers[0].step_func = .PER_INSTANCE; + desc.layout.attrs[ATTR_sprite_center] = .{ format = .FLOAT3 }; + desc.layout.attrs[ATTR_sprite_size] = .{ format = .FLOAT2 }; + desc.layout.attrs[ATTR_sprite_uv_rect] = .{ format = .FLOAT4 }; + desc.layout.attrs[ATTR_sprite_face] = .{ format = .FLOAT3 }; + desc.layout.attrs[ATTR_sprite_color] = .{ format = .FLOAT4 }; + desc.layout.attrs[ATTR_sprite_glow] = .{ format = .FLOAT }; + return sg_make_pipeline(*desc); + } + backend := sg_query_backend(); + sprites.pipelines[Kind.BILLBOARD] = make(sprite_shader_desc(backend), .VIEW_OPAQUE); + sprites.pipelines[Kind.PARTICLE_ALPHA] = make(particle_shader_desc(backend), .VIEW_TRANSPARENT, ALPHA_BLEND); + sprites.pipelines[Kind.PARTICLE_ADDITIVE] = make(particle_shader_desc(backend), .VIEW_TRANSPARENT, ADDITIVE_BLEND); + sprites.shadow_pipeline = make(sprite_shadow_shader_desc(backend), .SHADOW); +} + +sprites_upload :: (scene: *Scene) { + array_reset_keeping_memory(*sprites.instances); + array_reset_keeping_memory(*sprites.batches); + + draws : [..]Keyed(Instance); + draws.allocator = temp; + for view_index: 0..scene.views.count-1 { + array_reset_keeping_memory(*draws); + for scene.billboards { + if it.view.index != view_index continue; + array_add(*draws, .{key(.BILLBOARD, it.sheet), .{it.position, it.size, it.uv_rect, it.face, .{1, 1, 1, 1}, 0}}); + } + for batch: scene.particles { + if batch.view.index != view_index continue; + kind := ifx batch.blend == .ADDITIVE then Kind.PARTICLE_ADDITIVE else .PARTICLE_ALPHA; + for batch.particles { + array_add(*draws, .{key(kind, batch.sheet), .{it.position, .{it.size, it.size}, it.uv_rect, BILLBOARD_FACE_CAMERA, it.color, it.glow}}); + } + } + batch_instances(view_index, draws, *sprites.batches, *sprites.instances); + } + stream_upload(*sprites.stream, sprites.instances); +} + +// Opaque sprites go before water, transparent ones after it. Only billboards cast shadows. +sprites_draw :: (pass: *Pass, transparent: bool) { + shadow := pass.kind == .SHADOW; + current : Kind = xx -1; + for sprites.batches { + if it.view_index != pass.view_index continue; + kind := cast(Kind) (it.key >> 32); + if (kind != .BILLBOARD) != transparent continue; + + if kind != current { + current = kind; + sg_apply_pipeline(ifx shadow then sprites.shadow_pipeline else sprites.pipelines[kind]); + apply_uniforms(UB_view_params, *pass.params); + params := Sprite_Params.{ lit = xx (kind == .BILLBOARD) }; + apply_uniforms(UB_sprite_params, *params); + if kind == .BILLBOARD && !shadow apply_uniforms(UB_shadow_params, *pass.shadow); + } + + bind : sg_bindings; + bind.vertex_buffers[0] = sprites.stream.buffer; + bind.vertex_buffer_offsets[0] = it.first * size_of(Instance); + bind.images[IMG_sprite] = texture_image(xx (it.key & 0xFFFF_FFFF)); + bind.samplers[SMP_sprite_smp] = samplers.nearest_clamp; + if kind == .BILLBOARD && !shadow bind_shadow(pass, *bind); + sg_apply_bindings(*bind); + sg_draw(0, 6, it.count); + } +} + +#scope_file + +Kind :: enum { + BILLBOARD; + PARTICLE_ALPHA; + PARTICLE_ADDITIVE; +} + +Instance :: struct { + center : Vector3; + size : Vector2; + uv_rect : Vector4; + face : Vector3; + color : Vector4; + glow : float; +} + +sprites : struct { + pipelines : [#run enum_highest_value(Kind) + 1]sg_pipeline; + shadow_pipeline : sg_pipeline; + instances : [..]Instance; + batches : [..]Batch; + stream : Stream_Buffer; +} + +key :: (kind: Kind, sheet: Texture) -> s64 { + return (cast(s64) kind << 32) | sheet.id; +} diff --git a/src/renderer_sokol/triles.jai b/src/renderer_sokol/triles.jai index 7867b74..5d799b9 100644 --- a/src/renderer_sokol/triles.jai +++ b/src/renderer_sokol/triles.jai @@ -1,16 +1,32 @@ triles_init :: (orientations: [ORIENTATION_COUNT]Matrix3) { - desc := pipeline_desc(trile_shader_desc(sg_query_backend()), .VIEW, depth_write = true); + desc := pipeline_desc(trile_shader_desc(sg_query_backend()), .VIEW_OPAQUE, depth_write = true); desc.layout.buffers[1].step_func = .PER_INSTANCE; desc.layout.attrs[ATTR_trile_position] = .{ format = .FLOAT3 }; - desc.layout.attrs[ATTR_trile_swatch] = .{ format = .FLOAT }; - desc.layout.attrs[ATTR_trile_ao] = .{ format = .FLOAT }; + desc.layout.attrs[ATTR_trile_data_n] = .{ format = .UBYTE4N }; desc.layout.attrs[ATTR_trile_instance] = .{ format = .FLOAT4, buffer_index = 1 }; desc.layout.attrs[ATTR_trile_tint] = .{ format = .FLOAT, buffer_index = 1 }; + desc.layout.attrs[ATTR_trile_cut] = .{ format = .FLOAT, buffer_index = 1 }; desc.index_type = .UINT16; desc.cull_mode = .BACK; desc.face_winding = .CCW; triles.pipeline = sg_make_pipeline(*desc); + // Back faces only, so lit faces don't shadow themselves. + shadow_desc := pipeline_desc(trile_shadow_shader_desc(sg_query_backend()), .SHADOW, depth_write = true); + shadow_desc.layout = desc.layout; + shadow_desc.index_type = .UINT16; + shadow_desc.cull_mode = .FRONT; + shadow_desc.face_winding = .CCW; + triles.shadow_pipeline = sg_make_pipeline(*shadow_desc); + + glass_desc := pipeline_desc(trile_glass_shadow_shader_desc(sg_query_backend()), .SHADOW, MULTIPLY_BLEND); + glass_desc.colors[0].write_mask = .RGB; + glass_desc.layout = desc.layout; + glass_desc.index_type = .UINT16; + glass_desc.cull_mode = .FRONT; + glass_desc.face_winding = .CCW; + triles.glass_shadow_pipeline = sg_make_pipeline(*glass_desc); + for orientations { for r: 0..2 for c: 0..2 triles.params.orientations[it_index * 3 + r][c] = it.coef[r][c]; } @@ -34,9 +50,12 @@ renderer_trile_mesh_destroy :: (id: u32) { slot_remove(*triles.meshes, id); } -renderer_swatch_set :: (id: u8, color: [3]u8, roughness: u8, metallic: u8, emittance: u8) { - for 0..2 triles.palette[id][it] = color[it]; - triles.palette[id][3] = 255; +renderer_swatch_set :: (id: u8, color: [3]u8, reflectivity: u8, gloss: u8, emittance: u8, glass: bool) { + for 0..2 triles.palette[0][id][it] = color[it]; + triles.palette[0][id][3] = xx (min(cast(int) emittance, 127) * 255 / 127); // emittance is 0..127 + triles.palette[1][id][0] = xx ifx glass then 255 else 0; + triles.palette[1][id][1] = reflectivity; + triles.palette[1][id][2] = gloss; triles.palette_dirty = true; } @@ -44,7 +63,7 @@ triles_upload :: (scene: *Scene) { if triles.palette_dirty { triles.palette_dirty = false; if triles.palette_image.id sg_destroy_image(triles.palette_image); - desc := sg_image_desc.{ width = 256, height = 1, pixel_format = .RGBA8 }; + desc := sg_image_desc.{ width = 256, height = 2, pixel_format = .RGBA8 }; desc.data.subimage[0][0] = .{ triles.palette.data, size_of(type_of(triles.palette)) }; triles.palette_image = sg_make_image(*desc); } @@ -59,26 +78,62 @@ triles_upload :: (scene: *Scene) { if view.draw_world { for chunk: scene.chunks for group: chunk.groups for group.instances { position := chunk.origin + Vector3.{xx it.x, xx it.y, xx it.z}; - array_add(*draws, .{group.mesh.id, .{position, xx it.orientation, 0}}); + cut := trile_cut(.{xx view_index}, group.mesh, position); + array_add(*draws, .{group.mesh.id, .{position, xx it.orientation, 0, cut}}); } } for scene.triles { if it.view.index != view_index continue; preview : s64 = ifx it.tint != .NONE then PREVIEW_KEY else 0; - array_add(*draws, .{preview | it.mesh.id, .{it.position, xx it.orientation, xx it.tint}}); + cut := ifx preview then 0.0 else trile_cut(it.view, it.mesh, it.position); + array_add(*draws, .{preview | it.mesh.id, .{it.position, xx it.orientation, xx it.tint, cut}}); } batch_instances(view_index, draws, *triles.batches, *triles.instances); } stream_upload(*triles.stream, triles.instances); } +// After every opaque caster, so glass behind something solid doesn't tint. +triles_draw_glass_shadow :: (pass: *Pass) { + sg_apply_pipeline(triles.glass_shadow_pipeline); + apply_uniforms(UB_view_params, *pass.params); + triles.params.show_hidden = 1; + apply_uniforms(UB_trile_params, *triles.params); + for triles.batches { + if it.view_index != pass.view_index || it.key & PREVIEW_KEY continue; + mesh := slot_get(*triles.meshes, xx it.key); + if !mesh || mesh.index_count == 0 continue; + bind : sg_bindings; + bind.vertex_buffers[0] = mesh.vertices; + bind.index_buffer = mesh.indices; + bind.vertex_buffers[1] = triles.stream.buffer; + bind.vertex_buffer_offsets[1] = it.first * size_of(Instance); + bind.images[IMG_palette] = triles.palette_image; + bind.samplers[SMP_palette_smp] = samplers.nearest_clamp; + sg_apply_bindings(*bind); + sg_draw(0, mesh.index_count, it.count); + } +} + triles_draw :: (pass: *Pass) { - sg_apply_pipeline(triles.pipeline); + // Cut triles are only hidden from the camera itself, not from shadows or reflections. + triles.params.show_hidden = xx (pass.kind != .MAIN); + sg_apply_pipeline(ifx pass.kind == .SHADOW then triles.shadow_pipeline else triles.pipeline); apply_uniforms(UB_view_params, *pass.params); apply_uniforms(UB_trile_params, *triles.params); + if pass.kind != .SHADOW { + apply_uniforms(UB_shadow_params, *pass.shadow); + fs_params := Trile_Fs_Params.{ + sun_dir = pass.params.sun_direction, + use_reflection = xx (pass.kind == .MAIN), + reflection_height = view_environment(pass.view).reflection_height, + }; + probes_set_params(*fs_params); + apply_uniforms(UB_trile_fs_params, *fs_params); + } for triles.batches { - if it.view_index != pass.view_index || (pass.reflection && it.key & PREVIEW_KEY) continue; + if it.view_index != pass.view_index || (pass.kind != .MAIN && it.key & PREVIEW_KEY) continue; mesh := slot_get(*triles.meshes, xx (it.key & ~PREVIEW_KEY)); if !mesh || mesh.index_count == 0 continue; @@ -89,6 +144,13 @@ triles_draw :: (pass: *Pass) { bind.vertex_buffer_offsets[1] = it.first * size_of(Instance); bind.images[IMG_palette] = triles.palette_image; bind.samplers[SMP_palette_smp] = samplers.nearest_clamp; + if pass.kind != .SHADOW { + bind_shadow(pass, *bind); + bind.images[IMG_trile_reflection] = ifx pass.kind == .MAIN then view_reflection_image(pass.view_index) else texture_image(0); + bind.images[IMG_trile_reflection_glow] = ifx pass.kind == .MAIN then view_reflection_glow_image(pass.view_index) else texture_image(0); + bind.samplers[SMP_trile_reflection_smp] = samplers.linear_clamp; + probes_bind(*bind); + } sg_apply_bindings(*bind); sg_draw(0, mesh.index_count, it.count); } @@ -106,16 +168,19 @@ Instance :: struct { position : Vector3; orientation : float; tint : float; + cut : float; // 0..1 dissolved away from the camera, still casts shadows } PREVIEW_KEY :: 1 << 32; triles : struct { - pipeline : sg_pipeline; - params : Trile_Params; + pipeline : sg_pipeline; + shadow_pipeline : sg_pipeline; + glass_shadow_pipeline : sg_pipeline; + params : Trile_Params; meshes : Slots(Mesh); - palette : [256][4]u8; + palette : [2][256][4]u8; // row 0: colour, emittance; row 1: glass, reflectivity, gloss palette_image : sg_image; palette_dirty : bool; diff --git a/src/renderer_sokol/ui.jai b/src/renderer_sokol/ui.jai index 6f6a4ec..eb23919 100644 --- a/src/renderer_sokol/ui.jai +++ b/src/renderer_sokol/ui.jai @@ -1,5 +1,5 @@ ui_init :: () { - desc := pipeline_desc(ui_shader_desc(sg_query_backend()), .SCREEN, blend = true); + desc := pipeline_desc(ui_shader_desc(sg_query_backend()), .SCREEN, blend = ALPHA_BLEND); desc.layout.attrs[ATTR_ui_position] = .{ format = .FLOAT2 }; desc.layout.attrs[ATTR_ui_uv] = .{ format = .FLOAT2 }; desc.layout.attrs[ATTR_ui_color0] = .{ format = .FLOAT4 }; diff --git a/src/renderer_sokol/views.jai b/src/renderer_sokol/views.jai index 38b45ce..4c1dcdb 100644 --- a/src/renderer_sokol/views.jai +++ b/src/renderer_sokol/views.jai @@ -1,40 +1,140 @@ +BLOOM_LEVELS :: 5; +BLOOM_SCATTER :: 0.7; + views_init :: () { - desc := pipeline_desc(composite_shader_desc(sg_query_backend()), .SCREEN); - views.composite = sg_make_pipeline(*desc); + backend := sg_query_backend(); + post_desc := pipeline_desc(post_shader_desc(backend), .SCREEN); + views.post = sg_make_pipeline(*post_desc); + glow_desc := pipeline_desc(bloom_glow_shader_desc(backend), .POST); + views.bloom_glow = sg_make_pipeline(*glow_desc); + down_desc := pipeline_desc(bloom_down_shader_desc(backend), .POST); + views.bloom_down = sg_make_pipeline(*down_desc); + // Each level becomes a blend toward the blurrier level below it, so the glow is + // mostly wide blur rather than a copy of the bright pixels. + up_desc := pipeline_desc(bloom_up_shader_desc(backend), .POST, sg_blend_state.{ enabled = true, src_factor_rgb = .BLEND_COLOR, dst_factor_rgb = .ONE_MINUS_BLEND_COLOR }); + up_desc.blend_color = .{ BLOOM_SCATTER, BLOOM_SCATTER, BLOOM_SCATTER, 1 }; + views.bloom_up = sg_make_pipeline(*up_desc); } -view_begin_pass :: (index: int, width: s32, height: s32, reflection: bool) { +view_begin_pass :: (index: int, width: s32, height: s32, kind: Pass_Kind, opaque: bool) { if width != views.width || height != views.height { for views.targets { destroy_target(it.main); destroy_target(it.reflection); + for level: it.bloom { + sg_destroy_attachments(level.attachments); + sg_destroy_image(level.image); + } } array_reset_keeping_memory(*views.targets); views.width = width; views.height = height; } - while views.targets.count <= index array_add(*views.targets, .{make_target(width, height), make_target(width, height)}); + while views.targets.count <= index { + targets := array_add(*views.targets); + targets.main = make_target(width, height); + targets.reflection = make_target(width, height); + w, h := width, height; + for *level: targets.bloom { + w, h = max(w / 2, 1), max(h / 2, 1); + level.image = sg_make_image(*(sg_image_desc.{ render_target = true, width = w, height = h, pixel_format = VIEW_COLOR_FORMAT, sample_count = 1 })); + desc : sg_attachments_desc; + desc.colors[0].image = level.image; + level.attachments = sg_make_attachments(*desc); + } + } targets := views.targets[index]; + target := ifx kind == .REFLECTION then targets.reflection else targets.main; action : sg_pass_action; - action.colors[0] = .{ load_action = .CLEAR, clear_value = .{0, 0, 0, 1} }; - action.depth = .{ load_action = .CLEAR, clear_value = 1 }; - target := ifx reflection then targets.reflection else targets.main; - sg_begin_pass(*(sg_pass.{ action = action, attachments = target.attachments })); + if opaque { + action.colors[0] = .{ load_action = .CLEAR, clear_value = .{0, 0, 0, 1} }; + action.colors[1] = .{ load_action = .CLEAR, clear_value = .{0, 0, 0, 0} }; + action.colors[2] = .{ load_action = .CLEAR, clear_value = .{1.0e4, 0, 0, 0} }; + action.depth = .{ load_action = .CLEAR, clear_value = 1 }; + sg_begin_pass(*(sg_pass.{ action = action, attachments = target.opaque })); + } else { + action.colors[0] = .{ load_action = .LOAD }; + action.colors[1] = .{ load_action = .LOAD }; + action.depth = .{ load_action = .LOAD }; + sg_begin_pass(*(sg_pass.{ action = action, attachments = target.transparent })); + } +} + +view_begin_shadow_pass :: (index: int) { + while views.shadows.count <= index { + shadow := array_add(*views.shadows); + shadow.tint = sg_make_image(*(sg_image_desc.{ render_target = true, width = SHADOW_MAP_SIZE, height = SHADOW_MAP_SIZE, pixel_format = SHADOW_TINT_FORMAT, sample_count = 1 })); + shadow.depth = sg_make_image(*(sg_image_desc.{ render_target = true, width = SHADOW_MAP_SIZE, height = SHADOW_MAP_SIZE, pixel_format = VIEW_DEPTH_FORMAT, sample_count = 1 })); + desc : sg_attachments_desc; + desc.colors[0].image = shadow.tint; + desc.depth_stencil.image = shadow.depth; + shadow.attachments = sg_make_attachments(*desc); + } + action : sg_pass_action; + action.depth = .{ load_action = .CLEAR, clear_value = 1 }; + action.colors[0] = .{ load_action = .CLEAR, clear_value = .{1, 1, 1, 1} }; + sg_begin_pass(*(sg_pass.{ action = action, attachments = views.shadows[index].attachments })); +} + +view_shadow_image :: (index: int) -> sg_image { + return views.shadows[index].depth; +} + +view_shadow_tint_image :: (index: int) -> sg_image { + return views.shadows[index].tint; +} + +view_scene_image :: (index: int) -> sg_image { + return views.targets[index].main.scene; } view_reflection_image :: (index: int) -> sg_image { return views.targets[index].reflection.color; } -view_composite :: (index: int) { - sg_apply_pipeline(views.composite); - params := Composite_Vs_Params.{ flip_y = ifx sg_query_features().origin_top_left then 1.0 else 0.0 }; - apply_uniforms(UB_composite_vs_params, *params); +view_reflection_glow_image :: (index: int) -> sg_image { + return views.targets[index].reflection.glow; +} + +// Halves the glowing parts of the view down a chain of levels, then adds the +// levels back up, leaving the glow in the first level. +view_bloom :: (index: int) { + targets := *views.targets[index]; + run :: (pipeline: sg_pipeline, source: sg_image, target: sg_attachments, load: bool) #expand { + action : sg_pass_action; + action.colors[0] = ifx load then sg_color_attachment_action.{ load_action = .LOAD } else .{ load_action = .DONTCARE }; + sg_begin_pass(*(sg_pass.{ action = action, attachments = target })); + sg_apply_pipeline(pipeline); + bind : sg_bindings; + bind.images[IMG_bloom_source] = source; + bind.samplers[SMP_bloom_smp] = samplers.linear_clamp; + if pipeline.id == views.bloom_glow.id bind.images[IMG_bloom_glow] = targets.main.glow; + sg_apply_bindings(*bind); + sg_draw(0, 3, 1); + sg_end_pass(); + } + + run(views.bloom_glow, targets.main.color, targets.bloom[0].attachments, false); + for 1..BLOOM_LEVELS-1 run(views.bloom_down, targets.bloom[it - 1].image, targets.bloom[it].attachments, false); + for < 1..BLOOM_LEVELS-1 run(views.bloom_up, targets.bloom[it].image, targets.bloom[it - 1].attachments, true); +} + +view_composite :: (index: int, env: Environment) { + sg_apply_pipeline(views.post); + params := Post_Params.{ + exposure = env.exposure, + contrast = env.contrast, + saturation = env.saturation, + bloom_amount = env.bloom_amount, + }; + apply_uniforms(UB_post_params, *params); bind : sg_bindings; bind.images[IMG_view_color] = views.targets[index].main.color; - bind.samplers[SMP_composite_smp] = samplers.nearest_clamp; + bind.images[IMG_bloom] = views.targets[index].bloom[0].image; + bind.samplers[SMP_view_smp] = samplers.nearest_clamp; + bind.samplers[SMP_bloom_view_smp] = samplers.linear_clamp; sg_apply_bindings(*bind); sg_draw(0, 3, 1); } @@ -43,13 +143,20 @@ view_composite :: (index: int) { View_Target :: struct { color : sg_image; + glow : sg_image; + scene : sg_image; depth : sg_image; - attachments : sg_attachments; + opaque : sg_attachments; + transparent : sg_attachments; } views : struct { - composite : sg_pipeline; - targets : [..]struct { main, reflection: View_Target; }; + post : sg_pipeline; + bloom_glow : sg_pipeline; + bloom_down : sg_pipeline; + bloom_up : sg_pipeline; + targets : [..]struct { main, reflection: View_Target; bloom: [BLOOM_LEVELS]struct { image: sg_image; attachments: sg_attachments; }; }; + shadows : [..]struct { depth, tint: sg_image; attachments: sg_attachments; }; width : s32; height : s32; } @@ -57,16 +164,24 @@ views : struct { make_target :: (width: s32, height: s32) -> View_Target { t : View_Target; t.color = sg_make_image(*(sg_image_desc.{ render_target = true, width = width, height = height, pixel_format = VIEW_COLOR_FORMAT, sample_count = 1 })); + t.glow = sg_make_image(*(sg_image_desc.{ render_target = true, width = width, height = height, pixel_format = VIEW_GLOW_FORMAT, sample_count = 1 })); + t.scene = sg_make_image(*(sg_image_desc.{ render_target = true, width = width, height = height, pixel_format = VIEW_SCENE_FORMAT, sample_count = 1 })); t.depth = sg_make_image(*(sg_image_desc.{ render_target = true, width = width, height = height, pixel_format = VIEW_DEPTH_FORMAT, sample_count = 1 })); desc : sg_attachments_desc; desc.colors[0].image = t.color; + desc.colors[1].image = t.glow; desc.depth_stencil.image = t.depth; - t.attachments = sg_make_attachments(*desc); + t.transparent = sg_make_attachments(*desc); + desc.colors[2].image = t.scene; + t.opaque = sg_make_attachments(*desc); return t; } destroy_target :: (t: View_Target) { - sg_destroy_attachments(t.attachments); + sg_destroy_attachments(t.opaque); + sg_destroy_attachments(t.transparent); sg_destroy_image(t.color); + sg_destroy_image(t.glow); + sg_destroy_image(t.scene); sg_destroy_image(t.depth); } diff --git a/src/renderer_sokol/water.jai b/src/renderer_sokol/water.jai index e58380d..75494d0 100644 --- a/src/renderer_sokol/water.jai +++ b/src/renderer_sokol/water.jai @@ -1,42 +1,62 @@ WATER_HALF_SIZE :: 1000.0; water_init :: () { - desc := pipeline_desc(water_shader_desc(sg_query_backend()), .VIEW, blend = true); - water.pipeline = sg_make_pipeline(*desc); + backend := sg_query_backend(); + floor_desc := pipeline_desc(water_floor_shader_desc(backend), .VIEW_OPAQUE, depth_write = true); + water.floor = sg_make_pipeline(*floor_desc); + surface_desc := pipeline_desc(water_shader_desc(backend), .VIEW_TRANSPARENT, ALPHA_BLEND); + water.surface = sg_make_pipeline(*surface_desc); +} + +// The deep plane is opaque, so the surface can measure how much water lies above it. +water_draw_floor :: (pass: *Pass) { + env := pass.view.environment; + if pass.kind != .MAIN || !pass.view.draw_world || !env || !env.water return; + + sg_apply_pipeline(water.floor); + apply_uniforms(UB_view_params, *pass.params); + vs := Water_Vs_Params.{ height = 0, half_size = WATER_HALF_SIZE }; + fs := Water_Floor_Params.{ floor_color = env.deep_color.component }; + apply_uniforms(UB_water_vs_params, *vs); + apply_uniforms(UB_water_floor_params, *fs); + sg_draw(0, 6, 1); } water_draw :: (pass: *Pass) { env := pass.view.environment; - if pass.reflection || !pass.view.draw_world || !env || !env.water return; + if pass.kind != .MAIN || !pass.view.draw_world || !env || !env.water return; - sg_apply_pipeline(water.pipeline); + sg_apply_pipeline(water.surface); apply_uniforms(UB_view_params, *pass.params); + apply_uniforms(UB_shadow_params, *pass.shadow); bind : sg_bindings; bind.images[IMG_reflection] = view_reflection_image(pass.view_index); bind.images[IMG_normals] = texture_image(env.water_normals.id); + bind.images[IMG_reflection_glow] = view_reflection_glow_image(pass.view_index); bind.samplers[SMP_reflection_smp] = samplers.linear_clamp; bind.samplers[SMP_normals_smp] = samplers.linear_repeat; + bind_shadow(pass, *bind); sg_apply_bindings(*bind); - draw_plane :: (height: float, color: Vector3, surface: bool) #expand { - vs := Water_Vs_Params.{ height = height, half_size = WATER_HALF_SIZE }; - fs := Water_Fs_Params.{ - color = color.component, - surface = xx surface, - reflectivity = env.water_reflectivity, - distortion = env.water_distortion, - }; - apply_uniforms(UB_water_vs_params, *vs); - apply_uniforms(UB_water_fs_params, *fs); - sg_draw(0, 6, 1); - } - draw_plane(0, env.deep_color, false); - draw_plane(env.reflection_height, env.water_color, true); + vs := Water_Vs_Params.{ height = env.reflection_height, half_size = WATER_HALF_SIZE }; + fs := Water_Fs_Params.{ + water_color = env.water_color.component, + sun_direction = env.sun_direction.component, + shininess = env.water_shininess, + sun_color = env.sun_color.component, + time = pass.scene.time, + reflectivity = env.water_reflectivity, + distortion = env.water_distortion, + }; + apply_uniforms(UB_water_vs_params, *vs); + apply_uniforms(UB_water_fs_params, *fs); + sg_draw(0, 6, 1); } #scope_file water : struct { - pipeline : sg_pipeline; + floor : sg_pipeline; + surface : sg_pipeline; } diff --git a/src/rendering/camera.jai b/src/rendering/camera.jai index 1e79433..8562828 100644 --- a/src/rendering/camera.jai +++ b/src/rendering/camera.jai @@ -41,3 +41,26 @@ create_lookat :: (camera: *Camera) -> Matrix4 { create_viewproj :: (camera: *Camera) -> Matrix4 { return create_lookat(camera) * create_perspective(camera); } + +// An orthographic box around focus, seen from the sun. Depth goes 0..1 away from +// the sun. The box moves in whole shadow texels so shadows don't shimmer. +create_sun_viewproj :: (focus: Vector3, sun_direction: Vector3, radius: float, depth: float, map_size: int) -> Matrix4 { + A := normalize(sun_direction); + up := ifx abs(A.y) > 0.99 then Vector3.{0, 0, 1} else Vector3.{0, 1, 0}; + B := normalize(cross(up, A)); + C := cross(A, B); + + texel := 2 * radius / map_size; + cx := floor(dot(B, focus) / texel) * texel; + cy := floor(dot(C, focus) / texel) * texel; + cz := dot(A, focus); + + // Rows of the transform; stored transposed like create_lookat. + m := Matrix4.{ + B.x / radius, B.y / radius, B.z / radius, -cx / radius, + C.x / radius, C.y / radius, C.z / radius, -cy / radius, + -A.x / (2 * depth), -A.y / (2 * depth), -A.z / (2 * depth), (cz + depth) / (2 * depth), + 0, 0, 0, 1, + }; + return transpose(m); +} diff --git a/src/rendering/rendering.jai b/src/rendering/rendering.jai index 08b7d6d..eae402d 100644 --- a/src/rendering/rendering.jai +++ b/src/rendering/rendering.jai @@ -16,6 +16,8 @@ render :: () { text_end_frame(); + draw_debug_lines(.{g_debug_line_count, g_debug_lines.data}, overlay = false); + draw_debug_lines(.{g_overlay_line_count, g_overlay_lines.data}, overlay = true); w, h := get_window_size(); scene_end_frame(w, h, xx get_time()); g_debug_line_count = 0; diff --git a/src/rendering/scene.jai b/src/rendering/scene.jai index e892093..25ff404 100644 --- a/src/rendering/scene.jai +++ b/src/rendering/scene.jai @@ -11,19 +11,55 @@ View_Id :: struct { index: s32; } Environment :: struct { reflection_height : float; water : bool; + sky : bool = true; // off: black outside the level water_color : Vector3 = .{1, 1, 1}; deep_color : Vector3 = .{1, 1, 1}; water_reflectivity : float; water_distortion : float = 0.007; + water_shininess : float = 64; water_normals : Texture; + sun_direction : Vector3 = #run normalize(Vector3.{0.2, 0.3, 0.4}); // towards the sun + sun_color : Vector3 = .{1, 1, 1}; + shade_color : Vector3 = .{0.45, 0.45, 0.75}; + sky_base : Vector3 = .{0.38, 0.81, 0.95}; + sky_top : Vector3 = .{0.17, 0.4, 0.95}; + sun_disk : Vector3 = .{1, 1, 1}; + sun_halo : Vector3 = .{1, 1, 1}; + horizon_halo : Vector3 = .{1, 1, 1}; + sky_intensity : float = 0.3; + exposure : float; // in stops + contrast : float = 1; + saturation : float = 1; + bloom_amount : float = 0.4; } +// With cut on, triles marked ROOF or WALL are hidden from the camera around the +// focus: everything marked from the lowest roof above the focus upward, so the +// storeys above go whole, and walls on the camera's side of the focus down to a +// one-trile stub. They dissolve in and out rather than popping, and still cast +// shadows and show in reflections. View :: struct { camera : Camera; environment : *Environment; draw_world : bool = true; + cut : bool; + focus : Vector3; } +Trile_Cut :: enum u8 { + NONE; + ROOF; + WALL; +} + +CUT_RADIUS :: 12.0; // horizontal reach from the focus, for roofs and walls +CUT_WALL_MARGIN :: 0.5; // walls this close to the focus, toward the camera, stay +CUT_FADE_TIME :: 0.25; // seconds to dissolve in or out + +SHADOW_MAP_SIZE :: 2048; +SHADOW_RADIUS :: 40.0; +SHADOW_DEPTH :: 100.0; + Trile_Tint :: enum u8 { NONE; ADD_PREVIEW; @@ -43,6 +79,7 @@ Particle_Instance :: struct { size : float; uv_rect : Vector4; // x, y, w, h, 0..1 color : Vector4; + glow : float; // 0..1, like swatch emittance } // Pixels from top left. @@ -54,20 +91,24 @@ Ui_Vertex :: struct { trile_mesh_create :: (trile: *Trile) -> Trile_Mesh { vertices, indices := mesh_trile(trile); - return .{renderer_trile_mesh_create(vertices, indices)}; + mesh := Trile_Mesh.{renderer_trile_mesh_create(vertices, indices)}; + set_mesh_cut(mesh, trile.cut); + return mesh; } trile_mesh_update :: (mesh: Trile_Mesh, trile: *Trile) { vertices, indices := mesh_trile(trile); renderer_trile_mesh_update(mesh.id, vertices, indices); + set_mesh_cut(mesh, trile.cut); } trile_mesh_destroy :: (mesh: Trile_Mesh) { renderer_trile_mesh_destroy(mesh.id); + set_mesh_cut(mesh, .NONE); } -swatch_set :: (id: u8, color: [3]u8, roughness: u8, metallic: u8, emittance: u8) { - renderer_swatch_set(id, color, roughness, metallic, emittance); +swatch_set :: (id: u8, color: [3]u8, reflectivity: u8, gloss: u8, emittance: u8, glass: bool) { + renderer_swatch_set(id, color, reflectivity, gloss, emittance, glass); } // Pixels are RGBA8. @@ -88,6 +129,16 @@ World_Group :: struct { instances : []Trile_Instance; } +// Baked light at a trile centre, as L1 spherical harmonics in half floats: red, +// green and blue, each (constant, y, z, x). A negative red constant marks a probe +// inside geometry. +Probe :: struct { + sh : [12]u16; +} + +// One probe per trile, indexed x + y * CHUNK_SIZE + z * CHUNK_SIZE * CHUNK_SIZE. +PROBES_PER_CHUNK :: CHUNK_SIZE * CHUNK_SIZE * CHUNK_SIZE; + world_set_chunk :: (key: Chunk_Key, origin: Vector3, groups: []World_Group) { chunk := find_or_add(*scene.chunks, key); chunk.origin = origin; @@ -114,6 +165,14 @@ world_clear :: () { array_free(chunk.groups); } table_reset(*scene.chunks); + table_reset(*scene.cut_fades); + renderer_probes_clear(); +} + +// Probe light is added to the shade colour, so baking only ever brightens. +world_set_chunk_probes :: (key: Chunk_Key, probes: []Probe) { + assert(probes.count == PROBES_PER_CHUNK); + renderer_probes_set(key, probes); } add_view :: (view: View) -> View_Id { @@ -121,13 +180,45 @@ add_view :: (view: View) -> View_Id { camera := view.camera; array_add(*scene.view_proj, create_viewproj(*camera)); - height := ifx view.environment then view.environment.reflection_height else 0; + env := ifx view.environment then view.environment.* else .{}; + array_add(*scene.shadow_view_proj, create_sun_viewproj(camera.target, env.sun_direction, SHADOW_RADIUS, SHADOW_DEPTH, SHADOW_MAP_SIZE)); + + height := env.reflection_height; camera.position.y = 2 * height - camera.position.y; camera.target.y = 2 * height - camera.target.y; array_add(*scene.reflection_view_proj, create_viewproj(*camera)); + array_add(*scene.view_cuts, make_view_cut(view)); return .{xx (scene.views.count - 1)}; } +// How far the view's camera has dissolved this trile, 0 shown to 1 gone. +// position is the trile's corner. Call once per trile per frame; it advances the fade. +trile_cut :: (view: View_Id, mesh: Trile_Mesh, position: Vector3) -> float { + cut := scene.view_cuts[view.index]; + kind := mesh_cut(mesh); + if !cut.enabled || kind == .NONE return 0; + + target := 0.0; + to_trile := Vector2.{position.x + 0.5 - cut.focus.x, position.z + 0.5 - cut.focus.z}; + if length(to_trile) <= CUT_RADIUS { + if position.y >= cut.height target = 1; + if kind == .WALL && position.y > cut.floor && dot(to_trile, cut.toward_camera) > CUT_WALL_MARGIN target = 1; + } + + x, y, z := cast(s64) floor(position.x), cast(s64) floor(position.y), cast(s64) floor(position.z); + key := (cast(s64) view.index << 60) | ((x & 0xFFFFF) << 40) | ((y & 0xFFFFF) << 20) | (z & 0xFFFFF); + fade := table_find_pointer(*scene.cut_fades, key); + if !fade { + if target == 0 return 0; + fade = table_set(*scene.cut_fades, key, 0); + } + step := (scene.time - scene.cut_time) / CUT_FADE_TIME; + fade.* = ifx target > fade.* then min(target, fade.* + step) else max(target, fade.* - step); + result := fade.*; + if result == 0 table_remove(*scene.cut_fades, key); + return result; +} + draw_trile :: (view: View_Id, mesh: Trile_Mesh, position: Vector3, orientation: u8, tint := Trile_Tint.NONE) { array_add(*scene.triles, .{view, mesh, position, orientation, tint}); } @@ -141,6 +232,13 @@ draw_particles :: (view: View_Id, sheet: Texture, blend: Blend_Mode, particles: array_add(*scene.particles, .{view, sheet, blend, array_copy(particles,, temp)}); } +// Lines are drawn in every view; overlay lines ignore depth. The slice must stay +// valid until render(). +draw_debug_lines :: (lines: []Debug_Line, overlay: bool) { + if overlay scene.overlay_lines = lines; + else scene.debug_lines = lines; +} + // Untextured triangles pass a zero texture. ui_triangles :: (vertices: []Ui_Vertex, texture: Texture) { array_add(*scene.ui, .{texture = texture, vertices = array_copy(vertices,, temp)}); @@ -154,6 +252,14 @@ ui_scissor_clear :: () { array_add(*scene.ui, .{clear_scissor = true}); } +View_Cut :: struct { + enabled : bool; + focus : Vector3; + floor : float; // the trile layer the focus stands in + height : float; // marked triles from here up are hidden + toward_camera : Vector2; // horizontal, normalized +} + Scene_Chunk :: struct { origin : Vector3; groups : [..]World_Group; @@ -193,21 +299,31 @@ Scene_Ui :: struct { Trile_Vertex :: struct { position : Vector3; - swatch : float; - ao : float; // 0 = fully occluded, 1 = open + swatch : u8; + ao : u8; // 0 = fully occluded, 3 = open + normal : u8; // axis * 2, +1 when facing the negative direction + _ : u8; } Scene :: struct { chunks : Table(Chunk_Key, Scene_Chunk, chunk_key_hash, chunk_key_compare); + mesh_cuts : [..]Trile_Cut; // by mesh id views : [..]View; view_proj : [..]Matrix4; reflection_view_proj : [..]Matrix4; + shadow_view_proj : [..]Matrix4; + view_cuts : [..]View_Cut; + cut_fades : Table(s64, float); // dissolving or cut triles, by view and position + cut_time : float; // when the fades last advanced time : float; triles : [..]Scene_Trile; billboards : [..]Scene_Billboard; particles : [..]Scene_Particles; ui : [..]Scene_Ui; + + debug_lines : []Debug_Line; + overlay_lines : []Debug_Line; } scene_init :: () { @@ -226,15 +342,52 @@ scene_shutdown :: () { scene_end_frame :: (width: s32, height: s32, time: float) { scene.time = time; renderer_render(*scene, width, height); + scene.cut_time = time; array_reset_keeping_memory(*scene.views); array_reset_keeping_memory(*scene.view_proj); array_reset_keeping_memory(*scene.reflection_view_proj); + array_reset_keeping_memory(*scene.shadow_view_proj); + array_reset_keeping_memory(*scene.view_cuts); array_reset_keeping_memory(*scene.triles); array_reset_keeping_memory(*scene.billboards); array_reset_keeping_memory(*scene.particles); array_reset_keeping_memory(*scene.ui); + scene.debug_lines = .[]; + scene.overlay_lines = .[]; } #scope_file scene : Scene; + +set_mesh_cut :: (mesh: Trile_Mesh, cut: Trile_Cut) { + if scene.mesh_cuts.count <= mesh.id array_resize(*scene.mesh_cuts, mesh.id + 1); + scene.mesh_cuts[mesh.id] = cut; +} + +mesh_cut :: (mesh: Trile_Mesh) -> Trile_Cut { + if mesh.id >= scene.mesh_cuts.count return .NONE; + return scene.mesh_cuts[mesh.id]; +} + +make_view_cut :: (view: View) -> View_Cut { + cut : View_Cut; + if !view.cut return cut; + cut.enabled = true; + cut.focus = view.focus; + cut.floor = floor(view.focus.y + 0.5); + cut.height = FLOAT32_MAX; + to_camera := Vector2.{view.camera.position.x - view.focus.x, view.camera.position.z - view.focus.z}; + if length(to_camera) > 0.0001 cut.toward_camera = normalize(to_camera); + + for chunk: scene.chunks for group: chunk.groups { + if mesh_cut(group.mesh) != .ROOF continue; + for group.instances { + p := chunk.origin + Vector3.{xx it.x, xx it.y, xx it.z}; + if p.y <= cut.floor continue; + if length(Vector2.{p.x + 0.5 - view.focus.x, p.z + 0.5 - view.focus.z}) > CUT_RADIUS continue; + cut.height = min(cut.height, p.y); + } + } + return cut; +} diff --git a/src/rendering/trile_mesher.jai b/src/rendering/trile_mesher.jai index 6b4b702..599ac15 100644 --- a/src/rendering/trile_mesher.jai +++ b/src/rendering/trile_mesher.jai @@ -41,12 +41,13 @@ mesh_trile :: (trile: *Trile) -> vertices: []Trile_Vertex, indices: []u16 { for u: u0..u1-1 for v: v0..v1-1 mask[u][v] = .{}; plane := cast(float)(depth + ifx sign > 0 then 1 else 0); + normal := cast(u8)(axis * 2 + ifx sign < 0 then 1 else 0); corner :: (u: int, v: int, ao: u8) -> Trile_Vertex #expand { p : Vector3; p.component[`axis] = `plane * TRIXEL_SIZE; p.component[`u_axis] = u * TRIXEL_SIZE; p.component[`v_axis] = v * TRIXEL_SIZE; - return .{p, xx `face.swatch, ao / 3.0}; + return .{p, `face.swatch, ao, `normal, 0}; } q := Trile_Vertex.[ corner(u0, v0, face.ao[0]), diff --git a/src/trile.jai b/src/trile.jai index 2821351..e8acd24 100644 --- a/src/trile.jai +++ b/src/trile.jai @@ -146,18 +146,19 @@ MAX_SWATCHES :: 256; Swatch :: struct { used : bool; name : string; - color : [3]u8; - roughness : u8 = 4; - metallic : u8; - emittance : u8; + color : [3]u8; + reflectivity : u8; // how much of the floor reflection shows, 0..255 + gloss : u8; // strength and sharpness of the sun highlight, 0..255 + emittance : u8; + glass : bool; // lets sunlight through, but can't be seen through } g_swatches : [MAX_SWATCHES]Swatch; -swatch_add :: (name: string, color: [3]u8, roughness: u8 = 4, metallic: u8 = 0, emittance: u8 = 0) -> u8, success: bool { +swatch_add :: (name: string, color: [3]u8) -> u8, success: bool { for 1..MAX_SWATCHES-1 { if g_swatches[it].used continue; - g_swatches[it] = .{used = true, name = copy_string(name), color = color, roughness = roughness, metallic = metallic, emittance = emittance}; + g_swatches[it] = .{used = true, name = copy_string(name), color = color}; swatch_changed(xx it); return cast(u8) it, true; } @@ -165,9 +166,20 @@ swatch_add :: (name: string, color: [3]u8, roughness: u8 = 4, metallic: u8 = 0, return 0, false; } +// 1 when there are no swatches yet, so the trixels still exist. +first_used_swatch :: () -> u8 { + for 1..MAX_SWATCHES-1 if g_swatches[it].used return xx it; + return 1; +} + +// New triles start as a solid cube, so the editor has something to click on. +trile_fill :: (trile: *Trile, swatch: u8) { + for x: 0..15 for y: 0..15 for z: 0..15 trile.trixels[x][y][z] = swatch; +} + swatch_changed :: (id: u8) { s := g_swatches[id]; - swatch_set(id, s.color, s.roughness, s.metallic, s.emittance); + swatch_set(id, s.color, s.reflectivity, s.gloss, s.emittance, s.glass); } swatch_color :: (id: u8) -> Vector3 { @@ -175,6 +187,19 @@ swatch_color :: (id: u8) -> Vector3 { return .{c[0] / 255.0, c[1] / 255.0, c[2] / 255.0}; } +// How many trixels of each swatch the trile has, by swatch id. +trile_swatch_counts :: (trile: *Trile) -> [MAX_SWATCHES]s32 { + counts : [MAX_SWATCHES]s32; + for x: 0..15 for y: 0..15 for z: 0..15 counts[trile.trixels[x][y][z]] += 1; + counts[0] = 0; + return counts; +} + +swatch_label :: (id: u8) -> string { + if !g_swatches[id].used return tprint("%: (missing)", id); + return tprint("%: %", id, g_swatches[id].name); +} + swatch_in_use :: (id: u8) -> bool { for trile: trile_table { for x: 0..15 for y: 0..15 for z: 0..15 { @@ -187,10 +212,11 @@ swatch_in_use :: (id: u8) -> bool { Swatch_Serialize :: struct { id : int; name : string; - color : [3]u8; - roughness : u8; - metallic : u8; - emittance : u8; + color : [3]u8; + reflectivity : u8; + gloss : u8; + emittance : u8; + glass : bool; } sswatches :: () { @@ -199,7 +225,7 @@ sswatches :: () { list.allocator = temp; for g_swatches { if !it.used continue; - array_add(*list, .{it_index, it.name, it.color, it.roughness, it.metallic, it.emittance}); + array_add(*list, .{it_index, it.name, it.color, it.reflectivity, it.gloss, it.emittance, it.glass}); } #if OS != .WASM { file :: #import "File"; @@ -216,7 +242,7 @@ lswatches :: () { _, list := Jaison.json_parse_string(xx data, [..]Swatch_Serialize,, temp); for list { if it.id < 1 || it.id >= MAX_SWATCHES continue; - g_swatches[it.id] = .{used = true, name = sprint("%", it.name), color = it.color, roughness = it.roughness, metallic = it.metallic, emittance = it.emittance}; + g_swatches[it.id] = .{used = true, name = sprint("%", it.name), color = it.color, reflectivity = it.reflectivity, gloss = it.gloss, emittance = it.emittance, glass = it.glass}; } for 0..MAX_SWATCHES-1 swatch_changed(xx it); } @Command @@ -226,9 +252,6 @@ Palette_Entry :: struct { r : float = 1.0; g : float = 0.0; b : float = 1.0; - roughness : int = 4; - metallic : int = 0; - emittance : int = 0; } Loaded_Palette :: struct { @@ -238,6 +261,30 @@ Loaded_Palette :: struct { g_palettes : [..]Loaded_Palette; +// Adds a swatch for every colour in the palette that no swatch has yet. +swatch_import_palette :: (palette: Loaded_Palette) -> added: int { + added := 0; + for entry: palette.entries { + color := u8.[ + cast(u8) clamp(entry.r * 255 + 0.5, 0, 255), + cast(u8) clamp(entry.g * 255 + 0.5, 0, 255), + cast(u8) clamp(entry.b * 255 + 0.5, 0, 255), + ]; + exists := false; + for g_swatches { + if it.used && it.color[0] == color[0] && it.color[1] == color[1] && it.color[2] == color[2] { + exists = true; + break; + } + } + if exists continue; + _, ok := swatch_add(entry.name, color); + if !ok break; + added += 1; + } + return added; +} + Trile :: struct { name : string = "test"; is_opaque : bool = true; @@ -252,6 +299,8 @@ Trile :: struct { // in the Y axis is generated for it. is_stairs : bool; heightmap : [16][16]u8; + + cut : Trile_Cut; // what the camera may cut away indoors }; TrileSerialize :: struct { @@ -259,6 +308,7 @@ TrileSerialize :: struct { is_opaque : u8 = 1; is_stairs : u8 = 0; skip_collision : u8 = 0; + cut : u8 = 0; trixels : string; // base64 of the 16^3 swatch ids }; @@ -268,6 +318,7 @@ trile_to_serialize_form :: (t: Trile) -> TrileSerialize { is_opaque = ifx t.is_opaque then cast(u8)1 else cast(u8)0, is_stairs = ifx t.is_stairs then cast(u8)1 else cast(u8)0, skip_collision = ifx t.skip_collision then cast(u8)1 else cast(u8)0, + cut = xx t.cut, trixels = base64_encode(.{size_of(type_of(t.trixels)), cast(*u8) *t.trixels},, temp), }; } @@ -277,6 +328,7 @@ trile_from_serialize_form :: (ts: TrileSerialize) -> Trile { t.is_opaque = ts.is_opaque != 0; t.is_stairs = ts.is_stairs != 0; t.skip_collision = ts.skip_collision != 0; + t.cut = xx ts.cut; ids, ok := base64_decode(ts.trixels,, temp); if ok && ids.count == size_of(type_of(t.trixels)) { memcpy(*t.trixels, ids.data, ids.count); diff --git a/src/world.jai b/src/world.jai index 87b172d..814e5ae 100644 --- a/src/world.jai +++ b/src/world.jai @@ -2,8 +2,6 @@ Pool :: #import "Pool"; -CHUNK_SIZE :: 32; - Current_World :: struct { world : World; pool : Pool.Pool; // A memory pool to allocate stuff for the lifetime of this level being active. @@ -14,6 +12,8 @@ current_world : Current_World; #scope_export +CHUNK_SIZE :: 32; + Chunk_Key :: struct { x: s32; y: s32; @@ -346,6 +346,11 @@ World_Json_Config :: struct { waterReflectivity : float = 0.0; waterDistortion : float = 0.007; indoor : s32; + shadeColor : [3]float = .[0.45, 0.45, 0.75]; + exposure : float = 0; + contrast : float = 1; + saturation : float = 1; + bloomAmount : float = 0.4; } World_Json_Chunk :: struct { @@ -502,6 +507,11 @@ world_config_to_json :: (conf: *World_Config) -> World_Json_Config { jc.waterReflectivity = conf.waterReflectivity; jc.waterDistortion = conf.waterDistortion; jc.indoor = conf.indoor; + jc.shadeColor = conf.shadeColor.component; + jc.exposure = conf.exposure; + jc.contrast = conf.contrast; + jc.saturation = conf.saturation; + jc.bloomAmount = conf.bloomAmount; return jc; } @@ -525,6 +535,11 @@ world_config_from_json :: (jc: *World_Json_Config) -> World_Config { conf.waterReflectivity = jc.waterReflectivity; conf.waterDistortion = jc.waterDistortion; conf.indoor = jc.indoor; + conf.shadeColor.component = jc.shadeColor; + conf.exposure = jc.exposure; + conf.contrast = jc.contrast; + conf.saturation = jc.saturation; + conf.bloomAmount = jc.bloomAmount; return conf; } @@ -687,6 +702,49 @@ load_world_from_json :: (json_str: string, chunk_bin: []u8) -> (World, bool) { return world, true; } +// --- Baked light probes (probes.bin) --- + +PROBES_MAGIC :: u32.[0x42505254][0]; // "TRPB" as little-endian u32 +PROBES_VERSION :: cast(u32) 1; + +Probes_File_Header :: struct { + magic : u32; + version : u32; + chunk_count : u32; +} + +Probe_Chunk :: struct { + key : Chunk_Key; + probes : []Probe; +} + +save_probes :: (chunks: []Probe_Chunk) -> string { + builder: String_Builder; + write_value(*builder, Probes_File_Header.{PROBES_MAGIC, PROBES_VERSION, xx chunks.count}); + for chunks { + assert(it.probes.count == PROBES_PER_CHUNK); + write_value(*builder, it.key); + write_bytes(*builder, it.probes.data, PROBES_PER_CHUNK * size_of(Probe)); + } + return builder_to_string(*builder); +} + +// Hands the probes in a probes.bin to the renderer. +load_probes :: (data: []u8) -> bool { + cursor : s64; + if data.count < size_of(Probes_File_Header) return false; + header := read_value(data, *cursor, Probes_File_Header); + if header.magic != PROBES_MAGIC || header.version != PROBES_VERSION return false; + chunk_bytes := size_of(Chunk_Key) + PROBES_PER_CHUNK * size_of(Probe); + if cursor + header.chunk_count * chunk_bytes > data.count return false; + for 1..header.chunk_count { + key := read_value(data, *cursor, Chunk_Key); + world_set_chunk_probes(key, .{PROBES_PER_CHUNK, xx (data.data + cursor)}); + cursor += PROBES_PER_CHUNK * size_of(Probe); + } + return true; +} + World_Config :: struct { // All of the @Notes are for the autoedit functionality. skyBase : Vector3 = .{0.38, 0.81, 0.95}; @Color @@ -695,6 +753,12 @@ World_Config :: struct { horizonHalo : Vector3 = .{1.0, 1.0, 1.0}; @Color sunHalo : Vector3 = .{1.0, 1.0, 1.0}; @Color sunLightColor : Vector3 = .{1.0, 1.0, 1.0}; @Color + shadeColor : Vector3 = .{0.45, 0.45, 0.75}; @Color + + exposure : float = 0; @Slider,-3,3,0.1 + contrast : float = 1; @Slider,0,3,0.05 + saturation : float = 1; @Slider,0,3,0.05 + bloomAmount : float = 0.4; @Slider,0,3,0.05 sunPosition : Vector3 = #run normalize(Vector3.{0.2, 0.3, 0.4}); sunIntensity : float = 1.0; @Slider,0,4,0.1 skyIntensity : float = 0.3; @Slider,0,5,0.1 @@ -709,9 +773,9 @@ World_Config :: struct { waterReflectivity : float = 0.0; @Slider,0,1,0.05 waterDistortion : float = 0.007; @Slider,0,0.05,0.001 hsv_lighting : s32 = 1; @Slider,0,1,1 - // Indoor levels: no sun shadows (faces toward the sun still light up), a - // flat skyBase instead of the sky, and no water. The reflection plane moves - // to the top of the floor layer (y = 1) for floor reflections. + // Indoor levels float in black: no sky and no water. Sunlight gets in through + // glass. The reflection plane moves to the top of the floor layer (y = 1) for + // floor reflections. indoor : s32 = 0; @Slider,0,1,1 // ambientColor : Vector3 = .{1.0, 1.0, 1.0}; @Color @@ -726,11 +790,26 @@ world_environment :: (world: *World) -> *Environment { conf := *world.conf; env.reflection_height = effective_plane_height(conf); env.water = !conf.indoor; + env.sky = !conf.indoor; env.water_color = conf.waterColor; env.deep_color = conf.deepColor; env.water_reflectivity = conf.waterReflectivity; env.water_distortion = conf.waterDistortion; + env.water_shininess = conf.waterShininess; env.water_normals = get_texture_from_pack("core", "utiltex/water_small.png"); + env.sun_direction = normalize(conf.sunPosition); + env.sun_color = conf.sunLightColor; + env.shade_color = conf.shadeColor; + env.sky_base = conf.skyBase; + env.sky_top = conf.skyTop; + env.sun_disk = conf.sunDisk; + env.sun_halo = conf.sunHalo; + env.horizon_halo = conf.horizonHalo; + env.sky_intensity = conf.skyIntensity; + env.exposure = conf.exposure; + env.contrast = conf.contrast; + env.saturation = conf.saturation; + env.bloom_amount = conf.bloomAmount; return env; } diff --git a/test_packs/game_core.pack b/test_packs/game_core.pack index 86cf65561199a0cf6f7f0676642bcf16d099f2e1..8e4832520d0fcff0fdd6fcf92b9daa60125b1477 100644 GIT binary patch literal 132576 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�-_wnb?w{v|F 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