b4w.min.js 1.5 MB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816
  1. /**
  2. * FdageWeb CE 16.12
  3. * Copyright (C) 2014-2016 Triumph LLC
  4. *
  5. * This program is free software: you can redistribute it and/or modify
  6. * it under the terms of the GNU General Public License as published by
  7. * the Free Software Foundation, either version 3 of the License, or
  8. * (at your option) any later version.
  9. *
  10. * This program is distributed in the hope that it will be useful,
  11. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. * GNU General Public License for more details.
  14. *
  15. * You should have received a copy of the GNU General Public License
  16. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  17. */
  18. var fdage="object"===typeof fdage?fdage:function(a){var q={};a.module=q;var f={};a.cleanup=function(a,b){var g=q[a];g&&(g.El=null);f[b||"__b4w_default"]=null};a.register=function(a,b){q[a]||(q[a]=b)};a.require=function(a,b){if(!q[a])throw Error('Module "'+a+'" not found');b=b||"__b4w_default";f[b]||(f[b]=function(a){return function(b){var c=q[b];if(!c)throw Error('Module "'+b+'" not found');c.El||(c.El={});c.El[a]||(c.El[a]={},c(c.El[a],f[a]));return c.El[a]}}(b));return f[b](a)};a.module_check=function(a){return q[a]?
  19. !0:!1};a.get_namespace=function(a){for(var b in f)if(f[b]==a)return b;return""};a.worker_listeners=[];a.worker_namespaces=[];return a}({});"object"==typeof module&&module.Av&&(GLOBAL.fdage={module:{}});
  20. fdage.module.__version=function(a){function q(){var a=f,c=a.getDate(),c=10>c?"0"+String(c):String(c),p=a.getMonth()+1,p=10>p?"0"+String(p):String(p),D=String(a.getFullYear()),e=a.getHours(),e=10>e?"0"+String(e):String(e),u=a.getMinutes(),u=10>u?"0"+String(u):String(u),a=a.getSeconds(),a=10>a?"0"+String(a):String(a);return c+"."+p+"."+D+" "+e+":"+u+":"+a}var f=new Date(2016,11,22,15,24,40),c=[16,12];a.version=function(){return c};a.version_str=function(){for(var a="",f=0;f<c.length;f++)a=1==f?a+(10>
  21. c[f]?"0"+c[f]:c[f]):a+c[f],f!=c.length-1&&(a+=".");return a};a.type=function(){return"RELEASE"};a.date=function(){return f};a.date_str=q;a.timestamp=function(){var a=q(),a=a.split(" ").join("").split(":").join("").split(".").join("");return"?t="+a}};"object"==typeof module&&module.Av&&fdage.module.__version(exports);fdage.module.__config=function(a,q){function f(){return fdage.module_check(a.Vd.Tq)}function c(){for(var c=a.Vd,f=null,e=document.getElementsByTagName("script"),g=0;g<e.length;g++){for(var n=e[g].src,t=0;t<c.$B.length;t++)if(0<=n.indexOf(c.$B[t])){f=n;break}if(null!==f)break}f||(b.warn("Couldn't determine path to ancillary resources, fallback to the current page directory"),f=document.location.href);c=f.indexOf("?");0<=c&&(f=f.substring(0,c));return f.substring(0,f.lastIndexOf("/"))}var b=q("__print"),
  22. g=q("__util");a.P_LOW=1;a.P_HIGH=2;a.P_ULTRA=3;a.P_CUSTOM=4;a.P_AUTO=5;a.context={alpha:!0,antialias:!1,premultipliedAlpha:!0};a.oA=g.O(a.context);a.A={alpha_sort:!0,alpha_sort_threshold:.1,Ok:[6,1],max_fps:1E4,console_verbose:!1,do_not_load_resources:!1,use_min50:!1,VA:1,jL:5,background_color:[0,0,0,0],canvas_resolution_factor:1,Vm:3,allow_cors:!1,UA:!1,anisotropic_filtering:!0,show_hud_debug_info:!1,xS:!0,shadows:!0,stereo:"NONE",reflections:!0,refractions:!0,ssao:!0,dof:!0,god_rays:!0,bloom:!0,
  23. motion_blur:!0,compositing:!0,antialiasing:!0,smaa:!1,debug_view:!1,cF:!1,Ul:!0,Ls:!0,Mc:!0,water_dynamic:!0,shore_smoothing:!0,Em:!0,IE:!0,precision:"highp",quality:a.P_HIGH,Hq:!0,IN:!1,Cx:!1,rv:!1,WE:!1,is_mobile_device:!1,hw:!1,Ru:!1,PT:!1,Ip:!1,allow_hidpi:!0,FD:!1,Iw:!1,enable_selectable:!0,enable_outlining:!0,Nh:!0,$l:!1,SA:!1,yw:[0,0],Bo:!1,VC:!0,it:!1,url_params:null,Vb:!0,pc:4,ho:!1,iD:!1,jD:!1,rx:!1,cA:!1,KB:!1,media_auto_activation:!0,rC:4,os:!1,gl_debug:!1,Xz:!1,gz:!1,qu:!1,io:"dds",LT:"16x",
  24. srgb_type:"SRGB_SIMPLE"};a.FA=g.O(a.A);a.Rj={yr:-1,XA:!1,tk:1};a.controls={DN:1/120};a.kd={path:"",SN:"B4W_ASSETS_PATH=__JS__/../../assets/",hO:"B4W_PROJ_ASSETS_PATH=__JS__/../../../projects/__NAME__/assets/",wN:15,prevent_caching:!0,Hw:!1,nv:!1,Vs:!1};a.mz=g.O(a.kd);a.Vd={shaders_path:"",sP:"../shaders/",DD:"include/",KT:"postprocessing/",Tq:"built_in_data",$B:"fdage.min.js fdage.full.min.js fdage.simple.min.js fdage.whitespace.min.js src/fdage.js B4W_MAIN_MODULE".split(" "),smaa_search_texture_path:"smaa_search_texture.png",
  25. smaa_area_texture_path:"smaa_area_texture.png"};a.uM={webvr:{distortion_coefs:[.22,.28],chromatic_aberration_coefs:[-.015,.02,.025,.02]},nonwebvr:{Oh:.064,wi:.035,nj:.039,distortion_coefs:[.34,.55],chromatic_aberration_coefs:[0,0,0,0],vl:.11,Oi:.062,xi:.004}};a.C={enabled:!0,max_fps:60,Zp:"",TQ:"B4W_URANIUM_PATH=uranium.js",Iu:!1,ping:!1,iq:!0};a.MC=g.O(a.C);a.Dm={Ro:1024,fr:256,xA:32,tK:128,sK:256,OC:.25,$N:.5,ZN:1};a.mD=g.O(a.Dm);a.S={zy:!0,vs:!1,qz:!1,dA:!1,JA:!1};a.BD=g.O(a.S);a.Ec={outlining_overview_mode:!1,
  26. Zh:[1,.4,.05],cj:.2,dj:3.8,ej:1};a.so={enabled:!1,WP:0,VP:0,vP:"COLOR"};a.DA=g.O(a.so);a.Eh={uN:8,qs:64,Ew:8,rs:8,Fw:15,sC:0,hp:128,Sh:1024,Bw:4096,oc:4096,Gw:[4096,4096]};a.nA=g.O(a.Eh);a.apply_quality=function(){var b=a.A,c=a.C,e=a.Dm;switch(b.quality){case a.P_ULTRA:b.shadows=!0;b.shore_smoothing=!0;b.ssao=!0;b.dof=!0;b.god_rays=!0;b.bloom=!0;b.reflections=!0;b.refractions=!0;b.Ul=!0;b.Ls=!0;b.Mc=!0;e.Ro=2048;e.fr=512;b.Vm=3;b.anisotropic_filtering=!0;b.use_min50=!1;b.precision="highp";b.water_dynamic=
  27. !0;b.Em=!0;b.antialiasing=!0;b.smaa=!1;b.compositing=!0;b.motion_blur=!0;b.allow_hidpi=!1;b.enable_outlining=!0;b.Nh=!0;b.pc=16;b.srgb_type="SRGB_PROPER";c.max_fps=120;break;case a.P_HIGH:b.shadows=!0;b.shore_smoothing=!0;b.ssao=!0;b.dof=!0;b.god_rays=!0;b.bloom=!0;b.reflections=!0;b.refractions=!0;b.Ul=!0;b.Ls=!0;b.Mc=!0;e.Ro=1024;e.fr=256;b.Vm=3;b.anisotropic_filtering=!0;b.use_min50=!1;b.precision="highp";b.water_dynamic=!0;b.Em=!0;b.antialiasing=!0;b.smaa=!1;b.compositing=!0;b.motion_blur=!0;
  28. b.allow_hidpi=!0;b.enable_outlining=!0;b.Nh=!0;b.srgb_type="SRGB_SIMPLE";b.pc=4;c.max_fps=60;break;case a.P_LOW:b.shadows=!1;b.shore_smoothing=!1;b.ssao=!1;b.dof=!1;b.god_rays=!1;b.bloom=!1;b.reflections=!1;b.refractions=!1;b.Ul=!1;b.Ls=!1;b.Mc=!1;e.Ro=512;e.fr=256;b.Vm=2;b.anisotropic_filtering=!1;b.use_min50=!0;b.precision="mediump";b.water_dynamic=!1;b.Em=!1;b.antialiasing=!1;b.smaa=!1;b.compositing=!1;b.motion_blur=!1;b.allow_hidpi=!1;b.enable_outlining=!1;b.Nh=!1;b.srgb_type="SRGB_SIMPLE";b.pc=
  29. 1;c.max_fps=60;break;case a.P_AUTO:g.q("Direct AUTO quality profile setting is forbidden")}};a.set=function(c,f){switch(c){case "allow_cors":a.A.allow_cors=f;break;case "allow_hidpi":a.A.allow_hidpi=f;break;case "alpha":a.context.alpha=f;break;case "alpha_sort":a.A.alpha_sort=f;break;case "alpha_sort_threshold":a.A.alpha_sort_threshold=f;break;case "anaglyph_use":b.QK();a.A.stereo=f?"ANAGLYPH":a.A.stereo;break;case "animation_framerate":a.Rj.yr=f;break;case "anisotropic_filtering":a.A.anisotropic_filtering=
  30. f;break;case "antialiasing":a.A.antialiasing=f;break;case "assets_dir":case "assets_path":a.kd.path=f;break;case "assets_dds_available":a.kd.nv=f;break;case "assets_pvr_available":a.kd.Vs=f;break;case "assets_min50_available":a.kd.Hw=f;break;case "audio":a.S.zy=f;break;case "background_color":a.A.background_color=f;break;case "bloom":a.A.bloom=f;break;case "built_in_module_name":a.Vd.Tq=f;break;case "canvas_resolution_factor":a.A.canvas_resolution_factor=f;break;case "console_verbose":a.A.console_verbose=
  31. f;break;case "compositing":a.A.compositing=f;break;case "dof":a.A.dof=f;break;case "do_not_load_resources":a.A.do_not_load_resources=f;break;case "god_rays":a.A.god_rays=f;break;case "stereo":a.A.stereo=f;break;case "max_fps":a.A.max_fps=f;break;case "max_fps_physics":a.C.max_fps=f;break;case "media_auto_activation":a.A.media_auto_activation=f;break;case "motion_blur":a.A.motion_blur=f;break;case "physics_enabled":a.C.enabled=f;break;case "physics_uranium_path":a.C.Zp=f;break;case "physics_calc_fps":a.C.Iu=
  32. f;break;case "physics_use_workers":a.C.iq=f;break;case "precision":a.A.precision=f;break;case "prevent_caching":a.kd.prevent_caching=f;break;case "quality":a.A.quality=f;break;case "reflections":a.A.reflections=f;break;case "refractions":a.A.refractions=f;break;case "sfx_mix_mode":a.S.vs=f;break;case "shaders_dir":case "shaders_path":a.Vd.shaders_path=f;break;case "shadows":a.A.shadows=f;break;case "show_hud_debug_info":a.A.show_hud_debug_info=f;break;case "smaa":a.A.smaa=f;break;case "smaa_search_texture_path":a.Vd.smaa_search_texture_path=
  33. f;break;case "smaa_area_texture_path":a.Vd.smaa_area_texture_path=f;break;case "ssao":a.A.ssao=f;break;case "debug_view":a.A.debug_view=f;break;case "enable_selectable":a.A.enable_selectable=f;break;case "enable_outlining":a.A.enable_outlining=f;break;case "outlining_overview_mode":a.Ec.outlining_overview_mode=f;break;case "glow_materials":a.A.Nh=f;break;case "url_params":a.A.url_params=f;break;case "use_min50":a.A.use_min50=f;break;case "gl_debug":a.A.gl_debug=f;break;case "srgb_type":a.A.srgb_type=
  34. f;break;default:b.error("Unknown config property: "+c)}};a.get=function(c){switch(c){case "allow_cors":return a.A.allow_cors;case "allow_hidpi":return a.A.allow_hidpi;case "alpha":return a.context.alpha;case "alpha_sort":return a.A.alpha_sort;case "alpha_sort_threshold":return a.A.alpha_sort_threshold;case "anaglyph_use":return"ANAGLYPH"==a.A.stereo;case "animation_framerate":return a.Rj.yr;case "anisotropic_filtering":return a.A.anisotropic_filtering;case "antialiasing":return a.A.antialiasing;case "assets_dir":case "assets_path":return a.kd.path;
  35. case "assets_dds_available":return a.kd.nv;case "assets_pvr_available":return a.kd.Vs;case "assets_min50_available":return a.kd.Hw;case "audio":return a.S.zy;case "background_color":return a.A.background_color;case "bloom":return a.A.bloom;case "built_in_module_name":return a.Vd.Tq;case "canvas_resolution_factor":return a.A.canvas_resolution_factor;case "console_verbose":return a.A.console_verbose;case "compositing":return a.A.compositing;case "dof":return a.A.dof;case "do_not_load_resources":return a.A.do_not_load_resources;
  36. case "is_mobile_device":return a.A.is_mobile_device;case "god_rays":return a.A.god_rays;case "stereo":return a.A.stereo;case "max_fps":return a.A.max_fps;case "max_fps_physics":return a.C.max_fps;case "media_auto_activation":return a.A.media_auto_activation;case "motion_blur":return a.A.motion_blur;case "physics_enabled":return a.C.enabled;case "physics_uranium_path":return a.C.Zp;case "physics_calc_fps":return a.C.Iu;case "physics_use_workers":return a.C.iq;case "precision":return a.A.precision;
  37. case "prevent_caching":return a.kd.prevent_caching;case "quality":return a.A.quality;case "reflections":return a.A.reflections;case "refractions":return a.A.refractions;case "sfx_mix_mode":return a.S.vs;case "shaders_dir":case "shaders_path":return a.Vd.shaders_path;case "shadows":return a.A.shadows;case "show_hud_debug_info":return a.A.show_hud_debug_info;case "smaa":return a.A.smaa;case "smaa_search_texture_path":return a.Vd.smaa_search_texture_path;case "smaa_area_texture_path":return a.Vd.smaa_area_texture_path;
  38. case "ssao":return a.A.ssao;case "debug_view":return a.A.debug_view;case "enable_selectable":return a.A.enable_selectable;case "enable_outlining":return a.A.enable_outlining;case "outlining_overview_mode":return a.Ec.outlining_overview_mode;case "glow_materials":return a.A.Nh;case "url_params":return a.A.url_params;case "use_min50":return a.A.use_min50;case "gl_debug":return a.A.gl_debug;case "srgb_type":return a.A.srgb_type;default:b.error("Unknown config property: "+c)}};a.reset=function(){for(var b in a.oA)a.context[b]=
  39. a.oA[b];for(b in a.FA)a.A[b]=a.FA[b];for(b in a.mz)a.kd[b]=a.mz[b];for(b in a.MC)a.C[b]=a.MC[b];for(b in a.mD)a.Dm[b]=a.mD[b];for(b in a.BD)a.S[b]=a.BD[b];for(b in a.DA)a.so[b]=a.DA[b]};a.reset_limits=function(){for(var b in a.nA)a.Eh[b]=a.nA[b]};a.QB=f;a.eP=function(){var b=a.Vd,g=a.C;f()||""!=b.shaders_path||(b.shaders_path=c()+"/"+b.sP);g.enabled&&""==g.Zp&&(g.Zp=c()+"/"+g.TQ.replace("B4W_URANIUM_PATH=",""))};a.get_assets_path=function(b){var f=a.kd;if(f.path)return f.path;var e=f.SN,g="B4W_ASSETS_PATH=";
  40. b&&(e=f.hO,g="B4W_PROJ_ASSETS_PATH=",e=e.replace("__NAME__",b));e=e.replace(g,"");return e=e.replace("__JS__",c())}};fdage.module.__anchors=function(a,q){function f(){B=!0;y.get_container().addEventListener("mouseup",function(){function a(){return"visible"==d.style.visibility&&!f&&!k}if(!Z&&!r){var b=J;if(b)if("visible"==b.lastElementChild.style.visibility)c(),J=null;else if(1==b.style.opacity){var d=b.lastElementChild,b=b.firstElementChild,h=d.firstElementChild,B=h.innerHTML;d.style.visibility="visible";var l=Math.min(parseInt(d.style.width)||200,D(B)-24),G=e(B,l),f=!0,k=!0;b.style.display="none";Z=!0;E.animate(0,
  41. l,200,function(b){b==l&&(f=!1,k||(Z=!1),a&&(h.style.visibility="visible"));d.style.width=b+"px"});E.animate(0,G,200,function(b){b==G&&(k=!1,f||(Z=!1),a&&(h.style.visibility="visible"));d.style.height=b+"px"})}}})}function c(){var a=J.lastElementChild;J.firstElementChild.style.display="";a.style.visibility="hidden";a.firstElementChild.style.visibility="hidden"}function b(a){a.style.cssText+="color: #fff;font-family: Arial;font-size: 12px;font-weight: bold;line-height: 15px;"}function g(a){a.style.cssText+=
  42. "background-color: #000;border-radius: 20px 20px 20px 0px;bottom: 0;box-shadow: 0px 0px 10px rgb(180, 180, 200);-webkit-box-shadow: 0px 0px 10px rgb(180, 180, 200);font-size: 12px;left: 0;line-height: 15px;opacity: 1.0;overflow: hidden;padding: 8px 12px;position: absolute;z-index: 2;"}function p(a,d,h){var B=document.createElement("div"),l=document.createElement("span");h&&(B.style.width=
  43. h+"px");g(B);b(l);l.innerHTML=a;B.style.visibility="hidden";l.style.visibility="hidden";B.appendChild(l);d.appendChild(B);d.addEventListener("mousedown",function(){Z||d==J||1!=d.style.opacity||r||(J&&"visible"==J.lastElementChild.style.visibility&&c(),J=d)})}function D(a){var d=document.createElement("div"),r=document.createElement("span");r.innerHTML=a;b(r);g(d);d.appendChild(r);document.body.appendChild(d);a=d.offsetWidth+1;document.body.removeChild(d);return a}function e(a,d){var r=document.createElement("div"),
  44. c=document.createElement("span");c.innerHTML=a;b(c);g(r);r.style.width=d+"px";r.style.display="inline-block";r.appendChild(c);document.body.appendChild(r);c=r.offsetHeight-16;document.body.removeChild(r);return c}function u(){for(var a=0,b=0;b<w.length;b++)w[b].Ml&&a++;I=new Float32Array(3*a)}function n(a,b){return b.depth-a.depth}function t(a,b,d){a=a.element;l.KB&&(b=Math.floor(b),d=Math.floor(d));"transform"in a.style?a.style.transform="translate3d("+b+"px, "+d+"px, 0px)":"webkitTransform"in a.style?
  45. a.style.webkitTransform="translate3d("+b+"px, "+d+"px, 0px)":(a.style.left=b+"px",a.style.top=d+"px")}var m=q("__batch"),k=q("__camera"),d=q("__config"),y=q("__container"),H=q("__objects"),v=q("__obj_util"),z=q("__print"),x=q("__renderer"),M=q("__scenes"),F=q("__subscene"),E=q("__time"),A=q("__transform"),K=q("__tsr"),h=q("__vec3"),l=d.A,w=[],r=!1,J=null,B=!1,Z=!1,I=new Float32Array(0),C=new Uint8Array(16),N=new Float32Array(2),Q=new Float32Array(3),W=new Float32Array(3);a.append=function(a){var d;
  46. a:{for(d=0;d<w.length;d++)if(w[d].obj==a){d=!0;break a}d=!1}if(!d){d=a.anchor.Ml&&Boolean(M.Ca(M.Vg(),F.xl));d={type:a.anchor.type,obj:a,x:0,y:0,depth:0,Sj:"out",Ml:d,element:null,pm:null,tH:a.anchor.xN,Hi:a.anchor.Hi};switch(d.type){case "ANNOTATION":var r=d.obj;a=y.get_container();var c=H.get_meta_tags(r),r=r.name,h=document.createElement("div"),l=h.cloneNode(),G=document.createElement("span"),e="";h.style.cssText+="position: absolute;transform-style: preserve-3d;";l.style.cssText+=
  47. "background-color: #000;border-radius: 20px 20px 20px 0px;box-shadow: 0px 0px 10px rgb(180, 180, 200);-webkit-box-shadow: 0px 0px 10px rgb(180, 180, 200);font-size: 12px;line-height: 15px;opacity: 1.0;bottom: 0;left: 0;padding: 8px 12px;position: absolute;";h.style.visibility="hidden";c&&(e=c.description||e,r=c.title||r);G.innerHTML=r;G.style.cssText+="-webkit-touch-callout: none;-webkit-user-select: none;-khtml-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;cursor: default;";
  48. b(G);G.style.whiteSpace="nowrap";l.appendChild(G);h.appendChild(l);e&&p(e,h,d.tH);a.appendChild(h);d.element=h;break;case "ELEMENT":if(d.element=document.getElementById(a.anchor.Hi),d.element)for(c=0;c<w.length;c++)"ELEMENT"==w[c].type&&w[c].Hi==a.anchor.Hi&&(z.warn("Anchor with the id '"+a.anchor.Hi+"' already exists, making the new anchor generic."),d.type="GENERIC");else z.warn("Anchor HTML element with the id '"+a.anchor.Hi+"' was not found, making it generic."),d.type="GENERIC"}w.push(d);u();
  49. B||f()}};a.remove=function(a){for(var b=0;b<w.length;b++){var d=w[b];if(d.obj==a){"ANNOTATION"==d.type&&(a=d,y.get_container().removeChild(a.element));w.splice(b,1);u();break}}};a.update=function(a){for(var b=0,d=w.length;d--;){var r=w[d];if(r.Ml){var c=K.get_trans_view(r.obj.k.n);I.set(c,3*b++)}var h;h=r;var c=Q,B=M.Ak(M.Vg());h=K.get_trans_view(h.obj.k.n);h=c=k.project_point(B,h,c);c=h[0];B=h[1];h=h[2];if(a||c!=r.x||B!=r.y||h!=r.depth){switch(r.type){case "ANNOTATION":var l=c,e=B;t(r,l,e);break;
  50. case "ELEMENT":e=r.element.getBoundingClientRect(),l=c-e.width/2,e=B-e.height/2,t(r,l,e)}r.x=c;r.y=B;r.depth=h;r.pm&&r.pm(c,B,r.Sj,r.obj,r.element)}}w.sort(n);for(d=0;d<w.length;d++)r=w[d],"GENERIC"!=r.type&&(r.element.style.zIndex=J==r.element?w.length:d);0<b&&(a=M.Ca(M.Vg(),F.xl),b=a.Ha[0].ma[0],m.mQ(b.pa,I),F.Bc(a,b))};a.HE=function(){for(var a=y.get_container(),b=w.length;b--;){var d=w[b],r=d.obj,B=r.k,l=d.x,e=d.y,f=d.depth,k=M.Ak(M.Vg()),m=A.get_translation(r,Q),k=A.get_translation(k,W),m=h.dist(m,
  51. k);(f=0>l||0>e||0>f||1<f||M.is_hidden(r)||l>=a.clientWidth||e>=a.clientHeight)||(f=B.se,f=!(m<B.jg?0:f==v.on||m<f));B=f?"out":"visible";d.Ml&&"out"!=B&&(B=d,f=M.Ca(M.Vg(),F.xl).p,m=y.Vq(B.x,B.y,N,f),x.mx(f.pe,m[0],f.height-m[1],2,2,C),B=1020==C[5]+C[6]+C[9]+C[10]?"visible":"out"==B.Sj||0==C[5]+C[6]+C[9]+C[10]?"covered":B.Sj);if(B!=d.Sj){switch(d.type){case "ANNOTATION":case "ELEMENT":var t=d.element;if(!t)break;"out"==B?(t.style.visibility="hidden",t.children.length&&(t.children[0].style.visibility=
  52. "hidden")):"visible"==B?(t.style.visibility="visible",t.children.length&&(t.children[0].style.visibility="visible"),t.style.opacity=1):(t.style.visibility="visible",t.style.opacity=.1,t.children.length&&(t.children[0].style.visibility="visible"),"ANNOTATION"==d.type&&1<t.children.length&&"visible"==t.lastElementChild.style.visibility&&(c(),t==J&&(J=null)))}d.Sj=B;d.pm&&d.pm(l,e,d.Sj,r,t)}}};a.attach_move_cb=function(a,b){for(var d=0;d<w.length;d++)w[d].obj==a&&(w[d].pm=b)};a.detach_move_cb=function(a){for(var b=
  53. 0;b<w.length;b++)w[b].obj==a&&(w[b].pm=null)};a.cleanup=function(){for(var a=0;a<w.length;a++){var b=w[a];"ANNOTATION"==b.type&&y.get_container().removeChild(b.element)}w.length=0};a.is_anchor=function(a){for(var b=0;b<w.length;b++)if(w[b].obj==a)return!0;return!1};a.get_element_id=function(a){for(var b=0;b<w.length;b++)if(w[b].obj==a)return w[b].Hi;return!1};a.pause=function(){r=!0};a.resume=function(){r=!1};a.TN=function(a,b){for(var d=-1,r=0;r<w.length;r++){var c;if(c="visible"==w[r].Sj){var h=
  54. w[r];if(h.element){c=Math.round(h.element.offsetWidth)||0;var B=Math.round(h.element.offsetHeight)||0}else B=c=0;var l=h.x,h=h.y;c=a>=l&&a<=l+c&&b<h&&b>=h-B?!0:!1}if(c)if(0>d)var e=w[r].depth,d=r;else w[r].depth<e&&(d=r,e=w[r].depth)}return 0>d?null:w[d].obj}};fdage.module.__armature=function(a,q){function f(a){a=a.k;for(var b=a.Hm,c=a.ss,e=0;e<b.length;e++){for(var f=b[e],k=c[e],m=0;m<k.length;m+=2)for(var t=k[m],n=k[m+1],g=0;4>g;g++)f.Fd[t+g]=a.Fd[n+g],f.Wd[t+g]=a.Wd[n+g],f.Kd[t+g]=a.Kd[n+g],f.Zd[t+g]=a.Zd[n+g];f.oe=a.oe}}function c(a,b,e,f){var k=a.ky,m=a.zj,t=a.Vp,p=a.$w;p?(p=p.Vp,b?g.multiply(p,k,t):(b=n,g.invert(p,b),g.multiply(b,t,k))):b?g.copy(k,t):g.copy(t,k);k=u;g.invert(m,k);g.multiply(t,k,k);m=a.yi;e[4*m]=k[0];e[4*m+1]=k[1];e[4*m+2]=k[2];e[4*
  55. m+3]=k[3];f[4*m]=k[4];f[4*m+1]=k[5];f[4*m+2]=k[6];f[4*m+3]=k[7];a=a.HA;for(m=0;m<a.length;m++)t=a[m],t.bc||c(t,!0,e,f)}var b=q("__util"),g=q("__tsr"),p=q("__quat"),D=q("__mat4"),e=q("__vec3"),u=g.create(),n=g.create(),t=new Float32Array(4),m=new Float32Array(4),k=new Float32Array(4);a.Cj=function(a,c){for(var f=a.data.bones,k=a.pose.bones,m={},t=0;t<k.length;t++){var n=k[t],p=n.bone,E=p.name,A=m[E]={yi:0,XE:-1,$w:null,HA:[],Wq:[],bc:null,Up:g.create(),ky:g.create(),zj:g.create(),Vp:g.create(),zt:g.create(),
  56. ly:g.create(),At:!1,iE:new Float32Array(3)},E=new Float32Array(p.matrix_local),K=new Float32Array(16);D.invert(E,K);var n=new Float32Array(n.matrix_basis),h=A.iE;e.subtract(b.f32(p.tail_local),b.f32(p.head_local),h);b.bR(h,K,h);g.from_mat4(E,A.zj);g.from_mat4(n,A.zt);g.copy(A.zj,A.Vp)}for(t=0;t<f.length;t++){E=f[t].name;n=b.keysearch("name",E,k);A=m[E];p=n.parent_recursive;A.Wq.push(A);for(K=0;K<p.length;K++)n=p[K],n=n.name,n=m[n],A.Wq.push(n);p.length?(n=p[0],n=n.name,n=m[n],A.$w=n,g.invert(n.zj,
  57. u),g.multiply(u,A.zj,A.Up),n.HA.push(A)):g.copy(A.zj,A.Up);A.yi=t;A.name=E;g.multiply(A.Up,A.zt,A.ky)}c.k.Qf=m};a.get_bone_tsr=function(a,b,c,e,f){var x=a.k,D=x.oe;b=x.Qf[b];var F=b.yi;a=b.zj;var E=x.Kd,A=x.Zd,K=x.Fd,x=x.Wd,h=E[4*F+1],l=E[4*F+2],w=E[4*F+3],r=A[4*F+1],J=A[4*F+2],B=A[4*F+3];t[0]=(1-D)*E[4*F]+D*A[4*F];t[1]=(1-D)*h+D*r;t[2]=(1-D)*l+D*J;t[3]=(1-D)*w+D*B;m[0]=K[4*F];m[1]=K[4*F+1];m[2]=K[4*F+2];m[3]=K[4*F+3];k[0]=x[4*F];k[1]=x[4*F+1];k[2]=x[4*F+2];k[3]=x[4*F+3];p.slerp(m,k,D,m);D=u;g.set_transcale(t,
  58. D);g.set_quat(m,D);c?(c=n,g.translate(a,b.iE,c),g.multiply(D,c,D)):g.multiply(D,a,D);if(e){if(e=b.$w)c=n,g.invert(e.Vp,c),g.multiply(c,D,D);e=n;g.invert(b.Up,e);g.multiply(e,D,D)}g.copy(D,f)};a.set_bone_tsr=function(a,b,e,k){var m=a.k;b=m.Qf[b];var t=m.Kd,n=m.Fd;k?g.multiply(b.Up,e,b.ky):g.copy(e,b.Vp);c(b,k,t,n);m.oe=0;f(a)};a.MQ=f;a.tQ=c;a.Un=function(a,b){return b in a.k.Qf}};fdage.module.__boundings=function(a,q){function f(){return{max_x:0,min_x:0,max_y:0,min_y:0,max_z:0,min_z:0}}function c(){return{D:new Float32Array(3),xa:new Float32Array(3),ya:new Float32Array(3),za:new Float32Array(3)}}function b(a,b){b.min_x=a.min_x;b.max_x=a.max_x;b.min_y=a.min_y;b.max_y=a.max_y;b.min_z=a.min_z;b.max_z=a.max_z;return b}function g(a,b){for(var d=a[0],c=a[1],h=a[2],l=a[0],e=a[1],k=a[2],f=3;f<a.length;f+=3)var m=a[f],t=a[f+1],n=a[f+2],d=Math.max(d,m),c=Math.max(c,t),h=Math.max(h,n),
  59. l=Math.min(l,m),e=Math.min(e,t),k=Math.min(k,n);b.max_x=d;b.max_y=c;b.max_z=h;b.min_x=l;b.min_y=e;b.min_z=k;return b}function p(a,b){b||(b=new Float32Array(24));var d=a.max_x,c=a.max_y,h=a.max_z,l=a.min_x,e=a.min_y,f=a.min_z;b[0]=l;b[1]=e;b[2]=f;b[3]=d;b[4]=e;b[5]=f;b[6]=d;b[7]=c;b[8]=f;b[9]=l;b[10]=c;b[11]=f;b[12]=l;b[13]=e;b[14]=h;b[15]=d;b[16]=e;b[17]=h;b[18]=d;b[19]=c;b[20]=h;b[21]=l;b[22]=c;b[23]=h;return b}function D(){return{D:new Float32Array(3),Oa:0}}function e(a,b){b.D[0]=a.D[0];b.D[1]=
  60. a.D[1];b.D[2]=a.D[2];b.Oa=a.Oa}function u(){return{xa:new Float32Array(3),ya:new Float32Array(3),za:new Float32Array(3),D:new Float32Array(3)}}function n(a,b){v.copy(a.xa,b.xa);v.copy(a.ya,b.ya);v.copy(a.za,b.za);v.copy(a.D,b.D);return b}function t(a){var b=u();n(a,b);return b}function m(a,b,d,c){return{xa:new Float32Array(a),ya:new Float32Array(b),za:new Float32Array(d),D:new Float32Array([c[0],c[1],c[2]])}}function k(a,b){var d=z.BI(a,K),d=b?z.wI(a,d,l):x.identity(l),d=z.dL(d,h);v.copy(a,F);v.transformMat3(F,
  61. d,F);for(var c=F[0],e=c,f=F[1],k=f,t=F[2],n=t,V=0,y=0,g=0,u=0,p=0,E=0,G=3;G<a.length;G+=3)F[0]=a[G],F[1]=a[G+1],F[2]=a[G+2],v.transformMat3(F,d,F),V=F[0],y=F[1],g=F[2],V>c&&(c=V),V<e&&(e=V),y>f&&(f=y),y<k&&(k=y),g>t&&(t=g),g<n&&(n=g);f-=k;t-=n;c=Math.max(c-e,1E-9);f=Math.max(f,1E-9);t=Math.max(t,1E-9);e=x.identity(l);e[0]=0!=c?1/c:1E8;e[4]=0!=f?1/f:1E8;e[8]=0!=t?1/t:1E8;x.transpose(d,w);F[0]=a[0];F[1]=a[1];F[2]=a[2];v.transformMat3(F,d,F);v.transformMat3(F,e,F);v.transformMat3(F,w,F);V=F[0];y=F[0];
  62. g=F[1];u=F[1];p=F[2];E=F[2];for(G=3;G<a.length;G+=3)F[0]=a[G],F[1]=a[G+1],F[2]=a[G+2],v.transformMat3(F,d,F),v.transformMat3(F,e,F),v.transformMat3(F,w,F),V=Math.max(V,F[0]),y=Math.min(y,F[0]),g=Math.max(g,F[1]),u=Math.min(u,F[1]),p=Math.max(p,F[2]),E=Math.min(E,F[2]);G=Math.sqrt((V-y)*(V-y)+(g-u)*(g-u)+(p-E)*(p-E))/2;G=Math.min(G,1);A[0]=(V+y)/2;A[1]=(g+u)/2;A[2]=(p+E)/2;V=A;e=x.identity(l);e[0]=c;e[4]=f;e[8]=t;v.transformMat3(V,d,V);v.transformMat3(V,e,V);v.transformMat3(V,w,V);e=[d[0],d[3],d[6]];
  63. y=[d[1],d[4],d[7]];d=[d[2],d[5],d[8]];v.scale(e,c*G,e);v.scale(y,f*G,y);v.scale(d,t*G,d);return m(e,y,d,V)}function d(a,b,d){v.add(b,d,a.D);v.scale(a.D,.5,a.D);a.Oa=v.distance(a.D,b);return a}var y=q("__tsr"),H=q("__util"),v=q("__vec3"),z=q("__math"),x=q("__mat3"),M=new Float32Array(24),F=new Float32Array(3),E=new Float32Array(3),A=new Float32Array(3),K=new Float32Array(3),h=new Float32Array(9),l=new Float32Array(9),w=new Float32Array(9);new Float32Array(9);a.ld=f;a.cr=c;a.Hl=b;a.dS=function(){return{max_x:1E12,
  64. min_x:-1E12,max_y:1E12,min_y:-1E12,max_z:1E12,min_z:-1E12}};a.qR=function(a){a.max_x=0;a.min_x=0;a.max_y=0;a.min_y=0;a.max_z=0;a.min_z=0};a.ak=function(a){var d=f();b(a,d);return d};a.xI=function(a){var b=a.max_x-a.min_x,d=a.max_y-a.min_y;d<b&&(b=d);a=a.max_z-a.min_z;a<b&&(b=a);return b};a.yv=function(a,b){var d=a.max_y,c=a.max_z,h=a.min_x,e=a.min_y,l=a.min_z;a.max_x=Math.max(b.max_x,a.max_x);a.max_y=Math.max(b.max_y,d);a.max_z=Math.max(b.max_z,c);a.min_x=Math.min(b.min_x,h);a.min_y=Math.min(b.min_y,
  65. e);a.min_z=Math.min(b.min_z,l)};a.uz=g;a.Zj=function(a,b,d){d||(d=f());a=p(a,M);y.transform_vectors(a,b,a);return g(a,d)};a.QA=p;a.NT=function(a,b,d){d||(d=f());var c=b.min_x,h=b.max_x,e=b.min_y,l=b.max_y,k=b.min_z;b=b.max_z;if(c>=a.max_x||h<=a.min_x||e>=a.max_y||l<=a.min_y||k>=a.max_z||b<=a.min_z)return d.min_x=-.1,d.max_x=.1,d.min_y=-.1,d.max_y=.1,d.min_z=-.2,d.max_z=-.1,d;d.min_x=Math.max(a.min_x,c);d.max_x=Math.min(a.max_x,h);d.min_y=Math.max(a.min_y,e);d.max_y=Math.min(a.max_y,l);d.min_z=Math.max(a.min_z,
  66. k);d.max_z=Math.min(a.max_z,b);return d};a.TT=function(a,b,d){d||(d=f());var c=a.max_x-a.min_x,h=a.max_y-a.min_y,e=a.max_z-a.min_z;d.min_x=a.min_x-.5*(b-1)*c;d.max_x=a.max_x+.5*(b-1)*c;d.min_y=a.min_y-.5*(b-1)*h;d.max_y=a.max_y+.5*(b-1)*h;d.min_z=a.min_z-.5*(b-1)*e;d.max_z=a.max_z+.5*(b-1)*e;return d};a.Mn=function(a,b,d){d||(d=D());y.transform_vec3(a.D,b,d.D);b=y.get_scale(b);d.Oa=a.Oa*(0>b?-b:b);return d};a.Ln=function(a,b,d){d||(d=u());y.transform_vec3(a.D,b,d.D);v.copy(a.xa,d.xa);v.copy(a.ya,
  67. d.ya);v.copy(a.za,d.za);y.transform_dir_vec3(d.xa,b,d.xa);y.transform_dir_vec3(d.ya,b,d.ya);y.transform_dir_vec3(d.za,b,d.za);return d};a.Du=function(a,b,d){d||(d=c());y.transform_vec3(a.D,b,d.D);v.copy(a.xa,d.xa);v.copy(a.ya,d.ya);v.copy(a.za,d.za);y.transform_dir_vec3(d.xa,b,d.xa);y.transform_dir_vec3(d.ya,b,d.ya);y.transform_dir_vec3(d.za,b,d.za);return d};a.Gu=function(a,b){var d=D();v.copy(b,d.D);d.Oa=a;return d};a.CO=function(a,b,d,h,e){var l=c();v.copy(a,l.D);v.copy(b,l.xa);v.copy(d,l.ya);
  68. v.copy(h,l.za);v.scale(l.xa,e[0],l.xa);v.scale(l.ya,e[1],l.ya);v.scale(l.za,e[2],l.za);return l};a.Og=D;a.$u=e;a.Uf=u;a.Yu=n;a.Yn=t;a.bk=function(a){var b=D();e(a,b);return b};a.Hn=m;a.gI=function(){var a;a||(a=D());v.set(0,0,0,a.D);a.Oa=1E12;return a};a.SK=function(a,b){var d=v.subtract(b.D,a.D,v.create());0==v.length(d)&&v.set(1,0,0,d);var c=v.normalize(d,v.create()),d=v.scale(c,a.Oa,v.create());v.add(d,a.D,d);var h=v.scale(c,-a.Oa,v.create());v.add(h,a.D,h);var e=v.scale(c,b.Oa,v.create());v.add(e,
  69. b.D,e);var l=v.scale(c,-b.Oa,v.create());v.add(l,b.D,l);d=[d,h,e,l];c=v.normalize(c,v.create());h=d[0];e=d[0];for(l=1;l<d.length;l++){var f=v.dot(d[l],c);f<v.dot(h,c)&&(h=d[l]);f>v.dot(e,c)&&(e=d[l])}c=[h,e];d=c[0];c=c[1];a.D=v.scale(v.add(d,c,v.create()),.5,v.create());a.Oa=v.length(v.subtract(c,d,v.create()))/2};a.Cv=function(a,b){v.add(a.D,a.ya,F);v.add(F,a.xa,F);v.add(F,a.za,F);b.push(F[0],F[1],F[2]);v.add(a.D,a.ya,F);v.add(F,a.xa,F);v.subtract(F,a.za,F);b.push(F[0],F[1],F[2]);v.add(a.D,a.ya,
  70. F);v.subtract(F,a.xa,F);v.add(F,a.za,F);b.push(F[0],F[1],F[2]);v.add(a.D,a.ya,F);v.subtract(F,a.xa,F);v.subtract(F,a.za,F);b.push(F[0],F[1],F[2]);v.subtract(a.D,a.ya,F);v.add(F,a.xa,F);v.add(F,a.za,F);b.push(F[0],F[1],F[2]);v.subtract(a.D,a.ya,F);v.add(F,a.xa,F);v.subtract(F,a.za,F);b.push(F[0],F[1],F[2]);v.subtract(a.D,a.ya,F);v.subtract(F,a.xa,F);v.add(F,a.za,F);b.push(F[0],F[1],F[2]);v.subtract(a.D,a.ya,F);v.subtract(F,a.xa,F);v.subtract(F,a.za,F);b.push(F[0],F[1],F[2])};a.br=k;a.qJ=function(a){var b=
  71. c();v.copy(a.xa,b.xa);v.copy(a.ya,b.ya);v.copy(a.za,b.za);v.copy(a.D,b.D);return b};a.lo=function(a){var b=D(),d=0,d=v.length(a.xa),c=v.length(a.ya),h=v.length(a.za),d=d>c?d:c;b.D=a.D;b.Oa=h>d?h:d;return b};a.uI=function(a,b){var d=t(a),c=y.Yb(b,K);v.subtract(d.D,c,d.D);return d};a.nw=function(a,b){var d=v.length(a.xa),c=v.length(a.ya),h=v.length(a.za);return.75*b.Oa*b.Oa*b.Oa>d*c*h};a.wz=function(a,b){var d=b.max_z,c=b.min_z,h=Math.max(0,d-c-2*a);return{Oa:a,height:h,D:new Float32Array([0,0,(d+c)/
  72. 2])}};a.yz=function(a,b){var d=b.max_z,c=b.min_z,h=Math.max(0,d-c);return{Oa:a,height:h,D:new Float32Array([0,0,(d+c)/2])}};a.xz=function(a,b){var d=b.max_z,c=b.min_z,h=Math.max(0,d-c);return{Oa:a,height:h,D:new Float32Array([0,0,(d+c)/2])}};a.hS=function(a,b){return a.min_x>b.max_x||a.max_x<b.min_x?!1:a.min_y>b.max_y||a.max_y<b.min_y?!1:a.min_z>b.max_z||a.max_z<b.min_z?!1:!0};a.jO=function(a){for(var b=0,d=0,c=0,h=0,e=0,l=0,f=0,m=0,t=0,n=0,w=0,y=0,g=0,u=0,G=0;G<a.submeshes.length;G++){var p=a.submeshes[G];
  73. if(p.position.length){b=h=p.position[0];d=e=p.position[1];c=l=p.position[2];break}}for(G=0;G<a.submeshes.length;G++){for(var p=a.submeshes[G],v=p.position,f=n=p.position[0],m=w=p.position[1],t=y=p.position[2],ga=0;ga<v.length/3;ga++)var A=v[3*ga],x=v[3*ga+1],S=v[3*ga+2],b=Math.max(A,b),d=Math.max(x,d),c=Math.max(S,c),h=Math.min(A,h),e=Math.min(x,e),l=Math.min(S,l),f=Math.max(A,f),m=Math.max(x,m),t=Math.max(S,t),n=Math.min(A,n),w=Math.min(x,w),y=Math.min(S,y),g=Math.max(Math.sqrt(A*A+x*x+S*S),g),u=
  74. Math.max(Math.sqrt(A*A+x*x),u);v=p.boundings.bb;v.max_x=f;v.min_x=n;v.max_y=m;v.min_y=w;v.max_z=t;v.min_z=y;v=M;v[0]=n;v[1]=w;v[2]=y;v[3]=f;v[4]=w;v[5]=y;v[6]=f;v[7]=m;v[8]=y;v[9]=n;v[10]=m;v[11]=y;v[12]=n;v[13]=w;v[14]=t;v[15]=f;v[16]=w;v[17]=t;v[18]=f;v[19]=m;v[20]=t;v[21]=n;v[22]=m;v[23]=t;f=k(v,!1);p.boundings.be_cen=f.D;p.boundings.be_ax=[f.xa[0],f.ya[1],f.za[2]]}G=a.b4w_boundings.bb;G.max_x=b;G.min_x=h;G.max_y=d;G.min_y=e;G.max_z=c;G.min_z=l;G=a.b4w_boundings.bb_src;G.max_x=b;G.min_x=h;G.max_y=
  75. d;G.min_y=e;G.max_z=c;G.min_z=l;a.b4w_boundings.bs_rad=g;a.b4w_boundings.bc_rad=u;v=M;v[0]=h;v[1]=e;v[2]=l;v[3]=b;v[4]=e;v[5]=l;v[6]=b;v[7]=d;v[8]=l;v[9]=h;v[10]=d;v[11]=l;v[12]=h;v[13]=e;v[14]=c;v[15]=b;v[16]=e;v[17]=c;v[18]=b;v[19]=d;v[20]=c;v[21]=h;v[22]=d;v[23]=c;f=k(v,!1);a.b4w_boundings.be_cen=f.D;a.b4w_boundings.be_ax=[f.xa[0],f.ya[1],f.za[2]]};a.XL=function(a){var b=a.subarray(0,3),c=a.subarray(6,9),h=a.subarray(12,15),e=a.subarray(18,21);a=v.subtract(c,b,F);v.normalize(a,a);var l=H.gM(b,
  76. c,h,E),l=v.cross(l,a,l);v.normalize(l,l);var f=v.create(),k=v.create();v.subtract(c,b,A);k[0]=v.dot(A,a);k[1]=v.dot(A,l);c=v.create();v.subtract(h,b,A);c[0]=v.dot(A,a);c[1]=v.dot(A,l);h=v.create();v.subtract(e,b,A);h[0]=v.dot(A,a);h[1]=v.dot(A,l);e=D();h=[f,k,c,h];f=d(e,h[0],h[1]);for(e=2;e<h.length;e++)if(v.distance(f.D,h[e])>f.Oa){for(var m=f,f=h,k=h[e],c=e-1,m=d(m,k,f[0]),t=1;t<=c;t++)if(v.distance(m.D,f[t])>m.Oa){for(var n=m,m=f,w=k,y=f[t],g=t-1,n=d(n,w,y),p=0;p<=g;p++)if(v.distance(n.D,m[p])>
  77. n.Oa){var G=w,u=y,x=m[p],ga=v.subtract(u,x,A),ga=v.squaredLength(ga),z=v.subtract(G,x,A),K=v.squaredLength(z),z=v.subtract(G,u,A),S=v.squaredLength(z),z=ga*(K+S-ga),la=K*(S+ga-K),ga=S*(ga+K-S),K=z+la+ga;v.copy(G,n.D);v.scale(n.D,z/K,n.D);v.scaleAndAdd(n.D,u,la/K,n.D);v.scaleAndAdd(n.D,x,ga/K,n.D);n.Oa=v.distance(n.D,G)}m=n}f=m}e=f;a=v.scale(a,e.D[0],A);v.scaleAndAdd(a,l,e.D[1],a);v.add(a,b,e.D);return e}};fdage.module.__compat=function(a,q){function f(a){return-1<navigator.userAgent.indexOf(a)?!0:!1}function c(){return navigator.userAgent.match(/Windows Phone/i)||navigator.userAgent.match(/Android/i)||navigator.userAgent.match(/webOS/i)||navigator.userAgent.match(/iPhone/i)||navigator.userAgent.match(/iPad/i)||navigator.userAgent.match(/iPod/i)||navigator.userAgent.match(/BlackBerry/i)}function b(){return!window.ActiveXObject&&"ActiveXObject"in window}var g=q("__config"),p=q("__debug"),D=q("__extensions"),
  78. e=q("__print"),u=q("__renderer"),n="R600;RV610;RV630;RV620;RV635;RV670;RS780;RS880;RV770;RV730;RV710;RV740;CEDAR;REDWOOD;JUNIPER;CYPRESS;PALM (Wrestler/Ontario);SUMO (Llano);SUMO2 (Llano);ARUBA (Trinity/Richland);BARTS;TURKS;CAICOS;CAYMAN".split(";");a.Ty=256;var t=g.Rj,m=g.A,k=g.so,d=g.context,y=g.Eh,H=g.S,v=g.C,z=g.kd;a.BK=function(a){a.getError()==a.INVALID_ENUM&&e.warn("Possible Tegra invalid enum issue detected, ignoring")};a.sD=function(x,q){function F(a){q&&e.warn(a)}y.uN=x.getParameter(x.MAX_COMBINED_TEXTURE_IMAGE_UNITS);
  79. y.qs=x.getParameter(x.MAX_FRAGMENT_UNIFORM_VECTORS);y.Ew=x.getParameter(x.MAX_TEXTURE_IMAGE_UNITS);y.rs=x.getParameter(x.MAX_VARYING_VECTORS);y.Fw=x.getParameter(x.MAX_VERTEX_ATTRIBS);y.sC=x.getParameter(x.MAX_VERTEX_TEXTURE_IMAGE_UNITS);y.hp=x.getParameter(x.MAX_VERTEX_UNIFORM_VECTORS);y.Sh=x.getParameter(x.MAX_CUBE_MAP_TEXTURE_SIZE);y.Bw=x.getParameter(x.MAX_RENDERBUFFER_SIZE);y.oc=x.getParameter(x.MAX_TEXTURE_SIZE);y.Gw=x.getParameter(x.MAX_VIEWPORT_DIMS);m.Vb&&!k.enabled&&(m.ho=!0);m.Vb?(m.pc=
  80. Math.min(m.pc,x.getParameter(x.MAX_SAMPLES)),f("Firefox")&&(F("Firefox and WebGL 2 detected, applying framebuffer hack, disabling anchor visibility"),m.Xz=!0),f("Windows")&&f("Chrome")&&(F("Windows, Chrome and WebGL 2 detected, applying multisample hack, disabling MSAA."),m.pc=1)):m.pc=1;f("Firefox")&&"NONE"!==m.stereo&&(F("Firefox and Stereo rendering detected, disable texture reusage"),m.SA=!0);if(m.Vb&&p.VI()||f("Firefox"))F("Firefox detected, disabling multisample"),m.pc=1;u.TO();var E=Boolean(D.OL());
  81. f("Firefox/28.0")&&(f("Linux")||f("Macintosh"))&&(F("Firefox 28 detected, applying depth hack"),E=!1);f("Windows Phone")||(f("iPad")||f("iPhone")?(F("iOS detected, applying alpha hack, applying vertex animation mix normals hack, disable smaa. Disable ssao for performance. Initialize WebAudio context with empty sound. Applying glow hack."),d.alpha||(m.background_color[3]=1),m.jD=!0,m.WE=!0,m.smaa=!1,m.ssao=!1,m.precision="highp",m.hw=!0,Boolean(D.vB())&&z.Vs&&(m.io="pvr")):f("Mac OS X")&&f("Safari")&&
  82. !f("Chrome")&&(F("OS X / Safari detected, force to wait complete loading. Applying playback rate hack for video textures. Applying canvas alpha hack."),m.iD=!0,H.qz=!0,H.dA=!0));f("Windows")&&(f("Chrome/40")||f("Firefox/33")||f("Firefox/34")||f("Firefox/35")||f("Firefox/36"))&&(F("Windows/Chrome40 or Firefox33-36 detected. Applying clear procedural skydome hack."),m.Ru=!0);f("Chrome")&&!c()&&g.QB()&&(F('Chrome (non-mobile) was detected for a single HTML-exported file. "Background Music" speakers were changed to "Background Sound".'),
  83. m.cA=!0);f("Mac OS X")&&(m.os=!0,F("OS X detected, applying shadows hack."));c()&&(F("Mobile detected, applying various hacks for video textures."),m.is_mobile_device=!0,f("iPad")||f("iPhone")||f("Windows Phone")||(F("Mobile (not iOS) detected, disable playback rate for video textures."),H.JA=!0));(f("Firefox/35.0")||f("Firefox/36.0"))&&f("Windows")&&(F("Windows/Firefox 35/36 detected, applying shadows slink hack"),m.FD=!0);if(f("iPhone")||b()||f("Edge"))F("iPhone, IE11 or Edge detected. Enable sequential video fallback for video textures."),
  84. m.Ip=!0;10>y.rs&&(F("Not enough varyings, disable shadows on blend objects"),m.rv=!0);f("Windows Phone")&&(F("Windows Phone detected. Disable debug view mode, glow materials, ssao, smaa, shadows, reflections, refractions."),m.debug_view=!1,m.precision="highp",m.Nh=!1,m.ssao=!1,m.smaa=!1,m.shadows=!1,m.reflections=!1,m.refractions=!1,m.VC=!1);if(f("UCBrowser")||f("Chrome")&&f("Nexus")&&m.is_mobile_device)F("Mobile Nexus Chrome or UCBrowser detected, disable workers."),v.iq=!1;var A=D.get_renderer_info();
  85. if(A){var K=x.getParameter(A.UNMASKED_VENDOR_WEBGL),A=x.getParameter(A.UNMASKED_RENDERER_WEBGL),h=/\b4\d{2}\b/;-1<K.indexOf("ARM")&&h.test(A)&&(F("ARM Mali-400 series detected, applying depth and frames blending hacks"),E=!1,t.XA=!0);-1<K.indexOf("ARM")&&-1<A.indexOf("Mali-T604")&&(F('ARM Mali-T604 detected, set "highp" precision and disable shadows.'),m.precision="highp",m.shadows=!1);-1<K.indexOf("ARM")&&-1<A.indexOf("Mali-T760")&&(F('ARM Mali-T760 detected, set "highp" precision and disable SSAO.'),
  86. m.precision="highp",m.ssao=!1,m.it=!0,m.Vb&&(m.pc=1,F("ARM Mali-T760 and WebGL 2 detected, switch MSAA samples to 1.")));-1<K.indexOf("Qualcomm")&&-1<A.indexOf("Adreno")&&(F("Qualcomm Adreno detected, applying shader constants hack."),m.Cx=!0,-1<A.indexOf("305")&&(F('Qualcomm Adreno305 detected, set "highp" precision.'),m.precision="highp"),-1<A.indexOf("330")&&(F('Qualcomm Adreno330 detected, set "highp" precision.'),m.precision="highp"),-1<A.indexOf("420")&&(F("Qualcomm Adreno420 detected, setting max cubemap size to 4096, setting max texture size to 4096."),
  87. y.oc=4096,y.Sh=4096));-1<K.indexOf("NVIDIA")&&-1<A.indexOf("Tegra 3")&&(F("NVIDIA Tegra 3 detected, force low quality for B4W_LEVELS_OF_QUALITY nodes."),m.UA=!0);f("Windows")&&f("Chrome")&&!f("Edge")&&(A.match(/NVIDIA GeForce 8..0/)||A.match(/NVIDIA GeForce 9..0/)||A.match(/NVIDIA GeForce( (G|GT|GTS|GTX))? 2../))&&(F("Chrome / Windows / NVIDIA GeForce 8/9/200 series detected, setting max cubemap size to 256, use canvas for resizing."),y.Sh=a.Ty,m.rx=!0);-1<K.indexOf("AMD")&&f("Windows")&&f("Chrome")&&
  88. (F("AMD, Windows and Chrome detected, applying depth hack"),E=!1);-1<A.indexOf("PowerVR")&&(F("PowerVR series detected, use canvas for resizing. Disable shadows. Apply skinning hack, disable skin blending between frames."),m.rx=!0,m.it=!0,m.shadows=!1);K="";for(h=0;h<n.length;h++)if(-1<A.indexOf(n[h])){K=n[h];break}K&&(F("Architecture "+K+" detected. Blending between frames and shadows on blend objects will be disabled."),m.it=!0,m.rv=!0)}0==y.sC&&(F("Vertex textures are not allowed. Disabling vertex textures"),
  89. m.Hq=!1);E||(m.Ul=!1,m.Mc=!1,m.water_dynamic=!1,m.shore_smoothing=!1,m.Em=!1,m.smaa=!1);m.IE=Boolean(D.wB())||"pvr"==m.io;m.kr=E;if(x.getShaderPrecisionFormat)var l=x.getShaderPrecisionFormat(x.FRAGMENT_SHADER,x.HIGH_FLOAT);x.getShaderPrecisionFormat&&0!==l.precision||(m.precision="mediump");if(b()&&f("Touch")||f("Edge"))F("IE11 and touchscreen or Edge detected. Behaviour of the mouse move sensor will be changed."),m.$l=!0;if(b()||f("Edge"))m.KB=!0;c()&&f("Firefox")&&(e.log("Mobile firefox detected. Applying autoplay media hack.Setting max cubemap size to 4096, setting max texture size to 4096."),
  90. m.Iw=!0,y.oc=4096,y.Sh=4096);f("Edge")&&(F("Microsoft Edge detected, set up new minimal texture size."),m.Bo=!0)};a.Pu=f;a.detect_mobile=c;a.RH=function(){f("Firefox/35.0")&&f("Windows")&&(e.warn("Windows/Firefox 35 detected, forcing context's alpha"),g.context.alpha=!0)};a.is_ie11=b};fdage.module.__constraints=function(a,q){function f(a){var b={};b.type=a;return b}function c(a,d){a.bc&&a.bc.wa&&b(a.bc.wa,a);if(d.wa){var c=d.wa;-1==c.je.indexOf(a)?c.je.push(a):y.q("Descendant object override is forbidden")}a.bc=d}function b(a,b){var d=a.je.indexOf(b);-1!=d?a.je.splice(d,1):y.q("No descendant object")}function g(a,b,c){switch(b.type){case 1:var f=d.get_quat_view(a.k.n),m=b.wa.k.n;c=d.get_quat_view(b.wa.k.n);b.Gd?(k.copy(b.Gd,f),k.multiply(c,f,f)):k.copy(c,f);var C=d.transform_vec3(b.offset,
  91. m,x);d.set_trans(C,a.k.n);C=d.get_scale(b.wa.k.n);d.set_scale(b.Fp*C,a.k.n);break;case 9:C=d.get_trans_view(a.k.n);f=d.get_quat_view(a.k.n);m=b.wa.k.n;c=d.get_quat_view(b.wa.k.n);k.multiply(k.invert(b.Wk,b.Wk),f,f);k.multiply(c,f,f);d.transform_vec3(b.offset,m,C);k.copy(c,b.Wk);break;case 10:C=d.get_trans_view(a.k.n);f=d.get_quat_view(a.k.n);m=b.wa.k.n;c=d.get_quat_view(b.wa.k.n);k.multiply(k.invert(b.Wk,b.Wk),f,f);k.multiply(c,f,f);d.transform_vec3(b.offset,m,C);k.copy(c,b.Wk);C=d.get_quat_view(a.k.n);
  92. f=d.get_quat_view(b.wa.k.n);f=k.multiply(f,b.Gd,A);f=n.Kv(f,v);C=n.Kv(C,z);n.rotate_eye_camera(a,y.$j(C[0],f[0]+b.$I,f[0]+b.ZI),y.$j(C[1],f[1]+b.YI,f[1]+b.aJ));break;case 13:var C=d.get_trans_view(a.k.n),f=d.get_quat_view(a.k.n),m=b.wa.k.n,g=d.get_trans_view(m),p=b.zP,E=x,V=A;d.transform_vec3(b.offset,m,E);y.smooth_v(E,C,c,p,C);m=x;H.sub(g,C,m);H.normalize(m,m);var ka=f,C=K,g=C.subarray(0,3),E=C.subarray(3,6),ja=C.subarray(6,9);H.copy(m,ja);H.negate(ja,ja);H.normalize(ja,ja);Boolean(.999999<Math.abs(H.dot(m,
  93. y.AXIS_Z)))?(m=t.fromQuat(k.normalize(ka,V),h),H.copy(m.subarray(0,3),g)):H.cross(y.AXIS_Z,ja,g);H.normalize(g,g);H.cross(ja,g,E);H.normalize(E,E);k.fromMat3(C,V);k.normalize(V,V);y.OD(V,f,c,.16*p,f);break;case 2:f=d.get_quat_view(a.k.n);c=l;u.get_bone_tsr(b.wa,b.Yj,!0,!1,c);d.multiply(b.wa.k.n,c,c);f[0]=c[4];f[1]=c[5];f[2]=c[6];f[3]=c[7];b.Gd&&(k.copy(b.Gd,f),k.multiply(f,b.Gd,f));d.set_scale(b.Fp*c[3],a.k.n);C=d.get_trans_view(a.k.n);d.transform_vec3(b.offset,c,C);break;case 3:C=d.get_trans_view(a.k.n);
  94. f=d.get_quat_view(a.k.n);c=d.get_trans_view(b.wa.k.n);D(C,f,c);break;case 4:C=d.get_trans_view(a.k.n);f=d.get_quat_view(a.k.n);c=b.target;D(C,f,c);break;case 5:C=d.get_trans_view(a.k.n);f=d.get_quat_view(a.k.n);c=d.get_trans_view(b.wa.k.n);D(C,f,c);f=H.dist(C,c);if(f=f>b.dist_max?f-b.dist_max:f<b.wo?f-b.wo:0)H.sub(c,C,x),H.normalize(x,x),H.scale(x,f,x),H.add(C,x,C);break;case 6:C=d.get_trans_view(a.k.n);f=d.get_quat_view(a.k.n);c=b.target;D(C,f,c);f=H.dist(C,c);if(f=f>b.dist_max?f-b.dist_max:f<b.wo?
  95. f-b.wo:0)H.sub(c,C,x),H.normalize(x,x),H.scale(x,f,x),H.add(C,x,C);break;case 7:m=b.wa.k.n;C=d.get_trans_view(a.k.n);d.transform_vec3(b.offset,m,C);break;case 8:g=d.get_trans_view(b.wa.k.n);C=d.get_trans_view(a.k.n);H.add(g,b.offset,C);break;case 14:f=d.get_quat_view(a.k.n);m=b.wa.k.n;c=d.get_quat_view(b.wa.k.n);b.Gd?(k.copy(b.Gd,f),k.multiply(c,f,f)):k.copy(c,f);C=d.get_trans_view(a.k.n);d.transform_vec3(b.offset,m,C);break;case 11:d.multiply(b.wa.k.n,b.Bt,a.k.n);break;case 12:C=b.Bt;c=l;u.get_bone_tsr(b.wa,
  96. b.Yj,!0,!1,c);d.multiply(b.wa.k.n,c,c);d.multiply(c,C,a.k.n);break;case 15:f=b.wa,c=n.RL(f),C=d.get_trans_view(a.k.n),m=n.Yl(c,"LEFT"),g=n.Yl(c,"RIGHT"),p=n.Yl(c,"TOP"),V=n.Yl(c,"BOTTOM"),E="heights"==b.hor_units?p-V:g-m,b.hC?(m=n.Yl(c,"LEFT"),C[0]=m+E*b.tw):(g=n.Yl(c,"RIGHT"),C[0]=g-E*b.tw),m="heights"==b.vert_units?p-V:g-m,C[1]=b.rE?p-m*b.ay:V+m*b.ay,n.JM(c)?C[2]=-b.distance:(C[2]=-1,H.normalize(C,C),H.scale(C,b.distance/Math.abs(C[2]),C)),d.transform_dir_vec3(C,f.k.n,C),c=d.get_trans_view(f.k.n),
  97. H.add(c,C,C),C=d.get_quat_view(a.k.n),f=d.get_quat_view(f.k.n),b.Gd?(k.copy(b.Gd,C),k.multiply(f,C,C)):k.copy(f,C)}"CAMERA"==a.k.type&&(C=a.k.Ae,10==b.type&&(c=d.get_quat_view(b.wa.k.n),C=H.transformQuat(C,c,w)),n.ny(a),e(a,C))}function p(a,b){switch(b.type){case 1:var c=b.target.k.n,h=l;d.invert(a.k.n,h);d.multiply(h,c,h);u.set_bone_tsr(a,b.Yj,h,!1)}a.Rw=!0}function D(a,b,d){var c=x;y.quat_to_dir(b,y.AXIS_MZ,c);H.normalize(c,c);var h=M;H.subtract(d,a,h);H.normalize(h,h);a=y.wx(c,h,E);k.multiply(a,
  98. b,b);k.normalize(b,b)}function e(a,b,c){var h=a.k,f=d.get_quat_view(h.n),e=y.quat_to_dir(f,y.AXIS_Z,x);H.normalize(e,e);if(.999999<Math.abs(H.dot(b,e)))e=k.identity(A);else{var l=H.cross(b,e,M);H.normalize(l,l);h.jb==n.MS_TARGET_CONTROLS?h.xj&&H.negate(l,l):(h=y.quat_to_dir(f,y.AXIS_MY,F),0<H.dot(h,b)&&H.negate(l,l));h=y.quat_to_dir(f,y.AXIS_X,F);H.normalize(h,h);var m=y.clamp(H.dot(h,l),-1,1),e=-.999999>=m?k.setAxisAngle(e,Math.acos(m),A):k.rotationTo(h,l,A);k.normalize(e,e)}k.multiply(e,f,f);c&&
  99. (c=y.quat_to_dir(f,y.AXIS_Y,x),0>H.dot(b,c)&&k.rotateZ(f,Math.PI,f));n.ny(a)}var u=q("__armature"),n=q("__camera"),t=q("__mat3"),m=q("__print"),k=q("__quat"),d=q("__tsr"),y=q("__util"),H=q("__vec3");a.CR=1;a.BR=2;a.GR=3;a.HR=4;a.wR=5;a.xR=6;a.DR=7;a.vR=8;a.AR=9;a.zR=10;a.tR=11;a.uR=12;a.yR=13;a.ER=14;a.FR=15;a.sR=1;var v=new Float32Array(2),z=new Float32Array(2),x=new Float32Array(3),M=new Float32Array(3),F=new Float32Array(3),E=new Float32Array(4),A=new Float32Array(4),K=new Float32Array(9),h=new Float32Array(9),
  100. l=d.create(),w=new Float32Array(3);a.kz=function(a,b,d,h,e){var l=f(1);l.wa=b;l.offset=new Float32Array(d);l.Gd=h?new Float32Array(h):null;l.Fp=e;c(a,l);g(a,l,0)};a.IH=function(a,b,d,h,e,l){var k=f(2);k.wa=b;k.Yj=d;k.offset=new Float32Array(h);k.Gd=e?new Float32Array(e):null;k.Fp=l;c(a,k);g(a,k,0)};a.GH=function(a,b,h,e){var l=f(9),m=d.get_quat_view(a.k.n),t=d.get_quat_view(b.k.n);l.wa=b;l.offset=new Float32Array(h);l.Wk=new Float32Array(t);e&&(k.copy(e,m),k.multiply(t,m,m));c(a,l);g(a,l,0)};a.FH=
  101. function(a,b,h,e,l,m,t,n){var w=f(10),V=d.get_quat_view(a.k.n),p=d.get_quat_view(b.k.n);w.wa=b;w.offset=new Float32Array(h);w.Wk=new Float32Array(p);w.ZI=y.angle_wrap_0_2pi(l);w.$I=y.angle_wrap_0_2pi(m);w.aJ=y.angle_wrap_periodic(t,-Math.PI,Math.PI);w.YI=y.angle_wrap_periodic(n,-Math.PI,Math.PI);e?(w.Gd=new Float32Array(e),k.copy(e,V),k.multiply(p,V,V)):w.Gd=k.create();c(a,w);g(a,w,0)};a.EH=function(a,b,d,h){var e=f(13);e.wa=b;e.offset=new Float32Array(d);e.zP=h;c(a,e);g(a,e,0)};a.LH=function(a,b,
  102. d,h){var e=f(14);e.wa=b;e.offset=new Float32Array(d);e.Fp=1;e.Gd=h?new Float32Array(h):null;c(a,e);g(a,e,0)};a.DT=b;a.NH=function(a,b){var d=f(3);d.wa=b;c(a,d);g(a,d,0)};a.OH=function(a,b){var d=f(4);d.target=new Float32Array(b);c(a,d);g(a,d,0)};a.AH=function(a,b,d,h){var e=f(5);e.wa=b;e.wo=d;e.dist_max=h;c(a,e);g(a,e,0)};a.BH=function(a,b,d,h){var e=f(6);e.target=new Float32Array(b);e.wo=d;e.dist_max=h;c(a,e);g(a,e,0)};a.KH=function(a,b,d){var h=f(7);h.wa=b;h.offset=new Float32Array(d);c(a,h);g(a,
  103. h,0)};a.xH=function(a,b,d){var h=f(8);h.wa=b;h.offset=new Float32Array(d);c(a,h);g(a,h,0)};a.vH=function(a,b,d){var h=f(11);h.wa=b;h.Bt=new Float32Array(d);c(a,h);g(a,h,0)};a.wH=function(a,b,d,h){var e=f(12);e.wa=b;e.Yj=d;e.Bt=new Float32Array(h);c(a,e);g(a,e,0)};a.append_stiff_viewport=function(a,b,d){var h=f(15);h.wa=b;if(y.sf(d.left))h.hC=!0,h.tw=d.left;else if(y.sf(d.right))h.hC=!1,h.tw=d.right;else{m.error("append_stiff_viewport: Wrong positioning params");return}if(y.sf(d.top))h.rE=!0,h.ay=
  104. d.top;else if(y.sf(d.bottom))h.rE=!1,h.ay=d.bottom;else{m.error("append_stiff_viewport: Wrong positioning params");return}y.sf(d.distance)?(h.distance=d.distance,h.Gd=y.sf(d.rotation)?new Float32Array(d.rotation):null,h.hor_units=y.sf(d.hor_units)?d.hor_units:"widths",h.vert_units=y.sf(d.vert_units)?d.vert_units:"heights",c(a,h),g(a,h,0)):m.error("append_stiff_viewport: Wrong positioning params")};a.yQ=function(a,b){a.bc&&g(a,a.bc,b)};a.JH=function(a,b,d,c,h){var e=f(1);e.Yj=d;e.target=b;e.offset=
  105. new Float32Array(c);e.Gd=h?new Float32Array(h):null;e.Fp=1;b=e.target;d=e.Yj;c=a.k.Qf[d];h=b.Xu;for(var l=0;l<h;l++){var k=h[l];if(k[0]==a&&k[1]==d){h.splice(l,1);break}}b.Xu.push([a,d]);c.bc=e;p(a,e)};a.sQ=function(a,b){var d=a.k.Qf[b];d.bc&&p(a,d.bc)};a.EO=D;a.correct_up=e;a.OI=function(a){return a.bc?!0:!1};a.remove=function(a){a.bc.wa&&b(a.bc.wa,a);a.bc=null};a.XS=function(a){return a.bc?a.bc.type:null};a.qf=function(a){a=a.bc;return!a||11!=a.type&&12!=a.type?!1:!0};a.Cr=function(a){if((a=a.bc)&&
  106. 11==a.type)return a.wa.k.n;if(a&&12==a.type){var b=l;u.get_bone_tsr(a.wa,a.Yj,!0,!1,b);d.multiply(a.wa.k.n,b,b);return b}return null};a.pf=function(a){a=a.bc;return!a||11!=a.type&&12!=a.type?null:a.Bt}};fdage.module.__container=function(a,q){var f,c,b,g,p;function D(a,b){f=a;c=b}function e(){var a=K.getBoundingClientRect();D(a.left,a.top)}function u(){return F.allow_hidpi&&2<=window.devicePixelRatio?!0:!1}function n(b,c,e){if(!b||!c){b=a.au;c=a.$t;var f=l;f.style.width=a.au+"px";f.style.height=a.$t+"px"}var f=K,m=h;!1!==e&&(f.style.width=b+"px",f.style.height=c+"px",m&&(m.style.width=b+"px",m.style.height=c+"px"));m&&(m.width=b,m.height=c,d.Xp());e=Math.floor(b*F.canvas_resolution_factor);c=Math.floor(c*
  107. F.canvas_resolution_factor);u()&&(e*=window.devicePixelRatio,c*=window.devicePixelRatio);if(m=v.Vg())m=m.s,e=Math.floor(e*m.Am),c=Math.floor(c*m.Am);f.width=e;f.height=c;var m=Math.min(A.drawingBufferWidth,E.Bw,E.Gw[0]),n=Math.min(A.drawingBufferHeight,E.Bw,E.Gw[1]);if(e>m||c>n)H.warn("Canvas size exceeds platform limits, downscaling"),m=Math.min(m/e,n/c),e*=m,c*=m,f.width=e,f.height=c;v.xD(e,c,e/b);v.sa()&&x.B(v.get_active().si);k.CQ(f.width,f.height);k.is_primary_loaded()&&(t.update(),v.update(z.get_timeline(),
  108. 0),t.HE())}var t=q("__anchors"),m=q("__config"),k=q("__data"),d=q("__hud"),y=q("__input"),H=q("__print"),v=q("__scenes"),z=q("__time"),x=q("__transform"),M=q("__util"),F=m.A,E=m.Eh,A=null,K=null,h=null,l=null,w=!1;g=b=0;p=1;f=c=0;a.au=320;a.$t=240;a.Ye=function(a){A=a};a.get_canvas=function(){return K};a.get_canvas_hud=function(){return h};a.get_container=function(){return l};a.init=function(a,b){a&&a.parentNode?(K=a,h=b,l=a.parentNode):M.q("canvas container is not available")};a.insert_to_container=
  109. function(a,b){b=b||"LAST";switch(b){case "FIRST":l.insertBefore(a,l.firstElementChild);break;case "JUST_BEFORE_CANVAS":l.insertBefore(a,K);break;case "JUST_AFTER_CANVAS":K.nextElementSibling?l.insertBefore(a,K.nextElementSibling):l.appendChild(a,K);break;case "LAST":l.appendChild(a,K);break;default:H.error(b+" invalid stack order")}};a.BB=function(){return b};a.AB=function(){return g};a.set_canvas_offsets=D;a.update_canvas_offsets=e;a.qP=function(a,d,c){b=a;g=d;p=c;e()};a.force_offsets_updating=function(){w=
  110. !0};a.client_to_canvas_coords=function(a,b,d){d||(d=new Float32Array(2));var h=d;w&&(e(),w=!1);h[0]=a-f;a=d;w&&(e(),w=!1);a[1]=b-c;return d};a.Vq=function(a,d,c,h){c||(c=new Float32Array(2));c[0]=a*p;c[1]=d*p;h&&(a=h.width/b,c[0]*=a,c[1]*=a);return c};a.gR=function(a,d,c,h){c||(c=new Float32Array(2));c[0]=a/p;c[1]=d/p;h&&(a=h.width/b,c[0]/=a,c[1]/=a)};a.RB=function(b){return b&&b.parentNode?b.parentNode==l?!0:a.RB(b.parentNode):!1};a.FM=u;a.gL=function(a){var b=document.getElementsByTagName("script");
  111. a=M.bh(a);for(var d=0;d<b.length;d++)if(b[d].src==a)return b[d];return null};a.resize=n;a.resize_to_container=function(a){var b=l,d=K,c=b.clientWidth,b=b.clientHeight;if(a||c!=d.clientWidth||b!=d.clientHeight)(a="HMD"===F.stereo&&y.CB())&&a.isPresenting||n(c,b,!0)};a.reset=function(){l=h=K=A=null}};fdage.module.__controls=function(a,q){function f(a,b){b||(b=k.get_container());return{type:a,value:0,T:null,element:b,Ba:!1,key:0,Rb:"",Lg:!1,Vu:null,Uu:function(){},Tu:null,hA:function(){},jh:null,from:new Float32Array(3),to:new Float32Array(3),PB:!1,Vr:!1,Bp:0,ZC:function(){},axis:"",bf:0,Wm:new Float32Array(3),Ws:new Float32Array(4),threshold:0,WC:new Float32Array(4),Mq:0,Lq:0,hD:0,Nq:0,Xe:0,repeat:!1,NA:!1,xk:0,callback:function(){}}}function c(a){function b(){return{Ei:new Float32Array(2),Kk:!0,
  112. obj:null,identifier:-1,ds:!0}}a||(a=k.get_container());for(var c=0;c<J.length;c++){var h=J[c];if(a==h.element)return h}h={element:a,Zo:!0,Td:0,es:!0,ws:0,xs:0,Pk:0,Qk:0,vp:0,wp:0,xg:new Float32Array(2),Jd:new Float32Array(2),yg:new Float32Array(2),Yd:new Float32Array(2),yt:0,iy:0,sE:0,me:new Uint8Array(256),Tt:0,Xv:null,ah:b(),kl:Array(10),ow:!1,FB:z.create(),Mr:0,Lr:0,Kr:0,$v:0,Zv:0,Jr:Infinity,Ww:null,Vw:null,Nw:null,Jw:null,Lw:null,gy:null,fy:null,Mw:null,Kw:null,ex:null,oT:null,hy:null,ey:null,
  113. dy:null,$h:{}};for(c=0;10>c;++c)h.kl[c]=b();h.Ww=function(a){h.ow||(d.pM(a,h.FB),h.ow=!0)};h.Vw=function(a){a=E.copy(a,I);h.Kr=a[0];h.Lr=a[1];h.Mr=a[2];Infinity==h.Jr&&(h.Jr=a[0],h.Zv=a[1],h.$v=a[2])};h.Nw=function(a){h.Tt+=a*A.DN};h.Jw=function(a){var b=d.get_device_by_type_element(d.DEVICE_MOUSE,h.element),b=d.get_vector_param(b,d.MOUSE_LOCATION,B);h.ws=b[0];h.xs=b[1];h.Pk=b[0];h.Qk=b[1];if(3==h.Td||0==h.Td)h.Td=1;h.which=a};h.Lw=function(){var a=d.get_device_by_type_element(d.DEVICE_MOUSE,h.element),
  114. a=d.get_vector_param(a,d.MOUSE_LOCATION,B),a=k.client_to_canvas_coords(a[0],a[1],B);h.ah.Kk=!1;h.ah.Ei[0]=a[0];h.ah.Ei[1]=a[1]};h.gy=function(a){for(var b=0;b<a.length;++b){for(var d=a[b],c=null,e=null,f=0;f<h.kl.length;f++){var l=h.kl[f];if(l.identifier==d.identifier){l.ds&&(e=l);break}else!c&&l.ds&&(c=l,c.identifier=d.identifier)}if(d=e||c)c=k.client_to_canvas_coords(a[b].clientX,a[b].clientY,B),d.Kk=!1,d.ds=!1,d.Ei[0]=c[0],d.Ei[1]=c[1]}};h.fy=function(a){for(var b=0;b<h.kl.length;++b){for(var d=
  115. h.kl[b],c=!1,e=0;e<a.length;++e)if(a[e].identifier==d.identifier){c=!0;break}c||(d.Kk=!0,d.ds=!0,d.obj=null)}};h.Mw=function(a){var b=d.get_device_by_type_element(d.DEVICE_MOUSE,h.element),b=d.get_vector_param(b,d.MOUSE_LOCATION,B);h.ws=b[0];h.xs=b[1];h.Pk=b[0];h.Qk=b[1];0<h.Td&&(h.Td=3);h.which=a};h.Kw=function(a){if(!K.$l||h.Td)h.Pk=a[0],h.Qk=a[1]};h.ex=function(a){if(!K.$l||h.Td)h.vp+=a[0],h.wp+=a[1]};h.aC=function(a){2!=h.me[a]&&(h.me[a]=1,h.Zo=!1)};h.cC=function(){for(var a=0;a<h.me.length;a++)0!=
  116. h.me[a]&&(h.me[a]=3,h.Zo=!1)};h.dC=function(a){h.Zo=!1;h.me[a]=3};h.hy=function(a){h.es=!1;if(1==a.length)h.xg[0]=a[0].clientX,h.xg[1]=-1,h.yg[0]=a[0].clientY,h.yg[1]=-1;else if(1<a.length){h.yt=h.iy=n(a);h.xg[0]=a[0].clientX;h.xg[1]=a[1].clientX;h.yg[0]=a[0].clientY;h.yg[1]=a[1].clientY;var b=a[0];a=a[1];h.sE=Math.atan2(b.clientY-a.clientY,b.clientX-a.clientX)}h.Jd.set(h.xg);h.Yd.set(h.yg)};h.ey=function(a){1===a.length?(h.Jd[0]=a[0].clientX,h.Jd[1]=-1,h.Yd[0]=a[0].clientY,h.Yd[1]=-1):1<a.length&&
  117. (h.Jd[0]=a[0].clientX,h.Jd[1]=a[1].clientX,h.Yd[0]=a[0].clientY,h.Yd[1]=a[1].clientY,h.yt=n(a))};h.dy=function(a){0==a.length&&(h.es=!0)};J.push(h);return h}function b(a,b){if(b in a.$h&&0<a.$h[b])a.$h[b]+=1;else switch(a.$h[b]=1,b){case "orientation_quat":var c=d.get_device_by_type_element(d.DEVICE_GYRO);c&&d.attach_param_cb(c,d.GYRO_ORIENTATION_ANGLES,a.Ww);break;case "orientation_angles":(c=d.get_device_by_type_element(d.DEVICE_GYRO))&&d.attach_param_cb(c,d.GYRO_ORIENTATION_ANGLES,a.Vw);break;
  118. case "mouse_wheel":(c=d.get_device_by_type_element(d.DEVICE_MOUSE,a.element))&&d.attach_param_cb(c,d.MOUSE_WHEEL,a.Nw);break;case "mouse_down_which":(c=d.get_device_by_type_element(d.DEVICE_MOUSE,a.element))&&d.attach_param_cb(c,d.MOUSE_DOWN_WHICH,a.Jw);break;case "mouse_select":(c=d.get_device_by_type_element(d.DEVICE_MOUSE,a.element))&&d.attach_param_cb(c,d.MOUSE_DOWN_WHICH,a.Lw);break;case "touch_select":if(c=d.get_device_by_type_element(d.DEVICE_TOUCH,a.element))d.attach_param_cb(c,d.TOUCH_START,
  119. a.gy),d.attach_param_cb(c,d.TOUCH_END,a.fy);break;case "mouse_up_which":(c=d.get_device_by_type_element(d.DEVICE_MOUSE,a.element))&&d.attach_param_cb(c,d.MOUSE_UP_WHICH,a.Mw);break;case "mouse_location":(c=d.get_device_by_type_element(d.DEVICE_MOUSE,a.element))&&d.attach_param_cb(c,d.MOUSE_LOCATION,a.Kw);break;case "mouse_pointerlock":(c=d.get_device_by_type_element(d.DEVICE_MOUSE,a.element))&&d.attach_param_cb(c,d.My,a.ex);break;case "keyboard_downed_keys":if(c=d.get_device_by_type_element(d.DEVICE_KEYBOARD,
  120. a.element))d.attach_param_cb(c,d.KEYBOARD_DOWN,a.aC),d.attach_param_cb(c,d.Ly,a.cC),d.attach_param_cb(c,d.KEYBOARD_UP,a.dC);break;case "touch_start":(c=d.get_device_by_type_element(d.DEVICE_TOUCH,a.element))&&d.attach_param_cb(c,d.TOUCH_START,a.hy);break;case "touch_move":(c=d.get_device_by_type_element(d.DEVICE_TOUCH,a.element))&&d.attach_param_cb(c,d.TOUCH_MOVE,a.ey);break;case "touch_end":(c=d.get_device_by_type_element(d.DEVICE_TOUCH,a.element))&&d.attach_param_cb(c,d.TOUCH_END,a.dy)}}function g(a,
  121. b){if(!(!b in a.$h)&&0<a.$h[b]&&(--a.$h[b],!a.$h[b]))switch(b){case "orientation_quat":var c=d.get_device_by_type_element(d.DEVICE_GYRO);c&&d.detach_param_cb(c,d.GYRO_ORIENTATION_QUAT,a.Ww);break;case "orientation_angles":(c=d.get_device_by_type_element(d.DEVICE_GYRO))&&d.detach_param_cb(c,d.GYRO_ORIENTATION_ANGLES,a.Vw);break;case "mouse_wheel":(c=d.get_device_by_type_element(d.DEVICE_MOUSE,a.element))&&d.detach_param_cb(c,d.MOUSE_WHEEL,a.Nw);break;case "mouse_down_which":(c=d.get_device_by_type_element(d.DEVICE_MOUSE,
  122. a.element))&&d.detach_param_cb(c,d.MOUSE_DOWN_WHICH,a.Jw);break;case "mouse_select":(c=d.get_device_by_type_element(d.DEVICE_MOUSE,a.element))&&d.detach_param_cb(c,d.MOUSE_DOWN_WHICH,a.Lw);break;case "touch_select":if(c=d.get_device_by_type_element(d.DEVICE_TOUCH,a.element))d.detach_param_cb(c,d.TOUCH_START,a.gy),d.detach_param_cb(c,d.TOUCH_END,a.fy);break;case "mouse_up_which":(c=d.get_device_by_type_element(d.DEVICE_MOUSE,a.element))&&d.detach_param_cb(c,d.MOUSE_UP_WHICH,a.Mw);break;case "mouse_location":(c=
  123. d.get_device_by_type_element(d.DEVICE_MOUSE,a.element))&&d.detach_param_cb(c,d.MOUSE_LOCATION,a.Kw);break;case "mouse_pointerlock":(c=d.get_device_by_type_element(d.DEVICE_MOUSE,a.element))&&d.detach_param_cb(c,d.My,a.ex);break;case "keyboard_downed_keys":if(c=d.get_device_by_type_element(d.DEVICE_KEYBOARD,a.element))d.detach_param_cb(c,d.KEYBOARD_DOWN,a.aC),d.detach_param_cb(c,d.Ly,a.cC),d.detach_param_cb(c,d.KEYBOARD_UP,a.dC);break;case "touch_start":(c=d.get_device_by_type_element(d.DEVICE_TOUCH,
  124. a.element))&&d.detach_param_cb(c,d.TOUCH_START,a.hy);break;case "touch_move":(c=d.get_device_by_type_element(d.DEVICE_TOUCH,a.element))&&d.detach_param_cb(c,d.TOUCH_MOVE,a.ey);break;case "touch_end":(c=d.get_device_by_type_element(d.DEVICE_TOUCH,a.element))&&d.detach_param_cb(c,d.TOUCH_END,a.dy)}}function p(a,b){a.value=Number(b)}function D(a){for(var b=a.pj,d=a.LO,c=0;c<b.length;c++)d[c]=b[c].value;return a.nN(d)}function e(a,b){a=a||l;var d=a.ug;if(d){var c=a.cl;if(b){var f=d[b];if(f){for(var k=
  125. f.pj,m=0;m<k.length;m++){var t=k[m],n;n=w.indexOf(t);n=-1<n?r[n]:[];1==n.length?(u(t),t=w.indexOf(t),-1<t?(w.splice(t,1),r.splice(t,1)):F.q("Sensors cache is corrupted")):1<n.length&&n.splice(n.indexOf(f),1)}delete d[b];m=c.indexOf(f);-1<m?c.splice(m,1):F.q("Incorrect manifolds array");Object.getOwnPropertyNames(d).length||(d=h.indexOf(a),-1<d?h.splice(d,1):H.error("Wrong object"))}}else{c=[];for(b in d)c.push(b);for(m=0;m<c.length;m++)e(a,c[m])}N=!0}}function u(a){switch(a.type){case 90:v.remove_collision_test(a.Vu,
  126. a.Rb,a.Uu);a.Ba=!0;break;case 100:v.clear_collision_impulse_test(a.Tu);a.Ba=!0;break;case 110:v.remove_ray_test(a.Bp);a.Ba=!0;break;case 140:a.Ba=!0;break;case 20:var b=c(a.element);g(b,"keyboard_downed_keys");a.Ba=!0;break;case 30:b=c(a.element);g(b,"mouse_wheel");a.Ba=!0;break;case 40:b=c(a.element);g(b,"mouse_down_which");g(b,"mouse_up_which");g(b,"mouse_location");a.Ba=!0;break;case 260:b=c(a.element);g(b,"mouse_pointerlock");a.Ba=!0;break;case 50:b=c(a.element);g(b,"mouse_down_which");g(b,"mouse_up_which");
  127. a.Ba=!0;break;case 60:b=c(a.element);g(b,"touch_start");g(b,"touch_move");g(b,"touch_end");a.Ba=!0;break;case 70:b=c(a.element);g(b,"touch_start");g(b,"touch_move");a.Ba=!0;break;case 75:b=c(a.element);g(b,"touch_start");g(b,"touch_move");a.Ba=!0;break;case 80:b=c(a.element);g(b,"touch_start");g(b,"touch_end");a.Ba=!0;break;case 170:b=c(a.element);g(b,"mouse_select");g(b,"touch_select");g(b,"touch_start");g(b,"touch_end");g(b,"mouse_down_which");g(b,"mouse_up_which");a.Ba=!0;break;case 180:case 190:b=
  128. c(a.element);g(b,"orientation_angles");a.Ba=!0;break;case 200:b=c(a.element);g(b,"orientation_quat");a.Ba=!0;break;case 210:case 220:a.Ba=!0}}function n(a){var b=a[0],d=a[1];a=b.clientX-d.clientX;b=b.clientY-d.clientY;return Math.sqrt(a*a+b*b)}function t(a){return 0==a?d.get_device_by_type_element(d.rq):1==a?d.get_device_by_type_element(d.bu):2==a?d.get_device_by_type_element(d.cu):d.get_device_by_type_element(d.du)}var m=q("__config"),k=q("__container"),d=q("__input"),y=q("__objects"),H=q("__print"),
  129. v=q("__physics"),z=q("__quat"),x=q("__time"),M=q("__tsr"),F=q("__util"),E=q("__vec3"),A=m.controls,K=m.A,h=[],l={},w=[],r=[],J=[],B=new Float32Array(2),Z=new Float32Array(2),I=E.create(),C=z.create(),N=!1,Q=0;a.CT_POSITIVE=10;a.CT_CONTINUOUS=20;a.CT_TRIGGER=30;a.CT_SHOT=40;a.CT_LEVEL=50;a.CT_CHANGE=60;a.PL_SINGLE_TOUCH_MOVE=0;a.PL_MULTITOUCH_MOVE_ZOOM=1;a.PL_MULTITOUCH_MOVE_PAN=2;a.PL_MULTITOUCH_MOVE_ROTATE=3;var W=1;a.update=function(b,e){for(var f=0;f<J.length;f++){var k=J[f];k.ah.Kk||(k.ah.obj=
  130. y.pick_object(k.ah.Ei[0],k.ah.Ei[1]),k.ah.Kk=!0,k.Xv=k.ah.obj);for(var m=0;10>m;++m){var n=k.kl[m];n.Kk||(n.obj=y.pick_object(n.Ei[0],n.Ei[1]),n.Kk=!0,k.Xv=n.obj)}}for(f=0;f<w.length;f++)if(k=w[f],n=b,m=e)switch(k.type){case 120:var G=k.jh,r=M.Yb(G.k.n,I),G=M.sd(G.k.n,C),g=E.dist(k.Wm,r),u=k.WC;z.invert(k.Ws,u);z.multiply(G,u,u);z.normalize(u,u);u=Math.abs(2*Math.acos(u[3]));g/=m;k.Mq=F.smooth(g,k.Mq,m,.3);k.T[0]=g;g=u/m;k.Lq=F.smooth(g,k.Lq,m,.3);k.T[1]=g;k.Mq>=k.threshold||k.Lq>=k.hD?p(k,1):p(k,
  131. 0);E.copy(r,k.Wm);z.copy(G,k.Ws);k.bf=n;break;case 130:G=k.jh;r=M.Yb(G.k.n,I);G=Math.abs(r[1]-k.Wm[1])/m;k.Nq=F.smooth(G,k.Nq,m,.3);k.T=G;k.Nq>=k.threshold?p(k,1):p(k,0);E.copy(r,k.Wm);k.bf=n;break;case 140:!k.Ba&&0<=k.Xe&&n-k.bf>=k.Xe&&(p(k,1),k.repeat?k.bf=n:k.Xe=-k.Xe);break;case 150:k.bf||(k.bf=n);p(k,n-k.bf);k.bf=n;break;case 160:p(k,n);break;case 180:n=c(k.element);k.T[0]=n.Mr-n.$v;k.T[1]=n.Lr-n.Zv;k.T[2]=n.Kr-n.Jr;break;case 190:n=c(k.element);k.T[0]=n.Mr;k.T[1]=n.Lr;k.T[2]=n.Kr;break;case 200:n=
  132. c(k.element);z.copy(n.FB,k.T);break;case 210:m=d.get_device_by_type_element(d.DEVICE_HMD);d.get_vector_param(m,d.HMD_ORIENTATION_QUAT,k.T);break;case 220:m=d.get_device_by_type_element(d.DEVICE_HMD);d.get_vector_param(m,d.HMD_POSITION,k.T);break;case 240:m=t(k.xk);k.value=d.ZL(m,k.key);break;case 250:m=t(k.xk);k.value=d.YL(m,k.key);break;case 230:p(k,k.callback());break;case 30:n=c(k.element);p(k,n.Tt);break;case 40:n=c(k.element);if(!K.$l||1==n.Td||2==n.Td)switch(r=n.Pk-n.ws,G=n.Qk-n.xs,k.T.coords[0]=
  133. n.Pk,k.T.coords[1]=n.Qk,k.axis){case "X":p(k,r);break;case "Y":p(k,G);break;case "XY":m=Math.sqrt(r*r+G*G),p(k,m)}break;case 260:n=c(k.element);K.$l||(r=n.vp,G=n.wp,g=F.smooth(r,0,m,.1*W),m=F.smooth(G,0,m,.1*W),.01<Math.abs(r)||.01<Math.abs(G)?(n.vp-=g,n.wp-=m,k.T.coords[0]=g,k.T.coords[1]=m):(k.T.coords[0]=0,k.T.coords[1]=0),p(k,Math.sqrt(r*r+G*G)));break;case 50:n=c(k.element);p(k,0<n.Td|0);k.T.which=n.which;k.T.coords[0]=n.Pk;k.T.coords[1]=n.Qk;break;case 170:n=c(k.element);p(k,0);if(k.NA)n.Xv==
  134. k.jh&&p(k,1);else if(n.Td&&n.ah.obj==k.jh)p(k,1);else if(!n.es)for(m=0;10>m;++m)if(n.kl[m].obj==k.jh){p(k,1);break}break;case 20:n=c(k.element);k.T=n.me[k.key];1==k.T||n.me[0]&&16==k.key?p(k,1):k.T||p(k,0);break;case 60:n=c(k.element);if(-1==n.Jd[1]&&-1==n.Yd[1]){r=n.Jd[0]-n.xg[0];G=n.Yd[0]-n.yg[0];m=Math.sqrt(r*r+G*G);if(-1!=n.xg[1]&&-1!=n.yg[1]){var g=n.Jd[0]-n.xg[1],u=n.Yd[0]-n.yg[1],v=Math.sqrt(g*g+u*u);v<m&&(r=g,G=u,m=v)}k.T.gesture=a.PL_SINGLE_TOUCH_MOVE}else m=B,m[0]=(n.Jd[0]+n.Jd[1])/2,m[1]=
  135. (n.Yd[0]+n.Yd[1])/2,G=Z,G[0]=(n.xg[0]+n.xg[1])/2,G[1]=(n.yg[0]+n.yg[1])/2,r=m[0]-G[0],G=m[1]-G[1],m=Math.sqrt(r*r+G*G),k.T.gesture=a.PL_MULTITOUCH_MOVE_PAN;k.T.coords[0]=n.Jd[0];k.T.coords[1]=n.Yd[0];switch(k.axis){case "X":p(k,r);break;case "Y":p(k,G);break;case "XY":p(k,m)}break;case 70:n=c(k.element);m=n.yt-n.iy;k.T=a.PL_MULTITOUCH_MOVE_ZOOM;p(k,m);break;case 75:n=c(k.element);-1!=n.Jd[1]&&(m=Math.atan2(n.Yd[0]-n.Yd[1],n.Jd[0]-n.Jd[1]),k.T=a.PL_MULTITOUCH_MOVE_ROTATE,p(k,m-n.sE));break;case 80:n=
  136. c(k.element),k.T.coords[0]=n.Jd[0],k.T.coords[1]=n.Yd[0],n.es?p(k,0):p(k,1)}for(f=0;f<h.length;f++)for(n=h[f],k=n.cl,m=0;m<k.length;m++)if(r=k[m],r.Bj!=Q){r.Bj=Q;u=r;G=0;switch(u.type){case a.CT_POSITIVE:G=(g=D(u))?1:0;break;case a.CT_CONTINUOUS:G=u.Qh;(g=D(u))?(G=1,u.Qh=1):1==G?(G=-1,u.Qh=-1):G=0;break;case a.CT_TRIGGER:G=u.Qh;(g=D(u))&&-1==G?(G=1,u.Qh=1):g||1!=G?G=0:(G=-1,u.Qh=-1);break;case a.CT_SHOT:G=u.Qh;(g=D(u))&&-1==G?(G=1,u.Qh=1):g||1!=G?G=0:(G=0,u.Qh=-1);break;case a.CT_LEVEL:g=D(u);u.gC!=
  137. g?(G=1,u.gC=g):G=0;break;case a.CT_CHANGE:g=u.pj;u=u.RM;for(v=0;v<g.length;v++){var A=g[v].value;G||A==u[v]||(G=1);u[v]=A}break;default:F.q("Wrong sensor manifold type: "+u.type)}if(G&&(g=n==l?null:n,N=!1,r.callback(g,r.id,G,r.CI),N)){f=-1;break}}for(f=0;f<h.length;f++)for(n=h[f],k=n.cl,m=0;m<k.length;m++)for(r=k[m],n=r.pj,r=0;r<n.length;r++)switch(G=n[r],G.type){case 30:p(G,0);break;case 40:p(G,0);break;case 60:p(G,0);break;case 70:p(G,0);break;case 75:p(G,0);break;case 80:p(G,0);break;case 140:p(G,
  138. 0)}for(f=0;f<J.length;f++){k=J[f];if(!k.Zo){for(m=0;m<k.me.length;m++)1==k.me[m]?k.me[m]=2:3==k.me[m]&&(k.me[m]=0);k.Zo=!0}1==k.Td?k.Td=2:3==k.Td&&(k.Td=0);k.Tt=0;k.ws=k.Pk;k.xs=k.Qk;k.me[0]=0;k.xg.set(k.Jd);k.yg.set(k.Yd);k.iy=k.yt;k.$v=k.Mr;k.Zv=k.Lr;k.Jr=k.Kr;k.ow=!1}Q++};a.create_custom_sensor=function(a){var b=f(10);p(b,a);return b};a.create_keyboard_sensor=function(a){var b=f(20,document);b.key=a;b.Ba=!0;return b};a.create_gamepad_btn_sensor=function(a,b){var c=f(240,document);b=b||d.qB();c.xk=
  139. b;c.key=a;c.Ba=!0;return c};a.create_gamepad_axis_sensor=function(a,b){var c=f(250,document);b=void 0==b?d.qB():b;c.xk=b;c.key=a;c.Ba=!0;return c};a.create_collision_sensor=function(a,b,d){if(!a||!v.ia(a))return H.error("Wrong collision object"),null;var c=f(90);c.Vu=a;c.Rb=b;c.Lg=d;c.T={coll_obj:null,coll_pos:d?new Float32Array(3):null,coll_norm:d?new Float32Array(3):null,coll_dist:0};c.Uu=function(a,b,d,h,k){p(c,a);a=c.T;a.coll_obj=b;c.Lg&&(a.coll_pos.set(d),a.coll_norm.set(h),a.coll_dist=k)};c.Ba=
  140. !0;return c};a.create_collision_impulse_sensor=function(a){if(!a||!a.C)return H.error("Wrong collision impulse object"),null;var b=f(100);b.Tu=a;b.hA=function(a){p(b,a)};b.Ba=!0;return b};a.create_ray_sensor=function(a,b,d,c,h,k,e){var l=f(110);l.jh=a;l.from=b;l.to=d;l.Rb=c;l.PB=h;l.Lg=k;l.Vr=e;l.T={hit_fract:0,obj_hit:null,hit_time:0,hit_pos:new Float32Array(3),hit_norm:new Float32Array(3),Bp:0};l.ZC=function(a,b,d,c,h,k){l.PB?p(l,-1==b?0:1):p(l,b);l.T.hit_fract=b;l.T.obj_hit=d;l.T.hit_time=c;l.Lg&&
  141. (l.T.hit_pos.set(h),l.T.hit_norm.set(k))};l.Ba=!0;return l};a.create_mouse_click_sensor=function(a){a=f(50,a);a.Ba=!0;a.T={coords:new Float32Array(2),which:null};return a};a.create_mouse_wheel_sensor=function(a){a=f(30,a);a.Ba=!0;return a};a.create_mouse_move_sensor=function(a,b){var d=f(40,b);d.axis=a||"XY";d.T={coords:new Float32Array(2)};d.Ba=!0;return d};a.create_touch_move_sensor=function(a,b){var d=f(60,b);d.axis=a||"XY";d.T={coords:new Float32Array(2),gesture:0};d.Ba=!0;return d};a.create_touch_zoom_sensor=
  142. function(a){a=f(70,a);a.T=0;a.Ba=!0;return a};a.create_touch_rotate_sensor=function(a){a=f(75,a);a.T=0;a.Ba=!0;return a};a.create_touch_click_sensor=function(a){a=f(80,a);a.T={coords:new Float32Array(2)};a.Ba=!0;return a};a.create_motion_sensor=function(a,b,d){if(!a)return H.error("Wrong collision object"),null;var c=f(120);c.jh=a;var h=M.get_trans_view(a.k.n);a=M.get_quat_view(a.k.n);c.WC=new Float32Array(4);c.Wm=new Float32Array(h);c.Ws=new Float32Array(a);c.Mq=0;c.Lq=0;c.threshold=b||.1;c.hD=d||
  143. .1;c.bf=0;c.T=new Float32Array([0,0]);return c};a.create_vertical_velocity_sensor=function(a,b){if(!a)return H.error("Wrong collision object"),null;var d=f(130);d.jh=a;var c=M.get_trans_view(a.k.n),h=M.get_quat_view(a.k.n);d.Wm=new Float32Array(c);d.Ws=new Float32Array(h);d.Nq=0;d.threshold=b||1;d.bf=0;d.T=0;return d};a.create_timer_sensor=function(a,b){var d=f(140);d.Xe=a;d.repeat=b;d.Ba=!0;return d};a.reset_timer_sensor=function(a,b,d,c){a=a||l;a=a.ug;if(!a||!a[b])return H.error("reset_timer_sensor(): wrong object"),
  144. null;b=a[b].pj[d];if(!b)return H.error("reset_timer_sensor(): sensor not found"),null;b.bf=x.get_timeline();b.Xe=c};a.create_elapsed_sensor=function(){var a=f(150);a.bf=0;return a};a.create_gyro_delta_sensor=function(){var a=f(180,window);a.T=new Float32Array(3);d.get_device_by_type_element(d.DEVICE_GYRO)?p(a,1):p(a,0);a.Ba=!0;return a};a.create_gyro_angles_sensor=function(){var a=f(190,window);a.T=new Float32Array(3);d.get_device_by_type_element(d.DEVICE_GYRO)?p(a,1):p(a,0);a.Ba=!0;return a};a.create_gyro_quat_sensor=
  145. function(){var a=f(200,window);a.T=z.create();d.get_device_by_type_element(d.DEVICE_GYRO)?p(a,1):p(a,0);a.Ba=!0;return a};a.create_hmd_quat_sensor=function(){var a=f(210,window);a.T=z.create();d.get_device_by_type_element(d.DEVICE_HMD)?p(a,1):p(a,0);a.Ba=!0;return a};a.create_hmd_position_sensor=function(){var a=f(220,window);a.T=E.create();d.get_device_by_type_element(d.DEVICE_HMD)?p(a,1):p(a,0);a.Ba=!0;return a};a.create_timeline_sensor=function(){return f(160)};a.create_selection_sensor=function(a,
  146. b){var d=f(170);d.jh=a;d.NA=b;d.Ba=!0;return d};a.create_callback_sensor=function(a,b){var d=f(230);d.callback=a;p(d,b);return d};a.create_plock_mouse_sensor=function(a){a=f(260,a);a.T={coords:new Float32Array(2)};a.Ba=!0;return a};a.create_plock_sensor=function(a){a=f(270,a);a.Ba=!0;return a};a.KO=p;a.get_sensor_value=function(a,b,d){a=a||l;a=a.ug;if(!a||!a[b])return H.error("get_sensor_value(): wrong object"),null;b=a[b].pj[d];return b?b.value:(H.error("get_sensor_value(): sensor not found"),null)};
  147. a.get_sensor_payload=function(a,b,d){a=a||l;a=a.ug;if(!a||!a[b])return H.error("get_sensor_payload(): wrong object"),null;b=a[b].pj[d];return b?b.T:(H.error("get_sensor_payload(): sensor not found"),null)};a.cleanup=function(){h=[];l={};for(var a=0;a<w.length;a++)u(w[a]);w.length=0;r.length=0};a.check_sensor_manifold=function(a,b){a=a||l;if(!a.ug)return!1;if(b&&a.ug[b])return!0;if(!b)for(var d in a.ug)return!0;return!1};a.create_sensor_manifold=function(a,k,f,m,n,t,G){a=a||l;a.cl=a.cl||[];a.ug=a.ug||
  148. {};var g=a.ug,y=a.cl;g[k]&&e(a,k);f={id:k,type:f,pj:m.slice(0),nN:n,LO:Array(m.length),callback:t,CI:G,Qh:-1,gC:0,RM:Array(m.length),Bj:-1};g[k]=f;y.push(f);-1==h.indexOf(a)&&h.push(a);m=f.pj;for(a=0;a<m.length;a++){g=k=m[a];if(g.Ba){switch(g.type){case 90:v.append_collision_test(g.Vu,g.Rb,g.Uu,g.Lg);break;case 100:v.apply_collision_impulse_test(g.Tu,g.hA);break;case 110:g.Bp=v.append_ray_test(g.jh,g.from,g.to,g.Rb,g.ZC,!1,!1,g.Lg,g.Vr);g.T.Bp=g.Bp;break;case 140:g.bf=x.get_timeline();0>g.Xe&&(g.Xe=
  149. -g.Xe);break;case 20:y=c(g.element);b(y,"keyboard_downed_keys");break;case 30:y=c(g.element);b(y,"mouse_wheel");break;case 40:y=c(g.element);b(y,"mouse_down_which");b(y,"mouse_up_which");b(y,"mouse_location");break;case 260:y=c(g.element);b(y,"mouse_pointerlock");break;case 270:d.pH(g);break;case 50:y=c(g.element);b(y,"mouse_down_which");b(y,"mouse_up_which");break;case 60:y=c(g.element);b(y,"touch_start");b(y,"touch_move");b(y,"touch_end");break;case 70:y=c(g.element);b(y,"touch_start");b(y,"touch_move");
  150. break;case 75:y=c(g.element);b(y,"touch_start");b(y,"touch_move");break;case 80:y=c(g.element);b(y,"touch_start");b(y,"touch_end");break;case 170:y=c(g.element);b(y,"mouse_select");b(y,"touch_select");b(y,"touch_start");b(y,"touch_end");b(y,"mouse_down_which");b(y,"mouse_up_which");break;case 180:case 190:y=c(g.element);b(y,"orientation_angles");break;case 200:y=c(g.element);b(y,"orientation_quat");break;case 240:0==g.xk?d.get_device_by_type_element(d.rq):1==g.xk?d.get_device_by_type_element(d.bu):
  151. 2==g.xk?d.get_device_by_type_element(d.cu):d.get_device_by_type_element(d.du)}g.Ba=!1}g=w.indexOf(k);-1==g?(w.push(k),r.push([f])):r[g].push(f)}N=!0};a.default_AND_logic_fun=function(a){for(var b=0;b<a.length;b++)if(!a[b])return a[b];return a[a.length-1]};a.default_OR_logic_fun=function(a){for(var b=0;b<a.length;b++)if(a[b])return a[b];return a[a.length-1]};a.remove_sensor_manifold=e;a.reset=function(){for(var a=0;a<h.length;a++){var b=h[a],d=b.ug,b=b.cl,c;for(c in d)delete d[c];b.length=0}for(a=
  152. 0;a<w.length;a++)u(w[a]);h.length=0;w.length=0;r.length=0};a.debug=function(){H.log(String(h.length)+" objects with manifolds",h);H.log(String(w.length)+" sensors",w);for(var a=[],b=[],d=0;d<w.length;d++){var c=w[d];90==c.type&&a.push(c);110==c.type&&b.push(c)}H.log(String(a.length)+" collision sensors",a);H.log(String(b.length)+" ray sensors",b)};a.set_plock_smooth_factor=function(a){W=a}};fdage.module.__curve=function(a,q){function f(a,b,c,e,k){var d=e.length;k||(k=new Float32Array(d));for(var f=d+a,g=new Float32Array(f),p=1;p<=f-1;p++)g[p-1]=b>=c[p-1]&&b<c[p+1-1]?1:0;for(var z=2;z<=a;z++)for(p=1;p<=f-z;p++)g[p-1]=(0!=g[p-1]?(b-c[p-1])*g[p-1]/(c[p+z-1-1]-c[p-1]):0)+(0!=g[p+1-1]?(c[p+z-1]-b)*g[p+1-1]/(c[p+z-1]-c[p+1-1]):0);b==c[f-1]&&(g[d-1]=1);a=0;for(p=1;p<=d;p++)a+=g[p-1]*e[p-1];for(p=1;p<=d;p++)k[p-1]=0!=a?g[p-1]*e[p-1]/a:0;return k}function c(a){a=a.hs;return a[a.length-1]}function b(a){a=
  153. a.yA;return a[a.length-1]}function g(a,b,c,e,k,d,f,H){var v=a+(b-a)/2,z=p(v,e,k,d,f)-c;H=H?H:.01;return Math.abs(z)<H?v:0<z?g(a,v,c,e,k,d,f,H):g(v,b,c,e,k,d,f,H)}function p(a,b,c,e,k){var d=1-a;return b*d*d*d+3*c*d*d*a+3*e*d*a*a+k*a*a*a}q("__print");var D=q("__util"),e=q("__vec3");a.OJ=function(a){var b={},c=a.data;a=c.splines[0];if(!a||"NURBS"!=a.type||!a.use_endpoint_u)return null;var e=a.order_u;b.bj=e;a=a.points;var k=a.length/5,d=[],g=k+e,k=k+2;d[0]=0;for(var p=2;p<=g;p++)d[p-1]=p>e&&p<k?d[p-
  154. 2]+1:d[p-2];b.hs=d;"2D"==c.dimensions?b.Ri=!1:"3D"==c.dimensions?b.Ri=!0:D.q("Wrong curve dimensions");e=[];d=[];for(c=0;c<a.length;c+=5)e.push(a[c]),e.push(a[c+1]),e.push(a[c+2]),b.Ri&&e.push(a[c+3]),d.push(a[c+4]);b.av=e;b.Ay=d;a=[];for(var c=b.av,e=b.Ri?4:3,d=b.Ay,g=b.hs,k=b.bj,p=c.length/e,v=p+k,z=0,x=g[v-1]/999,q=0;1E3>q;q++){5E-6>g[v-1]-z&&(z=g[v-1]);for(var F=f(k,z,g,d),E=0;E<e;E++)for(var A=a[e*q+E]=0;A<p;A++)a[e*q+E]+=F[A]*c[e*A+E];z+=x}e=b.Ri?4:3;d=new Float32Array(1E3);d[0]=0;for(c=1;1E3>
  155. c;c+=1)g=a[(c-1)*e],k=a[(c-1)*e+1],p=a[(c-1)*e+2],v=a[c*e],z=a[c*e+1],x=a[c*e+2],d[c]=d[c-1]+Math.sqrt((v-g)*(v-g)+(z-k)*(z-k)+(x-p)*(x-p));b.yA=d;return b};a.NP=function(a,b,e){e||(e=[]);var m=b,k=Math.max(m,0);b=k=Math.min(m,c(a));var m=a.av,k=a.Ri?4:3,d=a.Ay,g=a.hs,p=a.bj;a=m.length/k;var v=a+p;5E-6>g[v-1]-b&&(b=g[v-1]);v=new Float32Array(a);f(p,b,g,d,v);for(b=0;b<k;b++)for(d=e[b]=0;d<a;d++)e[b]+=v[d]*m[k*d+b]};a.KP=function(a,b,c){c||(c=[]);var e=a.av,k=a.Ri?4:3,d=a.Ay,f=a.hs,g=a.bj;a=e.length/
  156. k;var p=a+g;5E-6>f[p-1]-b&&(b=f[p-1]);var p=new Float32Array(a),z=b;b=p;var x=d.length;b||(b=new Float32Array(x));var D=new Float32Array(x),F=new Float32Array(x),E=D,A=F;E||(E=new Float32Array(x));A||(A=new Float32Array(x));for(var K=x+g,h=new Float32Array(K),l=new Float32Array(K),w=1;w<=K-1;w++)h[w-1]=z>=f[w-1]&&z<f[w+1-1]?1:0;z==f[K-1]&&(h[x-1]=1);for(var r=2;r<=g;r++)for(w=1;w<=K-r;w++){var J=0!=h[w-1]?h[w-1]/(f[w+r-1-1]-f[w-1]):0,B=0!=h[w+1-1]?-h[w+1-1]/(f[w+r-1]-f[w+1-1]):0,q=0!=l[w-1]?(z-f[w-
  157. 1])*l[w-1]/(f[w+r-1-1]-f[w-1]):0,I=0!=l[w+1-1]?(f[w+r-1]-z)*l[w+1-1]/(f[w+r-1]-f[w+1-1]):0;h[w-1]=(0!=h[w-1]?(z-f[w-1])*h[w-1]/(f[w+r-1-1]-f[w-1]):0)+(0!=h[w+1-1]?(f[w+r-1]-z)*h[w+1-1]/(f[w+r-1]-f[w+1-1]):0);l[w-1]=J+B+q+I}for(w=1;w<=x;w++)E[w-1]=h[w-1],A[w-1]=l[w-1];f=0;for(g=1;g<=x;g++)f+=D[g-1]*d[g-1];z=0;for(g=1;g<=x;g++)z+=F[g-1]*d[g-1];for(g=1;g<=x;g++)b[g-1]=0!=f?F[g-1]*d[g-1]/f+D[g-1]*d[g-1]*z/(f*f):0;for(d=0;d<k;d++)for(f=c[d]=0;f<a;f++)c[d]+=p[f]*e[k*f+d]};a.QT=c;a.MP=b;a.LP=function(a,
  158. e){if(0>=e)return 0;var f=c(a);if(e>=b(a))return f;var m=a.yA,k=D.Pq(m,e,0,m.length-1);return f*(k+(e-m[k])/(m[k+1]-m[k]))/1E3};a.ks=function(a,b,c,e,f){return c+(f-e)*(a-c)/(b-e)};a.jC=function(a,b,c){var e=b[0];b=b[1];c=(c[1]-b)/(c[0]-e);return c*a+(b-c*e)};a.zz=function(a,b,c,e,f,d){return p(g(0,1,a,b[0],c[0],e[0],f[0],d),b[1],c[1],e[1],f[1])};a.Ku=function(a,b,c,f,k){var d=new Float32Array(3),g=new Float32Array(3),p=new Float32Array(3),v=new Float32Array(3),z=new Float32Array(3),x=new Float32Array(3);
  159. e.copy(a[1],g);null==b?(e.copy(c[1],p),d[0]=2*g[0]-p[0],d[1]=2*g[1]-p[1]):e.copy(b[1],d);null==c?(e.copy(b[1],d),p[0]=2*g[0]-d[0],p[1]=2*g[1]-d[1]):e.copy(c[1],p);e.subtract(g,d,v);e.subtract(p,g,z);b=e.length(v);c=e.length(z);0==b&&(b=1);0==c&&(c=1);if("AUTO"==f||"AUTO"==k)x[0]=z[0]/c+v[0]/b,x[1]=z[1]/c+v[1]/b,d=2.5614*e.length(x),0!=d&&("AUTO"==f&&e.scaleAndAdd(g,x,-(b/d),a[0]),"AUTO"==k&&e.scaleAndAdd(g,x,c/d,a[2]));"VECTOR"==f&&e.scaleAndAdd(g,v,-1/3,a[0]);"VECTOR"==k&&e.scaleAndAdd(g,z,1/3,a[2])};
  160. a.lJ=function(a,b,c,e){var f=[],d=[],g,p,v;f[0]=a[0]-b[0];f[1]=a[1]-b[1];d[0]=e[0]-c[0];d[1]=e[1]-c[1];v=e[0]-a[0];g=Math.abs(f[0]);p=Math.abs(d[0]);0!=g+p&&g+p>v&&(g=v/(g+p),b[0]=a[0]-g*f[0],b[1]=a[1]-g*f[1],c[0]=e[0]-g*d[0],c[1]=e[1]-g*d[1])}};fdage.module.__debug=function(a,q){function f(a){a=a.split("\n");for(var b=0;b<a.length;b++)a[b]=b+1+" "+a[b];return a=a.join("\n")}function c(){var a=t.Mv();if(a){var b=a.createQuery();a.beginQuery(b)}else b=performance.now();return b}function b(){var b=w;return b&&b.debug_view_mode==a.DV_RENDER_TIME}function g(a,b,d){var c=t.Mv(),h=0;if(c)for(d&&c.endQuery(),d=0;d<a.length;d++){var e=a[d],f=c.gB(e),k=E.getParameter(c.fB());f&&!k&&(h=c.hB(e)/1E6,b&&(h=x.smooth(h,b,1,10)),a.splice(d,1),d--)}else h=
  161. performance.now()-a.pop(),b&&(h=x.smooth(h,b,1,10));return h}function p(a,b){D(a)||x.q("Structure assertion failed: invalid first object value");D(b)||x.q("Structure assertion failed: invalid second object value");e(a,b)||x.q("Structure assertion failed: incompatible types");if(!(null==a||null==b||"object"!=typeof a||x.mw(a)||a instanceof Array)){for(var d in a)D(a[d])||x.q("Structure assertion failed: invalid value for key in the first object: "+d),d in b||x.q("Structure assertion failed: missing key in the first object: "+
  162. d);for(d in b)D(b[d])||x.q("Structure assertion failed: invalid value for key in the second object: "+d),d in a||x.q("Structure assertion failed: missing key in the second object: "+d),e(a[d],b[d])||x.q("Structure assertion failed: incompatible types for key "+d)}}function D(a){return"undefined"==typeof a?!1:"number"==typeof a&&isNaN(a)?!1:!0}function e(a,b){if(typeof a!=typeof b)return!1;if(null!=a&&null!=b&&"object"==typeof a){var d=a instanceof Array,c=b instanceof Array;if(d&&!c||!d&&c)return!1;
  163. d=x.mw(a);c=x.mw(b);if(d&&!c||!d&&c)return!1}return!0}var u=q("__compat"),n=q("__config"),t=q("__extensions"),m=q("__graph"),k=q("__objects"),d=q("__print"),y=q("__scenes"),H=q("__subscene"),v=q("__textures"),z=q("__time"),x=q("__util"),M=n.A,F={},E=null,A={},K=[],h=-1,l=-1,w=null,r=null,J=!1,B={};a.DV_NONE=0;a.DV_OPAQUE_WIREFRAME=1;a.DV_TRANSPARENT_WIREFRAME=2;a.DV_FRONT_BACK_VIEW=3;a.DV_BOUNDINGS=4;a.DV_CLUSTERS_VIEW=5;a.DV_BATCHES_VIEW=6;a.DV_RENDER_TIME=7;a.Ye=function(a){var b="INVALID_ENUM INVALID_VALUE INVALID_OPERATION OUT_OF_MEMORY INVALID_FRAMEBUFFER_OPERATION CONTEXT_LOST_WEBGL".split(" "),
  164. d;for(d in b){var c=b[d];c in a&&(F[a[c]]=c)}E=a};a.QO=function(a){w=a};a.QS=function(){return w};a.cL=function(a,b,d,c,h){B[a]||(B[a]={rP:b,he:{}});d in B[a].he||(B[a].he[d]=c);h&&(B[a].he[d]=0)};a.calc_vbo_garbage_byte_size=function(){var a=0,b;for(b in B)for(var d in B[b].he)a+=B[b].he[d];return a};a.show_vbo_garbage_info=function(){var a={},b;for(b in B)for(var c in B[b].he){var h=B[b].he[c];if(h){var e=B[b].rP;e in a||(a[e]={cy:0,he:{}});c in a[e].he||(a[e].he[c]=0);a[e].he[c]+=h;a[e].cy+=h}}for(e in a){d.groupCollapsed(e,
  165. a[e].cy);for(c in a[e].he)d.ud(c,a[e].he[c]);d.groupEnd()}};a.print_batches_stat=function(){for(var a={},b="bb_local bb_world be_local be_world bs_local bs_world bufs_data id attribute_setters num_vertices num_triangles material_names shader bpy_tex_names".split(" "),c=0,h=0,e=k.Eb(y.Vg(),"MESH",k.DATA_ID_ALL),f=0;f<e.length;f++)for(var l=0;l<e[f].F.length;l++)for(var m=0;m<e[f].F[l].M.length;m++){var g=x.Mg(e[f].F[l].M[m]),n=g.Va.Jf+"/"+g.Va.ne;g["shaders_info.directives"]=g.Va.Jh;g["shaders_info.node_elements"]=
  166. g.Va.yf;delete g.Va;for(var t=0;t<b.length;t++)delete g[b[t]];if(e[f].is_dynamic)h++;else{c++;g.type in a||(a[g.type]={});n in a[g.type]||(a[g.type][n]={});for(var G in g)G in a[g.type][n]||(a[g.type][n][G]=[]),t=JSON.stringify(g[G]),-1==a[g.type][n][G].indexOf(t)&&a[g.type][n][G].push(t)}}d.group("Batches statistics:");d.ud("STATIC/DYNAMIC count:",c+"/"+h);d.group("STATIC batches diversity:");for(var r in a)for(n in a[r]){b=[];for(G in a[r][n])1<a[r][n][G].length&&b.push([G,a[r][n][G]]);b.sort(function(a,
  167. b){return b[1].length!=a[1].length?b[1].length-a[1].length:a<b?-1:b<a?1:0});if(b.length){d.groupCollapsed(r+" "+n);for(f=0;f<b.length;f++)d.ud(b[f][1].length,b[f][0],b[f][1]);d.groupEnd()}}d.groupEnd();d.groupEnd()};a.Ou=function(a){if(M.gl_debug){var b=E.getError();b!=E.NO_ERROR&&(b in F?x.q("GL Error: "+b+", gl."+F[b]+" ("+a+")"):x.q("Unknown GL error: "+b+" ("+a+")"))}};a.LI=function(){if(M.gl_debug||M.Xz)switch(E.checkFramebufferStatus(E.FRAMEBUFFER)){case E.FRAMEBUFFER_COMPLETE:break;case E.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:d.error("Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_ATTACHMENT");
  168. break;case E.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:d.error("Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT");break;case E.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:d.error("Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_DIMENSIONS");break;case E.FRAMEBUFFER_UNSUPPORTED:d.error("Incomplete framebuffer: FRAMEBUFFER_UNSUPPORTED");break;case E.JR:d.error("Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_MULTISAMPLE");break;default:d.error("FRAMEBUFFER CHECK FAILED")}};a.QI=function(){if(-1!=
  169. h)return h;E.bindFramebuffer(E.FRAMEBUFFER,E.createFramebuffer());var a=v.ik(v.Dl,!1);v.resize(a,1,1);E.framebufferTexture2D(E.FRAMEBUFFER,E.DEPTH_ATTACHMENT,a.$a,a.gb,0);E.checkFramebufferStatus(E.FRAMEBUFFER)!=E.FRAMEBUFFER_COMPLETE?(h=!0,d.warn("depth-only issue was found")):h=!1;E.bindFramebuffer(E.FRAMEBUFFER,null);return h};a.VI=function(){if(1==M.pc)return!1;if(-1!=l)return l;E.bindRenderbuffer(E.RENDERBUFFER,E.createRenderbuffer());E.renderbufferStorageMultisample(E.RENDERBUFFER,M.pc,E.RGBA8,
  170. 1,1);var a=E.getRenderbufferParameter(E.RENDERBUFFER,E.RENDERBUFFER_SAMPLES);a!=M.pc?(l=!0,d.warn("multisample issue was found: requested "+M.pc+", got "+a),E.getError()==E.INVALID_OPERATION&&d.warn("the error from multisample issue detected, ignoring")):l=!1;E.bindRenderbuffer(E.RENDERBUFFER,null);return l};a.SI=function(){return u.Pu("Firefox")&&E.getError()==E.OUT_OF_MEMORY?(d.warn("Firefox/old GPUs cubemap issue was found."),!0):!1};a.dD=function(a,b,c){M.gl_debug&&(c=f(c),d.error("shader compilation failed:\n"+
  171. c+"\n"+E.getShaderInfoLog(a)+" ("+b+")"))};a.xO=function(a,b,c,h){M.gl_debug&&(c=f(c),h=f(h),d.error("shader linking failed:\n"+c+"\n\n\n"+h+"\n"+E.getProgramInfoLog(a)+" ("+b+")"))};a.ox=function(a){if(M.show_hud_debug_info||a.type==H.pn)a.tv||a.kk.push(c())};a.sO=function(a){"MAIN"==a.type&&b()&&a.kk.push(c())};a.px=function(a){if((M.show_hud_debug_info||a.type==H.pn)&&!a.tv){var b=g(a.kk,a.Le,!0);b&&(a.Le=b)}};a.tO=function(a){if("MAIN"==a.type&&b()){var d=g(a.kk,a.Le,!0);d&&(a.Le=d)}};a.UB=b;
  172. a.gO=function(a){var b=g(a.kk,a.Le,!1);b&&(a.Le=b)};a.AS=function(a){A[a]=a in A?A[a]+1:1};a.update=function(){for(var a in A)d.log(a,A[a]),A[a]=0};a.fbmsg=function(){for(var a=[performance.now()],b=0;b<arguments.length;b++){var d=arguments[b];if(x.is_vector(d))for(var c=0;c<d.length;c++)a.push(d[c]);else a.push(arguments[b])}K.push(a)};a.msg=function(){for(var a=1,b=0;b<K.length;b++){var d=K[b];d[1]==arguments[0]&&a++}d=[a];for(b=0;b<arguments.length;b++)if(a=arguments[b],x.is_vector(a))for(var c=
  173. 0;c<a.length;c++)d.push(a[c]);else d.push(arguments[b]);K.push(d)};var Z=["color: #3366FF","color: #CC33FF","color: #FF3366","color: #33FF66","color: #FFCC33"];a.print_telemetry=function(a){a||(a=1);for(var b=0,c={},h=Math.max(0,performance.now()-1E3*a),e=0;e<K.length;e++){var f=K[e];a=f[0];if(!(a<h)){var k=String(f[1]);c[k]||(c[k]=Z[b++%Z.length]);a=["%c"+(a/1E3).toFixed(6),c[k],k];for(k=2;k<f.length;k++)a.push(f[k]);d.log.apply(this,a)}}K.splice(0)};a.plot_telemetry=function(a){a||(a=1);for(var b=
  174. {},c=Math.max(0,performance.now()-1E3*a),h=0;h<K.length;h++){var e=K[h];a=e[0];if(!(a<c))for(var f=2;f<e.length;f++){var k=String(e[1]);3<e.length&&(k+="_"+String(f-2));b[k]||(b[k]=k+"\n");b[k]+=String(a)+" "+e[f]+"\n"}}a="";for(k in b)a+=b[k]+"\n\n";d.log(a);K.splice(0)};a.iS=function(a){function b(a){return-1<d.indexOf(a)?!0:!1}var d=navigator.userAgent.toLowerCase();switch(a.toLowerCase()){case "chrome":return b("mozilla")&&b("applewebkit")&&b("chrome");case "firefox":return b("mozilla")&&b("gecko")&&
  175. b("firefox");case "msie":return b("mozilla")&&b("trident")&&b("msie");case "opera":return b("opera")&&b("presto");case "safari":return b("mozilla")&&b("applewebkit")&&b("safari")&&!b("chrome");default:return!1}};a.check_finite=function(a){if(x.is_vector(a)){for(var b=0;b<a.length;b++)if(!isFinite(a[b]))return!1;return Boolean(a.length)}return isFinite(a)?!0:!1};a.ZR=function(a,b){a.constructor!=b&&x.q("Type assertion failed: value <"+a+"> has type <"+a.constructor+">, required <"+b+">")};a.$R=p;a.aS=
  176. function(a){J?p(a,r):J=!0;r=null!=a&&"object"==typeof a?x.Zn(a):a};a.fake_load=function(a,b,d,c,h){(a=a||null)||x.q("Stage load callback is undefined");b=b||5E3;d=d||0;c=c||100;100<c&&x.q("Max percentage must be less than 100");0>d&&x.q("Min percentage must be greater than 0");d>c&&x.q("Max percentage must be greater than min percentage");var e=z.animate(d,c,b,function(b){b=b.toFixed();a(b);100==b&&(z.clear_animation(e),h&&h())})};a.yT=function(a){return m.wK(a,function(a,b){var d=b.type+"("+b.name+
  177. ")",c=b.I,d=d+"\n\nINPUTS:";if(c.length)for(var h=0;h<c.length;h++)d+="\n"+c[h].identifier+": ",d=c[h].Ra?d+"linked":d+c[h].va;else d+="\n---";c=b.Ta;d+="\n\nOUTPUTS:";if(c.length)for(h=0;h<c.length;h++)d+="\n"+c[h].identifier+": ",d=c[h].Ra?d+("linked(default "+c[h].va+")"):d+"not used";else d+="\n---";h="";switch(b.type){case "GEOMETRY_UV":h="\nuv_layer: "+b.data.value;break;case "TEXTURE_COLOR":case "TEXTURE_NORMAL":h="\ntexture: "+b.data.value.name+"\n("+b.data.value.am+")"}""==h&&(h="\n---");
  178. return d=d+"\n\nDATA:"+h},function(b,d,c){b=m.Ma(a,b);d=m.Ma(a,d);return b.Ta[c[0]].identifier+"\n==>\n"+d.I[c[1]].identifier})};a.Dr=function(){return E};a.cleanup=function(){w=null;B={}};a.reset=function(){E=null}};fdage.module.__extensions=function(a,q){function f(a){if(a in e)return e[a];var b=D.getExtension(a)||null;e[a]=b;g.log("%cGET EXTENSION","color: #"+(b?"0a0":"a00"),a);return b}function c(a){if(a in e)return e[a];switch(a){case "WEBGL_depth_texture":case "OES_element_index_uint":case "OES_standard_derivatives":var b={};break;case "ANGLE_instanced_arrays":case "OES_vertex_array_object":b=D;break;case "EXT_disjoint_timer_query":(b=D.getExtension("EXT_disjoint_timer_query")||null)||(b=D.getExtension("EXT_disjoint_timer_query_webgl2")||
  179. null)}e[a]=b;g.log("%cGET EXTENSION (WebGL 2)","color: #"+(b?"0a0":"a00"),a);return b}var b=q("__config"),g=q("__print"),p=b.A,D=null,e={};a.Ye=function(a){D=a};a.wB=function(){return f("WEBGL_compressed_texture_s3tc")||f("WEBKIT_WEBGL_compressed_texture_s3tc")||f("MOZ_WEBGL_compressed_texture_s3tc")};a.vB=function(){return f("WEBKIT_WEBGL_compressed_texture_pvrtc")||f("WEBGL_compressed_texture_pvrtc")};a.OL=function(){return p.Vb?c("WEBGL_depth_texture"):f("WEBGL_depth_texture")||f("WEBKIT_WEBGL_depth_texture")||
  180. f("MOZ_WEBGL_depth_texture")};a.jB=function(){return f("EXT_texture_filter_anisotropic")||f("WEBKIT_EXT_texture_filter_anisotropic")||f("MOZ_EXT_texture_filter_anisotropic")};a.NL=function(){return f("WEBGL_debug_shaders")};a.get_renderer_info=function(){return f("WEBGL_debug_renderer_info")};a.pB=function(){return p.Vb?c("OES_element_index_uint"):f("OES_element_index_uint")};a.Uv=function(){return p.Vb?c("OES_standard_derivatives"):f("OES_standard_derivatives")};a.Mv=function(){var a=p.Vb?c("EXT_disjoint_timer_query"):
  181. f("EXT_disjoint_timer_query");return null==a?a:a.createQueryEXT?{createQuery:function(){return a.createQueryEXT()},beginQuery:function(b){a.beginQueryEXT(a.TIME_ELAPSED_EXT,b)},endQuery:function(){a.endQueryEXT(a.TIME_ELAPSED_EXT)},gB:function(b){return a.getQueryObjectEXT(b,a.QUERY_RESULT_AVAILABLE_EXT)},hB:function(b){return a.getQueryObjectEXT(b,a.QUERY_RESULT_EXT)},fB:function(){return a.GPU_DISJOINT_EXT}}:{createQuery:function(){return D.createQuery()},beginQuery:function(b){D.beginQuery(a.TIME_ELAPSED_EXT,
  182. b)},endQuery:function(){D.endQuery(a.TIME_ELAPSED_EXT)},gB:function(a){return D.getQueryParameter(a,D.QUERY_RESULT_AVAILABLE)},hB:function(a){return D.getQueryParameter(a,D.QUERY_RESULT)},fB:function(){return a.GPU_DISJOINT_EXT}}};a.cM=function(){if(p.Vb)return c("ANGLE_instanced_arrays");var a=f("ANGLE_instanced_arrays");return null==a?a:{drawElementsInstanced:function(b,c,e,f,d){a.drawElementsInstancedANGLE(b,c,e,f,d)},vertexAttribDivisor:function(b,c){a.vertexAttribDivisorANGLE(b,c)},drawArraysInstanced:function(b,
  183. c,e,f){a.drawArraysInstancedANGLE(b,c,e,f)}}};a.Vv=function(){if(p.Vb)return c("OES_vertex_array_object");var a=f("OES_vertex_array_object");return null==a?a:{bindVertexArray:function(b){a.bindVertexArrayOES(b)},createVertexArray:function(){return a.createVertexArrayOES()},deleteVertexArray:function(b){a.deleteVertexArrayOES(b)},isVertexArray:function(b){return a.isVertexArrayOES(b)}}};a.cleanup=function(){e={}};a.reset=function(){D=null}};fdage.module.__graph=function(a,q){function f(a,b,d){d||(d=null);c(a,b)?J.q("Graph already has node with given ID"):a.K.push(b,d)}function c(a,b){for(var d=a.K,c=0;c<d.length;c+=2)if(d[c]==b)return!0;return!1}function b(a,b,d,h){h||(h=null);c(a,b)&&c(a,d)?a.Ga.push(b,d,h):J.q("Wrong node IDs")}function g(a,b){c(a,b)||J.q("Node not found");for(var d=a.K,h=0;h<d.length;h+=2)d[h]==b&&(d.splice(h,2),h-=2)}function p(a,b,d,c){h(a,b,d)||J.q("Edge not found");a=a.Ga;for(var e=0,f=0;f<a.length;f+=3)if(a[f]==
  184. b&&a[f+1]==d){if(-1==c)a.splice(f,3);else{if(c==e){a.splice(f,3);break}e++}f-=3}}function D(a){a=a.K;for(var b=-1,d=0;d<a.length;d+=2)b=Math.max(b,a[d]);return++b}function e(a,b){for(var d=a.K,c=0;c<d.length;c+=2)if(d[c+1]==b)return d[c];return-1}function u(a){var b=[],d={};n(a,d);for(var c=a.K,h=0;h<c.length;h+=2)0==E(a,c[h])&&t(a,c[h],d,b);return{K:b,Ga:a.Ga.slice(0)}}function n(a,b){for(var d=a.K,c=0;c<d.length;c+=2)b[d[c]]=!1}function t(a,b,d,c){if(!d[b]){d[b]=!0;for(var h=0;h<F(a,b);h++)t(a,
  185. A(a,b,h),d,c);c.unshift(b,M(a,b))}}function m(a,b,d,c){if(!d[b]){d[b]=!0;if(10==c||30==c)for(var h=0;h<F(a,b);h++){var e=A(a,b,h);m(a,e,d,c)}if(20==c||30==c)for(h=0;h<E(a,b);h++)e=K(a,b,h),m(a,e,d,c)}}function k(a){for(var b=a.Ga,d=0;d<b.length;d+=3){var h=b[d+1];c(a,b[d])&&c(a,h)||(b.splice(d,3),d-=3)}}function d(a){for(var b=[],d=a.K,c=0;c<d.length;c+=2){var h=d[c];F(a,h)||b.push(h)}return b}function y(a){var b=a.K;a=a.Ga;for(var d=[],c=[],h=[],e=0;e<b.length;e++)h[b[2*e]]=e,d.push(e,b[2*e+1]);
  186. for(e=0;e<a.length;e+=3)c.push(h[a[e]],h[a[e+1]],a[e+2]);return{K:d,Ga:c}}function H(a,b,d){if(d.Ng==d.Yi){for(var c=0,h=0;c<d.Yi;c++)-1!=d.Fh[c]&&(a[h]=c,b[h]=d.Fh[c],h++);return!0}if(d.Yi>d.qm||d.vj>d.wj||d.Sm>d.Um||d.Rm>d.Tm)return!1;for(var h=c=-1,e=!1;!e&&v(d,B,c,h);)if(c=B[0],h=B[1],z(d,c,h)){var f;f=d;e={};e.Lo=f.Lo;e.Mo=f.Mo;e.Tw=f.Tw;e.or=f.or;e.Yi=f.Yi;e.qm=f.qm;e.bj=f.bj;e.Ng=e.Gs=f.Ng;e.Rm=f.Rm;e.Sm=f.Sm;e.vj=f.vj;e.Tm=f.Tm;e.Um=f.Um;e.wj=f.wj;e.vn=-1;e.Fh=f.Fh;e.fk=f.fk;e.Dk=f.Dk;e.Ek=
  187. f.Ek;e.Tk=f.Tk;e.Uk=f.Uk;e.gt=f.gt;f.gt[0]+=1;var e=f=e,k=c,l=h,m=e.Lo,g=e.Mo,n=e.Yi,G=e.qm,t=e.Fh,r=e.fk,w=e.Dk,p=e.Ek,y=e.Tk,S=e.Uk;x(k<n);x(l<G);x(e.Ng<n);x(e.Ng<G);n=++e.Ng;e.vn=k;w[k]||(w[k]=n,e.Rm++,y[k]&&e.vj++);y[k]||(y[k]=n,e.Sm++,w[k]&&e.vj++);p[l]||(p[l]=n,e.Tm++,S[l]&&e.wj++);S[l]||(S[l]=n,e.Um++,p[l]&&e.wj++);t[k]=l;r[l]=k;for(t=0;t<E(m,k);t++)r=K(m,k,t),w[r]||(w[r]=n,e.Rm++,y[r]&&e.vj++);for(t=0;t<F(m,k);t++)r=A(m,k,t),y[r]||(y[r]=n,e.Sm++,w[r]&&e.vj++);for(t=0;t<E(g,l);t++)r=K(g,l,
  188. t),p[r]||(p[r]=n,e.Tm++,S[r]&&e.wj++);for(t=0;t<F(g,l);t++)r=A(g,l,t),S[r]||(S[r]=n,e.Um++,p[r]&&e.wj++);e=H(a,b,f);x(1>=f.Ng-f.Gs);x(-1!=f.vn);r=f.Lo;k=f.Mo;l=f.Ng;m=f.vn;g=f.Fh;w=f.fk;n=f.Dk;p=f.Ek;G=f.Tk;y=f.Uk;if(f.Gs<l){n[m]==l&&(n[m]=0);for(S=0;S<E(r,m);S++)t=K(r,m,S),n[t]==l&&(n[t]=0);G[m]==l&&(G[m]=0);for(S=0;S<F(r,m);S++)t=A(r,m,S),G[t]==l&&(G[t]=0);r=g[m];p[r]==l&&(p[r]=0);for(S=0;S<E(k,r);S++)t=K(k,r,S),p[t]==l&&(p[t]=0);y[r]==l&&(y[r]=0);for(S=0;S<F(k,r);S++)t=A(k,r,S),y[t]==l&&(y[t]=
  189. 0);g[m]=-1;w[r]=-1;f.Ng=f.Gs;f.vn=-1}}return e}function v(a,b,d,c){-1==d&&(d=0);-1==c?c=0:c++;var h=a.vj,e=a.wj,f=a.Sm,k=a.Um,l=a.Rm,m=a.Tm,g=a.Ng,t=a.Yi,G=a.qm,r=a.Fh,n=a.fk,w=a.Dk,p=a.Ek,y=a.Tk,B=a.Uk;if(h>g&&e>g)for(;d<t&&(-1!=r[d]||0==y[d]||0==w[d]);)d++,c=0;else if(f>g&&k>g)for(;d<t&&(-1!=r[d]||0==y[d]);)d++,c=0;else if(l>g&&m>g)for(;d<t&&(-1!=r[d]||0==w[d]);)d++,c=0;else if(0==d&&0!=a.bj){for(w=0;w<t&&-1!=r[d=a.bj[w]];)w++;w==t&&(d=t)}else for(;d<t&&-1!=r[d];)d++,c=0;if(h>g&&e>g)for(;c<G&&(-1!=
  190. n[c]||0==B[c]||0==p[c]);)c++;else if(f>g&&k>g)for(;c<G&&(-1!=n[c]||0==B[c]);)c++;else if(l>g&&m>g)for(;c<G&&(-1!=n[c]||0==p[c]);)c++;else for(;c<G&&-1!=n[c];)c++;return d<t&&c<G?(b[0]=d,b[1]=c,!0):!1}function z(a,b,d){var c=a.Lo,e=a.Mo,f=a.qm,k=a.Fh,m=a.fk,g=a.Dk,t=a.Ek,r=a.Tk,n=a.Uk;x(b<a.Yi);x(d<f);x(-1==k[b]);x(-1==m[d]);if(!(0,a.Tw)(M(c,b),M(e,d)))return!1;for(var G=f=0,w=0,p=0,y=0,B=0,v=0;v<F(c,b);v++){var S=A(c,b,v);if(-1!=k[S]){var u=k[S];if(!h(e,d,u)||!l(a.or,c,b,S,e,d,u))return!1}else g[S]&&
  191. w++,r[S]&&f++,g[S]||r[S]||y++}for(v=0;v<E(c,b);v++)if(S=K(c,b,v),-1!=k[S]){if(u=k[S],!h(e,u,d)||!l(a.or,c,S,b,e,u,d))return!1}else g[S]&&w++,r[S]&&f++,g[S]||r[S]||y++;for(v=0;v<F(e,d);v++)if(u=A(e,d,v),-1!=m[u]){if(S=m[u],!h(c,b,S))return!1}else t[u]&&p++,n[u]&&G++,t[u]||n[u]||B++;for(v=0;v<E(e,d);v++)if(u=K(e,d,v),-1!=m[u]){if(S=m[u],!h(c,S,b))return!1}else t[u]&&p++,n[u]&&G++,t[u]||n[u]||B++;return w<=p&&f<=G&&y<=B}function x(a){a||J.q("Assertion failed")}function M(a,b){for(var d=a.K,c=0;c<d.length;c+=
  192. 2)if(d[c]==b)return d[c+1];return null}function F(a,b){for(var d=a.Ga,c=0,h=0;h<d.length;h+=3)d[h]==b&&c++;return c}function E(a,b){for(var d=a.Ga,c=0,h=0;h<d.length;h+=3)d[h+1]==b&&c++;return c}function A(a,b,d){a=a.Ga;for(var c=0,h=0;h<a.length;h+=3)if(a[h]==b){if(c==d)return a[h+1];c++}return-1}function K(a,b,d){a=a.Ga;for(var c=0,h=0;h<a.length;h+=3)if(a[h+1]==b){if(c==d)return a[h];c++}return-1}function h(a,b,d){a=a.Ga;for(var c=0;c<a.length;c+=3)if(a[c]==b&&a[c+1]==d)return!0;return!1}function l(a,
  193. b,d,c,h,e,f){for(var k=w(b,d,c),l=w(h,e,f),m=0;m<k;m++){for(var g=!1,t=0;t<l;t++)if(a(r(b,d,c,m),r(h,e,f,t))){g=!0;break}if(!g)return!1}return!0}function w(a,b,d){var c=0;a=a.Ga;for(var h=0;h<a.length;h+=3)a[h]==b&&a[h+1]==d&&c++;return c}function r(a,b,d,c){a=a.Ga;for(var h=0,e=0;e<a.length;e+=3)if(a[e]==b&&a[e+1]==d){if(h==c)return a[e+2];h++}return null}q("__print");var J=q("__util"),B=[-1,-1];a.gu=-1;a.IR=10;a.qq=20;a.PR=30;a.create=function(){for(var a=arguments,b=[],d=[],c=0;c<a.length;c++){var h=
  194. a[c];switch(h.length){case 2:b.push(h[0],h[1]);break;case 3:d.push(h[0],h[1],h[2]);break;default:J.q("Wrong graph constructor params")}}return{K:b,Ga:d}};a.clone=function(a,b,d){if(b)for(var c=Array(a.K.length),h=0;h<a.K.length;h+=2)c[h]=a.K[h],c[h+1]=b(a.K[h+1]);else c=J.O(a.K);if(d)for(b=Array(a.Ga.length),h=0;h<a.Ga.length;h+=3)b[h]=a.Ga[h],b[h+1]=a.Ga[h+1],b[h+2]=d(a.Ga[h+2]);else b=J.O(a.Ga);return a={K:c,Ga:b}};a.rS=function(a,b){for(var d=[],c=[],h=0;h<a.length;h++)d.push(a[h][0],a[h][1]);
  195. for(h=0;h<b.length;h++)c.push(b[h][0],b[h][1],b[h][2]);return{K:d,Ga:c}};a.ui=f;a.bT=c;a.Jc=b;a.Df=g;a.mj=p;a.zm=function(a,b,d,c){h(a,b,d)||J.q("Edge not found");a=a.Ga;for(var e=0;e<a.length;e+=3)if(a[e]==b&&a[e+1]==d&&a[e+2][0]==c[0]&&a[e+2][1]==c[1]){a.splice(e,3);break}};a.H=function(a,b){if(-1==e(a,b)){var d=D(a);f(a,d,b);return d}J.q("Non-unique attribute")};a.vO=function(a,b,d,c,h){a=a.Ga;for(var e=0;e<a.length;e+=3)a[e]==b&&a[e+1]==d&&a[e+2]==c&&(a[e+2]=h)};a.MH=function(a,d,c){var h;c=c||
  196. [];h=h||[];for(var e={},k=0;k<a.K.length;k+=2){var l=a.K[k],m=a.K[k+1],g=D(d);f(d,g,m);e[l]=g}for(k=0;k<a.Ga.length;k+=3)m=e[a.Ga[k]],g=e[a.Ga[k+1]],l=a.Ga[k+2],b(d,m,g,l);for(k=0;k<c.length;k+=3)m=e[c[k]],a=c[k+1],l=c[k+2],b(d,m,a,l);for(k=0;k<h.length;k+=3)c=h[k],g=e[h[k+1]],l=h[k+2],b(d,c,g,l)};a.yk=D;a.mg=e;a.r=function(a,d,c,h){d=e(a,d);c=e(a,c);-1!=d&&-1!=c?b(a,d,c,h):J.q("Attributes not found")};a.ja=function(a,b){for(var d=a.K,c=0;c<d.length&&!b(d[c],d[c+1]);c+=2);};a.If=function(a,b){for(var d=
  197. a.Ga,c=0;c<d.length&&!b(d[c],d[c+1],d[c+2]);c+=3);};a.nh=function(a,b,d){for(var c=a.Ga,h=0;h<c.length;h+=3)if(c[h+1]==b){var e=c[h];if(d(e,M(a,e),c[h+2]))break}};a.yj=function(a,b,d){for(var c=a.Ga,h=0;h<c.length;h+=3)if(c[h]==b){var e=c[h+1];if(d(e,M(a,e),c[h+2]))break}};a.by=u;a.aQ=function(a){a=u(a).K;for(var b=[],d=0;d<a.length;d+=2)b.push(a[d+1]);return b};a.iT=function(){};a.st=function(a,b,d){c(a,b)||J.q("No such node");var h={};n(a,h);m(a,b,h,d);b=[];for(var e in h)h[e]&&(e=Number(e),b.push(e,
  198. M(a,e)));a={K:b,Ga:a.Ga.slice(0)};k(a);return a};a.Qu=k;a.hM=function(a){for(var b=[],d=a.K,c=0;c<d.length;c+=2){var h=d[c];E(a,h)||b.push(h)}return b};a.Po=d;a.match=function(a,b,d,c){var h={};h.Lo=y(a);h.Mo=y(b);h.Tw=d||function(a,b){return a==b};h.or=c||function(a,b){return a==b};c=a.K.length/2;var e=b.K.length/2;h.Yi=c;h.qm=e;h.bj=0;h.Ng=h.Gs=0;h.vj=h.Rm=h.Sm=0;h.wj=h.Tm=h.Um=0;h.vn=-1;h.Fh=Array(c);h.fk=Array(e);h.Dk=Array(c);h.Ek=Array(e);h.Tk=Array(c);h.Uk=Array(e);h.gt=[1];for(d=0;d<c;d++)h.Fh[d]=
  199. -1,h.Dk[d]=0,h.Tk[d]=0;for(d=0;d<e;d++)h.fk[d]=-1,h.Ek[d]=0,h.Uk[d]=0;e=Array(c);c=Array(c);if(H(e,c,h)){for(d=0;d<e.length;d++)e[d]=a.K[2*e[d]],c[d]=b.K[2*c[d]];return[e,c]}return null};a.eM=function(a,b){for(var d=a.K,c=1;c<d.length;c+=2)if(d[c]==b)return d[c-1];return null};a.Ma=M;a.Bf=F;a.dm=E;a.fg=A;a.Mh=K;a.RS=w;a.rd=r;a.replace=function(a,b,d){for(var c=a.Ga,h=D(a),e=0;e<b.length;e++){var k=b[e];g(a,k);for(var l=0;l<c.length;l+=3)c[l]==k&&(c[l]=h),c[l+1]==k&&(c[l+1]=h),c[l]==c[l+1]&&(c.splice(l,
  200. 3),l-=3)}f(a,h,d)};a.kO=function(a,b,d,c,e){h(a,b,d)||J.q("Edge not found");a=a.Ga;for(var f=0;f<a.length;f+=3)a[f]==b&&a[f+1]==d&&(a[f]=c,a[f+1]=e)};a.PK=function(a,b){function c(a,b){if(-1!=l.indexOf(a)){var d=l.slice(l.indexOf(a));if(-1!=e[d[d.length-1]].indexOf(d[0])){m.push([a,d[d.length-1]]);return}}l.push(a);for(d=0;d<b.length;d++)b[d]in e&&c(b[d],e[b[d]])}b||(b=d(a)[0]);var h=a.Ga;if(h.length&&-1!=h.indexOf(b)){for(var e={},f=0,k=0;k<h.length;k+=3)h[k+1]in e?e[h[k+1]].push(h[k]):e[h[k+1]]=
  201. [h[k]],f++;var l=[],m=[];c(b,e[b]);for(k=0;k<m.length;k++)for(var g=f=0;g<h.length;g+=3)m[k][1]==h[g+1]&&m[k][0]==h[g]&&p(a,h[g],h[g+1],f),f++}};a.wK=function(a,b,d){var c=a.K;a=a.Ga;var h;h="digraph debug {\n node [shape=box];\n";for(var e=0;e<c.length;e+=2){var f=c[e],k=c[e+1],k=b?b(f,k):String(f);h+=" ";h+=String(f)+' [label="'+k.replace(/\"/g,'\\"')+'"];\n'}for(e=0;e<a.length;e+=3)b=a[e],c=a[e+1],k=a[e+2],h+=" ",h+=String(b)+" -> "+String(c),d&&(h+=' [label="'+d(b,c,k)+'"]'),h+=";\n";
  202. return h+="}"}};fdage.module.__ipc=function(a,q){function f(a,b,d){for(var c=0;c<k.length;c+=2)k[c+1]==a&&(m[c+Number(!b)]=d)}function c(a){for(var b=0;b<a.length;b++){var d=a[b],c=0,e;for(e in d){var f=d[e];switch(f.constructor){case Float32Array:c+=f.length;break;case Number:c+=1}}--c;d.len=c}}var b=!0;a.DF=0;var g=a.vF=1,p=a.xF=2;a.wF=3;a.zF=4;a.AF=5;a.BF=6;a.EF=7;var D=a.GF=8,e=a.Ky=9,u=a.HF=10;a.IF=11;var n=a.JF=12;a.KF=13;a.FF=14;a.CF=15;a.yF=16;a.FG=100;a.gG=101;a.hG=102;a.iG=103;a.jG=104;a.lG=105;a.kG=106;
  203. a.mG=107;a.nG=108;a.oG=109;a.pG=110;a.qG=111;a.rG=112;a.tG=113;a.uG=114;a.IG=115;a.vG=116;a.wG=117;a.xG=118;a.zG=119;a.AG=120;a.BG=121;a.DG=122;a.EG=123;a.GG=124;a.sG=125;a.KG=126;a.yG=127;a.Vy=128;a.JG=129;a.LG=130;a.MG=131;a.NG=132;a.OG=133;a.PG=134;a.QG=135;a.RG=136;a.SG=137;a.TG=138;a.UG=139;a.Wy=140;var t=a.vq=141;a.VG=142;a.Uy=143;a.WG=144;a.XG=145;a.HG=146;a.CG=147;a.YG=148;var m=fdage.worker_listeners,k=fdage.worker_namespaces,d={Ue:n,X:0,time:0,trans:new Float32Array(3),quat:new Float32Array(4),
  204. Yg:new Float32Array(3),Ig:new Float32Array(3),len:0},y={Ue:D,Nu:0,hx:0,trans:new Float32Array(3),quat:new Float32Array(4),len:0},H={Ue:e,id:0,Gl:0,hit_fract:0,hit_time:0,len:0},v={Ue:u,id:0,Gl:0,hit_fract:0,hit_time:0,hit_pos:new Float32Array(3),hit_norm:new Float32Array(3),len:0},z={Ue:g,Wj:0,Xj:0,result:0,len:0},x={Ue:p,Wj:0,Xj:0,result:0,dk:new Float32Array(3),coll_norm:new Float32Array(3),coll_dist:0,len:0},M={Ue:t,X:0,trans:new Float32Array(3),quat:new Float32Array(4),len:0},F=[d,y,H,v,z,x,M];
  205. a.pK=function(a,d){var c={cs:a?!0:!1,Mj:null,Kg:[],lf:""};if(d)if(c.Mj={addEventListener:function(a,b){"message"!=a&&panic("Wrong web worker event");f(c.lf,c.cs,b)},removeEventListener:function(a){"message"!=a&&panic("Wrong web worker event");f(c.lf,c.cs,null)},postMessage:function(a){var b;a:{for(b=0;b<k.length;b+=2)if(k[b+1]==c.lf){b=m[b+Number(!!c.cs)];break a}b=null}b({data:a})},terminate:function(){for(var a=0;a<k.length;a+=2)if(k[a+1]==c.lf){m.splice(a,2);k.splice(a,2);break}}},c.cs){var h=
  206. q("__util"),e=q("__container"),g=fdage.get_namespace(q),h=h.Wp(g+"_worker");k.push(g);k.push(h);m.push(null);m.push(null);c.lf=h;(e=e.gL(a))?b?e.addEventListener("load",function(){fdage.require("__bindings",c.lf)},!1):(fdage.cleanup("__bindings",c.lf),fdage.cleanup("__ipc",c.lf),fdage.require("__bindings",c.lf)):(e=document.createElement("script"),e.src=a,e.defer="defer",e.async="async",e.addEventListener("load",function(){b=!1;fdage.require("__bindings",c.lf)},!1),document.head.appendChild(e))}else c.lf=fdage.get_namespace(q);
  207. else c.Mj=a?new Worker(a):self;return c};a.aI=function(a,b){function f(c){if(c.constructor==ArrayBuffer)c=new Float32Array(c);else if(c[0].constructor==ArrayBuffer){for(var k=0;k<c.length;k++)f(c[k]);return}k=c[0]|0;switch(k){case n:var m=d;m.X=c[1]|0;m.time=c[2];m.trans[0]=c[3];m.trans[1]=c[4];m.trans[2]=c[5];m.quat[0]=c[6];m.quat[1]=c[7];m.quat[2]=c[8];m.quat[3]=c[9];m.Yg[0]=c[10];m.Yg[1]=c[11];m.Yg[2]=c[12];m.Ig[0]=c[13];m.Ig[1]=c[14];m.Ig[2]=c[15];break;case D:m=y;m.Nu=c[1]|0;m.hx=c[2]|0;m.trans[0]=
  208. c[3];m.trans[1]=c[4];m.trans[2]=c[5];m.quat[0]=c[6];m.quat[1]=c[7];m.quat[2]=c[8];m.quat[3]=c[9];break;case e:m=H;m.id=c[1]|0;m.Gl=c[2]|0;m.hit_fract=c[3];m.hit_time=c[4];break;case u:m=v;m.id=c[1]|0;m.Gl=c[2]|0;m.hit_fract=c[3];m.hit_time=c[4];m.hit_pos[0]=c[5];m.hit_pos[1]=c[6];m.hit_pos[2]=c[7];m.hit_norm[0]=c[8];m.hit_norm[1]=c[9];m.hit_norm[2]=c[10];break;case g:m=z;m.Wj=c[1]|0;m.Xj=c[2]|0;m.result=!!c[3];break;case p:m=x;m.Wj=c[1]|0;m.Xj=c[2]|0;m.result=!!c[3];m.dk[0]=c[4];m.dk[1]=c[5];m.dk[2]=
  209. c[6];m.coll_norm[0]=c[7];m.coll_norm[1]=c[8];m.coll_norm[2]=c[9];m.coll_dist=c[10];break;case t:m=M;m.X=c[1]|0;m.trans[0]=c[2];m.trans[1]=c[3];m.trans[2]=c[4];m.quat[0]=c[5];m.quat[1]=c[6];m.quat[2]=c[7];m.quat[3]=c[8];break;default:m=c}b(a,k,m)}c(F);a.Mj.addEventListener("message",function(a){f(a.data)},!1)};a.cleanup=function(){};a.Z=function(a,b){if(a)switch(b){case n:var c=d,h=new Float32Array(c.len);h[0]=c.Ue;h[1]=c.X;h[2]=c.time;h[3]=c.trans[0];h[4]=c.trans[1];h[5]=c.trans[2];h[6]=c.quat[0];
  210. h[7]=c.quat[1];h[8]=c.quat[2];h[9]=c.quat[3];h[10]=c.Yg[0];h[11]=c.Yg[1];h[12]=c.Yg[2];h[13]=c.Ig[0];h[14]=c.Ig[1];h[15]=c.Ig[2];a.Kg.push(h.buffer);break;case D:c=y;h=new Float32Array(c.len);h[0]=c.Ue;h[1]=c.Nu;h[2]=c.hx;h[3]=c.trans[0];h[4]=c.trans[1];h[5]=c.trans[2];h[6]=c.quat[0];h[7]=c.quat[1];h[8]=c.quat[2];h[9]=c.quat[3];a.Kg.push(h.buffer);break;case e:c=H;h=new Float32Array(c.len);h[0]=c.Ue;h[1]=c.id;h[2]=c.Gl;h[3]=c.hit_fract;h[4]=c.hit_time;a.Kg.push(h.buffer);break;case u:c=v;h=new Float32Array(c.len);
  211. h[0]=c.Ue;h[1]=c.id;h[2]=c.Gl;h[3]=c.hit_fract;h[4]=c.hit_time;h[5]=c.hit_pos[0];h[6]=c.hit_pos[1];h[7]=c.hit_pos[2];h[8]=c.hit_norm[0];h[9]=c.hit_norm[1];h[10]=c.hit_norm[2];a.Kg.push(h.buffer);break;case g:c=z;h=new Float32Array(c.len);h[0]=c.Ue;h[1]=c.Wj;h[2]=c.Xj;h[3]=c.result;a.Kg.push(h.buffer);break;case p:c=x;h=new Float32Array(c.len);h[0]=c.Ue;h[1]=c.Wj;h[2]=c.Xj;h[3]=c.result;h[4]=c.dk[0];h[5]=c.dk[1];h[6]=c.dk[2];h[7]=c.coll_norm[0];h[8]=c.coll_norm[1];h[9]=c.coll_norm[2];h[10]=c.coll_dist;
  212. a.Kg.push(h.buffer);break;case t:c=M;h=new Float32Array(c.len);h[0]=c.Ue;h[1]=c.X;h[2]=c.trans[0];h[3]=c.trans[1];h[4]=c.trans[2];h[5]=c.quat[0];h[6]=c.quat[1];h[7]=c.quat[2];h[8]=c.quat[3];a.Kg.push(h.buffer);break;default:h=[];for(c=1;c<arguments.length;c++)h.push(arguments[c]);a.Mj.postMessage(h)}};a.cO=function(a){a&&a.Kg.length&&(a.Mj.postMessage(a.Kg),a.Kg.length=0)};a.tB=function(a){switch(a){case n:return d;case D:return y;case e:return H;case u:return v;case g:return z;case p:return x;case t:return M;
  213. default:return null}};a.terminate=function(a){a.Mj.terminate();a.Mj=null};a.Zr=function(a){return!!a.Mj};a.VB=function(a){return!!a.lf}};fdage.module.__hud=function(a,q){function f(a){a.font="bold 15px Courier New";a.textBaseline="middle";a.shadowBlur=0;a.shadowColor=null}function c(a){b(' SCENE "'+a.name+'"');b(" Active Subscene Lamps Size RenderCalls Time");if(a.s){var c=0,f=0,m=0;e.ja(a.s.Na,function(a,e){if(e.type!=u.Cl){for(var k=Math.round(e.p.width)+"x"+Math.round(e.p.height),g=0,t=0;t<e.Ha.length;t++)g+=e.Ha[t].ma.length;t=e.ro;if(e.type==u.Pc||e.type==u.ee)g*=6;var n=e.Sb,p=n?e.Le:0;e.enqueue||(e.Le=
  214. 0);var K=n?" (\u2713)":" (\u2715)",h=u.Qx(e);b(K,h,e.Es,k,t,"of",g," ",p.toFixed(3));e.ro=0;n&&(c+=g,f+=t,m+=p)}});return[c,f,m]}b("No INFO")}function b(){for(var a=80+20*m[0],b=arguments[0],c=1;c<arguments.length;c++){for(var e="",f=0;f<n[c]-String(arguments[c]).length;f++)e+=" ";b+=e+arguments[c]}m[0]++;t.fillText(b,30,a)}function g(a,b,c){b*=a.ec;c.x=a.x+b;c.y=a.y;c.ec=a.ec-2*b;c.yb=a.yb}function p(a){return a.x+a.ec/2}function D(a){var b=t,c={x:0,y:0,ec:0,yb:0},e=b.canvas.width,b=b.canvas.height;
  215. c.x=0;c.y=0;c.ec=e;c.yb=b;g(c,.01,c);e=.02*c.yb;c.x=c.x;c.y+=e;c.ec=c.ec;c.yb-=2*e;e=c.ec/8;c.x+=e*a;c.y=c.y;c.ec=e;c.yb=c.yb;g(c,.02,c);return c}var e=q("__graph");q("__print");var u=q("__subscene"),n=[5,30,4,10,5,3,5],t=null,m=[0,0];a.init=function(a){a=a.getContext("2d");f(a);return t=a};a.Xp=function(){t&&f(t)};a.reset=function(){var a=t;a&&(a.clearRect(0,0,a.canvas.width,a.canvas.height),a.fillStyle="rgba(0,0,0,0.5)",a.fillRect(0,0,a.canvas.width,a.canvas.height),m[0]=0,m[1]=0)};a.uP=function(a,
  216. d){var e=t;if(e){e.textAlign="left";e.fillStyle="rgba(0,255,0,255)";b(" FPS",(1/d).toFixed(2));m[0]++;for(var f=e=0,g=0,n=0;n<a.length;n++){var p=c(a[n]),e=e+p[0],f=f+p[1],g=g+p[2];m[0]++}b(" ----------------------------------------------------------------");b(" ","TOTAL ACTIVE","","",f,"of",e," ",g.toFixed(3))}};a.print=function(){var a=t;a&&(a.textAlign="left",a.fillStyle="rgba(0,255,0,255)",b.apply(Math,arguments))};a.plot_array=function(a,b,c,e,f,m,g){var n=t;if(n){b=D(b);var u=b.yb/5;b.x=
  217. b.x;b.y+=4*u;b.ec=b.ec;b.yb=u;n.textAlign="center";n.fillStyle="#00FF00";t.fillText(a,p(b),b.y-10);n.strokeStyle="#00FF00";n.lineWidth=.5;n.beginPath();n.moveTo(b.x,b.y);n.lineTo(b.x+b.ec,b.y);n.lineTo(b.x+b.ec,b.y+b.yb);n.lineTo(b.x,b.y+b.yb);n.closePath();n.stroke();if(!m&&!g)for(m=1E6,g=-1E6,a=0;a<c.length;a++)m=Math.min(m,c[a]),g=Math.max(g,c[a]);n.textAlign="right";t.fillText(String(m),b.x-10,b.y+b.yb);t.fillText(String(g),b.x-10,b.y);n.textAlign="center";t.fillText(String(e),b.x,b.y+b.yb+15);
  218. t.fillText(String(f),b.x+b.ec,b.y+b.yb+15);n.strokeStyle="#FF0000";n.lineWidth=1.5;n.beginPath();e=b.ec/(c.length-1);g=b.yb/(g-m);for(a=0;a<c.length;a++)f=b.x+e*a,u=b.y+b.yb-(c[a]-m)*g,0==a?n.moveTo(f,u):n.lineTo(f,u);n.stroke()}};a.draw_mixer_strip=function(a,b,c,e,f,m,g){var n=t;if(n)for(n.textAlign="center",n.fillStyle="#00FF00",n.font="bold 12px Courier",c=D(c),t.fillText(b?"["+a+"]":a,p(c),c.y),0<=m&&t.fillText(m?"[M]":"[ ]",p(c)-15,c.y+30),0<=g&&t.fillText(g?"[S]":"[ ]",p(c)+15,c.y+30),a={x:0,
  219. y:0,ec:0,yb:0},b=0;b<e.length;b++){m=e[b];var u="VOLUME"==m[0];if(u){g=c.y+350;var E=c.ec,A=a;A.x=c.x;A.y=g;A.ec=E;A.yb=250}else{g=c.y+50+50*b;var E=c.ec,A=c.yb,K=a;K.x=c.x;K.y=g;K.ec=E;K.yb=A}g=n;var E=a,K=b==f,h=m[0],A=m[1],l=m[2],w=m[3],r=(w-l)/m[4],r=1>r?Math.floor(1/r-1E-5).toFixed(0).length:0;m=m[5]?Math.log(A/l)/Math.log(w/l):(A-l)/(w-l);g.textAlign="center";K?g.fillText("["+h+"]",p(E),E.y):g.fillText(h,p(E),E.y);g.strokeStyle="#00FF00";g.lineWidth=u?3:1;u?(g.textAlign="right",g.fillText(w.toFixed(r),
  220. p(E)-10,E.y+15),g.textAlign="right",g.fillText(l.toFixed(r),p(E)-10,E.y+E.yb-15)):(g.textAlign="right",g.fillText(l.toFixed(r),E.x+28,E.y+15),g.textAlign="left",g.fillText(w.toFixed(r),E.x+E.ec-28,E.y+15));g.beginPath();if(u){var J=E.y+15+(E.yb-30)*(1-m);g.moveTo(p(E),E.y+15);g.lineTo(p(E),E.y+E.yb-15);g.moveTo(p(E)-5,E.y+15);g.lineTo(p(E)+5,E.y+15);g.moveTo(p(E)-5,E.y+E.yb-15);g.lineTo(p(E)+5,E.y+E.yb-15);g.moveTo(p(E)-5,J);g.lineTo(p(E)+5,J)}else{var B=E.x+30+(E.ec-60)*m;g.moveTo(E.x+30,E.y+15);
  221. g.lineTo(E.x+E.ec-30,E.y+15);g.moveTo(E.x+30,E.y+15-5);g.lineTo(E.x+30,E.y+15+5);g.moveTo(E.x+E.ec-30,E.y+15-5);g.lineTo(E.x+E.ec-30,E.y+15+5);g.moveTo(B,E.y+15-5);g.lineTo(B,E.y+15+5)}g.stroke();"EQ_Q"==h?(m=Math.log(1+1/(2*A*A)+Math.sqrt((2+1/(A*A))*(2+1/(A*A))/4-1))/Math.log(2),u?(g.textAlign="left",g.fillText(A.toFixed(r),p(E)+10,J),g.textAlign="left",g.fillText("("+m.toFixed(r+1)+")",p(E)+10,J+10)):(g.textAlign="right",g.fillText(A.toFixed(r),B,E.y+30),g.textAlign="left",g.fillText("("+m.toFixed(r+
  222. 1)+")",B,E.y+30))):u?(g.textAlign="left",g.fillText(A.toFixed(r),p(E)+10,J)):(g.textAlign="center",g.fillText(A.toFixed(r),B,E.y+30))}}};fdage.module.__renderer=function(a,q){function f(a){for(var c=a.p,e=a.Ha,f=null,k=H.Yb(c.n,Z),l=0;l<e.length;l++){var g=e[l];if(g.Sb){var t=g.pb,g=g.ma;if(t.gh!=f){h.useProgram(t.gh);for(var f=a,G=c,r=t,w=r.wE,y=w.length;y--;){var u=w[y];u.Wl(h,u.re,f,G)}if(r.kp&&!r.Bs)for(r.bx.length||p(r),r=r.bx,y=r.length;y--;)u=r[y],u.Wl(h,u.re,f,G);f=t.gh}for(G=0;G<g.length;G++)if(w=g[G],w.Sb){r=w.te;y=w.pa;n.sO(y);n.UB()&&"DEBUG_VIEW"==y.type&&(y.qo=v.smooth(D.cI(y.Kl),y.qo,1,15));if(N.alpha_sort&&y.De){var u=
  223. r,w=w.Xr,A=k,S=y.fa,J=x.dist(A,w.iF),z=N.alpha_sort_threshold*Math.min(w.fI,1);if(J>z||u.Io)m.uQ(S,w,u.n,A),x.copy(A,w.iF),u.Io=!1}u=a;w=y;A=t;z=A.xE;for(S=z.length;S--;)J=z[S],J.Wl(h,J.re,r,w);if(A.kp&&!A.Bs){A.rp.length||p(A);z=A.rp;for(S=z.length;S--;)J=z[S],J.Wl(h,J.re,r,w);A.kp=!1}h.depthMask(w.Ka);w.Ob?h.enable(h.CULL_FACE):h.disable(h.CULL_FACE);S=w.ra;J=h;for(z=0;z<S.length;z++){var E=S[z];J.activeTexture(J.TEXTURE0+z);J.bindTexture(E.$a,E.gb)}if(u.type==d.Mf){r=u;A=A.ll;S=r.p.gc.gb;J=r.jk;
  224. for(z=0;6>z;z++)if(E=b(z),N.Ru?(h.bindTexture(h.TEXTURE_CUBE_MAP,S),h.texImage2D(E,0,h.RGBA,1,1,0,h.RGBA,h.UNSIGNED_BYTE,K)):(h.uniformMatrix4fv(A.u_cube_view_matrix,!1,J[z]),h.uniform4fv(A.u_sky_tex_fac,r.nt),h.uniform3fv(A.u_sky_tex_color,r.lt),h.uniform1f(A.u_sky_tex_dvar,r.mt),h.uniform3fv(A.u_horizon_color,r.Dd),h.uniform3fv(A.u_zenith_color,r.Ld),h.framebufferTexture2D(h.FRAMEBUFFER,h.COLOR_ATTACHMENT0,E,S,0),B(w,0)),r.zs&&3!=z){var E=r,q=z,ca=C;N.Ru?ca.set(K):(h.readPixels(191,191,1,1,h.RGBA,
  225. h.UNSIGNED_BYTE,ca),255!=ca[0]&&255!=ca[1]&&255!=ca[2]||h.readPixels(191,220,1,1,h.RGBA,h.UNSIGNED_BYTE,ca));var ta=ca[0],F=ca[1],ca=ca[2],ta=ta/255,F=F/255,ca=ca/255;2===q?(E.Qd[3]=ta,E.Qd[7]=F,E.Qd[11]=ca):2>q?(E.Qd[4*q]=ta,E.Qd[4*q+1]=F,E.Qd[4*q+2]=ca):(E.Qd[4*(q-2)]=ta,E.Qd[4*(q-2)+1]=F,E.Qd[4*(q-2)+2]=ca)}u.ro+=6}else B(w,r.Gt),u.ro++;n.tO(y);n.UB()&&"MAIN"==y.type&&D.dI(y.id,y.Le)}}}}function c(a){if(a){var b=(a.kb?h.COLOR_BUFFER_BIT:0)|(a.rb?h.DEPTH_BUFFER_BIT:0);if(!b)return;switch(a.type){case d.Ad:a=
  226. A;break;case d.Hc:a=M;break;case d.He:a=F;break;case d.Ee:case d.uh:case d.xl:a=E;break;case d.Lf:case d.rn:case d.wq:a=A;break;default:a=N.background_color}}else b=h.COLOR_BUFFER_BIT|h.DEPTH_BUFFER_BIT,a=N.background_color;h.colorMask(!0,!0,!0,!0);h.depthMask(!0);h.clearColor(a[0],a[1],a[2],a[3]);h.clear(b)}function b(a){switch(a){case 0:return h.TEXTURE_CUBE_MAP_POSITIVE_X;case 1:return h.TEXTURE_CUBE_MAP_NEGATIVE_X;case 2:return h.TEXTURE_CUBE_MAP_POSITIVE_Y;case 3:return h.TEXTURE_CUBE_MAP_NEGATIVE_Y;
  227. case 4:return h.TEXTURE_CUBE_MAP_POSITIVE_Z;case 5:return h.TEXTURE_CUBE_MAP_NEGATIVE_Z}}function g(a){var b=t.Vv(),c=a.Dn,d=a.fa,e=d.Fb;a.be.length=0;var f=1,k;for(k in e)f=Math.max(f,e[k].frames);for(e=0;e<f;e++){k=b.createVertexArray();J(k);d.rf&&h.bindBuffer(h.ELEMENT_ARRAY_BUFFER,d.rf);for(var l=0;l<d.gd.length;l++){h.bindBuffer(h.ARRAY_BUFFER,d.gd[l].Ej);for(var m=0;m<c.length;m++){var g=c[m];g.SE==d.gd[l].type&&(h.enableVertexAttribArray(g.re),h.vertexAttribPointer(g.re,g.cc,g.Gr,g.Gr==h.FLOAT?
  228. !1:!0,g.jl,g.sz+g.WA*e),w(g.re,g.yo))}}J(null);a.be.push(k)}}function p(a){var b=a.ll,c=a.xE,d=a.rp,e=a.wE,h=a.bx;c.length=0;d.length=0;e.length=0;h.length=0;for(var f in b){var k=!1,l=null,m=null;switch(f){case "u_proj_matrix":l=function(a,b,c,d){a.uniformMatrix4fv(b,!1,d.mb)};k=!0;break;case "u_view_refl_matrix":l=function(a,b,c,d){a.uniformMatrix4fv(b,!1,d.Lt)};k=!0;break;case "u_view_tsr":case "u_view_tsr_frag":l=function(a,b,c,d){d.dc?a.uniformMatrix3fv(b,!1,d.Cp):a.uniformMatrix3fv(b,!1,d.Be)};
  229. k=!0;break;case "u_view_tsr_inverse":l=function(a,b,c,d){d.dc?a.uniformMatrix3fv(b,!1,d.Ys):a.uniformMatrix3fv(b,!1,d.Mt)};k=!0;break;case "u_shadow_cast_billboard_view_tsr":l=function(a,b,c,d){a.uniformMatrix3fv(b,!1,d.Kp)};k=!0;break;case "u_view_proj_prev":l=function(a,b,c,d){a.uniformMatrix4fv(b,!1,d.gx)};k=!0;break;case "u_view_proj_matrix":l=function(a,b,c,d){a.uniformMatrix4fv(b,!1,d.Oc)};k=!0;break;case "u_view_proj_inverse":l=function(a,b,c,d){a.uniformMatrix4fv(b,!1,d.Kt)};k=!0;break;case "u_sky_vp_inverse":l=
  230. function(a,b,c,d){a.uniformMatrix4fv(b,!1,d.Ef)};k=!0;break;case "u_camera_eye":case "u_camera_eye_frag":l=function(a,b,c,d){a.uniform3fv(b,H.Yb(d.n,Z))};k=!0;break;case "u_camera_quat":l=function(a,b,c,d){a.uniform4fv(b,H.sd(d.n,I))};k=!0;break;case "u_view_max_depth":l=function(a,b,c,d){a.uniform1f(b,d.far)};k=!0;break;case "u_camera_range":l=function(a,b,c,d){a.uniform2f(b,d.near,d.far)};break;case "u_csm_center_dists":l=function(a,b,c,d){a.uniform4fv(b,d.er)};break;case "u_height":l=function(a,
  231. b,c,d){a.uniform1f(b,d.height)};k=!0;break;case "u_pcf_blur_radii":l=function(a,b,c,d){a.uniform4fv(b,d.wm)};break;case "u_dof_dist":l=function(a,b,c,d){d.dof_on?a.uniform1f(b,d.dof_distance):a.uniform1f(b,0)};k=!0;break;case "u_dof_front_start":l=function(a,b,c,d){a.uniform1f(b,d.dof_front_start)};k=!0;break;case "u_dof_front_end":l=function(a,b,c,d){a.uniform1f(b,d.dof_front_end)};k=!0;break;case "u_dof_rear_start":l=function(a,b,c,d){a.uniform1f(b,d.dof_rear_start)};k=!0;break;case "u_dof_rear_end":l=
  232. function(a,b,c,d){a.uniform1f(b,d.dof_rear_end)};k=!0;break;case "u_dof_bokeh_intensity":l=function(a,b,c,d){a.uniform1f(b,d.dof_bokeh_intensity)};k=!0;break;case "u_camera_direction":l=function(a,b,c,d){a.uniform3fv(b,d.direction)};k=!0;break;case "u_cam_water_depth":l=function(a,b,c){a.uniform1f(b,c.Mu)};k=!0;break;case "u_waves_height":l=function(a,b,c){a.uniform1f(b,c.xy)};break;case "u_waves_length":l=function(a,b,c){a.uniform1f(b,c.yy)};break;case "u_fog_color_density":l=function(a,b,c){a.uniform4fv(b,
  233. c.Sd)};break;case "u_fog_params":l=function(a,b,c){a.uniform4fv(b,c.nf)};break;case "u_underwater_fog_color_density":l=function(a,b,c){a.uniform4fv(b,c.sh)};break;case "u_bloom_key":l=function(a,b,c){a.uniform1f(b,c.Rq)};break;case "u_bloom_edge_lum":l=function(a,b,c){a.uniform1f(b,c.Qq)};break;case "u_time":l=function(a,b,c){a.uniform1f(b,c.time)};k=!0;break;case "u_wind":l=function(a,b,c){a.uniform3fv(b,c.pi)};k=!0;break;case "u_sky_tex_dvar":l=function(a,b,c){a.uniform1f(b,c.mt)};break;case "u_sky_tex_fac":l=
  234. function(a,b,c){a.uniform4fv(b,c.nt)};break;case "u_sky_tex_color":l=function(a,b,c){a.uniform3fv(b,c.lt)};break;case "u_horizon_color":l=function(a,b,c){a.uniform3fv(b,c.Dd)};break;case "u_zenith_color":l=function(a,b,c){a.uniform3fv(b,c.Ld)};break;case "u_environment_energy":l=function(a,b,c){a.uniform1f(b,c.bg)};break;case "u_sky_color":l=function(a,b,c){a.uniform3fv(b,c.Im)};break;case "u_rayleigh_brightness":l=function(a,b,c){a.uniform1f(b,c.rayleigh_brightness)};break;case "u_mie_brightness":l=
  235. function(a,b,c){a.uniform1f(b,c.mie_brightness)};break;case "u_spot_brightness":l=function(a,b,c){a.uniform1f(b,c.spot_brightness)};break;case "u_scatter_strength":l=function(a,b,c){a.uniform1f(b,c.scatter_strength)};break;case "u_rayleigh_strength":l=function(a,b,c){a.uniform1f(b,c.rayleigh_strength)};break;case "u_mie_strength":l=function(a,b,c){a.uniform1f(b,c.mie_strength)};break;case "u_rayleigh_collection_power":l=function(a,b,c){a.uniform1f(b,c.rayleigh_collection_power)};break;case "u_mie_collection_power":l=
  236. function(a,b,c){a.uniform1f(b,c.mie_collection_power)};break;case "u_mie_distribution":l=function(a,b,c){a.uniform1f(b,c.mie_distribution)};break;case "u_light_positions":l=function(a,b,c){a.uniform4fv(b,c.ep)};break;case "u_light_directions":l=function(a,b,c){a.uniform3fv(b,c.vw)};break;case "u_light_color_intensities":l=function(a,b,c){a.uniform4fv(b,c.dp)};break;case "u_sun_quaternion":l=function(a,b,c){a.uniform4fv(b,c.eE)};break;case "u_sun_intensity":l=function(a,b,c){a.uniform3fv(b,c.dE)};
  237. break;case "u_sun_direction":l=function(a,b,c){a.uniform3fv(b,c.Rx)};break;case "u_debug_view_mode":l=function(a,b,c){a.uniform1i(b,c.debug_view_mode)};break;case "u_debug_colors_seed":l=function(a,b,c){a.uniform1f(b,c.debug_colors_seed)};break;case "u_debug_render_time_threshold":l=function(a,b,c){a.uniform1f(b,c.CA)};break;case "u_subpixel_jitter":l=function(a,b,c){a.uniform2fv(b,c.LM)};k=!0;break;case "u_subsample_indices":l=function(a,b,c){a.uniform4fv(b,c.MM)};k=!0;break;case "u_radial_blur_step":l=
  238. function(a,b,c){a.uniform1f(b,c.Xs)};break;case "u_god_rays_intensity":l=function(a,b,c){a.uniform1f(b,c.god_rays_intensity)};break;case "u_ssao_radius_increase":l=function(a,b,c){a.uniform1f(b,c.Mm)};break;case "u_ssao_blur_discard_value":l=function(a,b,c){a.uniform1f(b,c.ssao_blur_discard_value)};k=!0;break;case "u_ssao_influence":l=function(a,b,c){a.uniform1f(b,c.Lm)};break;case "u_ssao_dist_factor":l=function(a,b,c){a.uniform1f(b,c.Km)};break;case "u_texel_size":l=function(a,b,c){a.uniform2fv(b,
  239. c.Zx)};k=!0;break;case "u_normal_offset":l=function(a,b,c){a.uniform1f(b,c.self_shadow_normal_offset)};break;case "u_v_light_ts":l=function(a,b,c){a.uniform4fv(b,c.Ft)};k=!0;break;case "u_v_light_r":l=function(a,b,c){a.uniform4fv(b,c.Et)};k=!0;break;case "u_v_light_tsr":l=function(a,b,c){a.uniformMatrix3fv(b,!1,c.ty)};k=!0;break;case "u_p_light_matrix0":l=function(a,b,c){a.uniformMatrix4fv(b,!1,c.Vk[0])};k=!0;break;case "u_p_light_matrix1":l=function(a,b,c){a.uniformMatrix4fv(b,!1,c.Vk[1])};k=!0;
  240. break;case "u_p_light_matrix2":l=function(a,b,c){a.uniformMatrix4fv(b,!1,c.Vk[2])};k=!0;break;case "u_p_light_matrix3":l=function(a,b,c){a.uniformMatrix4fv(b,!1,c.Vk[3])};k=!0;break;case "u_outline_color":l=function(a,b,c){a.uniform3fv(b,c.Zh)};break;case "u_draw_outline":l=function(a,b,c){a.uniform1f(b,c.vv)};k=!0;break;case "u_glow_mask_small_coeff":l=function(a,b,c){a.uniform1f(b,c.small_glow_mask_coeff)};k=!0;break;case "u_glow_mask_large_coeff":l=function(a,b,c){a.uniform1f(b,c.large_glow_mask_coeff)};
  241. k=!0;break;case "u_brightness":l=function(a,b,c){a.uniform1f(b,c.brightness)};break;case "u_contrast":l=function(a,b,c){a.uniform1f(b,c.contrast)};break;case "u_exposure":l=function(a,b,c){a.uniform1f(b,c.exposure)};break;case "u_saturation":l=function(a,b,c){a.uniform1f(b,c.saturation)};break;case "u_enable_hmd_stereo":l=function(a,b,c){a.uniform1i(b,c.enable_hmd_stereo)};break;case "u_distortion_params":l=function(a,b,c){a.uniform4fv(b,c.lk)};break;case "u_chromatic_aberration_coefs":l=function(a,
  242. b,c){a.uniform4fv(b,c.chromatic_aberration_coefs)};break;case "u_motion_blur_exp":l=function(a,b,c){a.uniform1f(b,c.tC)};k=!0;break;case "u_motion_blur_decay_threshold":l=function(a,b,c){a.uniform1f(b,c.mb_decay_threshold)};k=!0;break;case "u_model_tsr":m=function(a,b,c){a.uniformMatrix3fv(b,!1,c.n)};k=!0;break;case "u_model_tsr_inverse":m=function(a,b,c){a.uniformMatrix3fv(b,!1,c.Ut)};k=!0;break;case "u_transb":m=function(a,b,c){a.uniform4fv(b,c.Kd)};k=!0;break;case "u_transa":m=function(a,b,c){a.uniform4fv(b,
  243. c.Zd)};k=!0;break;case "u_arm_rel_trans":m=function(a,b,c){a.uniform4fv(b,c.Bn)};k=!0;break;case "u_arm_rel_quat":m=function(a,b,c){a.uniform4fv(b,c.An)};k=!0;break;case "u_quat":m=function(a,b,c){a.uniform4fv(b,H.sd(c.n,I))};k=!0;break;case "u_quatsb":m=function(a,b,c){a.uniform4fv(b,c.Fd)};k=!0;break;case "u_quatsa":m=function(a,b,c){a.uniform4fv(b,c.Wd)};k=!0;break;case "u_frame_factor":m=function(a,b,c){a.uniform1f(b,c.oe)};k=!0;break;case "au_center_pos":m=function(a,b,c){a.uniform3fv(b,c.Sn)};
  244. k=!0;break;case "au_wind_bending_amp":m=function(a,b,c){a.uniform1f(b,c.zg)};k=!0;break;case "au_wind_bending_freq":m=function(a,b,c){a.uniform1f(b,c.Ag)};k=!0;break;case "au_detail_bending_freq":m=function(a,b,c){a.uniform1f(b,c.Yf)};k=!0;break;case "au_detail_bending_amp":m=function(a,b,c){a.uniform1f(b,c.Xf)};k=!0;break;case "au_branch_bending_amp":m=function(a,b,c){a.uniform1f(b,c.Sf)};k=!0;break;case "u_node_values":m=function(a,b,c,d){a.uniform1fv(b,d.Xh)};k=!0;break;case "u_node_rgbs":m=function(a,
  245. b,c,d){a.uniform3fv(b,d.Ud)};k=!0;break;case "u_diffuse_color":m=function(a,b,c,d){a.uniform4fv(b,d.od)};k=!0;break;case "u_diffuse_intensity":m=function(a,b,c,d){a.uniform1f(b,d.Rg)};k=!0;break;case "u_diffuse_params":m=function(a,b,c,d){a.uniform2fv(b,d.pd)};k=!0;break;case "u_emit":m=function(a,b,c,d){a.uniform1f(b,d.$f)};k=!0;break;case "u_ambient":m=function(a,b,c,d){a.uniform1f(b,d.Of)};k=!0;break;case "u_specular_color":m=function(a,b,c,d){a.uniform3fv(b,d.Gf)};k=!0;break;case "u_specular_alpha":m=
  246. function(a,b,c,d){a.uniform1f(b,d.Op)};k=!0;break;case "u_specular_params":m=function(a,b,c,d){a.uniform3fv(b,d.Id)};k=!0;break;case "u_reflect_factor":m=function(a,b,c,d){a.uniform1f(b,d.reflect_factor)};k=!0;break;case "u_mirror_factor":m=function(a,b,c,d){a.uniform1f(b,d.ip)};k=!0;break;case "u_grass_map_dim":m=function(a,b,c,d){a.uniform3fv(b,d.Cd)};k=!0;break;case "u_grass_size":m=function(a,b,c,d){a.uniform1f(b,d.Qo)};k=!0;break;case "u_scale_threshold":m=function(a,b,c,d){a.uniform1f(b,d.Ir)};
  247. k=!0;break;case "u_cube_fog":m=function(a,b,c,d){a.uniformMatrix4fv(b,!1,d.Qd)};break;case "u_jitter_amp":m=function(a,b,c,d){a.uniform1f(b,d.fs)};k=!0;break;case "u_jitter_freq":m=function(a,b,c,d){a.uniform1f(b,d.gs)};k=!0;break;case "u_wireframe_edge_color":m=function(a,b,c,d){a.uniform3fv(b,d.wireframe_edge_color)};break;case "u_cluster_id":m=function(a,b,c,d){a.uniform1f(b,d.$n)};k=!0;break;case "u_batch_debug_id_color":m=function(a,b,c,d){a.uniform1f(b,d.hr)};k=!0;break;case "u_batch_debug_main_render_time":m=
  248. function(a,b,c,d){a.uniform1f(b,d.qo)};k=!0;break;case "u_refr_bump":m=function(a,b,c,d){a.uniform1f(b,d.Zs)};k=!0;break;case "u_line_width":m=function(a,b,c,d){a.uniform1f(b,d.lm)};k=!0;break;case "u_lamp_light_positions":m=function(a,b,c,d){a.uniform3fv(b,d.jm)};break;case "u_lamp_light_directions":m=function(a,b,c,d){a.uniform3fv(b,d.bp)};break;case "u_lamp_light_color_intensities":m=function(a,b,c,d){a.uniform3fv(b,d.ap)};break;case "u_halo_size":m=function(a,b,c,d){a.uniform1f(b,d.Rr)};k=!0;
  249. break;case "u_halo_hardness":m=function(a,b,c,d){a.uniform1f(b,d.Or)};k=!0;break;case "u_halo_rings_color":m=function(a,b,c,d){a.uniform3fv(b,d.Qr)};k=!0;break;case "u_halo_lines_color":m=function(a,b,c,d){a.uniform3fv(b,d.Pr)};k=!0;break;case "u_halo_stars_blend":m=function(a,b,c,d){a.uniform1f(b,d.Sr)};k=!0;break;case "u_halo_stars_height":m=function(a,b,c,d){a.uniform1f(b,d.Tr)};k=!0;break;case "u_fresnel_params":m=function(a,b,c,d){a.uniform4fv(b,d.Pe)};k=!0;break;case "u_texture_scale":m=function(a,
  250. b,c,d){a.uniform3fv(b,d.lh)};k=!0;break;case "u_parallax_scale":m=function(a,b,c,d){a.uniform1f(b,d.parallax_scale)};k=!0;break;case "u_color_id":m=function(a,b,c){a.uniform3fv(b,c.Ci)};k=!0;break;case "u_line_points":m=function(a,b,c,d){a.uniform3fv(b,d.rT)};k=!0;break;case "u_diffuse_color_factor":m=function(a,b,c,d){a.uniform1f(b,d.Qg)};k=!0;break;case "u_alpha_factor":m=function(a,b,c,d){a.uniform1f(b,d.Hg)};k=!0;break;case "u_specular_color_factor":m=function(a,b,c,d){a.uniform1f(b,d.ei)};k=
  251. !0;break;case "u_normal_factor":m=function(a,b,c,d){a.uniform1f(b,d.Ds)};k=!0;break;case "u_normalmap0_scale":m=function(a,b,c,d){a.uniform2fv(b,d.Yh[0])};k=!0;break;case "u_normalmap1_scale":m=function(a,b,c,d){a.uniform2fv(b,d.Yh[1])};k=!0;break;case "u_normalmap2_scale":m=function(a,b,c,d){a.uniform2fv(b,d.Yh[2])};k=!0;break;case "u_normalmap3_scale":m=function(a,b,c,d){a.uniform2fv(b,d.Yh[3])};k=!0;break;case "u_foam_factor":m=function(a,b,c,d){a.uniform1f(b,d.foam_factor)};k=!0;break;case "u_foam_uv_freq":m=
  252. function(a,b,c,d){a.uniform2fv(b,d.xr)};k=!0;break;case "u_foam_mag":m=function(a,b,c,d){a.uniform2fv(b,d.wr)};k=!0;break;case "u_foam_scale":m=function(a,b,c,d){a.uniform2fv(b,d.Fo)};k=!0;break;case "u_water_norm_uv_velocity":m=function(a,b,c,d){a.uniform1f(b,d.Lj)};k=!0;break;case "u_shallow_water_col":m=function(a,b,c,d){a.uniform3fv(b,d.shallow_water_col)};k=!0;break;case "u_shore_water_col":m=function(a,b,c,d){a.uniform3fv(b,d.shore_water_col)};k=!0;break;case "u_water_shallow_col_fac":m=function(a,
  253. b,c,d){a.uniform1f(b,d.shallow_water_col_fac)};k=!0;break;case "u_water_shore_col_fac":m=function(a,b,c,d){a.uniform1f(b,d.shore_water_col_fac)};k=!0;break;case "u_p_length":m=function(a,b,c,d){a.uniform1f(b,d.Ua.pE)};k=!0;break;case "u_p_cyclic":m=function(a,b,c,d){a.uniform1i(b,d.Ua.cyclic)};k=!0;break;case "u_p_max_lifetime":m=function(a,b,c,d){a.uniform1f(b,d.Ua.iC)};k=!0;break;case "u_p_fade_in":m=function(a,b,c,d){a.uniform1f(b,d.Ua.qk)};k=!0;break;case "u_p_fade_out":m=function(a,b,c,d){a.uniform1f(b,
  254. d.Ua.Ne)};k=!0;break;case "u_p_size":m=function(a,b,c,d){a.uniform1f(b,d.Ua.size)};k=!0;break;case "u_p_alpha_start":m=function(a,b,c,d){a.uniform1f(b,d.Ua.iz)};k=!0;break;case "u_p_alpha_end":m=function(a,b,c,d){a.uniform1f(b,d.Ua.hz)};k=!0;break;case "u_p_nfactor":m=function(a,b,c,d){a.uniform1f(b,d.Ua.Sw)};k=!0;break;case "u_p_gravity":m=function(a,b,c,d){a.uniform1f(b,d.Ua.EB)};k=!0;break;case "u_p_mass":m=function(a,b,c,d){a.uniform1f(b,d.Ua.$g)};k=!0;break;case "u_p_color_ramp":m=function(a,
  255. b,c,d){a.uniform4fv(b,d.Ua.iA)};k=!0;break;case "u_p_wind_fac":m=function(a,b,c,d){a.uniform1f(b,d.Ua.dF)};k=!0;break;case "u_p_time":m=function(a,b,c,d){a.uniform1f(b,d.Ua.time)};k=!0;break;case "u_p_tilt":m=function(a,b,c,d){a.uniform1f(b,d.Ua.nE)};k=!0;break;case "u_p_tilt_rand":m=function(a,b,c,d){a.uniform1f(b,d.Ua.oE)};k=!0;break;case "u_position":m=function(a,b,c,d){a.uniform3fv(b,d.Pj)};k=!0;break;case "u_va_frame_factor":m=function(a,b,c){a.uniform1f(b,c.Ht)};k=!0;break;case "u_refl_plane":m=
  256. function(a,b,c){a.uniform4fv(b,c.dc)};k=!0;break;case "u_outline_intensity":m=function(a,b,c){a.uniform1f(b,c.og)};k=!0;break;case "u_obj_info":m=function(a,b,c,d){a.uniform3fv(b,d.tm)},k=!0}m&&(m={name:f,Wl:m,re:b[f]},k?c.push(m):d.push(m));l&&(m={name:f,Wl:l,re:b[f]},k?e.push(m):h.push(m))}if(d.length||h.length){a=a.cx;for(var g in a)delete a[g];for(g=0;g<d.length;g++)m=d[g],a[m.name]=m;for(g=0;g<h.length;g++)m=h[g],a[m.name]=m}else a.Bs=!0}var D=q("__batch"),e=q("__camera"),u=q("__config"),n=q("__debug"),
  257. t=q("__extensions"),m=q("__geometry"),k=q("__quat"),d=q("__subscene"),y=q("__textures"),H=q("__tsr"),v=q("__util"),z=q("__version"),m=q("__geometry"),x=q("__vec3"),M=[1,1,1,1],F=[1,1,1,1],E=[0,0,0,1],A=[0,0,0,0],K=new Uint8Array([91.8,142.8,.96*255,255]);new Float32Array([.25,-.25]);new Float32Array([-.25,.25]);new Float32Array([1,1,1,0]);new Float32Array([2,2,2,0]);var h=null,l=null,w=null,r=null,J=null,B=null,Z=new Float32Array(3),I=k.create(),C=new Uint8Array(4),N=u.A;a.Ye=function(a){var b=N.background_color;
  258. a.clearColor(b[0],b[1],b[2],b[3]);a.clearDepth(1);a.enable(a.DEPTH_TEST);a.depthFunc(a.LEQUAL);a.enable(a.CULL_FACE);a.frontFace(a.CCW);a.cullFace(a.BACK);a.enable(a.BLEND);a.blendFunc(a.ONE,a.ONE_MINUS_SRC_ALPHA);h=a};a.Pl=function(a){if(a.Sb)if(a.type==d.Bl){n.ox(a);var k=a.p;h.bindFramebuffer(h.READ_FRAMEBUFFER,k.Jo);h.bindFramebuffer(h.DRAW_FRAMEBUFFER,k.pe);var l=0;k.gc&&(l|=h.COLOR_BUFFER_BIT);k.le&&(l|=h.DEPTH_BUFFER_BIT);h.blitFramebuffer(0,0,k.width,k.height,0,0,k.width,k.height,l,h.NEAREST);
  259. n.px(a);n.Ou("draw resolve")}else if(a.type==d.Zt)n.ox(a),k=a.p,h.bindFramebuffer(h.FRAMEBUFFER,k.Jo),h.bindTexture(h.TEXTURE_2D,k.gc.gb),h.copyTexSubImage2D(h.TEXTURE_2D,0,0,0,0,0,k.width,k.height,0),n.px(a),n.Ou("draw copy");else{n.ox(a);k=a.p;h.bindFramebuffer(h.FRAMEBUFFER,k.pe);a.uu&&(l=k.gc,h.framebufferTexture2D(h.FRAMEBUFFER,h.COLOR_ATTACHMENT0,l.$a,l.gb,0));h.viewport(0,0,k.width,k.height);a.type!=d.Pc&&a.type!=d.ee&&c(a);a.zb?h.enable(h.BLEND):h.disable(h.BLEND);a.nd?h.enable(h.DEPTH_TEST):
  260. h.disable(h.DEPTH_TEST);switch(a.type){case d.Hc:h.enable(h.POLYGON_OFFSET_FILL);h.polygonOffset(a.self_shadow_polygon_offset,a.self_shadow_polygon_offset);h.cullFace(h.BACK);break;case d.hd:case d.Ge:h.disable(h.POLYGON_OFFSET_FILL);h.cullFace(h.FRONT);break;case d.Fe:h.enable(h.POLYGON_OFFSET_FILL);h.polygonOffset(-4,-4);h.cullFace(h.BACK);break;case d.Ad:if(1<N.pc||N.jD){h.enable(h.POLYGON_OFFSET_FILL);h.polygonOffset(-2,-2);break}default:h.disable(h.POLYGON_OFFSET_FILL),h.cullFace(h.BACK)}if(a.type==
  261. d.Pc||a.type==d.ee)for(var k=a.p,l=k.gc.gb,m=0;6>m;m++){var g=b(m);k.Cb=a.jk[m];H.from_mat4(k.Cb,k.Be);e.Ju(k);h.framebufferTexture2D(h.FRAMEBUFFER,h.COLOR_ATTACHMENT0,g,l,0);c(a);for(var g=a.Ha,t=0;t<g.length;t++)for(var r=0;r<g[t].ma.length;r++){var p=g[t].ma[r];p.Sb=p.uv[m]}f(a)}else f(a);n.px(a);n.Ou("draw subscene: "+d.Qx(a))}};a.clear=function(a){h.bindFramebuffer(h.FRAMEBUFFER,a.p.pe);c(a)};a.tu=function(a){var b=a.Dn;b.length=0;var c=a.fa,d=c.Fb,e=a.pb.attributes,h;for(h in e){var k=d[h],
  262. f=m.Li(h),l=m.$L(h),t=m.zB(h);b.push({SE:f,Gr:l,re:e[h],sz:k.offset*t,WA:1<k.frames?k.length*t:0,cc:k.cc,jl:k.jl*t,yo:k.yo})}if("DEBUG"==z.type())for(h in d)f=m.Li(h),b=m.JO(c.gd,f),b=c.gd[b],k=a.Va.Jf+" | "+a.Va.ne,f=d[h].length*d[h].frames*m.zB(h),n.cL(b.xK,k,h,f,h in e);N.qu&&g(a)};a.$H=g;a.eJ=function(a){for(var b=t.Vv(),c=0;c<a.be.length;c++)b.deleteVertexArray(a.be[c]);a.be.length=0};a.gJ=function(a){for(var b=[],c=0;c<a.length;c++)b.push(a[c]);return b};a.ZH=p;a.oz=function(a){var b=a.pb,c=
  263. a.ra;a=a.fd;h.useProgram(b.gh);for(var d=0;d<c.length;d++)h.uniform1i(b.ll[a[d]],d)};a.mx=function(a,b,c,d,e,k){d||(d=1);e||(e=1);k||(k=new Uint8Array(4*d*e));k.length!=4*d*e&&v.q("read_pixels(): Wrong storage");h.bindFramebuffer(h.FRAMEBUFFER,a);h.readPixels(b,c,d,e,h.RGBA,h.UNSIGNED_BYTE,k);h.bindFramebuffer(h.FRAMEBUFFER,null);return k};a.rQ=function(a){var b=a.pb;b.Bs||(h.useProgram(b.gh),b.rp.length||p(b),b=b.cx.u_cube_fog,b.Wl(h,b.re,null,a))};a.rO=function(a,b){var c=h.createFramebuffer();
  264. h.bindFramebuffer(h.FRAMEBUFFER,c);if(y.hm(a)){var d=a.ce;h.framebufferRenderbuffer(h.FRAMEBUFFER,h.COLOR_ATTACHMENT0,h.RENDERBUFFER,d)}else if(y.im(a)){var e=a,d=e.gb,e=e.$a==h.TEXTURE_CUBE_MAP?h.TEXTURE_CUBE_MAP_NEGATIVE_Z:e.$a;h.framebufferTexture2D(h.FRAMEBUFFER,h.COLOR_ATTACHMENT0,e,d,0)}y.hm(b)?(d=b.ce,h.framebufferRenderbuffer(h.FRAMEBUFFER,h.DEPTH_ATTACHMENT,h.RENDERBUFFER,d)):y.im(b)&&(e=b,d=e.gb,e=e.$a,h.framebufferTexture2D(h.FRAMEBUFFER,h.DEPTH_ATTACHMENT,e,d,0));n.LI();h.bindFramebuffer(h.FRAMEBUFFER,
  265. null);return c};a.qO=function(a,b,c,d,e){null==a?(h.bindFramebuffer(h.FRAMEBUFFER,a),h.viewport(0,0,d,e),h.clear(h.COLOR_BUFFER_BIT|h.DEPTH_BUFFER_BIT)):(y.hm(b)?h.deleteRenderbuffer(b.ce):y.im(b)&&h.deleteTexture(b.gb),y.hm(c)?h.deleteRenderbuffer(c.ce):y.im(c)&&h.deleteTexture(c.gb),h.deleteFramebuffer(a))};a.fT=function(){};a.GK=function(a,b,c,d,e,k){a=a.gb;h.viewport(0,0,c,c);h.framebufferTexture2D(h.FRAMEBUFFER,h.COLOR_ATTACHMENT0,b,a,0);b=D.dv("FLIP_CUBEMAP_COORDS");a=b.pb;h.activeTexture(h.TEXTURE0);
  266. h.bindTexture(h.TEXTURE_2D,e);var f=e=0;c!=d&&(e=1/(6*d),f=1/(4*d));h.uniform1i(a.ll.u_tex_number,k);h.uniform2fv(a.ll.u_delta,[e,f]);h.useProgram(a.gh);B(b,0);h.bindTexture(h.TEXTURE_2D,null)};a.HK=function(a,b,c,d,e){h.bindFramebuffer(h.FRAMEBUFFER,d);d=a.gb;a=a.$a;h.bindTexture(a,d);h.viewport(0,0,b,c);h.texImage2D(a,0,h.RGBA,b,c,0,h.RGBA,h.UNSIGNED_BYTE,null);h.framebufferTexture2D(h.FRAMEBUFFER,h.COLOR_ATTACHMENT0,a,d,0);b=D.dv("NONE");c=b.pb;h.activeTexture(h.TEXTURE0);h.bindTexture(a,e);h.useProgram(c.gh);
  267. B(b,0);h.bindFramebuffer(h.FRAMEBUFFER,null);h.bindTexture(a,null)};a.cleanup=function(){};a.TO=function(){var a=t.cM(),b=t.Vv();N.gz=a?!0:!1;N.qu=b?!0:!1;a?(l=function(b,c,d,e){a.drawElementsInstanced(h.TRIANGLES,b,c,d,e)},w=function(b,c){a.vertexAttribDivisor(b,c)},r=function(b,c,d){a.drawArraysInstanced(h.TRIANGLES,b,c,d)}):(l=function(a,b,c){h.drawElements(h.TRIANGLES,a,b,c)},w=function(){},r=function(a,b){h.drawArrays(h.TRIANGLES,a,b)});b?(J=function(a){b.bindVertexArray(a)},B=function(a,b){var c=
  268. a.fa;J(a.be[b]);c.rf?l(c.count,c.Bk,0,c.Fk):r(0,c.count,c.Fk);J(null)}):B=function(a,b){for(var c=a.fa,d=a.Dn,e=0;e<c.gd.length;e++){h.bindBuffer(h.ARRAY_BUFFER,c.gd[e].Ej);for(var k=0;k<d.length;k++){var f=d[k];f.SE==c.gd[e].type&&(h.enableVertexAttribArray(f.re),h.vertexAttribPointer(f.re,f.cc,f.Gr,f.Gr==h.FLOAT?!1:!0,f.jl,f.sz+f.WA*b),w(f.re,f.yo))}}c.rf?(h.bindBuffer(h.ELEMENT_ARRAY_BUFFER,c.rf),l(c.count,c.Bk,0,c.Fk)):r(0,c.count,c.Fk);for(e=0;e<d.length;e++)f=d[e],h.disableVertexAttribArray(f.re)}};
  269. a.reset=function(){J=r=w=l=h=null}};fdage.module.__shaders=function(a,q){function f(a,b,d){var e=a.Jh;"string"==typeof d?(a=c(a,d))&&(d=a[1]):d=String(d);for(a=0;a<e.length;a++)if(e[a][0]==b){e[a][1]=d;break}}function c(a,b){for(var c=a.Jh,d=0;d<c.length;d++)if(c[d][0]==b)return c[d];return!1}function b(a,b){var c=a+b;if(!(c in N)){var e=d(B.shaders_path,a),h=d(B.shaders_path,b),e=H(e),h=H(h),k;for(k in h)e[k]=h[k];h=[];for(k in e)h.push([k,e[k]]);N[c]=h}return N[c]}function g(a,b){return a+b}function p(a,b){return(a.split(";").map(function(a){return(a=
  270. a.match(b))&&(a[3]?parseInt(a[3]):1)}).filter(function(a){return a})||[]).reduce(g,0)}function D(a,b){var c=k(a.type),d=k(b.type),e=a.Tj,h=b.Tj;return c>d?-1:c<d?1:e>h?-1:e<h?1:0}function e(a){if(r.Vb){a=a.replace(/(.*?)\([^()]*?\)(.*?)/g,"$1$2");var b=ka}else b=ja;a=a.split(";").map(function(a){return(a=a.match(b))&&{type:a[2],Tj:a[4]?parseInt(a[4]):1}}).filter(function(a){return a});return n(a,U,J.rs)}function u(a,b,c){a=a.split(";").map(function(a){return(a=a.match(V))&&{type:a[2],Tj:a[4]?parseInt(a[4]):
  271. 1}}).filter(function(a){return a});return n(a,b,c)}function n(a,b,c){function d(){for(var c=0;n<a.length;){var e=a[n];if(3!=k(e.type))break;c+=m(e.type)*e.Tj;n++}l=g+c;if(l>aa)return!1;t(b,g,c,0,3);return!0}function e(){for(var c=aa-l,d=c,h=c;n<a.length;){var f=a[n];if(2!=k(f.type))break;f=m(f.type)*f.Tj;if(f<=d)d-=f;else if(f<=h)h-=f;else return!1;n++}h=c-h;t(b,l,c-d,0,2);t(b,aa-h,h,2,2);return!0}function h(){for(;n<a.length;){for(var d=a[n],d=m(d.type)*d.Tj,e=-1,k=c+1,f=-1,l=0;4>l;l++){var g=T;
  272. g[0]=0;g[1]=1;var r;r=b;for(var p=l,G=d,w=g;qa<r.length&&15===r[qa];)qa++;for(;0<aa&&15===r[aa];)aa--;if(aa-qa<G)r=!1;else{for(var p=1<<p,y=0,B=-1,u=r.length+1,v=!1,A=qa;A<=aa;A++)A<aa&&!(r[A]&p)?v||(y=A,v=!0):(v&&(v=A-y,v>=G&&v<u&&(u=v,B=y)),v=!1);0>B?r=!1:(w[0]=B,w[1]=u,r=!0)}r&&g[1]<k&&(f=g[0],k=g[1],e=l)}if(0>e)return!1;t(b,f,d,e,1);n++}return!0}if(!a.length)return!0;for(var f=0;f<c;f++)b[f]=0;aa=c;a.sort(D);var l=0,g=0,n=0;return function(){for(;n<a.length;){var c=a[n];if(4!=k(c.type))break;
  273. g+=m(c.type)*c.Tj;n++}if(g>aa)return!1;qa=g;t(b,0,g,0,4);return!0}()&&d()&&e()&&h()}function t(a,b,c,d,e){for(var h=0,k=0;k<e;k++)h|=1<<d+k;for(k=0;k<c;k++)a[b+k]|=h}function m(a){var b=0;switch(a){case "mat4":b=4;break;case "mat3":b=3;break;case "mat2":b=2;break;default:b=1}return b}function k(a){var b=0;switch(a){case "mat4":case "vec4":case "ivec4":case "bvec4":case "mat2":b=4;break;case "mat3":case "vec3":case "ivec3":case "bvec3":b=3;break;case "vec2":case "ivec2":case "bvec2":b=2;break;default:b=
  274. 1}return b}function d(a,b){var c=a+b;if(I[c])return I[c];if(C){var d=C[b];if(!d)return null;d=q("__gpp_parser").BT.parse(d)}else if(d=q("shader_texts")[b],!d)return null;return I[c]=d}function y(a,b){for(var c={},d=b.Jh||[],e=0;e<d.length;e++)c[d[e][0]]=[d[e][1]];for(e=0;e<b.yf.length;e++)c["USE_NODE_"+b.yf[e].id]=["1"];r.Vb?(c.GLSL1=["0"],c.GLSL3=["1"],c.GLSL_VERSION=["300 es"],c.GLSL_IN=["in"],c.GLSL_OUT=["out"],c.GLSL_OUT_FRAG_COLOR=["glsl_out_frag_color"],c.GLSL_TEXTURE=["texture"],c.GLSL_TEXTURE_CUBE=
  275. ["texture"],c.GLSL_TEXTURE_PROJ=["textureProj"]):(c.GLSL1=["1"],c.GLSL3=["0"],c.GLSL_VERSION=["100"],c.GLSL_IN="vert"==a?["attribute"]:["varying"],c.GLSL_OUT="vert"==a?["varying"]:[""],c.GLSL_OUT_FRAG_COLOR=["gl_FragColor"],c.GLSL_TEXTURE=["texture2D"],c.GLSL_TEXTURE_CUBE=["textureCube"],c.GLSL_TEXTURE_PROJ=["texture2DProj"]);c.GLSL_SMPLR2D_SHDW=r.ho?["sampler2DShadow"]:["sampler2D"];for(var h in c)c[h][0].constructor!=String&&l.warn("Warning! The value of a directive '"+h+"' is not of type string.");
  276. return c}function H(a){function b(a){"var"==a.a?e[a.c]=a.b.join(""):"include"==a.a&&(a=d(B.shaders_path,B.DD+a.o),c(a,b))}function c(a,b,d){if(a instanceof Array)for(var e=0;e<a.length;e++)c(a[e],b,d);else if(a instanceof Object&&a){b&&b(a);for(e in a)c(a[e],b,d);d&&d(a)}}var e={};c(a,b);return e}function v(a,b,c){function e(b){b=b.d;for(var c=0;c<b.length;c++){var X=b[c];switch(X.a){case "cond":a:for(var X=X.d,Y=0;Y<X.length;Y++){var n=X[Y];switch(n.a){case "if":case "elif":if(h(n.g)){e(n.h);break a}break;
  277. case "else":e(n.h);break a;case "ifdef":n.c in G&&e(n.h);break;case "ifndef":n.c in G||e(n.h)}}break;case "include":X=X.o;Y=d(B.shaders_path,B.DD+X);v.push("include/"+X);e(Y);v.pop();break;case "var":break;case "define":G[X.c]=X.b;break;case "error":w.q("Shader error: #error "+X.b.join(" "));break;case "line":break;case "pragma":p.push("#pragma "+X.c+" "+X.b.join(" "));break;case "undef":delete G[X.c];break;case "warning":l.warn("Shader warning: #warning "+X.b.join(" "));break;case "extension":X=
  278. g(X.b,G,u,!1);p.push("#extension "+X.join(" "));break;case "version":X=g(X.b,G,u,!1),p.push("#version "+X.join(" "));case "#":break;case "node":J[X.c]=X;break;case "nodes_global":X=t;for(Y=0;Y<X.length;Y++){var n=X[Y],r=J[n.id];if(r)for(var y=0,A=0;A<r.l.length;A++){var R=r.l[A];if("node_param"==R.a){var x;if("PARTICLE_INFO"==n.id&&R.e)if(1==G.PARTICLE_BATCH)switch(x=!1,y){case 0:x=E(n.Ib,"PART_INFO_IND")||E(n.Ib,"PART_INFO_AGE")||E(n.Ib,"PART_INFO_LT")||E(n.Ib,"PART_INFO_SIZE");break;case 1:x=E(n.Ib,
  279. "PART_INFO_LOC");break;case 2:x=E(n.Ib,"PART_INFO_VEL");break;case 3:x=E(n.Ib,"PART_INFO_A_VEL");break;case 4:x=E(n.Ib,"PART_INFO_IND")}else x=!1;else x=!0;x&&(R=R.f.join(" ")+" ","vert"==a?R+=n.qh[y]:"frag"==a&&(R+=n.Y[y],null!==n.Ms[y]&&(R+="="+n.Ms[y])),R+=";",m(f(R)));y++}}}break;case "nodes_main":X=t;for(Y=0;Y<X.length;Y++)if(n=X[Y],r=J[n.id]){y={};H=C=D=0;A=r;R=n;x=A;for(var la={},K=0;K<x.m.length;K++){var pa=x.m[K];la[pa.c]=[pa.b.join("")]}x=la;for(la=0;la<R.Ib.length;la++)K=R.Ib[la][0],K in
  280. x&&(x[K]=[R.Ib[la][1]]);for(la=K=0;la<A.l.length;la++)pa=A.l[la],"node_out"==pa.a&&(x["USE_OUT_"+pa.c]=[-1<z.indexOf(R.Ta[K])|0],K++);A=x;R=n;x=r.l;la=y;K=A;for(pa=0;pa<x.length;pa++){var q=x[pa];switch(q.a){case "node_in":var F=R.I[D];if(null!==R.iw[D]){if(("MATERIAL_BEGIN"==R.id&&3===D||!K.MATERIAL_EXT&&("MATERIAL_BEGIN"==R.id&&4===D||"MATERIAL_END"==R.id&&3===D||"MATERIAL_END"==R.id&&4===D||"MATERIAL_END"==R.id&&5===D)||"TEXTURE_COLOR"==R.id||"TEXTURE_NORMAL"==R.id)&&q.e){la[q.c]=R.iw[D];D++;continue}var N=
  281. q.f.join(" ")+" ",N=N+(F+"="+R.iw[D]+";");m(f(N))}la[q.c]=F;D++;break;case "node_out":F=R.Ta[C];if(!q.e||-1<z.indexOf(F))N=q.f.join(" ")+" ",N+=F+";",m(f(N)),la[q.c]=F;C++;break;case "node_param":"vert"==a?F=R.qh[H]:"frag"==a&&(F=R.Y[H]),la[q.c]=F,H++}}p.push("{");k(n,r.j,y,A);p.push("}")}break;case "txt":m(X.b);break;default:w.q("Unknown element type: "+X.a)}}}function h(a,b){var c;c=g(a,G,u,!0,b);for(var d=[],e=0;e<c.length;e++)if(c[e]instanceof Object)switch(c[e].a){case "conditional_expr":var k=
  282. d.pop(),f=d.pop();d.pop()?d.push(f):d.push(k);break;case "logical_or_expr":for(var f=d.pop(),m=0;m<c[e].i-1;m++)k=d.pop(),f=f||k;d.push(f);break;case "logical_and_expr":f=d.pop();for(m=0;m<c[e].i-1;m++)k=d.pop(),f=f&&k;d.push(f);break;case "logical_bitor_expr":f=d.pop();for(m=0;m<c[e].i-1;m++)f|=d.pop();d.push(f);break;case "logical_bitxor_expr":f=d.pop();for(m=0;m<c[e].i-1;m++)f^=d.pop();d.push(f);break;case "logical_bitand_expr":f=d.pop();for(m=0;m<c[e].i-1;m++)f&=d.pop();d.push(f);break;case "equal_expr":k=
  283. d.pop();f=d.pop();d.push(f==k);break;case "non_equal_expr":k=d.pop();f=d.pop();d.push(f!=k);break;case "le_expr":k=d.pop();f=d.pop();d.push(f<=k);break;case "ge_expr":k=d.pop();f=d.pop();d.push(f>=k);break;case "l_expr":k=d.pop();f=d.pop();d.push(f<k);break;case "g_expr":k=d.pop();f=d.pop();d.push(f>k);break;case "left_shift_expr":f=d.pop();k=d.pop();d.push(f<<k);break;case "right_shift_expr":f=d.pop();k=d.pop();d.push(f>>k);break;case "add_expr":f=d.pop();k=d.pop();d.push(f+k);break;case "sub_expr":f=
  284. d.pop();k=d.pop();d.push(f-k);break;case "mul_expr":f=d.pop();k=d.pop();d.push(f*k);break;case "div_expr":f=d.pop();k=d.pop();d.push(f/k);break;case "mod_expr":f=d.pop();k=d.pop();d.push(f%k);break;case "pre_inc_expr":case "post_inc_expr":k=d.pop();d.push(++k);break;case "pre_dec_expr":case "post_dec_expr":k=d.pop();d.push(--k);break;case "positive_expr":k=d.pop();d.push(+k);break;case "negative_expr":k=d.pop();d.push(-k);break;case "one_compl_expr":k=d.pop();d.push(~k);break;case "logic_negative_expr":k=
  285. d.pop();d.push(!k);break;default:w.q("Unknown operation type: "+c[e].a)}else k=c[e],/^[a-zA-Z_$][a-zA-Z_$0-9]*$/.test(k)?(d.push(0),0!=k.indexOf("USE_NODE_")&&(f=v[v.length-1],f in A||(A[f]=[]),-1==A[f].indexOf(k)&&(A[f].push(k),l.error("Undefined directive '"+k+"' in shader '"+f+"'. Should it be defined with #var/#node_var or #define?")))):d.push(parseFloat(c[e]));1==d.length?c=d[0]:(w.q("Incorrect expression: "+c.join(" ")),c=void 0);return c}function k(a,b,c,d){for(var e=0;e<b.length;e++){var f=
  286. b[e];switch(f.a){case "node_cond":a:for(var l=a,f=f.d,g=c,n=d,t=0;t<f.length;t++){var r=f[t];switch(r.a){case "node_if":case "node_elif":if(h(r.g,n)){k(l,r.j,g,n);break a}break;case "node_else":k(l,r.j,g,n);break a;case "node_ifdef":(r.c in G||r.c in n)&&k(l,r.j,g,n);break;case "node_ifndef":r.c in G||r.c in n||k(l,r.j,g,n)}}break;case "txt":l=[];for(g=0;g<f.b.length;g++)n=f.b[g],n in c?l.push(c[n]):l.push(n);m(l,d)}}}function f(a){return a.match(/([\d]+\.[\d]+|[\w]+|[^\s])/g)}function m(b,c){var d=
  287. b;r.Vb||"frag"!=a||(d=d.join(" "),R&&(d.match(/[^;]*;/)?(d=d.replace(/[^;]*;/,""),R=!1):d=""),d=d.replace(/GLSL_OUT [^;]*;/g,""),d.match(/GLSL_OUT(?:$| [^;]*)/)&&(d=d.replace(/GLSL_OUT(?:$| [^;]*)/,""),R=!0),d=d.replace(/ {2,}/g," "),d=(d=d.trim())?d.split(" "):[]);b=d;b.length&&(d=g(b,G,u,!1,c),p.push(d.join(" ")))}function g(a,b,c,d,e){var h=[];n(a,b,c,d,h,e);return h}function n(a,b,c,d,e,h){for(var k=0;k<a.length;k++){var f=a[k];if(h&&f in h)f=h[f];else if(f in b)f=b[f];else{e.push(f);continue}0==
  288. f.length&&d?e.push(0):n(f,b,c,d,e,h)}}var t=c.yf,p=[],G=y(a,c),u={},v=[c[a]],A={},J={},z=[],x;for(x in t)for(var K in t[x].I)z.push(t[x].I[K]);var R=!1;e(b);var D=0,C=0,H=0;return p.join("\n")}function z(a,b,c){c=a.createShader(c);a.shaderSource(c,b);a.compileShader(c);return c}function x(a){ya.deleteProgram(a.gh);ya.deleteShader(a.Ot);ya.deleteShader(a.zr);delete Z[a.Dx]}function M(a,b){!b&&a.length?b=a.length:b||(b=1);switch(b){case 1:return F(a);case 2:return"vec2("+F(a[0])+","+F(a[1])+")";case 3:return"vec3("+
  289. F(a[0])+","+F(a[1])+","+F(a[2])+")";case 4:return"vec4("+F(a[0])+","+F(a[1])+","+F(a[2])+","+F(a[3])+")";case 9:return"mat3("+F(a[0])+","+F(a[1])+","+F(a[2])+","+F(a[3])+","+F(a[4])+","+F(a[5])+","+F(a[6])+","+F(a[7])+","+F(a[8])+")";case 16:return"mat4("+F(a[0])+","+F(a[1])+","+F(a[2])+","+F(a[3])+","+F(a[4])+","+F(a[5])+","+F(a[6])+","+F(a[7])+","+F(a[8])+","+F(a[9])+","+F(a[10])+","+F(a[11])+","+F(a[12])+","+F(a[13])+","+F(a[14])+","+F(a[15])+")";default:w.q("Wrong glsl value dimension")}}function F(a){return a%
  290. 1?String(a):String(a)+".0"}function E(a,b){for(var c=0;c<a.length;c++)if(a[c][0]==b)return!0;return!1}var A=q("__assets"),K=q("__config"),h=q("__debug"),l=q("__print"),w=q("__util"),r=K.A,J=K.Eh,B=K.Vd,Z={},I={},C=null,N={},Q="anchors.glslf anchors.glslv color_id.glslf color_id.glslv shadow.glslf shadow.glslv error.glslf error.glslv grass_map.glslf grass_map.glslv halo.glslf halo.glslv line.glslf line.glslv main.glslf main.glslv main_stack.glslf particle_system.glslf particle_system_stack.glslf particle_system.glslv proc_skybox.glslf skybox.glslv lens_flares.glslf lens_flares.glslv sky.glslf sky.glslv water.glslf water.glslv tex_skybox.glslf debug_view.glslf debug_view.glslv postprocessing/antialiasing.glslf postprocessing/bloom_combine.glslf postprocessing/coc.glslf postprocessing/compositing.glslf postprocessing/depth_pack.glslf postprocessing/dof.glslf postprocessing/glow.glslf postprocessing/bloom_blur.glslf postprocessing/god_rays.glslf postprocessing/god_rays.glslv postprocessing/god_rays_combine.glslf postprocessing/luminance.glslf postprocessing/luminance_av.glslf postprocessing/luminance_trunced.glslf postprocessing/luminance_trunced.glslv postprocessing/motion_blur.glslf postprocessing/outline.glslf postprocessing/performance.glslf postprocessing/postprocessing.glslf postprocessing/postprocessing.glslv postprocessing/smaa.glslf postprocessing/smaa.glslv postprocessing/ssao.glslf postprocessing/ssao_blur.glslf postprocessing/stereo.glslf include/blending.glslf include/caustics.glslf include/color_util.glslf include/depth_fetch.glslf include/dynamic_grass.glslv include/environment.glslf include/fog.glslf include/fxaa.glslf include/halo_color.glslf include/lighting_nodes.glslf include/math.glslv include/mirror.glslf include/nodes.glslf include/nodes.glslv include/pack.glslf include/particles.glslv include/particles_nodes.glslf include/particles_nodes.glslv include/precision_statement.glslf include/procedural.glslf include/refraction.glslf include/scale_texcoord.glslv include/shadow.glslf include/shadow.glslv include/skin.glslv include/sky_blending.glslf include/std.glsl include/to_world.glslv include/wind_bending.glslv".split(" ");
  291. a.ku=0;a.qF=1;a.pF=2;a.tF=4;a.sF=8;a.rF=16;a.lF=32;var W=/(?:^|[^a-zA-Z_])uniform.*?(sampler2D|samplerCube)(?=\s)(.*?\[\s*([0-9]*)\s*\])?/,V=/(?:^|[^a-zA-Z_])(uniform)(?=\s)\s*(float|vec2|vec3|vec4|ivec2|ivec3|ivec4|bvec2|bvec3|bvec4|mat2|mat3|mat4|sampler2D|samplerCube)\s*(.*?\[\s*([0-9]*)\s*\])?/,ka=/(?:^|[^a-zA-Z_])(in)(?=\s)\s*(float|vec2|vec3|vec4|mat2|mat3|mat4)\s*(.*?\[\s*([0-9]*)\s*\])?/,ja=/(?:^|[^a-zA-Z_])(varying)(?=\s)\s*(float|vec2|vec3|vec4|mat2|mat3|mat4)\s*(.*?\[\s*([0-9]*)\s*\])?/,
  292. T=new Int16Array(2),U=null,ia=null,G=null,qa=0,aa=0,ga=[],ya=null,ra=!1;a.Ye=function(a){ya=a};a.aa=f;a.PL=c;a.RO=function(a){a.Jh=w.Mg(b(a.Jf,a.ne));f(a,"PRECISION",K.A.precision);"highp"==K.A.precision?f(a,"EPSILON",M(1E-6)):f(a,"EPSILON",M(1E-4));f(a,"CONSTANTS_HACK",r.Cx|0);f(a,"SRGB",r.srgb_type);f(a,"COMPARED_MODE",r.ho|0)};a.ZS=function(a){return a.Jf};a.TS=function(a){return a.ne};a.KL=function(a){var b=JSON.stringify(a.Jf)+JSON.stringify(a.ne)+JSON.stringify(a.Jh)+JSON.stringify(a.yf),c=
  293. Z[b];if(c)return c;var f=a.ne,k=d(B.shaders_path,a.Jf),f=d(B.shaders_path,f);if(!k||!f)return null;var k=v("vert",k,a),f=v("frag",f,a),c=0,l=p(f,W);a.lE=l;l>J.Ew&&(c|=1);U||(U=new Uint32Array(J.rs));ia||(ia=new Uint32Array(J.qs));G||(G=new Uint32Array(J.hp));u(f,ia,J.qs)||(c|=2);u(k,G,J.hp)||(c|=4);l=r.Vb?(k.replace(/(.*?)\([^()]*?\)(.*?)/g,"$1$2").match(/(?:^|[^a-zA-Z_])in(?=\s)/g)||[]).length:(k.match(/(?:^|[^a-zA-Z_])attribute(?=\s)/g)||[]).length;a.pz=l;l>J.Fw&&(c|=8);e(f)||(c|=16);a.status=c;
  294. if(0===a.status){var c=ya,m=z(c,k,c.VERTEX_SHADER),g=z(c,f,c.FRAGMENT_SHADER),l=c.createProgram();c.attachShader(l,m);c.attachShader(l,g);c.linkProgram(l);for(var m={Ot:m,zr:g,gh:l,attributes:{},ll:{},rp:w.Fi(),bx:w.Fi(),cx:{},kp:!0,Bs:!1,xE:w.Fi(),wE:w.Fi(),Va:w.Mg(a),Dx:b,jf:!0},n=c.getProgramParameter(l,c.ACTIVE_ATTRIBUTES),g=0;g<n;g++){var t=c.getActiveAttrib(l,g).name;m.attributes[t]=c.getAttribLocation(l,t)}n=c.getProgramParameter(l,c.ACTIVE_UNIFORMS);for(g=0;g<n;g++)t=c.getActiveUniform(l,
  295. g).name.split("[0]").join(""),m.ll[t]=c.getUniformLocation(l,t);Z[b]=c=m;l=!ya.getShaderParameter(c.zr,ya.COMPILE_STATUS);m=!ya.getShaderParameter(c.Ot,ya.COMPILE_STATUS);g=!ya.getProgramParameter(c.gh,ya.LINK_STATUS);l?h.dD(c.zr,b,f):m?h.dD(c.Ot,b,k):g&&h.xO(c.gh,b,k,f);if(l||m||g)a.status|=32,c=null}else c=null;return c};a.fN=function(){ra=!1;if(fdage.module_check("shader_texts"))ra=!0;else{for(var a=[],b=A.AT_TEXT,c=0;c<Q.length;c++){var d=w.bh(B.shaders_path+Q[c]);a.push({id:Q[c],type:b,url:d})}b=
  296. function(a,b){C||(C={});C[b]=a};a.length?A.enqueue(a,b,function(){ra=!0}):l.error("Shaders have not been found.")}};a.aA=function(){return ra};a.vS=function(){return ga};a.mB=function(){return Z};a.cleanup=function(){for(var a in Z)x(Z[a]);for(var b in I)delete I[b];for(var c in ga)delete ga[c];G=ia=U=null;N={}};a.dJ=x;a.wS=function(a){var b=a.Jh;l.log("Shader: "+a.Jf+" "+a.ne+", "+String(b.length)+" directives: ");for(a=0;a<b.length;a++)l.log(" "+b[a][0],b[a][1])};a.G=M;a.bA=function(a,b){return b in
  297. a.ll?!0:!1};a.reset=function(){ya=null}};fdage.module.__geometry=function(a,q){function f(){return{length:0,frames:1,cc:0,jl:0,offset:0,yo:0}}function c(a,b){for(var c=b.a_tbn_quat,d=b.a_position,e=c.length,h=d.length,f=1;f<a.Wa.length;f++)for(var k=a.Wa[f].Qe,l=a.Wa[f].Uo,k=k.a_position,m=0;m<h;m++)d[m]+=l*k[m];d=ga;for(f=0;f<e;f+=4){h=c.subarray(f,f+4);d.set(U.Al);for(m=1;m<a.Wa.length;m++)k=a.Wa[m].Qe,l=a.Wa[m].Uo,l=ja.slerp(U.Al,k.a_tbn_quat,l,ya),ja.normalize(l,l),ja.multiply(l,d,d);ja.multiply(d,h,h)}}function b(a){return 65536<a.Aa?
  298. V.pB()?!1:!0:!1}function g(a){return 0<a.ha.length?!0:!1}function p(a,b,c){if(!g(a))return a;c||ka.log('%cDEBUG max vertices exceeded for indexed submesh "'+a.name+'": '+a.Aa*(b||1)+", will use drawArrays","color: #aa0");b=a.ha;c=a.Aa;var d=a.ka,e=a.U,h;for(h in d){var f=d[h],k=M(f,c);d[h]=D(b,f,k)}for(d=0;d<e.length;d++){var l=e[d];for(h in l)f=l[h],k=M(f,c),l[h]=D(b,f,k)}for(d=0;d<a.Wa.length;d++){h=a.Wa[d].Qe;for(var m in h)f=h[m],k=M(f,c),h[m]=D(b,f,k)}a.Aa=b.length;a.ha=new Uint16Array(0);return a}
  299. function D(a,b,c){if(0==b.length)return new Float32Array(0);for(var d=new Float32Array(a.length*c),e=0;e<a.length;e++)for(var h=a[e],f=0;f<c;f++)d[c*e+f]=b[c*h+f];return d}function e(){return{td:null,Gb:r(),Bk:0,count:0,Fb:{},ml:0,Jl:0,Ll:0,gd:[],rf:null,Wa:null,Fk:1,jf:!0}}function u(a,b){var c=a.Fb[b];if(c){var d=N(b);return I(a.Gb,d).subarray(c.offset,c.offset+c.length)}U.q("extract_array() failed; invalid name: "+b)}function n(b,c){var d;switch(c){case a.yl:case a.ln:d=S.STATIC_DRAW;break;case a.sq:d=
  300. S.DYNAMIC_DRAW;break;default:U.q("Wrong draw_mode")}b.ml=d}function t(a,b,c){function d(a,b){e[a]||(e[a]=0);e[a]+=b}var e={},h;for(h in a[0]){var f=a[0][h],k=N(h);d(k,f.length*a.length)}for(h in b)f=b[h],k=N(h),d(k,f.length);if(c){a=c.Xm.length;k=N("a_part_ts");d(k,4*a);k=N("a_part_r");d(k,4*a);b=c.Xk;for(h in b)k=N(h),d(k,b[h].cc*a);c=c.Tp;for(h in c)k=N(h),d(k,a)}return e}function m(a){a.td?(a.rf||(a.rf=S.createBuffer()),S.bindBuffer(S.ELEMENT_ARRAY_BUFFER,a.rf),S.bufferData(S.ELEMENT_ARRAY_BUFFER,
  301. a.td,a.ml),a.Jl=a.td.byteLength):a.Jl=0;for(var b=a.Ll=0;b<a.Gb.length;b++){var c=a.Gb[b].type,d=B(a.gd,c);-1==d&&(a.gd.push({Ej:null,type:c,xK:U.kQ()}),d=a.gd.length-1);c=a.gd[d];c.Ej||(c.Ej=S.createBuffer());S.bindBuffer(S.ARRAY_BUFFER,c.Ej);S.bufferData(S.ARRAY_BUFFER,a.Gb[b].ph,a.ml);a.Ll+=a.Gb[b].ph.byteLength}}function k(a,b){a.N=W.Zj(a.N,b);a.V=W.Ln(a.V,b);a.oa=W.Mn(a.oa,b);a.Vc=W.Du(a.Vc,b)}function d(a){for(var b=a[0],c=a[0],d=w("JOIN_"+a.length+"_SUBMESHES"),e=0,h=0;h<a.length;h++)e+=a[h].ha.length;
  302. d.ha=new Uint32Array(e);var f=e=0;if(0<a[0].Wa.length)for(var k=0;k<a[0].Wa.length;k++){for(h=0;h<a.length;h++)e+=a[h].Wa[k].Qe.a_position.length,f+=a[h].Wa[k].Qe.a_tbn_quat.length;h={a_position:new Float32Array(e),a_tbn_quat:new Float32Array(f)};d.Wa.push({Uo:a[0].Wa[k].Uo,Qe:h})}for(h=e=0;h<a.length;h++)e+=a[h].Aa;d.Aa=e;for(var l in c.ka){for(h=e=0;h<a.length;h++)e+=a[h].ka[l].length;d.ka[l]=new Float32Array(e)}for(l in c.U[0]){for(h=e=0;h<a.length;h++)e+=a[h].U[0][l].length;for(h=0;h<c.U.length;h++)d.U[h]=
  303. d.U[h]||{},d.U[h][l]=new Float32Array(e)}h=d.$e;h.N=W.ak(b.$e.N);f=e=0;k=[];for(c=0;c<a.length;c++){var m=a[c],g=m.ha,n=m.Aa,t=m.ka;l=m.$e.oa;W.yv(h.N,m.$e.N);W.SK(h.oa,l);W.Cv(m.$e.Vc,k);for(l=0;l<g.length;l++)d.ha[e+l]=g[l]+f;var e=e+g.length,r;for(r in t){var g=t[r],p=f*M(g,n);d.ka[r].set(g,p)}for(l=0;l<m.U.length;l++){var t=m.U[l],G=d.U[l];for(r in t)g=t[r],p=f*M(g,n),G[r].set(g,p)}f+=n}h.V=W.br(U.f32(k),!0);if(0<d.Wa.length)for(c=0;c<d.Wa.length;c++)for(r=d.Wa[c].Qe,l=e=h=0;l<a.length;l++)f=
  304. a[l].Wa[c].Qe,r.a_position.set(f.a_position,h),r.a_tbn_quat.set(f.a_tbn_quat,e),h+=f.a_position.length,e+=f.a_tbn_quat.length;a[0].Te&&(d.Te={Xm:b.Te.Xm,rt:b.Te.rt,VD:!0,Tp:b.Te.Tp,Xk:b.Te.Xk,nr:b.Te.nr});return d}function y(a,b,c){b=b.$e;for(var d=W.ld(),e=W.cr(),h=[],f=0;f<c.length;f++)W.Zj(a.$e.N,c[f],d),W.yv(b.N,d),W.Du(a.$e.Vc,c[f],e),W.Cv(e,h);b.V=W.br(U.f32(h),!0);b.Vc=W.qJ(b.V);b.oa=W.lo(b.V)}function H(a,b,c,d,e,h){var f=a.submeshes[b],k=f.base_length,l=w("SUBMESH_"+a.name+"_"+a.materials[b].name);
  305. l.Aa=k;var m=!1;if(z(c,"a_texcoord")){var g=null,n=a.materials[b];b=a.submeshes[b];if(n.texture_slots.length)switch(n=n.texture_slots[0],n.texture_coords){case "UV":n=a.uv_textures.indexOf(n.uv_layer);0==n?g=new Float32Array(b.texcoord):1==n&&(g=new Float32Array(b.texcoord2));break;case "ORCO":for(var r=a.b4w_boundings.bb_src,g=new Float32Array(2*b.base_length),n=(r.max_x+r.min_x)/2,t=(r.max_y+r.min_y)/2,G=r.max_x-r.min_x,r=r.max_y-r.min_y,y=0,B=0;B<b.position.length;B+=3)g[y++]=(b.position[B]-n)/
  306. G+.5,g[y++]=(b.position[B+1]-t)/r+.5}null===g&&(g=new Float32Array(2*b.base_length));b=g}else b=new Float32Array(0);if(z(c,"a_orco_tex_coord")){g=a.b4w_boundings.bb_src;n=new Float32Array(3*f.base_length);t=g.max_x-g.min_x;G=g.max_y-g.min_y;r=g.max_z-g.min_z;for(B=y=0;B<f.position.length;B+=3)0==t?n[y++]=.5:n[y++]=U.clamp(parseFloat(((f.position[B]-g.min_x)/t).toFixed(5)),0,1),0==G?n[y++]=.5:n[y++]=U.clamp(parseFloat(((f.position[B+1]-g.min_y)/G).toFixed(5)),0,1),0==r?n[y++]=.5:n[y++]=U.clamp(parseFloat(((f.position[B+
  307. 2]-g.min_z)/r).toFixed(5)),0,1);g=n}else g=new Float32Array(0);n=f.group;if(z(c,"a_influence")&&d){t=new Float32Array(4*k);G=n.length/k;r=new Float32Array(G);for(y=0;y<G;y++){r[y]=-1;for(var u in d)if(B=d[u],B.XE===y){r[y]=B.ov;break}}var A=3<G?G:4;d=new Float32Array(A);u=new Uint32Array(A);for(var y=new Float32Array(4),B=new Float32Array(A),A=new Uint32Array(A),R=new Float32Array(4),J=0;J<k;J++)d.set(B),u.set(A),y.set(R),t.set(x(n,G,J,k,r,d,u,y),4*J)}else t=new Float32Array(0);d=t;e=e?U.O(e):{};
  308. e.a_color={zk:!0};e.a_color.src=z(c,"a_color")&&a.active_vcol_name?[{name:a.active_vcol_name,tf:7}]:[];l.ka.a_texcoord=b;l.ka.a_influence=d;l.ka.a_orco_tex_coord=g;d=l.ka;u=f.vertex_colors;b=f.color;g=a.name;n=[];for(t=0;t<u.length;t++)n.push(u[t].name);for(var E in e)if(t=e[E].src,t.length){for(r=G=0;r<t.length;r++)G+=U.al(t[r].tf);d[E]=new Float32Array(G*k);for(r=y=0;r<t.length;r++){var D=t[r].name,B=t[r].tf,A=U.fD(B),C=n.indexOf(D);-1==C&&U.q('vertex color "'+D+'" for mesh "'+g+'" not found.');
  309. R=u[C].mask;J=U.al(R);(B&R)!==B&&ka.error("Wrong color extraction from "+D+" to "+E+".");for(var fa=D=0;fa<C;fa++)D+=U.al(u[fa].mask);C=D*k;for(D=0;D<k;D++)for(fa=0;3>fa;fa++)A[fa]&&(d[E][D*G+(y+U.Bm(B,fa))]=b[C+D*J+U.Bm(R,fa)]);y+=J}}else d[E]=new Float32Array(0);E=a.uv_textures;e=f.texcoord;d=f.texcoord2;u=l.ka;if(h)for(var X in h){b=E.indexOf(X);if(0==b)var Y=new Float32Array(e);else 1==b&&(Y=new Float32Array(d));u[h[X]]=Y}l.ha=new Uint32Array(f.indices);X=f.position.length/k/3;Y=z(c,"a_tbn_quat")&&
  310. f.tbn_quat.length?!0:!1;E=z(c,"a_shade_tangs")&&f.shade_tangs.length?!0:!1;0<a.b4w_shape_keys.length&&(m=!0);for(e=0;e<X;e++){h=v(f,k,Y,E,e);if(m)if(d={},d.name=a.b4w_shape_keys[e].name,l.Wa.push(d),0!=e){d.Qe=h;d.Uo=a.b4w_shape_keys[e].value;continue}else d.Qe=v(f,k,Y,E,e),d.Uo=1;l.U.push(h)}if(1<X&&!m){a=l.U[0];h={};for(var Ya in a)h[Ya]=new Float32Array(a[Ya]);l.U.push(h)}z(c,"a_polyindex")&&(p(l,1,!0),l.ka.a_polyindex=K(l));f=f.boundings;c=l.$e;c.N=W.ld();c.N.max_x=f.bb.max_x;c.N.max_y=f.bb.max_y;
  311. c.N.max_z=f.bb.max_z;c.N.min_x=f.bb.min_x;c.N.min_y=f.bb.min_y;c.N.min_z=f.bb.min_z;Ya=f.rbb;a=f.caxis_x;k=f.caxis_y;m=f.caxis_z;h=f.be_ax;c.V=W.Hn(a,k,m,f.be_cen);ia.scale(c.V.xa,h[0],c.V.xa);ia.scale(c.V.ya,h[1],c.V.ya);ia.scale(c.V.za,h[2],c.V.za);c.oa=W.lo(c.V);ia.copy(Ya.rbb_c,c.Vc.D);ia.copy(a,c.Vc.xa);ia.copy(k,c.Vc.ya);ia.copy(m,c.Vc.za);f=Ya.rbb_s;ia.scale(c.Vc.xa,f[0],c.Vc.xa);ia.scale(c.Vc.ya,f[1],c.Vc.ya);ia.scale(c.Vc.za,f[2],c.Vc.za);return l}function v(a,b,c,d,e){var h={},f=new Float32Array(3*
  312. b),k=new Float32Array(c?4*b:0),l=e*b*3;f.set(a.position.subarray(l,l+3*b),0);c&&(l=e*b*4,k.set(a.tbn_quat.subarray(l,l+4*b),0));d&&(c=new Float32Array(3*b),c.set(a.shade_tangs.subarray(0,3*b),0),h.a_shade_tangs=c);h.a_position=f;h.a_tbn_quat=k;return h}function z(a,b){return-1<a.indexOf(b)?!0:!1}function x(b,c,d,e,h,f,k,l){for(var m=!0,g=0;g<c;g++){var n=b[g*e+d];if(-1!==n){var r=h[g];-1!==r&&(f[g]=n,k[g]=r,m=!1)}}if(m)return l;F(f,k,a.iu,!1);for(g=b=0;4>g;g++)b+=f[g];if(.01>b)return l;for(g=0;4>
  313. g;g++)f[g]/=b;if(.01>Math.abs(f[0]-1))l[0]=k[0]+1;else for(g=0;4>g;g++)l[g]=k[g]+f[g];return l}function M(a,b){if(0==b)return 0;var c=a.length,d=c/b;d!=Math.floor(d)&&U.q("Array size mismatch during geometry calculation: array length="+c+", base length="+b);return d}function F(b,c,d,e){for(var h=b.length,f=h,k=!1,l=e?-1:1;1<f||k;){1<f&&(f=Math.floor(f/1.247330950103979));for(var k=!1,m=0;f+m<h;m++)if(d==a.iu?0>l*(b[m]-b[m+f]):b[m]<b[m+f]&&e)k=b[m],b[m]=b[m+f],b[m+f]=k,k=c[m],c[m]=c[m+f],c[m+f]=k,
  314. k=!0}}function E(a,b,c){var d=[],e=[];ia.subtract(b,a,d);ia.subtract(c,a,e);ia.normalize(d,d);ia.normalize(e,e);a=U.clamp(ia.dot(d,e),-1,1);return Math.acos(a)}function A(a,b,c){if(g(b)){b=b.ha;for(var d=b.length/3,e=0;e<d;e++){var h=new Float32Array(9),f=b[3*e];h[0]=a[3*f];h[1]=a[3*f+1];h[2]=a[3*f+2];f=b[3*e+1];h[3]=a[3*f];h[4]=a[3*f+1];h[5]=a[3*f+2];f=b[3*e+2];h[6]=a[3*f];h[7]=a[3*f+1];h[8]=a[3*f+2];c[e]=h}}else for(e=0;e<a.length;e++)h=new Float32Array(9),h[0]=a[9*e],h[1]=a[9*e+1],h[2]=a[9*e+2],
  315. h[3]=a[9*e+3],h[4]=a[9*e+4],h[5]=a[9*e+5],h[6]=a[9*e+6],h[7]=a[9*e+7],h[8]=a[9*e+8],c[e]=h;return c}function K(a){for(var b=new Float32Array(a.Aa),c=0;c<a.Aa;c++)b[c]=c%3/2;return b}function h(a,b,c){var d=ia.dist(a,b);a=ia.dist(a,c);b=ia.dist(b,c);c=(d+a+b)/2;return c*(c-d)*(c-a)*(c-b)}function l(a){for(var b=new Float32Array([0,0,0,1,1,1,1,0]),c=new Float32Array(8*a),d=0;d<a;d++)c.set(b,8*d);return c}function w(a){var b={a_influence:new Float32Array(0),a_color:new Float32Array(0),a_texcoord:new Float32Array(0)};
  316. return{name:a,Aa:0,ha:null,U:[],ka:b,Wa:[],$e:{N:W.ld(),V:W.Uf(),oa:W.Og(),Vc:W.cr()},Te:null}}function r(a){var b=[],c;for(c in a)b.push(J(c,a[c]));return b}function J(a,b){return{ph:new (C(a))(b),type:a}}function B(a,b){for(var c=0;c<a.length;c++)if(a[c].type==b)return c;return-1}function Z(a,b){var c=B(a,b);return-1==c?null:a[c].Ej}function I(a,b){var c=B(a,b);return-1==c?null:a[c].ph}function C(a){switch(a){case "float":return Float32Array;case "short":return Int16Array;case "unsigned_byte":return Uint8Array;
  317. default:return Float32Array}}function N(a){a=a.replace(/_next$/,"");a=a.replace(/param_GEOMETRY_VC_a_\w+/,"param_GEOMETRY_VC_a");switch(a){case "a_tbn_quat":case "a_shade_tangs":return"short";case "a_color":case "a_bending_col_main":case "a_bending_col_detail":case "a_grass_size":case "a_grass_color":case "param_GEOMETRY_VC_a":case "a_polyindex":case "a_p_bb_vertex":case "a_halo_bb_vertex":case "a_bb_vertex":return"unsigned_byte";default:return"float"}}function Q(a,b,c,d){var e=N(b);b=B(a,e);switch(e){case "float":a[b].ph.set(c,
  318. d);break;case "short":for(e=0;e<c.length;e++)a[b].ph[d+e]=U.Eo(c[e]);break;case "unsigned_byte":for(e=0;e<c.length;e++)a[b].ph[d+e]=U.hQ(c[e])}}var W=q("__boundings"),V=q("__extensions"),ka=q("__print"),ja=q("__quat"),T=q("__tsr"),U=q("__util"),ia=q("__vec3");new Float32Array(2);var G=new Float32Array(3),qa=new Float32Array(3),aa=new Float32Array(3),ga=new Float32Array(4),ya=new Float32Array(4),ra=new Float32Array(8);a.ln=10;a.sq=20;a.iu=0;a.NR=1;a.yl=a.ln;var S=null;a.cH="float";a.QR="short";a.RR=
  319. "unsigned_byte";a.Ye=function(a){S=a};a.bE=function(a,d,h){b(a)&&p(a);var k=a.ha,l=a.Aa,g=a.U,G={},w;for(w in a.ka)w in h&&!h[w].zk||(G[w]=a.ka[w]);h=e();0<a.Wa.length&&c(a,g[0]);w=a.Te;if(k.length){var y=k.length;if(65536>=l)var k=new Uint16Array(k),O=S.UNSIGNED_SHORT;else k=new Uint32Array(k),O=S.UNSIGNED_INT}else y=l,k=null;for(var B=t(g,G,w),B=r(B),u={},v=0;v<B.length;v++)u[B[v].type]=0;var A={},J;for(J in G){var z=G[J],x=z.length;if(x){var E=N(J),v=A[J]=f();v.length=x;v.cc=M(z,l);v.offset=u[E];
  320. Q(B,J,z,u[E]);u[E]+=x}}G=g.length;for(J in g[0])if(z=g[0][J],E=N(J),x=z.length,z=M(z,l),x)for(v=A[J]=f(),v.length=x,v.frames=G,v.cc=z,v.offset=u[E],1<G&&(v=A[J+"_next"]=f(),v.length=x,v.frames=G,v.cc=z,v.offset=u[E]+x),v=0;v<G;v++)z=g[v][J],E=N(J),Q(B,J,z,u[E]),u[E]+=x;if(w){g=w.Xm;J=w.rt;G=w.Xk;x=w.Tp;g=w.Xm;J=w.rt;var G=w.Xk,x=w.Tp,E=w.VD,l={a_part_ts:{data:[],cc:4},a_part_r:{data:[],cc:4}},D;for(D in G)l[D]={data:[],cc:G[D].cc};for(D in x)l[D]={data:[],cc:1};for(z=0;z<g.length;z++){v=g[z];E&&J&&
  321. !w.nr&&(v=T.multiply(J,g[z],ra));!E&&w.nr&&ia.subtract(g[z],J,g[z]);l.a_part_ts.data.push(v[0],v[1],v[2],v[3]);l.a_part_r.data.push(v[4],v[5],v[6],v[7]);for(D in G)for(var v=G[D].cc,R=0;R<v;R++)l[D].data.push(G[D].data[z*v+R]);for(D in x)l[D].data.push(x[D][0])}for(D in l)g=N(D),Q(B,D,l[D].data,u[g]),J=f(),J.cc=l[D].cc,J.offset=u[g],J.yo=1,J.length=l[D].data.length,A[D]=J,u[g]+=J.length;h.Fk=w.Xm.length}h.count=y;h.td=k;h.Gb=B;h.Bk=O;h.Fb=A;n(h,d);m(h);h.Wa=a.Wa;return h};a.UP=c;a.HM=b;a.GM=g;a.ut=
  322. p;a.zE=function(a,b,c){n(a,b);a.count=c.length;a.td=c;a.Bk=c instanceof Uint16Array?S.UNSIGNED_SHORT:S.UNSIGNED_INT};a.yE=function(a,b,c,d){var e=a.Fb,h=e[b],k=N(b);if(h)c&&h.cc!=c&&U.q('invalid num_comp for "'+b+'"'),Q(a.Gb,b,d,h.offset);else{h=B(a.Gb,k);-1==h&&(a.Gb.push(J(k,0)),h=a.Gb.length-1);var k=a.Gb[h].ph,l=new k.constructor(k.length+d.length);l.set(k);a.Gb[h].ph=l;Q(a.Gb,b,d,k.length);b=e[b]=f();b.cc=c;b.offset=k.length;b.length=d.length}m(a)};a.VK=u;a.vT=function(a){a.ml=S.STATIC_DRAW};
  323. a.qN=function(a){a.ml=S.DYNAMIC_DRAW};a.oy=m;a.bJ=function(a){a.rf&&S.deleteBuffer(a.rf);for(var b=0;b<a.gd.length;b++)a.gd[b].Ej&&S.deleteBuffer(a.gd[b].Ej);a.gd.length=0};a.HB=function(a,b){return a.submeshes[b].base_length?!1:!0};a.tt=function(a,b){for(var c=0;c<a.U.length;c++){var d=a.U[c].a_position;T.transform_vectors(d,b,d,0);d=a.U[c].a_tbn_quat;0<d.length&&T.vE(d,b,d,0);(d=a.U[c].a_shade_tangs)&&0<d.length&&T.transform_dir_vectors(d,b,d,0)}(c=a.ka.au_center_pos)&&c.length&&T.transform_vectors(c,
  324. b,c,0);k(a.$e,b)};a.TP=function(a,b){var c=a.ka.au_center_pos;if(c&&c.length){var d=new Float32Array(c);T.transform_vectors(d,b,d,0);for(var e=0;e<a.U.length;e++)for(var h=0;h<d.length;h++)a.U[e].a_position[h]+=d[h]-c[h];c.set(d)}else U.q('Attribute "au_center_pos" is missing in particle submesh');k(a.$e,b)};a.nI=k;a.SP=function(a,b){var c=a.Aa,d;for(d in b){var e=b[d].length;a.ka[d]=new Float32Array(e*c);for(var h=0;h<c;h++)for(var f=0;f<e;f++)a.ka[d][h*e+f]=b[d][f]}};a.aE=d;a.pN=function(a,b,c){if(!a.Aa)return w("EMPTY");
  325. var d=c.length;65536<a.Aa*d&&!V.pB()&&p(a,d);var e=a.ha,h=a.Aa,f=a.ka,k=a.U,l;for(l in b){var m=b[l].length,g=m*h;f[l]=new Float32Array(g);for(var n=0;n<h;n++)for(g=0;g<m;g++)f[l][n*m+g]=b[l][g]}b=w("CLONE_"+d+"_SUBMESHES");b.Aa=h*d;b.ha=new Uint32Array(e.length*d);for(n=0;n<d;n++)for(m=e.length*n,l=h*n,g=0;g<e.length;g++)b.ha[m+g]=e[g]+l;for(var r in f)for(e=f[r],g=e.length*d,m=M(e,h),b.ka[r]=new Float32Array(g),n=0;n<d;n++)l=h*m*n,b.ka[r].set(e,l);for(r in k[0])for(n=0;n<k.length;n++)for(e=k[n][r],
  326. g=e.length*d,m=M(e,h),b.U[n]=b.U[n]||{},b.U[n][r]=new Float32Array(g),g=0;g<d;g++)switch(f=c[g],l=h*m*g,r){case "a_position":T.transform_vectors(e,f,b.U[n][r],l);break;case "a_tbn_quat":T.vE(e,f,b.U[n][r],l);break;case "a_shade_tangs":T.transform_tangents(e,f,b.U[n][r],l);break;default:U.q("Wrong attribute name: "+r)}y(a,b,c);return b};a.Nz=y;a.Dv=H;a.YK=function(a){var b=a.Aa,c=a.U[0].a_position,d=new Float32Array(12*b);a=new Uint32Array(4*a.ha.length);for(var e=new Float32Array(4*b),h=0;h<b;h++){d[12*
  327. h]=c[3*h];d[12*h+1]=c[3*h+1];d[12*h+2]=c[3*h+2];d[12*h+3]=c[3*h];d[12*h+4]=c[3*h+1];d[12*h+5]=c[3*h+2];d[12*h+6]=c[3*h];d[12*h+7]=c[3*h+1];d[12*h+8]=c[3*h+2];d[12*h+9]=c[3*h];d[12*h+10]=c[3*h+1];d[12*h+11]=c[3*h+2];a[6*h]=4*h+2;a[6*h+1]=4*h+1;a[6*h+2]=4*h;a[6*h+3]=4*h+2;a[6*h+4]=4*h;a[6*h+5]=4*h+3;var f=Math.random();e[4*h]=f;e[4*h+1]=f;e[4*h+2]=f;e[4*h+3]=f}c=w("HALO");c.U[0]={};c.Aa=4*b;c.U[0].a_position=d;c.ka.a_halo_bb_vertex=l(b);c.ka.a_random_vals=e;c.ha=a;return c};a.qM=z;a.RA=function(a,b,
  328. c){for(var e=[],h=0;h<a.submeshes.length;h++){var f=H(a,h,b,null,c,null);f.Aa&&e.push(f)}return 0==e.length?w("EMPTY"):1==e.length?e[0]:d(e)};a.uQ=function(a,b,c,d){var e=a.td,h=u(a,"a_position"),f=b.zN,k=b.AN;b=b.DK;for(var l=e,m=l.length/3,g=0;g<m;g++){var n=l[3*g],r=l[3*g+1],t=l[3*g+2],G=h[3*n+1],p=h[3*n+2],w=h[3*r+1],y=h[3*r+2],B=h[3*t+1],v=h[3*t+2];f[3*g]=(h[3*n]+h[3*r]+h[3*t])/3;f[3*g+1]=(G+w+B)/3;f[3*g+2]=(p+y+v)/3}T.transform_vectors(f,c,k);c=k.length/3;for(h=0;h<c;h++)f=k[3*h]-d[0],l=k[3*
  329. h+1]-d[1],m=k[3*h+2]-d[2],b[h]=f*f+l*l+m*m;d=e;e=b.length;if(!(2>e))for(k=e,h=!1;1<k||h;)for(1<k&&(k=Math.floor(k/1.247330950103979)),h=!1,c=0;k+c<e;c++)0>b[c]-b[c+k]&&(h=b[c],b[c]=b[c+k],b[c+k]=h,h=d,f=c,l=c+k,m=h[3*f],g=h[3*f+1],n=h[3*f+2],h[3*f]=h[3*l],h[3*f+1]=h[3*l+1],h[3*f+2]=h[3*l+2],h[3*l]=m,h[3*l+1]=g,h[3*l+2]=n,h=!0);e=d;S.bindBuffer(S.ELEMENT_ARRAY_BUFFER,a.rf);S.bufferData(S.ELEMENT_ARRAY_BUFFER,e,S.DYNAMIC_DRAW)};a.DP=F;a.Lz=function(a,b,c){for(var d=b.length/3,h=a.length/3,e=[],f=Array(3),
  330. k=Array(3),l=Array(3),m=0;m<h;m++){for(var g=a[3*m],n=a[3*m+1],r=a[3*m+2],t=0;3>t;t++)f[t]=b[3*g+t],k[t]=b[3*n+t],l[t]=b[3*r+t];if(c)var t=E(f,k,l),G=E(k,l,f),p=Math.PI-t-G;else p=G=t=1;var w=e,y;y=f;var B=l,u=[],v=[],A=[];ia.subtract(k,y,u);ia.subtract(B,y,v);ia.cross(u,v,A);ia.normalize(A,A);y=A;for(B=0;3>B;B++)u=3*n+B,v=3*r+B,w[3*g+B]=t*y[B],w[u]=G*y[B],w[v]=p*y[B]}if(c)for(var J in c)for(m=c[J],a=0;3>a;a++){b=3*m[0]+a;for(h=1;h<m.length;h++)f=3*m[h]+a,e[b]+=e[f];for(h=1;h<m.length;h++)f=3*m[h]+
  331. a,e[f]=e[b]}for(m=0;m<d;m++){c=m;J=e;a=new Float32Array(3);for(b=0;3>b;b++)h=3*c+b,a[b]=J[h];ia.normalize(a,a);for(b=0;3>b;b++)h=3*c+b,J[h]=a[b]}return e};a.Mz=function(a,b,c){for(var d={},h=b.length/3,e=0;e<h;e++){var f=String(b[3*e])+String(b[3*e+1])+String(b[3*e+2]);d[f]=[]}h=a.length;for(e=0;e<h;e++)b=a[e],f=String(c[3*b])+String(c[3*b+1])+String(c[3*b+2]),f in d&&d[f].push(b);return d};a.Iv=function(a,b,c,d){var e;e=null;e=[];e=A(a.U[0].a_position,a,e);if(c){var f;f=null;f=[];for(var k=a.U[0].a_tbn_quat,
  332. l=k.length/4,m=new Float32Array(3*l),g=0;g<l;g++){var n=ga;n[0]=k[4*g];n[1]=k[4*g+1];n[2]=k[4*g+2];n[3]=k[4*g+3];n=ia.transformQuat(U.AXIS_Y,n,G);m[3*g]=n[0];m[3*g+1]=n[1];m[3*g+2]=n[2]}f=A(m,a,f)}l=e.length;m=new Float32Array(l);for(a=0;a<l;a++)g=e[a],G.set(g.subarray(0,3)),qa.set(g.subarray(3,6)),aa.set(g.subarray(6)),m[a]=Math.sqrt(h(G,qa,aa));k=new Float32Array(l);k[0]=m[0];for(a=1;a<l;a++)k[a]=k[a-1]+m[a];l=k[m.length-1];m=[];for(a=0;a<b;a++){var g=l*U.Cf(d),g=U.Pq(k,g,0,k.length-1),r=g=c?f[g]:
  333. e[g],t=d;(g=G)||(g=new Float32Array(3));var n=r[0],p=r[1],w=r[2],y=r[3],B=r[4],u=r[5],v=r[6],J=r[7],z=r[8],r=U.Cf(t),t=U.Cf(t);1<r+t&&(r=1-r,t=1-t);var x=1-r-t,p=x*p+r*B+t*J,w=x*w+r*u+t*z;g[0]=x*n+r*y+t*v;g[1]=p;g[2]=w;c?(m[a]=new Float32Array(4),ia.normalize(g,g),g=ja.rotationTo(U.AXIS_Y,g,ga),m[a][0]=g[0],m[a][1]=g[1],m[a][2]=g[2],m[a][3]=g[3]):(m[a]=new Float32Array(3),m[a][0]=g[0],m[a][1]=g[1],m[a][2]=g[2])}return m};a.sr=K;a.ZT=h;a.$A=l;a.kD=function(a,b,c){a=a.U[0].a_position;for(var d=0;d<
  334. a.length;d+=3)a[d]=(a[d]-c[0])*b[0]+c[0],a[d+1]=(a[d+1]-c[1])*b[1]+c[1],a[d+2]=(a[d+2]-c[2])*b[2]+c[2]};a.lz=function(a,b,c){var d=a.F[0].M;a=a.k.ih;for(var e=1;e<a.length;e++)a[e].name==b&&(a[e].value=c);for(e=0;e<d.length;e++)if(!d[e].of&&d[e].ae&&!d[e].Ih){b=d[e].fa;var h=N("a_position");c=Z(b.gd,h);h=I(b.Gb,h);S.bindBuffer(S.ARRAY_BUFFER,c);var f=b.Fb.a_position;c=d[e];var k=a;if(f){for(var l=f.offset,f=f.length+l,m=c.fa.Wa[0].Qe.a_position,g=l;g<f;g++)h[g]=m[g-l];for(g=1;g<c.fa.Wa.length;g++){var m=
  335. c.fa.Wa[g].Qe.a_position,n=k[g].value;if(n)for(var r=l;r<f;r++)h[r]+=n*m[r-l]}S.bufferSubData(S.ARRAY_BUFFER,U.qi*l,h.subarray(l))}h=N("a_tbn_quat");c=Z(b.gd,h);h=I(b.Gb,h);S.bindBuffer(S.ARRAY_BUFFER,c);l=b.Fb.a_tbn_quat;b=d[e];c=h;h=a;if(l){k=l.offset;l=l.length+k;f=b.fa.Wa[0].Qe.a_tbn_quat;g=ga;for(m=k;m<l;m+=4){g[0]=0;g[1]=0;g[2]=0;for(n=g[3]=1;n<b.fa.Wa.length;n++){var r=b.fa.Wa[n].Qe.a_tbn_quat,t=h[n].value;if(t){var G=ya;G[0]=r[m-k];G[1]=r[m+1-k];G[2]=r[m+2-k];G[3]=r[m+3-k];r=ja.slerp(U.Al,
  336. G,t,ya);ja.multiply(r,g,g)}}n=ya;n[0]=f[m-k];n[1]=f[m-k+1];n[2]=f[m-k+2];n[3]=f[m-k+3];r=0<n[3];ja.multiply(g,n,n);(0<n[3]&&!r||0>n[3]&&r)&&ja.scale(n,-1,n);c[m]=U.Eo(n[0]);c[m+1]=U.Eo(n[1]);c[m+2]=U.Eo(n[2]);c[m+3]=U.Eo(n[3])}S.bufferSubData(S.ARRAY_BUFFER,U.qi*k,c.subarray(k))}}};a.check_shape_keys=function(a){return a.k.ae};a.get_shape_keys_names=function(a){var b=[];if(a.k)for(var c=1;c<a.k.ih.length;c++)b.push(a.k.ih[c].name);return b};a.get_shape_key_value=function(a,b){if(a.k)for(var c=1;c<
  337. a.k.ih.length;c++)if(b==a.k.ih[c].name)return a.k.ih[c].value;return 0};a.cw=function(a,b){var c=a.k.ih;if(c)for(var d=1;d<c.length;d++)if(c[d].name==b)return!0;return!1};a.Zl=function(a){return a&&a.k&&a.k.kf?!0:!1};a.draw_line=function(b,c,d){var e=b.fa;if(e){for(var h=d?c.length/3/2:c.length/3-1,f=new Float32Array(12*h),k=new Float32Array(12*h),l=new Uint16Array(6*h),g=0;g<h;g++){if(d)var n=6*g,t=6*g+3;else n=3*g,t=3*(g+1);var G=c[n],p=c[n+1],n=c[n+2],w=c[t],y=c[t+1],t=c[t+2],B=w-G,u=y-p,v=t-n;
  338. f[12*g]=G;f[12*g+1]=p;f[12*g+2]=n;k[12*g]=B;k[12*g+1]=u;k[12*g+2]=v;f[12*g+3]=w;f[12*g+4]=y;f[12*g+5]=t;k[12*g+3]=-B;k[12*g+4]=-u;k[12*g+5]=-v;f[12*g+6]=G;f[12*g+7]=p;f[12*g+8]=n;k[12*g+6]=-B;k[12*g+7]=-u;k[12*g+8]=-v;f[12*g+9]=w;f[12*g+10]=y;f[12*g+11]=t;k[12*g+9]=B;k[12*g+10]=u;k[12*g+11]=v;l[6*g]=4*g;l[6*g+1]=4*g+1;l[6*g+2]=4*g+2;l[6*g+3]=4*g;l[6*g+4]=4*g+3;l[6*g+5]=4*g+1}d=0;for(var A in e.Fb)c=e.Fb[A],d+=f.length/3*c.cc;c={};c["float"]=d;d=e.Gb=r(c);a.zE(e,b.Zf,l);b=0;for(A in e.Fb)switch(c=
  339. e.Fb[A],A){case "a_position":Q(d,A,f,b);c.offset=b;c.length=f.length;b+=c.length;break;case "a_direction":Q(d,A,k,b);c.offset=b;c.length=k.length;b+=c.length;break;default:c.offset=b,c.length=f.length/3*c.cc,l=new Float32Array(c.length),Q(d,A,l,b),b+=c.length}m(e)}};a.hJ=function(a){var b=e();if(a.td)switch(a.Bk){case S.UNSIGNED_SHORT:b.td=new Uint16Array(a.td);break;case S.UNSIGNED_INT:b.td=new Uint32Array(a.td)}else b.td=null;for(var c=a.Gb,d=[],h=0;h<c.length;h++){var f=c[h].ph,k=c[h].type;d.push({ph:new f.constructor(f),
  340. type:k})}b.Gb=d;b.Bk=a.Bk;b.count=a.count;b.Fb=U.O(a.Fb);b.ml=a.ml;b.Jl=a.Jl;b.Ll=a.Ll;b.rf=null;b.Xr=U.O(a.Xr);b.Wa=U.O(a.Wa);b.Fk=a.Fk;b.jf=a.jf;return b};a.Se=w;a.reset=function(){S=null};a.yM=r;a.JO=B;a.YS=Z;a.Fr=I;a.nB=C;a.Li=N;a.zB=function(a){switch(N(a)){case "float":return U.qi;case "short":return U.qn;case "unsigned_byte":return U.Wt;default:return U.qi}};a.$L=function(a){switch(N(a)){case "float":return S.FLOAT;case "short":return S.SHORT;case "unsigned_byte":return S.UNSIGNED_BYTE;default:return S.FLOAT}};
  341. a.jq=Q};fdage.module.__objects=function(a,q){function f(a){var b=a.F;a=a.k;for(var c=0;c<b.length;c++){var d=b[c].nb;d.s.outline&&a.og&&J.yO(d)}}function c(a){a.k.og=0;a=ga.indexOf(a);-1!=a&&ga.splice(a,1)}function b(a){if(a.Sl)for(var b=a.F,c=0;c<b.length;c++)J.BE(b[c].nb,a)}function g(a,b){for(var c=a.F,d=b.F,e=0;e<c.length;e++){for(var h=!1,f=0;f<d.length;f++)if(c[e].nb==d[f].nb){h=!0;break}h||p(b,c[e].nb)&&A.zn(b,c[e].nb)}}function p(a,b){return!b.$y&&"SPEAKER"==a.type||!b.mH&&("LAMP"==a.type||"CAMERA"==
  342. a.type)?!1:!0}function D(a,b){if(a.b4w_hidden_on_load||a.dg_parent&&a.dg_parent.nu||a.parent&&a.parent.nu)return!0;switch(a.type){case "MESH":var c=a.b4w_do_not_batch,d=a.b4w_collision,h=a.b4w_vehicle,f=a.b4w_floating,l=a.b4w_character,m=K.sM(a),g=F.Jz(a),n=0<a.data.b4w_shape_keys.length,r=a.b4w_dynamic_geometry;if(!(c=k.Kz(a,b)||c||d||h||n||f||m||l||g||r))a:{c=a.data;for(d=0;d<c.materials.length;d++)if(h=c.materials[d],h.b4w_water||h.b4w_lens_flares||e(h.node_tree)){c=!0;break a}c=!1}return c;case "EMPTY":return c=
  343. F.Jz(a),d=a.b4w_do_not_batch,h=Boolean(a.b4w_anchor),k.Kz(a,b)||c||d||h;default:return!0}}function e(a){if(!a)return!1;a=a.nodes;for(var b=0;b<a.length;b++){var c=a[b];if("VECT_TRANSFORM"==c.type){var d=c.convert_from,h=c.convert_to,e=c.outputs[0];if(!(!e.is_linked||"WORLD"==d&&"CAMERA"==h||"CAMERA"==d&&"WORLD"==h||"OBJECT"==d&&"OBJECT"==h))return!0}if("NORMAL_MAP"==c.type&&(d=c.space,e=c.outputs[0],e.is_linked&&("OBJECT"==d||"FDAGE_OBJECT"==d))||"TEX_COORD"==c.type&&c.outputs[3].is_linked||"OBJECT_INFO"==
  344. c.type&&(e=c.outputs[1],d=c.outputs[3],c.outputs[0].is_linked||e.is_linked||d.is_linked))return!0}return!1}function u(a,b){var c=a.animation_data,d=a.data?a.data.animation_data:null;c&&c.action&&(c=c.action,(c.s.type==k.OBJ_ANIM_TYPE_OBJECT||c.s.type==k.OBJ_ANIM_TYPE_ARMATURE&&"ARMATURE"==b.type||c.s.type==k.fG&&"LAMP"==b.type||c.s.type==k.eG&&"WORLD"==b.type)&&b.Wf.push(k.MB(null,c)));d&&d.action&&("SPEAKER"==b.type||"LAMP"==b.type)&&b.Wf.push(k.MB(null,d.action));"MESH"==b.type&&b.Wf.push.apply(b.Wf,
  345. k.IL(a))}function n(a,b,c){b=U[b]||[];for(var d=[],e=0;e<b.length;e++){var h=b[e];if(h.k.ke==c||-1==c)for(var f=h.F,k=0;k<f.length;k++)f[k].nb==a&&d.push(h)}return d}function t(a,b,c,d,e){for(var h=null,f=0;f<b.length;f++){var k=b[f];if(!((c?k.Sk:k.name)!=a||k.k.ke!=d&&-1!=d||e&&!k.zi||(h=k,A.get_dg_parent(h))))break}return h}function m(a){U.ALL.push(a);U[a.type]||(U[a.type]=[]);U[a.type].push(a);var b=a.k.Zc;if(null!=b)for(var c=0;c<aa.length;c++){var d=aa[c];d.k.Zc==b&&d.Ep.push(a)}}var k=q("__animation"),
  346. d=q("__batch"),y=q("__boundings"),H=q("__camera"),v=q("__config"),z=q("__constraints"),x=q("__geometry"),M=q("__lights"),F=q("__nla"),E=q("__nodemat"),A=q("__obj_util"),K=q("__particles"),h=q("__physics"),l=q("__print"),w=q("__primitives"),r=q("__quat"),J=q("__scenes"),B=q("__sfx"),Z=q("__transform"),I=q("__textures"),C=q("__tsr"),N=q("__util"),Q=q("__vec3"),W=q("__armature"),V=q("__anchors"),ka=q("__renderer"),ja=v.A,T=v.Ec,U={ALL:[]},ia=new Float32Array(24),G=0,qa=0,aa=[],ga=[],ya=new Float32Array(3),
  347. ra=new Float32Array(4);a.fu=0;a.eu=1;a.xc=2;a.DATA_ID_ALL=-1;a.update=function(a){for(var b=0;b<ga.length;b++){var d=ga[b],h=d,e=a,k=0,l=h.HC;0==l.wt&&(l.wt=e);e-=l.wt;if(l.nx&&e/l.Xe>=l.nx)c(h);else{e%=l.Xe;if(e<l.Xw)switch(l=e/(l.Xw/5),e=Math.floor(l),e){case 0:k=(l-e)/2;break;case 1:k=(l-e)/2+.5;break;case 2:k=1;break;case 3:k=1-(l-e)/2;break;case 4:k=.5-(l-e)/2}h.k.og=k}d.k.og&&f(d)}if(a=U.ARMATURE)for(b=0;b<a.length;b++)d=a[b],d.Rw&&(Z.B(d),d.Rw=!1)};a.set_outline_intensity=function(a,b){a.k.og=
  348. b;f(a)};a.apply_outline_anim=function(a,b,c,d){var e=a.HC;e.wt=0;e.Xw=b;e.Xe=c;e.nx=d;-1==ga.indexOf(a)&&ga.push(a)};a.clear_outline_anim=c;a.Cj=function(a,b){b.mi=a.uuid;b.zi=!0;u(a,b);a.nu=b.is_dynamic=D(a,b);a.nH=!0;b.qe=a.b4w_vehicle;b.is_character=a.b4w_character;b.Hk=a.b4w_floating;b.ol=a.b4w_collision;b.Rb=a.b4w_collision_id;b.ar=a.b4w_correct_bounding_offset;var c=a.game;b.pg={sp:c.physics_type,dq:c.use_ghost,PE:c.use_sleep,$g:c.mass,UE:c.velocity_min,TE:c.velocity_max,BA:c.damping,gD:c.rotation_damping,
  349. hN:c.lock_location_x,iN:c.lock_location_y,jN:c.lock_location_z,kN:c.lock_rotation_x,lN:c.lock_rotation_y,mN:c.lock_rotation_z,co:c.collision_margin,ao:c.collision_group,eo:c.collision_mask,ry:c.use_collision_bounds,Xq:c.collision_bounds_type,$p:c.use_collision_compound};if(c=a.b4w_vehicle_settings)b.ze={name:c.name,ue:c.part,XP:c.suspension_rest_length,Sx:c.suspension_compression,Ux:c.suspension_stiffness,Tx:c.suspension_damping,By:c.wheel_friction,tx:c.roll_influence,Dw:c.max_suspension_travel_cm,
  350. Ho:c.force_max,On:c.brake_max,Om:c.steering_max,nm:c.max_speed_angle,uo:c.delta_tach_angle,Qp:c.speed_ratio,Sp:c.steering_ratio,Wo:c.inverse_control,rk:c.floating_factor,tl:c.water_lin_damp,ul:c.water_rot_damp,fE:c.synchronize_position};if(c=a.b4w_floating_settings)b.Tl={name:c.name,ue:c.part,rk:c.floating_factor,tl:c.water_lin_damp,ul:c.water_rot_damp,fE:c.synchronize_position};if(c=a.b4w_character_settings)b.Wz={lR:c.walk_speed,GO:c.run_speed,QP:c.step_height,OM:c.jump_strength,nR:c.waterline};
  351. for(c=0;c<a.constraints.length;c++){var e=a.constraints[c];"RIGID_BODY_JOINT"==e.type&&b.dx.push({target:e.target.ab,VN:e.pivot_type,WN:e.pivot_x,XN:e.pivot_y,YN:e.pivot_z,xa:e.axis_x,ya:e.axis_y,za:e.axis_z,YQ:e.use_limit_x,ZQ:e.use_limit_y,$Q:e.use_limit_z,UQ:e.use_angular_limit_x,VQ:e.use_angular_limit_y,WQ:e.use_angular_limit_z,YM:e.limit_max_x,ZM:e.limit_max_y,$M:e.limit_max_z,aN:e.limit_min_x,bN:e.limit_min_y,cN:e.limit_min_z,SM:e.limit_angle_max_x,TM:e.limit_angle_max_y,UM:e.limit_angle_max_z,
  352. VM:e.limit_angle_min_x,WM:e.limit_angle_min_y,XM:e.limit_angle_min_z})}c=b.k=A.no("MESH"===b.type?b.is_dynamic?"DYNAMIC":"STATIC":b.type);a.parent?(b.parent=a.parent.ab,"BONE"==a.parent_type&&"ARMATURE"==a.parent.type&&(b.pp=a.parent_bone),a.pinverse_tsr&&(b.Qs=C.create(),C.copy(a.pinverse_tsr,b.Qs))):a.dg_parent&&(b.parent=a.dg_parent.ab,b.hj=!0);var e=a.location,h=a.scale[0];N.ix(a.rotation_quaternion,ra);Z.set_translation(b,e);Z.set_rotation(b,ra);Z.set_scale(b,h);b.bq=a.b4w_use_default_animation;
  353. b.Qj=k.su(a.b4w_anim_behavior);a.b4w_object_tags&&(b.us={title:a.b4w_object_tags.title,description:a.b4w_object_tags.description,category:a.b4w_object_tags.category});a.b4w_viewport_alignment&&(b.Nt={qH:a.b4w_viewport_alignment.alignment,distance:a.b4w_viewport_alignment.distance});switch(a.type){case "ARMATURE":W.Cj(a,b);e=c.Qf;h=k.yI(e);a.b4w_animation_mixing?(c.Fd=new Float32Array(h.ub),c.Wd=new Float32Array(h.ub),c.Kd=new Float32Array(h.trans),c.Zd=new Float32Array(h.trans)):(c.Fd=h.ub,c.Wd=h.ub,
  354. c.Kd=h.trans,c.Zd=h.trans);for(var f in e){var l=e[f];1==l.Wq.length&&W.tQ(l,!0,h.trans,h.ub)}c.xp=h;c.oe=0;c.yh=a.b4w_animation_mixing;break;case "MESH":c.Nl=a.b4w_do_not_render;c.Uj=d.eI(a.data.b4w_boundings.bb);c.oj=T.outlining_overview_mode||a.b4w_selectable;c.Is=a.b4w_selectable;c.Ec=T.outlining_overview_mode||a.b4w_outlining;c.Hs=a.b4w_outlining;c.Js=T.outlining_overview_mode||a.b4w_outline_on_select;c.Pf=a.b4w_billboard;c.In=a.b4w_pres_glob_orientation;c.Kn="BASIC";c.Jn="SPHERICAL"==a.b4w_billboard_geometry;
  355. f=c.dh;f.cj=a.b4w_outline_settings.outline_duration;f.dj=a.b4w_outline_settings.outline_period;f.ej=a.b4w_outline_settings.outline_relapses;c.oj&&(c.Ci=N.aB(G),G++);for(f=0;f<a.data.b4w_vertex_anim.length;f++)e=a.data.b4w_vertex_anim[f],b.Fc.push({name:e.name,na:e.frame_start,Qa:e.frame_end,bS:e.averaging,cS:e.averaging_interval,rH:e.allow_nla});b.k.Fc=b.Fc.length?!0:!1;"MESH"!=a.type&&N.q("Wrong object type: "+a.name);f=b.k;if(a.data.b4w_shape_keys.length)for(f.ae=!0,e=0;e<a.data.b4w_shape_keys.length;e++)h=
  356. {},h.value=a.data.b4w_shape_keys[e].value,h.name=a.data.b4w_shape_keys[e].name,f.ih.push(h);else f.ae=!1;c.Xd=a.b4w_shadow_cast;c.zd=a.b4w_shadow_receive;c.Hd=a.b4w_shadow_cast_only&&c.Xd;c.yd=a.b4w_reflexible;c.bd=a.b4w_reflexible_only&&c.yd;c.ad=a.b4w_reflective;c.rg=a.b4w_reflection_type;if(!c.ad)for(f=a.data.materials,e=0;e<f.length;e++)h=f[e],h.use_nodes&&-1!=h.node_tree.mu.indexOf("BSDF_GLOSSY")&&(c.ad=!0,c.rg="CUBE");c.Tf=a.b4w_caustics;if(c.Ce=a.b4w_wind_bending)c.wl=a.b4w_wind_bending_angle,
  357. f=d.oR(a.b4w_wind_bending_angle,c.Uj,a.scale[0]),c.zg=f,c.Ag=a.b4w_wind_bending_freq,c.Yf=a.b4w_detail_bending_freq,c.Xf=a.b4w_detail_bending_amp,c.Sf=a.b4w_branch_bending_amp,c.Rh=a.b4w_main_bend_stiffness_col,f=a.b4w_detail_bend_colors,c.Rd.sw=f.leaves_stiffness_col,c.Rd.rw=f.leaves_phase_col,c.Rd.Yw=f.overall_stiffness_col;c.hide=a.b4w_hidden_on_load;c.kf=a.b4w_dynamic_geometry;"MESH"!==a.type&&N.q("Wrong object");f=a.data.materials[0];c.vk=f.physics.friction;c.nk=f.physics.elasticity;c.jg=0;c.se=
  358. A.on;c.kg=a.b4w_lod_transition;c.Ps=a.pass_index;break;case "LINE":c.N=y.ld();c.V=y.Uf();c.Ja=y.ld();c.eb=y.Uf();break;case "CAMERA":H.EI(a,b);H.WH(b);break;case "LAMP":M.PM(a,b);break;case "SPEAKER":b.S=B.LJ();c=!1;for(f=0;f<b.F.length;f++)if(b.F[f].nb.Ac){c=!0;break}c&&B.Cj(a,b);break;case "EMPTY":f=y.ld(),c.N=f,f=y.Og(),c.oa=f,a.field&&(b.Sl={type:a.field.type,ZD:a.field.strength}),a.b4w_anchor&&(b.anchor={type:a.b4w_anchor.type,Ml:a.b4w_anchor.detect_visibility,Hi:a.b4w_anchor.element_id,xN:a.b4w_anchor.max_width})}m(b)};
  359. a.QQ=function(a,b){b.mi=a.uuid;b.zi=!0;u(a,b);a.nu=b.is_dynamic=D(a,b);a.nH=!0;b.k=A.no(b.type);b.bq=a.b4w_use_default_animation;b.Qj=k.su(a.b4w_anim_behavior);m(b)};a.EQ=function(a,b){var c=b.k;if(b.parent){!b.hj&&b.pg.$p&&b.parent.pg.$p&&(b.ol=!1);for(var d=!1,e=0;e<b.F.length;e++)if(b.F[e].nb.jc){d=!0;break}if(e=d)e=b.pg,e=b.qe||b.Hk||h.is_character(b)||b.ol&&!e.dq&&0<e.$g&&("DYNAMIC"==e.sp||"RIGID_BODY"==e.sp);if(e)e=b.hj?C.copy(c.n,C.create()):c.n,C.multiply(b.parent.k.n,e,c.n),Z.set_translation(b,
  360. C.get_trans_view(c.n)),Z.set_scale(b,C.get_scale(c.n)),Z.set_rotation(b,C.get_quat_view(c.n));else if(b.hj||!b.pp)if(e=C.copy(c.n,C.create()),b.Nt&&"CAMERA"==b.parent.type){e={distance:b.Nt.distance,rotation:C.get_quat_view(e)};switch(b.Nt.qH){case "TOP_LEFT":e.top=0;e.left=0;break;case "TOP":e.top=0;e.left=.5;break;case "TOP_RIGHT":e.top=0;e.right=0;break;case "LEFT":e.top=.5;e.left=0;break;case "CENTER":e.top=.5;e.left=.5;break;case "RIGHT":e.top=.5;e.right=0;break;case "BOTTOM_LEFT":e.bottom=0;
  361. e.left=0;break;case "BOTTOM":e.bottom=0;e.left=.5;break;case "BOTTOM_RIGHT":e.bottom=0,e.right=0}z.append_stiff_viewport(b,b.parent,e)}else z.vH(b,b.parent,e);else e=C.copy(c.n,C.create()),z.wH(b,b.parent,b.pp,e)}if("ARMATURE"==b.type)for(d=a.pose.bones,e=0;e<d.length;e++){var f=d[e],n=f.constraints;if(n)for(var t=0;t<n.length;t++){var G=n[t];"COPY_TRANSFORMS"!=G.type||G.subtarget||G.mute||z.JH(b,G.target.ab,f.name,N.Yy,N.Al)}}if("MESH"==b.type)var p=k.lB(a);if(p){n=p.ab;e=n.k.xp;d=b.k;f=a.data;b.Kq=
  362. n;f=f.vertex_groups;if(f.length){var n=n.k.Qf,t=0,G={},w;for(w in n){var y=N.keysearch("name",w,f);y&&(G[w]={XE:y.index,yi:n[w].yi,ov:t++})}d.Bh=G;w=t;f=k.sB();d.lg=w;w>2*f?(d.Ti=!1,l.error('too many bones for "'+a.name+'" / '+d.lg+" bones (max "+f+" with blending, "+2*f+" without blending). Skinning will be disabled.")):d.Ti=!0}w=k.ZK(e.trans,e.ub,c.Bh);p.b4w_animation_mixing?(c.Fd=new Float32Array(w.ub),c.Wd=new Float32Array(w.ub),c.Kd=new Float32Array(w.trans),c.Zd=new Float32Array(w.trans)):(c.Fd=
  363. w.ub,c.Wd=w.ub,c.Kd=w.trans,c.Zd=w.trans);c.Bn=new Float32Array(4);c.An=r.create();c.xp=w;c.oe=0}if(c.ad)if(c=b.k,"CUBE"==c.rg)c.md=qa++;else if("PLANE"==c.rg){a:{p=a.constraints;for(w=0;w<p.length;w++)if(e=p[w],"LOCKED_TRACK"==e.type&&"REFLECTION PLANE"==e.name){if(e.target.ab){p=e.target.ab;break a}l.warn('Reflection plane target "'+e.target.name+'" for object: "'+b.name+"\" is not present on the scene. Using object's Z-axis.")}p=null}p||(p=N.Wp("%reflection%"),p=A.mo(p,"EMPTY"),w=A.no("EMPTY"),
  364. p.k=w,g(b,p),z.kz(p,b,[0,0,0],null,1),m(p));w=null;for(e=0;e<aa.length;e++)if(aa[e]==p){w=e;break}null==w&&(w=aa.length,aa.push(p));p.k.Zc=w;c.Zc=w;p.Ep.push(b)}};a.zQ=b;a.qS=g;a.NI=p;a.FQ=function(a){for(var b=0;b<a.length;b++){var c=a[b];!c.k||"DYNAMIC"!=c.k.type&&"CAMERA"!=c.k.type||Z.B(c);c.bq&&k.FC(c)&&(k.apply_def(c),c.ba.length&&k.play(c,null,k.SLOT_ALL))}};a.get_meta_tags=function(a){return N.O(a.us)};a.cleanup=function(){qa=G=0;aa.length=0;ga.length=0;U={ALL:[]}};a.copy=function(a,b,c){var e=
  365. b,h=A.get_dg_parent(a);b=h?A.bB(h.name,b):b;if(t(b,U.ALL,!1,-1)){for(var h=1,f;;){f="."+(3>String(h).length?("000"+String(h)).slice(-3):String(h));if(!t(b+f,U.ALL,!1,-1))break;h++}l.error('Object "'+b+'" already exists. Name was replaced by "'+b+f+'".');e+=f;b+=f}e=A.mo(b,a.type,e);e.zi=a.zi;e.is_dynamic=a.is_dynamic;e.Yo=a.Yo;e.bq=a.bq;e.Wf=a.Wf;e.k=A.Su(a.k);e.us=A.$q(a.us);g(a,e);e.Fq=A.Zu(a.Fq);e.parent=A.Zu(a.parent);e.hj=a.hj;e.pp=a.pp;e.Fc=A.Zu(a.Fc);e.Qj=a.Qj;!a.C||a.qe||a.is_character||a.Hk||
  366. (e.ol=a.ol,e.C=null);e.Rb=a.Rb;e.ar=a.ar;e.pg=A.$q(a.pg);b=[];for(h=0;h<a.F.length;h++){f=e.F[h];var k=a.F[h].M;if(c){for(var n=f.M,r=0;r<k.length;r++)if(!k[r].of){var p=A.$q(k[r]);p.fa=x.hJ(k[r].fa);n.push(p);b.push(k[r].fa)}for(r=0;r<k.length;r++)if(k[r].of){p=A.$q(k[r]);n.push(p);for(var w=0;w<b.length;w++)b[w]==k[r].fa&&(p.fa=n[w].fa)}for(r=0;r<n.length;r++)n[r].fa&&x.oy(n[r].fa),ja.qu&&ka.$H(n[r]),n[r].aj=e.mi,d.oQ(n[r]);I.tP(n)}else f.M=k;for(r=0;r<f.M.length;r++)for(k=f.M[r].ra,n=0;n<k.length;n++)I.LB(k[n])}c||
  367. (e.k.an=!1);A.xx(e,!1);m(e);e.k.$r=!0;e.k.as=c;e.k.Ci=N.aB(G);G++;return e};a.update_boundings=function(a){for(var b=a.k,c=a.F[0].M,e,h,f,k,l,m,g,n,r,t,G,p,B=[],u=0;u<c.length;u++){var v=c[u];if("MAIN"==v.type){var A=x.Li("a_position"),A=x.Fr(v.fa.Gb,A),J=v.fa.Fb.a_position.offset;e=k=A[J];h=l=A[J+1];f=m=A[J+2]}}for(u=0;u<c.length;u++)if(v=c[u],v.fa&&v.eb&&v.Ja){var A=x.Li("a_position"),A=x.Fr(v.fa.Gb,A),J=v.fa.Fb.a_position.offset,R=v.fa.Fb.a_position.length+J;g=t=A[J];n=G=A[J+1];r=p=A[J+2];for(var z=
  368. J;z<R;z+=3){var J=A[z],E=A[z+1],D=A[z+2];g=Math.max(J,g);n=Math.max(E,n);r=Math.max(D,r);t=Math.min(J,t);G=Math.min(E,G);p=Math.min(D,p)}v.N.max_x=g.toFixed(3);v.N.max_y=n.toFixed(3);v.N.max_z=r.toFixed(3);v.N.min_x=t.toFixed(3);v.N.min_y=G.toFixed(3);v.N.min_z=p.toFixed(3);y.Zj(v.N,b.n,v.Ja);y.QA(v.Ja,ia);for(A=B.length=0;A<ia.length;A++)B.push(ia[A]);v.eb=y.br(B,!0);v.V=y.uI(v.eb,b.n);v.oa=y.lo(v.V);v.Ya=y.lo(v.eb);v.cf=y.nw(v.V,v.oa);"MAIN"==v.type&&(e=Math.max(g,e),h=Math.max(n,h),f=Math.max(r,
  369. f),k=Math.min(t,k),l=Math.min(G,l),m=Math.min(p,m))}B={max_x:parseFloat(e.toFixed(3)),max_y:parseFloat(h.toFixed(3)),max_z:parseFloat(f.toFixed(3)),min_x:parseFloat(k.toFixed(3)),min_y:parseFloat(l.toFixed(3)),min_z:parseFloat(m.toFixed(3))};t=e-k;n=h-l;g=f-m;k=.5*(e+k);r=.5*(h+l);G=.5*(f+m);var K=k,fa=G;l=Math.max(t,Math.max(n,g))/2;m=Math.max(t,g)/2;var X=[k/(t?t:1),r/(n?n:1),G/(g?g:1)];p=.5;if(b.Pf)J=Math.max(Math.abs(B.max_x),Math.abs(B.min_x)),E=Math.max(Math.abs(B.max_y),Math.abs(B.min_y)),
  370. D=Math.max(Math.abs(B.max_z),Math.abs(B.min_z)),f=Math.sqrt(J*J+E*E+D*D),u=Math.sqrt(J*J+E*E),B.max_x=B.max_y=B.max_z=f,B.min_x=B.min_y=B.min_z=-f,m=u,l=f,J=new Float32Array([0,0,0]),e=new Float32Array([l,l,l]),f=new Float32Array([0,0,0]);else{for(u=0;u<c.length;u++)if(v=c[u],"MAIN"==v.type)for(A=x.Li("a_position"),A=x.Fr(v.fa.Gb,A),R=c[u].fa.Fb,J=R.a_position.offset,R=R.a_position.length+J,z=J;z<R;z+=3){var J=A[z],E=A[z+1],D=A[z+2],Y=Math.sqrt((k-J)*(k-J)+(r-E)*(r-E)+(G-D)*(G-D));if(Y>l){var v=k-
  371. l*(J-k)/Y,Ya=r-l*(E-r)/Y,Y=G-l*(D-G)/Y;k=(v+J)/2;r=(Ya+E)/2;G=(Y+D)/2;l=Math.sqrt((k-J)*(k-J)+(r-E)*(r-E)+(G-D)*(G-D))}Ya=Math.sqrt((K-J)*(K-J)+(fa-D)*(fa-D));Ya>m&&(v=K-m*(J-K)/Ya,Y=fa-m*(D-fa)/Ya,K=(v+J)/2,fa=(Y+D)/2,m=Math.sqrt((K-J)*(K-J)+(fa-D)*(fa-D)));J/=t?t:1;E/=n?n:1;D/=g?g:1;Y=Math.sqrt((X[0]-J)*(X[0]-J)+(X[1]-E)*(X[1]-E)+(X[2]-D)*(X[2]-D));Y>p&&(v=X[0]-p*(J-X[0])/Y,Ya=X[1]-p*(E-X[1])/Y,Y=X[2]-p*(D-X[2])/Y,X[0]=(v+J)/2,X[1]=(Ya+E)/2,X[2]=(Y+D)/2,p=Math.sqrt((X[0]-J)*(X[0]-J)+(X[1]-E)*(X[1]-
  372. E)+(X[2]-D)*(X[2]-D)))}u=t?t*X[0]:e;h=n?n*X[1]:h;f=g?g*X[2]:f;e=p*t;A=p*n;R=p*g;J=new Float32Array([k,r,G]);e=new Float32Array([e,A,R]);f=new Float32Array([u,h,f]);m=parseFloat(m.toFixed(3))}b.N=B;d.bP(b,m,m,B);B=y.Gu(l,J);b.oa=B;B=y.Hn([e[0],0,0],[0,e[1],0],[0,0,e[2]],f);b.V=B;Z.B(a);if(ja.debug_view)for(u=0;u<c.length;u++)if("DEBUG_VIEW"===c[u].type&&c[u].Ih){a=w.Br(1,B.D);x.kD(a,[B.xa[0],B.ya[1],B.za[2]],B.D);x.ut(a,1,!0);a.ka.a_polyindex=x.sr(a);d.nQ(c[u],a);break}};a.Eb=n;a.xB=function(a,b,c){b=
  373. U[b]||[];for(var d=[],e=0;e<b.length;e++){var h=b[e];if((h.k.ke==c||-1==c)&&h.zi)for(var f=h.F,k=0;k<f.length;k++)f[k].nb==a&&d.push(h)}return d};a.get_all_objects=function(a){var b=U.ALL;if(-1==a)return b;for(var c=[],d=0;d<b.length;d++){var e=b[d];e.k.ke==a&&c.push(e)}return c};a.get_first_character=function(a){var b=U.MESH;if(b)for(var c=0;c<b.length;c++){var d=b[c];if(h.is_character(d))for(var e=d.F,f=0;f<e.length;f++)if(e[f].nb==a)return d}return null};a.CP=function(a){var b=n(a,"LAMP",-1);if(b.length==
  374. a.s.zT){for(var c=[],d=0;d<b.length;d++){var e=b[d],e=A.da(e,a);c[e.Mk]=d}for(d=0;d<c.length-1;d++)for(e=d+1;e<c.length;e++){var h=b[c[d]].ib,f=b[c[e]].ib;if(f.nl&&f.pl&&(!h.nl||!h.pl)||!h.nl&&(f.nl||!h.pl&&f.pl))h=c[d],c[d]=c[e],c[e]=h}for(d=0;d<c.length;d++)e=b[c[d]],A.da(e,a).Mk=d,J.$m(b[c[d]],a)}};a.Fs=function(a,b,c,d){for(var e=0;e<a.F.length;e++)for(var h=a.F[e].M,f=0;f<h.length;f++){var k=h[f];k.fa.jf=b;k.jf=b;k.pb.jf=c;""!==k.Zi&&(k=E.uB(k.Zi))&&(k.eA=d)}};a.get_selectable_objects=function(){var a=
  375. [],b=U.MESH;if(b)for(var c=0;c<b.length;c++){var d=b[c];d.k.oj&&d.zi&&a.push(d)}return a};a.get_outlining_objects=function(){var a=[],b=U.MESH;if(b)for(var c=0;c<b.length;c++){var d=b[c];d.k.Ec&&d.zi&&a.push(d)}return a};a.hc=function(b,c,d,e){var h=null,f=U.ALL;switch(b){case a.fu:h=t(c,f,!0,d,e);break;case a.eu:a:{for(b=0;b<f.length;b++)if(h=f[b],h.Sk==d&&(h.k.ke==e||-1==e)){var k=A.get_dg_parent(h);if(k&&k.Sk==c)break a}h=null}break;case a.xc:a:{for(e=0;e<f.length;e++){b=f[e];for(var h=c.length-
  376. 1,k=b,l=!0;0<=h&&l;)l=k&&k.Sk==c[h]&&(k.k.ke==d||-1==d),k&&(k=A.get_dg_parent(k)),h--;if(l&&!k){h=b;break a}}h=null}}return h};a.get_world_by_name=function(a,b){return t("%meta_world%"+a,U.WORLD,!0,b)};a.pick_object=function(b,c){var d=J.Vg();if(!d)return l.error("No active scene"),null;var e=V.TN(b,c);if(e)return e;e=J.UN(d,b,c);if(!e)return null;for(var d=n(d,"MESH",-1),h=0;h<d.length;h++){var f=d[h].k,k=f.Ci;if(k&&3>Math.abs(255*k[0]-e[0])&&3>Math.abs(255*k[1]-e[1])&&3>Math.abs(255*k[2]-e[2]))return f.Ec&&
  377. f.Js&&(T.outlining_overview_mode?a.apply_outline_anim(d[h],T.cj,T.dj,T.ej):(e=f.dh,a.apply_outline_anim(d[h],e.cj,e.dj,e.ej))),d[h]}return null};a.set_wind_params=function(a,c){for(var d=n(a,"EMPTY",-1),e=0;e<d.length;e++){var h=d[e];if(h.Sl&&"WIND"===h.Sl.type){var f=h;break}}if(!f)return l.error("There is no wind on the scene"),0;"number"==typeof c.wind_dir&&(d=N.deg_to_rad(c.wind_dir),Q.set(Math.sin(d),-Math.cos(d),0,ya),N.dir_to_quat(ya,N.AXIS_Z,ra),Z.set_rotation(f,ra));"number"==typeof c.wind_strength&&
  378. (f.Sl.ZD=c.wind_strength);b(f)};a.remove_object=function(a){z.OI(a)&&z.remove(a);var b=U.ALL,c=U[a.type],d=b.indexOf(a);a=c.indexOf(a);-1!=d&&b.splice(d,1);-1!=a&&c.splice(a,1)};a.LN=m;a.MN=function(a){return U[a.type]&&-1<U[a.type].indexOf(a)}};fdage.module.__obj_util=function(a,q){function f(a){a={type:a,ke:0,n:e.gk(),Ut:e.gk(),pivot:new Float32Array(3),Kb:new Float32Array(3),Pi:0,Qi:0,$r:!1,as:!1,Ci:null,og:0,xj:!1,Ae:n.create(),use_panning:!1,jb:0,Gj:1,Fj:1,Hj:1,dof_distance:0,dof_front_start:0,dof_front_end:0,dof_rear_start:0,dof_rear_end:0,dof_power:0,dof_bokeh_intensity:0,dof_bokeh:!1,Xc:!1,dof_object:null,Za:null,ea:null,hb:null,mc:null,lc:null,xd:null,Sg:!0,dh:{cj:1,dj:1,ej:0},md:-1,Zc:-1,dc:new Float32Array(4),vk:0,nk:0,fm:!1,fp:new Float32Array(3),
  379. gp:0,se:-1,jg:0,kg:0,Nl:!1,Xd:!1,zd:!1,Hd:!1,yd:!1,bd:!1,ad:!1,rg:"",Ce:!1,kf:!1,Mc:!1,hide:!1,oj:!1,Is:!1,Ec:!1,Hs:!1,Js:!1,Ik:!1,is_visible:!1,Io:!1,wl:0,zg:0,Ag:0,Yf:0,Xf:0,Sf:0,Rh:"",Rd:{sw:"",rw:"",Yw:""},Vj:!1,Sn:new Float32Array(3),Pf:!1,In:!1,Kn:"",Jn:!1,oe:0,Gt:0,Ht:0,lg:0,uk:!1,Fc:!1,ae:!1,ih:[],Ti:!1,yh:!1,Jg:1,xn:0,wn:1,Ym:new Int8Array([-1,-1]),Hm:[],ss:[],ht:[],Fd:null,Wd:null,Kd:null,Zd:null,Qf:null,Bh:null,xp:null,Bn:null,An:null,Uj:null,N:p.ld(),Ja:p.ld(),oa:p.Og(),Ya:p.Og(),V:p.Uf(),
  380. eb:p.Uf(),Vc:p.cr(),vz:p.cr(),Gn:null,En:null,Fn:null,an:!0,cf:!1,Ps:0};n.copy(u.AXIS_Z,a.Ae);return a}function c(a){if(!(a instanceof Object))return a;var b=null,e=null,f=null,m=null,g=null,n=null;a.ra&&(b=a.ra,a.ra=null);a.fd&&(e=a.fd,a.fd=null);a.Rf&&(f=a.Rf,a.Rf=null);a.Wa&&(m=a.Wa,a.Wa=null);a.pb&&(g=a.pb,a.pb=null);a.be&&(n=a.be,a.be=null);var t;t=a.constructor;switch(t){case Int8Array:case Uint8Array:case Int16Array:case Uint16Array:case Int32Array:case Uint32Array:case Float32Array:case Float64Array:t=
  381. new t(a);break;case Array:t=new t(a.length);for(var p=0;p<a.length;p++)t[p]=c(a[p]);break;case WebGLUniformLocation:case WebGLProgram:case WebGLShader:t=a;break;case WebGLFramebuffer:case WebGLTexture:case WebGLBuffer:t=null;break;case Function:t=a;break;default:for(p in t=new t,a)t[p]=c(a[p])}b&&(t.ra=b,a.ra=b);e&&(t.fd=e,a.fd=e);f&&(t.Rf=f,a.Rf=f);m&&(t.Wa=m,a.Wa=m);g&&(t.pb=g,a.pb=g);n&&(t.be=u.Fi(),a.be=n);return t}function b(a,b){for(var c=a.F,e=0;e<c.length;e++){var f=c[e];if(f.nb==b)return f}return null}
  382. function g(a){return a.hj?a.parent:a.parent?g(a.parent):null}var p=q("__boundings"),D=q("__config"),e=q("__tsr"),u=q("__util"),n=q("__vec3"),t=q("__vec4"),m=D.A;new Float32Array(4);new Float32Array(4);new Float32Array(4);e.create();e.create();a.on=-1;a.no=f;a.Su=function(a){var b=f(a.type);b.ke=a.ke;e.copy(a.n,b.n);e.copy(a.Ut,b.Ut);n.copy(a.pivot,b.pivot);n.copy(a.Kb,b.Kb);b.Pi=a.Pi;b.Qi=a.Qi;b.$r=a.$r;b.as=a.as;a.Ci&&(b.Ci=n.clone(a.Ci));b.og=a.og;b.xj=a.xj;n.copy(a.Ae,b.Ae);b.use_panning=a.use_panning;
  383. b.jb=a.jb;b.Gj=a.Gj;b.Fj=a.Fj;b.Hj=a.Hj;b.dof_distance=a.dof_distance;b.dof_front_start=a.dof_front_start;b.dof_front_end=a.dof_front_end;b.dof_rear_start=a.dof_rear_start;b.dof_rear_end=a.dof_rear_end;b.dof_power=a.dof_power;b.dof_bokeh_intensity=a.dof_bokeh_intensity;b.dof_bokeh=a.dof_bokeh;b.Xc=a.Xc;b.dof_object=a.dof_object;b.Za=u.O(a.Za);b.ea=u.O(a.ea);b.hb=u.O(a.hb);b.mc=u.O(a.mc);b.lc=u.O(a.lc);b.xd=a.xd;b.Sg=a.Sg;b.dh.cj=a.dh.cj;b.dh.dj=a.dh.dj;b.dh.ej=a.dh.ej;b.md=a.md;b.Zc=a.Zc;b.dc=a.dc;
  384. b.vk=a.vk;b.nk=a.nk;b.fm=a.fm;n.copy(a.fp,b.fp);b.gp=a.gp;b.se=a.se;b.jg=a.jg;b.kg=a.kg;b.Nl=a.Nl;b.Xd=a.Xd;b.zd=a.zd;b.Hd=a.Hd;b.yd=a.yd;b.bd=a.bd;b.ad=a.ad;b.rg=a.rg;b.Ce=a.Ce;b.kf=a.kf;b.Mc=a.Mc;b.hide=a.hide;b.oj=a.oj;b.Is=a.Is;b.Ec=a.Ec;b.Hs=a.Hs;b.Js=a.Js;b.Ik=a.Ik;b.is_visible=a.is_visible;b.Io=a.Io;b.wl=a.wl;b.zg=a.zg;b.Ag=a.Ag;b.Yf=a.Yf;b.Xf=a.Xf;b.Sf=a.Sf;b.Rh=a.Rh;b.Rd=a.Rd;b.Vj=a.Vj;n.copy(a.Sn,b.Sn);b.Pf=a.Pf;b.In=a.In;b.Kn=a.Kn;b.Jn=a.Jn;b.oe=a.oe;b.Gt=a.Gt;b.Ht=a.Ht;b.lg=a.lg;b.uk=
  385. a.uk;b.Fc=a.Fc;b.ae=a.ae;b.ih=u.O(a.ih);b.Ti=a.Ti;b.yh=a.yh;b.Jg=a.Jg;b.xn=a.xn;b.wn=a.wn;b.Ym.set(a.Ym);b.Hm=u.O(a.Hm);b.ss=u.O(a.ss);b.ht=u.O(a.ht);b.Fd=u.O(a.Fd);b.Wd=u.O(a.Wd);b.Kd=u.O(a.Kd);b.Zd=u.O(a.Zd);b.Qf=u.O(a.Qf);b.Bh=u.O(a.Bh);b.xp=u.O(a.xp);b.Bn=u.O(a.Bn);b.An=u.O(a.An);b.Uj=u.O(a.Uj);p.Hl(a.N,b.N);p.Hl(a.Ja,b.Ja);p.$u(a.oa,b.oa);p.$u(a.Ya,b.Ya);p.Yu(a.V,b.V);p.Yu(a.eb,b.eb);b.Gn=u.O(a.Gn);b.En=u.O(a.En);b.Fn=u.O(a.Fn);b.an=a.an;b.cf=a.cf;b.Ps=a.Ps;return b};a.mo=function(a,b,c){c||
  386. (c=a);return{name:a,mi:u.Hv(),Sk:c,type:b,zi:!1,is_dynamic:!1,Yo:!1,bq:!1,k:null,bc:null,S:null,ib:null,Kq:null,anchor:null,Sl:null,us:null,F:[],Fc:[],je:u.Fi(),Xu:u.Fi(),ba:[],Ep:[],xf:[],Fq:[],ug:null,cl:[],parent:null,hj:!1,pp:"",Nt:null,Qs:null,ol:!1,Rb:"",ar:"AUTO",qe:!1,is_character:!1,Hk:!1,Iz:!1,C:null,v:null,mf:null,ze:null,Tl:null,Wz:null,dx:[],pg:{sp:"NO_COLLISION",dq:!1,PE:!1,$g:0,UE:0,TE:0,BA:0,gD:0,hN:!1,iN:!1,jN:!1,kN:!1,lN:!1,mN:!1,co:0,ao:0,eo:0,ry:!1,Xq:"BOX",$p:!1},HC:{wt:0,Xw:0,
  387. Xe:0,nx:0},Qj:0,Wf:[],Rw:!1,wC:!1,ts:[]}};a.Zu=function(a){return a instanceof Array?a.slice():a};a.pS=function(a){for(var b=[],e=0;e<a.length;e++){var f=a[e],m={},g;for(g in f)f[g]==f.Ja?m.Ja=c(f.Ja):f[g]==f.eb?m.eb=c(f.eb):m[g]=f[g];b.push(m)}return b};a.$q=c;a.is_dynamic=function(a){return a.is_dynamic};a.gg=function(a){return"MESH"==a.type&&a.is_dynamic};a.zn=function(a,b){a.F.push({nb:b,Zr:!1,M:[],eh:[],Gh:null,Ex:[],Mk:0,EC:!1,W:[],ED:[]})};a.Iq=function(a,c,e){b(a,c).M.push(e)};a.ET=function(a,
  388. b){for(var c=a.F,e=0;e<c.length;e++)if(c[e].nb==b){c.splice(e,1);break}};a.da=b;a.DE=function(a,b){for(var c=0;c<a.length;c++)t.copy(b,a[c].k.dc)};a.xx=function(a,b,c){for(var e=0;e<a.F.length;e++){var f=a.F[e];c&&f.nb!=c||(f.Zr=b)}};a.Er=function(a,b){for(var c=[],e=b?m.rC-1:m.rC,f=0;f<a.length;f++){var g=a[f];g.ib.eB&&c.length<e&&c.push(g)}return c.length?c:a[0]?[a[0]]:[]};a.BN=function(a,b){e.identity(b.n);b.Ci=null;a.k=b};a.Zz=function(a,b){if(b.b4w_enable_soft_particles&&0<b.b4w_particles_softness){var c=
  389. b.material-1,e=a.data.materials;if(0<=c&&c<e.length&&("ADD"==e[c].game_settings.alpha_blend||"ALPHA"==e[c].game_settings.alpha_blend||"ALPHA_SORT"==e[c].game_settings.alpha_blend))return!0}return!1};a.UI=function(a){a=a.F;for(var b=0;b<a.length;b++)for(var c=a[b].M,e=0;e<c.length;e++)for(var f=c[e].Va.Jh,m=0;m<f.length;m++){var g=f[m];if("USE_MODEL_TSR_INVERSE"==g[0]&&"1"==g[1])return!0}return!1};a.bB=function(a,b){return a+"*"+b};a.get_parent=function(a){return a.hj?null:a.parent};a.get_dg_parent=
  390. g;a.Lv=function(a,b){for(var c=[],e=0;e<b.length;e++){var f=b[e];g(f)==a&&c.push(f)}return c};a.get_object_data_id=function(a){return a.k.ke};a.is_mesh=function(a){return"MESH"===a.type};a.is_armature=function(a){return"ARMATURE"===a.type};a.is_speaker=function(a){return"SPEAKER"===a.type};a.is_camera=function(a){return"CAMERA"===a.type};a.is_lamp=function(a){return"LAMP"===a.type};a.is_empty=function(a){return"EMPTY"===a.type};a.is_line=function(a){return"LINE"===a.type};a.is_world=function(a){return"WORLD"===
  391. a.type}};fdage.module.__particles=function(a,q){function f(){t.q("_rand() undefined")}function c(a,b,c,e,f,k){var m=a.jr,h=a.ag,l=a.time;a=a.SC;for(var g=0;g<m.length;g+=4){var r=m[g];if(l>a&&l>=r&&r>a||l<a&&(r>a||l>=r))for(r=0;8>r;r++)h[8*g+r]=e[r],y[r]=e[r];else for(r=0;8>r;r++)y[r]=h[8*g+r];r=H;r[0]=b[3*g];r[1]=b[3*g+1];r[2]=b[3*g+2];n.transform_vec3(r,y,r);f[3*g]=r[0];f[3*g+1]=r[1];f[3*g+2]=r[2];var t=d;t[0]=c[4*g];t[1]=c[4*g+1];t[2]=c[4*g+2];t[3]=c[4*g+3];n.fQ(t,y,t);k[4*g]=t[0];k[4*g+1]=t[1];k[4*g+2]=
  392. t[2];k[4*g+3]=t[3];for(r=1;4>r;r++)f[3*(g+r)]=f[3*g],f[3*(g+r)+1]=f[3*g+1],f[3*(g+r)+2]=f[3*g+2],k[4*(g+r)]=t[0],k[4*(g+r)+1]=t[1],k[4*(g+r)+2]=t[2],k[4*(g+r)+3]=t[3]}}function b(a){a?(t.OP(a),f=function(){return t.iO()}):f=function(){return Math.random()}}var g=q("__config"),p=q("__batch"),D=q("__geometry"),e=q("__textures"),u=q("__time"),n=q("__tsr"),t=q("__util"),m=q("__vec3"),k=g.A,d=new Float32Array(4),y=new Float32Array(8),H=new Float32Array(3),v=[];a.update=function(){for(var a=0;a<v.length;a++)for(var b=
  393. v[a],d=b.F,e=0;e<d.length;e++)for(var f=b,k=d[e].M,m=0;m<k.length;m++){var h=k[m],l=h.Ua;l&&l.Dt&&!h.of&&(c(l,l.positions,l.kE,f.k.n,l.fx,l.Xx),l.vC=!0)}};a.sm=function(a){a=a.F;for(var b=0;b<a.length;b++)for(var c=a[b].M,d=0;d<c.length;d++)if(c[d].Ua)return!0;return!1};a.DC=function(a){a=a.F;for(var b=0;b<a.length;b++)for(var c=a[b].M,d=0;d<c.length;d++){var e=c[d].Ua;if(e&&"EMITTER"==e.Ks)return!0}return!1};a.pI=function(a){return 0<a.particle_systems.length};a.oI=function(a){for(var b=0;b<a.particle_systems.length;b++)if("EMITTER"==
  394. a.particle_systems[b].settings.type)return!0;return!1};a.sM=function(a){for(var b=0;b<a.particle_systems.length;b++){var c=a.particle_systems[b].settings;if("HAIR"==c.type&&c.b4w_dynamic_grass)return!0}return!1};a.wM=function(a,b,c){var d=a.Ua={name:b.name,Ks:b.settings.type,time:0,SC:-1,Dt:!1,na:0,Qa:0,pE:0,uw:0,iC:0,cyclic:0,$g:0,Sw:0,EB:0,qk:0,Ne:0,dF:0,size:0,iz:0,hz:0,jA:0,iA:new Float32Array(16),vC:!1,positions:null,fx:null,kE:null,Xx:null,jr:null,pv:null,ag:null,IC:null,nE:0,oE:0};d.na=b.settings.frame_start;
  395. d.Qa=b.settings.frame_end;d.pE=(d.Qa-d.na)/u.Sc();d.uw=b.settings.lifetime;d.iC=d.uw/u.Sc();d.cyclic=b.settings.b4w_cyclic?1:0;d.$g=b.settings.mass;d.Sw=b.settings.normal_factor;d.EB=9.81*b.settings.effector_weights.gravity;d.qk=b.settings.b4w_fade_in/u.Sc();d.Ne=b.settings.b4w_fade_out/u.Sc();d.dF=b.settings.effector_weights.wind;d.Dt="WORLD"==b.settings.b4w_coordinate_system?!0:!1;var f,m,g;a.So?(f=c.halo.size,m=c.halo.hardness,30>m?(m=.5,g=.9):40>m?(m=.1,g=1):50>m?(m=0,g=.8):(m=0,g=.5)):(f=b.settings.particle_size,
  396. g=m=1);d.size=f;d.iz=m;d.hz=g;c.use_nodes&&"BILLBOARD"==b.settings.render_type&&(p.fb(a,"NODES",1),p.fb(a,"PARTICLE_BATCH",1),a.Ni=!0);b=b.settings.texture_slots;b[0]&&b[0].use_map_size&&b[0].texture&&"BLEND"==b[0].texture.type&&b[0].texture.use_color_ramp&&k.Hq&&(b=b[0].texture,f=[],e.vI(b.color_ramp,e.Xy,f),f=new Uint8Array(f.map(function(a){return t.clamp(255*a,0,255)})),f=e.pA(f,e.Xy),p.vi(a,f,"u_color_ramp_tex",b.name),p.fb(a,"USE_COLOR_RAMP",1));c=c.texture_slots;a=[-1,0,0,0,-1,0,0,0,-1,0,0,
  397. 0,-1,0,0,0];if(c[0]&&"STRAND"==c[0].texture_coords&&c[0].texture&&"BLEND"==c[0].texture.type&&c[0].texture.use_color_ramp){c=c[0].texture.color_ramp.elements;b=Math.min(4*c.length,a.length);for(f=0;f<b;f+=4)m=c[f/4],a[f]=m.position,a[f+1]=m.color[0],a[f+2]=m.color[1],a[f+3]=m.color[2];d.jA=c.length}d.iA.set(a)};a.xL=function(a,d,e,k){var g=a.Ua,n=k.n;k=e.settings.count;var p=e.settings.frame_start/u.Sc(),h=e.settings.frame_end/u.Sc(),l=e.settings.lifetime/u.Sc(),w=e.settings.lifetime_random,r=e.settings.emit_from,
  398. y=e.settings.factor_random;if(e.settings.use_rotations)var B=e.settings.angular_velocity_mode,v=e.settings.angular_velocity_factor;else B="NONE",v=0;var q=e.settings.b4w_randomize_emission,C=e.settings.b4w_cyclic;g.nE=e.settings.billboard_tilt;g.oE=e.settings.billboard_tilt_random;b(e.seed);var N;d=D.RA(d,["a_position","a_tbn_quat"],null);switch(r){case "VERT":var H=d.U[0].a_position;N=d.U[0].a_tbn_quat;e=H.length/3;d=[];for(r=0;r<k;r++){var W=Math.round((e-1)*f());d.push(W);d.push(W);d.push(W);d.push(W)}e=
  399. [];for(r=0;r<d.length;r++)e.push(H[3*d[r]]),e.push(H[3*d[r]+1]),e.push(H[3*d[r]+2]);H=new Float32Array(e);e=[];for(r=0;r<d.length;r++)e.push(N[4*d[r]]),e.push(N[4*d[r]+1]),e.push(N[4*d[r]+2]),e.push(N[4*d[r]+3]);N=new Float32Array(e);break;case "FACE":H=[];N=[];r=[];t.Yr(0,r);e=D.Iv(d,k,!1,r);t.Yr(0,r);d=D.Iv(d,k,!0,r);for(r=0;r<e.length;r++)H.push(e[r][0],e[r][1],e[r][2]),H.push(e[r][0],e[r][1],e[r][2]),H.push(e[r][0],e[r][1],e[r][2]),H.push(e[r][0],e[r][1],e[r][2]),N.push(d[r][0],d[r][1],d[r][2],
  400. d[r][3]),N.push(d[r][0],d[r][1],d[r][2],d[r][3]),N.push(d[r][0],d[r][1],d[r][2],d[r][3]),N.push(d[r][0],d[r][1],d[r][2],d[r][3]);H=new Float32Array(H);N=new Float32Array(N);break;case "VOLUME":t.q("Particle emission from volume is not supported");break;default:t.q("Wrong emit from option")}N=[H,N];H=N[0];N=N[1];g.positions=new Float32Array(H);g.kE=new Float32Array(N);g.fx=new Float32Array(H.length);g.Xx=new Float32Array(N.length);d=[];h=(h-p)/k;for(e=0;e<k;e++)r=q?h*e+10*h*(.5-f()):h*e,C||(r+=p),
  401. d.push(r),d.push(r),d.push(r),d.push(r);p=new Float32Array(d);g.jr=new Float32Array(p);g.pv=new Float32Array(p);if(g.Dt){g.ag=new Float32Array(8*p.length);for(q=0;q<8*p.length;q++)for(C=0;8>C;C++)g.ag[8*q+C]=n[C];c(g,H,N,n,H,N)}n=D.Se("EMITTER_PARTICLES");q=t.Vf();q.a_position=H;q.a_tbn_quat=N;n.U[0]=q;a.Zf=D.sq;a=[];for(q=0;q<k;q++)a.push(4*q,4*q+2,4*q+1,4*q,4*q+3,4*q+2);a=new Uint16Array(a);n.ha=a;n.ka.a_p_bb_vertex=D.$A(k);n.Aa=H.length/3;a=[];w*=l;for(q=0;q<k;q++)C=w*f(),a.push(l-C),a.push(l-
  402. C),a.push(l-C),a.push(l-C);l=n.ka;w=[];for(q=0;q<k;q++)C=Math.random(),w.push(a[4*q],p[4*q],C),w.push(a[4*q+1],p[4*q+1],C),w.push(a[4*q+2],p[4*q+2],C),w.push(a[4*q+3],p[4*q+3],C);w=new Float32Array(w);l.a_p_data=w;l=n.ka;w=[];for(a=0;a<k;a++){p=[f()-.5,f()-.5,f()-.5];m.normalize(p,p);w.push(y*p[0]);w.push(y*p[1]);w.push(y*p[2]);switch(B){case "NONE":w.push(0);break;case "SPIN":case "VELOCITY":w.push(v);break;case "RAND":w.push(2*v*(f()-.5));break;default:t.q("Undefined velocity factor")}p=w.slice(-4);
  403. for(q=0;12>q;q++)w.push(p[q%4])}k=new Float32Array(w);l.a_p_vels=k;g.IC=new Float32Array(n.ka.a_p_data);return n};a.kP=function(a,b,c){a=a.F;for(var d=0;d<a.length;d++)for(var e=a[d].M,f=0;f<e.length;f++){var k=e[f].Ua;k&&k.name==b&&!e[f].of&&(k.SC=k.time,k.time=c)}};a.dO=function(a){for(var b=a.Aa,c=a.U[0].a_position,d=[],e=[],f=0;f<b;f++)e.push(c[3*f]),d.push(c[3*f+1]),e.push(c[3*f+2]);d=new Float32Array(d);e=new Float32Array(e);a.ka.a_lf_dist=d;a.ka.a_lf_bb_vertex=e;return a};a.set_size=function(a,
  404. b,c){a=a.F;for(var d=0;d<a.length;d++)for(var e=a[d].M,f=0;f<e.length;f++){var k=e[f].Ua;k&&k.name==b&&(k.size=c)}};a.set_normal_factor=function(a,b,c){a=a.F;for(var d=0;d<a.length;d++)for(var e=a[d].M,f=0;f<e.length;f++){var k=e[f].Ua;k&&k.name==b&&(k.Sw=c)}};a.set_factor=function(a,b,c){a=a.F;for(var d=0;d<a.length;d++)for(var e=a[d].M,f=0;f<e.length;f++){var k=e[f],h=k.Ua;if(h&&h.name==b){var l=h.jr;if(1==c)var m=l;else if(0==c)for(var m=h.pv,g=0;g<m.length;g+=4)m[g]=1E4,m[g+1]=m[g],m[g+2]=m[g],
  405. m[g+3]=m[g];else for(var n=4/c,m=h.pv,t=0,g=0;g<m.length;g+=4)g>=t?(m[g]=l[g],t+=n):m[g]=1E4,m[g+1]=m[g],m[g+2]=m[g],m[g+3]=m[g];k=k.fa;if(k.Fb.a_p_data){h=h.IC;for(g=0;g<h.length;g+=3)h[g+1]=m[Math.round(g/3)];D.yE(k,"a_p_data",3,h)}}}};a.PQ=function(a,b,c){a=a.F;for(var d=0;d<a.length;d++)for(var e=a[d].M,f=0;f<e.length;f++){var k=e[f].Ua;if(k&&k.Dt)for(var h=0;h<8*k.jr.length;h++)k.ag[8*h]=b[0],k.ag[8*h+1]=b[1],k.ag[8*h+2]=b[2],k.ag[8*h+3]=b[3],k.ag[8*h+4]=c[0],k.ag[8*h+5]=c[1],k.ag[8*h+6]=c[2],
  406. k.ag[8*h+7]=c[3]}};a.IQ=function(a,b,c){for(var d=[],e=0;e<c;e++)d.push(0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1);a.ka.a_tbn_quat=new Float32Array(d);if(b.qp){d=[];for(e=0;e<c;e++)d.push(e,e,e,e);a.ka[b.qp.name]=new Float32Array(d)}};a.HQ=function(a){-1==v.indexOf(a)&&v.push(a)};a.oO=function(a){a=v.indexOf(a);-1!=a&&v.splice(a,1)};a.cleanup=function(){v.length=0}};fdage.module.__primitives=function(a,q){function f(a,b,c,f){for(var d=[],g=[],p=[],u=[],z=2*c/(a-1),x=2*f/(b-1),q=0;q<a;q++)for(var F=-c+q*z,E=0;E<b;E++)if(g.push(F,-f+E*x,0),u.push(0,0,0,1),p.push(q/(a-1),E/(b-1)),q&&E){var A=q*b+E,K=A-1,h=(q-1)*b+E,l=h-1;d.push(A,K,h);d.push(K,l,h)}a=e.Vf();a.a_position=new Float32Array(g);a.a_tbn_quat=new Float32Array(u);u=D.Se("GRID_PLANE");u.U[0]=a;u.ka.a_texcoord=new Float32Array(p);u.ha=new Uint32Array(d);u.Aa=g.length/3;return u}function c(a){var b=a.length;
  407. b%4&&e.q("Wrong array");for(var c=[],f=[],d=0;d<b;d+=4){var p=a[d+1],u=a[d+2],v=a[d+3];g(a[d],f);g(p,f);g(u,f);g(v,f);c.push(d,d+1,d+2);c.push(d,d+2,d+3)}a=e.Vf();a.a_position=new Float32Array(f);b=D.Se("FROM_QUADS");b.U[0]=a;b.ha=new Uint32Array(c);b.Aa=f.length/3;return b}function b(a,b){var c=3*b;return[a[c],a[c+1],a[c+2]]}function g(a,b){b.push(a[0],a[1],a[2])}var p=q("__config"),D=q("__geometry");q("__print");var e=q("__util"),u=p.A;a.BL=function(){var a=D.Se("LINE"),b=e.Vf();b.a_position=new Float32Array(3);
  408. b.a_direction=new Float32Array(3);a.U[0]=b;a.ha=new Uint32Array(1);a.Aa=1;return a};a.NS=function(a,b){var c=f(2,2,a,b);c.name="PLANE";return c};a.MS=f;a.uL=function(a,b,c){function f(a,b){return 1==a%2&&(0==b||b==v-1)||1==b%2&&(0==a||a==p-1)?!0:!1}var d=c/=Math.pow(2,a-1),g=c,p=b+1,v=b+1;b=[];c=[];for(var z=[],x=0,q=0,F=-1,E=[],A=0;A<a;A++){for(var K=2*d/(p-1),h=2*g/(v-1),l=[],w=[],r=0,J=0;J<p;J++){for(var B=-d+J*K,Z=[],I=0;I<v;I++){var C=-g+I*h;if(B>-x&&B<x&&C>-q&&C<q)Z.push(-1),r++;else{for(var N=
  409. null,Q=0;Q<E.length;Q+=3)if(B==E[Q]&&C==E[Q+1]){N=E[Q+2];break}Q=null!==N?N:F+1;f(J,I)?(Z.push(-2),r++):(null==N&&(0==I||I==v-1||0==J||J==p-1?(N=A==a-1?K:2*K,l.push(B,C,Q)):N=K,c.push(B,C,N),z.push(.707,0,0,.707),F++),Z.push(Q));if(J&&I)if(1==J)if(f(J-1,I)){if(1<I){var C=Q-1,N=w[J-1][I+1],W=N-1;b.push(W,C,Q)}else N=w[J-1][I+1],W=N-1;b.push(N,W,Q)}else f(J,I)||(C=Q-1,N=w[J-1][I],b.push(N,C,Q));else if(J==p-1){if(!f(J,I))if(I==v-1)C=Q-1,N=w[J-1][I-1],W=w[J-2][I],b.push(N,C,Q),b.push(W,N,Q);else{var C=
  410. Q-1,N=w[J-1][I],W=N-1,V=N+1;b.push(W,C,Q);b.push(N,W,Q);b.push(V,N,Q);2==I&&(V=w[J-2][I-2],b.push(W,V,C))}}else 1==I?f(J,I-1)?(C=w[J-1][I],N=w[J-1][I-1],b.push(C,N,Q)):(C=Z[I-1],N=w[J-1][I],W=w[J-2][I-1],b.push(N,C,Q),b.push(N,W,C)):I==v-1?f(J,I)||(C=Z[I-1],N=w[J-1][I-1],W=w[J-2][I],b.push(N,C,Q),b.push(W,N,Q)):-1!=w[J-1][I]&&-1!=w[J-1][I-1]&&-1!=Z[I-1]?(C=Z[I-1],N=w[J-1][I],W=w[J-1][I-1],b.push(N,C,Q),b.push(N,W,C),I==v-2&&f(J,I+1)&&(V=w[J-1][I+1],b.push(V,N,Q))):I==v-2&&f(J,I+1)&&(N=w[J-1][I],V=
  411. w[J-1][I+1],b.push(V,N,Q))}}w.push(Z)}E=l;x=d;q=g;d*=2;g*=2}if(2E4>x)for(a=-(2*x)/(p-1),c.push(-2E4,-2E4,a),c.push(-2E4,2E4,a),c.push(-x,-q,a),c.push(-x,q,a),c.push(2E4,-2E4,a),c.push(2E4,2E4,a),c.push(x,-q,a),c.push(x,q,a),Q=F+1,b.push(Q+1,Q+2,Q+3,Q+1,Q+0,Q+2,Q+2,Q+4,Q+6,Q+2,Q+0,Q+4,Q+1,Q+7,Q+5,Q+1,Q+3,Q+7,Q+7,Q+4,Q+5,Q+6,Q+4,Q+7),J=0;8>J;J++)z.push(.707,0,0,.707);a=e.Vf();a.a_position=new Float32Array(c);a.a_tbn_quat=new Float32Array(z);d=D.Se("MULTIGRID_PLANE");d.U[0]=a;d.ha=new Uint32Array(b);
  412. d.Aa=c.length/3;u.cF&&(D.ut(d,1,!0),a.a_polyindex=D.sr(d));return d};a.LS=function(a){var b=a.length;b%3&&e.q("Wrong array");for(var c=[],f=[],d=0;d<b;d+=3){var p=a[d+1],u=a[d+2];g(a[d],f);g(p,f);g(u,f);c.push(d,d+1,d+2)}a=e.Vf();a.a_position=new Float32Array(f);b=D.Se("FROM_TRIANGLES");b.U[0]=a;b.ha=new Uint32Array(c);b.Aa=f.length/3;return b};a.KS=c;a.yL=function(a){a=e.cR(a);var b=[];b.push(a[0],a[1],a[2],a[3]);b.push(a[0],a[3],a[5],a[4]);b.push(a[3],a[2],a[6],a[5]);b.push(a[1],a[7],a[6],a[2]);
  413. b.push(a[0],a[4],a[7],a[1]);b.push(a[4],a[5],a[6],a[7]);a=c(b);a.name="FRUSTUM";return a};a.Cc=function(){var a=D.Se("FULLSCREEN_TRI"),b=e.Vf();b.a_position=new Float32Array([0,0,1,0,0,1]);a.U[0]=b;a.ha=new Uint32Array([0,1,2]);a.Aa=3;return a};a.zL=function(){var a=D.Se("FULLSCREEN_QUAD"),b=e.Vf();b.a_position=new Float32Array([-1,1,1,1,-1,-1,1,-1]);a.U[0]=b;a.ha=new Uint32Array([0,2,1,1,2,3]);a.Aa=4;return a};a.tL=function(){var a=D.Se("BILLBOARD"),b=e.Vf();b.a_bb_vertex=D.$A(1);a.U[0]=b;a.ha=new Uint32Array([0,
  414. 2,1,0,3,2]);a.Aa=4;return a};a.vL=function(){var a=D.Se("CUBEMAP_BOARD"),b=e.Vf();b.a_position=new Float32Array([-1,-1,-1,1,1,1,1,-1]);a.U[0]=b;a.ha=new Uint32Array([0,2,1,0,3,2]);a.Aa=4;return a};a.Br=function(a,c){var f=D.Se("UV_SPHERE"),k,d,p=[],u=[],v=[];for(d=0;8>=d;d++)for(k=0;16>=k;k++){var z=k/16,x=d/8;u.push(-a*Math.cos(2*z*Math.PI)*Math.sin(x*Math.PI)+c[0],a*Math.cos(x*Math.PI)+c[1],a*Math.sin(2*z*Math.PI)*Math.sin(x*Math.PI)+c[2])}for(d=z=0;8>d;d++)for(k=0;16>k;k++){var x=b(u,17*d+k+1),
  415. q=b(u,17*d+k),F=b(u,17*(d+1)+k),E=b(u,17*(d+1)+k+1);Math.abs(x[1])==a+c[1]?(g(x,p),g(F,p),g(E,p),v.push(z,z+1,z+2),z+=3):Math.abs(F[1])==a+c[1]?(g(x,p),g(q,p),g(F,p),v.push(z,z+1,z+2),z+=3):(g(x,p),g(q,p),g(F,p),g(E,p),v.push(z,z+1,z+2),v.push(z,z+2,z+3),z+=4)}k={};k.a_position=p;u=D.Mz(v,u,p);u=D.Lz(v,p,u);k.a_tbn_quat=e.gen_tbn_quats(u);f.U[0]=k;f.ha=v;f.Aa=p.length/3;return f};a.dB=function(a){var b=D.Se("INDEX"),c=e.Vf();c.a_index=new Float32Array(3*a);for(var f=new Uint16Array(3*a),d=0;d<3*a;d++)c.a_index[d]=
  416. d,f[d]=d;b.U[0]=c;b.ha=f;b.Aa=3*a;return b}};fdage.module.__prerender=function(a,q){function f(a,c){var f=a.te;f.is_visible=!1;if(f.hide)return!1;var g=c.p,m=c.type==e.Hc?g.ms:u.Yb(g.n,k);if("STATIC"==f.type&&f.fm)var D=f.fp,q=f.gp;else D=f.Ya.D,q=f.Ya.Oa;var F=f.jg,E=f.se,m=t.dist(D,m);if(!(m<F?0:E==p.on||m<E+f.kg*q))return!1;f.is_visible=!0;E=a.pa;if(c.type==e.Fe)return c.debug_view_mode==b.DV_BOUNDINGS?E.Ih:!E.Ih;if(c.type==e.Lf&&0==f.og)return!1;f.an?(q=E.Ya,F=E.eb,f=E.cf):(q=f.Ya,F=f.eb,f=f.cf);if(E=!E.Gi)g=g.Ug,E=q.D,n.JP(E,g,q.Oa)?E=!0:
  417. f?(E=F.D,E=n.MK(E,g,F.xa,F.ya,F.za)):E=!1;return E?!1:!0}function c(a){var b=a.Ua;if(b&&b.vC){a=a.fa;g.qN(a);var c=a.Fb,e=c.a_position.offset;g.jq(a.Gb,"a_position",b.fx,e);e=c.a_tbn_quat.offset;g.jq(a.Gb,"a_tbn_quat",b.Xx,e);g.oy(a)}}q("__config");var b=q("__debug"),g=q("__geometry"),p=q("__obj_util"),D=q("__renderer"),e=q("__subscene"),u=q("__tsr"),n=q("__util"),t=q("__vec3"),m=[e.Db,e.yc,e.hd,e.Pc,e.Ge,e.ee,e.Ad,e.ef,e.Hc,e.He,e.Lf,e.Fe,e.Ee,e.uh],k=new Float32Array(3);a.Ts=function(a){if(-1<m.indexOf(a.type)){for(var b=
  418. !1,k=a.type==e.Pc||a.type==e.ee,g=a.Ha,n=0;n<g.length;n++){for(var t=g[n],p=t.ma,u=!1,E=0;E<p.length;E++){var A=p[E],q=A.pa;if(k)for(var h=0;6>h;h++)a.p.Ug=a.po[h],A.uv[h]=f(A,a),A.uv[h]&&(u=b=!0,c(q));else A.Sb=f(A,a),A.Sb&&(u=b=!0,c(q));a.qa&&(q.pb.kp=!0)}t.Sb=u}a.qa=!1;switch(a.type){case e.Fe:break;default:a.type==e.Db||a.type==e.He||a.type==e.Ad||a.type==e.hd||a.type==e.Pc||b?a.Sb=!0:(a.Sb&&D.clear(a),a.Sb=!1)}}else if(a.qa){g=a.Ha;for(n=0;n<g.length;n++)for(p=g[n].ma,E=0;E<p.length;E++)A=p[E],
  419. q=A.pa,q.pb.kp=!0;a.qa=!1}a.Ow&&e.BP(a)}};fdage.module.__print=function(a){function q(a,b){var c=[];-1<a[0].indexOf("%c")?c.push(a[0].replace("%c","%c"+b+": ")):c.push(b+": "+a[0]);for(var e=1;e<a.length;e++)c.push(a[e]);return c}function f(){p++;var a=q(arguments,"FDAGE ERROR");console.error.apply(console,a)}function c(a){a in e||(e[a]=a,f([a]))}function b(a,b){c(a+"() is deprecated, use "+b+"() instead.")}var g=!1,p=0,D=0,e={};a.lP=function(a){g=a};a.ud=function(){console.log.apply(console,arguments)};a.log=function(){if(g){var a=q(arguments,
  420. "FDAGE LOG");console.log.apply(console,a)}};a.error=f;a.L=c;a.lb=b;a.Tg=function(a,e){switch(1<e.length){case !0:c(a+"() is deprecated, use "+e.slice(0,-1).join("(), ")+"() or "+e[e.length-1]+"() instead.");break;case !1:b(a,e[0])}};a.QK=function(){c('Config option "anaglyph_use" is deprecated, use "stereo" instead.')};a.warn=function(){D++;var a=q(arguments,"FDAGE WARN");console.warn.apply(console,a)};a.info=function(){var a=q(arguments,"FDAGE INFO");console.info.apply(console,a)};a.TK=function(){p++;
  421. var a=q(arguments,"FDAGE EXPORT ERROR");console.error.apply(console,a)};a.UK=function(){D++;var a=q(arguments,"FDAGE EXPORT WARNING");console.warn.apply(console,a)};a.time=function(){g&&console.time.apply(console,arguments)};a.timeEnd=function(){g&&console.timeEnd.apply(console,arguments)};a.group=function(){console.group.apply(console,arguments)};a.groupCollapsed=function(){console.groupCollapsed.apply(console,arguments)};a.groupEnd=function(){console.groupEnd.apply(console,arguments)};a.clear=function(){"function"==
  422. typeof console.clear&&console.clear.apply(console,arguments)};a.mM=function(){return D};a.QL=function(){return p};a.clear_errors_warnings=function(){p=D=0}};fdage.module.print=fdage.module.__print;fdage.module.__reformer=function(a,q){function f(a){switch(a.type){case "VALTORGB":a.color_ramp||(a.color_ramp={elements:[{position:.5,color:[1,1,1,1]}]},b("node Color Ramp",a,"color_ramp"));break;case "CURVE_RGB":a.curve_mapping||(a.curve_mapping={curves_data:[[[0,0],[1,1]],[[0,0],[1,1]],[[0,0],[1,1]],[[0,0],[1,1]]],curves_handle_types:["EXTRAPOLATED","EXTRAPOLATED","EXTRAPOLATED","EXTRAPOLATED"],curve_extend:[["AUTO","AUTO"],["AUTO","AUTO"],["AUTO","AUTO"],["AUTO","AUTO"]]},b("node RGB Curves",a,
  423. "curve_mapping"));break;case "CURVE_VEC":a.curve_mapping||(a.curve_mapping={curves_data:[[[0,0],[1,1]],[[0,0],[1,1]],[[0,0],[1,1]]],curves_handle_types:["EXTRAPOLATED","EXTRAPOLATED","EXTRAPOLATED"],curve_extend:[["AUTO","AUTO"],["AUTO","AUTO"],["AUTO","AUTO"]]},b("node Vector Curves",a,"curve_mapping"));break;case "MAPPING":a.vector_type||(a.vector_type="POINT",b("node Mapping",a,"vector_type"));break;case "MATERIAL":case "MATERIAL_EXT":"alpha"in a||(a.alpha=1,b("node material",a,"alpha"));"darkness"in
  424. a||(a.darkness=1,b("node material",a,"darkness"));"diffuse_toon_size"in a||(a.diffuse_toon_size=.5,b("node material",a,"diffuse_toon_size"));"diffuse_toon_smooth"in a||(a.diffuse_toon_smooth=.1,b("node material",a,"diffuse_toon_smooth"));"diffuse_intensity"in a||(a.diffuse_intensity=1,b("node material",a,"diffuse_intensity"));"use_tangent_shading"in a||(a.use_tangent_shading=!1,b("node material",a,"use_tangent_shading"));"specular_shader"in a||(a.specular_shader="COOKTORR",b("node material",a,"specular_shader"));
  425. "specular_ior"in a||(a.specular_ior=4,b("node material",a,"specular_ior"));"specular_hardness"in a||(a.specular_hardness=50,b("node material",a,"specular_hardness"));"specular_slope"in a||(a.specular_slope=.1,b("node material",a,"specular_slope"));"specular_toon_size"in a||(a.specular_toon_size=.5,b("node material",a,"specular_toon_size"));"specular_toon_smooth"in a||(a.specular_toon_smooth=.1,b("node material",a,"specular_toon_smooth"));"specular_intensity"in a||(a.specular_intensity=.5,b("node material",
  426. a,"specular_intensity"));"diffuse_shader"in a||(a.diffuse_shader="LAMBERT",b("node material",a,"diffuse_shader"));"roughness"in a||(a.roughness=.5,b("node material",a,"roughness"));"diffuse_fresnel"in a||(a.diffuse_fresnel=.1,b("node material",a,"diffuse_fresnel"));"diffuse_fresnel_factor"in a||(a.diffuse_fresnel_factor=.5,b("node material",a,"diffuse_fresnel_factor"));break;case "MATH":case "MIX_RGB":"use_clamp"in a||(a.use_clamp=!1,b("node "+a.type,a,"use_clamp"));break;case "GROUP":a.node_tree_name=
  427. a.node_tree_name.replace(/\.[0-9]{3,}$/g,"");switch(a.node_tree_name){case "CLAMP":case "LEVELS_OF_QUALITY":case "LINEAR_TO_SRGB":case "NORMAL_VIEW":case "PARALLAX":case "REFLECT":case "REFRACTION":case "REPLACE":case "SMOOTHSTEP":case "SRGB_TO_LINEAR":case "TIME":case "TRANSLUCENCY":case "VECTOR_VIEW":a.node_tree_name="FDAGE_"+a.node_tree_name}break;case "VECT_TRANSFORM":"convert_from"in a||(a.convert_from="WORLD",b("node "+a.type,a,"convert_from")),"convert_to"in a||(a.convert_to="WORLD",b("node "+
  428. a.type,a,"convert_to")),"vector_type"in a||(a.vector_type="POINT",b("node "+a.type,a,"vector_type"))}}function c(a){if(a=a.nla_tracks)for(var c=0;c<a.length;c++)for(var d=a[c],e=0;e<d.strips.length;e++){var f=d.strips[e];"action"in f||(f.action=null,b("strip",f,"action"));"action_frame_start"in f||(f.action_frame_start=0,b("strip",f,"action_frame_start"));"action_frame_end"in f||(f.action_frame_end=f.frame_end-f.frame_start,b("strip",f,"action_frame_end"));"repeat"in f||(f.repeat=1,b("strip",f,"repeat"));
  429. "use_reverse"in f||(f.use_reverse=!1,b("strip",f,"use_reverse"));"scale"in f||(f.scale=1,b("strip",f,"scale"))}}function b(a,b,c){c=c+">>"+a;c in x||(x[c]={Ox:[],eD:"undefined",type:a});x[c].Ox.push(b.name)}function g(a,b,c){c=c+">>"+a;c in x||(x[c]={Ox:[],eD:"deprecated",type:a});x[c].Ox.push(b.name)}function p(a){t.warn(a)}function D(a,b){b||(b=a.name+"_COPY");var c=a.materials,d=a.submeshes;a.materials=null;a.submeshes=null;var e=k.Mg(a);a.materials=c;a.submeshes=d;e.name=b;e.materials=a.materials.slice(0);
  430. e.submeshes=[];for(c=0;c<d.length;c++){var f=k.Zn(d[c]);e.submeshes.push(f)}return e}var e=q("__boundings"),u=q("__curve"),n=q("__mat4"),t=q("__print"),m=q("__quat"),k=q("__util"),d=q("__vec3"),y=q("__mat3"),H=q("__logic_nodes"),v=q("__animation"),z=[5,4],x={},M=y.create(),F=m.create();a.$z=function(a){return-1!=k.VE(a,z)};a.MI=function(a){x={};var d=a.worlds;if(0==d.length){t.warn('WARNING Datablock world is missing, reexport "'+a.b4w_filepath_blend+'" scene');var e={name:"DEFAULT",horizon_color:new Float32Array([0,
  431. 0,0]),zenith_color:new Float32Array([0,0,0]),light_settings:{use_environment_light:!1,environment_energy:1,environment_color:"PLAIN"},fog_settings:{use_fog:!1,intensity:0,depth:25,start:5,height:0,falloff:"INVERSE_QUADRATIC",use_custom_color:!0,color:[.5,.5,.5]},use_sky_paper:!1,use_sky_blend:!1,use_sky_real:!1,texture_slots:[]};d.push(e)}for(var d=a.worlds,h=0;h<d.length;h++){e=d[h];"use_sky_blend"in e||(b("world",e,"use_sky_blend"),e.use_sky_blend=!1);"use_sky_paper"in e||(b("world",e,"use_sky_paper"),
  432. e.use_sky_paper=!1);"use_sky_real"in e||(b("world",e,"use_sky_real"),e.use_sky_real=!1);"b4w_sky_settings"in e&&"rayleigh_brightness"in e.b4w_sky_settings||(b("world",e,"rayleigh_brightness"),e.b4w_sky_settings={render_sky:!1,procedural_skydome:!1,use_as_enviroment_map:!1,color:[.24,.43,.75],rayleigh_brightness:3.3,mie_brightness:.1,spot_brightness:10,scatter_strength:.2,rayleigh_strength:.2,mie_strength:.006,rayleigh_collection_power:.5,mie_collection_power:.5,mie_distribution:.4});"fog_settings"in
  433. e||(b("world",e,"fog_settings"),e.fog_settings={use_fog:!1,intensity:0,depth:25,start:0,height:0,falloff:"QUADRATIC",use_custom_color:!0,color:[.5,.5,.5]},"b4w_fog_color"in e&&(e.fog_settings.use_custom_color=!0,e.fog_settings.color=e.b4w_fog_color),"b4w_fog_density"in e&&0<e.b4w_fog_density&&(e.fog_settings.depth=1/e.b4w_fog_density));"render_sky"in e.b4w_sky_settings||(b("world",e,"render_sky"),e.b4w_sky_settings.render_sky=!1);for(var l=e.texture_slots,m=0;m<l.length;m++){var r=l[m];"blend_type"in
  434. r||(r.blend_type="MIX",b("world_texture_slot",r,"blend_type"));"use_map_blend"in r||(r.use_map_blend=!1,b("world_texture_slot",r,"use_map_blend"));"use_map_horizon"in r||(r.use_map_horizon=!0,b("world_texture_slot",r,"use_map_horizon"));"use_map_zenith_up"in r||(r.use_map_zenith_up=!1,b("world_texture_slot",r,"use_map_zenith_up"));"use_rgb_to_intensity"in r||(r.use_rgb_to_intensity=!1,b("world_texture_slot",r,"use_rgb_to_intensity"));"invert"in r||(r.invert=!1,b("world_texture_slot",r,"invert"));
  435. "color"in r||(r.color=[1,0,1],b("world_texture_slot",r,"color"));"blend_factor"in r||(r.blend_factor=0,b("world_texture_slot",r,"blend_factor"));"horizon_factor"in r||(r.horizon_factor=1,b("world_texture_slot",r,"horizon_factor"));"zenith_up_factor"in r||(r.zenith_up_factor=0,b("world_texture_slot",r,"zenith_up_factor"));"zenith_down_factor"in r||(r.zenith_down_factor=0,b("world_texture_slot",r,"zenith_down_factor"));"default_value"in r||(r.default_value=1,b("world_texture_slot",r,"default_value"))}"b4w_use_default_animation"in
  436. e||(b("world",e,"b4w_use_default_animation"),e.b4w_use_default_animation=!1);"b4w_anim_behavior"in e||(b("world",e,"b4w_anim_behavior"),e.b4w_anim_behavior="CYCLIC")}m=a.scenes;for(h=0;h<m.length;h++)l=m[h],r=l.world,"timeline_markers"in l||(l.timeline_markers=null,b("scene",l,"timeline_markers")),"b4w_reflection_quality"in l||(l.b4w_reflection_quality="MEDIUM",b("scene",l,"b4w_reflection_quality")),"b4w_use_nla"in l||(l.b4w_use_nla=!1,b("scene",l,"b4w_use_nla")),"fps"in l||(l.fps=24,b("scene",l,
  437. "fps")),"b4w_nla_cyclic"in l||(l.b4w_nla_cyclic=!1,b("scene",l,"b4w_nla_cyclic")),"b4w_logic_nodes"in l||(l.b4w_logic_nodes=[],b("scene",l,"b4w_logic_nodes")),"b4w_detect_collisions"in l&&(g("scene",l,"b4w_detect_collisions"),delete l.b4w_detect_collisions),"audio_doppler_speed"in l||(l.audio_doppler_speed=343.3),"audio_doppler_factor"in l||(l.audio_doppler_factor=1),"b4w_dynamic_compressor_settings"in l||(l.b4w_dynamic_compressor_settings={threshold:-24,knee:30,ratio:12,attack:.003,release:.25},
  438. b("scene",l,"b4w_dynamic_compressor_settings")),"b4w_enable_convolution_engine"in l||(l.b4w_enable_convolution_engine=!1),"b4w_enable_bloom"in l||(l.b4w_enable_bloom=!1,b("scene",l,"b4w_enable_bloom")),"b4w_enable_motion_blur"in l||(l.b4w_enable_motion_blur=!1,b("scene",l,"b4w_enable_motion_blur")),"b4w_enable_color_correction"in l||(l.b4w_enable_color_correction=!1,b("scene",l,"b4w_enable_color_correction")),"b4w_antialiasing_quality"in l||(l.b4w_antialiasing_quality="MEDIUM",b("scene",l,"b4w_antialiasing_quality")),
  439. "b4w_tags"in l||(l.b4w_tags={title:"",description:""},b("scene",l,"b4w_tags")),"b4w_enable_object_selection"in l||(l.b4w_enable_object_selection="AUTO",b("scene",l,"b4w_enable_object_selection")),"b4w_enable_outlining"in l||(l.b4w_enable_outlining="AUTO",b("scene",l,"b4w_enable_outlining")),"b4w_enable_glow_materials"in l||(l.b4w_enable_glow_materials="AUTO",b("scene",l,"b4w_enable_glow_materials")),"b4w_enable_anchors_visibility"in l||(l.b4w_enable_anchors_visibility="AUTO",b("scene",l,"b4w_enable_anchors_visibility")),
  440. "b4w_outline_color"in l||(l.b4w_outline_color=[1,1,1],b("scene",l,"b4w_outline_color")),"b4w_outline_factor"in l||(l.b4w_outline_factor="b4w_glow_factor"in l?l.b4w_glow_factor:1,b("scene",l,"b4w_outline_factor")),"b4w_shadow_settings"in l||(b("scene",l,"b4w_shadow_settings"),d=r.b4w_shadow_settings,l.b4w_shadow_settings=d?d:{csm_resolution:2048,blur_samples:"16x",self_shadow_polygon_offset:1,b4w_enable_csm:!1,csm_num:1,csm_first_cascade_border:10,first_cascade_blur_radius:3,csm_last_cascade_border:100,
  441. last_cascade_blur_radius:1.5,fade_last_cascade:!0,blend_between_cascades:!0}),d=l.b4w_shadow_settings,"csm_resolution"in d||(b("scene",l,"b4w_shadow_settings.csm_resolution"),d.csm_resolution=2048),"blur_samples"in d||(b("scene",l,"b4w_shadow_settings.blur_samples"),d.blur_samples="16x"),"soft_shadows"in d||(b("scene",l,"b4w_shadow_settings.soft_shadows"),d.soft_shadows=!0),"self_shadow_polygon_offset"in d||(b("scene",l,"b4w_shadow_settings.self_shadow_polygon_offset"),d.self_shadow_polygon_offset=
  442. 1),"self_shadow_normal_offset"in d||(b("scene",l,"b4w_shadow_settings.self_shadow_normal_offset"),d.self_shadow_normal_offset=.01),"b4w_enable_csm"in d||(b("scene",l,"b4w_shadow_settings.b4w_enable_csm"),d.b4w_enable_csm=!1),"csm_num"in d||(b("scene",l,"b4w_shadow_settings.csm_num"),d.csm_num=1),"csm_first_cascade_border"in d||(b("scene",l,"b4w_shadow_settings.csm_first_cascade_border"),d.csm_first_cascade_border=10),"first_cascade_blur_radius"in d||(b("scene",l,"b4w_shadow_settings.first_cascade_blur_radius"),
  443. d.first_cascade_blur_radius=3),"csm_last_cascade_border"in d||(b("scene",l,"b4w_shadow_settings.csm_last_cascade_border"),d.csm_last_cascade_border=100),"last_cascade_blur_radius"in d||(b("scene",l,"b4w_shadow_settings.last_cascade_blur_radius"),d.last_cascade_blur_radius=1.5),"fade_last_cascade"in d||(b("scene",l,"b4w_shadow_settings.fade_last_cascade"),d.fade_last_cascade=!0),"blend_between_cascades"in d||(b("scene",l,"b4w_shadow_settings.blend_between_cascades"),d.blend_between_cascades=!0),"b4w_ssao_settings"in
  444. l||(b("scene",l,"b4w_ssao_settings"),d=r.b4w_ssao_settings,l.b4w_ssao_settings=d?d:{dist_factor:0,samples:16,hemisphere:!1,blur_depth:!1,blur_discard_value:1}),d=l.b4w_ssao_settings,"dist_factor"in d||(b("scene",l,"b4w_ssao_settings.dist_factor"),d.dist_factor=0),"samples"in d||(b("scene",l,"b4w_ssao_settings.samples"),d.samples=16),"hemisphere"in d||(b("scene",l,"b4w_ssao_settings.hemisphere"),d.hemisphere=!1),"blur_depth"in d||(b("scene",l,"b4w_ssao_settings.blur_depth"),d.blur_depth=!1),"blur_discard_value"in
  445. d||(b("scene",l,"b4w_ssao_settings.blur_discard_value"),d.blur_discard_value=1),"b4w_bloom_settings"in l||(b("scene",l,"b4w_bloom_settings"),d=r.b4w_bloom_settings,l.b4w_bloom_settings=d?d:{key:.2,blur:4,edge_lum:1}),"key"in l.b4w_bloom_settings||(b("scene",l,"b4w_bloom_settings.key"),l.b4w_bloom_settings.key=.2),"blur"in l.b4w_bloom_settings||(b("scene",l,"b4w_bloom_settings.blur"),l.b4w_bloom_settings.blur=4),"edge_lum"in l.b4w_bloom_settings||(b("scene",l,"b4w_bloom_settings.edge_lum"),l.b4w_bloom_settings.edge_lum=
  446. 1),"b4w_motion_blur_settings"in l||(b("scene",l,"b4w_motion_blur_settings"),d=r.b4w_motion_blur_settings,l.b4w_motion_blur_settings=d?d:{motion_blur_factor:.01,motion_blur_decay_threshold:.01}),"motion_blur_factor"in l.b4w_motion_blur_settings||(b("scene",l,"b4w_motion_blur_settings.motion_blur_factor"),l.b4w_motion_blur_settings.motion_blur_factor=.01),"motion_blur_decay_threshold"in l.b4w_motion_blur_settings||(b("scene",l,"b4w_motion_blur_settings.motion_blur_decay_threshold"),l.b4w_motion_blur_settings.motion_blur_decay_threshold=
  447. .01),"b4w_color_correction_settings"in l||(b("scene",l,"b4w_color_correction_settings"),d=r.b4w_color_correction_settings,l.b4w_color_correction_settings=d?d:{brightness:0,contrast:0,exposure:1,saturation:1}),"b4w_god_rays_settings"in l||(b("scene",l,"b4w_god_rays_settings"),d=r.b4w_god_rays_settings,l.b4w_god_rays_settings=d?d:{intensity:.7,max_ray_length:1,steps_per_pass:10}),"steps_per_pass"in l.b4w_god_rays_settings||(b("scene",l,"b4w_god_rays_settings.steps_per_pass"),l.b4w_god_rays_settings.steps_per_pass=
  448. 10),"b4w_glow_settings"in l||(b("scene",l,"b4w_glow_settings"),l.b4w_glow_settings={render_glow_over_blend:!1,small_glow_mask_coeff:2,large_glow_mask_coeff:2,small_glow_mask_width:2,large_glow_mask_width:6},d=l.b4w_glow_settings,"b4w_render_glow_over_blend"in r&&(d.render_glow_over_blend=r.b4w_render_glow_over_blend),"b4w_small_glow_mask_coeff"in r&&(d.small_glow_mask_coeff=r.b4w_small_glow_mask_coeff),"b4w_large_glow_mask_coeff"in r&&(d.large_glow_mask_coeff=r.b4w_large_glow_mask_coeff),"b4w_small_glow_mask_width"in
  449. r&&(d.small_glow_mask_width=r.b4w_small_glow_mask_width),"b4w_large_glow_mask_width"in r&&(d.large_glow_mask_width=r.b4w_large_glow_mask_width)),r=l.b4w_render_shadows,"AUTO"!=r&&"OFF"!=r&&"ON"!=r&&(l.b4w_render_shadows=r?"ON":"OFF"),r=l.b4w_render_reflections,"OFF"!=r&&"ON"!=r&&(l.b4w_render_reflections=r?"ON":"OFF"),r=l.b4w_render_refractions,"AUTO"!=r&&"OFF"!=r&&"ON"!=r&&(l.b4w_render_refractions=r?"ON":"OFF"),"b4w_render_dynamic_grass"in l||(b("scene",l,"b4w_render_dynamic_grass"),l.b4w_render_dynamic_grass=
  450. "AUTO"),l.b4w_nla_script&&g("scene",l,"b4w_nla_script"),"audio_distance_model"in l||(b("scene",l,"audio_distance_model"),l.audio_distance_model="INVERSE_CLAMPED");l=a.meshes;for(h=0;h<l.length;h++){r=l[h];r.b4w_boundings||(b("mesh",r,"b4w_boundings"),r.b4w_boundings={},d=r.b4w_boundings,d.bb=r.b4w_bounding_box?r.b4w_bounding_box:{max_x:0,max_y:0,max_z:0,min_x:0,min_y:0,min_z:0},d.bb_src=r.b4w_bounding_box_source?r.b4w_bounding_box_source:r.b4w_bounding_box,d.bs_cen=r.b4w_bounding_sphere_center?r.b4w_bounding_sphere_center:
  451. [0,0,0],d.bc_cen=r.b4w_bounding_cylinder_center?r.b4w_bounding_cylinder_center:[0,0,0],d.be_cen=r.b4w_bounding_ellipsoid_center?r.b4w_bounding_ellipsoid_center:[0,0,0],r.b4w_bounding_ellipsoid_axes?d.be_ax=r.b4w_bounding_ellipsoid_axes:(m=d.bb,d.be_ax=[(m.max_x-m.min_x)/2,(m.max_y-m.min_y)/2,(m.max_z-m.min_z)/2]),r.b4w_rotated_bounding_box?d.rbb=r.b4w_rotated_bounding_box:(m=d.bb,d.rbb={rbb_c:[(m.max_x+m.min_x)/2,(m.max_y+m.min_y)/2,(m.max_z+m.min_z)/2],rbb_s:[1,1,1]}),d.caxis_x=r.b4w_cov_axis_x?
  452. r.b4w_cov_axis_x:[1,0,0],d.caxis_y=r.b4w_cov_axis_y?r.b4w_cov_axis_y:[0,1,0],d.caxis_z=r.b4w_cov_axis_z?r.b4w_cov_axis_z:[0,0,1]);r.uv_textures||(b("mesh",r,"uv_textures"),r.uv_textures=[]);"b4w_shape_keys"in r||(r.b4w_shape_keys=[],b("mesh",r,"b4w_shape_keys"));d=!0;for(e=0;e<r.submeshes.length;e++){var n=r.submeshes[e];"boundings"in n||(d=!1,n.boundings={be_ax:r.b4w_bounding_ellipsoid_axes,be_cen:r.b4w_bounding_ellipsoid_center,bb:{max_x:r.b4w_bounding_box.max_x,max_y:r.b4w_bounding_box.max_y,max_z:r.b4w_bounding_box.max_z,
  453. min_x:r.b4w_bounding_box.min_x,min_y:r.b4w_bounding_box.min_y,min_z:r.b4w_bounding_box.min_z}});"be_ax"in n.boundings||(n.boundings.be_ax=r.b4w_bounding_ellipsoid_axes);"be_cen"in n.boundings||(n.boundings.be_cen=r.b4w_bounding_ellipsoid_center);"bb"in n.boundings||(n.boundings.bb=r.b4w_bounding_box);"rbb"in n.boundings||(m=r.b4w_bounding_box,n.boundings.rbb={rbb_c:[(m.max_x+m.min_x)/2,(m.max_y+m.min_y)/2,(m.max_z+m.min_z)/2],rbb_s:[1,1,1]});"caxis_x"in n.boundings||(n.boundings.caxis_x=[1,0,0]);
  454. "caxis_y"in n.boundings||(n.boundings.caxis_y=[0,1,0]);"caxis_z"in n.boundings||(n.boundings.caxis_z=[0,0,1])}d||b("mesh",r,"submesh_bd");m=r;d=["b4w_apply_scale","b4w_apply_modifiers","b4w_export_edited_normals","b4w_loc_export_vertex_anim","b4w_shape_keys"];e=null;for(n=0;n<d.length;n++)m[d[n]]&&(e?(m[d[n]]=!1,t.warn('WARNING property "'+d[n]+'" of object "'+m.name+'" has been set to "false". Foreground property "'+e+'" already exists.')):e=d[n]);for(m=0;m<r.b4w_vertex_anim.length;m++)d=r.b4w_vertex_anim[m],
  455. "allow_nla"in d||(b('mesh["b4w_vertex_anim"]',r,"allow_nla"),d.allow_nla=!0)}m=a.cameras;for(h=0;h<m.length;h++)l=m[h],l.type||(l.type="PERSP",b("camera",l,"type")),"b4w_eye_target_dist"in l&&(delete l.b4w_eye_target_dist,g("camera",l,"b4w_eye_target_dist")),"b4w_hover_zero_level"in l||(l.b4w_hover_zero_level=0,b("camera",l,"b4w_hover_zero_level")),"b4w_trans_velocity"in l||(l.b4w_trans_velocity=1,b("camera",l,"b4w_trans_velocity")),"b4w_rot_velocity"in l||(l.b4w_rot_velocity=1,b("camera",l,"b4w_rot_velocity")),
  456. "b4w_zoom_velocity"in l||(l.b4w_zoom_velocity=.1,b("camera",l,"b4w_zoom_velocity")),"b4w_use_target_distance_limits"in l||(l.b4w_use_target_distance_limits=l.b4w_use_distance_limits||!1,b("camera",l,"b4w_use_target_distance_limits")),"b4w_use_zooming"in l||(l.b4w_use_zooming=l.b4w_use_distance_limits||!1,b("camera",l,"b4w_use_zooming")),"b4w_distance_min"in l||(l.b4w_distance_min=1,b("camera",l,"b4w_distance_min")),"b4w_distance_max"in l||(l.b4w_distance_max=100,b("camera",l,"b4w_distance_max")),
  457. "b4w_horizontal_translation_min"in l||(l.b4w_horizontal_translation_min=-100,b("camera",l,"b4w_horizontal_translation_min")),"b4w_horizontal_translation_max"in l||(l.b4w_horizontal_translation_max=100,b("camera",l,"b4w_horizontal_translation_max")),"b4w_vertical_translation_min"in l||(l.b4w_vertical_translation_min=-100,b("camera",l,"b4w_vertical_translation_min")),"b4w_vertical_translation_max"in l||(l.b4w_vertical_translation_max=100,b("camera",l,"b4w_vertical_translation_max")),"b4w_use_horizontal_clamping"in
  458. l||(l.b4w_use_horizontal_clamping=!1,b("camera",l,"b4w_use_horizontal_clamping")),"b4w_rotation_left_limit"in l||(l.b4w_rotation_left_limit=-Math.PI,b("camera",l,"b4w_rotation_left_limit")),"b4w_rotation_right_limit"in l||(l.b4w_rotation_right_limit=Math.PI,b("camera",l,"b4w_rotation_right_limit")),"b4w_horizontal_clamping_type"in l||(l.b4w_horizontal_clamping_type="LOCAL",b("camera",l,"b4w_horizontal_clamping_type")),"b4w_use_vertical_clamping"in l||(l.b4w_use_vertical_clamping=!1,b("camera",l,"b4w_use_vertical_clamping")),
  459. "b4w_rotation_down_limit"in l||(l.b4w_rotation_down_limit=-Math.PI/2,b("camera",l,"b4w_rotation_down_limit")),"b4w_rotation_up_limit"in l||(l.b4w_rotation_up_limit=Math.PI/2,b("camera",l,"b4w_rotation_up_limit")),"b4w_vertical_clamping_type"in l||(l.b4w_vertical_clamping_type="LOCAL",b("camera",l,"b4w_vertical_clamping_type")),"b4w_hover_angle_min"in l||(l.b4w_hover_angle_min=Math.PI/6,b("camera",l,"b4w_hover_angle_min")),"b4w_hover_angle_max"in l||(l.b4w_hover_angle_max=Math.PI/6,b("camera",l,"b4w_hover_angle_max")),
  460. "b4w_enable_hover_hor_rotation"in l||(l.b4w_enable_hover_hor_rotation=!0,b("camera",l,"b4w_enable_hover_hor_rotation")),"b4w_use_panning"in l||(l.b4w_use_panning=!0,b("camera",l,"b4w_use_panning")),"b4w_use_pivot_limits"in l||(l.b4w_use_pivot_limits=!1,l.b4w_pivot_z_min=0,l.b4w_pivot_z_max=10,b("camera",l,"b4w_use_pivot_limits")),"b4w_dof_bokeh"in l||(l.b4w_dof_bokeh=!1,b("camera",l,"b4w_dof_bokeh")),"b4w_dof_bokeh_intensity"in l||(l.b4w_dof_bokeh_intensity=.3,b("camera",l,"b4w_dof_bokeh_intensity")),
  461. "b4w_dof_foreground_blur"in l||(l.b4w_dof_foreground_blur=!1,b("camera",l,"b4w_dof_foreground_blur")),"b4w_dof_front_start"in l||(l.b4w_dof_front_start=0,b("camera",l,"b4w_dof_front_start")),"b4w_dof_front_end"in l||(l.b4w_dof_front_end=l.b4w_dof_front,b("camera",l,"b4w_dof_front_end")),"b4w_dof_rear_start"in l||(l.b4w_dof_rear_start=0,b("camera",l,"b4w_dof_rear_start")),"b4w_dof_rear_end"in l||(l.b4w_dof_rear_end=l.b4w_dof_rear,b("camera",l,"b4w_dof_rear_end"));m=a.lamps;for(h=0;h<m.length;h++)l=
  462. m[h],"b4w_generate_shadows"in l||(l.b4w_generate_shadows=!1,b("lamp",l,"b4w_generate_shadows")),"b4w_dynamic_intensity"in l||(l.b4w_dynamic_intensity=!1,b("lamp",l,"b4w_dynamic_intensity")),"use_diffuse"in l||(l.use_diffuse=!0,b("lamp",l,"use_diffuse")),"use_specular"in l||(l.use_specular=!0,b("lamp",l,"use_specular")),"clip_start"in l||(l.clip_start=.1,b("lamp",l,"clip_start")),"clip_end"in l||(l.clip_end=30,b("lamp",l,"clip_end")),"POINT"!=l.type&&"SPOT"!=l.type||"use_sphere"in l||(l.use_sphere=
  463. !1,b("lamp",l,"use_sphere"));m=a.speakers;for(h=0;h<m.length;h++)l=m[h],"b4w_behavior"in l||(l.b4w_behavior=l.b4w_background_music?"BACKGROUND_SOUND":"POSITIONAL"),"b4w_auto_play"in l||(l.b4w_auto_play=!1,b("speaker",l,"b4w_auto_play")),"b4w_enable_doppler"in l||(l.b4w_enable_doppler=!1,b("speaker",l,"b4w_enable_doppler")),"b4w_delay"in l||(l.b4w_delay=0),"b4w_delay_random"in l||(l.b4w_delay_random=0),"b4w_volume_random"in l||(l.b4w_volume_random=0),"b4w_pitch_random"in l||(l.b4w_pitch_random=0),
  464. "b4w_fade_in"in l||(l.b4w_fade_in=0),"b4w_fade_out"in l||(l.b4w_fade_out=0),"b4w_loop"in l||(l.b4w_loop=!1),"b4w_loop_start"in l||(l.b4w_loop_start=0,b("speaker",l,"b4w_loop_start")),"b4w_loop_end"in l||(l.b4w_loop_end=0,b("speaker",l,"b4w_loop_end")),l.animation_data&&c(l.animation_data);m=a.textures;for(h=0;h<m.length;h++)l=m[h],"b4w_anisotropic_filtering"in l||(l.b4w_anisotropic_filtering="OFF",b("texture",l,"b4w_anisotropic_filtering")),"b4w_water_foam"in l||(l.b4w_water_foam=!1,b("texture",l,
  465. "b4w_water_foam")),"b4w_foam_uv_freq"in l||(l.b4w_foam_uv_freq=[1,1],b("texture",l,"b4w_foam_uv_freq")),"b4w_foam_uv_magnitude"in l||(l.b4w_foam_uv_magnitude=[1,1],b("texture",l,"b4w_foam_uv_magnitude")),"b4w_parallax_steps"in l||(l.b4w_parallax_steps=5,b("material",l,"b4w_parallax_steps")),"b4w_parallax_lod_dist"in l||(l.b4w_parallax_lod_dist=10,b("material",l,"b4w_parallax_lod_dist")),"b4w_shore_dist_map"in l||(l.b4w_shore_dist_map=!1,b("texture",l,"b4w_shore_dist_map")),"b4w_shore_boundings"in
  466. l||(l.b4w_shore_boundings=[1E3,-1E3,1E3,-1E3],b("texture",l,"b4w_shore_boundings")),"b4w_max_shore_dist"in l||(l.b4w_max_shore_dist=100,b("texture",l,"b4w_max_shore_dist")),"b4w_disable_compression"in l||(l.b4w_disable_compression=!1,b("texture",l,"b4w_disable_compression")),"b4w_source_type"in l||(l.b4w_source_type="",b("texture",l,"b4w_source_type")),"b4w_source_id"in l||(l.b4w_source_id="",b("texture",l,"b4w_source_id")),"b4w_source_size"in l||(l.b4w_source_size=1024,b("texture",l,"b4w_source_size")),
  467. "b4w_enable_canvas_mipmapping"in l||(l.b4w_enable_canvas_mipmapping=!0,b("texture",l,"b4w_enable_canvas_mipmapping")),"b4w_nla_video"in l||(l.b4w_nla_video=!1,b("texture",l,"b4w_nla_video"));m=a.images;for(h=0;h<m.length;h++)l=m[h],"colorspace_settings_name"in l||(l.colorspace_settings_name="sRGB",b("image",l,"colorspace_settings_name"));d=a.materials;for(h=0;h<d.length;h++){e=d[h];"ALPHA_ANTIALIASING"==e.game_settings.alpha_blend&&(e.game_settings.alpha_blend="CLIP");"use_tangent_shading"in e||(e.use_tangent_shading=
  468. !1,b("material",e,"use_tangent_shading"));"b4w_node_mat_type"in e&&g("material",e,"b4w_node_mat_type");"b4w_skydome"in e&&g("material",e,"b4w_skydome");"b4w_procedural_skydome"in e&&g("material",e,"b4w_procedural_skydome");"b4w_lens_flares"in e||(e.b4w_lens_flares=!1,b("material",e,"b4w_lens_flares"));"LENS_FLARES"===e.name&&(e.b4w_lens_flares||t.warn('"LENS_FLARES" material name has been found. Enable the "Lens Flare" property for this material.'),e.b4w_lens_flares=!0);e.b4w_water&&("b4w_water_shore_smoothing"in
  469. e||(e.b4w_water_shore_smoothing=!1,b("material",e,"b4w_water_shore_smoothing")),"b4w_water_dynamic"in e||(e.b4w_water_dynamic=!1,b("material",e,"b4w_water_dynamic")),"b4w_waves_height"in e||(e.b4w_waves_height=1,b("material",e,"b4w_waves_height")),"b4w_waves_length"in e||(e.b4w_waves_length=1,b("material",e,"b4w_waves_length")),"b4w_water_dst_noise_scale0"in e||(e.b4w_water_dst_noise_scale0=.05,b("material",e,"b4w_water_dst_noise_scale0")),"b4w_water_dst_noise_scale1"in e||(e.b4w_water_dst_noise_scale1=
  470. .03,b("material",e,"b4w_water_dst_noise_scale1")),"b4w_water_dst_noise_freq0"in e||(e.b4w_water_dst_noise_freq0=1.3,b("material",e,"b4w_water_dst_noise_freq0")),"b4w_water_dst_noise_freq1"in e||(e.b4w_water_dst_noise_freq1=1,b("material",e,"b4w_water_dst_noise_freq1")),"b4w_water_dir_min_shore_fac"in e||(e.b4w_water_dir_min_shore_fac=.4,b("material",e,"b4w_water_dir_min_shore_fac")),"b4w_water_dir_freq"in e||(e.b4w_water_dir_freq=.5,b("material",e,"b4w_water_dir_freq")),"b4w_water_dir_noise_scale"in
  471. e||(e.b4w_water_dir_noise_scale=.05,b("material",e,"b4w_water_dir_noise_scale")),"b4w_water_dir_noise_freq"in e||(e.b4w_water_dir_noise_freq=.07,b("material",e,"b4w_water_dir_noise_freq")),"b4w_water_dir_min_noise_fac"in e||(e.b4w_water_dir_min_noise_fac=.5,b("material",e,"b4w_water_dir_min_noise_fac")),"b4w_water_dst_min_fac"in e||(e.b4w_water_dst_min_fac=.2,b("material",e,"b4w_water_dst_min_fac")),"b4w_water_waves_hor_fac"in e||(e.b4w_water_waves_hor_fac=5,b("material",e,"b4w_water_waves_hor_fac")),
  472. "b4w_water_absorb_factor"in e||(e.b4w_water_absorb_factor=6,b("material",e,"b4w_water_absorb_factor")),"b4w_water_fog_color"in e||(e.b4w_water_fog_color=[.5,.7,.7],b("material",e,"b4w_water_fog_color")),"b4w_foam_factor"in e||(e.b4w_foam_factor=5,b("material",e,"b4w_foam_factor")),"b4w_generated_mesh"in e||(e.b4w_generated_mesh=!1,b("material",e,"b4w_generated_mesh")),"b4w_water_num_cascads"in e||(e.b4w_water_num_cascads=5,b("material",e,"b4w_water_num_cascads")),"b4w_water_subdivs"in e||(e.b4w_water_subdivs=
  473. 64,b("material",e,"b4w_water_subdivs")),"b4w_water_detailed_dist"in e||(e.b4w_water_detailed_dist=1E3,b("material",e,"b4w_water_detailed_dist")),"b4w_water_enable_caust"in e||(e.b4w_water_enable_caust=!1,b("material",e,"b4w_water_enable_caust")),"b4w_water_caust_scale"in e||(e.b4w_water_caust_scale=.25,b("material",e,"b4w_water_caust_scale")),"b4w_water_caust_brightness"in e||(e.b4w_water_caust_brightness=.5,b("material",e,"b4w_water_caust_brightness")));"b4w_dynamic_grass_size"in e||(e.b4w_dynamic_grass_size=
  474. "");"b4w_dynamic_grass_color"in e||(e.b4w_dynamic_grass_color="");"diffuse_intensity"in e||(e.diffuse_intensity=1,b("material",e,"diffuse_intensity"));"b4w_use_ghost"in e||(e.b4w_use_ghost=!1);"b4w_collision_margin"in e||(e.b4w_collision_margin=.04,b("material",e,"b4w_collision_margin"));"b4w_collision_group"in e||(e.b4w_collision_group=128,b("material",e,"b4w_collision_group"));"b4w_collision_mask"in e||(e.b4w_collision_mask=127,b("material",e,"b4w_collision_mask"));"b4w_do_not_render"in e||(e.b4w_do_not_render=
  475. !1,b("material",e,"b4w_do_not_render"));"HALO"!=e.type||"b4w_halo_sky_stars"in e||(e.b4w_halo_sky_stars=!1,b("material",e,"b4w_halo_sky_stars"));"HALO"!=e.type||"b4w_halo_stars_blend_height"in e||(e.b4w_halo_stars_blend_height=10,b("material",e,"b4w_halo_stars_blend_height"));"HALO"!=e.type||"b4w_halo_stars_min_height"in e||(e.b4w_halo_stars_min_height=0,b("material",e,"b4w_halo_stars_min_height"));"specular_shader"in e||(e.specular_shader="COOKTORR",b("material",e,"specular_shader"));"diffuse_shader"in
  476. e||(e.diffuse_shader="LAMBERT",b("material",e,"diffuse_shader"));"roughness"in e||(e.roughness=.5,b("material",e,"roughness"));"diffuse_fresnel"in e||(e.diffuse_fresnel=.1,b("material",e,"diffuse_fresnel"));"diffuse_fresnel_factor"in e||(e.diffuse_fresnel_factor=.5,b("material",e,"diffuse_fresnel_factor"));"specular_slope"in e||(e.specular_slope=.2,b("material",e,"specular_slope"));"specular_toon_size"in e||(e.specular_toon_size=.5,b("material",e,"specular_toon_size"));"specular_toon_smooth"in e||
  477. (e.specular_toon_smooth=.1,b("material",e,"specular_toon_smooth"));"specular_alpha"in e||(e.specular_alpha=1,b("material",e,"specular_alpha"));"b4w_wettable"in e||(e.b4w_wettable=!1,b("material",e,"b4w_wettable"));"b4w_refractive"in e||(e.b4w_refractive=!1,b("material",e,"b4w_refractive"));"b4w_refr_bump"in e||(e.b4w_refr_bump=0,b("material",e,"b4w_refr_bump"));"b4w_shallow_water_col"in e||(e.b4w_shallow_water_col=[0,.8,.3],b("material",e,"b4w_shallow_water_col"));"b4w_shore_water_col"in e||(e.b4w_shore_water_col=
  478. [0,.9,.2],b("material",e,"b4w_shore_water_col"));"b4w_shallow_water_col_fac"in e||(e.b4w_shallow_water_col_fac=1,b("material",e,"b4w_shallow_water_col_fac"));"b4w_shore_water_col_fac"in e||(e.b4w_shore_water_col_fac=.5,b("material",e,"b4w_shore_water_col_fac"));"b4w_water_sss_strength"in e||(e.b4w_water_sss_strength=5.9,b("material",e,"b4w_water_sss_strength"));"b4w_water_sss_width"in e||(e.b4w_water_sss_width=.45,b("material",e,"b4w_water_sss_width"));"b4w_render_above_all"in e||(e.b4w_render_above_all=
  479. !1,b("material",e,"b4w_render_above_all"));"b4w_water_norm_uv_velocity"in e||(e.b4w_water_norm_uv_velocity=.05,b("material",e,"b4w_water_norm_uv_velocity"));"specular_ior"in e||(e.specular_ior=1,b("material",e,"specular_ior"));"darkness"in e||(e.darkness=0,b("material",e,"darkness"));"diffuse_toon_size"in e||(e.diffuse_toon_size=0,b("material",e,"diffuse_toon_size"));"diffuse_toon_smooth"in e||(e.diffuse_toon_smooth=0,b("material",e,"diffuse_toon_smooth"));"pass_index"in e||(e.pass_index=0,b("material",
  480. e,"pass_index"));l=e.texture_slots;for(m=0;m<l.length;m++)r=l[m],"blend_type"in r||(r.blend_type="MIX",b("texture_slot",r,"blend_type"));if(e.node_tree){l=e.node_tree.nodes;for(m=0;m<l.length;m++)f(l[m]);e.node_tree.animation_data&&c(e.node_tree.animation_data)}}r=a.node_groups;for(h=0;h<r.length;h++)for(l=r[h].node_tree.nodes,m=0;m<l.length;m++)f(l[m]);l=a.objects;for(h=0;h<l.length;h++){r=l[h];switch(r.type){case "MESH":"b4w_dynamic_geometry"in r||(r.b4w_dynamic_geometry=!1);"b4w_reflexible"in r||
  481. (r.b4w_reflexible=!1);"b4w_reflexible_only"in r||(r.b4w_reflexible_only=!1);"b4w_reflective"in r||(r.b4w_reflective=!1);"b4w_reflection_type"in r||(r.b4w_reflection_type="PLANE",b("object",r,"b4w_reflection_type"));"b4w_wind_bending"in r||(r.b4w_wind_bending=!1,b("object",r,"b4w_wind_bending"));"b4w_wind_bending_angle"in r||(r.b4w_wind_bending_angle=10,r.b4w_wind_bending_freq=.25,b("object",r,"wind bending params"));"b4w_detail_bending_amp"in r||(r.b4w_detail_bending_amp=.1,r.b4w_branch_bending_amp=
  482. .3,b("object",r,"detail bending params"));"b4w_detail_bending_freq"in r||(r.b4w_detail_bending_freq=1,b("object",r,"b4w_detail_bending_freq"));"b4w_main_bend_stiffness_col"in r||(r.b4w_main_bend_stiffness_col="",b("object",r,"b4w_main_bend_stiffness_col"));"b4w_detail_bend_colors"in r||(r.b4w_detail_bend_colors={leaves_stiffness_col:"",leaves_phase_col:"",overall_stiffness_col:""},b("object",r,"b4w_detail_bend_colors"));"b4w_caustics"in r||(r.b4w_caustics=!1);"vertex_groups"in r&&r.vertex_groups.length&&
  483. r.data&&0==r.data.vertex_groups.length&&(r.data.vertex_groups=r.vertex_groups,delete r.vertex_groups,b("object",r,"vertex_groups"));"b4w_vertex_anim"in r&&r.b4w_vertex_anim.length&&r.data&&0==r.data.b4w_vertex_anim.length&&(r.data.b4w_vertex_anim=r.b4w_vertex_anim,delete r.b4w_vertex_anim,b("object",r,"b4w_vertex_anim"));"b4w_do_not_render"in r||(r.b4w_do_not_render=!1);"b4w_hidden_on_load"in r||(r.b4w_hidden_on_load=!1);"use_ghost"in r.game||(r.game.use_ghost=!1);"use_sleep"in r.game||(r.game.use_sleep=
  484. !1);"velocity_min"in r.game||(r.game.velocity_min=0);"velocity_max"in r.game||(r.game.velocity_max=0);"collision_group"in r.game||(r.game.collision_group=1);"collision_mask"in r.game||(r.game.collision_mask=255);m=r;d=m.game;e=d.collision_bounds_type;d.use_collision_bounds&&"BOX"!=e&&"CYLINDER"!=e&&"CONE"!=e&&"SPHERE"!=e&&"CAPSULE"!=e&&"EMPTY"!=e&&(t.error("Wrong collision bounds type "+e+". Disable physics for object "+m.name),m.b4w_collision=!1,m.b4w_floating=!1,m.b4w_vehicle=!1,m.b4w_character=
  485. !1);"b4w_vehicle_settings"in r?r.b4w_vehicle_settings&&("steering_ratio"in r.b4w_vehicle_settings||(r.b4w_vehicle_settings.steering_ratio=10),"steering_max"in r.b4w_vehicle_settings||(r.b4w_vehicle_settings.steering_max=1),"inverse_control"in r.b4w_vehicle_settings||(r.b4w_vehicle_settings.inverse_control=!1),"force_max"in r.b4w_vehicle_settings||(r.b4w_vehicle_settings.force_max=1500),"brake_max"in r.b4w_vehicle_settings||(r.b4w_vehicle_settings.brake_max=100),"speed_ratio"in r.b4w_vehicle_settings||
  486. (r.b4w_vehicle_settings.speed_ratio=.027),"max_speed_angle"in r.b4w_vehicle_settings||(r.b4w_vehicle_settings.max_speed_angle=Math.PI),"delta_tach_angle"in r.b4w_vehicle_settings||(r.b4w_vehicle_settings.delta_tach_angle=4.43),"suspension_compression"in r.b4w_vehicle_settings||(r.b4w_vehicle_settings.suspension_compression=4.4),"suspension_stiffness"in r.b4w_vehicle_settings||(r.b4w_vehicle_settings.suspension_stiffness=20),"suspension_damping"in r.b4w_vehicle_settings||(r.b4w_vehicle_settings.suspension_damping=
  487. 2.3),"wheel_friction"in r.b4w_vehicle_settings||(r.b4w_vehicle_settings.wheel_friction=1E3),"roll_influence"in r.b4w_vehicle_settings||(r.b4w_vehicle_settings.roll_influence=.1),"max_suspension_travel_cm"in r.b4w_vehicle_settings||(r.b4w_vehicle_settings.max_suspension_travel_cm=30),"floating_factor"in r.b4w_vehicle_settings||(r.b4w_vehicle_settings.floating_factor=3),"floating_factor"in r.b4w_vehicle_settings||(r.b4w_vehicle_settings.floating_factor=3),"water_lin_damp"in r.b4w_vehicle_settings||
  488. (r.b4w_vehicle_settings.water_lin_damp=.9),"water_rot_damp"in r.b4w_vehicle_settings||(r.b4w_vehicle_settings.water_rot_damp=.9)):(r.b4w_vehicle_settings=null,b("object",r,"b4w_vehicle_settings"));"b4w_floating_settings"in r?r.b4w_floating_settings&&("floating_factor"in r.b4w_floating_settings||(r.b4w_floating_settings.floating_factor=3),"water_lin_damp"in r.b4w_floating_settings||(r.b4w_floating_settings.water_lin_damp=.8),"water_rot_damp"in r.b4w_floating_settings||(r.b4w_floating_settings.water_rot_damp=
  489. .8)):(r.b4w_floating_settings=null,b("object",r,"b4w_floating_settings"));"b4w_character_settings"in r?r.b4w_character_settings&&("walk_speed"in r.b4w_character_settings||(r.b4w_character_settings.walk_speed=4),"run_speed"in r.b4w_character_settings||(r.b4w_character_settings.run_speed=8),"step_height"in r.b4w_character_settings||(r.b4w_character_settings.step_height=.25),"jump_strength"in r.b4w_character_settings||(r.b4w_character_settings.jump_strength=5),"waterline"in r.b4w_character_settings||
  490. (r.b4w_character_settings.waterline=0)):(r.b4w_character_settings=null,b("object",r,"b4w_character_settings"));"b4w_selectable"in r||(r.b4w_selectable=!1,b("object",r,"b4w_selectable"));"b4w_outlining"in r||(r.b4w_outlining=!1,b("object",r,"b4w_outlining"));"b4w_outline_on_select"in r||(r.b4w_outline_on_select=!1,b("object",r,"b4w_outline_on_select"));"b4w_billboard"in r||(r.b4w_billboard=!1,b("object",r,"b4w_billboard"));"b4w_billboard_geometry"in r||(r.b4w_billboard_geometry="SPHERICAL",b("object",
  491. r,"b4w_billboard_geometry"));"b4w_pres_glob_orientation"in r||(r.b4w_pres_glob_orientation=!1,b("object",r,"b4w_pres_glob_orientation"));"b4w_outline_settings"in r||("b4w_glow_settings"in r?r.b4w_outline_settings=r.b4w_glow_settings:(r.b4w_outline_settings={},r.b4w_outline_settings.outline_duration=1,r.b4w_outline_settings.outline_period=1,r.b4w_outline_settings.outline_relapses=0),b("object",r,"b4w_outline_settings"));"b4w_lod_transition"in r||(r.b4w_lod_transition=.01,b("object",r,"b4w_lod_transition"));
  492. "lod_levels"in r||(r.lod_levels=[],b("object",r,"lod_levels"));"b4w_animation_mixing"in r||(r.b4w_animation_mixing=!1,b("object",r,"b4w_animation_mixing"));break;case "EMPTY":"b4w_anchor"in r||(r.b4w_anchor=null,b("object",r,"b4w_anchor")),!r.b4w_anchor||"max_width"in r.b4w_anchor||(r.b4w_anchor.max_width=250)}"collision_margin"in r.game||(r.game.collision_margin=.04,b("object",r,"collision_margin"));"b4w_anim_behavior"in r||(r.b4w_anim_behavior=r.b4w_cyclic_animation?"CYCLIC":"FINISH_STOP",b("object",
  493. r,"b4w_anim_behavior"));if(!("rotation_quaternion"in r)){m=[0,0,0,1];k.euler_to_quat(r.rotation_euler,m);var d=m,e=m[0],n=m[1],B=m[2];d[0]=m[3];d[1]=e;d[2]=n;d[3]=B;r.rotation_quaternion=m;b("object",r,"rotation_quaternion")}"webgl_do_not_batch"in r&&(r.b4w_do_not_batch=r.webgl_do_not_batch)&&g("object",r,"webgl_do_not_batch");"b4w_shadow_cast_only"in r||(r.b4w_shadow_cast_only=!1,b("object",r,"b4w_shadow_cast_only"));"b4w_correct_bounding_offset"in r||(r.b4w_correct_bounding_offset="AUTO",b("object",
  494. r,"b4w_correct_bounding_offset"));d=r.particle_systems;for(m=0;m<d.length;m++)e=d[m],n=e.settings,"use_rotation_dupli"in n||(n.use_rotation_dupli=!1,b("particle_settings",n,"use_rotation_dupli")),"use_whole_group"in n||(n.use_whole_group=!1,b("particle_settings",n,"use_whole_group")),e.transforms||(e.transforms=new Float32Array,b("particle_system",e,"transforms")),"b4w_billboard_align"in n||(n.b4w_billboard_align="VIEW",b("particle_settings",n,"b4w_billboard_align")),"b4w_dynamic_grass"in n||(n.b4w_dynamic_grass=
  495. !1,b("object",n,"b4w_dynamic_grass")),"b4w_dynamic_grass_scale_threshold"in n||(n.b4w_dynamic_grass_scale_threshold=.01,b("object",n,"b4w_dynamic_grass_scale_threshold")),"b4w_initial_rand_rotation"in n||(n.b4w_initial_rand_rotation=!1,b("particle_settings",n,"b4w_initial_rand_rotation")),"b4w_rotation_type"in n||(n.b4w_rotation_type="Z",b("particle_settings",n,"b4w_rotation_type")),"b4w_rand_rotation_strength"in n||(n.b4w_rand_rotation_strength=1,b("particle_settings",n,"b4w_rand_rotation_strength")),
  496. "b4w_hair_billboard"in n||(n.b4w_hair_billboard=!1,b("particle_settings",n,"b4w_hair_billboard")),"b4w_hair_billboard_type"in n||(n.b4w_hair_billboard_type="BASIC",b("particle_settings",n,"b4w_hair_billboard_type")),"b4w_hair_billboard_jitter_amp"in n||(n.b4w_hair_billboard_jitter_amp=0,b("particle_settings",n,"b4w_hair_billboard_jitter_amp")),"b4w_hair_billboard_jitter_freq"in n||(n.b4w_hair_billboard_jitter_freq=0,b("particle_settings",n,"b4w_hair_billboard_jitter_freq")),"b4w_hair_billboard_geometry"in
  497. n||(n.b4w_hair_billboard_geometry="SPHERICAL",b("particle_settings",n,"b4w_hair_billboard_geometry")),"b4w_wind_bend_inheritance"in n||(n.b4w_wind_bend_inheritance="PARENT",b("particle_settings",n,"b4w_wind_bend_inheritance")),"b4w_shadow_inheritance"in n||(n.b4w_shadow_inheritance="PARENT",b("particle_settings",n,"b4w_shadow_inheritance")),"b4w_reflection_inheritance"in n||(n.b4w_reflection_inheritance="PARENT",b("particle_settings",n,"b4w_reflection_inheritance")),"b4w_vcol_from_name"in n||(n.b4w_vcol_from_name=
  498. "",b("particle_settings",n,"b4w_vcol_from_name")),"b4w_vcol_to_name"in n||(n.b4w_vcol_to_name="",b("particle_settings",n,"b4w_vcol_to_name")),"b4w_coordinate_system"in n||(n.b4w_coordinate_system="LOCAL",b("particle_settings",n,"b4w_coordinate_system")),"b4w_allow_nla"in n||(n.b4w_allow_nla=!0,b("particle_settings",n,"b4w_allow_nla")),"b4w_enable_soft_particles"in n||(n.b4w_enable_soft_particles=!1,b("particle_settings",n,"b4w_enable_soft_particles")),"b4w_particles_softness"in n||(n.b4w_particles_softness=
  499. 1,b("particle_settings",n,"b4w_particles_softness")),"billboard_tilt"in n||(n.billboard_tilt=0,b("particle_settings",n,"billboard_tilt")),"billboard_tilt_random"in n||(n.billboard_tilt_random=0,b("particle_settings",n,"billboard_tilt_random")),"use_rotations"in n||(n.use_rotations=!1,b("particle_settings",n,"use_rotations"));"constraints"in r||(r.constraints=[],b("object",r,"constraints"));d=r.modifiers;for(m=0;m<d.length;m++){a:{e=d[m];switch(e.type){case "ARRAY":if(!("fit_type"in e)){t.error("WARNING Incomplete modifier "+
  500. String(e.type)+' for "'+r.name+'", reexport "'+a.b4w_filepath_blend+'" scene');e=!1;break a}}e=!0}e||(d.splice(m,1),m--)}"animation_data"in r||(r.animation_data={action:null,nla_tracks:[]},b("object",r,"animation_data"));r.animation_data&&("action"in r.animation_data||(r.animation_data.action=null,p("no action in animation data "+r.name)),"nla_tracks"in r.animation_data||(r.animation_data.nla_tracks=[],p("no NLA in animation data "+r.name)),c(r.animation_data));"b4w_collision_id"in r||(r.b4w_collision_id=
  501. "",b("object",r,"b4w_collision_id"));"b4w_viewport_alignment"in r||(r.b4w_viewport_alignment=null,b("object",r,"b4w_viewport_alignment"));"pinverse_tsr"in r||(r.pinverse_tsr=null,b("object",r,"pinverse_tsr"));"b4w_cluster_data"in r||(r.b4w_cluster_data={cluster_id:-1,cluster_center:null,cluster_radius:0},b("object",r,"b4w_cluster_data"));"pass_index"in r||(r.pass_index=0,b("object",r,"pass_index"));(0>r.scale[0]||0>r.scale[1]||0>r.scale[2])&&p('negative scale for object "'+r.name+'", can lead to some errors');
  502. m=r.scale;0==m[0]&&0==m[1]&&0==m[2]?m=!0:(d=Math.abs((m[1]-m[2])/m[1]),m=.005>Math.abs((m[0]-m[1])/m[0])&&.005>d);m||p("non-uniform scale for object "+r.name)}for(var u in x)h=x[u],m=u.match(/.*?(?=>>|$)/i)[0],t.warn('Property "'+String(m)+'" is '+h.eD+' for "'+h.type+'". To fix this, reexport '+a.b4w_filepath_blend)};a.JI=function(a,b){"num_channels"in a||(a.num_channels=1,p('FDAGE Warning: no channels number in animation fcurve for "'+b.name+'" action, reexport scene'))};a.SH=function(a){var b;a:{b=
  503. a.modifiers;for(var c=0;c<b.length;c++){var f=b[c].type;if("ARRAY"==f||"CURVE"==f){b=!0;break a}}b=!1}if(!b)return null;b=D(a.data,a.data.name+"_MOD");a=a.modifiers;for(c=0;c<a.length;c++){var l=a[c];switch(l.type){case "ARRAY":for(var f=b,g=l,r=0,t=0,p=0,v=new Float32Array(16),l=[],z=1;z<g.count;z++){g.use_constant_offset&&(r+=g.constant_offset_displace[0],t+=g.constant_offset_displace[1],p+=g.constant_offset_displace[2]);if(g.use_relative_offset)var x=f.b4w_bounding_box,r=r+(x.max_x-x.min_x)*g.relative_offset_displace[0],
  504. t=t+(x.max_y-x.min_y)*g.relative_offset_displace[1],p=p+(x.max_z-x.min_z)*g.relative_offset_displace[2];k.bQ(r,t,p,v);for(var q=x=D(f),H=v,W=y.fromMat4(H,M),W=m.fromMat3(W,F),V=0;V<q.submeshes.length;V++){var ka=q.submeshes[V];k.ym(ka.position,H,ka.position,0);k.XC(ka.tbn_quat,W,ka.tbn_quat,0)}l.push(x)}for(z=0;z<l.length;z++)for(g=f,r=l[z],t=0;t<g.submeshes.length;t++){p=g.submeshes[t];v=r.submeshes[t];x=p.base_length;q=p.indices.length;p.base_length+=v.base_length;for(var ja in p)if("base_length"!=
  505. ja&&"boundings"!=ja)if("indices"==ja)for(p[ja]=k.iQ(p[ja],v[ja]),H=q;H<p.indices.length;H++)p.indices[H]+=x;else"vertex_colors"!=ja&&(p[ja]=k.hL(p[ja],v[ja]))}break;case "CURVE":for(f=b,z=u.OJ(l.object),g=new Float32Array(16),t=z.Ri?4:3,r=new Float32Array(t),t=new Float32Array(t),p=new Float32Array(3),v=new Float32Array(4),x=new Float32Array(4),q=new Float32Array(3),H=new Float32Array(3),W=new Float32Array(3),new Float32Array(4),new Float32Array(4),V=0;V<f.submeshes.length;V++){var T=f.submeshes[V],
  506. ka=T.position,T=T.tbn_quat,U;a:{U=l.deform_axis;switch(U){case "POS_X":case "NEG_X":U=0;break a;case "POS_Y":case "NEG_Y":U=1;break a;case "POS_Z":case "NEG_Z":U=2;break a;default:k.q("Wrong deform axis value "+U)}U=void 0}q[0]=0;q[1]=0;q[2]=0;q[U]=1;for(var ia=u.MP(z),G=0;G<ka.length/3;G++){W[0]=ka[3*G];W[1]=ka[3*G+1];W[2]=ka[3*G+2];var qa=W[U],aa=u.LP(z,qa);u.NP(z,aa,r);p[0]=r[0];p[1]=r[1];p[2]=r[2];u.KP(z,aa,t);H[0]=t[0];H[1]=0;H[2]=t[2];d.normalize(H,H);m.rotationTo(q,H,v);0>qa?(r[0]=H[0],r[1]=
  507. H[1],r[2]=H[2],d.scale(r,qa,r),d.add(p,r,p)):qa>ia&&(r[0]=H[0],r[1]=H[1],r[2]=H[2],d.scale(r,qa-ia,r),d.add(p,r,p));n.fromRotationTranslation(v,p,g);z.Ri&&(m.setAxisAngle(q,r[3],x),d.transformQuat(W,x,W));W[U]=0;d.transformMat4(W,g,W);ka[3*G]=W[0];ka[3*G+1]=W[1];ka[3*G+2]=W[2];T.length&&(F[0]=T[4*G],F[1]=T[4*G+1],F[2]=T[4*G+2],F[3]=T[4*G+3],m.multiply(F,v,F),T[4*G]=F[0],T[4*G+1]=F[1],T[4*G+2]=F[2],T[4*G+3]=F[3])}}}e.jO(b)}return b};a.EJ=function(){return{name:"DEFAULT",uuid:k.Hv(),use_nodes:!1,diffuse_shader:"LAMBERT",
  508. diffuse_color:[.8,.8,.8],diffuse_intensity:.8,alpha:1,raytrace_transparency:{fresnel:0,fresnel_factor:1.25},raytrace_mirror:{reflect_factor:0,fresnel:0,fresnel_factor:1.25},specular_alpha:1,specular_color:[1,1,1],specular_intensity:.5,specular_shader:"COOKTORR",specular_hardness:50,specular_slope:.2,emit:0,ambient:1,use_vertex_color_paint:!1,b4w_water:!1,b4w_water_shore_smoothing:!1,b4w_water_dynamic:!1,b4w_generated_mesh:!1,b4w_refr_bump:0,b4w_refractive:!1,b4w_waves_height:1,b4w_water_fog_color:[.5,
  509. .5,.5],b4w_water_fog_density:.06,b4w_water_num_cascads:5,b4w_water_subdivs:64,b4w_water_detailed_dist:1E3,b4w_terrain:!1,b4w_collision:!1,b4w_collision_id:"",b4w_double_sided_lighting:!1,b4w_water_enable_caust:!1,b4w_water_caust_scale:.25,b4w_water_caust_brightness:.5,physics:{friction:.5,elasticity:0},type:"SURFACE",use_transparency:!1,use_shadeless:!1,offset_z:0,b4w_render_above_all:!1,game_settings:{alpha_blend:"OPAQUE",use_backface_culling:!0},halo:{size:.5,hardness:50,b4w_halo_rings_color:[1,
  510. 1,1],b4w_halo_lines_color:[1,1,1],b4w_halo_stars_blend_height:10,b4w_halo_stars_min_height:0},node_tree:null,texture_slots:[],pass_index:0}};a.XH=function(a,b){function c(b,d){for(var e in b){var f=b[e],h=f[0];if(1<f.length)for(var k=1;k<f.length;k++)h+="*"+f[k];for(k=0;k<a.length;k++)if(f=a[k],f.name==h)for(var m in d)f[m]=d[m]}}for(var d=b.b4w_logic_nodes,e=0;e<d.length;e++)for(var f=d[e],m=0;m<f.length;m++){var k=f[m],g={register1:"variable1",register2:"variable2",registerd:"variabled"},n;for(n in g)n in
  511. k&&(k[g[n]]=k[n]);for(var t in k.variables)"boolean"!=typeof k.variables[t][0]&&(k.variables[t]=[!1,k.variables[t]]);0<=["MATH","CONDJUMP","PAGEPARAM","REGSTORE"].indexOf(k.type)&&("variable1"in k&&(k.variables.v1=[!1,k.variable1]),"variable2"in k&&(k.variables.v2=[!1,k.variable2]),"variabled"in k&&(k.variables.vd=[!1,k.variabled]));switch(k.type){case "SELECT":for(var u=0;u<a.length;u++)g=a[u],g.name==k.object&&(g.b4w_selectable=!0);k.bools||(k.bools={});k.bools.not_wait||(k.bools.not_wait=!1);p('Logic nodes type "SELECT" is deprecated');
  512. break;case "SWITCH_SELECT":c(k.objects_paths,{b4w_selectable:!0});if(k.links instanceof Array){p('Format of a "SWITCH_SELECT" node is outdated. It is recommended to reexport the scene "'+b.name+'"');var g={},y=0;for(u in k.objects_paths)g[u]=k.links[y],y++;k.links=g}break;case "SELECT_PLAY":p('Logic nodes type "SELECT_PLAY" is deprecated, node will be muted. To fix this, reexport the scene "'+b.name+'"');k.mute=!0;break;case "SELECT_PLAY_ANIM":p('Logic nodes type "SELECT_PLAY_ANIM" is deprecated');
  513. break;case "SHOW":case "HIDE":case "SET_SHADER_NODE_PARAM":case "INHERIT_MAT":c(k.objects_paths,{b4w_do_not_batch:!0});break;case "PLAY":b.b4w_use_nla=!0;break;case "MOVE_TO":c(k.objects_paths,{b4w_do_not_batch:!0});break;case "TRANSFORM_OBJECT":c(k.objects_paths,{b4w_do_not_batch:!0});switch(k.common_usage_names.space_type){case "WORLD":k.common_usage_names.space_type=H.bG;break;case "PARENT":k.common_usage_names.space_type=H.aG;break;case "LOCAL":k.common_usage_names.space_type=H.$F}break;case "OUTLINE":c(k.objects_paths,
  514. {b4w_outlining:!0});break;case "CONDJUMP":k.condition&&(k.common_usage_names.condition=k.condition);if("cnd"in k.floats)k.common_usage_names.condition=k.floats.cnd;else switch(k.common_usage_names.condition){case "GEQUAL":k.common_usage_names.condition=H.Oy;break;case "LEQUAL":k.common_usage_names.condition=H.Qy;break;case "GREATER":k.common_usage_names.condition=H.Py;break;case "LESS":k.common_usage_names.condition=H.Ry;break;case "NOTEQUAL":k.common_usage_names.condition=H.Sy;break;case "EQUAL":k.common_usage_names.condition=
  515. H.Ny}void 0!=k.number1&&(k.input1=k.number1);void 0!=k.number2&&(k.input2=k.number2);k.bools||(k.bools={});void 0===k.bools.str&&(k.bools.str=!1,k.floats.inp1=k.input1,k.floats.inp2=k.input2);break;case "SEND_REQ":k.bools||(k.bools={});k.strings||(k.strings={});void 0===k.bools.ct&&(k.bools.ct=!1);void 0!=k.url&&(k.bools.url=!1,k.strings.url=k.url);break;case "MATH":void 0!=k.number1&&(k.input1=k.number1);void 0!=k.number2&&(k.input2=k.number2);void 0!=k.input1&&(k.floats.inp1=k.input1);void 0!=k.input2&&
  516. (k.floats.inp2=k.input2);break;case "REGSTORE":k.floats||(k.floats={});k.strings||(k.strings={});void 0!=k.number1&&(k.input1=k.number1);if(void 0!=k.input1)switch(typeof k.input1){case "number":k.floats.inp1=k.input1;k.common_usage_names.variable_type="NUMBER";break;default:k.strings.inp1=k.input1,k.common_usage_names.variable_type="STRING"}switch(k.common_usage_names.variable_type){case "NUMBER":k.common_usage_names.variable_type=H.cG;break;case "STRING":k.common_usage_names.variable_type=H.dG}break;
  517. case "PAGEPARAM":k.bools||(k.bools={});void 0===k.bools.hsh&&(k.bools.hsh=!1);k.floats||(k.floats={});void 0===k.floats.ptp&&(k.floats.ptp=0);break;case "PLAY_ANIM":c(k.objects_paths,{b4w_do_not_batch:!0});k.bools||(k.bools={});void 0===k.bools.env&&(k.bools.env=!1);(g=k.common_usage_names.param_anim_behavior)||(g="FINISH_STOP");k.common_usage_names.param_anim_behavior=v.su(g);break;case "STOP_ANIM":k.bools||(k.bools={});void 0===k.bools.env&&(k.bools.env=!1);break;case "STRING":switch(k.common_usage_names.string_operation){case "JOIN":k.common_usage_names.string_operation=
  518. H.XF;break;case "FIND":k.common_usage_names.string_operation=H.WF;break;case "REPLACE":k.common_usage_names.string_operation=H.YF;break;case "SPLIT":k.common_usage_names.string_operation=H.ZF;break;case "COMPARE":k.common_usage_names.string_operation=H.VF}if("cnd"in k.floats)k.common_usage_names.condition=k.floats.cnd;else switch(k.common_usage_names.condition){case "GEQUAL":k.common_usage_names.condition=H.Oy;break;case "LEQUAL":k.common_usage_names.condition=H.Qy;break;case "GREATER":k.common_usage_names.condition=
  519. H.Py;break;case "LESS":k.common_usage_names.condition=H.Ry;break;case "NOTEQUAL":k.common_usage_names.condition=H.Sy;break;case "EQUAL":k.common_usage_names.condition=H.Ny}break;case "REDIRECT":void 0!=k.url&&(k.bools.url=!1,k.strings.url=k.url);break;case "SET_CAMERA_MOVE_STYLE":switch(k.common_usage_names.camera_move_style){case "STATIC":k.common_usage_names.camera_move_style=H.OF;break;case "TARGET":k.common_usage_names.camera_move_style=H.PF;break;case "EYE":k.common_usage_names.camera_move_style=
  520. H.MF;break;case "HOVER":k.common_usage_names.camera_move_style=H.NF}break;case "ENTRYPOINT":k.bools||(k.bools={});void 0===k.bools.js&&(k.bools.js=!1);k.bools.js&&(k.mute=!0);break;case "JS_CALLBACK":for(n in k=k.common_usage_names.js_cb_params,k)switch(k[n]){case "OBJECT":k[n]=H.QF;break;case "VARIABLE":k[n]=H.RF}}}}};fdage.module.__scenegraph=function(a,q){function f(a,b){var c=[];B.If(a,function(b,d,e){-1<c.indexOf(e)?B.vO(a,b,d,e,M(e)):c.push(e)});B.ja(a,function(a,d){for(var e=0;e<d.Pa.length;e++){var f=d.Pa[e];b||d.type!=I.hd&&d.type!=I.Pc&&d.type!=I.ef||(f.ye=!0);-1<c.indexOf(f)?d.Pa[e]=M(f):c.push(f)}})}function c(a,c){B.ja(a,function(b,d){d.type==I.Cy&&B.nh(a,b,function(a,b){if(b.type==I.Cg)for(var c=0;c<b.Pa.length;c++){var d=b.Pa[c];d.Ea=C.J;d.Da=C.J}});c||B.nh(a,b,function(a,b,c){"DEPTH"==c.from&&(c.ye=
  521. !0)})});B.ja(a,function(c){var d={};b(a,c,d);for(var e in d){c=d[e];for(var f=c[0],h=0;h<c.length;h++)if(c[h].Ea==C.J){f=c[h];break}for(var k=c[0],h=0;h<c.length;h++)if(c[h].Da==C.J){k=c[h];break}for(var m=c[0],h=0;h<c.length;h++)if(!c[h].ye){m=c[h];break}for(h=0;h<c.length;h++)c[h].Ea=f.Ea,c[h].Da=k.Da,c[h].ye=m.ye}})}function b(a,c,d){B.nh(a,c,function(c,e,f){f.rc&&f.from==f.to&&(d[f.from]=d[f.from]||[],-1==d[f.from].indexOf(f)&&d[f.from].push(f),b(a,c,d))});B.yj(a,c,function(a,b,c){c.rc&&(d[c.from]=
  522. d[c.from]||[],-1==d[c.from].indexOf(c)&&d[c.from].push(c))});c=B.Ma(a,c);if(c.type==I.Cg)for(var e=0;e<c.Pa.length;e++){var f=c.Pa[e];d[f.from].push(f)}}function g(a){var b=[I.Cg,I.hu,I.xq,I.hd,I.Pc,I.pn],c=B.by(a),d=[];B.ja(c,function(a,f){for(var h=0;h<f.Pa.length;h++){var k=f.Pa[h];-1<b.indexOf(f.type)&&(k.Ct=!0);var m=n(d,k,p(k));k.Xa=m;f.mh[h]=m}for(h=0;h<f.mh.length;h++)m=f.mh[h],u(d,m);B.yj(c,a,function(h,k,m){-1<b.indexOf(f.type)&&(m.Ct=!0);m.Xa||((h=D(c,a,m.from))&&m.rc&&!m.Xa?e(d,h):h=n(d,
  523. m,p(m)),m.Xa=h)});B.nh(c,a,function(a,b,c){u(d,c.Xa)});B.yj(c,a,function(a,b,c){c.Xa&&"NONE"==c.to&&u(d,c.Xa)})})}function p(a){a=N.Mg(a);delete a.to;delete a.rc;delete a.Xa;return JSON.stringify(a)}function D(a,b,c){var d=null;B.nh(a,b,function(a,b,e){if(e.rc&&e.from==e.to&&e.from==c&&e.Xa)return d=e.Xa,!0});B.yj(a,b,function(a,b,e){if(e.rc&&e.from==c&&e.Xa)return d=e.Xa,!0});return d}function e(a,b){for(var c=0;c<a.length;c++){var d=a[c];d.Yx===b&&d.Dp++}}function u(a,b){for(var c=0;c<a.length;c++){var d=
  524. a[c];d.Yx===b&&d.Dp&&d.Dp--}}function n(a,b,c){if(b.vm)return e(a,b.vm.Xa),b.vm.Xa;if(b.Ct)return t(b);for(var d=null,f=0;f<a.length;f++){var h=a[f];if(h.id==c&&0===h.Dp){d=h;break}}if(d&&!W.SA)return d.Dp++,d.Yx;b=t(b);a.push({id:c,Dp:1,Yx:b});return b}function t(a){var b=a.el*a.size,c=a.fl*a.size;switch(a.from){case "COLOR":if(a.ye){var d=C.ik(a.Xi?C.Cq:C.Bq,a.aq);C.resize(d,b,c)}else d=C.ik(C.Dg,a.aq),C.resize(d,b,c),C.zx(d,a.Ea,a.Da);return d;case "DEPTH":return a.ye?(d=C.ik(a.Xi?C.Aq:C.zq,a.aq),
  525. C.resize(d,b,c)):(d=C.ik(C.Dl,a.aq),C.resize(d,b,c),C.zx(d,a.Ea,a.Da)),d;case "CUBEMAP":return d=C.qA(b);case "SCREEN":case "NONE":return null;default:N.q("Wrong slink param: "+a.from)}}function m(a,b){var c=!1;B.If(a,function(d,e,f){if(f&&(d=B.Ma(a,d),e=B.Ma(a,e),b(f,!1,d,e)))return c=!0});c||B.ja(a,function(a,c){for(var d=0;d<c.Pa.length;d++)if(b(c.Pa[d],!0,c,null))return!0})}function k(a){B.ja(a,function(b,c){if(c.type!=I.Cl){var d=c.p;B.yj(a,b,function(a,b,c){c.rc&&c.Xa&&(w.et(d,c.from,c.Xa),
  526. c.from==c.to&&b.p&&w.et(b.p,c.from,c.Xa))});for(var e=0;e<c.Pa.length;e++){var f=c.Pa[e];f.rc&&f.from==f.to&&w.et(d,f.from,c.mh[e])}!d.gc&&!d.le||d.pe||(d.pe=Z.rO(d.gc,d.le))}});B.ja(a,function(b,c){if(c.type==I.Bl||c.type==I.Zt){var d=A(a,c);c.p.Jo=d[0].p.pe}})}function d(a){var b=null,c=0;B.ja(a,function(a,d){if(d.type==Q.WP){if(c==Q.VP)return b=d,!0;c++}});return b}function y(a,b){var c=B.mg(a,b),d=I.Wc("NONE"),e=B.H(a,d),f=B.Po(a)[0];B.If(a,function(b,c){c==f&&B.kO(a,b,f,b,e)});var h=H(b,a);B.If(a,
  527. function(e,f,k){if(e==c){if(h){e=I.dr();B.H(a,e);f=x("COLOR","RESOLVE",1,1,1,!0);f.Xi=!0;f.ye=!0;var m=x("DEPTH","RESOLVE",1,1,1,!0);m.Xi=!0;m.ye=!0;B.r(a,b,e,f);B.r(a,b,e,m);b=e}B.r(a,b,d,x(Q.vP,"u_color",k.size,k.el,k.fl,k.Xp));return!0}});B.Jc(a,e,f,x("SCREEN","NONE",.5,.5,.5,!0))}function H(a,b){var c=!1,d=B.mg(b,a);B.Bf(b,d)&&(c=B.fg(b,d,0),d=B.rd(b,d,c,0),"COLOR"==d.from&&"COLOR"==d.to||"DEPTH"==d.from&&"DEPTH"==d.to?(d=B.Ma(b,c),c=H(d,b)):c="RESOLVE"==d.to);return c}function v(a,b,c,d){var e=
  528. c.W,f=b.Ur,h=b.hh.eh,k=b.hh.Rs,m=B.st(a,B.eM(a,d),B.qq),g=[],l=[],n=[],m=B.clone(m,function(b){var d;if(-1<ka.indexOf(b.type))l.push(b),d=b;else{d=I.iJ(b);if(d.type==I.hd)for(var m=0;m<h.length;m++)if(h[m][0]==b){h[m]=[b,d];d.p.dc=b.p.dc;c.W.push(d.p);break}if(b.type==I.Ge)for(m=0;m<h.length;m++){if(k[m][0]==b){k[m]=[b,d];d.p=h[m][1].p;break}}else-1<e.indexOf(b.p)&&(f?(w.ps(b.p,w.fe),w.ps(d.p,w.ge)):(w.ps(b.p,w.zc),w.ps(d.p,w.Ic)),e.push(d.p));var r=B.mg(a,b);B.nh(a,r,function(a,b,c){-1<ka.indexOf(b.type)&&
  529. g.push([b,d,c])});if(b.type!==I.Cg)for(m=0;m<b.Pa.length;m++)d.Pa[m].vm=b.Pa[m];b=!0;for(m=0;m<B.dm(a,r);m++){var t=B.Mh(a,r,m),t=B.Ma(a,t);-1==ka.indexOf(t.type)&&(b=!1)}b&&n.push(d)}return d},function(a){var b=M(a,!0);b.vm=a;return b});B.If(m,function(a,b,c){B.Ma(m,a).type===I.Cg&&(c.vm=null)});for(var r=0;r<l.length;r++)B.Df(m,B.mg(m,l[r]));B.Qu(m);b=I.mK(f);var r=B.H(a,b),t=I.fv();B.H(a,t);var p=x("COLOR","COPY",1,1,1,!0);B.r(a,d,t,p);var u=x("COLOR","u_sampler_left",1,1,1,!0);u.Ct=!0;u.Ea=C.J;
  530. u.Da=C.J;B.r(a,t,b,u);d.ic||(d=I.fv(),B.H(m,d),u=x("COLOR","COPY",1,1,1,!0),u.vm=p,p=B.Po(m)[0],p=B.Ma(m,p),B.r(m,p,d,u));d=x("COLOR","u_sampler_right",1,1,1,!0);d.Ea=C.J;d.Da=C.J;B.MH(m,a,[B.Po(m)[0],r,d]);for(r=0;r<g.length;r++)B.r(a,g[r][0],g[r][1],g[r][2]);d=x("SCREEN","NONE",0,0,0,!1);for(r=0;r<n.length;r++)B.r(a,t,n[r],d);f&&z(a,.5,1);return b}function z(a,b,c){var d=[];B.ja(a,function(b,c){if(-1==ka.indexOf(c.type)&&c.Pa.length&&F(a,c,I.wh))for(var e=0;e<c.Pa.length;e++){var f=c.Pa[e];-1==
  531. d.indexOf(f)&&d.push(f)}});B.If(a,function(b,c,e){b=B.Ma(a,b);c=B.Ma(a,c);-1==ka.indexOf(b.type)&&F(a,c,I.wh)&&-1==d.indexOf(e)&&d.push(e)});for(var e=0;e<d.length;e++)d[e].el*=b,d[e].fl*=c}function x(a,b,c,d,e,f){return{from:a,to:b,size:c,el:d,fl:e,Xp:f,rc:!0,Xa:null,Xi:!1,ye:!1,Ea:C.Nd,Da:C.Nd,Ct:!1,aq:!1}}function M(a,b){if(b){var c=a.Xa;a.Xa=null}a.Xa&&N.q("Failed to clone slink with attached texture");var d=N.Mg(a);b&&(a.Xa=c,d.Xa=c);return d}function F(a,b,c){if(b.type==c)return!0;b=K(a,b);
  532. for(var d=0;d<b.length;d++)if(F(a,b[d],c))return!0;return!1}function E(a,b,c){if(b.type==c)return!0;b=A(a,b);for(var d=0;d<b.length;d++)if(E(a,b[d],c))return!0;return!1}function A(a,b){var c=B.mg(a,b);c==B.gu&&N.q("Subscene not in graph");for(var d=[],e=B.dm(a,c),f=0;f<e;f++){var h=B.Mh(a,c,f);h!=c&&d.push(B.Ma(a,h))}return d}function K(a,b){var c=B.mg(a,b);c==B.gu&&N.q("Subscene not in graph");for(var d=[],e=B.Bf(a,c),f=0;f<e;f++){var h=B.fg(a,c,f);h!=c&&d.push(B.Ma(a,h))}return d}function h(a){var b=
  533. [],c=[];m(a,function(a){a.Xa&&-1==b.indexOf(a.Xa)&&(b.push(a.Xa),c.push(a.Xa,b.length-1))});return c}function l(a,b){var c;c=""+(a.from+"\\n");c+="NONE"!=a.to?a.to+"\\n":"";c+="(";if(a.Xp){var d=a.el,e=a.fl;Math.round(d)!=d&&(d=d.toFixed(2));Math.round(e)!=e&&(e=e.toFixed(2));c+=(1==d?"":d)+"Sx"+((1==e?"":e)+"S")}else d=a.el,e=a.fl,c+=a.size*d+"x"+a.size*e;if("SCREEN"!=a.from){c+=" ";if(a.ye)c+="RR";else{var d=a.Ea,e=a.Da,f="";d==C.J?f+="L":d==C.Nd&&(f+="N");e==C.J?f+="L":e==C.Nd&&(f+="N");c+=f}for(d=
  534. 0;d<b.length;d+=2)b[d]==a.Xa&&(c+=" "+b[d+1])}return c+")\\n"}var w=q("__camera"),r=q("__config"),J=q("__debug"),B=q("__graph"),Z=q("__renderer"),I=q("__subscene"),C=q("__textures"),N=q("__util"),Q=r.so,W=r.A,V=r.Dm,ka=[I.vh,I.Hc,I.Pc,I.ee];a.WI=function(a){switch(a.to){case "COLOR":case "CUBEMAP":case "DEPTH":case "SCREEN":case "OFFSCREEN":case "RESOLVE":case "COPY":case "NONE":return!1;default:return!0}};a.gQ=m;a.JJ=function(a,b,e,h){function m(c){var d=w.tc(Ra,!0);b.W.push(d);d=I.hk(c,d,!1,H,E,
  535. xa,Da,Ia,a.hi);B.H(l,d);c==I.ef?(B.r(l,n[0],d,x("COLOR","COLOR",1,1,1,!0)),d.Pa.push(x("DEPTH","DEPTH",1,1,1,!0))):(c=Y&&n[0].type==I.Bl?Eb:n[0],B.r(l,c,d,Oa),B.r(l,c,d,Ya));Ha&&(B.r(l,Ha,d,fb),B.r(l,Ha,d,hb));for(c=0;c<t.length;c++)B.r(l,t[c],d,p[c]);ec&&B.r(l,ec,d,dd);if(u.length){var e=u.length;for(c=0;c<e;c++)B.r(l,u[c],d,D[c])}if(z.length)for(c=0;c<z.length;c++)B.r(l,z[c],d,q[c]);fc&&B.r(l,fc,d,Yc);return d}var l=B.create(),n=[],r=[],t=[],p=[],u=[],D=[],z=[],q=[],E=a.QM,H=a.wc,F=a.shore_smoothing,
  536. ka=a.xP,L=a.ssao,Z=a.god_rays,O=a.hh,ea=a.oC,sa=a.kI,ba=a.motion_blur,Ba=a.compositing,oa=a.antialiasing,Da=a.hn,xa=a.fF,Ia=a.Uc,ma=a.yN,R=a.II,Ca=a.nM,za=a.ON,Ja=a.dof,Aa=a.AK,fa=a.refractions,X=Boolean(h.length),Y=1<W.pc,Ya=x("COLOR","COLOR",1,1,1,!0),Oa=x("DEPTH","DEPTH",1,1,1,!0);if(Y){M(Oa);var eb=M(Oa);Ya.Xi=!0;Ya.ye=!0;Oa.Xi=!0;Oa.ye=!0}var Ra=b.W[0];if(Ia){w.my(Ra,Ia);for(var da=0;da<Ia.ig.length;da++)for(var Ta=Ia.csm_num,ha=0;ha<Ta;ha++){var P=I.hK(ha,da,Ia,E);B.H(l,P);t.push(P);var Ma=
  537. Ia.csm_resolution,Ga=P.p;b.ED.push(Ga);Ga.width=Ma;Ga.height=Ma;P.kb=!1;var Fa=x("DEPTH","u_shadow_map"+(0<da?da:ha),Ma,1,1,!1);W.ho&&(Fa.Ea=C.J,Fa.Da=C.J,Fa.aq=!0);p.push(Fa);(J.QI()||W.FD)&&P.Pa.push(x("COLOR","COLOR",Ma,1,1,!1))}}if(O&&O.BC&&!X)for(ha=0;ha<O.BC;ha++){Ga=w.Lc(w.jd);Ga.width=a.Hh;Ga.height=a.Hh;w.ft(Ga,90,.1,100);w.rj(Ga,Ga.qb);var Na=I.hk(I.Pc,Ga,!1,H,E,xa,Da,null,a.hi);Na.jk=N.AL();for(da=0;6>da;da++)Na.po.push(w.yJ());B.H(l,Na);var Lb=x("CUBEMAP","u_cube_reflection",a.Hh,1,1,
  538. !1);Lb.Ea=C.J;Lb.Da=C.J;q.push(Lb);if(O.GB){var Xa=I.hk(I.ee,Ga,!1,H,E,xa,Da,null,a.hi);Xa.jk=Na.jk;Xa.po=Na.po;B.H(l,Xa);var Ea=x("DEPTH","DEPTH",a.Hh,1,1,!1),Za=x("COLOR","COLOR",a.Hh,1,1,!1);B.r(l,Na,Xa,Ea);B.r(l,Na,Xa,Za);z.push(Xa);O.jv.push(Xa)}else{var Xb=x("DEPTH","DEPTH",a.Hh,1,1,!1);Na.Pa.push(Xb);z.push(Na)}O.Gh.push(Na)}if(O&&0<O.aD.length&&!X)for(da=0;da<O.aD.length;da++)Ga=w.tc(Ra,!0),Ga.dc=new Float32Array(4),b.W.push(Ga),Na=I.hk(I.hd,Ga,!1,H,E,xa,Da,null,a.hi),B.H(l,Na),Lb=x("COLOR",
  539. "u_plane_reflection",1,a.qg,a.qg,!0),Lb.Ea=C.J,Lb.Da=C.J,D.push(Lb),O.GB?(Xa=I.hk(I.Ge,Ga,!1,H,E,xa,Da,null,a.hi),B.H(l,Xa),Ea=x("DEPTH","DEPTH",1,a.qg,a.qg,!0),Za=x("COLOR","COLOR",1,a.qg,a.qg,!0),Za.Ea=C.Nd,Za.Da=C.Nd,B.r(l,Na,Xa,Ea),B.r(l,Na,Xa,Za),O.Rs.push([Xa]),u.push(Xa)):(Xb=x("DEPTH","DEPTH",1,a.qg,a.qg,!0),Na.Pa.push(Xb),u.push(Na)),O.eh.push([Na]);if(a.Mc){var Ha=I.aK();B.H(l,Ha);Ma=V.Ro;Ha.p.width=Ma;Ha.p.height=Ma;var fb=x("DEPTH","u_grass_map_depth",Ma,1,1,!1);W.Vb||(fb.Ea=C.J,fb.Da=
  540. C.J);var hb=x("COLOR","u_grass_map_color",Ma,1,1,!1);hb.Ea=C.J;hb.Da=C.J}else hb=fb=Ha=null;if(Aa&&Ia){var lb=w.tc(Ra,!0);b.W.push(lb);var mb=I.iK(lb,E);B.H(l,mb);mb.self_shadow_normal_offset=Ia.self_shadow_normal_offset;for(ha=0;ha<t.length;ha++)P=t[ha],B.r(l,P,mb,p[ha]);var Fc=x("COLOR","u_color",1,1,1,!0),$a=x("DEPTH","u_depth",1,1,1,!0);if(L){var Wa=w.tc(Ra,!0);b.W.push(Wa);var Sa=a.PP,rb=I.kK(Wa,xa,Sa);B.H(l,rb);var Jc=x("COLOR","u_ssao_mask",1,1,1,!0);B.r(l,mb,rb,Fc);B.r(l,mb,rb,$a);var Fb=
  541. w.tc(Ra,!0);b.W.push(Fb);var Gb=I.lK(Fb,Sa);B.H(l,Gb);var Mb=x("COLOR","u_shadow_mask",1,1,1,!0);B.r(l,rb,Gb,Jc);B.r(l,mb,Gb,$a)}Y?mb.Pa.push(x("DEPTH","DEPTH",1,1,1,!0)):mb.Pa.push(Oa);Ha&&(B.r(l,Ha,mb,fb),B.r(l,Ha,mb,hb))}else mb=null;var Eb=I.hk(I.Db,Ra,!0,H,E,xa,Da,null,a.hi);B.H(l,Eb);if(Y){var jb=I.dr();B.H(l,jb);r.push(jb);var gc=x("COLOR","RESOLVE",1,1,1,!0);gc.Xi=!0;gc.ye=!0;var Gc=x("DEPTH","RESOLVE",1,1,1,!0);Gc.Xi=!0;Gc.ye=!0;B.r(l,Eb,jb,gc);B.r(l,Eb,jb,Gc)}else r.push(Eb);mb&&(Jc?B.r(l,
  542. Gb,Eb,Mb):Ia?B.r(l,mb,Eb,x("COLOR","u_shadow_mask",1,1,1,!0)):N.q("Internal error"));Ha&&(B.r(l,Ha,Eb,fb),B.r(l,Ha,Eb,hb));if(u.length)for(var ed=u.length,da=0;da<ed;da++)B.r(l,u[da],Eb,D[da]);if(z.length)for(da=0;da<z.length;da++)B.r(l,z[da],Eb,q[da]);n=r;r=[];if(!X&&a.jJ){Ga=w.tc(Ra,!0);Ga.width=1;Ga.height=1;b.W.push(Ga);var wc=I.tA(Ga,!1,E);B.H(l,wc);if(a.Bg){Ga=w.tc(Ra,!0);Ga.width=1;Ga.height=1;b.W.push(Ga);var Tc=I.tA(Ga,!0,E);B.H(l,Tc);B.r(l,wc,Tc,x("COLOR","COLOR",1,1,1,!1));B.r(l,wc,Tc,
  543. x("DEPTH","DEPTH",1,1,1,!1))}}else wc=null;if(!ea.refractions&&!fa||X)fc=null;else{if(Y)fc=jb;else{var fc=I.fv();B.H(l,fc);B.r(l,n[0],fc,x("COLOR","COPY",1,1,1,!0))}var Yc=x("COLOR","u_refractmap",1,1,1,!0)}if(Aa&&(fa||F||ka)){var Zc=w.tc(Ra,!0);b.W.push(Zc);var ec=I.YJ(Zc);B.H(l,ec);B.r(l,Y?jb:Eb,ec,x("DEPTH","u_depth",1,1,1,!0));var dd=x("COLOR","u_scene_depth",1,1,1,!0);dd.Ea=C.Nd;dd.Da=C.Nd}else ec=null;if(a.Hr){var Uc=m(I.yc);r.push(Uc);n=r;r=[]}if(a.Nh){var Vc=w.tc(Ra,!0);b.W.push(Vc);var Nb=
  544. I.hk(I.Ad,Vc,!1,H,E,xa,Da);B.H(l,Nb);ec&&B.r(l,ec,Nb,dd);fc&&B.r(l,fc,Nb,Yc);Ha&&(B.r(l,Ha,Nb,fb),B.r(l,Ha,Nb,hb));if(u.length)for(ed=u.length,da=0;da<ed;da++)B.r(l,u[da],Nb,D[da]);if(z.length)for(da=0;da<z.length;da++)B.r(l,z[da],Nb,q[da]);B.r(l,Y?jb:Eb,Nb,Y?eb:Oa);var xc=I.Wc("X_GLOW_BLUR");xc.vb="GLOW_MASK_SMALL";xc.Hf=a.Mi.small_glow_mask_width;var kd=x("COLOR","u_color",1,1,1,!0);kd.Ea=C.J;kd.Da=C.J;B.H(l,xc);B.r(l,Nb,xc,kd);var yc=I.Wc("Y_GLOW_BLUR");yc.vb="GLOW_MASK_SMALL";yc.Hf=a.Mi.small_glow_mask_width;
  545. var ld=x("COLOR","u_color",1,.5,.5,!0);ld.Ea=C.J;ld.Da=C.J;B.H(l,yc);B.r(l,xc,yc,ld);var Kc=I.Wc("X_GLOW_BLUR");Kc.vb="GLOW_MASK_LARGE";Kc.Hf=a.Mi.large_glow_mask_width;var tb=x("COLOR","u_color",1,.5,.5,!0);tb.Ea=C.J;tb.Da=C.J;B.H(l,Kc);B.r(l,yc,Kc,tb);var nc=I.Wc("Y_GLOW_BLUR");nc.vb="GLOW_MASK_LARGE";nc.Hf=a.Mi.large_glow_mask_width;var Ab=x("COLOR","u_color",1,.25,.25,!0);Ab.Ea=C.J;Ab.Da=C.J;B.H(l,nc);B.r(l,Kc,nc,Ab);var nb=w.tc(Ra,!0);b.W.push(nb);var kb=I.ZJ(nb,a);B.H(l,kb);var cb=x("COLOR",
  546. "u_src_color",1,1,1,!0);if(a.Hr)if(Y){var Hc=I.dr();B.H(l,Hc);B.r(l,Uc,Hc,gc);B.r(l,Uc,Hc,Gc);B.r(l,Hc,kb,cb)}else B.r(l,Uc,kb,cb);else B.r(l,Y?jb:Eb,kb,cb);B.r(l,a.Hr?Uc:Eb,kb,Oa);var zc=x("COLOR","u_glow_mask_small",1,.5,.5,!0);zc.Ea=C.J;zc.Da=C.J;B.r(l,yc,kb,zc);var hc=x("COLOR","u_glow_mask_large",1,.25,.25,!0);hc.Ea=C.J;hc.Da=C.J;B.r(l,nc,kb,hc);n=[kb];r=[]}a.Hr||(Uc=m(I.yc),r.push(Uc),n=r,r=[]);if(W.debug_view){Ga=w.tc(Ra,!0);b.W.push(Ga);var Bb=I.XJ(Ga);r.push(Bb);B.H(l,Bb);B.r(l,n[0],Bb,Ya);
  547. B.r(l,n[0],Bb,Oa);Ha&&(B.r(l,Ha,Bb,fb),B.r(l,Ha,Bb,hb));J.QO(Bb);n=r;r=[]}if(Y){var Zb=I.dr();B.H(l,Zb);r.push(Zb);B.r(l,n[0],Zb,gc);B.r(l,n[0],Zb,Gc);n=r;r=[]}var Ac=n.slice(0);if(!X&&a.sH){Ga=w.tc(Ra,!0);b.W.push(Ga);var Qb=I.TJ(Ga);B.H(l,Qb);B.r(l,n[0],Qb,Y?eb:Oa)}if(Z&&Aa&&!X){var ic=Ca.mm,Bc=Ca.jw,ob=Ca.Qm,ab=n[0],Lc=H?!0:!1,fd=x("DEPTH","u_input",1,1,1,!0),Cb=x("COLOR","u_input",1,.25,.25,!0);Cb.Ea=C.J;Cb.Da=C.J;var Yb=ic/ob,ib=w.tc(Ra,!0);b.W.push(ib);var pb=I.gv(ib,Lc,ic,!0,Yb,E,ob);B.H(l,
  548. pb);B.r(l,ab,pb,fd);var Yb=ic/ob*.5,vb=w.tc(Ra,!0);b.W.push(vb);var $c=I.gv(vb,Lc,ic,!1,Yb,E,ob);B.H(l,$c);B.r(l,pb,$c,Cb);var Yb=ic/ob*.25,Wc=w.tc(Ra,!0);b.W.push(Wc);var jc=I.gv(Wc,Lc,ic,!1,Yb,E,ob);B.H(l,jc);B.r(l,$c,jc,Cb);var oc=I.$J(Bc,E);r.push(oc);B.H(l,oc);B.r(l,ab,oc,x("COLOR","u_main",1,1,1,!0));B.r(l,jc,oc,x("COLOR","u_god_rays",1,1,1,!0));n=r;r=[]}if(sa&&!X){var ab=n[0],Hb=I.bK();B.H(l,Hb);B.r(l,ab,Hb,x("COLOR","u_input",1,1,1,!0));var pc=I.UJ();B.H(l,pc);pc.p.width=W.Bo?2:1;pc.p.height=
  549. W.Bo?2:1;var qc=x("COLOR","u_input",1,.25,.25,!0);qc.Ea=C.J;qc.Da=C.J;var Xc=x("COLOR","u_luminance",1,.25,.25,!0);Xc.Ea=C.J;Xc.Da=C.J;B.r(l,Hb,pc,qc);var Cc=sa.key,rc=sa.edge_lum,Ib=w.tc(Ra,!0);b.W.push(Ib);var Va=I.cK(Cc,rc,E,Ib);B.H(l,Va);B.r(l,ab,Va,x("COLOR","u_main",1,1,1,!0));B.r(l,Hb,Va,Xc);B.r(l,pc,Va,x("COLOR","u_average_lum",1,1,1,!1));var Qa=x("COLOR","u_color",1,.25,.25,!0);Qa.Ea=C.J;Qa.Da=C.J;xc=I.sA("X_BLUR");B.H(l,xc);B.r(l,Va,xc,Qa);yc=I.sA("Y_BLUR");B.H(l,yc);B.r(l,xc,yc,Qa);var Rb=
  550. I.VJ(sa.blur);B.H(l,Rb);var kc=x("COLOR","u_bloom",1,.25,.25,!0);kc.Ea=C.J;kc.Da=C.J;B.r(l,yc,Rb,kc);B.r(l,ab,Rb,x("COLOR","u_main",1,1,1,!0));r.push(Rb);n=r;r=[]}if(Ja&&Aa&&!X){var ab=n[0],Ua=w.tc(Ra,!0);b.W.push(Ua);if(e.dof_bokeh){var wb=x("COLOR","u_color",1,1,1,!0);wb.Ea=C.J;wb.Da=C.J;var Jb=x("DEPTH","u_depth",1,1,1,!0),Sb=x("COLOR","u_color",1,.5,.5,!0);Sb.Ea=C.Nd;Sb.Da=C.Nd;Qa=x("COLOR","u_color",1,.5,.5,!0);Qa.Ea=C.Nd;Qa.Da=C.Nd;var $b=x("COLOR","u_blurred1",1,.5,.5,!0);$b.Ea=C.J;$b.Da=C.J;
  551. var Db=x("COLOR","u_blurred2",1,.5,.5,!0);Db.Ea=C.J;Db.Da=C.J;var xb=Ac[0];if(e.Xc){var bb=w.tc(Ra,!0);b.W.push(bb);var yb=I.ev(bb,"COC_FOREGROUND");bb.dof_distance=e.dof_distance;bb.dof_object=e.dof_object;bb.dof_front_start=e.dof_front_start;bb.dof_front_end=e.dof_front_end;bb.dof_rear_start=e.dof_rear_start;bb.dof_rear_end=e.dof_rear_end;bb.dof_power=e.dof_power;bb.dof_bokeh=e.dof_bokeh;bb.dof_bokeh_intensity=e.dof_bokeh_intensity;bb.Xc=e.Xc;bb.dof_on=!0;B.H(l,yb);B.r(l,ab,yb,wb);B.r(l,xb,yb,Jb);
  552. var La=I.Wc("X_ALPHA_BLUR");B.H(l,La);B.r(l,yb,La,Sb);var ac=I.Wc("Y_ALPHA_BLUR");B.H(l,ac);B.r(l,La,ac,Qa);var Pa=w.tc(Ra,!0),bc=I.ev(Pa,"COC_COMBINE");b.W.push(Pa);Pa.dof_distance=e.dof_distance;Pa.dof_object=e.dof_object;Pa.dof_front_start=e.dof_front_start;Pa.dof_front_end=e.dof_front_end;Pa.dof_rear_start=e.dof_rear_start;Pa.dof_rear_end=e.dof_rear_end;Pa.dof_power=e.dof_power;Pa.dof_bokeh=e.dof_bokeh;Pa.dof_bokeh_intensity=e.dof_bokeh_intensity;Pa.Xc=e.Xc;Pa.dof_on=!0;B.H(l,bc);B.r(l,ab,bc,
  553. wb);B.r(l,xb,bc,Jb);B.r(l,ac,bc,x("COLOR","u_coc_fg",1,.5,.5,!0))}else Pa=w.tc(Ra,!0),b.W.push(Pa),bc=I.ev(Pa,"COC_ALL"),Pa.dof_distance=e.dof_distance,Pa.dof_object=e.dof_object,Pa.dof_front_start=e.dof_front_start,Pa.dof_front_end=e.dof_front_end,Pa.dof_rear_start=e.dof_rear_start,Pa.dof_rear_end=e.dof_rear_end,Pa.dof_power=e.dof_power,Pa.dof_bokeh=e.dof_bokeh,Pa.dof_bokeh_intensity=e.dof_bokeh_intensity,Pa.Xc=e.Xc,Pa.dof_on=!0,B.H(l,bc),B.r(l,ab,bc,wb),B.r(l,xb,bc,Jb);var Ka=I.Wc("X_DOF_BLUR");
  554. Ka.p.dof_bokeh_intensity=e.dof_bokeh_intensity;B.H(l,Ka);B.r(l,bc,Ka,Sb);var ub=I.Wc("Y_DOF_BLUR");ub.p.dof_bokeh_intensity=e.dof_bokeh_intensity;B.H(l,ub);B.r(l,Ka,ub,Qa);var Ob=I.Wc("Y_DOF_BLUR");Ob.p.dof_bokeh_intensity=e.dof_bokeh_intensity;B.H(l,Ob);B.r(l,Ka,Ob,Qa);var Tb=I.uA(Ua);Ua.dof_distance=e.dof_distance;Ua.dof_object=e.dof_object;Ua.dof_front_start=e.dof_front_start;Ua.dof_front_end=e.dof_front_end;Ua.dof_rear_start=e.dof_rear_start;Ua.dof_rear_end=e.dof_rear_end;Ua.dof_power=e.dof_power;
  555. Ua.dof_bokeh=e.dof_bokeh;Ua.dof_bokeh_intensity=e.dof_bokeh_intensity;Ua.Xc=e.Xc;Ua.dof_on=!0;r.push(Tb);B.H(l,Tb);B.r(l,ab,Tb,x("COLOR","u_sharp",1,1,1,!0));B.r(l,ub,Tb,$b);B.r(l,Ob,Tb,Db)}else{var sc=x("COLOR","u_color",1,1,1,!0);sc.Ea=C.J;sc.Da=C.J;var Mc=x("COLOR","u_color",1,1,1,!0);Mc.Ea=C.J;Mc.Da=C.J;Ka=I.Wc("X_BLUR");B.H(l,Ka);B.r(l,ab,Ka,sc);var lc=I.Wc("Y_BLUR");B.H(l,lc);B.r(l,Ka,lc,Mc);var md=Ac[0],Tb=I.uA(Ua);Ua.dof_distance=e.dof_distance;Ua.dof_object=e.dof_object;Ua.dof_front_start=
  556. e.dof_front_start;Ua.dof_front_end=e.dof_front_end;Ua.dof_rear_start=e.dof_rear_start;Ua.dof_rear_end=e.dof_rear_end;Ua.dof_power=e.dof_power;Ua.dof_bokeh=e.dof_bokeh;Ua.dof_bokeh_intensity=e.dof_bokeh_intensity;Ua.Xc=e.Xc;Ua.dof_on=!0;r.push(Tb);B.H(l,Tb);B.r(l,ab,Tb,x("COLOR","u_sharp",1,1,1,!0));B.r(l,lc,Tb,x("COLOR","u_blurred",1,1,1,!0));B.r(l,md,Tb,x("DEPTH","u_depth",1,1,1,!0))}n=r;r=[]}if(a.Bg){var gd=m(I.ef);r.push(gd);n=r;r=[]}if(ba&&!X){var Nc=n[0],Ic=I.dK(ma.mb_decay_threshold,ma.mb_factor);
  557. r.push(Ic);B.H(l,Ic);B.r(l,Nc,Ic,x("COLOR","u_mb_tex_curr",1,1,1,!0));Ic.Pa.push(x("COLOR","u_mb_tex_accum",1,1,1,!0));n=r;r=[]}if(!X&&a.outline){var ab=n[0],tc=w.tc(Ra,!0);b.W.push(tc);var Ub=I.fK(tc,E);B.H(l,Ub);var sb=I.Wc("X_EXTEND"),uc=x("COLOR","u_color",1,1,1,!0),Oc=x("COLOR","u_outline_mask",1,1,1,!0);sb.Xo=!0;B.H(l,sb);B.r(l,Ub,sb,uc);var zb=x("COLOR","u_color",1,.5,.5,!0);zb.Ea=C.J;zb.Da=C.J;var Pb=I.Wc("Y_EXTEND");Pb.Xo=!0;B.H(l,Pb);B.r(l,sb,Pb,zb);Ka=I.Wc("X_BLUR");Ka.Xo=!0;B.H(l,Ka);
  558. B.r(l,Pb,Ka,zb);var Dc=x("COLOR","u_color",1,.25,.25,!0);Dc.Ea=C.J;Dc.Da=C.J;var Vb=x("COLOR","u_outline_mask_blurred",1,.25,.25,!0);Vb.Ea=C.J;Vb.Da=C.J;lc=I.Wc("Y_BLUR");lc.Xo=!0;B.H(l,lc);B.r(l,Ka,lc,Dc);var qb=I.eK(za);B.H(l,qb);B.r(l,ab,qb,x("COLOR","u_outline_src",1,1,1,!0));B.r(l,Ub,qb,Oc);B.r(l,lc,qb,Vb);r.push(qb);n=r;r=[]}f(l,Aa);if((a.anaglyph_use||a.Ur)&&!X){var Pc=v(l,a,b,n[0]);r.push(Pc);n=r;r=[]}if(Ba&&!X){var ab=n[0],Qc=I.WJ(R.brightness,R.contrast,R.exposure,R.saturation);B.H(l,Qc);
  559. B.r(l,ab,Qc,x("COLOR","u_color",1,1,1,!0));r.push(Qc);n=r;r=[]}if(oa){ab=n[0];if(W.smaa){var gb=x("COLOR","u_color",1,1,1,!0);gb.Ea=C.J;gb.Da=C.J;var db=I.hv(I.wq,a);B.H(l,db);B.r(l,ab,db,gb);var cc=I.hv(I.rn,a);B.H(l,cc);B.r(l,db,cc,gb);var ad=x("COLOR","u_search_tex",1,1,1,!1),bd=x("COLOR","u_area_tex",1,1,1,!1);ad.Ea=C.J;ad.Da=C.J;bd.Ea=C.J;bd.Da=C.J;cc.Pa.push(ad);cc.Pa.push(bd);var dc=I.hv(I.xq,a);B.H(l,dc);B.r(l,ab,dc,gb);var Ec=x("COLOR","u_blend",1,1,1,!0);Ec.Ea=C.J;Ec.Da=C.J;B.r(l,cc,dc,
  560. Ec);r.push(dc)}else{var Wb=I.SJ(a);B.H(l,Wb);var Rc=x("COLOR","u_color",1,1,1,!0);Rc.Ea=C.J;Rc.Da=C.J;B.r(l,ab,Wb,Rc);r.push(Wb)}n=r;r=[]}var td=B.mg(l,n[0]);if(n[0].type==I.Cg||n[0].type==I.Bl)var mc=!0;else mc=!1,B.nh(l,td,function(a,b,c){if(c.from==c.to)return mc=!0});if(mc){var pd=I.Wc("NONE");B.H(l,pd);B.r(l,n[0],pd,x("COLOR","u_color",1,1,1,!0));r.push(pd);n=r;r=[]}r.push(n[0]);wc&&(Tc?r.push(Tc):r.push(wc));Qb&&r.push(Qb);Ma=V.fr;if(a.kt.cD){var ud=a.kt,hd=a.hn,vd=hd.Jm,Ma=vd?vd.YP:Ma,qd=I.jK(hd,
  561. E,ud,Ma);B.H(l,qd);r.push(qd)}var vc=I.vA();B.H(l,vc);for(ha=0;ha<r.length;ha++){var Sc=r[ha];switch(Sc.type){case I.Ee:case I.uh:B.r(l,Sc,vc,x("COLOR","NONE",1,1,1,!1));B.r(l,Sc,vc,x("DEPTH","NONE",1,1,1,!1));break;case I.Mf:B.r(l,Sc,vc,x("CUBEMAP","u_sky",Ma,1,1,!1));break;case I.xl:B.r(l,Sc,vc,x("COLOR","NONE",1,1,1,!0));break;default:if(X){var wd=h[0],cd=x("COLOR","OFFSCREEN",1,1,1,!0);cd.Xa=wd;B.r(l,r[ha],vc,cd);for(da=1;da<h.length;da++){var xd=h[da],nd=I.Wc("NONE");B.H(l,nd);B.r(l,r[ha],nd,
  562. x("COLOR","SCALE",1,1,1,!0));var Kb=xd.ci/wd.ci,cd=x("COLOR","OFFSCREEN",1,Kb,Kb,!0);cd.Xa=xd;B.r(l,nd,vc,cd)}}else B.r(l,r[ha],vc,x("SCREEN","NONE",1,1,1,!0))}}jb&&!K(l,jb).length&&(B.Df(l,B.mg(l,jb)),B.Qu(l));f(l,Aa);c(l,Aa);if(Q.enabled){var yd=d(l);yd&&y(l,yd)}g(l);k(l);Ia&&B.ja(l,function(a,b){if(b.type==I.He||b.type==I.yc||b.type==I.ef){for(var c=0,d=A(l,b),e=0,f=0;f<d.length;f++){var h=d[f];h.type==I.Hc&&(e++,b.Vk=b.Vk||[],b.Vk[0<h.vg?h.vg:c]=h.p.mb,c++)}b.Ft&&b.Et||(W.os?b.ty=new Float32Array(9*
  563. e):(b.Ft=new Float32Array(4*e),b.Et=new Float32Array(4*e)))}});return l};a.FN=z;a.dd=function(a,b,c){var d=a.Hf;a.Zx[0]=b*a.wb[0]*d;a.Zx[1]=c*a.wb[1]*d};a.vc=function(a,b){a.Hf=b};a.IJ=function(){var a=B.create(),b=I.gK(),c=w.Lc(w.Qc);c.width=512;c.height=512;b.p=c;B.H(a,b);b.Pa.push(x("COLOR","u_color",512,1,1,!1));c=I.vA();B.H(a,c);B.r(a,b,c,x("COLOR","NONE",512,1,1,!1));g(a);k(a);return a};a.fL=function(a){var b=null;B.ja(a,function(a,c){return c.p&&null===c.p.pe?(b=c,!0):!1});return b};a.sb=function(a,
  564. b,c){a=A(a,b);for(b=0;b<a.length;b++)if(a[b].type==c)return a[b];return null};a.Qv=function(a,b,c){a=A(a,b);b=[];for(var d=0;d<a.length;d++)a[d].type==c&&b.push(a[d]);return b};a.aT=F;a.cT=E;a.bM=A;a.fM=K;a.Xb=function(a,b){var c=null;B.ja(a,function(a,d){return d.type==b?(c=d,!0):!1});return c};a.vK=function(a){var b="digraph scenegraph {\n",b=b+" ",b=b+'size="11.7,16.5";\n',b=b+" ",b=b+'ratio="fill";\n',b=b+" ",b=b+'node [shape=box margin="0.25,0.055"];\n',c=h(a);B.ja(a,function(a,d){var e=
  565. b+=" ",f=I.Qx(d);if(d.p){for(var f=f+"\\n",h=0;h<c.length;h+=2){var k=d.p.gc;c[h]==k&&(f=C.hm(k)?f+("CR"+c[h+1]+" "):f+("C"+c[h+1]+" "))}for(h=0;h<c.length;h+=2)k=d.p.le,c[h]==k&&(f=C.hm(k)?f+("DR"+c[h+1]):f+("D"+c[h+1]))}d.Pa.length&&(f+="\\n-----\\n");for(h=0;h<d.Pa.length;h++)f+=l(d.Pa[h],c);h=d.type==I.Cl?"dotted":d.enqueue?"solid":"dashed";b=e+(String(a)+' [label="'+f+'" color="black" style="'+(h+",bold")+'"];\n')});B.If(a,function(a,d,e){b+=" ";b+=String(a)+" -> "+String(d)+' [label="'+
  566. l(e,c)+'" style="'+(e.rc?"solid":"dotted")+'"];\n'});return b+="}"};a.KJ=function(a){a=B.aQ(a);for(var b=[],c=0;c<a.length;c++){var d=a[c];d.enqueue&&b.push(d)}return b}};fdage.module.__subscene=function(a,q){function f(a,b){a.Es=b;a.vw=new Float32Array(3*b);a.ep=new Float32Array(4*b);a.dp=new Float32Array(4*b)}function c(a){a={type:a,vb:"",zb:!1,JC:!1,uu:!1,zs:!1,ro:0,Le:0,kk:[],debug_view_mode:0,debug_colors_seed:0,CA:1,tv:!1,time:0,p:null,jk:null,po:[],Ha:[],Pa:[],mh:[],pi:new Float32Array(3),Cd:new Float32Array(3),Sd:new Float32Array(4),nf:new Float32Array(4),Qd:new Float32Array(16),mt:0,bg:0,Es:0,vw:null,ep:null,dp:null,qT:null,Dd:new Float32Array(3),Ld:new Float32Array(3),
  567. nt:new Float32Array(4),dE:new Float32Array(3),Rx:new Float32Array([0,0,1]),eE:new Float32Array(4),lt:new Float32Array(3),np:0,vv:0,Xo:!1,Zh:new Float32Array(3),rh:!1,Mu:0,sh:null,xy:0,yy:0,Kj:0,wc:null,Tf:!1,Sz:0,Tz:new Float32Array(2),Rz:0,procedural_skydome:!1,use_as_environment_lighting:!1,mie_brightness:0,rayleigh_brightness:0,spot_brightness:0,mie_strength:0,rayleigh_strength:0,scatter_strength:0,mie_collection_power:0,rayleigh_collection_power:0,mie_distribution:0,Im:new Float32Array(3),ssao_hemisphere:0,
  568. ssao_blur_depth:0,ssao_blur_discard_value:0,Mm:0,Lm:0,Km:0,UD:0,ssao_only:0,ssao_white:0,brightness:0,contrast:0,exposure:0,saturation:0,god_rays_intensity:0,mm:0,Xs:0,Qm:0,iv:0,self_shadow_polygon_offset:0,self_shadow_normal_offset:0,Ft:null,Et:null,ty:null,Vk:null,ic:!1,YA:"",Rq:0,Fl:0,Qq:0,Au:0,Bv:0,mb_decay_threshold:0,mb_factor:0,tC:0,Ss:"",gA:"",LM:new Float32Array(2),small_glow_mask_width:0,large_glow_mask_width:0,small_glow_mask_coeff:0,large_glow_mask_coeff:0,Zx:new Float32Array(2),wb:new Float32Array(2),
  569. lk:new Float32Array(4),chromatic_aberration_coefs:new Float32Array(4),enable_hmd_stereo:!1,vg:0,Ow:!0,ID:!1,ND:!1,JD:!1,KD:!1,MD:!1,LD:!1,HD:"",fq:!1,gq:!1,hq:!1,Sb:!0,enqueue:!0,kb:!0,rb:!0,nd:!0,qa:!0,Hf:1};a.wb[0]=1;a.wb[1]=1;a.lk[2]=.5;a.lk[3]=.5;return a}function b(a,b){return a==b?0:a>b?1:-1}function g(a,c){return-b(a.Nf,c.Nf)||b(a.zf,c.zf)||b(a.pb.Dx,c.pb.Dx)}var p=q("__camera"),D=q("__config"),e=q("__util"),u=q("__boundings"),n=D.Ec;a.Db=0;a.yc=1;a.ef=2;a.hd=3;a.Pc=4;a.Ge=5;a.ee=6;a.Ad=7;
  570. a.Hc=8;a.He=9;a.vh=10;a.Wb=11;a.kn=12;a.nn=13;a.Bl=14;a.Ee=15;a.uh=16;a.Fe=17;a.xl=18;a.Iy=19;a.yq=20;a.ju=21;a.Cy=22;a.rn=23;a.wq=24;a.hu=25;a.xq=26;a.Yt=27;a.Cg=28;a.Xt=29;a.mn=30;a.Lf=31;a.zl=32;a.ri=33;a.tq=34;a.Mf=35;a.Zt=36;a.wh=37;a.LUMINANCE=38;a.jF=39;a.uq=40;a.jn=41;a.dH=42;a.Cl=43;a.pn=44;a.hK=function(a,b,k,d){var g=c(8);g.iv=a;g.self_shadow_polygon_offset=k.self_shadow_polygon_offset;g.vg=b;switch(k.ig[b]){case "SPOT":case "POINT":g.p=p.Lc(p.jd);a=e.rad_to_deg(k.SD[b]);p.ft(g.p,a,k.Xn[b],
  571. k.Wn[b]);break;default:g.p=p.Lc(p.xh)}f(g,d);return g};a.iJ=function(a){var b=a.p;a.p=null;var c=e.O(a);a.p=b;c.p=p.tc(b,!0);return c};a.aK=function(){var a=c(10);a.p=p.Lc(p.Eg);return a};a.Wc=function(a){var b=c(11);b.kb=!1;b.rb=!1;b.nd=!1;b.ic=!0;b.p=p.Lc(p.Qc);b.Ss=a;switch(a){case "NONE":b.wb[0]=1;b.wb[1]=1;break;case "GRAYSCALE":b.wb[0]=1;b.wb[1]=1;break;case "X_BLUR":b.wb[0]=1;b.wb[1]=0;break;case "Y_BLUR":b.wb[0]=0;b.wb[1]=1;break;case "X_GLOW_BLUR":b.wb[0]=1;b.wb[1]=0;break;case "Y_GLOW_BLUR":b.wb[0]=
  572. 0;b.wb[1]=1;break;case "X_DOF_BLUR":b.wb[0]=1;b.wb[1]=1;break;case "Y_DOF_BLUR":b.wb[0]=1;b.wb[1]=1;break;case "X_ALPHA_BLUR":b.wb[0]=1;b.wb[1]=0;b.Hf=3;break;case "Y_ALPHA_BLUR":b.wb[0]=0;b.wb[1]=1;b.Hf=3;break;case "X_EXTEND":b.wb[0]=1;b.wb[1]=0;break;case "Y_EXTEND":b.wb[0]=0;b.wb[1]=1;break;default:e.q("Wrong postprocessing effect: "+a)}return b};a.sA=function(a){var b=c(12);b.kb=!1;b.rb=!1;b.nd=!1;b.p=p.Lc(p.Qc);b.Ss=a;b.ic=!0;switch(a){case "X_BLUR":b.wb[0]=1;b.wb[1]=0;break;case "Y_BLUR":b.wb[0]=
  573. 0;b.wb[1]=1;break;default:e.q("Wrong postprocessing effect for bloom blur: "+a)}return b};a.ZJ=function(a,b){var e=c(13);e.kb=!1;e.rb=!1;e.nd=!1;e.small_glow_mask_coeff=b.Mi.small_glow_mask_coeff;e.large_glow_mask_coeff=b.Mi.large_glow_mask_coeff;e.small_glow_mask_width=b.Mi.small_glow_mask_width;e.large_glow_mask_width=b.Mi.large_glow_mask_width;e.p=a;e.ic=!0;return e};a.hk=function(a,b,k,d,g,n,p,u,D){var q=c(a);0==a?(q.kb=!0,q.rb=k,q.zb=!1):1==a?(q.kb=!1,q.rb=!1,q.zb=!0):2==a?(q.kb=!1,q.rb=!0,q.zb=
  574. !0):3==a||4==a?(q.kb=!0,q.rb=!0,q.zb=!1):5==a||6==a?(q.kb=!1,q.rb=!1,q.zb=!0):7==a?(q.kb=!0,q.rb=!1,q.zb=!0):e.q("wrong main subscene type");q.zb&&u&&(q.self_shadow_normal_offset=u.self_shadow_normal_offset);q.p=b;if(a=p.Jm)q.nt.set([a.Ez,a.JB,a.hF,a.gF]),q.lt.set(a.color),q.mt=a.va;q.Dd.set(p.Dd);q.Ld.set(p.Ld);q.bg=p.bg;q.Sd=n.Sd;q.nf=n.nf;d&&(q.wc=d,d.Sd&&(q.sh=new Float32Array(d.Sd)),q.xy=d.waves_height,q.yy=d.waves_length,q.Kj=d.Kj,d.Tf&&D&&(q.Tf=!0,q.Sz=d.GI,q.Rz=d.FI,q.Tz.set(d.HI)));f(q,g);
  575. return q};a.dr=function(){var a=c(14);a.ic=!0;a.p=p.Lc(p.Qc);return a};a.tA=function(a,b,e){var d=c(15);b&&(d.type=16,d.kb=!1,d.rb=!0);d.enqueue=!1;d.p=a;f(d,e);return d};a.XJ=function(a){var b=c(17);b.Sb=!1;b.kb=!1;b.rb=!1;b.p=a;return b};a.TJ=function(a){var b=c(18);b.kb=!0;b.rb=!1;b.p=a;return b};a.iK=function(a,b){var e=c(9);e.p=a;f(e,b);return e};a.YJ=function(a){var b=c(19);b.kb=!1;b.rb=!1;b.p=a;b.ic=!0;return b};a.kK=function(a,b,e){var d=c(20);d.kb=!1;d.rb=!1;d.nd=!1;d.p=a;d.Sd=b.Sd;d.sh=
  576. new Float32Array(b.Sd);d.Mm=e.radius_increase;d.ssao_hemisphere=e.tM;d.Lm=e.influence;d.Km=e.dist_factor;d.UD=e.HO;d.ic=!0;return d};a.lK=function(a,b){var e=c(21);e.kb=!1;e.rb=!1;e.nd=!1;e.p=a;e.ssao_blur_depth=b.lI;e.ssao_blur_discard_value=b.Hz;e.ic=!0;return e};a.SJ=function(a){var b=c(22);b.kb=!1;b.rb=!1;b.nd=!1;b.Hf=1/a.Am;b.YA=a.az;b.p=p.Lc(p.Qc);b.ic=!0;return b};a.hv=function(a,b){var e=c(a);e.kb=23==a||24==a?!0:!1;e.rb=!1;e.nd=!1;e.Hf=1/b.Am;e.p=p.Lc(p.Qc);23==a&&(e.MM=new Float32Array(4));
  577. e.ic=!0;return e};a.WJ=function(a,b,e,d){var f=c(27);f.kb=!1;f.rb=!1;f.nd=!1;f.p=p.Lc(p.Qc);f.brightness=a;f.contrast=b;f.exposure=e;f.saturation=d;f.ic=!0;return f};a.dK=function(a,b){var e=c(28);e.kb=!1;e.rb=!1;e.nd=!1;e.p=p.Lc(p.Qc);e.uu=!0;e.mb_decay_threshold=a;e.mb_factor=b;e.ic=!0;return e};a.ev=function(a,b){var e=c(29);e.kb=!1;e.rb=!1;e.nd=!1;e.p=a;e.Hf=e.p.dof_power;e.gA=b;e.ic=!0;return e};a.uA=function(a){var b=c(30);b.kb=!1;b.rb=!1;b.nd=!1;b.p=a;b.Hf=b.p.dof_power;b.ic=!0;return b};a.fK=
  578. function(a,b){var e=c(31);e.nd=!1;e.p=a;f(e,b);return e};a.eK=function(a){var b=c(32);n.outlining_overview_mode?b.Zh.set(n.Zh):b.Zh.set(a.Zh);b.np=a.np;b.Bv=5;b.Au=3;b.nd=!1;b.p=p.Lc(p.Qc);b.ic=!0;return b};a.gv=function(a,b,e,d,g,n,p){var u=c(33);u.kb=!1;u.rb=!1;u.nd=!1;u.Dd=new Float32Array([1,1,1]);u.Ld=new Float32Array([1,1,1]);u.bg=1;u.JC=d;u.rh=b;u.Xs=g;u.mm=e;u.Qm=p;u.p=a;f(u,n);return u};a.$J=function(a,b){var e=c(34);e.kb=!1;e.rb=!1;e.nd=!1;e.p=p.Lc(p.Qc);e.god_rays_intensity=a;f(e,b);e.ic=
  579. !0;return e};a.jK=function(a,b,k,d){var g=c(35);g.enqueue=!1;g.kb=!1;g.rb=!1;g.nd=!1;var n=p.Lc(p.Qc);n.width=d;n.height=d;g.p=n;g.jk=e.wL();f(g,b);g.Dd=new Float32Array([1,1,1]);g.Ld=new Float32Array([1,1,1]);g.bg=1;g.Im.set(k.Im);g.procedural_skydome=k.procedural_skydome;g.use_as_environment_lighting=k.use_as_environment_lighting;g.rayleigh_brightness=k.rayleigh_brightness;g.mie_brightness=k.mie_brightness;g.spot_brightness=k.spot_brightness;g.scatter_strength=k.scatter_strength;g.rayleigh_strength=
  580. k.rayleigh_strength;g.mie_strength=k.mie_strength;g.rayleigh_collection_power=k.rayleigh_collection_power;g.mie_collection_power=k.mie_collection_power;g.mie_distribution=k.mie_distribution;if(a){g.Dd.set(a.Dd);g.Ld.set(a.Ld);g.bg=a.bg;if(b=a.Jm)g.nt.set([b.Ez,b.JB,b.hF,b.gF]),g.lt.set(b.color),g.mt=b.va,g.ID=b.invert,g.ND=b.OE,g.JD=b.JE,g.KD=b.KE,g.MD=b.ME,g.LD=b.LE,g.HD=b.Fz;g.fq=a.fq;g.gq=a.gq;g.hq=a.hq}return g};a.fv=function(){var a=c(36);a.kb=!1;a.rb=!1;a.p=p.Lc(p.Qc);a.ic=!0;return a};a.mK=
  581. function(a){var b=c(37);b.kb=!1;b.rb=!1;b.vb=a?"HMD":"ANAGLYPH";b.p=p.Lc(p.Qc);b.ic=!0;return b};a.bK=function(){var a=c(38);a.kb=!1;a.rb=!1;a.p=p.Lc(p.Qc);a.ic=!0;return a};a.UJ=function(){var a=c(39);a.kb=!1;a.rb=!1;a.p=p.Lc(p.Qc);a.ic=!0;return a};a.cK=function(a,b,e,d){var g=c(40);g.kb=!1;g.rb=!1;g.Rq=a;g.Qq=b;g.p=d;f(g,e);g.ic=!0;return g};a.VJ=function(a){var b=c(41);b.kb=!1;b.rb=!1;b.p=p.Lc(p.Qc);b.Fl=a;b.ic=!0;return b};a.tS=function(a){var b=c(42);b.kb=!1;b.rb=!1;b.p=a;b.ic=!0;return b};
  582. a.vA=function(){var a=c(43);a.enqueue=!1;return a};a.gK=function(){var a=c(44);a.ic=!0;return a};a.Qx=function(a){switch(a.type){case 0:return"MAIN OPAQUE";case 1:return"MAIN BLEND";case 2:return"MAIN XRAY";case 3:return"MAIN PLANE REFLECT";case 4:return"MAIN CUBE REFLECT";case 5:return"MAIN PLANE REFLECT BLEND";case 6:return"MAIN CUBE REFLECT BLEND";case 7:return"MAIN GLOW";case 8:return"SHADOW CAST";case 9:return"SHADOW RECEIVE";case 10:return"GRASS MAP";case 11:return"POSTPROCESSING ("+a.Ss.replace(/_/g,
  583. " ")+")";case 12:return"BLOOM BLUR";case 13:return"GLOW COMBINE";case 14:return"RESOLVE";case 15:return"COLOR PICKING";case 16:return"COLOR PICKING XRAY";case 17:return"DEBUG VIEW";case 18:return"ANCHOR VISIBILITY";case 19:return"DEPTH PACK";case 20:return"SSAO";case 21:return"SSAO BLUR";case 22:return"ANTIALIASING";case 23:return"SMAA BLENDING WEIGHT CALCULATION";case 24:return"SMAA EDGE DETECTION";case 25:return"SMAA RESOLVE";case 26:return"SMAA NEIGHBORHOOD BLENDING";case 27:return"COMPOSITING";
  584. case 28:return"MOTION BLUR";case 29:return"COC";case 30:return"DOF";case 31:return"OUTLINE MASK";case 32:return"OUTLINE";case 33:return"GOD RAYS";case 34:return"GOD RAYS COMBINE";case 35:return"SKY";case 36:return"COPY";case 37:return"STEREO";case 38:return"LUMINANCE";case 39:return"AVERAGE LUMINANCE";case 40:return"LUMINANCE TRUNCED";case 41:return"BLOOM";case 42:return"VELOCITY";case 44:return"PERFORMANCE";case 43:return"SINK";default:return"UNKNOWN"}};a.Bc=function(a,b){for(var c=b.pa,d=c.pb,e=
  585. 0;e<a.Ha.length;e++){var f=a.Ha[e].ma,g=f.indexOf(b);-1!=g&&(f.splice(g,1),f.length||a.Ha.splice(e,1))}e=a.zb?c.zf:0;a:{f=a.Ha;for(g=0;g<f.length;g++){var n=f[g];if(n.pb==d&&e==n.zf){f=n;break a}}f=null}f?f.ma.push(b):(a.Ha.push({pb:d,ma:[b],Nf:c.Nf,zf:e,Sb:!0}),a.Ow=!0)};a.Xg=function(a,b){var c={Sb:!0,uv:[!0,!0,!0,!0,!0,!0],te:b,pa:a,Xr:null};if(a.De&&a.fa.td){var d=a.fa.td;c.Xr={zN:new Float32Array(d.length),AN:new Float32Array(d.length),DK:new Float32Array(d.length/3),iF:new Float32Array(3),fI:u.xI(a.N)}}return c};
  586. a.BP=function(a){a.Ha.sort(g);a.Ow=!1}};fdage.module.__texcomp=function(a,q){function f(a,b,c,d){var f=new Int32Array(c,0,31),D,v,q,x,M,F;if(542327876!=f[0])return p.error("Invalid magic number in DDS header"),0;if(!f[20]&4)return p.error("Unsupported format, must contain a FourCC code"),0;D=f[21];switch(D){case e:v=8;q=b?b.COMPRESSED_RGB_S3TC_DXT1_EXT:null;break;case u:v=16;q=b?b.COMPRESSED_RGBA_S3TC_DXT3_EXT:null;break;case n:v=16;q=b?b.COMPRESSED_RGBA_S3TC_DXT5_EXT:null;break;default:return p.error("Unsupported FourCC code:",g(D)),null}F=
  587. 1;f[2]&131072&&!1!==d&&(F=Math.max(1,f[7]));x=f[4];M=f[3];f=f[1]+4;if(b)for(D=0;D<F;++D)d=Math.max(4,x)/4*Math.max(4,M)/4*v,b=new Uint8Array(c,f,d),a.compressedTexImage2D(a.TEXTURE_2D,D,q,x,M,0,b),f+=d,x=Math.max(.5*x,1),M=Math.max(.5*M,1);else if(D==e){Math.max(4,x);Math.max(4,M);c=b=new Uint16Array(c);v=f/2;q=x;var E=M,f=new Uint16Array(4);b=new Uint16Array(q*E);for(var A=0,K=0,h=K=A=D=0,l=0,w=0,r=0,J=q/4,E=E/4,B=0;B<E;B++)for(var Z=0;Z<J;Z++)D=v+4*(B*J+Z),f[0]=c[D],f[1]=c[D+1],A=f[0]&31,K=f[0]&
  588. 2016,h=f[0]&63488,l=f[1]&31,w=f[1]&2016,r=f[1]&63488,f[2]=5*A+3*l>>3|5*K+3*w>>3&2016|5*h+3*r>>3&63488,f[3]=5*l+3*A>>3|5*w+3*K>>3&2016|5*r+3*h>>3&63488,A=c[D+2],K=4*B*q+4*Z,b[K]=f[A&3],b[K+1]=f[A>>2&3],b[K+2]=f[A>>4&3],b[K+3]=f[A>>6&3],K+=q,b[K]=f[A>>8&3],b[K+1]=f[A>>10&3],b[K+2]=f[A>>12&3],b[K+3]=f[A>>14],A=c[D+3],K+=q,b[K]=f[A&3],b[K+1]=f[A>>2&3],b[K+2]=f[A>>4&3],b[K+3]=f[A>>6&3],K+=q,b[K]=f[A>>8&3],b[K+1]=f[A>>10&3],b[K+2]=f[A>>12&3],b[K+3]=f[A>>14];a.texImage2D(a.TEXTURE_2D,0,a.RGB,x,M,0,a.RGB,
  589. a.UNSIGNED_SHORT_5_6_5,b);d&&a.generateMipmap(a.TEXTURE_2D)}else return p.error("No manual decoder for",g(D),"and no native support"),0;return F}function c(a,b,c,d,e){var g=new XMLHttpRequest;g.open("GET",c,!0);g.responseType="arraybuffer";g.onload=function(){if(200==g.status){a.bindTexture(a.TEXTURE_2D,d);var c=f(a,b,g.response,!0);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.LINEAR);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,1<c?a.LINEAR_MIPMAP_LINEAR:a.LINEAR)}e&&e(d)};g.send(null)}
  590. function b(a){return a.charCodeAt(0)+(a.charCodeAt(1)<<8)+(a.charCodeAt(2)<<16)+(a.charCodeAt(3)<<24)}function g(a){return String.fromCharCode(a&255,a>>8&255,a>>16&255,a>>24&255)}var p=q("__print"),D=q("__util"),e=b("DXT1"),u=b("DXT3"),n=b("DXT5");a.RQ=f;a.SQ=function(a,b,c){var d=new Uint32Array(c,0,13);if(55727696==d[0]){var e=d[7],f=d[6],g=d[11],n=52+d[12];switch(d[2]){case 0:var p=2,u=1;break;case 1:p=2;u=3;break;case 2:p=4;u=0;break;case 3:p=4;u=2;break;default:D.q("Unsupported PVR V3 format.")}}else if(559044176==
  591. d[11]){e=d[2];f=d[1];g=d[3];n=d[0];g++;var q=d[4]&255,d=0<d[10];25==q?(p=4,u=d?2:0):24==q?(p=2,u=d?3:1):D.q("Unsupported PVR V2 format.")}else D.q("Unsupported PVR version.");q=2==p?8:4;d=4;switch(u){case 0:var E=b.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;break;case 1:E=b.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;break;case 2:E=b.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;break;case 3:E=b.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}b=q*d*p/8;for(p=0;p<g;p++){var u=Math.max(e>>p,1),A=Math.max(f>>p,1),K=u/q,h=A/d;2>K&&(K=2);2>h&&(h=2);K=
  592. K*h*b;h=new Uint8Array(c,n,K);a.compressedTexImage2D(a.TEXTURE_2D,p,E,u,A,0,h);n+=K}};a.DB=function(a,b){switch(b){case "dds":var c=new Int32Array(a,0,31);return{width:c[4],height:c[3]};case "pvr":c=new Uint32Array(a,0,13);if(55727696==c[0])var d=c[7],c=c[6];else d=c[2],c=c[1];return{width:d,height:c}}};a.LL=function(a,b){var c=1;if("dds"==b){var d=new Int32Array(a,0,31),f=d[21];switch(f){case e:c=6;break;case u:case n:c=4;break;default:p.error("Unsupported FourCC code:",g(f))}}else if("pvr"==b)if(d=
  593. new Uint32Array(a,0,13),55727696==d[0])switch(d[2]){case 0:c=12;break;case 1:c=16;break;case 2:c=6;break;case 3:c=8}else f=d[4]&255,d=0<d[10],25==f?c=d?8:6:24==f&&(c=d?16:12);return c};a.sT=function(a,b,e,d){var f=a.createTexture();c(a,b,e,f,d);return f}};fdage.module.__textures=function(a,q){function f(){return{type:0,source:"",Np:"",width:0,height:0,jo:1,anisotropic_filtering:"",ci:1024,pk:!1,hf:null,$a:0,gb:null,ce:null,Jk:!1,mq:-1,Ia:null,Jt:"",Wi:0,eg:0,na:0,Jb:0,Ji:0,vf:!1,tg:1,Tc:null,Hp:0,Gp:0,bi:-1,Jp:!1,qj:-1,kq:!1,qy:!1,li:!1,Dj:!1,repeat:!0,bm:"",am:"",cm:"",fw:"",ew:"",Wr:!1,Ck:"",Fu:"",$i:0}}function c(a,b,c){a.cm=b.uuid;a.am=b.filepath;a.fw=b.source;a.ew=b.name;a.bm=ia.bh(c+b.filepath);if(a.Wr=b.Gg)a.Ck=b.un;ca.push(a)}function b(a,b,
  594. c){var d=-1<b.indexOf(".dds"),e=-1<b.indexOf(".pvr");a.Wr=d||e;a.Ck=d?"dds":e?"pvr":"";a.am=b;a.bm=c}function g(b,c){var d=f();d.type=b;d.source="NONE";if(b==a.Bq||b==a.zq||b==a.Cq||b==a.Aq)d.ce=L.createRenderbuffer();else{var e=L.TEXTURE_2D,h=L.createTexture();L.bindTexture(e,h);L.texParameteri(e,L.TEXTURE_MAG_FILTER,L.LINEAR);L.texParameteri(e,L.TEXTURE_MIN_FILTER,L.LINEAR);L.texParameteri(e,L.TEXTURE_WRAP_S,L.CLAMP_TO_EDGE);L.texParameteri(e,L.TEXTURE_WRAP_T,L.CLAMP_TO_EDGE);var l=new Uint8Array([204,
  595. 204,204,255]);L.texImage2D(e,0,L.RGBA,1,1,0,L.RGBA,L.UNSIGNED_BYTE,l);ra.ho&&c&&L.texParameterf(e,L.TEXTURE_COMPARE_MODE,L.COMPARE_REF_TO_TEXTURE);L.bindTexture(e,null);d.$a=e;d.gb=h}return d}function p(a){"CANVAS"!=a.source&&ia.q("Wrong texture");var b=a.$a;L.bindTexture(b,a.gb);var c=H(a),d=v(a),e=z(a),f=a.hf.canvas;L.pixelStorei(L.UNPACK_FLIP_Y_WEBGL,!0);L.texImage2D(b,0,d,c,e,f);L.pixelStorei(L.UNPACK_FLIP_Y_WEBGL,!1);a.pk&&L.generateMipmap(b);L.bindTexture(b,null);a.width=f.width;a.height=f.height}
  596. function D(a){var b=a.$a;L.bindTexture(b,a.gb);L.pixelStorei(L.UNPACK_FLIP_Y_WEBGL,!0);4!=a.Ia.length?a.vf?n(a,a.Ia,a.width*a.tg,a.height*a.tg,!1):L.texImage2D(b,0,L.RGBA,L.RGBA,L.UNSIGNED_BYTE,a.Ia):L.texImage2D(b,0,L.RGBA,1,1,0,L.RGBA,L.UNSIGNED_BYTE,a.Ia);L.bindTexture(b,null)}function e(a){var b=a.$a;L.bindTexture(b,a.gb);L.pixelStorei(L.UNPACK_FLIP_Y_WEBGL,!0);a.vf?n(a,a.Tc[a.bi],a.width*a.tg,a.height*a.tg,!1):L.texImage2D(b,0,L.RGBA,L.RGBA,L.UNSIGNED_BYTE,a.Tc[a.bi]);L.bindTexture(b,null)}function u(){pa||
  597. (pa=document.createElement("canvas"));return pa}function n(a,b,c,d,e){e||(m(L.TEXTURE_2D),L.texImage2D(L.TEXTURE_2D,0,L.RGBA,L.RGBA,L.UNSIGNED_BYTE,b));L.bindTexture(L.TEXTURE_2D,null);G.HK(a,c,d,wa,va)}function t(a,b,c,d){for(var e=0;6>e;e++){var f=d[e],h=u();h.width=c;h.height=c;var l=h.getContext("2d");"POSITIVE_Y"==f[0]||"NEGATIVE_Y"==f[0]?(l.translate(0,c),l.scale(1,-1)):(l.translate(c,0),l.scale(-1,1));l.drawImage(a,f[1]*b,f[2]*b,b,b,0,0,c,c);L.texImage2D(L["TEXTURE_CUBE_MAP_"+f[0]],0,L.RGBA,
  598. L.RGBA,L.UNSIGNED_BYTE,h)}}function m(a){wa||(wa=L.createFramebuffer());L.bindTexture(a,null);va||(va=L.createTexture());L.bindTexture(a,va);L.texParameteri(a,L.TEXTURE_WRAP_S,L.CLAMP_TO_EDGE);L.texParameteri(a,L.TEXTURE_WRAP_T,L.CLAMP_TO_EDGE);L.texParameteri(a,L.TEXTURE_MAG_FILTER,L.LINEAR);L.texParameteri(a,L.TEXTURE_MIN_FILTER,L.LINEAR)}function k(a,b,c){var e=a.source,f=a.gb,h=a.$a,l=a.Ck,g=a.am,k=1,r=1;L.bindTexture(h,f);a.repeat?(L.texParameteri(h,L.TEXTURE_WRAP_S,L.REPEAT),L.texParameteri(h,
  599. L.TEXTURE_WRAP_T,L.REPEAT)):(L.texParameteri(h,L.TEXTURE_WRAP_S,L.CLAMP_TO_EDGE),L.texParameteri(h,L.TEXTURE_WRAP_T,L.CLAMP_TO_EDGE));if(4==b.length){var p=!0;b=new Uint8Array([255*b[0],255*b[1],255*b[2],255*b[3]])}if("IMAGE"==e)if(p)L.texImage2D(h,0,L.RGBA,1,1,0,L.RGBA,L.UNSIGNED_BYTE,b),a.width=1,a.height=1;else if(l){r=V.DB(b,l);p=ia.Vn(r.width)||ia.Vn(r.height);if(r.width>S.oc||r.height>S.oc){T.error('Image "'+g+'" has unsupported size: '+r.width+"x"+r.height+". Max available: "+S.oc+"x"+S.oc+
  600. ".");return}k=r.width;r=r.height;if(p||"pvr"==l)a.vf=!0,m(h),k=y(k*a.tg),r=y(r*a.tg);"dds"==l?V.RQ(L,ja.wB(),b,!0):"pvr"==l&&V.SQ(L,ja.vB(),b);a.vf&&(n(a,null,k,r,!0),L.bindTexture(h,f),L.generateMipmap(h));a.width=k;a.height=r;a.jo=V.LL(b,l)}else{L.pixelStorei(L.UNPACK_FLIP_Y_WEBGL,!0);a.Jk?ra.Ip?(k=b[0].width,r=b[0].height):(k=b.videoWidth,r=b.videoHeight):(k=b.width,r=b.height);a.width=k;a.height=r;if(k>S.oc||k>S.oc)T.warn('Image "'+g+'" has unsupported size: '+k+"x"+r+". Max available: "+S.oc+
  601. "x"+S.oc+". Reduced image size will be used."),a.tg=Math.min(S.oc/k,S.oc/r),a.vf=!0;a.Jk&&(c in na||(na[c]={}),na[c][a.Jt]=a,ra.Ip?(a.Tc=b,a.Hp=b.length,a.eg=a.Gp*a.Wi/b.length,b=b[0]):(a.Ia=b,a.Ia.loop=a.li,a.eg=b.duration?a.Wi/b.duration:U.Sc(),la.JA||(b.playbackRate=U.Sc()/a.eg,la.dA&&2<b.playbackRate&&(b.playbackRate=2)),d(a)));k=y(a.width*a.tg);r=y(a.height*a.tg);a.vf?(g=u(),f=g.getContext("2d"),g.width=k,g.height=r,f.drawImage(b,0,0,a.width,a.height,0,0,k,r),L.texImage2D(h,0,L.RGBA,L.RGBA,L.UNSIGNED_BYTE,
  602. g)):ra.Vb||!ia.Vn(a.width)&&!ia.Vn(a.height)?L.texImage2D(h,0,L.RGBA,L.RGBA,L.UNSIGNED_BYTE,b):(n(a,b,k,r,!1),a.vf=!0);f=a.gb;a.Jk||(L.bindTexture(h,f),L.generateMipmap(h),L.bindTexture(h,null));a.width=k;a.height=r}else if("ENVIRONMENT_MAP"==e)if(k=[["POSITIVE_X",2,0],["NEGATIVE_X",0,0],["POSITIVE_Y",1,1],["NEGATIVE_Y",0,1],["POSITIVE_Z",1,0],["NEGATIVE_Z",2,1]],p){for(g=0;6>g;g++)L.texImage2D(L["TEXTURE_CUBE_MAP_"+k[g][0]],0,L.RGBA,1,1,0,L.RGBA,L.UNSIGNED_BYTE,b);a.width=3;a.height=2}else{L.pixelStorei(L.UNPACK_FLIP_Y_WEBGL,
  603. !1);if(b.width%3||b.height%2){T.error('Cubemap Image "'+g+'" has unsupported size: '+b.width+"x"+b.height+". The width must be multiple of three and the height - multiple of two.");return}r=b.width/3;r>S.Sh?(T.warn('Cubemap Image "'+g+'" has unsupported size: '+b.width+"x"+b.height+". Max available: "+3*S.Sh+"x"+2*S.Sh+". Reduced image size will be used."),g=y(S.Sh/r*r),a.vf=!0):(g=y(r),!ra.Vb&&(3*g>S.oc||2*g>S.oc)&&(a.vf=!0));if(a.vf||ra.rx)t(b,r,g,k);else{l=b;f=g;m(L.TEXTURE_2D);L.texImage2D(L.TEXTURE_2D,
  604. 0,L.RGBA,L.RGBA,L.UNSIGNED_BYTE,l);L.bindTexture(L.TEXTURE_2D,null);for(l=0;6>l;l++)L.texImage2D(L.TEXTURE_CUBE_MAP_POSITIVE_X+l,0,L.RGBA,f,f,0,L.RGBA,L.UNSIGNED_BYTE,null);L.bindTexture(a.$a,null);L.bindFramebuffer(L.FRAMEBUFFER,wa);for(l=0;6>l;l++)G.GK(a,L.TEXTURE_CUBE_MAP_POSITIVE_X+l,f,r,va,l);L.bindFramebuffer(L.FRAMEBUFFER,null);L.bindTexture(a.$a,a.gb);L.texParameteri(a.$a,L.TEXTURE_MIN_FILTER,ua[ra.Vm]);L.texParameteri(a.$a,L.TEXTURE_MAG_FILTER,L.LINEAR)}ka.SI()&&(T.warn("Firefox detected, setting max cubemap size to 256, use canvas for resizing."),
  605. t(b,r,Q.Ty,k));a.width=3*g;a.height=2*g;L.generateMipmap(h)}else"NODE_TEX"==e&&(L.pixelStorei(L.UNPACK_FLIP_Y_WEBGL,!1),L.texImage2D(h,0,L.RGBA,b.width,b.height,0,L.RGBA,L.UNSIGNED_BYTE,b.data),a.width=b.width,a.height=b.height);L.bindTexture(h,null)}function d(a){a.Ia.AT=function(){D(a)}}function y(a){return ia.Vn(a)?ia.clamp(Math.pow(2,parseInt(a).toString(2).length),2,S.oc):a}function H(b){var c;switch(b.type){case a.Dg:c=L.RGBA;break;case a.Dq:c=L.RGB;break;case a.sn:c=L.RGBA;break;case a.tn:c=
  606. L.RGB;break;case a.Dl:c=L.DEPTH_COMPONENT;break;default:ia.q("Wrong texture type")}return c}function v(b){var c;switch(b.type){case a.Dg:c=ra.Vb?L.RGBA8:L.RGBA;break;case a.Dq:c=ra.Vb?L.RGB8:L.RGB;break;case a.sn:c=ra.Vb?L.RGBA8:L.RGBA;break;case a.tn:c=ra.Vb?L.RGB8:L.RGB;break;case a.Dl:c=ra.Vb?L.DEPTH_COMPONENT24:L.DEPTH_COMPONENT;break;default:ia.q("Wrong texture type")}return c}function z(b){var c;switch(b.type){case a.Dg:c=L.UNSIGNED_BYTE;break;case a.Dq:c=L.UNSIGNED_BYTE;break;case a.sn:c=L.FLOAT;
  607. break;case a.tn:c=L.FLOAT;break;case a.Dl:c=L.UNSIGNED_INT;break;default:ia.q("Wrong texture type")}return c}function x(a){return a&&a.ce?!0:!1}function M(a){a.Ia?a.Ia.play():a.Tc&&(a.Jp=!0);a.kq=!1}function F(a){a.Ia?a.Ia.pause():a.Tc&&(a.Jp=!1);a.kq=!0}function E(a){a.Ia?a.Ia.currentTime=a.Jb/a.eg:a.Tc&&(a.bi=K(a,a.Jb),e(a))}function A(a){return a.Ia?!a.Ia.paused:a.Tc?a.Jp:!1}function K(a,b){return Math.round(b*a.Hp/a.Wi)}function h(a,b){if(qa.is_dynamic(a))return l(a,b);for(var c=a.ts,d=0;d<c.length;d++){var e=
  608. l(c[d],b);if(e)return e}return null}function l(a,b){var c=a.F;if(c.length)for(var c=c[0].M,d=0;d<c.length;d++){var e=c[d];if("MAIN"==e.type||"SKY"==e.type)for(var f=0;f<e.ra.length;f++)if(e.Rf[f]==b)return e.ra[f]}return null}function w(a,b,c){a=a.F;if(a.length){a=a[0].M;for(var d=0;d<a.length;d++){var e=a[d];if("MAIN"==e.type)for(var f=0;f<e.ra.length;f++)e.Rf[f]==b&&(I(e.ra[f]),e.ra[f]=c,C(c))}}}function r(a,b){var c=a.F;if(c.length)for(var c=c[0].M,d=0;d<c.length;d++){var e=c[d];if("MAIN"==e.type)for(var f=
  609. 0;f<e.ra.length;f++){var h=e.ra[f],l=e.Rf[f];-1==b.indexOf(l)&&"NODE_TEX"!=h.source&&b.push(l)}}}function J(a,b,c){var d=a.elements;a=a.interpolation;for(var e=0;e<b;e++){var f=e/(b-1),h=B(d,f,!0),l=Z(d,f,!0);if(h&&l)if("CONSTANT"==a)c.push.apply(c,h.color);else{var g=c,k=h,m=l;k==m?g.push.apply(g,k.color):(g.push(aa.ks(m.color[0],m.position,k.color[0],k.position,f)),g.push(aa.ks(m.color[1],m.position,k.color[1],k.position,f)),g.push(aa.ks(m.color[2],m.position,k.color[2],k.position,f)),g.push(aa.ks(m.color[3],
  610. m.position,k.color[3],k.position,f)))}l&&!h&&c.push.apply(c,l.color);h&&!l&&c.push.apply(c,h.color)}}function B(a,b,c){for(var d=null,e=0;e<a.length;e++){var f=c?b-a[e].position:b-a[e][1][0];0<=f&&(d?f<=(c?b-d.position:b-a[e][1][0])&&(d=a[e]):d=a[e])}return d}function Z(a,b,c){for(var d=null,e=0;e<a.length;e++){var f=c?a[e].position-b:a[e][1][0]-b;0<=f&&(d?f<=(c?d.position-b:d[1][0]-b)&&(d=a[e]):d=a[e])}return d}function I(a){0<a.$i&&--a.$i;0>=a.$i&&(a.gb&&L.deleteTexture(a.gb),a=ca.indexOf(a),-1!=
  611. a&&ca.splice(a,1))}function C(a){a.$i+=1}function N(a,b){for(var c=0;c<ca.length;c++){var d=ca[c];if(d.bm==a&&d.type==b.type&&d.repeat==b.repeat&&d.anisotropic_filtering==b.anisotropic_filtering&&d.Dj==b.Dj)return d}return null}var Q=q("__compat"),W=q("__config"),V=q("__texcomp"),ka=q("__debug"),ja=q("__extensions"),T=q("__print"),U=q("__time"),ia=q("__util"),G=q("__renderer"),qa=q("__obj_util"),aa=q("__curve"),ga=q("__vec3"),ya=q("__scenes"),ra=W.A,S=W.Eh,la=W.S,pa=null,va=null,wa=null;a.Nd=0;a.J=
  612. 0;a.bH=0;a.$G=0;a.aH=0;a.ZG=0;a.Dg=10;a.Dq=20;a.sn=30;a.tn=40;a.Dl=50;a.Bq=60;a.zq=70;a.Cq=80;a.Aq=90;a.Hy=128;a.kF=128;a.Xy=128;var ca=[],ta={},na={},L=null,ua;a.Ye=function(b){ua=[b.NEAREST_MIPMAP_NEAREST,b.NEAREST_MIPMAP_LINEAR,b.LINEAR_MIPMAP_NEAREST,b.LINEAR_MIPMAP_LINEAR];a.Nd=b.NEAREST;a.J=b.LINEAR;a.bH=b.NEAREST_MIPMAP_NEAREST;a.$G=b.LINEAR_MIPMAP_NEAREST;a.aH=b.NEAREST_MIPMAP_LINEAR;a.ZG=b.LINEAR_MIPMAP_LINEAR;L=b};a.PS=function(a,b){return b in ta&&a in ta[b]?ta[b][a].hf:null};a.aU=function(a,
  613. b){return b in ta&&a in ta[b]?(p(ta[b][a]),!0):!1};a.jz=c;a.ik=g;a.qA=function(b){var c=L.createTexture(),d=L.TEXTURE_CUBE_MAP;L.bindTexture(d,c);L.texParameteri(d,L.TEXTURE_MAG_FILTER,L.LINEAR);L.texParameteri(d,L.TEXTURE_MIN_FILTER,L.LINEAR);L.texParameteri(d,L.TEXTURE_WRAP_S,L.CLAMP_TO_EDGE);L.texParameteri(d,L.TEXTURE_WRAP_T,L.CLAMP_TO_EDGE);for(var e="TEXTURE_CUBE_MAP_POSITIVE_X TEXTURE_CUBE_MAP_NEGATIVE_X TEXTURE_CUBE_MAP_POSITIVE_Y TEXTURE_CUBE_MAP_NEGATIVE_Y TEXTURE_CUBE_MAP_POSITIVE_Z TEXTURE_CUBE_MAP_NEGATIVE_Z".split(" "),
  614. h=0;6>h;h++)L.texImage2D(L[e[h]],0,L.RGBA,b,b,0,L.RGBA,L.UNSIGNED_BYTE,null);L.bindTexture(d,null);d=f();d.type=a.Dg;d.source="NONE";d.width=3*b;d.height=2*b;d.jo=1;d.gb=c;d.$a=L.TEXTURE_CUBE_MAP;return d};a.zx=function(a,b,c){if(!x(a)){var d=a.$a;L.bindTexture(d,a.gb);b&&L.texParameteri(d,L.TEXTURE_MIN_FILTER,b);c&&L.texParameteri(d,L.TEXTURE_MAG_FILTER,c);L.bindTexture(d,null)}};a.SS=function(b){if(x(b))return{min:a.Nd,oN:a.Nd};var c=b.$a;L.bindTexture(c,b.gb);b=L.getTexParameter(c,L.TEXTURE_MIN_FILTER);
  615. var d=L.getTexParameter(c,L.TEXTURE_MAG_FILTER);L.bindTexture(c,null);return{min:b,oN:d}};a.resize=function(b,c,d){c=Math.max(c,ra.Bo?2:1);d=Math.max(d,ra.Bo?2:1);if(b.width!=c||b.height!=d){switch(b.type){case a.Bq:L.bindRenderbuffer(L.RENDERBUFFER,b.ce);L.renderbufferStorage(L.RENDERBUFFER,L.RGB565,c,d);L.bindRenderbuffer(L.RENDERBUFFER,null);break;case a.zq:L.bindRenderbuffer(L.RENDERBUFFER,b.ce);L.renderbufferStorage(L.RENDERBUFFER,L.DEPTH_COMPONENT16,c,d);L.bindRenderbuffer(L.RENDERBUFFER,null);
  616. break;case a.Cq:L.bindRenderbuffer(L.RENDERBUFFER,b.ce);L.renderbufferStorageMultisample(L.RENDERBUFFER,ra.pc,L.RGBA8,c,d);L.bindRenderbuffer(L.RENDERBUFFER,null);break;case a.Aq:L.bindRenderbuffer(L.RENDERBUFFER,b.ce);L.renderbufferStorageMultisample(L.RENDERBUFFER,ra.pc,L.DEPTH_COMPONENT24,c,d);L.bindRenderbuffer(L.RENDERBUFFER,null);break;default:var e=b.$a;L.bindTexture(e,b.gb);var f=H(b),h=v(b),l=z(b);L.texImage2D(e,0,h,c,d,0,f,l,null);L.bindTexture(e,null)}c>S.oc||d>S.oc?ia.q('Slink texture "'+
  617. b.type+'" has unsupported size: '+c+"x"+d+". Max available: "+S.oc+"x"+S.oc+"."):(b.width=c,b.height=d)}};a.nK=function(b,d,e,h,l){var g=b.type,k=b.image,m=f();m.Fu=b.uuid;m.type=a.Dg;m.width=1;m.height=1;var n=b.b4w_anisotropic_filtering;"DEFAULT"===n&&(n=d);"OFF"!==n&&ra.anisotropic_filtering&&ja.jB()&&(n=parseFloat(n.split("x")[0]),m.anisotropic_filtering=n);if("REPEAT"!=b.extension||b.b4w_shore_dist_map)m.repeat=!1;if(k&&("IMAGE"==g&&"MOVIE"==k.source&&(m.Jk=!0,m.Jt=b.name,m.na=b.frame_start,
  618. m.Jb=b.frame_offset,m.Ji=b.frame_duration,m.qy=b.use_auto_refresh,m.li=b.use_cyclic,m.Wi=b.movie_length,m.Dj=b.b4w_nla_video,0!=m.Jb&&T.warn('Frame offset for texture "'+b.name+'" has a nonzero value. Can lead to undefined behaviour for mobile devices.')),d=ia.bh(l+k.filepath),d=N(d,m))){b.s=d;return}d=new Uint8Array([204,204,204,255]);switch(g){case "IMAGE":var n=L.createTexture(),r=L.TEXTURE_2D;L.bindTexture(r,n);L.texImage2D(r,0,L.RGBA,1,1,0,L.RGBA,L.UNSIGNED_BYTE,d);break;case "NONE":n=L.createTexture();
  619. r=L.TEXTURE_2D;L.bindTexture(r,n);if("NONE"==b.b4w_source_type)return;if("SCENE"==b.b4w_source_type)if(b.b4w_source_id&&(e=ia.keysearch("name",b.b4w_source_id,e)))m.ci=b.b4w_source_size,e.ff=e.ff||[],e.ff.push(m),C(m),L.texImage2D(r,0,L.RGBA,1,1,0,L.RGBA,L.UNSIGNED_BYTE,d);else return;break;case "ENVIRONMENT_MAP":n=L.createTexture();r=L.TEXTURE_CUBE_MAP;L.bindTexture(r,n);e="POSITIVE_X NEGATIVE_X POSITIVE_Y NEGATIVE_Y POSITIVE_Z NEGATIVE_Z".split(" ");for(var G=0;6>G;G++)L.texImage2D(L["TEXTURE_CUBE_MAP_"+
  620. e[G]],0,L.RGBA,1,1,0,L.RGBA,L.UNSIGNED_BYTE,d);break;case "BLEND":return;default:T.error('texture "'+b.name+'" has unsupported type "'+g+'"');return}m.gb=n;m.$a=r;m.anisotropic_filtering&&L.texParameterf(m.$a,ja.jB().TEXTURE_MAX_ANISOTROPY_EXT,m.anisotropic_filtering);"NONE"==g&&(!b.b4w_enable_canvas_mipmapping||"CANVAS"!=b.b4w_source_type)||"IMAGE"==g&&"MOVIE"==k.source?L.texParameteri(r,L.TEXTURE_MIN_FILTER,L.LINEAR):L.texParameteri(r,L.TEXTURE_MIN_FILTER,ua[ra.Vm]);L.texParameteri(r,L.TEXTURE_MAG_FILTER,
  621. L.LINEAR);"CANVAS"==b.b4w_source_type&&"NONE"==g?(g=b.b4w_source_id,e=b.b4w_source_size,m.pk=b.b4w_enable_canvas_mipmapping,m.Np=g,m.source="CANVAS",d=document.createElement("canvas"),d.width=e,d.height=e,m.hf=d.getContext("2d"),h in ta||(ta[h]={}),ta[h][g]=m,p(m)):"SCENE"==b.b4w_source_type&&"NONE"==g?(m.Np=b.b4w_source_id,m.source="SCENE"):(m.source=g,L.generateMipmap(r),L.bindTexture(r,null));k&&c(m,k,l);b.s=m};a.GE=D;a.FE=e;a.Yp=k;a.zI=y;a.im=function(a){return a&&(a.gb||a.ce)?!0:!1};a.hm=x;a.jT=
  622. function(b){return b.type==a.sn||b.type==a.tn?!0:!1};a.kM=function(b){var c=0;switch(b.type){case a.Dg:case a.Dq:c=4;break;case a.sn:case a.tn:c=16;break;case a.Dl:c=3;break;case a.Bq:case a.zq:c=2;break;case a.Cq:c=4*ra.pc;break;case a.Aq:c=3*ra.pc}return c};a.cleanup=function(){if(!ra.Ip)for(var a in na)for(var b in na[a])na[a][b].Ia.pause(),na[a][b].Ia.src="",na[a][b].Ia.load();ca.length=0;ta={};na={}};a.pause=function(){for(var a in na)for(var b in na[a]){var c=na[a][b];A(c)&&F(c)}};a.reset=function(){for(var a in na)for(var b in na[a])E(na[a][b])};
  623. a.play=function(a){for(var b in na)for(var c in na[b]){var d=na[b][c];a&&!d.kq||M(d)}};a.Wv=function(a,b){return b in na&&a in na[b]?na[b][a]:null};a.vy=function(a){return a.Dj};a.play_video=M;a.pause_video=F;a.reset_video=E;a.UO=function(a,b){if(void 0 in na&&a in na[void 0]){var c=na[void 0][a];c.Ia?c.Ia.currentTime=b/c.eg:c.Tc&&(c.bi=b,e(c))}};a.aF=A;a.bF=function(a){return a.Ia||a.Tc?a.Ia?2<=a.Ia.readyState:!0:0};a.YE=function(a){return a.Ia||a.Tc?a.Ia?Math.round(a.Ia.currentTime*a.eg):a.bi:0};
  624. a.$E=function(a){return a.Ia||a.Tc?a.Ia?a.Jb:K(a,a.Jb):0};a.fR=function(a){if(!a.Ia&&!a.Tc)return 0;var b=Math.min(a.Ji,a.Wi-a.Jb);return a.Ia?a.Jb+b:K(a,a.Jb+b)};a.dt=function(a,b){return Math.round(b*a.Gp*(U.Sc()/a.eg))};a.ZE=function(a){return Math.min(a.Ji,a.Wi-a.Jb)};a.eR=K;a.JL=function(a,b){var c=h(a,b);return c&&"CANVAS"==c.source?c.hf:null};a.xQ=function(a,b){var c=h(a,b);return c&&"CANVAS"==c.source?(p(c),!0):!1};a.jM=h;a.get_texture_names=function(a){var b=[];if(qa.is_dynamic(a))r(a,b);
  625. else{a=a.ts;for(var c=0;c<a.length;c++)r(a[c],b)}return b};a.tP=function(a){for(var b={},c=0;c<a.length;c++){for(var d=a[c].ra,e=a[c].fd,h=[],l=[],g=0;g<d.length;g++){var k=d[g],m=e[g];if("CANVAS"==k.source)if(m in b)k=b[m];else{var n=d[g],k=f();k.source="CANVAS";k.width=n.width;k.height=n.height;k.pk=n.pk;k.type=n.type;n=document.createElement("canvas");n.width=k.width;n.height=k.height;k.hf=n.getContext("2d");k.$a=L.TEXTURE_2D;k.gb=L.createTexture();L.bindTexture(L.TEXTURE_2D,k.gb);k.pk?L.texParameteri(L.TEXTURE_2D,
  626. L.TEXTURE_MIN_FILTER,ua[ra.Vm]):L.texParameteri(L.TEXTURE_2D,L.TEXTURE_MIN_FILTER,L.LINEAR);L.texParameteri(L.TEXTURE_2D,L.TEXTURE_MAG_FILTER,L.LINEAR);L.bindTexture(L.TEXTURE_2D,null);n=k;n.hf.drawImage(d[g].hf.canvas,0,0);p(n);b[m]=k}h.push(k);l.push(m)}a[c].ra=h}};a.WK=function(a,b){for(var c=[],d=0;d<a.length;d++)J(a[d].data.value.color_ramp,b,c);return new Uint8Array(c.map(function(a){return ia.clamp(255*a,0,255)}))};a.vI=J;a.$K=function(a,b){for(var c=new Float32Array(3),d=new Float32Array(3),
  627. e=[],f=0;f<a.length;f++){for(var h=a[f].data.value,l=[],g=h.curve_mapping.curves_data,k=h.curve_mapping.curve_extend,m=h.curve_mapping.curves_handle_types,h=0;h<g.length;h++){for(var n=k[h],r=g[h],p=[],G=m[h],fa=0;fa<r.length;fa++)p.push([new Float32Array(3),new Float32Array(r[fa].concat(0)),new Float32Array(3)]);aa.Ku(p[0],null,p[1],G[0],G[0]);for(fa=1;fa<p.length-1;fa++)aa.Ku(p[fa],p[fa-1],p[fa+1],G[fa],G[fa]);aa.Ku(p[p.length-1],p[p.length-2],null,G[p.length-1],G[p.length-1]);if(2<p.length){if("AUTO"==
  628. G[0]){ga.subtract(p[0][2],p[0][1],c);fa=ga.length(c);ga.copy(p[1][0],d);d[0]<p[0][1][0]&&(d[0]=p[0][1][0]);ga.subtract(d,p[0][1],d);var X=ga.length(d);1E-8<X&&(ga.scale(d,fa/X,d),ga.add(p[0][1],d,p[0][2]),ga.subtract(p[0][1],d,p[0][0]))}r=p.length-1;"AUTO"==G[0]&&(ga.subtract(p[r][0],p[r][1],c),fa=ga.length(c),ga.copy(p[r-1][2],d),d[0]>p[r][1][0]&&(d[0]=p[r][1][0]),ga.subtract(d,p[r][1],d),X=ga.length(d),1E-8<X&&(ga.scale(d,fa/X,d),ga.add(p[r][1],d,p[r][0]),ga.subtract(p[r][1],d,p[r][2])))}for(r=
  629. 0;r<p.length-1;r++)aa.lJ(p[r][1],p[r][2],p[r+1][0],p[r+1][1]);r=[];3>=g.length?(fa=Math.round(-b/2),G=Math.round(b/2)):(fa=0,G=b);for(;fa<G;fa++){var X=fa/(G-1),Y=B(p,X,!1),t=Z(p,X,!1);Y&&t?r.push(aa.zz(X,Y[1],Y[2],t[0],t[1],.001)):t&&!Y?"EXTRAPOLATED"==n?(X=t[1][0]==t[2][0]?t[1][1]:aa.jC(X,t[1],t[2]),r.push(X)):r.push(t[1][1]):Y&&!t&&("EXTRAPOLATED"==n?(X=Y[0][0]==Y[1][0]?Y[1][1]:aa.jC(X,Y[0],Y[1]),r.push(X)):r.push(Y[1][1]))}l.push(r)}e.push(l)}c=[];for(fa=0;fa<e.length;fa++)for(l=e[fa],h=0;h<l[0].length;h++)3>=
  630. l.length?(d=ia.clamp(127.5*(l[0][h]+1),0,255),f=ia.clamp(127.5*(l[1][h]+1),0,255),g=ia.clamp(127.5*(l[2][h]+1),0,255),r=255):(d=ia.clamp(255*l[0][h],0,255),f=ia.clamp(255*l[1][h],0,255),g=ia.clamp(255*l[2][h],0,255),r=ia.clamp(255*l[3][h],0,255)),c.push(d,f,g,r);return new Uint8Array(c)};a.pA=function(b,c){var d=g(a.Dg,!1);d.source="NODE_TEX";d.repeat=!1;k(d,{width:c,height:b.length/(4*c),data:b});return d};a.change_image=function(a,c,d,e,h){var l=ia.bh(h);if("WORLD"!=a.type){var g=N(l,c);if(!g){g=
  631. f();g.type=c.type;g.source=c.source;g.Np=c.Np;g.width=c.width;g.height=c.height;g.jo=c.jo;g.ci=c.ci;g.pk=c.pk;g.hf=c.hf;g.$a=c.$a;g.gb=c.gb;g.ce=c.ce;g.Jk=c.Jk;g.mq=c.mq;g.Ia=c.Ia;g.Jt=c.Jt;g.Wi=c.Wi;g.eg=c.eg;g.na=c.na;g.Jb=c.Jb;g.Ji=c.Ji;g.vf=c.vf;g.tg=c.tg;g.Tc=c.Tc;g.Hp=c.Hp;g.Gp=c.Gp;g.bi=c.bi;g.Jp=c.Jp;g.qj=c.qj;g.kq=c.kq;g.qy=c.qy;g.li=c.li;g.Dj=c.Dj;g.repeat=c.repeat;g.am=c.am;g.bm=c.bm;g.cm=c.cm;g.fw=c.fw;g.ew=c.ew;g.Wr=c.Wr;g.Ck=c.Ck;var m=g;L.bindTexture(c.$a,c.gb);var n=L.getTexParameter(c.$a,
  632. L.TEXTURE_MAG_FILTER),r=L.getTexParameter(c.$a,L.TEXTURE_MIN_FILTER),p=L.getTexParameter(c.$a,L.TEXTURE_WRAP_S);c=L.getTexParameter(c.$a,L.TEXTURE_WRAP_T);m.gb=L.createTexture();L.bindTexture(m.$a,m.gb);L.texParameteri(m.$a,L.TEXTURE_MAG_FILTER,n);L.texParameteri(m.$a,L.TEXTURE_MIN_FILTER,r);L.texParameteri(m.$a,L.TEXTURE_WRAP_S,p);L.texParameteri(m.$a,L.TEXTURE_WRAP_T,c);L.bindTexture(m.$a,null);b(g,h,l);ca.push(g);k(g,e,0)}e=g;if(qa.is_dynamic(a))w(a,d,e);else for(a=a.ts,h=0;h<a.length;h++)w(a[h],
  633. d,e)}else g=c,b(g,h),k(g,e,0),ya.NQ(a)};a.lO=I;a.LB=C;a.Bd=function(a){return a.texture.s};a.zO=function(){L=null};a.rB=function(){return ca}};fdage.module.__assets=function(a,q){function f(){return y.QB()?q(y.Vd.Tq).data:null}function c(){var a={Eq:null,oH:function(b){switch(a.responseType){case "json":case "text":return b;case "arraybuffer":b=atob(b);for(var c=b.length,d=new Int8Array(c),e=0;e<c;e++)d[e]=b.charCodeAt(e);return d.buffer;default:return b}},status:0,readyState:0,response:"",responseType:"",onreadystatechange:null,overrideMimeType:function(){},addEventListener:function(){},open:function(b,c){a.Eq=c;a.readyState=1},send:function(){a.status=
  634. 404;a.readyState=4;var b=f();b&&a.Eq in b&&(a.status=200,b[a.Eq]&&(a.response=a.oH(b[a.Eq])));if("[object Function]"==={}.toString.call(a.onreadystatechange))a.onreadystatechange()}};return a}function b(b){for(var c=0,d=0;d<b.length;d++){var f=b[d];20===f.state&&c++;if(c>=E.wN)break;if(10===f.state)switch(f.state=20,c++,f.type){case a.AT_ARRAYBUFFER:g(f,"arraybuffer");break;case a.AT_JSON:g(f,"json");break;case a.AT_TEXT:g(f,"text");break;case a.AT_AUDIOBUFFER:p(f);break;case a.AT_IMAGE_ELEMENT:D(f);
  635. break;case a.AT_AUDIO_ELEMENT:e(f);break;case a.pq:u(f);break;case a.oq:n(f);break;default:x.q("Wrong asset type: "+f.type)}}}function g(b,d){var e=b.url.split("?t=")[0];if(e in l)"json"==d?b.Pb(x.O(l[e]),b.id,b.type,b.url,b.tb):b.Pb(l[e],b.id,b.type,b.url,b.tb);else{var h=f(),g=h&&b.url in h?new c:new XMLHttpRequest,h=null;if("GET"==b.ve)g.open("GET",b.url,!0);else if("POST"==b.ve)switch(g.open("POST",b.url,!0),b.Yk){case a.Ey:h="text/plain";break;case a.Dy:h="application/json"}if(b.fj)for(var k in b.fj)"Content-Type"==
  636. k?h=b.fj[k]:g.setRequestHeader(k,b.fj[k]);h&&g.setRequestHeader("Content-Type",h);"text"==d?(g.overrideMimeType("text/plain"),g.responseType="text"):"json"==d?(g.overrideMimeType("application/json"),g.responseType="text"):g.responseType=d;g.onreadystatechange=function(){if(40!=b.state&&4==g.readyState){if(200==g.status||0==g.status){var a=g.response;if(a){if("json"==d&&"string"==typeof a)try{a=JSON.parse(a,b.NM)}catch(c){v.error(c+" (parsing JSON "+b.url+")");b.Pb(null,b.id,b.type,b.url,b.tb);return}b.hg&&
  637. (l[e]="json"==d?x.O(a):a);b.Pb(a,b.id,b.type,b.url,b.tb)}else v.error("empty responce when trying to get "+b.url),b.Pb(null,b.id,b.type,b.url,b.tb)}else v.error(g.status+" when trying to get "+b.url),b.Pb(null,b.id,b.type,b.url,b.tb);b.state=30}};g.addEventListener("progress",function(a){a.lengthComputable&&b.UC(a.loaded/a.total)},!1);g.send(b.ij)}}function p(a){var b=a.url.split("?t=")[0];if(b in J)a.Pb(J[b],a.id,a.type,a.url,a.tb),a.state=30;else{"GET"!=a.ve&&x.q("Unsupported request type for audio buffer");
  638. var d=(b=f())&&a.url in b?new c:new XMLHttpRequest;d.open("GET",a.url,!0);d.responseType="arraybuffer";d.onreadystatechange=function(){if(40!=a.state&&4==d.readyState)if(200==d.status||0==d.status){var b=d.response;b?z.zK(b,function(b){a.Pb(b,a.id,a.type,a.url,a.tb);a.state=30;a.hg&&(J[a.url.split("?t=")[0]]=b)},function(){a.Pb(null,a.id,a.type,a.url,a.tb);v.error("failed to decode "+a.url);a.state=30}):(a.Pb(null,a.id,a.type,a.url,a.tb),v.error("empty responce when trying to get "+a.url),a.state=
  639. 30)}else a.Pb(null,a.id,a.type,a.url,a.tb),v.error(d.status+" when trying to get "+a.url),a.state=30};d.send(a.ij)}}function D(a){var b=a.url.split("?t=")[0];if(b in w)a.Pb(w[b],a.id,a.type,a.url,a.tb),a.state=30;else{"GET"!=a.ve&&x.q("Unsupported request type for image element");var c=document.createElement("img");F.allow_cors&&(c.crossOrigin="Anonymous");c.onload=function(){40!=a.state&&(a.Pb(c,a.id,a.type,a.url,a.tb),a.state=30,a.hg&&(w[a.url.split("?t=")[0]]=c))};c.addEventListener("error",function(){40!=
  640. a.state&&(a.Pb(null,a.id,a.type,a.url,a.tb),v.error("could not load image: "+a.url),a.state=30)},!1);if((b=f())&&a.url in b)if(b[a.url]){var d=m(a.url);c.src="data:"+d+";base64,"+b[a.url]}else H.is_ie11()?(b=document.createEvent("CustomEvent"),b.initCustomEvent("error",!1,!1,null)):b=new CustomEvent("error"),c.dispatchEvent(b);else c.src=a.url}}function e(a){var b=a.url.split("?t=")[0];if(b in r)a.Pb(r[b],a.id,a.type,a.url,a.tb),a.state=30;else{"GET"!=a.ve&&x.q("Unsupported request type for audio element");
  641. var c=document.createElement("audio");F.allow_cors&&(c.crossOrigin="Anonymous");c.addEventListener("loadeddata",function(){40!=a.state&&(a.Pb(c,a.id,a.type,a.url,a.tb),a.state=30,a.hg&&(r[a.url.split("?t=")[0]]=c))},!1);c.addEventListener("error",function(){40!=a.state&&(a.Pb(null,a.id,a.type,a.url,a.tb),v.error("could not load sound: "+a.url),a.state=30)},!1);c.addEventListener("stalled",function(){40!=a.state&&(a.Pb(null,a.id,a.type,a.url,a.tb),v.error("could not load sound: "+a.url),a.state=30)},
  642. !1);if((b=f())&&a.url in b)if(b[a.url]){var d=k(a.url);c.src="data:"+d+";base64,"+b[a.url];40!=a.state&&(a.Pb(c,a.id,a.type,a.url,a.tb),a.state=30)}else H.is_ie11()?(b=document.createEvent("CustomEvent"),b.initCustomEvent("error",!1,!1,null)):b=new CustomEvent("error"),c.dispatchEvent(b);else c.src=a.url,F.is_mobile_device&&c.load();F.Iw&&(c.autoplay=!0,c.pause());setTimeout(function(){c.AP=1},5E3)}}function u(a){function b(){40!=a.state&&(a.Pb(null,a.id,a.type,a.url),v.error("could not load video: "+
  643. a.url,a.tb),a.state=30)}var c=a.url.split("?t=")[0];if(c in w)a.Pb(w[c],a.id,a.type,a.url,a.tb),a.state=30;else{"GET"!=a.ve&&x.q("Unsupported request type for video element");var e=document.createElement("video");e.muted=!0;F.allow_cors&&(e.crossOrigin="Anonymous");e.addEventListener("loadeddata",function(){e.removeEventListener("error",b,!1);40!=a.state&&(a.Pb(e,a.id,a.type,a.url,a.tb),a.state=30,a.hg&&(w[a.url.split("?t=")[0]]=e))},!1);e.addEventListener("error",b,!1);if((c=f())&&a.url in c)if(c[a.url]){var h=
  644. d(a.url);e.src="data:"+h+";base64,"+c[a.url];40!=a.state&&e.addEventListener("loadeddata",function(){a.Pb(e,a.id,a.type,a.url,a.tb);a.state=30},!1)}else H.is_ie11()?(c=document.createEvent("CustomEvent"),c.initCustomEvent("error",!1,!1,null)):c=new CustomEvent("error"),e.dispatchEvent(c);else e.src=a.url,F.is_mobile_device&&e.load();F.Iw&&(e.autoplay=!0,e.pause());setTimeout(function(){e.AP=1},1E4)}}function n(b){function d(a){b.Pb(a,b.id,b.type,b.url,b.tb);b.state=30;b.hg&&(w[b.url.split("?t=")[0]]=
  645. a)}var e=b.url.split("?t=")[0];if(e in w)b.Pb(w[e],b.id,b.type,b.url,b.tb),b.state=30;else{"GET"!=b.ve&&x.q("Unsupported request type for seq video element");var h=(e=f())&&b.url in e?new c:new XMLHttpRequest;if(null==b.Yk&&null==b.ij)h.open("GET",b.url,!0);else switch(h.open("POST",b.url,!0),b.Yk){case a.Ey:h.setRequestHeader("Content-type","text/plain");break;case a.Dy:h.setRequestHeader("Content-type","application/json")}h.responseType="arraybuffer";h.onreadystatechange=function(){if(40!=b.state&&
  646. 4==h.readyState)if(200==h.status||0==h.status){var a=h.response;a?t(a,d):(b.Pb(null,b.id,b.type,b.url,b.tb),v.error("empty responce when trying to get "+b.url),b.state=30)}else b.Pb(null,b.id,b.type,b.url,b.tb),v.error(h.status+" when trying to get "+b.url),b.state=30};h.addEventListener("progress",function(a){a.lengthComputable&&b.UC(a.loaded/a.total)},!1);h.send(b.ij)}}function t(a,b){for(var c=new Int32Array(a),d=new Int8Array(a),e=c[3],f={images:[],Gz:[],eg:c[4]},h=20,l=0;l<e;l++){var g=c[h/4],
  647. k=new Blob([d.subarray(h+4,h+4+g)],{type:"image/jpg"}),m=document.createElement("img");m.src=window.URL.createObjectURL(k);f.images.push(m);f.Gz.push(k);h+=g+8-g%4}m.onload=function(){for(var a=0;a<f.images.length;a++)window.URL.revokeObjectURL(f.images[a].src);delete f.Gz;b(f)}}function m(a){var b="image";switch(x.Nv(a).toLowerCase()){case "jpeg":case "jpg":b+="/jpeg";break;case "png":b+="/png"}return b}function k(a){var b="audio";switch(x.Nv(a).toLowerCase()){case "ogv":case "ogg":b+="/ogg";break;
  648. case "mp3":b+="/mpeg";break;case "m4v":case "mp4":b+="/mp4";break;case "webm":b+="/webm"}return b}function d(a){var b="video";switch(x.Nv(a).toLowerCase()){case "ogv":b+="/ogg";break;case "webm":b+="/webm";break;case "m4v":b+="/mp4"}return b}var y=q("__config"),H=q("__compat"),v=q("__print"),z=q("__sfx"),x=q("__util"),M=q("__version"),F=y.A,E=y.kd;a.AT_ARRAYBUFFER=10;a.AT_JSON=20;a.AT_TEXT=30;a.AT_AUDIOBUFFER=40;a.AT_IMAGE_ELEMENT=50;a.AT_AUDIO_ELEMENT=60;a.pq=70;a.oq=80;a.Dy=a.AT_JSON;a.Ey=a.AT_TEXT;
  649. var A=[],K=0,h={},l={},w={},r={},J={};a.hl=function(a){a=a.split(".");var b=Array(2);b[0]=a.slice(0,-1).join(".");b[1]=String(a.slice(-1));return b};a.WS=function(a){if(h[a])return h[a];var b=E.prevent_caching?a+M.timestamp():a,c=new XMLHttpRequest;c.overrideMimeType("text/plain");c.open("GET",b,!1);c.send(null);if(200==c.status||0==c.status){b=c.responseText;if(b.length)return h[a]=b;x.q("Error XHR: responce is empty, GET "+a)}else x.q("Error XHR: "+c.status+", GET "+a)};a.cleanup=function(){for(var a=
  650. 0;a<A.length;a++)A[a].state=40;A=[];K=0;h={}};a.enqueue=function(a,c,d,e,h){for(var l=0;l<a.length;l++){var g=a[l],g={id:g.id,type:g.type,url:g.url,hg:g.hg,ve:g.ve?g.ve:"GET",Yk:g.Yk?g.Yk:null,fj:g.fj?g.fj:null,ij:g.ij?g.ij:null,tb:g.tb?g.tb:null,state:10,Pb:c||function(){},KC:d||function(){},UC:e||function(){},NM:h||null,LC:K};if(E.prevent_caching){var k=f();k&&g.url in k||(g.url+=M.timestamp())}A.push(g)}b(A);K++};a.update=function(){b(A);for(var a=A,c=0,d=!0,e=0;e<a.length;e++){var f=a[e];f.LC===
  651. a[c].LC?30!==f.state&&(d=!1):(d&&(a[e-1].KC(),d=e-c,a.splice(c,d),e-=d),c=e,d=30===a[e].state?!0:!1);e===a.length-1&&d&&(a[e].KC(),a.splice(c))}};a.TI=function(a){return"png"==a||"jpg"==a||"jpeg"==a||"gif"==a||"bmp"==a||"dds"==a||"pvr"==a?!0:!1};a.fJ=function(){l={};w={};r={};J={}}};fdage.module.__loader=function(a,q){function f(b,d,e,f){var g=x,h=H.create(),l;for(l in d){var k=c(d[l]);(f&&k.Lb||!b&&k.$b)&&m(k);H.H(h,k)}for(l in d)for(k=d[l],k.name=l,b=0;b<k.I.length;b++)H.r(h,d[k.I[b]],k,null);d=c({name:"out",Bb:a.mF,Qb:function(a,b,c,d,e){b.Ab&&(g.Mx=!0);y(b)||(b.status=2);b.lC(b.id,!0);e(b,c);v.log("%cTHREAD "+b.id+": LOADED CALLBACK","color: #f0f;")},Nb:5});if(e)e=H.Po(h);else{l=H.clone(h);do{e=H.Po(l);k=[];for(b=0;b<e.length;b++){f=e[b];var n=H.Ma(l,f);n.Hb&&k.push(f)}for(b=
  652. 0;b<k.length;b++)H.Df(l,k[b]);k.length&&H.Qu(l)}while(k.length)}H.H(h,d);for(b=0;b<e.length;b++)f=e[b],n=H.Ma(h,f),d.I.push(n.name),H.r(h,n,d,null);return h}function c(a){a.Hb=a.Hb||!1;a.Bb||0===a.Bb||(a.Bb=a.Md);a.I=a.I||[];a.Gk=a.Gk||!1;a.Ix=a.Ix||!1;a.Nb=a.Nb||0;a.Lb=a.Lb||!1;a.$b=a.$b||!1;a.status=0;a.tT=0;a.xw=0;a.Rn=a.Rn||null;return a}function b(a,b){for(var c=[],d=[],e=0;e<b.length;e++){var f=b[e];H.Ma(a.kh,f).Gk&&(H.yj(a.kh,f,function(d){var e=!0;H.nh(a.kh,d,function(a,b){if(!b.Gk)return e=
  653. !1,1});e&&-1==c.indexOf(d)&&-1==b.indexOf(d)&&c.push(d)}),d.push(e))}for(e=d.length-1;0<=e;e--)b.splice(d[e],1);return c}function g(a){function c(b,d){var e=H.Ma(a.kh,b),f=H.Ma(a.kh,d),h=f.Bb-e.Bb;0==h&&(h=e.Hb-f.Hb);return h}var d=[],e=a.fi,f=!1;do{var h=b(a,e);d.push.apply(d,e);0<h.length&&(f=!0);e=h}while(0<h.length);f&&d.sort(c);a.fi=d;return a.fi.length}function p(a,b,c){if(b.Ix)return b.Gk=!0,e(a,b),!1;if(!b.Qb&&!b.Ai&&!b.Qn)return e(a,b),!1;if(0==b.status&&(b.status++,b.Qb))return b.Qb(c,a,
  654. b,b.Rn,e,u),!0;if(1==b.status){if(b.Ai)return b.Ai(c,a,b,b.Rn,e,u),!0;b.status++}return 2==b.status&&(b.status++,b.Qn)?(b.Qn(c,a,b,b.Rn,e,u),!0):!1}function D(a){if(0==a.qt)return 100;var b=0;H.ja(a.kh,function(c,d){a.do_not_load_resources&&d.Lb||(b+=d.xw*d.Nb)});return z.trunc(100*b/a.qt)}function e(a,b){b.Gk=!0;b.status=3;n(a,b,1)}function u(a,b,c){1>c?n(a,b,c):b.status++}function n(a,b,c){var d=x;if(b.Qb||b.Ai||b.Qn)if(b.xw=c,b=D(a),a.AA!=b||1==c)a.Lx(b,performance.now()-a.qE),a.AA=b,d.zw=!0}function t(a,
  655. b){var c=null;H.ja(a.kh,function(a,d){if(d.name==b)return c=d,1});return c}function m(a){a.Ix=!0;a.xw=1}function k(a){a.Lx=null;a.Wu=null;a.kh=null;a.fi=null}function d(){return 0==x.Gq}function y(a){return a&&(3==a.status||4==a.status)}var H=q("__graph"),v=q("__print"),z=q("__util");a.Md=0;a.Kf=1;a.mF=2;var x=null;a.Sv=function(){return x};a.rA=function(){var a={wg:[],mv:0,Gq:0,Mx:!1,zw:!1};return x=a};a.wA=function(a,b,c,d,e,h,g,k,m){var n=x,p=n.wg.length,t={id:p,Ab:0==p,status:0,cg:b,Cz:"",lC:c||
  656. function(){},kC:k||!1,dU:h,qE:0,AA:0,qt:0,qx:!1,Lx:d||function(){},Wu:e||function(){},kh:null,fi:null,dw:!1,aw:!1,gw:!1,Si:m};a=f(t.Ab,a,h,g);t.kh=a;b=[];c=H.hM(a);for(d=0;d<c.length;d++)b.push(c[d]);t.fi=b;H.ja(a,function(a,b){!(b.Qb||b.Ai||b.Qn)||t.do_not_load_resources&&b.Lb||(t.qt+=b.Nb)});n.wg.push(t);n.Gq++;return t.id};a.KQ=function(b){var c=x;if(c&&!d())if(c.zw)c.zw=!1;else{var e=performance.now();do{var f=c.wg[c.mv],m=b[f.id];if(!y(f))if(0==f.status&&(f.status=1,f.qE=performance.now(),f.Lx(0,
  657. 0)),g(f)){var h=f,l=h.fi.length;do{var n=H.Ma(h.kh,h.fi[0]),r=p(h,n,m);n.Bb==a.Kf&&(h.qx=!0);n=h.fi.shift();h.fi.push(n);l--}while(!r&&0!=l)}else h=c,l=f,l.Wu(m,l),l.status=3,h.Gq--,k(l);c.Mx&&(c.mv=(c.mv+1)%c.wg.length);if(f.qx){f.qx=!1;break}}while(16>performance.now()-e)}};a.bz=function(a){var b=x;a.Wu(null,a);a.status=3;b.Gq--;k(a);a.status=4;a.Ab&&(b.Mx=!0);a.lC(a.id,!1)};a.ST=u;a.jt=function(a,b){var c=t(a,b);null!==c&&m(c)};a.Gk=d;a.ZP=y;a.is_primary_loaded=function(a){var b=x;if(!b)return!1;
  658. a|=0;return b.wg[a]&&(3==b.wg[a].status||2==b.wg[a].status)};a.oM=function(){v.error("Debug mode isn't enabled. Can not retrieve the graph.")};a.cleanup=function(){x=null}};fdage.module.__logic_nodes=function(a,q){function f(){return function(a,b,c,d){c=d[0];var e=d[1];d=d[2];if(-2==c.state){for(var f=0;f<c.bt;f++)if(F.get_sensor_value(a,b,f))for(var h=0;h<c.at.length;h++)if(c.at[h]==f){e.Rk==c.mE?(H.is_play(e.la)&&(c.state=-1),d.af.Re||(c.state=1,c.Lp=c.ls[h])):(c.state=1,c.Lp=c.ls[h]);return}c.state=0}}}function c(){return function(a,b,c,d){c=d[0];var e=d[1];d=d[2];for(var f=0;f<c.bt;f++)if(F.get_sensor_value(a,b,f)&&f==c.nD){if(H.is_play(e.la)&&e.Rk==c.mE)c.state=-1;
  659. else if(!d.af.Re||c.P.no_wait)c.state=1;return}c.state=0}}function b(a,b){return{name:a.name,type:a.type,label:a.label,Fa:a.slot_idx_order,Lp:a.slot_idx_jump,na:a.frame_range[0],Qa:a.frame_range[1],mL:a.frame_range_mask?a.frame_range_mask[0]:!0,lL:a.frame_range_mask?a.frame_range_mask[1]:!0,state:-1,bt:-1,nD:-1,PN:a.param_name,NN:a.operation,mute:a.mute,zo:a.object,obj:null,Zb:null,fc:null,Sa:{},gf:a.anim_name,kc:k.SLOT_ALL,RN:a.parse_json_vars,QN:a.parse_json_paths,uc:a.objects_paths,AC:a.nodes_paths,
  660. xb:a.floats,P:a.bools,R:a.variables,gi:a.strings,Aw:a.materials_names,CD:a.shader_nd_type,Pd:a.common_usage_names,OK:a.encode_json_vars,NK:a.encode_json_paths,mE:b,TC:T[a.type]?T[a.type]:e,Us:!1,xt:0,at:null,dN:a.links,ls:[]}}function g(a,b,c){return a[0]?b[a[1]]:c[a[1]]}function p(a,b,c,d){a[0]?b[a[1]]=d:c[a[1]]=d}function D(a,b,c){switch(b.state){case 2:c.ga=a.Fa}}function e(a,b,c){switch(b.state){case 1:z.error("Unknown node type: "+a.type);break;case 2:c.ga=a.Fa}}function u(a){return v.hc(v.xc,
  661. a.zo||[],0)}function n(a,c){var d=a.b4w_logic_nodes,e=c.Ed;c.state=1;for(var f=0;f<d.length;f++){var h={K:[],af:{nb:a,ga:0,Re:!1,$x:f,u:{R1:0,R2:0,R3:0,R4:0,R5:0,R6:0,R7:0,R8:0}}};e.push(h);for(var g=e[e.length-1],l=d[f],k=0;k<l.length;k++){var m=b(l[k],g);g.K.push(m)}for(l=0;l<g.K.length;l++)m=g.K[l],m.mute||m.TC(m,c,h.af,0,0)}var d=a.timeline_markers,n;for(n in d)c.Mp.push(d[n]);c.Mp.sort(function(a,b){return a-b});c.state=2;U.push(c)}function t(a,b){switch(b){case 0:return Boolean(Number(a))?Number(a):
  662. 0;case 1:return String(a);default:return null}}function m(a){switch(typeof a){case "string":return t(a,1);case "number":return t(a,0);default:return t(a,1)}}var k=q("__animation"),d=q("__assets"),y=q("__camera"),H=q("__nla"),v=q("__objects"),z=q("__print"),x=q("__scenes"),M=q("__config"),F=q("__controls"),E=q("__batch"),A=q("__geometry"),K=q("__mat3"),h=q("__mat4"),l=q("__physics"),w=q("__quat"),r=q("__sfx"),J=q("__time"),B=q("__transform"),Z=q("__tsr"),I=q("__util"),C=q("__vec3"),N=new Float32Array(4);
  663. new Float32Array(4);var Q=new Float32Array(3),W=new Float32Array(3),V=new Float32Array(2),ka=new Float32Array(9),ja=new Float32Array(16);a.cG=0;a.dG=1;a.XF=0;a.WF=1;a.YF=2;a.ZF=3;a.VF=4;a.Oy=0;a.Qy=1;a.Py=2;a.Ry=3;a.Sy=4;a.Ny=5;a.bG=0;a.aG=1;a.$F=2;a.OF=0;a.PF=1;a.MF=2;a.NF=3;a.QF=0;a.RF=1;var T={ENTRYPOINT:function(a,b,c){switch(b.state){case 2:c.ga=a.Fa}},HIDE:function(a,b,c){switch(b.state){case 1:a.obj=u(a);a.obj||(z.error("Logic script error: object not found. Node: ",a.name),a.mute=!0);break;
  664. case 2:x.Tn(a.obj,!0),c.ga=a.Fa}},SHOW:function(a,b,c){switch(b.state){case 1:a.obj=u(a);a.obj||(z.error("Logic script error: object not found. Node: ",a.name),a.mute=!0);break;case 2:x.Tn(a.obj,!1),c.ga=a.Fa}},PAGEPARAM:function(a,b,c){switch(b.state){case 2:var d=a.R.vd;b=b.u;var e=c.u,f;a:{f=a.PN;var h=a.xb.ptp,g=a.P.hsh,l=M.get("url_params");if(l&&f in l)f=Number(l[f]);else{if(g=g?location.hash:location.search)for(g=g.slice(1).split("&"),l=0;l<g.length;l++){var k=g[l].split("=");if(1<k.length&&
  665. k[0]==f){f=t(k[1],h);break a}}f=0}}p(d,b,e,f);c.ga=a.Fa}},SWITCH_SELECT:function(a,b,c){switch(b.state){case 1:a:{c=b.Ed[c.$x];var d=v.get_selectable_objects();a.at=[];a.ls=[];for(var e in a.uc){var h=v.hc(v.xc,a.uc[e],0),g=d.indexOf(h);if(-1==g){z.error("logic script error: non-selectable object:",a.uc[e][a.uc[e].length-1]);break a}a.at.push(g);a.ls.push(a.dN[e])}a.state=-1;a.bt=d.length;e=[];for(g=0;g<d.length;g++)e.push(F.create_selection_sensor(d[g],!1));F.create_sensor_manifold(h,"LOGIC_NODES_SWITCH_SELECT_"+
  666. a.label,F.CT_SHOT,e,F.default_OR_logic_fun,f(),[a,b,c])}break;case 2:if(-1==a.state){b=b.Ed[c.$x].K;for(h=0;h<b.length;h++)d=b[h],"SWITCH_SELECT"==d.type&&(d.state=-1);a.state=-2}if(0==a.state||1==a.state)c.ga=a.state?a.Lp:a.Fa,a.state=-1}},SELECT:function(a,b,d){switch(b.state){case 1:d=b.Ed[d.$x];var e=u(a),f=v.get_selectable_objects(),h=f.indexOf(e);if(-1==h)z.error("logic script error: non-selectable object:",a.zo[a.zo.length-1]);else{a.state=-1;a.bt=f.length;a.nD=h;for(var h=[],g=0;g<f.length;g++)h.push(F.create_selection_sensor(f[g],
  667. !1));F.create_sensor_manifold(e,"LOGIC_NODES_SELECT_"+a.label,F.CT_SHOT,h,F.default_OR_logic_fun,c(),[a,b,d])}break;case 2:if(0==a.state||1==a.state){d.ga=a.state?a.Lp:a.Fa;a.state=-1;break}a.P.not_wait&&(d.ga=a.Fa)}},PLAY:function(a,b,c,d){switch(b.state){case 1:H.Nx();a.state=-1;a.P.not_wait||(a.P.not_wait=!1);break;case 2:switch(a.state){case -1:if(H.is_play(b.la))if(b.kv==b.Rk&&c.Re)break;else{var e=b.Rk;if(e){e.af.ga=e.K[e.af.ga].Fa;e.K[e.af.ga].state=-1;for(var e=b.Rk.K,f=0;f<e.length;f++){var h=
  668. e[f];"PLAY"==h.type&&(h.state=-1)}}}c.Re=!a.P.not_wait;b.Rk=b.kv;a.state=0;a.mL&&(H.gP(a.na),H.uD(d));if(a.lL)H.Ax(a.Qa);else{d=H.get_frame(d);var e=-1,g;for(g in b.Mp)if(d<b.Mp[g]){e=g;break}0<=e?H.Ax(b.Mp[e]):H.Ax(H.get_frame_end())}H.QC(null);a.P.not_wait&&(c.ga=a.Fa,a.state=-1,c.Re=!1);break;case 0:H.is_play()||(c.ga=a.Fa,a.state=-1,c.Re=!1);break;case 1:c.ga=a.Fa;a.state=-1;b.Rk=null;c.Re=!1;break;default:I.q("Unknown state of "+a.name),a.state=-1}}},REDIRECT:function(a,b,c){switch(b.state){case 2:window.location.href=
  669. a.P.url?t(g(a.R.url,b.u,c.u),1):a.gi.url,b.state=3}},MATH:function(a,b,c){switch(b.state){case 2:var d=-1==a.R.v1[1]?a.xb.inp1:t(g(a.R.v1,b.u,c.u),0),e=-1==a.R.v2[1]?a.xb.inp2:t(g(a.R.v2,b.u,c.u),0),f=0;switch(a.NN){case "ADD":f=d+e;break;case "MUL":f=d*e;break;case "SUB":f=d-e;break;case "DIV":0==e&&I.q("Division by zero in Logic script");f=d/e;break;case "RAND":f=Math.random()*(e-d)+d}p(a.R.vd,b.u,c.u,f);c.ga=a.Fa}},CONDJUMP:function(a,b,c){switch(b.state){case 2:var d=a.P.str?1:0,e=a.P.str?a.gi:
  670. a.xb,f=-1==a.R.v1[1]?e.inp1:t(g(a.R.v1,b.u,c.u),d);b=-1==a.R.v2[1]?e.inp2:t(g(a.R.v2,b.u,c.u),d);d=!1;switch(a.Pd.condition){case 5:f==b&&(d=!0);break;case 4:f!=b&&(d=!0);break;case 3:f<b&&(d=!0);break;case 2:f>b&&(d=!0);break;case 1:f<=b&&(d=!0);break;case 0:f>=b&&(d=!0)}c.ga=d?a.Lp:a.Fa}},REGSTORE:function(a,b,c){switch(b.state){case 2:p([a.P.gl||a.R.vd[0],a.R.vd[1]],b.u,c.u,(1==a.Pd.variable_type?a.gi:a.xb).inp1),c.ga=a.Fa}},PLAY_ANIM:function(a,b,c){switch(b.state){case 1:a.obj=a.P.env?v.get_world_by_name(a.zo[0],
  671. 0):u(a);a.obj||(z.error("Logic script error: object not found. Node: ",a.name),a.mute=!0);break;case 2:switch(0!=a.state||k.is_play(a.obj,a.kc)||(a.state=1),a.state){case -1:for(var d in b.Ed){var e=b.Ed[d].af.ga;-1!=e&&(e=b.Ed[d].K[e],"PLAY_ANIM"==e.type&&e!=a&&0==e.state&&e.obj==a.obj&&(e.state=1))}b=a.Pd.param_anim_behavior;if(""==a.gf)k.apply_def(a.obj),k.set_behavior(a.obj,b,k.SLOT_ALL);else{a:{d=a.obj;for(var e=a.gf,f=-1,h=0;8>h;h++){var g=d.ba[h];if(g&&g.zh&&k.$D(g.zh)==k.$D(e))if(-1!=f)f=
  672. h;else{d=-1;break a}}d=f}-1==d?(a.kc=k.wP(a.obj,a.gf),k.apply(a.obj,null,a.gf,a.kc)):a.kc=d;k.set_behavior(a.obj,b,a.kc)}a.P.not_wait||(c.Re=!0);k.play(a.obj,null,a.kc);a.state=0;a.P.not_wait&&(c.ga=a.Fa,a.state=-1);break;case 0:break;case 1:a.P.not_wait||(c.Re=!1);c.ga=a.Fa;a.state=-1;break;default:I.q("Unknown state of "+a.name),a.state=-1}}},SELECT_PLAY:D,SEND_REQ:function(a,b,c){function e(a,d,f,h,g){a=JSON.stringify(a);p(g[0].R.dst,b.u,c.u,a);g[0].state=1}switch(b.state){case 2:switch(a.state){case -1:a.state=
  673. 0;var f=a.P.url?t(g(a.R.url,b.u,c.u),1):a.gi.url,h={};a.P.ct&&(h["Content-Type"]=a.gi.ct);"GET"==a.Pd.request_type?d.enqueue([{id:f,type:d.AT_JSON,url:f,fj:h,tb:[a,c.u]}],e,null,null,null):"POST"==a.Pd.request_type&&d.enqueue([{id:f,type:d.AT_JSON,url:f,fj:h,ve:"POST",Yk:d.AT_JSON,ij:t(g(a.R.dst1,b.u,c.u),1),tb:[a,c.u]}],e,null,null,null);break;case 1:a.state=-1,c.ga=a.Fa}}},INHERIT_MAT:function(a,b,c){switch(b.state){case 1:for(b=0;2>b;b++)a.Sa["id"+b]=v.hc(v.xc,a.uc["id"+b],0),a.Sa["id"+b]||(z.error("Logic script error: object not found. Node: ",
  674. a.name),a.mute=!0);break;case 2:E.inherit_material(a.Sa.id0,a.Aw.id0,a.Sa.id1,a.Aw.id1),c.ga=a.Fa}},SET_SHADER_NODE_PARAM:function(a,b,c){switch(b.state){case 1:a.uc.id0&&(a.Sa.id0=v.hc(v.xc,a.uc.id0,0),a.uc.id0||(z.error("Logic script error: object not found. Node: ",a.name),a.mute=!0),a.AC.id0.unshift(a.Aw.id0));break;case 2:var d=a.Sa.id0,e=a.AC.id0,f=e[0],h=E.La(d,f,"MAIN");c.ga=a.Fa;if(null===h){z.error('Material "'+f+'" was not found in the object "'+d.name+'".');break}if("ShaderNodeRGB"==a.CD){var l=
  675. E.Wg(h.Ve,e);E.set_nodemat_rgb(d,f,l,a.P.id0?t(g(a.R.id0,b.u,c.u),0):a.xb.id0,a.P.id1?t(g(a.R.id1,b.u,c.u),0):a.xb.id1,a.P.id2?t(g(a.R.id2,b.u,c.u),0):a.xb.id2)}"ShaderNodeValue"==a.CD&&(l=E.Wg(h.We,e),E.set_nodemat_value(d,f,l,a.P.id0?t(g(a.R.id0,b.u,c.u),0):a.xb.id0))}},DELAY:function(a,b,c,d,e){switch(b.state){case 2:-1==a.state?(a.state=0,a.xt=0,c.Re=!0):0==a.state&&(a.xt+=e,(a.P.dl?t(g(a.R.dl,b.u,c.u),0):a.xb.dl)<a.xt&&(a.state=-1,c.ga=a.Fa,c.Re=!1))}},APPLY_SHAPE_KEY:function(a,b,c){switch(b.state){case 1:b=
  676. a.Sa.id0=v.hc(v.xc,a.uc.id0,0);b||(z.error("Logic script error: object not found. Node: ",a.name),a.mute=!0);c=a.Pd.sk;A.check_shape_keys(b)?A.cw(b,c)||(z.error("Wrong key name:",c),a.mute=!0):(z.error("No shape keys in object:",b.name),a.mute=!0);break;case 2:A.lz(a.Sa.id0,a.Pd.sk,a.P.skv?t(g(a.R.skv,b.u,c.u),0):a.xb.skv),c.ga=a.Fa}},OUTLINE:function(a,b,c){switch(b.state){case 1:var d=a.Sa.id0=v.hc(v.xc,a.uc.id0,0);d||(z.error("Logic script error: object not found. Node: ",a.name),a.mute=!0);d&&
  677. d.k&&d.k.Ec||(z.error("Can't evaluate 'Outline' logic node: wrong object"),a.mute=!0);break;case 2:d=a.Sa.id0;switch(a.Pd.outline_operation){case "PLAY":b=d.k.dh;v.apply_outline_anim(d,b.cj,b.dj,b.ej);break;case "STOP":v.clear_outline_anim(d);break;case "INTENSITY":d.k.og=a.P["in"]?t(g(a.R["in"],b.u,c.u),0):a.xb["in"]}c.ga=a.Fa}},MOVE_CAMERA:function(a,b,c){function d(a,b,c,e){switch(y.get_move_style(a)){case y.MS_TARGET_CONTROLS:y.set_trans_pivot(a,b,c);break;case y.MS_EYE_CONTROLS:case y.MS_STATIC:B.set_tsr(a,
  678. e);break;case y.MS_HOVER_CONTROLS:C.sub(c,b,Q),C.normalize(Q,Q),y.set_hover_pivot(a,c),c=b=0,W[0]=Q[0],W[1]=0,W[2]=Q[2],b=C.dot(W,Q),c=Math.acos(b/(C.length(W)*C.length(Q))),b=Q[2]?Math.atan(Q[0]/Q[2]):0<Q[0]?0:Math.PI,0<Q[2]&&0<Q[0]?V[1]=-(Math.PI+V[1]):0<Q[2]&&0>Q[0]?V[1]=-(Math.PI+V[1]):0>Q[2]&&0>Q[0]?(V[0]+=Math.PI,b=-(Math.PI-b)):0>Q[2]&&0<Q[0]&&(V[0]+=Math.PI,b-=Math.PI),y.rotate_hover_camera(a,b+Math.PI,-c,!0,!0)}B.B(a);l.sync_transform(a)}function e(a,b,c,d){h.lookAt(b,c,I.AXIS_Z,ja);h.invert(ja,
  679. ja);K.fromMat4(ja,ka);w.fromMat3(ka,N);w.normalize(N,N);a=Z.get_scale(a.k.n);Z.set_sep(b,a,N,d)}switch(b.state){case 1:var f=null,f=a.Sa.ca=v.hc(v.xc,a.uc.id0,0);f||(z.error("Logic script error: object not found. Node: ",a.name),a.mute=!0);a.Sa.tr=v.hc(v.xc,a.uc.id1,0);a.Sa.tr||(z.error("Logic script error: object not found. Node: ",a.name),a.mute=!0);a.Sa.ta=v.hc(v.xc,a.uc.id2,0);a.Sa.ta||(z.error("Logic script error: object not found. Node: ",a.name),a.mute=!0);a.state=-1;a.fc={uE:new Float32Array(3),
  680. tE:new Float32Array(3),lw:new Float32Array(3),Wx:new Float32Array(3),jE:new Float32Array(3),kw:new Float32Array(3),Aj:new Float32Array(8),oh:new Float32Array(8),Vo:new Float32Array(8)};break;case 2:var k=a.Sa.ca,f=Z.get_trans_view(a.Sa.tr.k.n),m=Z.get_trans_view(a.Sa.ta.k.n);switch(a.state){case -1:b=a.P.dur?t(g(a.R.dur,b.u,c.u),0):a.xb.dur;if(0==b){e(k,f,m,a.fc.oh);d(k,f,m,a.fc.oh);c.ga=a.Fa;break}c=Z.get_trans_view(k.k.n);C.copy(c,a.fc.uE);var n=y.get_move_style(k);n==y.MS_HOVER_CONTROLS?C.copy(k.k.Kb,
  681. a.fc.Wx):n==y.MS_STATIC||n==y.MS_EYE_CONTROLS?(Z.copy(k.k.n,a.fc.Aj),e(k,f,m,a.fc.oh)):C.copy(k.k.pivot,a.fc.Wx);C.copy(f,a.fc.tE);C.copy(m,a.fc.jE);a.state=0;var r=J.animate(0,1,1E3*b,function(b){x.sa()&&(n==y.MS_STATIC||n==y.MS_EYE_CONTROLS?Z.interpolate(a.fc.Aj,a.fc.oh,I.smooth_step(b),a.fc.Vo):(a.fc.kw=C.lerp(a.fc.Wx,a.fc.jE,I.smooth_step(b),a.fc.kw),a.fc.lw=C.lerp(a.fc.uE,a.fc.tE,I.smooth_step(b),a.fc.lw)),d(k,a.fc.lw,a.fc.kw,a.fc.Vo),1==b&&(a.state=1))});break;case 1:J.clear_animation(r),a.state=
  682. -1,c.ga=a.Fa}}},SET_CAMERA_MOVE_STYLE:function(a,b,c){switch(b.state){case 1:var d=null,d=a.Sa.ca=v.hc(v.xc,a.uc.id0,0);d||(z.error("Logic script error: object not found. Node: ",a.name),a.mute=!0);b=d.k;a.DI={xj:b.xj,use_panning:b.use_panning,Za:b.Za,ea:b.ea,hb:b.hb,lc:b.lc,mc:b.mc,xd:b.xd,Sg:b.Sg};break;case 2:var d=a.Sa.ca,e=d.k,f=a.DI;y.nq(d);switch(a.Pd.camera_move_style){case 0:e.jb=y.MS_STATIC;break;case 2:e.jb=y.MS_EYE_CONTROLS;var h=Z.get_trans_view(e.n);y.yD(d,h,null,f.Za,f.ea);break;case 3:e.jb=
  683. y.MS_HOVER_CONTROLS;var h=Z.get_trans_view(e.n),k=Q;a.P.pvo?(k=v.hc(v.xc,a.uc.id1,0),k=Z.get_trans_view(k.k.n)):(k[0]=a.P.pvx?t(g(a.R.pvx,b.u,c.u),0):a.xb.pvx,k[1]=a.P.pvy?t(g(a.R.pvy,b.u,c.u),0):a.xb.pvy,k[2]=a.P.pvz?t(g(a.R.pvz,b.u,c.u),0):a.xb.pvz);y.zD(d,h,k,f.hb,f.ea,f.lc,f.mc,f.Sg);break;case 1:e.jb=y.MS_TARGET_CONTROLS,h=Z.get_trans_view(e.n),k=Q,a.P.pvo?(k=v.hc(v.xc,a.uc.id1,0),k=Z.get_trans_view(k.k.n)):(k[0]=a.P.pvx?t(g(a.R.pvx,b.u,c.u),0):a.xb.pvx,k[1]=a.P.pvy?t(g(a.R.pvy,b.u,c.u),0):a.xb.pvy,
  684. k[2]=a.P.pvz?t(g(a.R.pvz,b.u,c.u),0):a.xb.pvz),y.AD(d,h,k,f.Za,f.ea,f.zS,f.xd,f.use_panning)}W[0]=a.P.vtr?t(g(a.R.vtr,b.u,c.u),0):a.xb.vtr;W[1]=a.P.vro?t(g(a.R.vro,b.u,c.u),0):a.xb.vro;W[2]=a.P.vzo?t(g(a.R.vzo,b.u,c.u),0):a.xb.vzo;W[0]=I.clamp(W[0],0,Infinity);W[1]=I.clamp(W[1],0,Infinity);W[2]=I.clamp(W[2],0,.99);e.Gj=W[0];e.Fj=W[1];e.Hj=W[2];B.B(d);l.sync_transform(d);y.em(d);c.ga=a.Fa}},MOVE_TO:function(a,b,c){function d(a,b){B.set_tsr(a,b);B.B(a);l.sync_transform(a)}switch(b.state){case 1:a.Sa.ob=
  685. v.hc(v.xc,a.uc.id0,0);a.Sa.ob||(z.error("Logic script error: object not found. Node: ",a.name),a.mute=!0);a.Sa.de=v.hc(v.xc,a.uc.id1,0);a.Sa.de||(z.error("Logic script error: object not found. Node: ",a.name),a.mute=!0);a.state=-1;a.Zb={IA:new Float32Array(8),qv:new Float32Array(8),OB:new Float32Array(8)};break;case 2:var e=a.Sa.ob;Z.copy(a.Sa.ob.k.n,a.Zb.IA);Z.copy(a.Sa.de.k.n,a.Zb.qv);switch(a.state){case -1:b=a.P.dur?t(g(a.R.dur,b.u,c.u),0):a.xb.dur;if(0==b){d(e,a.Zb.qv);c.ga=a.Fa;break}a.state=
  686. 0;var f=J.animate(0,1,1E3*b,function(b){x.sa()&&(a.Zb.gT=Z.interpolate(a.Zb.IA,a.Zb.qv,I.smooth_step(b),a.Zb.OB),d(e,a.Zb.OB),1==b&&(a.state=1))});break;case 1:J.clear_animation(f),a.state=-1,c.ga=a.Fa}}},TRANSFORM_OBJECT:function(a,b,c){function d(a,b,c){0==c?B.set_tsr(a,b):B.set_tsr_rel(a,b);B.B(a);l.sync_transform(a)}switch(b.state){case 1:a.Sa.ob=v.hc(v.xc,a.uc.id0,0);a.Sa.ob||(z.error("Logic script error: object not found. Node: ",a.name),a.mute=!0);a.state=-1;a.Zb={pt:0,Aj:new Float32Array(8),
  687. oh:new Float32Array(8),Vo:new Float32Array(8)};break;case 2:var e=a.Sa.ob;switch(a.state){case -1:W[0]=a.P.trx?t(g(a.R.trx,b.u,c.u),0):a.xb.trx;W[1]=a.P["try"]?t(g(a.R["try"],b.u,c.u),0):a.xb["try"];W[2]=a.P.trz?t(g(a.R.trz,b.u,c.u),0):a.xb.trz;Q[0]=a.P.rox?t(g(a.R.rox,b.u,c.u),0)*Math.PI/180:a.xb.rox;Q[1]=a.P.roy?t(g(a.R.roy,b.u,c.u),0)*Math.PI/180:a.xb.roy;Q[2]=a.P.roz?t(g(a.R.roz,b.u,c.u),0)*Math.PI/180:a.xb.roz;var f=a.P.sc?g(a.R.sc,b.u,c.u):a.xb.sc;I.euler_to_quat(Q,N);Z.set_sep(W,f,N,a.Zb.oh);
  688. a.Zb.pt=a.Pd.space_type;switch(a.Zb.pt){case 0:B.get_tsr(e,a.Zb.Aj);break;case 1:B.get_tsr_rel(e,a.Zb.Aj);break;case 2:B.get_tsr_rel(e,a.Zb.Aj),Z.multiply(a.Zb.Aj,a.Zb.oh,a.Zb.oh)}b=a.P.dur?t(g(a.R.dur,b.u,c.u),0):a.xb.dur;if(0==b){d(e,a.Zb.oh,a.Zb.pt);c.ga=a.Fa;break}a.state=0;f=J.animate(0,1,1E3*b,function(b){x.sa()&&(Z.interpolate(a.Zb.Aj,a.Zb.oh,I.smooth_step(b),a.Zb.Vo),d(e,a.Zb.Vo,a.Zb.pt),1==b&&(a.state=1))});break;case 1:J.clear_animation(f),a.state=-1,c.ga=a.Fa}}},SPEAKER_PLAY:function(a,
  689. b,c){switch(b.state){case 1:a.obj=v.hc(v.xc,a.uc.id0,0);a.obj||(z.error("Logic script error: object not found. Node: ",a.name),a.mute=!0);void 0==a.P.not_wait&&(a.P.not_wait=!0);break;case 2:switch(r.is_playing(a.obj)||0!=a.state||(a.state=1),a.state){case -1:for(var d in b.Ed){var e=b.Ed[d].af.ga;-1!=e&&(e=b.Ed[d].K[e],"SPEAKER_PLAY"==e.type&&e!=a&&0==e.state&&e.obj==a.obj&&(e.state=1))}a.P.not_wait||(c.Re=!0);r.play_def(a.obj);a.state=0;break;case 0:a.P.not_wait&&(c.ga=a.Fa,a.state=-1);break;case 1:a.P.not_wait||
  690. (c.Re=!1);c.ga=a.Fa;a.state=-1;break;default:I.q("Unknown state of "+a.name),a.state=-1}}},SPEAKER_STOP:function(a,b,c){switch(b.state){case 1:a.obj=v.hc(v.xc,a.uc.id0,0);a.obj||(z.error("Logic script error: object not found. Node: ",a.name),a.mute=!0);break;case 2:r.stop(a.obj),c.ga=a.Fa}},STOP_ANIM:function(a,b,c){switch(b.state){case 1:a.obj=a.P.env?v.get_world_by_name(a.zo[0],0):u(a);a.obj||(z.error("Logic script error: object not found. Node: ",a.name),a.mute=!0);break;case 2:k.stop(a.obj,k.SLOT_ALL),
  691. a.P.rst&&k.set_first_frame(a.obj,k.SLOT_ALL),c.ga=a.Fa}},STOP_TIMELINE:function(a,b,c,d){switch(b.state){case 2:a.P.rst&&H.uD(d),H.Nx(),c.ga=a.Fa}},CONSOLE_PRINT:function(a,b,c){switch(b.state){case 2:var d={},e;for(e in a.R)d[a.R[e][1]]=g(a.R[e],b.u,c.u);z.log(a.Pd.msg,JSON.stringify(d));c.ga=a.Fa}},STRING:function(a,b,c){switch(b.state){case 2:var d=a.P.id0?t(g(a.R.id0,b.u,c.u),1):a.gi.id0,e=a.P.id1?t(g(a.R.id1,b.u,c.u),1):a.gi.id1,f=0;switch(a.Pd.string_operation){case 0:f=d+e;break;case 1:f=d.indexOf(e);
  692. break;case 2:f=d.replace(e,a.P.id2?t(g(a.R.id2,b.u,c.u),1):a.gi.id2);break;case 3:var h=a.R,f=d.substring(0,d.indexOf(e));p(h.dst1,b.u,c.u,d.substring(d.indexOf(e)+1,d.length));""==g(h.dst,b.u,c.u)&&(f=g(h.dst1,b.u,c.u),p(h.dst1,b.u,c.u,""));break;case 4:switch(a.Pd.condition){case 5:f=d==e?1:0;break;case 4:f=d!=e?1:0;break;case 3:f=d<e?1:0;break;case 2:f=d>e?1:0;break;case 1:f=d<=e?1:0;break;case 0:f=d>=e?1:0}}p(a.R.dst,b.u,c.u,f);c.ga=a.Fa}},GET_TIMELINE:function(a,b,c,d){switch(b.state){case 2:d=
  693. a.P.nla?t(H.get_frame(d),0):t(J.get_frame(d),0),p(a.R.vd,b.u,c.u,d),c.ga=a.Fa}},JSON:function(a,b,c){function d(a,b,c,e){for(var f=0;f<b.length;f++){for(var h=b[f].split("."),g=a,l=c[f],k=0;k<h.length&&(g=g[h[k]],void 0!==g&&null!==g);k++);g=m(g);e[l]=g}}function e(a,b,c,d){d||(d={});for(var f=0;f<b.length;f++){var h=b[f].split("."),g=d,l=c[f];if(!(!l in a)){for(var k=0;k<h.length-1;k++)void 0===g[h[k]]&&(g[h[k]]=isNaN(h[k+1])?{}:[]),g=g[h[k]];g[h[h.length-1]]=m(a[l])}}}switch(b.state){case 2:switch(a.Pd.json_operation){case "PARSE":try{var f=
  694. JSON.parse(t(g(a.R.jsn,b.u,c.u),1));d(f,a.QN,a.RN,c.u)}catch(h){z.error("logic script error: non valid JSON string")}break;case "ENCODE":f={},e(c.u,a.NK,a.OK,f),f=t(JSON.stringify(f),1),p(a.R.jsn,b.u,c.u,f)}c.ga=a.Fa}},JS_CALLBACK:function(a,b,c){switch(b.state){case 2:for(var d=a.P.cb?t(g(a.R.cb,b.u,c.u),1):a.gi.cb,e=[],f=0,h="id"+f,l=a.Pd.js_cb_params;h in l;)h=0==l[h]?v.hc(v.xc,a.uc[h],0):g(a.R[h],b.u,c.u),e.push(h),f++,h="id"+f;l=[];f=0;for(h="out"+f;h in a.R;)h=g(a.R[h],b.u,c.u),l.push(h),f++,
  695. h="out"+f;f=1;if(d in ia){if(f=!ia[d](e,l))for(d=0;d<l.length;d++)h="out"+d,h in a.R&&p(a.R[h],b.u,c.u,m(l[d]))}else z.error("logic script error: no custom callback with id "+d);f&&(c.ga=a.Fa)}},EMPTY:D},U=[],ia={};a.vM=function(a,b){var c={ke:b,lD:a.name,state:0,Rk:null,nb:a,kv:null,Ed:[],Mp:[],u:{}};a.VR=c;n(a,c)};a.update=function(a,b){var c=H.iM();if(!(0>=c))for(var d=0;d<U.length;d++)for(var e=d,f=a,h=b,g=c,l=U[e],k=0;k<U[e].Ed.length;k++){l.kv=U[e].Ed[k];var m=U[e].Ed[k],n=l,r=f,p=h,t=g,u=m.K;
  696. if(u.length){for(var v=0;v<u.length;v++)u[v].Us=!1;for(v=0;v<u.length;v++){if(0<=m.af.ga)var w=u[m.af.ga];else break;if(w.Us)break;if(w.mute)if("ENTRYPOINT"==w.type)break;else m.af.ga=w.Fa,w.Us=!0;else w.TC(w,n,m.af,r,p,t),w.Us=!0}}}};a.zH=function(a,b){ia[a]=b};a.nO=function(a){delete ia[a]};a.FO=function(a,b){for(var c=0;c<U.length;c++)if(U[c].lD==a){for(var c=U[c],d=0;d<c.Ed.length;d++){var e=c.Ed[d].K[0];if(e.name==b){e.P.js&&(e.mute=!1);c.Ed[d].af.ga=0;break}}break}};a.cleanup=function(){U.length=
  697. 0;ia={}}};fdage.module.__math=function(a,q){function f(a,b){for(var c=a[1],e=1,f=2;f<a.length;f++)4!=f&&8!=f&&Math.abs(a[f])>Math.abs(c)&&(c=a[f],e=f);for(var g=Math.floor(e/3),e=e%3,c=.5*Math.atan(2*c/(a[3*g+g]-a[3*e+e])),f=0;f<b.length;f++)b[f]=0==f||4==f||8==f?1:0;b[e+3*g]=-Math.sin(c);b[g+3*e]=Math.sin(c);b[g+3*g]=Math.cos(c);b[e+3*e]=Math.cos(c);return b}function c(a){return Math.sqrt(a[1]*a[1]+a[2]*a[2]+a[5]*a[5])}function b(a,b){for(var c=a.content[b];0<b;){var e=(b+1>>1)-1,f=a.content[e];if(a.bl(c)<a.bl(f))a.content[e]=
  698. c,a.content[b]=f,b=e;else break}}function g(a,b){for(var c=a.content.length,e=a.content[b],f=a.bl(e);;){var g=b+1<<1,m=g-1,n=null;if(m<c){var p=a.bl(a.content[m]);p<f&&(n=m)}g<c&&a.bl(a.content[g])<(null===n?f:p)&&(n=g);if(null!==n)a.content[b]=a.content[n],a.content[n]=e,b=n;else break}}var p=q("__mat3"),D=q("__vec3"),e=new Float32Array(3),u=new Float32Array(9),n=new Float32Array(9),t=new Float32Array(9),m=new Float32Array(9);a.get_pline_directional_vec=function(a,b){b=b||new Float32Array(3);b[0]=
  699. a[3];b[1]=a[4];b[2]=a[5];return b};a.get_pline_initial_point=function(a,b){b=b||new Float32Array(3);return D.copy(a,b)};a.set_pline_initial_point=function(a,b){D.copy(b,a)};a.set_pline_directional_vec=function(a,b){D.normalize(b,e);a[3]=e[0];a[4]=e[1];a[5]=e[2]};a.calc_pline_point=function(a,b,c){c=c||new Float32Array(3);c[0]=a[0]+a[3]*b;c[1]=a[1]+a[4]*b;c[2]=a[2]+a[5]*b};a.BI=function(a,b){b[0]=0;b[1]=0;for(var c=b[2]=0;c<a.length;c+=3)b[0]+=a[c],b[1]+=a[c+1],b[2]+=a[c+2];return D.scale(b,3/a.length,
  700. b)};a.wI=function(a,b,c){for(var e=0;e<c.length;e++)c[e]=0;for(e=0;e<a.length;e+=3){var f=a[e]-b[0],g=a[e+1]-b[1],m=a[e+2]-b[2];c[0]+=f*f;c[1]+=f*g;c[2]+=f*m;c[4]+=g*g;c[5]+=g*m;c[8]+=m*m}c[3]=c[1];c[6]=c[2];c[7]=c[5];for(e=0;e<c.length;e++)c[e]*=3/a.length;return c};a.dL=function(a,b){var e=p.copy(a,u);if(5E-4>c(e))return p.identity(b);var g=f(e,n),v=p.transpose(g,t);p.multiply(e,v,m);p.multiply(g,m,e);for(var D=p.copy(g,b),q=1;5E-4<=c(e)&&100>q;)g=f(e,n),v=p.transpose(g,t),p.multiply(e,v,m),p.multiply(g,
  701. m,e),p.multiply(g,D,D),q++;return D};a.point_plane_dist=function(a,b){return b[0]*a[0]+b[1]*a[1]+b[2]*a[2]+b[3]};a.hI=function(a){return{content:[],bl:a}};a.Bz=function(a,c){a.content.push(c);b(a,a.content.length-1)};a.iI=function(a){var b=a.content[0],c=a.content.pop();0<a.content.length&&(a.content[0]=c,g(a,0));return b};a.eS=function(a,c){var e=a.content.indexOf(c),f=a.content.pop();e!==a.content.length-1&&(a.content[e]=f,a.bl(f)<a.bl(c)?b(e):g(e))};a.jI=function(a,c){b(a,a.content.indexOf(c))}};fdage.module.__navmesh=function(a,q){function f(a,c){function d(a){var b=a[0];a[0]=a[1];a[1]=a[2];a[2]=b}for(var e=a.Jj,f=c.Jj,h=[],g=0;g<e.length;g++)0<=b(f,e[g])&&h.push(e[g]);if(2>h.length)return[];0<=b(h,e[0])&&0<=b(h,e[e.length-1])&&d(e);0<=b(h,f[0])&&0<=b(h,f[f.length-1])&&d(f);h=[];for(g=0;g<e.length;g++)0<=b(f,e[g])&&h.push(e[g]);return h}function c(a){function b(a){for(var c=a.wf,d=0;d<c.length;d++){var e=c[d];void 0==e.island&&(e.island=a.island,b(e))}}a=a.aO;for(var c=[],d=0,e=0;e<a.length;e++){var f=
  702. a[e];void 0==f.island&&(f.island=d++,b(f));c[f.island]||(c[f.island]=[]);c[f.island].push(a[e])}return c}function b(a,b){if(a.indexOf)return a.indexOf(b);for(var c=0;c<a.length;c++)if(a[c]==b)return c;return-1}function g(a){function b(a,c){for(var d=0;d<a.length;d++)if(c===a[d])return d}for(var d={},e=a.dn,h=0;h<e.length;h++)e[h][0]=parseFloat(e[h][0].toFixed(2)),e[h][1]=parseFloat(e[h][1].toFixed(2)),e[h][2]=parseFloat(e[h][2].toFixed(2));d.dn=a.dn;a=c(a);d.pw=[];for(h=0;h<a.length;h++){for(var e=
  703. [],g=a[h],l=0;l<g.length;l++){for(var k=[],m=g[l],n=0;n<m.wf.length;n++)k.push(b(g,m.wf[n]));for(var r=[],n=0;n<m.wf.length;n++)r.push(f(m,m.wf[n]));m.Kc[0]=parseFloat(m.Kc[0].toFixed(2));m.Kc[1]=parseFloat(m.Kc[1].toFixed(2));m.Kc[2]=parseFloat(m.Kc[2].toFixed(2));e.push({id:b(g,m),wf:k,Jj:m.Jj,Kc:m.Kc,Dc:m.Dc,bO:r,Ev:0,Ko:0,yb:0,mJ:1,wy:!1,closed:!1,parent:null})}d.pw.push(e)}return d}function p(a,b,c,d,e){function f(a,b){x.subtract(a,b,F);return x.dot(F,F)}function h(a,b){for(var c=[],d=0;d<b.wf.length;d++)c.push(a[b.wf[d]]);
  704. return c}(function(a){for(var b=0;b<a.length;b++){var c=a[b];c.Ev=0;c.Ko=0;c.yb=0;c.mJ=1;c.wy=!1;c.closed=!1;c.parent=null}})(a);var g=H.hI(function(a){return a.Ev});for(H.Bz(g,b);0<g.content.length;){var l=H.iI(g);if(l===c){a=l;for(c=[];a.parent;)c.push(a),a=a.parent;c.push(b);return c.reverse()}l.closed=!0;for(var k=h(a,l),m=0,n=k.length;m<n;m++){var r=k[m];if(!r.closed){var p=l.Ko+x.dist(r.Kc,l.Kc),t=r.wy;if(!t||p<r.Ko)r.wy=!0,r.parent=l,r.yb=r.yb||f(r.Kc,e)+f(r.Kc,d),r.Ko=p,r.Ev=r.Ko+r.yb,t?H.jI(g,
  705. r):H.Bz(g,r)}}}return[]}function D(a,b){a.push(b[0]);a.push(b[1]);a.push(b[2])}function e(a,b,c,d){b=x.subtract(b,a,F);a=x.subtract(c,a,E);a=x.cross(b,a,F);return z.sign(x.dot(d,a))}function u(a,b){x.subtract(a,b,F);return 1E-5>x.dot(F,F)}function n(a,b,c){var d=x.subtract(b.right,b.left,F),e=c.Dc,f=b.Dc;c=Math.acos(x.dot(e,f));e=z.sign(x.dot(d,x.cross(e,f,E)));c*=-e;e=v.identity(r);v.translate(e,b.left,e);v.rotate(e,c,d,e);v.translate(e,x.scale(b.left,-1,E),e);v.multiply(a,e,a)}function t(a,b,c,
  706. d,e,f,g,k,m){for(var r=v.identity(l),p=e;p<c;p++)if(a[p].TB&&(p>e||!p)){var t,u=b,w=d;t=a[p].left;var q=a[p].right,y=f,B=r,z=x.create(),J=x.transformMat4(t,B,A);J[3]=1;B=x.transformMat4(q,B,F);B=x.subtract(B,J,K);u=x.subtract(w,u,F);y=x.cross(y,u,h);.01>Math.abs(x.dot(y,B))?w=.5:(x.normalize(y,y),y[3]=-x.dot(y,w),w=-M.dot(y,J)/M.dot(y,B));q=x.subtract(q,t,F);t=x.scaleAndAdd(t,q,w,z);D(g,t);k&&D(m,a[p].Dc);p&&n(r,a[p],a[p-1])}}function m(a,b){function c(b,d){y=q=p=d;l=g=h=b;x.copy(b,k);x.copy(b,m);
  707. x.copy(a[p].Dc,r)}var d=[],f=[],h,g,l,k,m,r,p=0,q=0,y=0;h=a[0].right;g=a[0].left;l=a[0].right;k=x.copy(g,J);m=x.copy(l,B);r=x.copy(a[0].Dc,C);D(d,h);b&&D(f,a[0].Dc);for(var A=v.identity(w),z=1;z<a.length;z++){var E=a[z].left,H=a[z].right,F=x.transformMat4(E,A,Z),K=x.transformMat4(H,A,I);a[z].TB&&n(A,a[z],a[z-1]);if(0>=e(h,m,K,r)){var ca=u(h,l);if(ca||0<e(h,k,K,r))l=H,x.copy(K,m),y=z;else{(E=u(k,h))||t(a,k,q,h,p,r,d,b,f);A=v.identity(A);c(g,q);z=p;E||(D(d,h),b&&D(f,a[z].Dc));continue}}0<=e(h,k,F,r)&&
  708. ((ca=u(h,g))||0>e(h,m,F,r)?(g=E,x.copy(F,k),q=z):((E=u(m,h))||t(a,m,y,h,p,r,d,b,f),A=v.identity(A),c(l,y),z=p,E||(D(d,h),b&&D(f,a[z].Dc))))}A=a.length-1;z=a[A].left;(E=u(h,z))||t(a,k,A,h,p,r,d,b,f);E&&p||D(d,z);return b?(D(f,a[A].Dc),{positions:new Float32Array(d),normals:new Float32Array(f)}):{positions:new Float32Array(d),normals:null}}function k(a,b,c,d,e){for(var f=null,h=Number.MAX_VALUE,g=0;g<a.length;g++){var l=a[g],k=e(c,l.Kc,l.Jj,b,h);k<h&&(f=l,h=k)}return 0<d&&h>d?null:f}function d(a,b,
  709. c,d,e){a.push({left:b,right:c,TB:d,Dc:e})}var y=q("__geometry"),H=q("__math"),v=q("__mat4"),z=q("__util"),x=q("__vec3"),M=q("__vec4"),F=x.create(),E=x.create(),A=M.create(),K=M.create(),h=M.create(),l=v.create(),w=v.create(),r=v.create(),J=x.create(),B=x.create(),Z=x.create(),I=x.create(),C=x.create();a.HN=function(a){var b=y.Fr(a.Gb,y.cH),c=a.td;a=[];for(var d=0;d<c.length;d+=3)a.push({ha:new Uint32Array([c[d],c[d+1],c[d+2]]),Kc:new Float32Array(3),Dc:new Float32Array(3)});c=[];for(d=0;d<b.length;d+=
  710. 3){var e=new Float32Array(3);e[0]=b[d];e[1]=b[d+1];e[2]=b[d+2];c.push(e)}for(b=0;b<a.length;b++)d=a[b],x.add(c[d.ha[0]],c[d.ha[1]],F),x.add(F,c[d.ha[2]],F),x.scale(F,1/3,d.Kc);for(b=0;b<a.length;b++){var d=a[b],e=x.subtract(c[d.ha[1]],c[d.ha[0]],F),f=x.subtract(c[d.ha[2]],c[d.ha[0]],E),e=x.cross(e,f,F);x.normalize(e,e);x.copy(e,d.Dc)}for(var h={},b=[],d=[],l,k,m=Math.pow(10,4),e=0,f=c.length;e<f;e++)l=c[e],k=Math.round(l[0]*m)+"_"+Math.round(l[1]*m)+"_"+Math.round(l[2]*m),void 0===h[k]?(h[k]=e,b.push(l),
  711. d[e]=b.length-1):d[e]=d[h[k]];h=[];e=0;for(f=a.length;e<f;e++)for(l=a[e],l.ha[0]=d[l.ha[0]],l.ha[1]=d[l.ha[1]],l.ha[2]=d[l.ha[2]],l=[l.ha[0],l.ha[1],l.ha[2]],k=0;3>k;k++)if(l[k]==l[(k+1)%3]){h.push(e);break}for(e=h.length-1;0<=e;e--)a.splice(h[e],1);c.length=0;for(e in b)c.push(b[e]);d=[];for(b=e=0;b<a.length;b++)f=a[b],d.push({id:e++,Jj:f.ha,Kc:f.Kc,Dc:f.Dc,wf:[]});a={aO:d,dn:c};c={};for(b=0;b<d.length;b++)for(e=0;3>e;e++)f=d[b].Jj[e],h=d[b].Jj[(e+1)%3],f=f>h?h+"-"+f:f+"-"+h,f in c||(c[f]=[]),c[f].push(d[b]);
  712. d=Object.keys(c);b=0;for(h=d.length;b<h;b++)for(f=d[b],e=0;e<c[f].length;e++)for(l=e+1;l<c[f].length;l++)c[f][e].wf.push(c[f][l]),c[f][l].wf.push(c[f][e]);return g(a)};a.navmesh_get_island=function(a,b,c){for(var d=null,e=Number.MAX_VALUE,f=a.pw,h=0;h<f.length;h++)for(var g=0;g<f[h].length;g++){var l=f[h][g];x.subtract(l.Kc,b,F);l=c(b,l.Kc,l.Jj,a.dn,e);l<e&&(d=h,e=l)}return d};a.KM=function(a,b,c){for(var d=[],e=0;e<b.length;e++)d.push(c[b[e]]);b=!1;c=-1;for(var e=d.length,f=e-1;++c<e;f=c)(d[c][1]<=
  713. a[1]&&a[1]<d[f][1]||d[f][1]<=a[1]&&a[1]<d[c][1])&&a[0]<(d[f][0]-d[c][0])*(a[1]-d[c][1])/(d[f][1]-d[c][1])+d[c][0]&&(b=!b);return b?!0:!1};a.navmesh_find_path=function(a,b,c,e){var f;f=a.pw[e.island];var h=a.dn,g=k(f,h,b,e.allowed_distance,e.distance_to_closest);f=g?(h=k(f,h,c,e.allowed_distance,e.distance_to_farthest))?p(f,g,h,b,c):null:null;if(f&&f.length)if(e.do_not_pull_string)if(c=f,e.return_normals){b=new Float32Array(3*c.length);for(f=0;f<c.length;f++)b.set(c[f].Kc,3*f);c={positions:b,normals:null}}else{b=
  714. new Float32Array(3*c.length);a=new Float32Array(3*c.length);for(f=0;f<c.length;f++)b.set(c[f].Kc,3*f),a.set(c[f].Dc,3*f);c={positions:b,normals:a}}else{a=a.dn;e=e.return_normals;g=[];d(g,b,b,!1,f[0]&&f[0].Dc||z.AXIS_Z);for(b=0;b<f.length;b++){var l=f[b];if(h=f[b+1]){var n=.999>Math.abs(x.dot(l.Dc,h.Dc));a:{for(var r=0;r<l.wf.length;r++)if(l.wf[r]===h.id){l=l.bO[r];break a}l=void 0}d(g,a[l[0]],a[l[1]],n,h.Dc)}}d(g,c,c,!1,g[g.length-1].Dc);c=m(g,e)}else c=null;return c}};fdage.module.__nla=function(a,q){function f(){return{type:"CLIP",na:0,Qa:0,ai:!1,paused:!1,gf:"",yn:"",kc:0,rm:null,ti:0,Nj:0,PA:0,OA:0,NE:!1,scale:1,repeat:1,dz:0}}function c(a,b,d){if(a.animation_data){var e=a.animation_data.nla_tracks;if(e)for(var f=0;f<e.length;f++)e[f].rm=d,b.push(e[f])}a=a.nodes;for(f=0;f<a.length;f++)if(e=a[f],e.node_group){var g=e.node_group.node_tree;if(g){var k=d.slice();k.push(e.name);c(g,b,k)}}}function b(a,b){var c=Math.round(a)-b.na;b.li&&(c%=b.Ji,0>c&&(c+=b.Ji));return b.Jb+
  715. c}function g(a,b){var c=(b-F)*z.Sc()+a.Jb;c>a.na?(c-=a.na,a.cyclic&&(c%=a.Qa-a.na+1),c+=a.na):c=a.na;return c}function p(a,b){a=x.clamp(a,b.na,b.Qa);var c=a==b.Qa?b.dz:b.ti+(a-b.na)/b.scale%(b.Nj-b.ti);b.NE&&(c=b.Nj-c+b.ti);return c}function D(a,b){for(var c=[],d=0;d<a.length;d++){var e=a[d],g=e.strips;if(g)for(var k=0;k<g.length;k++){var m=g[k],n=f();n.type=m.type;n.na=m.frame_start;n.Qa=m.frame_end;n.kc=b;n.ti=m.action_frame_start;n.Nj=m.action_frame_end;n.NE=m.use_reverse;n.scale=m.scale;n.repeat=
  716. m.repeat;m.action&&(n.gf=m.action.name,n.yn=m.action.uuid,n.rm=e.rm);c.push(n)}}return c}function e(a){return("SPEAKER"==a.type||"LAMP"==a.type)&&a.data.animation_data&&a.data.animation_data.nla_tracks.length?!0:!1}function u(a){if("MESH"!=a.type||!a.data)return!1;a=a.data.materials;if(!a)return!1;for(var b=0;b<a.length;b++){var c=a[b],d=c.node_tree;if(c=c.use_nodes&&d)a:{if(d.animation_data&&(c=d.animation_data.nla_tracks)&&c.length){c=!0;break a}d=d.nodes;for(c=0;c<d.length;c++);c=!1}if(c)return!0}return!1}
  717. function n(a,b){var c=y.get_active();if(c.la){var d=g(c.la,b);c.la.Jb-=d-a;c.la.Vl=!0}}var t=q("__animation");q("__config");var m=q("__objects"),k=q("__obj_util"),d=q("__print"),y=q("__scenes"),H=q("__sfx"),v=q("__textures"),z=q("__time"),x=q("__util"),M=[],F=-1;a.Cj=function(a,b){var d,h=null;for(d=b.F.length-1;0<=d;d--){var g=b.F[d];if(g.nb.b4w_use_nla&&(h=g,g.nb.$y))break}if(d=h){d.EC=!0;var m=0;if((h=a.animation_data)&&h.nla_tracks.length){var n=h.nla_tracks;if(k.is_armature(b)||k.is_camera(b)||
  718. k.is_mesh(b)||k.is_empty(b)||k.is_lamp(b)||k.is_speaker(b)||k.is_world(b))n=D(n,m),n.length&&(b.xf=b.xf.concat(n),m++)}e(a)&&(n=a.data.animation_data.nla_tracks,n=D(n,m),n.length&&(b.xf=b.xf.concat(n),m++));if(k.is_mesh(b))for(g=a.data.materials,h=0;h<g.length;h++){var p=g[h];if(p.use_nodes&&p.node_tree&&(n=[],c(p.node_tree,n,[p.name]),n=D(n,m),n.length)){for(var p=m,u=n,v=t.FL(),q=[],y=0,z=0;z<u.length;z++){var H=u[z];""!=H.yn?H=x.keysearch("uuid",H.yn,v):(H=H.gf,H=x.keysearch("name",H,v)||x.keysearch("name",
  719. H+"_B4W_BAKED",v));if(H){var H=H.fcurves,F=[],V;for(V in H)F.push(V);q.push(F)}}for(z=0;z<q.length;z++){v=!1;for(H=0;H<z;H++)if(x.VH(q[z],q[H])){u[z].kc=u[H].kc;v=!0;break}v||(u[z].kc=m+y++)}m=p+y;b.xf=b.xf.concat(n)}}if(!k.is_world(b)){for(h=0;h<a.particle_systems.length;h++)g=a.particle_systems[h],V=g.settings,"EMITTER"==V.type&&V.b4w_allow_nla&&(V=f(),V.type="CLIP",V.na=d.nb.frame_start,V.Qa=d.nb.frame_end+1,V.gf=g.name,V.kc=m,V.ti=V.na,V.Nj=V.Qa,b.xf.push(V),m++);d=m+1;for(h=0;h<b.Fc.length;h++)g=
  720. b.Fc[h],g.rH&&(m=d,V=f(),V.type="CLIP",V.na=g.na,V.Qa=g.Qa,V.gf=g.name,V.kc=m,V.ti=V.na,V.Nj=V.Qa,b.xf.push(V))}}};a.JQ=function(a,b,c){a.la||(a.la={na:a.frame_start,Qa:a.frame_end,Jb:0,cp:-1,zp:a.frame_end,Ap:a.frame_start,bn:null,cyclic:b,Sa:[],ra:[],lD:a.name,Ui:!1,Vl:!1,sx:!0},M.push(a.la));b=a.la;for(var e=m.xB(a,"ALL",c),g=0;g<e.length;g++){var k=e[g];if(k.xf.length){b.Sa[c]||(b.Sa[c]=[]);for(var n=0;n<k.F.length;n++){var p=k.F[n];p.nb==a&&p.EC&&b.Sa[c].push(k)}for(var n=k.xf,p=b,t=k.name,u=
  721. 0;u<n.length;u++){var v=n[u];p.na>v.Qa||p.Qa<v.na?(d.warn("NLA: Strip is out of scene range: "+(t+" ["+v.na+":"+v.Qa+"]")),n.splice(u,1),u--):v.gf||"CLIP"!=v.type||(d.warn('NLA: no action in strip for object "'+t+'".'),n.splice(u,1),u--)}k=k.xf;n=b;for(p=0;p<k.length;p++){for(var t=k[p],u=n.na,v=n.Qa+1,q=0;q<k.length;q++){var D=k[q];t.kc==D.kc&&(D.Qa<=t.na&&(u=t.na),D.na>=t.Qa&&(v=Math.min(v,D.na)))}t.PA=u;t.OA=v;t.dz=0===t.repeat%1?t.Nj:t.ti+t.repeat%1*(t.Nj-t.ti)}}}a=a.s.en;for(g=0;g<a.length;g++)e=
  722. a[g].s,e.Dj&&(e.Ia||e.Tc)&&e.mq==c&&(k=f(),k.type="VIDEO",e.li?(k.na=0,k.Qa=b.Qa):(k.na=x.clamp(e.na,0,b.Qa),k.Qa=x.clamp(e.na+e.Ji,0,b.Qa)),k.gf=a[g].name,b.ra.push(e))};a.start=function(){F=0};a.iM=function(){return F};a.US=function(a){return a.la?a.la.Jb:null};a.GT=function(a,b){return a.la?(a.la.Jb=b,!0):!1};a.update=function(a,c){if(!(0>F)){0==F&&(F=a);for(var d=0;d<M.length;d++){var e=M[d];e.Ui&&(e.Jb-=z.Sc()*c);var f=g(e,a);if((!e.Ui||e.Vl)&&f>=e.zp)if(e.cyclic){var f=e,k=a;f.bn&&f.bn();n(f.Ap,
  723. k);f.sx=!0;f=g(f,k)}else{var k=e,m=f;k.Ui=!0;k.Jb-=m-k.zp;k.bn&&k.bn()}if(!e.Ui||e.Vl){for(var k=e,m=f,u=0;u<k.Sa.length;u++){var q=k.Sa[u];if(q)for(var D=0;D<q.length;D++){for(var y=q[D],C=y.xf,N=0;N<C.length;N++){var Q=C[N];"SOUND"==Q.type&&m<k.cp-1E-6&&(Q.ai=!1)}for(N=0;N<C.length;N++)switch(Q=C[N],Q.type){case "CLIP":if(Q.PA<=m&&m<Q.OA&&!Q.ai){var u=y,W=Q,V=W.rm;""!=W.yn?t.QH(u,V,W.yn,W.kc):t.apply(u,V,W.gf,W.kc);t.set_behavior(u,t.AB_FINISH_STOP,W.kc);V=p(W.na,W);t.set_frame(u,V,W.kc);for(u=
  724. 0;u<C.length;u++)C[u]!=Q&&C[u].kc==Q.kc&&(C[u].ai=!1);Q.ai=!0}Q.ai&&(W=y,V=p(m,Q),1E-6<Math.abs(V-t.oB(W,Q.kc))&&t.set_frame(W,V,Q.kc));break;case "SOUND":if((m<k.cp-1E-6||k.cp<Q.na)&&Q.na<=m&&m<Q.Qa&&!Q.ai){var W=y,ka=Q,V=(ka.na-m)/z.Sc(),ka=(ka.Qa-ka.na)/z.Sc();H.play(W,V,ka);Q.ai=!0}k.cp<Q.Qa&&Q.Qa<=m&&Q.ai&&(Q.ai=!1)}}}k=a;m=e;q=f;for(D=0;D<m.ra.length;D++)if(y=m.ra[D],y.Ia||y.Tc){C=v.YE(y);N=y;Q=x.clamp(b(q,N),N.Jb,N.Jb+v.ZE(N)-1);N.Tc&&(Q=v.eR(N,Q),Q==N.Hp&&Q--);N=Q;Q=v.$E(y);W=u=!1;if(m.Vl||
  725. m.sx)W=!0;m.Ui||(V=b(q,y),V=y.Jb<=V&&V<=y.Jb+v.ZE(y),ka=v.aF(y),y.li&&N==Q&&(W=!0),ka||C==N||(W=!0),V&&!ka?v.play_video(y):V&&ka?u=!0:!V&&ka&&(y.Ia&&C<N?u=!0:v.pause_video(y)));W?(v.UO(y,N),y.Tc&&(y.qj=v.dt(y,k))):u&&v.bF(y)&&(y.Ia?v.GE(y):(C=v.dt(y,k),C!=y.qj&&(y.bi=N,v.FE(y)),y.qj=C))}e.cp=f}e.Vl=!1;e.sx=!1}}};a.cleanup=function(a){if(0==a)M.length=0,F=-1;else for(var b=0;b<M.length;b++)M[b].Sa[a]=null};a.Jz=function(a){var b=a.animation_data;return b&&b.nla_tracks.length||e(a)||u(a)?!0:!1};a.set_frame=
  726. n;a.get_frame=function(a){var b=y.get_active();return b.la?g(b.la,a):-1};a.Nx=function(){var a=y.get_active();if(a.la){a.la.Ui=!0;for(var a=a.la.ra,b=0;b<a.length;b++)v.pause_video(a[b])}};a.QC=function(a){var b=y.get_active();b.la&&(b.la.Ui=!1,b.la.bn=a?a:null)};a.get_frame_start=function(){var a=y.get_active();return a.la?a.la.na:-1};a.get_frame_end=function(){var a=y.get_active();return a.la?a.la.Qa:-1};a.is_play=function(){var a=y.get_active();return a.la?!a.la.Ui:!1};a.check_nla=function(){var a=
  727. y.get_active();return a.la?a.b4w_use_nla:!1};a.check_logic_nodes=function(){var a=y.get_active();return a.la?0<a.b4w_logic_nodes.length:!1};a.set_range=function(a,b){var c=y.get_active();if(c.la)c.la.Ap=a,c.la.zp=b;else return!1};a.Ax=function(a){var b=y.get_active();b.la&&(b.la.zp=a)};a.gP=function(a){var b=y.get_active();b.la&&(b.la.Ap=a)};a.reset_range=function(){var a=y.get_active();if(a.la)a=a.la,a.Ap=a.na,a.zp=a.Qa;else return!1};a.set_cyclic=function(a){var b=y.get_active();if(b.la)b.la.cyclic=
  728. a;else return!1};a.clear_callback=function(){var a=y.get_active();a.la&&(a.la.bn=null)};a.uD=function(a){var b=y.get_active().la;b&&(b.Jb=-(a-F)*z.Sc()+b.Ap,b.Vl=!0)};a.get_frame_end=function(){var a=y.get_active().la;return a?a.Qa:null}};fdage.module.__camera=function(a,q){function f(a,b,c,d,e){ua.set_translation(a,b);c&&x(a,b,c);A(a,d);K(a,e)}function c(a,b,c,d,e,f,h,g){var l=a.k;ua.set_translation(a,b);l.pivot.set(c);x(a,b,c);A(a,d);K(a,e);r(a,f);J(a,h);l.use_panning=g}function b(a,b,c,d,e,f,g,l){var k=a.k;ua.set_translation(a,b);k.Kb.set(c);x(a,b,c);w(a,d);h(a,e);B(a,f);Z(a,g);k.Sg=l}function g(a,b,c){var d=a.k,e=O.get_trans_view(d.n),f=O.get_quat_view(d.n),d=za;d.set(ea.AXIS_Z);d[3]=0;a=k(a,oa)[1];f=ea.quat_to_dir(f,ea.AXIS_MZ,
  729. xa);va.set_pline_initial_point(X,e);va.set_pline_directional_vec(X,f);if(!ea.line_plane_intersect(d,-b,X,c)||Math.abs(a)<Ba)ca.warn("Active hover camera view vector and the supporting plane are parallel to each other. Hover pivot will be set based on the camera position."),c[0]=e[0],c[1]=0,c[2]=e[2];return c}function p(b){for(var c=b.k,d=0;d<b.F.length;d++){var e=b.F[d].W[0];if(e.type==a.Od)switch(c.jb){case a.MS_TARGET_CONTROLS:var f=O.get_trans_view(c.n);c.Pi=sa.dist(f,c.pivot);c.Qi=e.top;break;
  730. case a.MS_HOVER_CONTROLS:f=O.get_trans_view(c.n),c.Pi=sa.dist(f,c.Kb),c.Qi=e.top}}}function D(a){a={type:a,name:"",GD:1,width:0,height:0,pe:null,Jo:null,gc:null,le:null,qb:0,qd:0,near:0,far:0,left:0,right:0,top:0,bottom:0,Nc:ba.create(),n:new Float32Array(9),Cb:new Float32Array(16),Lt:new Float32Array(16),mb:new Float32Array(16),Oc:new Float32Array(16),Kt:new Float32Array(16),gx:new Float32Array(16),Ef:new Float32Array(16),direction:new Float32Array(3),Be:O.gk(),Mt:O.gk(),Cp:O.gk(),Ys:O.gk(),Kp:O.gk(),
  731. dof_distance:0,dof_front_start:0,dof_front_end:0,dof_rear_start:0,dof_rear_end:0,dof_power:0,dof_bokeh_intensity:0,dof_object:null,KA:!1,Xc:!1,dof_on:!1,ms:new Float32Array(3),Ug:u(),uj:0,xe:0,dc:null,Pg:null,oo:null,er:new Float32Array(4),wm:new Float32Array(4)};a.Nc[0]=a.Nc[2]=45;a.Nc[1]=a.Nc[3]=55;return a}function e(a,b){var c=D(a.type);c.name=a.name;c.GD=a.GD;c.width=a.width;c.height=a.height;b||(c.pe=a.pe,c.Jo=a.Jo,c.gc=a.gc,c.le=a.le);c.qb=a.qb;c.qd=a.qd;c.near=a.near;c.far=a.far;c.left=a.left;
  732. c.right=a.right;c.top=a.top;c.bottom=a.bottom;ba.copy(a.Nc,c.Nc);O.copy(a.n,c.n);pa.copy(a.Cb,c.Cb);pa.copy(a.mb,c.mb);pa.copy(a.Oc,c.Oc);pa.copy(a.Kt,c.Kt);pa.copy(a.gx,c.gx);pa.copy(a.Ef,c.Ef);O.copy(a.Be,c.Be);O.copy(a.Mt,c.Mt);O.copy(a.Cp,c.Cp);O.copy(a.Ys,c.Ys);O.copy(a.Kp,c.Kp);c.dof_distance=a.dof_distance;c.dof_front_start=a.dof_front_start;c.dof_front_end=a.dof_front_end;c.dof_rear_start=a.dof_rear_start;c.dof_rear_end=a.dof_rear_end;c.dof_power=a.dof_power;c.dof_bokeh_intensity=a.dof_bokeh_intensity;
  733. c.dof_object=a.dof_object;c.KA=a.KA;c.Xc=a.Xc;c.dof_on=a.dof_on;sa.copy(a.ms,c.ms);var d=a.Ug,e=c.Ug;ba.copy(d.left,e.left);ba.copy(d.right,e.right);ba.copy(d.top,e.top);ba.copy(d.bottom,e.bottom);ba.copy(d.near,e.near);ba.copy(d.far,e.far);c.uj=a.uj;c.xe=a.xe;a.dc&&(c.dc=ba.clone(a.dc));if(a.Pg){d=a.Pg.length;c.Pg=Array(d);for(e=0;e<d;e++)c.Pg[e]=sa.clone(a.Pg[e]);c.oo=new Float32Array(a.oo)}ba.copy(a.er,c.er);ba.copy(a.wm,c.wm);return c}function u(){return{left:new Float32Array([0,0,0,0]),right:new Float32Array([0,
  734. 0,0,0]),top:new Float32Array([0,0,0,0]),bottom:new Float32Array([0,0,0,0]),near:new Float32Array([0,0,0,0]),far:new Float32Array([0,0,0,0])}}function n(b){switch(b){case "STATIC":return a.MS_STATIC;case "TARGET":return a.MS_TARGET_CONTROLS;case "EYE":return a.MS_EYE_CONTROLS;case "HOVER":return a.MS_HOVER_CONTROLS;default:ea.q("Unknown move style")}}function t(b){var c=D(b);if(b==a.Qc)return c;switch(b){case a.jd:y(c,40,.1,1E3);break;case a.Od:y(c,2.5,.1,1E3);break;case a.Fg:break;case a.Eg:break;
  735. case a.xh:break;case a.zc:case a.Ic:case a.fe:case a.ge:ea.q("Stereo camera may only be created from perspective one");break;default:ea.q("Unknown camera type")}return c}function m(b,c,d){b.type!=a.zc&&b.type!=a.Ic&&b.type!=a.fe&&b.type!=a.ge&&ea.q("set_stereo_params(): wrong camera type");if(b.type==a.zc||b.type==a.Ic)b.uj=c;b.xe=d;ja(b,b.qb);if(na.sa()&&(c=na.get_active(),b=c.s.Uc))for(c=wa.da(na.Ak(c),c).W,d=0;d<c.length;d++)qa(c[d],b)}function k(a,b){var c=O.get_quat_view(a.k.n);return d(c,b)}
  736. function d(a,b){var c=ea.quat_to_dir(a,ea.AXIS_Z,xa),d=ea.quat_to_dir(a,ea.AXIS_MY,Ia),e=-Math.asin(c[2]/sa.length(c)),c=Math.abs(e)>Math.PI/4?sa.scale(d,-ea.sign(e),ma):sa.scale(c,-ea.sign(d[2]),ma),f=Math.atan(Math.abs(c[0]/c[1]));0<d[2]&&(e=ea.sign(e)*Math.PI-e);d=f;0<c[1]&&(d=Math.PI-d);0>c[0]&&(d=2*Math.PI-d);b[0]=d;b[1]=e;return b}function y(b,c,d,e,f){switch(b.type){case a.jd:case a.zc:case a.Ic:b.qd=c;b.qb=1;break;case a.Od:b.top=c;b.qb=1;break;case a.Fg:b.qd=c;b.qb=f/c;break;case a.Eg:b.top=
  737. c;b.qb=f/c;break;case a.fe:case a.ge:break;default:ca.error("set_frustum(): Unsupported camera type: "+b.type)}b.near=d;b.far=e}function H(b,c){var d=O.Yb(c.k.n,xa),e=O.sd(c.k.n,R),f=pa.fromRotationTranslation(e,d,Aa);pa.invert(f,b.Cb);if(na.sa())var f=na.get_active(),h=na.Ca(f,L.wh);if(b.type==a.zc||h&&h.enable_hmd_stereo&&b.type==a.fe)b.Cb[12]+=b.xe/2;else if(b.type==a.Ic||h&&h.enable_hmd_stereo&&b.type==a.ge)b.Cb[12]-=b.xe/2;if(b.dc){O.from_mat4(b.Cb,b.Cp);O.invert(b.Cp,b.Ys);var f=b.dc[0],h=b.dc[1],
  738. g=b.dc[2],l=b.dc[3],k=b.Lt;k[0]=1-2*f*f;k[1]=-2*f*h;k[2]=-2*f*g;k[3]=0;k[4]=-2*f*h;k[5]=1-2*h*h;k[6]=-2*h*g;k[7]=0;k[8]=-2*f*g;k[9]=-2*h*g;k[10]=1-2*g*g;k[11]=0;k[12]=-2*f*l;k[13]=-2*h*l;k[14]=-2*g*l;k[15]=1;pa.multiply(b.Cb,b.Lt,b.Cb);ja(b,b.qb,!0);f=za;h=Aa;pa.invert(b.Cb,h);pa.transpose(h,h);ba.transformMat4(b.dc,h,f);h=Ja;h[0]=(ea.sign(f[0])+b.mb[8])/b.mb[0];h[1]=(ea.sign(f[1])+b.mb[9])/b.mb[5];h[2]=-1;h[3]=(1+b.mb[10])/b.mb[14];ba.scale(f,2/(f[0]*h[0]+f[1]*h[1]+f[2]*h[2]+f[3]*h[3]),f);b.mb[2]=
  739. f[0];b.mb[6]=f[1];b.mb[10]=f[2]+1;b.mb[14]=f[3];sa.transformMat4(d,b.Lt,d)}O.from_mat4(b.Cb,b.Be);O.invert(b.Be,b.Mt);U(b);T(b);O.set_sep(d,1,e,b.n)}function v(b,c,d,e){pa.lookAt(c,d,e,b.Cb);d=na.get_active();d=na.Ca(d,L.wh);na.sa()&&(d=na.get_active(),d=na.Ca(d,L.wh));if(b.type==a.zc||d&&d.enable_hmd_stereo&&b.type==a.fe)b.Cb[12]+=b.xe/2;else if(b.type==a.Ic||d&&d.enable_hmd_stereo&&b.type==a.ge)b.Cb[12]-=b.xe/2;O.from_mat4(b.Cb,b.Be);U(b);T(b);O.set_trans(c,b.n)}function z(a,b,c){c=sa.subtract(c,
  740. b,xa);sa.length(c)&&(sa.normalize(c,c),c=ea.wx(ea.AXIS_MZ,c,R),ua.set_rotation(a,c));ua.set_translation(a,b)}function x(a,b,c){var d=a.k,e=E(a);z(a,b,c);e?(b=sa.copy(d.Ae,xa),sa.negate(b,b),S.correct_up(a,b,!0)):S.correct_up(a,d.Ae,!0)}function M(a,b){for(var c=a.k,d=b.W,e=O.sd(c.n,R),e=ea.quat_to_dir(e,ea.AXIS_MZ,xa),f=O.Yb(c.n,Ia),h=b.ED,g=0;g<h.length;g++){var l=h[g];sa.copy(e,l.direction);O.Yb(c.n,l.ms)}for(g=0;g<d.length;g++)l=d[g],H(l,a),sa.copy(e,l.direction),ea.Rl(l.Oc,l.Ug),l.dof_object&&
  741. l.dof_on&&(c=ua.get_translation(l.dof_object,ma),c=sa.dist(f,c),l.dof_distance=c)}function F(b){var c=b.k;c.jb==a.MS_TARGET_CONTROLS&&(c.xj=E(b))}function E(a){a=O.get_quat_view(a.k.n);return 0>ea.quat_to_dir(a,ea.AXIS_Y,xa)[2]}function A(b,c){var d=b.k;if(c){d.Za=d.Za||{};d.Za.left=c.left;d.Za.right=c.right;d.Za.km=c.left;d.Za.Cm=c.right;d.Za.camera_space=Boolean(c.camera_space);var e=b.k;!(d=e.Za)||e.jb!=a.MS_EYE_CONTROLS&&e.jb!=a.MS_TARGET_CONTROLS||(e=k(b,oa),d.camera_space?(d.left+=e[0],d.right+=
  742. e[0]):(d.km-=e[0],d.Cm-=e[0]),d.left=ea.angle_wrap_0_2pi(d.left),d.right=ea.angle_wrap_0_2pi(d.right),d.km=ea.angle_wrap_0_2pi(d.km),d.Cm=ea.angle_wrap_0_2pi(d.Cm))}else d.Za=null}function K(a,b){var c=a.k;b?(c.ea=c.ea||{},c.ea.down=b.down,c.ea.up=b.up,c.ea.Ol=b.down,c.ea.Zm=b.up,c.ea.camera_space=Boolean(b.camera_space),l(a)):c.ea=null}function h(a,b){var c=a.k;if(!b){var d=k(a,oa);b={down:d[1],up:d[1]}}c.ea=c.ea||{};c.ea.down=b.down;c.ea.up=b.up;l(a);c.hb&&c.ea&&ka(a)}function l(b){var c=b.k,d=
  743. c.ea;if(d)switch(c.jb){case a.MS_EYE_CONTROLS:case a.MS_TARGET_CONTROLS:b=k(b,oa);d.camera_space?(d.up+=b[1],d.down+=b[1]):(d.Zm-=b[1],d.Ol-=b[1]);d.up=ea.angle_wrap_periodic(d.up,-Math.PI,Math.PI);d.down=ea.angle_wrap_periodic(d.down,-Math.PI,Math.PI);d.Zm=ea.angle_wrap_periodic(d.Zm,-Math.PI,Math.PI);d.Ol=ea.angle_wrap_periodic(d.Ol,-Math.PI,Math.PI);break;case a.MS_HOVER_CONTROLS:d.up=ea.angle_wrap_periodic(d.up,-Math.PI,Math.PI),d.down=ea.angle_wrap_periodic(d.down,-Math.PI,Math.PI),d.up=ea.clamp(d.up,
  744. -Math.PI/2,0),d.down=ea.clamp(d.down,-Math.PI/2,0)}}function w(a,b){var c=a.k;if(!b){var d=ua.um(a,c.Kb);b={min:d,max:d}}c.hb=c.hb||{};c.hb.min=b.min;c.hb.max=b.max;c.hb&&c.ea&&ka(a)}function r(a,b){var c=a.k;b?(c.hb=c.hb||{},c.hb.min=b.min,c.hb.max=b.max):c.hb=null}function J(a,b){var c=a.k;b?(c.xd=c.xd||{},c.xd.min_z=b.min_z,c.xd.max_z=b.max_z):c.xd=null}function B(a,b){var c=a.k;b?(c.lc=c.lc||{},c.lc.min=b.min,c.lc.max=b.max):c.lc=null}function Z(a,b){var c=a.k;b?(c.mc=c.mc||{},c.mc.min=b.min,
  745. c.mc.max=b.max):c.mc=null}function I(b){var c=b.k;if(wa.is_camera(b))for(var d=b.F,e=0;e<d.length;e++){var f=d[e].W;if(f[0].type===a.Od){switch(c.jb){case a.MS_TARGET_CONTROLS:var h=O.get_trans_view(c.n),h=sa.dist(h,c.pivot),h=h/c.Pi*c.Qi;break;case a.MS_HOVER_CONTROLS:h=O.get_trans_view(c.n);h=sa.distance(h,c.Kb);h=h/c.Pi*c.Qi;break;default:h=f[0].top}for(var g=0;g<f.length;g++){var l=f[g];l.top=h;ja(l,l.qb)}M(b,d[e])}}}function C(b){var c=b.k,d=c.jb;if(d===a.MS_TARGET_CONTROLS||d===a.MS_EYE_CONTROLS){if(c.Za){var e=
  746. c.Za.left,f=c.Za.right,h=k(b,oa);(h=d==a.MS_TARGET_CONTROLS?ea.$j(h[0],e,f):ea.$j(h[0],f,e))&&(d==a.MS_TARGET_CONTROLS?Q(b,h,0):N(b,h,0))}c.ea&&(e=c.ea.down,f=c.ea.up,h=k(b,oa),(h=d==a.MS_TARGET_CONTROLS?ea.$j(h[1],f,e):ea.$j(h[1],e,f))&&(d==a.MS_TARGET_CONTROLS?Q(b,0,h):N(b,0,h)));if(d===a.MS_TARGET_CONTROLS&&c.hb){var h=b.k,e=O.get_trans_view(h.n),f=sa.subtract(e,h.pivot,xa),g=sa.length(f);g>h.hb.max?(sa.scale(f,h.hb.max/g,f),sa.add(h.pivot,f,e)):g<h.hb.min&&(g=O.get_quat_view(h.n),g=ea.quat_to_dir(g,
  747. ea.AXIS_MZ,Ia),sa.scale(g,100*h.hb.min,g),sa.add(f,g,f),sa.scale(f,-h.hb.min/sa.length(f),f),sa.add(h.pivot,f,e))}}d===a.MS_TARGET_CONTROLS&&c.xd&&(c=b.k,h=c.pivot[2],e=ea.clamp(c.pivot[2],c.xd.min_z,c.xd.max_z),e!=h&&(h=sa.set(0,0,e-h,xa),sa.add(c.pivot,h,c.pivot),c=O.get_trans_view(c.n),sa.add(c,h,c)));d===a.MS_HOVER_CONTROLS&&(d=b.k,d.lc&&(h=ea.clamp(d.Kb[0],d.lc.min,d.lc.max)-d.Kb[0],d.Kb[0]+=h,c=O.get_trans_view(d.n),c[0]+=h),d.mc&&(h=ea.clamp(d.Kb[1],d.mc.min,d.mc.max)-d.Kb[1],d.Kb[1]+=h,c=
  748. O.get_trans_view(d.n),c[1]+=h),d=b.k,c=k(b,oa)[1],(d=ea.$j(c,d.ea.up,d.ea.down))&&W(b,0,d))}function N(a,b,c,d,e){var f=a.k,h=b,g=c;if(d||e)a=k(a,Da),d&&(h=b-a[0]),e&&(g=c-a[1]);if(h||g)b=ta.identity(R),h&&(h=ta.setAxisAngle(f.Ae,h,Ca),ta.multiply(b,h,b)),f=O.get_quat_view(f.n),g&&(h=ea.quat_to_dir(f,ea.AXIS_X,xa),g=ta.setAxisAngle(h,g,Ca),ta.normalize(g,g),ta.multiply(b,g,b)),ta.multiply(b,f,f)}function Q(a,b,c,d,e){var f=a.k,h=b,g=c;if(d||e){var l=k(a,Da);d&&(h=b-l[0]);e&&(g=c-l[1])}V(a,a.k.pivot,
  749. h,g);a=k(a,Da);a=ea.angle_wrap_periodic(a[1],-Math.PI,Math.PI);f.xj=Math.abs(a)>Math.PI/2}function W(a,b,c,d,e){var f=a.k,h=b,g=c;if(d||e){var l=k(a,Da);d&&(h=b-l[0]);e&&(g=c-l[1])}f.Sg||(h=0);V(a,f.Kb,h,g);g&&ka(a)}function V(a,b,c,d){var e=a.k;if(c||d){var f=ta.identity(R);c&&(c=ta.setAxisAngle(ea.AXIS_Z,c,Ca),ta.multiply(f,c,f));G(a);a=O.get_quat_view(e.n);d&&(c=ea.quat_to_dir(a,ea.AXIS_X,xa),d=ta.setAxisAngle(c,d,Ca),ta.normalize(d,d),ta.multiply(f,d,f));e=O.get_trans_view(e.n);ea.DO(e,b,f,e);
  750. ta.multiply(f,a,a)}}function ka(a){var b=a.k,c=k(a,oa)[1],d=a.k;a=d.ea;d=d.hb;a.down-a.up?(c=(a.down-c)/(a.down-a.up),c=Math.max(c,0)):c=0;c=c*(d.max-d.min)+d.min;a=O.get_trans_view(b.n);d=O.get_quat_view(b.n);d=ea.quat_to_dir(d,ea.AXIS_MZ,xa);sa.normalize(d,d);sa.scale(d,c,d);sa.subtract(b.Kb,d,a)}function ja(b,c,d){switch(b.type){case a.jd:c||ea.q("No aspect ratio"),b.qb=c;case a.Fg:pa.perspective(ea.deg_to_rad(b.qd),b.qb,b.near,b.far,b.mb);break;case a.Od:c||ea.q("No aspect ratio"),b.qb=c;case a.Eg:c=
  751. b.top*b.qb;pa.ortho(-c,c,-b.top,b.top,b.near,b.far,b.mb);break;case a.xh:pa.ortho(b.left,b.right,b.bottom,b.top,b.near,b.far,b.mb);break;case a.zc:case a.Ic:c||ea.q("No aspect ratio");b.qb=c;var e=Math.tan(b.qd*Math.PI/360);c=b.near*e;var f=b.qb*b.uj*e;b.type==a.zc?(e=f-b.xe/2,f+=b.xe/2):(e=f+b.xe/2,f-=b.xe/2);e=-(b.near/b.uj*e);f*=b.near/b.uj;pa.frustum(e,f,-c,c,b.near,b.far,b.mb);b.left=e;b.right=f;break;case a.fe:case a.ge:if(na.sa())if(e=na.get_active(),(e=na.Ca(e,L.wh))&&e.enable_hmd_stereo){c=
  752. Math.tan(ea.deg_to_rad(b.Nc[0]));var e=Math.tan(ea.deg_to_rad(b.Nc[1])),f=Math.tan(ea.deg_to_rad(b.Nc[2])),h=Math.tan(ea.deg_to_rad(b.Nc[3]));b.top=b.near*c;b.right=b.near*e;b.bottom=-b.near*f;b.left=-b.near*h;pa.frustum(b.left,b.right,b.bottom,b.top,b.near,b.far,b.mb)}else c||(c=b.qb),pa.perspective(ea.deg_to_rad(b.qd),c,b.near,b.far,b.mb);break;case a.Qc:return;default:ea.q("Wrong camera type: "+b.type)}d||(U(b),T(b))}function T(a){pa.copy(a.Cb,a.Ef);a.Ef[12]=0;a.Ef[13]=0;a.Ef[14]=0;a.Ef[15]=1;
  753. pa.multiply(a.mb,a.Ef,a.Ef);pa.invert(a.Ef,a.Ef)}function U(a){pa.copy(a.Cb,a.Oc);pa.multiply(a.mb,a.Oc,a.Oc);pa.invert(a.Oc,a.Kt)}function ia(b,c,d,e,f){e||(e=new Float32Array(24));c||(c=b.near);d||(d=b.far);var h,g,l,k,m,n,r,p;switch(b.type){case a.Qc:ea.q("Extraction from NONE camera is not possible");break;case a.jd:case a.Fg:h=c*Math.tan(b.qd*Math.PI/360);k=-h;g=h*b.qb;l=-g;m=d/c*h;p=-m;n=m*b.qb;r=-n;break;case a.Od:case a.Eg:l=b.top*b.qb;h=m=b.top;g=n=l;k=p=-b.top;l=r=-l;break;case a.xh:h=m=
  754. b.top;g=n=b.right;k=p=b.bottom;l=r=b.left;break;case a.zc:case a.Ic:m=c/b.near;h=c*Math.tan(b.qd*Math.PI/360);k=-h;g=b.right*m;l=b.left*m;r=d/c;m=h*r;p=-m;n=g*r;r*=l;break;case a.fe:case a.ge:m=c/b.near;h=b.top*m;k=b.bottom*m;g=b.right*m;l=b.left*m;r=d/c;m=h*r;p=k*r;n=g*r;r*=l;break;default:ea.q("Wrong camera type: "+b.type)}e[0]=l;e[1]=k;e[2]=-c;e[3]=g;e[4]=k;e[5]=-c;e[6]=g;e[7]=h;e[8]=-c;e[9]=l;e[10]=h;e[11]=-c;e[12]=r;e[13]=p;e[14]=-d;e[15]=r;e[16]=m;e[17]=-d;e[18]=n;e[19]=m;e[20]=-d;e[21]=n;e[22]=
  755. p;e[23]=-d;f&&(c=Aa,pa.invert(b.Cb,c),ea.ym(e,c,e,0));return e}function G(b){return wa.is_camera(b)&&b.k&&b.k.jb==a.MS_HOVER_CONTROLS}function qa(a,b){if(b.enable_csm){var c=b.csm_num;if(!a.Pg){var d=b.csm_num;a.Pg=Array(d);for(var e=0;e<d;e++)a.Pg[e]=new Float32Array(3);a.oo=new Float32Array(d)}for(d=0;d<c;d++){var e=0==d?a.near:aa(b,a,d-1),f=aa(b,a,d),e=ia(a,e,f,fa),e=ra.XL(e);a.Pg[d].set(e.D);a.oo[d]=e.Oa;a.er[d]=sa.length(e.D);a.wm[d]=ga(b.first_cascade_blur_radius,b.last_cascade_blur_radius,
  756. c,d)}}else a.wm[0]=b.first_cascade_blur_radius}function aa(a,b,c){var d=a.csm_num,e=ea.clamp(a.csm_first_cascade_border,b.near,b.far);a=ea.clamp(a.csm_last_cascade_border,b.near,b.far);return ea.clamp(ga(e,a,d,c),b.near,b.far)}function ga(a,b,c,d){switch(d){case 0:break;case c-1:a=b;break;default:a=0==a?0:a*Math.pow(b/a,d/(c-1))}return a}function ya(a,b){b||(b=new Float32Array(3));var c=O.get_trans_view(a.k.n);sa.copy(c,b);return b}var ra=q("__boundings");q("__config");var S=q("__constraints"),la=
  757. q("__container"),pa=q("__mat4"),va=q("__math"),wa=q("__obj_util"),ca=q("__print"),ta=q("__quat"),na=q("__scenes"),L=q("__subscene"),ua=q("__transform"),O=q("__tsr"),ea=q("__util"),sa=q("__vec3"),ba=q("__vec4");a.Qc=10;a.jd=20;a.Od=30;a.Fg=40;a.Eg=50;a.xh=60;a.zc=70;a.Ic=80;a.fe=90;a.ge=100;a.MS_STATIC=0;a.MS_TARGET_CONTROLS=2;a.MS_EYE_CONTROLS=3;a.MS_HOVER_CONTROLS=4;var Ba=ea.deg_to_rad(.5),oa=new Float32Array(2),Da=new Float32Array(2),xa=new Float32Array(3),Ia=new Float32Array(3),ma=new Float32Array(3),
  758. R=new Float32Array(4),Ca=new Float32Array(4),za=new Float32Array(4),Ja=new Float32Array(4),Aa=new Float32Array(16),fa=new Float32Array(24),X=new Float32Array(6);a.EI=function(d,h){var l=h.k,k=d.data;switch(k.type){case "PERSP":var m=t(a.jd);if(k.angle_y)var r=ea.rad_to_deg(k.angle_y);y(m,r,k.clip_start,k.clip_end);break;case "ORTHO":m=t(a.Od),y(m,k.ortho_scale/2,k.clip_start,k.clip_end)}m.name=h.name;r=h.F;r[0].W.push(m);for(var fa=1;fa<r.length;fa++){var X=e(m,!1);r[fa].W.push(X)}l.jb=n(k.b4w_move_style);
  759. l.dof_distance=k.dof_distance;m=k.dof_object;l.dof_object=m?m.ab:null;l.dof_front_start=k.b4w_dof_front_start;l.dof_front_end=k.b4w_dof_front_end;l.dof_rear_start=k.b4w_dof_rear_start;l.dof_rear_end=k.b4w_dof_rear_end;l.dof_power=k.b4w_dof_power;l.dof_bokeh=k.b4w_dof_bokeh;l.dof_bokeh_intensity=k.b4w_dof_bokeh_intensity;l.Xc=k.b4w_dof_foreground_blur;l.Gj=k.b4w_trans_velocity;l.Fj=k.b4w_rot_velocity;l.Hj=k.b4w_zoom_velocity;m=h.k.jb;r=d.data;fa=null;m!=a.MS_TARGET_CONTROLS&&m!=a.MS_EYE_CONTROLS||
  760. !r.b4w_use_horizontal_clamping||(fa={left:r.b4w_rotation_left_limit,right:r.b4w_rotation_right_limit,camera_space:"LOCAL"==r.b4w_horizontal_clamping_type},m==a.MS_EYE_CONTROLS&&(fa.left*=-1,fa.right*=-1));m=fa;r=h.k.jb;fa=d.data;X=null;r!=a.MS_TARGET_CONTROLS&&r!=a.MS_EYE_CONTROLS||!fa.b4w_use_vertical_clamping?r==a.MS_HOVER_CONTROLS&&fa.b4w_use_zooming&&(fa.b4w_hover_angle_min<=fa.b4w_hover_angle_max?(X={down:fa.b4w_hover_angle_min,up:fa.b4w_hover_angle_max},X.down*=-1,X.up*=-1):ca.error("Wrong angle limits for the HOVER camera. Disabling angle limits.")):
  761. (X={down:fa.b4w_rotation_down_limit,up:fa.b4w_rotation_up_limit,camera_space:"LOCAL"==fa.b4w_vertical_clamping_type},r==a.MS_TARGET_CONTROLS&&(X.down*=-1,X.up*=-1));var r=X,fa=h.k.jb,X=d.data,u=null;fa==a.MS_TARGET_CONTROLS&&X.b4w_use_target_distance_limits&&X.b4w_distance_min<=X.b4w_distance_max?u={min:X.b4w_distance_min,max:X.b4w_distance_max}:fa===a.MS_HOVER_CONTROLS&&X.b4w_use_zooming&&(X.b4w_distance_min<=X.b4w_distance_max?u={min:X.b4w_distance_min,max:X.b4w_distance_max}:ca.error("Wrong distance limits for the HOVER camera. Disabling distance limits."));
  762. fa=u;X=d.data;u=null;h.k.jb==a.MS_HOVER_CONTROLS&&X.b4w_use_horizontal_clamping&&X.b4w_horizontal_translation_min<=X.b4w_horizontal_translation_max&&(u={min:X.b4w_horizontal_translation_min,max:X.b4w_horizontal_translation_max});var X=u,u=d.data,v=null;h.k.jb==a.MS_HOVER_CONTROLS&&u.b4w_use_vertical_clamping&&u.b4w_vertical_translation_min<=u.b4w_vertical_translation_max&&(v={min:u.b4w_vertical_translation_min,max:u.b4w_vertical_translation_max});var u=v,v=d.data,w=null;h.k.jb==a.MS_TARGET_CONTROLS&&
  763. v.b4w_use_pivot_limits&&(w={min_z:v.b4w_pivot_z_min,max_z:v.b4w_pivot_z_max});v=w;switch(l.jb){case a.MS_EYE_CONTROLS:l=O.get_trans_view(h.k.n);f(h,l,null,m,r);break;case a.MS_TARGET_CONTROLS:l=O.get_trans_view(h.k.n);c(h,l,k.b4w_target,m,r,fa,v,k.b4w_use_panning);break;case a.MS_HOVER_CONTROLS:l=O.get_trans_view(h.k.n),m=g(h,d.data.b4w_hover_zero_level,Ia),b(h,l,m,fa,r,X,u,k.b4w_enable_hover_hor_rotation)}C(h);p(h)};a.yD=f;a.AD=c;a.zD=b;a.em=p;a.tc=e;a.yJ=u;a.xT=n;a.Lc=t;a.fS=function(a,b){switch(b){case "COLOR":case "CUBEMAP":return Boolean(a.gc);
  764. case "DEPTH":return Boolean(a.le);case "SCREEN":return!Boolean(a.gc)&&!Boolean(a.le);default:ea.q("Wrong attachment type: "+b)}};a.et=function(a,b,c){switch(b){case "COLOR":case "CUBEMAP":a.gc=c;break;case "DEPTH":a.le=c;break;case "SCREEN":a.gc=null;a.le=null;break;default:ea.q("Wrong attachment type: "+b)}};a.OS=function(a,b){switch(b){case "COLOR":case "CUBEMAP":return a.gc;case "DEPTH":return a.le;case "SCREEN":return null;default:ea.q("Wrong attachment type: "+b)}};a.ps=function(b,c){(b.type!=
  765. a.jd||c!=a.zc&&c!=a.Ic&&c!=a.fe&&c!=a.ge)&&ea.q("make_stereo(): wrong camera type");b.type=c;m(b,6,.065)};a.iP=m;a.get_camera_angles=k;a.Kv=d;a.get_camera_angles_char=function(a,b){k(a,b);b[0]=ea.angle_wrap_0_2pi(b[0]+Math.PI);b[1]*=-1;return b};a.ft=y;a.WO=function(b,c,d,e,f,h,g){switch(b.type){case a.xh:b.left=c;b.right=d;b.bottom=e;b.top=f;b.near=h;b.far=g;break;default:ca.error("set_frustum_asymmetric(): Unsupported camera type: "+b.type)}};a.get_move_style=function(a){return a.k.jb};a.nP=H;a.IT=
  766. v;a.Bx=function(a,b,c){var d=xa;d[0]=0;d[1]=0;d[2]=-1;sa.transformQuat(d,c,d);d[0]+=b[0];d[1]+=b[1];d[2]+=b[2];var e=Ia;e[0]=0;e[1]=1;e[2]=0;sa.transformQuat(e,c,e);v(a,b,d,e)};a.set_look_at=z;a.cP=x;a.wQ=M;a.vQ=function(b){var c=b.k;C(b);I(b);switch(c.jb){case a.MS_TARGET_CONTROLS:var d=O.get_trans_view(c.n),e=O.get_quat_view(c.n);S.EO(d,e,c.pivot);for(e=0;e<b.F.length;e++)for(var f=b.F[e].W,h=0;h<f.length;h++){var g=f[h];g.type!=a.zc&&g.type!=a.Ic||m(g,sa.dist(d,c.pivot),g.xe)}S.correct_up(b,c.Ae);
  767. break;case a.MS_EYE_CONTROLS:b.bc||S.correct_up(b,c.Ae)}F(b)};a.ny=F;a.tD=A;a.wD=K;a.hover_set_vertical_limits=h;a.hover_set_distance_limits=w;a.SO=r;a.fP=J;a.XO=B;a.mP=Z;a.GQ=I;a.rotate_eye_camera=N;a.rotate_target_camera=Q;a.rotate_hover_camera=W;a.kT=function(b){switch(b.type){case a.jd:case a.Od:case a.zc:case a.Ic:return!0;default:return!1}};a.iB=function(b){switch(b.type){case a.jd:case a.Fg:case a.zc:case a.Ic:return ea.deg_to_rad(b.qd);default:return ca.error("get_angular_diameter(): Unsupported camera type: "+
  768. b.type),0}};a.rj=ja;a.NO=function(b,c,d,e,f){var h=1/Math.max(f,e);switch(b.type){case a.jd:case a.Fg:f/=2;e/=2;d=-(d-f)/f*Math.tan(ea.deg_to_rad(b.qd)/2);c=(c-e)/e*Math.tan(ea.deg_to_rad(b.qd)/2)*b.qb;e=b.near*(d+h);f=b.near*(c+h);d=b.near*(d-h);c=b.near*(c-h);pa.frustum(c,f,d,e,b.near,b.far,b.mb);break;case a.Od:case a.Eg:b.right=b.top*b.qb;d=-d/f;c/=e;e=b.top+(d+h)*(b.top+b.top);f=-b.right+(c+h)*(b.right+b.right);d=b.top+(d-h)*(b.top+b.top);c=-b.right+(c-h)*(b.right+b.right);pa.ortho(c,f,d,e,b.near,
  769. b.far,b.mb);break;case a.xh:d=-d/f,c/=e,e=b.top+(d+h)*(b.top-b.bottom),f=b.left+(c+h)*(b.right-b.left),d=b.top+(d-h)*(b.top-b.bottom),c=b.left+(c-h)*(b.right-b.left),pa.ortho(c,f,d,e,b.near,b.far,b.mb)}pa.copy(b.Cb,b.Oc);pa.multiply(b.mb,b.Oc,b.Oc);ea.Rl(b.Oc,b.Ug)};a.Ju=T;a.Oz=U;a.XK=ia;a.WH=function(a){a=a.k;var b=ra.ld();b.min_x=-1;b.max_x=1;b.min_y=-1;b.max_y=1;b.min_z=-1;b.max_z=1;a.N=b;var c=ra.Gu(1,ea.f32([0,0,0]));a.oa=c;a.En=ra.wz(1,b);a.Gn=ra.yz(1,b);a.Fn=ra.xz(1,b)};a.is_static_camera=
  770. function(b){return wa.is_camera(b)&&b.k&&b.k.jb==a.MS_STATIC};a.is_target_camera=function(b){return wa.is_camera(b)&&b.k&&b.k.jb==a.MS_TARGET_CONTROLS};a.is_eye_camera=function(b){return wa.is_camera(b)&&b.k&&b.k.jb==a.MS_EYE_CONTROLS};a.is_hover_camera=G;a.is_ortho_camera=function(b){return wa.is_camera(b)&&b.k&&b.F[0].W[0].type==a.Od};a.my=qa;a.rK=aa;a.project_point=function(b,c,d){b=b.F[0].W[0];switch(b.type){case a.jd:case a.Fg:case a.Od:case a.Eg:case a.zc:case a.Ic:case a.fe:case a.ge:var e=
  771. za;e.set(c);e[3]=1;ba.transformMat4(e,b.Oc,e);c=-e[1]/e[3];d[0]=(e[0]/e[3]+1)/2*b.width;d[1]=(c+1)/2*b.height;la.gR(d[0],d[1],d,b);2<d.length&&(d[2]=(e[2]/Math.abs(e[3])+1)/2);return d;default:return ca.error("Non-compatible camera"),d}};a.RL=function(a){return a.F[0].W[0]};a.Yl=function(b,c){switch(b.type){case a.jd:case a.Fg:case a.zc:case a.Ic:var d=Math.tan(ea.deg_to_rad(b.qd)/2);switch(c){case "LEFT":return-d*b.qb;case "RIGHT":return d*b.qb;case "TOP":return d;case "BOTTOM":return-d}break;case a.Od:case a.Eg:switch(c){case "LEFT":return-b.top*
  772. b.qb;case "RIGHT":return b.top*b.qb;case "TOP":return b.top;case "BOTTOM":return-b.top}break;case a.xh:switch(c){case "LEFT":return b.left;case "RIGHT":return b.right;case "TOP":return b.top;case "BOTTOM":return b.bottom}break;case a.fe:case a.ge:switch(c){case "LEFT":return-Math.tan(ea.deg_to_rad(Math.min(b.Nc[1],b.Nc[3])));case "RIGHT":return Math.tan(ea.deg_to_rad(Math.min(b.Nc[1],b.Nc[3])));case "TOP":return Math.tan(ea.deg_to_rad(Math.min(b.Nc[0],b.Nc[2])));case "BOTTOM":return-Math.tan(ea.deg_to_rad(Math.min(b.Nc[0],
  773. b.Nc[2])))}break;default:ea.q("Unknown camera type")}};a.JM=function(b){switch(b.type){case a.Od:case a.Eg:case a.xh:return!0;default:return!1}};a.get_fov=function(b,c){switch(b.type){case a.jd:case a.Fg:case a.zc:case a.Ic:var d=ea.deg_to_rad(b.qd);return c?d*b.qb:d;default:return 0}};a.set_trans_pivot=function(a,b,c){a=a.k;O.set_trans(b,a.n);sa.copy(c,a.pivot)};a.set_hover_pivot=function(a,b){var c=a.k,d=sa.subtract(b,c.Kb,xa),e=O.get_trans_view(c.n),d=sa.add(d,e,d);ua.set_translation(a,d);sa.copy(b,
  774. c.Kb)};a.jP=function(a,b){var c=a.k,d=sa.subtract(b,c.pivot,xa),e=O.get_trans_view(c.n),d=sa.add(d,e,d);ua.set_translation(a,d);sa.copy(b,c.pivot)};a.get_eye=ya;a.set_move_style=function(c,d){c.k.jb=d;c.k.Za=null;c.k.ea=null;c.k.hb=null;c.k.lc=null;c.k.mc=null;p(c);switch(d){case a.MS_HOVER_CONTROLS:var e=O.get_trans_view(c.k.n),f=g(c,0,Ia);b(c,e,f,null,null,null,null,c.k.Sg);break;case a.MS_TARGET_CONTROLS:e=ya(c,xa),f=O.get_quat_view(c.k.n),f=ea.quat_to_dir(f,ea.AXIS_MZ,Ia),f=sa.scaleAndAdd(e,f,
  775. 10,f),sa.copy(f,c.k.pivot)}};a.nq=function(a){a=a.k;a.jb=0;sa.set(0,0,0,a.pivot);sa.set(0,0,0,a.Kb);a.xj=!1;a.use_panning=!1;a.Za=null;a.ea=null;a.hb=null;a.lc=null;a.mc=null;a.xd=null;a.Sg=!0};a.set_eye_distance=function(a,b){for(var c=0;c<a.length;c++){var d=a[c];70!=d.type&&80!=d.type&&90!=d.type&&100!=d.type||m(d,d.uj,b)}};a.set_hmd_fov=function(a,b,c){var d=na.get_active();a=wa.da(a,d).W;for(d=0;d<a.length;d++){var e=a[d];if(90==e.type||100==e.type)90==e.type&&ba.copy(b,e.Nc),100==e.type&&ba.copy(c,
  776. e.Nc),e.dc||ja(e),U(e),T(e)}}};fdage.module.__lights=function(a,q){function f(a){g.scale(a.color,a.Me,a.fo)}q("__print");var c=q("__tsr"),b=q("__util"),g=q("__vec3"),p=new Float32Array(3);new Float32Array(3);a.PM=function(a,e){var u=a.data,n=e.ib={name:"",type:u.type,RC:new Float32Array(3),direction:new Float32Array(3),color:new Float32Array(3),fo:new Float32Array(3),EA:0,sy:!1,il:0,Rp:0,Xn:.1,Wn:30,eB:!1,xC:!1,MA:!1,nl:!0,pl:!0,Me:1,distance:25,CS:"INVERSE_SQUARE"};n.name=e.name;n.nl=u.use_diffuse;n.pl=u.use_specular;var t=c.get_quat_view(e.k.n),
  777. t=b.quat_to_dir(t,b.AXIS_Z,p);g.normalize(t,t);n.direction.set(t);n.color[0]=u.color[0];n.color[1]=u.color[1];n.color[2]=u.color[2];n.Me=n.EA=u.energy;f(n);n.distance=u.distance;n.sy=u.use_sphere;n.Xn=u.clip_start;n.Wn=u.clip_end;if("POINT"===n.type||"SPOT"===n.type)n.distance=u.distance;"SPOT"===n.type?(n.Rp=u.spot_blend,n.il=u.spot_size):"POINT"===n.type&&(n.il=Math.PI/2);n.eB=u.b4w_generate_shadows;n.MA=u.b4w_dynamic_intensity};a.set_light_color=function(a,b){a.color[0]=b[0];a.color[1]=b[1];a.color[2]=
  778. b[2];f(a)};a.$O=function(a,b){a.Rp=b};a.ZO=function(a,b){a.distance=b};a.aP=function(a,b){a.il=b};a.set_light_energy=function(a,b){a.Me=b;f(a)};a.BQ=function(a){var e=a.ib;if(e){a=c.get_quat_view(a.k.n);b.quat_to_dir(a,b.AXIS_Z,e.direction);g.normalize(e.direction,e.direction);if("SUN"==e.type){a=Math.acos(g.dot(e.RC,b.lu));var f=Math.acos(g.dot(e.direction,b.lu));e.xC=Math.floor(a/.025)!=Math.floor(f/.025)?!0:!1}g.copy(e.direction,e.RC)}}};fdage.module.__scenes=function(a,q){function f(a){for(var b=0;b<a.length;b++){var c=a[b];if(!c.ff||!c.ff.length)return c}return null}function c(){Wa||Fa.q("No active scene available");return Wa}function b(a,b,c){if(!Ea.kr||!g(a,b,c))return null;c=a.b4w_shadow_settings;var d={};c.csm_resolution>Za.oc?(d.csm_resolution=Za.oc,Oa.error("Shadow map texture has unsupported size. Changed to "+Za.oc+".")):d.csm_resolution=c.csm_resolution;Ea.mI=c.blur_samples;d.yP=c.soft_shadows;a=fa.Er(b,Ea.ssao&&a.b4w_enable_ssao);
  779. d.self_shadow_polygon_offset=c.self_shadow_polygon_offset;d.self_shadow_normal_offset=c.self_shadow_normal_offset;d.enable_csm=c.b4w_enable_csm&&1==a.length;d.ig=[];d.SD=[];d.Xn=[];d.Wn=[];for(b=0;b<a.length;b++)d.ig.push(a[b].ib.type),d.SD.push(a[b].ib.il),d.Xn.push(a[b].ib.Xn),d.Wn.push(a[b].ib.Wn),"SPOT"!=d.ig[b]&&"POINT"!=d.ig[b]||!d.enable_csm||(Oa.warn("Generating shadows for SPOT or POINT light. Disabling Cascaded Shadow Maps"),d.enable_csm=!1);d.enable_csm?(d.csm_num=c.csm_num,d.csm_first_cascade_border=
  780. c.csm_first_cascade_border,d.first_cascade_blur_radius=c.first_cascade_blur_radius,d.csm_last_cascade_border=c.csm_last_cascade_border,d.last_cascade_blur_radius=c.last_cascade_blur_radius,d.fade_last_cascade=c.fade_last_cascade,d.blend_between_cascades=c.blend_between_cascades):(d.csm_num=1,d.csm_first_cascade_border=c.csm_first_cascade_border,d.first_cascade_blur_radius=c.first_cascade_blur_radius,d.csm_last_cascade_border=c.csm_last_cascade_border,d.last_cascade_blur_radius=c.last_cascade_blur_radius,
  781. d.fade_last_cascade=!1,d.blend_between_cascades=!1);return d}function g(a,b,c){if(0!=b.length&&Ea.shadows)switch(a.b4w_render_shadows){case "OFF":return!1;case "ON":return!0}else return!1;var d=!1,e=!1;a=Ea.ssao&&a.b4w_enable_ssao;if(0==b.length&&!a)return!1;for(b=0;b<c.length;b++){var f=c[b];f.b4w_shadow_cast&&(d=!0);f.b4w_shadow_receive&&(e=!0);if((a||d)&&e)return!0}return!1}function p(a){for(var b=0;b<a.length;b++)if("SUN"==a[b].ib.type)return!0;return!1}function D(a){if(!Ea.shore_smoothing)return!1;
  782. a=ya(a);for(var b=0;b<a.length;b++){var c=a[b];if(c.b4w_water&&c.b4w_water_shore_smoothing)return!0}return!1}function e(a){for(var b=0;b<a.length;b++)for(var c=a[b].particle_systems,d=0;d<c.length;d++)if(fa.Zz(a[b],c[d].settings))return!0;return!1}function u(a){for(var b=ya(a),c=[],d=0;d<b.length;d++){var e=b[d];if(e.b4w_water){for(var f={},h=0;h<a.length;h++)for(var g=a[h],l=g.data.materials,k=0;k<l.length;k++)l[k]==e&&(f.Kj=g.location[2]);f.Sd=e.b4w_water_fog_color.slice(0);f.Sd.push(e.b4w_water_fog_density);
  783. e.b4w_water_dynamic?(f.Ao=!0,f.waves_height=e.b4w_waves_height,f.waves_length=e.b4w_waves_length,f.dst_noise_scale0=e.b4w_water_dst_noise_scale0,f.dst_noise_scale1=e.b4w_water_dst_noise_scale1,f.dst_noise_freq0=e.b4w_water_dst_noise_freq0,f.dst_noise_freq1=e.b4w_water_dst_noise_freq1,f.dir_min_shore_fac=e.b4w_water_dir_min_shore_fac,f.dir_freq=e.b4w_water_dir_freq,f.dir_noise_scale=e.b4w_water_dir_noise_scale,f.dir_noise_freq=e.b4w_water_dir_noise_freq,f.dir_min_noise_fac=e.b4w_water_dir_min_noise_fac,
  784. f.dst_min_fac=e.b4w_water_dst_min_fac,f.waves_hor_fac=e.b4w_water_waves_hor_fac):(f.Ao=!1,f.waves_height=0,f.waves_length=0);f.Tf=e.b4w_water_enable_caust;f.GI=e.b4w_water_caust_scale;f.FI=e.b4w_water_caust_brightness;f.HI=new Float32Array([.3,.7]);f.sj=null;e=e.texture_slots;for(h=0;h<e.length;h++)g=e[h].texture,!0===g.b4w_shore_dist_map&&"FILE"==g.image.source&&(f.sj=g.image,f.Gx=g.image.size[0],f.Cw=g.b4w_max_shore_dist,g=g.b4w_shore_boundings,f.Fm=[(g[0]+g[1])/2,(g[2]+g[3])/2],f.Gm=[g[0]-g[1],
  785. g[2]-g[3]]);c.push(f)}}if(0<c.length){f=c[0];if(!f.Ao)for(d=0;d<c.length;d++)c[d].Ao&&(f=c[d]);return f}return null}function n(a){function b(a){if(a){a=a.nodes;for(var d=0;d<a.length;d++){var e=a[d];"GROUP"==e.type&&e.node_group&&b(e.node_group.node_tree);"GROUP"==e.type&&"B4W_REFRACTION"==e.node_tree_name&&(c.refractions=!0)}}}var c={refractions:!1};a=ya(a);for(var d=0;d<a.length;d++){var e=a[d];e.b4w_refractive&&(c.refractions=!0);e.node_tree&&b(e.node_tree)}return c}function t(a,b,c){if(Ea.reflections)switch(a.b4w_render_reflections){case "OFF":return!1}else return!1;
  786. a=[];for(var d=0,e=!1,f=0;f<b.length;f++){var h=b[f];h.k.ad&&"CUBE"==h.k.rg&&d++;if(h.Ep.length){for(var g=null,l=0;l<a.length;l++)if(a[l]==h){g=l;break}null==g&&a.push(h)}}for(f=0;f<c.length;f++){a:if(b=c[f],b.b4w_reflexible){b=b.data.materials;for(h=0;h<b.length;h++)if(g=b[h].game_settings.alpha_blend,"OPAQUE"!=g&&"CLIP"!=g){b=!0;break a}b=!1}else b=void 0;b&&(e=!0)}return{aD:a,BC:d,Gh:[],jv:[],eh:[],Rs:[],GB:e}}function m(a,b){var c=a.b4w_sky_settings,d={};d.cD=c.render_sky||c.procedural_skydome;
  787. d.procedural_skydome=c.procedural_skydome;d.use_as_environment_lighting=c.use_as_environment_lighting;d.Im=c.color;d.rayleigh_brightness=c.rayleigh_brightness;d.mie_brightness=c.mie_brightness;d.spot_brightness=c.spot_brightness;d.scatter_strength=c.scatter_strength;d.rayleigh_strength=c.rayleigh_strength;d.mie_strength=c.mie_strength;d.rayleigh_collection_power=c.rayleigh_collection_power;d.mie_collection_power=c.mie_collection_power;d.mie_distribution=c.mie_distribution;d.yd=c.reflexible;d.bd=c.reflexible_only;
  788. !b&&c.procedural_skydome&&Oa.warn("There is no sun on the scene. Procedural sky will use a default sun position.");return d}function k(a){var b={};a=a.b4w_ssao_settings;b.radius_increase=a.radius_increase;b.tM=a.hemisphere;b.lI=a.blur_depth;b.Hz=a.blur_discard_value;b.influence=a.influence;b.dist_factor=a.dist_factor;b.HO=a.samples;return b}function d(a){if(!(Ea.bloom&&a.b4w_enable_bloom&&a.s.hi))return null;var b={};a=a.b4w_bloom_settings;b.blur=a.blur;b.edge_lum=a.edge_lum;b.key=a.key;return b}
  789. function y(a){var b={};a=a.b4w_motion_blur_settings;b.mb_decay_threshold=a.motion_blur_decay_threshold;b.mb_factor=a.motion_blur_factor;return b}function H(a){var b={};a=a.b4w_color_correction_settings;b.brightness=a.brightness;b.contrast=a.contrast;b.exposure=a.exposure;b.saturation=a.saturation;return b}function v(a){var b={};a=a.b4w_god_rays_settings;b.jw=a.intensity;b.mm=a.max_ray_length;b.Qm=a.steps_per_pass;return b}function z(a){var b={};b.Zh=a.b4w_outline_color;b.np=a.b4w_outline_factor;return b}
  790. function x(a){var b={};a=a.b4w_glow_settings;b.small_glow_mask_coeff=a.small_glow_mask_coeff;b.large_glow_mask_coeff=a.large_glow_mask_coeff;b.small_glow_mask_width=a.small_glow_mask_width;b.large_glow_mask_width=a.large_glow_mask_width;return b}function M(a,b){var c=a.light_settings,d={};d.bg=c.environment_energy;d.cq=c.use_environment_light;d.xv=c.environment_color;d.Dd=a.horizon_color.slice(0);d.Ld=a.zenith_color.slice(0);d.gq=a.use_sky_paper;d.fq=a.use_sky_blend;d.hq=a.use_sky_real;d.ot=null;
  791. d.Jm=null;d.rr=null;c=!0;if(d.cq&&"SKY_TEXTURE"==d.xv&&(!b.procedural_skydome||!b.use_as_environment_lighting)){for(var e=null,f=0;f<a.texture_slots.length;f++)if(a.texture_slots[f].texture.b4w_use_as_environment_lighting&&!a.texture_slots[f].texture.b4w_use_as_skydome){e=a.texture_slots[f];break}e?d.rr=e:c=!1}for(f=0;f<a.texture_slots.length;f++)if(a.texture_slots[f].texture.b4w_use_as_skydome){c=!0;e=a.texture_slots[f];d.ot=e;f=Math.min(Za.Sh,Ma.zI(e.texture.image.size[0]/3));d.Jm={YP:f,Ez:e.blend_factor,
  792. JB:e.horizon_factor,hF:e.zenith_up_factor,gF:e.zenith_down_factor,color:e.color,va:e.default_value,invert:e.invert,OE:e.use_rgb_to_intensity,Fz:e.blend_type,JE:e.use_map_blend,KE:e.use_map_horizon,ME:e.use_map_zenith_up,LE:e.use_map_zenith_down};break}d.cq=d.cq?c:!1;return d}function F(a){var b=a.fog_settings,c={};c.XQ=b.use_fog;c.jw=b.intensity;c.depth=b.depth;c.start=b.start;c.height=b.height;c.aL=b.falloff;c.color=b.use_custom_color?b.color.slice(0):a.horizon_color.slice(0);a=c.color;c.Sd=new Float32Array([a[0],
  793. a[1],a[2],1/c.depth]);c.nf=new Float32Array([c.jw,c.depth,c.start,c.height]);return c}function E(a,b){if(!Ea.Mc)return!1;switch(a.b4w_render_dynamic_grass){case "OFF":return!1;case "ON":return!0}for(var c=!1,d=!1,e=0;e<b.length;e++){for(var f=b[e],h=f.data.materials,g=0;g<h.length;g++)h[g].b4w_terrain&&(c=!0);f=f.particle_systems;for(g=0;g<f.length;g++)h=f[g].settings,"HAIR"==h.type&&h.b4w_dynamic_grass&&(d=!0);if(c&&d)return!0}return!1}function A(a,b){if(Xb.outlining_overview_mode)return!0;if(Ea.enable_selectable)switch(a.b4w_enable_object_selection){case "OFF":return!1;
  794. case "ON":return!0;case "AUTO":for(var c=0;c<b.length;c++)if(b[c].ab.k.oj)return!0;return!1}else return!1}function K(a,b){if(Xb.outlining_overview_mode)return!0;if(Ea.enable_outlining)switch(a.b4w_enable_outlining){case "OFF":return!1;case "ON":return!0;case "AUTO":for(var c=0;c<b.length;c++)if(b[c].ab.k.Ec)return!0;return!1}else return!1}function h(a,b){if(Ea.Nh)switch(a.b4w_enable_glow_materials){case "OFF":return!1;case "ON":return!0;case "AUTO":for(var c=0;c<b.length;c++)for(var d=b[c].data.materials,
  795. e=0;e<d.length;e++)if(Ja.Yz(d[e]))return!0;return!1}else return!1}function l(a,b){if(Ea.refractions)switch(a.b4w_render_refractions){case "OFF":return!1;case "ON":return!0;case "AUTO":return b.refractions}else return!1}function w(a){for(var b=0;b<a.length;b++)for(var c=a[b].data.materials,d=0;d<c.length;d++){var e=c[d],f=e.game_settings.alpha_blend;if(e.b4w_render_above_all&&"OPAQUE"!=f&&"CLIP"!=f)return!0}return!1}function r(a,b){switch(a.b4w_enable_anchors_visibility){case "OFF":return!1;case "ON":return!0;
  796. case "AUTO":for(var c=0;c<b.length;c++){var d=b[c].ab;if(d.anchor&&d.anchor.Ml)return!0}return!1}}function J(a,b,c){var d=ma.mg(a,b);ma.nh(a,d,function(a,b,d){if(d.rc){switch(d.from){case "COLOR":case "CUBEMAP":var e=b.p.gc;break;case "DEPTH":e=b.p.le;break;case "SCREEN":e=null;break;case P.Pc:return;default:Fa.q("Wrong slink")}switch(d.to){case "COLOR":case "CUBEMAP":case "DEPTH":case "NONE":case "SCREEN":case "OFFSCREEN":case "RESOLVE":case "COPY":case "u_cube_reflection":case "u_plane_reflection":break;
  797. default:e||Fa.q("Connection of SCREEN is forbidden"),e.ce&&Fa.q("Batch texture can't use renderbuffer"),ha.bA(c.pb,d.to)&&ba.vi(c,e,d.to)}}});for(a=0;a<b.Pa.length;a++){var d=b.Pa[a],e=b.mh[a];switch(d.to){case "COLOR":case "CUBEMAP":case "DEPTH":case "NONE":case "SCREEN":case "OFFSCREEN":case "RESOLVE":case "COPY":break;default:e.ce&&Fa.q("Batch texture can't use renderbuffer"),ha.bA(c.pb,d.to)&&ba.vi(c,e,d.to)}}}function B(a){if(a&&a.s&&a.s.Na){var b=da.Xb(a.s.Na,P.Mf);b&&ga(a,b)}}function Z(a,
  798. b,c,d,e,f){for(var h=b.k,g=fa.da(b,e).M,l=0;l<g.length;l++){var k=g[l];if(!(k.Hd||k.bd||"MAIN"!=k.type&&"NODES_GLOW"!=k.type&&"PARTICLES"!=k.type&&"LINE"!=k.type)&&("OPAQUE"==k.vb&&"OPAQUE"==d||"BLEND"==k.vb&&"BLEND"==d||"XRAY"==k.vb&&"XRAY"==d||"NODES_GLOW"==k.type&&"GLOW"==d)){if(!f&&(I(k,a,b,c,d,e),!ba.qc(k)))if("DEBUG"===Xa.type())ba.Jq(k,"error.glslv","error.glslf"),ba.qc(k);else continue;var m=P.Xg(k,h);P.Bc(a,m);J(c,a,k);C(k)}}}function I(a,b,c,d,e,f){var h=c.k,g=f.s,l=fa.da(c,f),k="NO_SHADOWS";
  799. c=S(f,[P.Hc]);if(c.length&&a.zd){switch(e){case "OPAQUE":k="SHADOW_MAPPING_OPAQUE";break;case "BLEND":case "XRAY":k="SHADOW_MAPPING_BLEND";break;case "COLOR_ID":case "REFLECT":case "GLOW":k="NO_SHADOWS";break;case "SHADOW":k="SHADOW_MASK_GENERATION";break;default:Fa.q("Wrong subscene type")}for(var m=0;m<c.length;m++)ba.nz(a,f.s.Uc)}m="NO_SOFT_SHADOWS";if(g.Uc&&g.Uc.yP)switch(Ea.mI){case "16x":m="POISSON_X_16";break;case "8x":m="POISSON_X_8";break;case "4x":m="POISSON_X_4"}c=a.Va;ha.aa(c,"SHADOW_USAGE",
  800. k);ha.aa(c,"POISSON_DISK_NUM",m);a.Mc&&(m=da.Xb(d,P.vh))&&N(a,m,h);m=b.p;m.type==oa.Od||m.type==oa.Eg||m.type==oa.xh?ha.aa(c,"CAMERA_TYPE","CAM_TYPE_ORTHO"):ha.aa(c,"CAMERA_TYPE","CAM_TYPE_PERSP");if("SHADOW"!=a.type&&"COLOR_ID"!=e||a.Ni){e=b.Es;ha.aa(c,"NUM_LIGHTS",e);ha.aa(c,"NUM_LFACTORS",0==e%2?e/2:Math.floor(e/2)+1);ha.aa(c,"REFLECTION_PASS","REFL_PASS_NONE");ha.aa(c,"SSAO_ONLY",0);if(e=g.wc)ha.aa(c,"WATER_EFFECTS",1),ha.aa(c,"WAVES_HEIGHT",ha.G(e.waves_height)),ha.aa(c,"WAVES_LENGTH",ha.G(e.waves_length)),
  801. ha.aa(c,"WATER_LEVEL",ha.G(e.Kj));if(b.Tf&&a.Tf){ha.aa(c,"CAUSTICS",1);if(m=g.Uc){h=m.ig;for(m=k=0;m<h.length;m++)"SUN"==h[m]&&(k=m);ha.aa(c,"SUN_NUM",k)}ha.aa(c,"CAUST_SCALE",ha.G(b.Sz));ha.aa(c,"CAUST_SPEED",ha.G(b.Tz,2));ha.aa(c,"CAUST_BRIGHT",ha.G(b.Rz))}b=l.Gh;l=l.eh;if(-1!==a.fd.indexOf("u_mirrormap"))ha.aa(c,"REFLECTION_TYPE","REFL_MIRRORMAP");else if(a.ad&&b)b=b.p.gc,ba.vi(a,b,"u_cube_reflection"),ha.aa(c,"REFLECTION_TYPE","REFL_CUBE");else if(a.ad&&l)for(m=0;m<l.length;m++)b=l[m].p.gc,ba.vi(a,
  802. b,"u_plane_reflection"),ha.aa(c,"REFLECTION_TYPE","REFL_PLANE");else ha.aa(c,"REFLECTION_TYPE","REFL_NONE");(l=da.Xb(d,P.Mf))?a.lr?(b=l.p.gc,ba.vi(a,b,"u_sky")):l.procedural_skydome&&(a.Qd=l.Qd,ha.aa(c,"PROCEDURAL_FOG",1)):ha.aa(c,"PROCEDURAL_FOG",0);b=g.hn;b.cq&&(ha.aa(c,"USE_ENVIRONMENT_LIGHT",1),"SKY_TEXTURE"==b.xv?(b.rr?(l=b.rr.texture,b=Ma.Bd(b.rr),ba.vi(a,b,"u_sky_texture",l.name)):l&&(b=l.p.gc,ba.vi(a,b,"u_sky_texture")),ha.aa(c,"SKY_TEXTURE",1)):"SKY_COLOR"==b.xv&&ha.aa(c,"SKY_COLOR",1));
  803. b=g.fF;b.XQ&&(ha.aa(c,"USE_FOG",1),ha.aa(c,"FOG_TYPE",b.aL));a.lj&&a.zb?(Ea.kr&&ha.aa(c,"USE_REFRACTION_CORRECTION",1),"MAIN"==a.type&&a.Ni||"NODES_GLOW"==a.type?(ha.aa(c,"REFRACTIVE",1),g.refractions?ha.aa(c,"USE_REFRACTION",1):ha.aa(c,"USE_REFRACTION",0)):g.refractions?ha.aa(c,"REFRACTIVE",1):ha.aa(c,"REFRACTIVE",0),(g.oC.refractions||g.refractions)&&ha.aa(c,"HAS_REFRACT_TEXTURE",1)):(ha.aa(c,"REFRACTIVE",0),ha.aa(c,"USE_REFRACTION",0),ha.aa(c,"USE_REFRACTION_CORRECTION",0));a.rh&&(Ea.shore_smoothing&&
  804. a.fn&&da.Xb(d,P.Iy)?ha.aa(c,"SHORE_SMOOTHING",1):ha.aa(c,"SHORE_SMOOTHING",0),a.water_dynamic&&e&&e.waves_height?ha.aa(c,"DYNAMIC",1):ha.aa(c,"DYNAMIC",0));"PARTICLES"==a.type&&(ha.aa(c,"SIZE_RAMP_LENGTH",a.Ua.OT),ha.aa(c,"COLOR_RAMP_LENGTH",a.Ua.jA));if(!a.of)for(a=a.ra,d=0;d<a.length;d++)if(b=a[d],"SCENE"==b.source)for(g=0;g<Sa.length;g++)for(c=Sa[g],l=Sa[g].ff,e=0;e<l.length;e++)l[e]==b&&ma.r(rb,c,f,null)}}function C(a){8<a.ra.length&&Oa.warn(a.type,"too many textures used - "+a.ra.length+' (max 8), materials "'+
  805. a.nc.join(", ")+'"')}function N(a,b,c){a.Cd=b.Cd;var d=b.Cd[0],e=b.Cd[1],f=b.Cd[2];c=c.N;c=Math.max(c.max_x-c.min_x,c.max_y-c.min_y);f=0==f?c:Math.max(f,c);b.Cd[2]=f;b=b.p;oa.ft(b,f/2,-e,-d,f/2);oa.rj(b);d=a.Qo||0;d=0==d?c:Math.max(d,c);a.Qo=d}function Q(a,b,c,d,e,f){for(var h=b.k,g=fa.da(b,e).M,l=0;l<g.length;l++){var k=g[l];if(("MAIN"==k.type||"PARTICLES"==k.type||"LINE"==k.type)&&"REFLECT"==k.vb&&k.zb==d){if(a.type==P.hd||a.type==P.Ge){var m;a:{var n=e.s.hh.eh;for(m=0;m<n.length;m++)for(var r=
  806. 0;r<n[m].length;r++)if(n[m][r]==a)break a;n=e.s.hh.Rs;for(m=0;m<n.length;m++)for(r=0;r<n[m].length;r++)if(n[m][r]==a)break a;m=null}if(m==h.Zc)continue}else if(m=sa(e,a),m==h.md)continue;if(!f&&(I(k,a,b,c,"REFLECT",e),m=k.Va,ha.aa(m,"WATER_EFFECTS",0),a.type==P.hd||a.type==P.Ge?ha.aa(m,"REFLECTION_PASS","REFL_PASS_PLANE"):ha.aa(m,"REFLECTION_PASS","REFL_PASS_CUBE"),ha.aa(m,"TEXTURE_NORM",0),!ba.qc(k)))if("DEBUG"===Xa.type())ba.Jq(k,"error.glslv","error.glslf"),ba.qc(k);else continue;k=P.Xg(k,h);P.Bc(a,
  807. k)}}}function W(a){aa(a);var b=la(a,P.Db),c=!0,d=a.s.Uc;ma.ja(a.s.Na,function(e,f){f.type===P.Hc&&(ka(f,a,b.p,d,c),c=!1)})}function V(a){ma.ja(a.s.Na,function(a,b){b.type===P.zl&&(b.vv=1)})}function ka(a,b,c,d,e){if(0!=a.Ha.length){var f=a.p,h=Ga.Yb(c.n,Gb);Ga.set_trans(h,f.n);Ga.copy(c.Be,f.Kp);if("SUN"===d.ig[a.vg]||"HEMI"===d.ig[a.vg]){h=wc;Ba.qR(h);for(var g=0;g<a.Ha.length;g++)for(var l=a.Ha[g].ma,k=0;k<l.length;k++){var m=l[k].te;0==g&&0==k?Ba.Hl(m.Ja,h):Ba.yv(h,m.Ja)}h=Ba.QA(h,Gc);Fa.ym(h,
  808. f.Cb,h);if(d.enable_csm){b=Na.copy(c.Pg[a.iv],Gb);d=za.invert(c.Cb,gc);Fa.ym(b,d,b);Fa.ym(b,f.Cb,b);a=c.oo[a.iv];if(e)for(fc=0,Yc=-Infinity,e=2;e<h.length;e+=3)fc=Math.min(fc,h[e]),Yc=Math.max(Yc,h[e]);e=wc;e.max_x=b[0]+a;e.max_y=b[1]+a;e.max_z=Yc;e.min_x=b[0]-a;e.min_y=b[1]-a;e.min_z=fc}else{c=e=wc;d=ed;d.set(h);h=Jc/9;g=za.identity(gc);za.rotate(g,h,Fa.AXIS_MZ,g);k=l=-1;for(m=0;10>m;m++){var n=Ba.uz(d,Tc),r=(n.max_x-n.min_x)*(n.max_y-n.min_y);if(-1==l||r<l)l=r,k=m,Ba.Hl(n,c);Fa.ym(d,g,d)}c=k*h;
  809. 0<c&&(h=za.identity(gc),za.rotate(h,c,Fa.AXIS_MZ,h),za.multiply(h,f.Cb,f.Cb),Ga.from_mat4(f.Cb,f.Be));c=e.max_x-e.min_x;h=e.max_y-e.min_y;c&&h&&(d=Math.abs(c-h)/2,2<c/h?(e.max_y+=d,e.min_y-=d):2<h/c&&(e.max_x+=d,e.min_x-=d));e.max_x+=.005;e.max_y+=.005;e.max_z+=.005;e.min_x-=.005;e.min_y-=.005;e.min_z-=.005;ja(a,b.s.Na)}oa.WO(f,e.min_x,e.max_x,e.min_y,e.max_y,-e.max_z,-e.min_z);oa.rj(f);Fa.Rl(f.Oc,f.Ug)}else"SPOT"!==d.ig[a.vg]&&"POINT"!==d.ig[a.vg]||oa.rj(f,f.qb)}}function ja(a,b){for(var c=a.p,d=
  810. da.fM(b,a),e=0;e<d.length;e++){var f=d[e];if(f.type==P.Db||f.type==P.He||f.type==P.yc||f.type==P.ef)if(Ea.os)f.ty.set(c.Be,9*a.vg);else{var h=Ga.get_trans_view(c.Be),g=Ga.get_scale(c.Be),l=Ga.get_quat_view(c.Be);Lb.set(h[0],h[1],h[2],g,jb);f.Ft.set(jb,4*a.vg);f.Et.set(l,4*a.vg)}}}function T(a,b,c,d,e){for(var f=b.k,h=fa.da(b,d).M,g=0;g<h.length;g++){var l=h[g];if("COLOR_ID"==l.type&&(a.type==P.Ee&&"COLOR_ID"==l.vb||a.type==P.uh&&"COLOR_ID_XRAY"==l.vb)){if(!e&&(I(l,a,b,c,"COLOR_ID",d),ba.fb(l,"USE_OUTLINE",
  811. 0),!ba.qc(l)))continue;l=P.Xg(l,f);P.Bc(a,l)}}}function U(a,b,c,d,e){if(!d&&(e.Mc&&(d=da.Xb(c,P.vh))&&N(e,d,b),!ba.qc(e)))if("DEBUG"===Xa.type())ba.Jq(e,"error.glslv","error.glslf"),ba.qc(e);else return;b=P.Xg(e,b);P.Bc(a,b);J(c,a,e);C(e)}function ia(a,b){G(a,b);for(var c=0;c<a.je.length;c++)a.je[c].parent==a&&ia(a.je[c],b)}function G(a,b){a.k.hide=b;if(fa.is_lamp(a))for(var c=0;c<a.F.length;c++)for(var d=a.F[c],e=S(d.nb,hb),f=0;f<e.length;f++){var h=e[f],g=a.k,l=a.ib,k=d.Mk,m=l.nl&&!g.hide?1:0;h.ep[4*
  812. k+3]=m;m=l.pl&&!g.hide?1:0;h.dp[4*k+3]=m;h.qa=!0}}function qa(a,b){for(var c=S(b,hb),d=a.ib,e=a.k,f=fa.da(a,b),h=Ga.get_trans_view(e.n),e=Ga.get_quat_view(e.n),g=0;g<c.length;g++){var l=c[g],k=l,m=a.k,n=a.ib,r=f.Mk,p=Ga.get_trans_view(a.k.n),X=n.fo;k.vw.set(n.direction,3*r);jb[0]=p[0];jb[1]=p[1];jb[2]=p[2];jb[3]=n.nl&&!m.hide?1:0;k.ep.set(jb,4*r);jb[0]=X[0];jb[1]=X[1];jb[2]=X[2];jb[3]=n.pl&&!m.hide?1:0;k.dp.set(jb,4*r);k.qa=!0;switch(d.type){case "SUN":l.eE.set(e);l.dE=d.fo;l.type===P.Mf?(l.zs=d.xC,
  813. Na.copy(d.direction,l.Rx),ga(b,l)):Na.copy(d.direction,l.Rx);break;case "HEMI":case "POINT":case "SPOT":break;default:Oa.error("Unknown light type: "+d.type+'".')}l=l.Ha;for(k=0;k<l.length;k++)for(m=l[k].ma,n=0;n<m.length;n++)r=m[n].pa,r.Lk&&ba.YO(r,a)}c=la(b,P.Db).p;f=f.Ex;d=b.s.Uc;for(g=0;g<f.length;g++)l=f[g],oa.Bx(l.p,h,e),ka(l,b,c,d,!0),ja(l,b.s.Na)}function aa(a){var b=Aa.Eb(a,"LAMP",Aa.DATA_ID_ALL),b=fa.Er(b,Ea.ssao&&a.b4w_enable_ssao);if(b.length)for(var c=0;c<b.length;c++)for(var d=b[c],
  814. e=d.k,f=Ga.Yb(e.n,Gb),e=Ga.sd(e.n,Eb),h=0;h<d.F.length;h++){var g=d.F[h],l=g.Ex;if(g.nb==a)for(g=0;g<l.length;g++)oa.Bx(l[g].p,f,e)}}function ga(a,b){Y.Ts(b);Ra.Pl(b);if(b.zs)for(var c=S(a,lb),d=0;d<c.length;d++)for(var e=c[d].Ha,f=0;f<e.length;f++)for(var h=e[f].ma,g=0;g<h.length;g++){var l=h[g];l.Sb&&(l=l.pa,ba.KI(l)&&Ra.rQ(l))}}function ya(a){for(var b=[],c=0;c<a.length;c++)for(var d=a[c].data,e=0;e<d.materials.length;e++){var f=d.materials[e];-1==b.indexOf(f)&&b.push(f)}return b}function ra(a,
  815. b,c){for(var d=a.s,e=fa.da(a.si,a).W,f=0;f<e.length;f++){var h=e[f];oa.rj(h,b/c);d.Uc&&oa.my(h,d.Uc)}d.Uc&&(d.As=!0,la(a,P.He).qa=!0,la(a,P.yc).qa=!0);var g=d.Na;da.gQ(g,function(d,e,f){if(d.Xp){var h=d.el*b,l=d.fl*c;if(e)for(e=0;e<f.Pa.length;e++)f.Pa[e]==d&&Ma.resize(d.Xa,h,l);else switch(Ma.im(d.Xa)&&Ma.resize(d.Xa,h,l),d=f.p,d.width=h,d.height=l,f.type){case P.mn:pa(a,{dof_power:f.p.dof_power});break;case P.nn:wa(a,{small_glow_mask_width:f.small_glow_mask_width,large_glow_mask_width:f.large_glow_mask_width});
  816. break;case P.jn:va(a,{bloom_blur:f.Fl});break;case P.zl:f=da.sb(g,f,P.Wb);h=da.sb(g,f,P.Wb);l=da.sb(g,h,P.Wb);d=da.sb(g,l,P.Wb);da.dd(f,1/b,1/c);da.dd(h,1/b,1/c);da.dd(l,1/b,1/c);da.dd(d,1/b,1/c);break;default:da.dd(f,1/b,1/c)}}})}function S(a,b){for(var c=[],d=0;d<b.length;d++){var e=b[d];ma.ja(a.s.Na,function(a,b){b.type==e&&c.push(b)})}return c}function la(a,b){return da.Xb(a.s.Na,b)}function pa(a,b){var c=la(a,P.mn);if(!c)return Oa.error("DOF is not enabled on the scene. Check camera settings"),
  817. 0;var d=c.p.dof_bokeh,e=d?S(a,[P.Xt]):[],f=a.s.Na;if("boolean"==typeof b.dof_on&&(c.p.dof_on=b.dof_on,d))for(var h=0;h<e.length;h++)e[h].p.dof_on=b.dof_on;if("number"==typeof b.dof_distance&&(c.p.dof_distance=b.dof_distance,d))for(h=0;h<e.length;h++)e[h].p.dof_distance=b.dof_distance;if("number"==typeof b.dof_front_start&&(c.p.dof_front_start=b.dof_front_start,d))for(h=0;h<e.length;h++)e[h].p.dof_front_start=b.dof_front_start;if("number"==typeof b.dof_front_end&&(c.p.dof_front_end=b.dof_front_end,
  818. d))for(h=0;h<e.length;h++)e[h].p.dof_front_end=b.dof_front_end;if("number"==typeof b.dof_rear_start&&(c.p.dof_rear_start=b.dof_rear_start,d))for(h=0;h<e.length;h++)e[h].p.dof_rear_start=b.dof_rear_start;if("number"==typeof b.dof_rear_end&&(c.p.dof_rear_end=b.dof_rear_end,d))for(h=0;h<e.length;h++)e[h].p.dof_rear_end=b.dof_rear_end;"number"==typeof b.dof_bokeh_intensity&&(c.p.dof_bokeh_intensity=b.dof_bokeh_intensity,d&&(e=da.Qv(f,c,P.Wb),e[0].p.dof_bokeh_intensity=b.dof_bokeh_intensity,e[1].p.dof_bokeh_intensity=
  819. b.dof_bokeh_intensity,e[0]=da.sb(f,e[0],P.Wb),e[0].p.dof_bokeh_intensity=b.dof_bokeh_intensity));if("number"==typeof b.dof_power)if(d){d=b.dof_power;c.p.dof_power=d;var d=d/2,h=c.p.width,g=c.p.height,l=[1/h,0],k=[1/h*.5,1/g*.866],m=[-1/h*.5,1/g*.866],e=da.Qv(f,c,P.Wb);da.vc(e[0],d);da.dd(e[0],m[0],m[1]);da.vc(e[1],d);da.dd(e[1],k[0],k[1]);e[0]=da.sb(f,e[0],P.Wb);da.vc(e[0],d);da.dd(e[0],l[0],l[1]);c.p.Xc&&(e[0]=da.sb(f,e[0],P.Xt),e[0]=da.sb(f,e[0],P.Wb),da.dd(e[0],1/h,1/g),e[0]=da.sb(f,e[0],P.Wb),
  820. da.dd(e[0],1/h,1/g))}else c.p.dof_power=b.dof_power,e=da.sb(f,c,P.Wb),f=da.sb(f,e,P.Wb),da.vc(e,c.p.dof_power),da.dd(e,1/c.p.width,1/c.p.height),da.vc(f,c.p.dof_power),da.dd(f,1/c.p.width,1/c.p.height)}function va(a,b){var c=la(a,P.uq),d=la(a,P.jn);if(!c||!d)return Oa.error("Bloom is not enabled on the scene"),0;"number"==typeof b.key&&(c.Rq=b.key,c.qa=!0);"number"==typeof b.edge_lum&&(c.Qq=b.edge_lum,c.qa=!0);if("number"==typeof b.blur){var e=a.s.Na,c=da.sb(e,d,P.kn),e=da.sb(e,c,P.kn);d.Fl=b.blur;
  821. da.vc(c,b.blur);da.dd(c,1/d.p.width,1/d.p.height);da.vc(e,b.blur);da.dd(e,1/d.p.width,1/d.p.height)}}function wa(a,b){var c=la(a,P.nn);if(!c)return Oa.error("Glow is not enabled on the scene"),null;for(var d=a.s.Na,e=da.bM(d,c),f=0;f<e.length;++f){var h=e[f];if(h.type==P.Wb&&"GLOW_MASK_LARGE"==h.vb)var g=h;if(h.type==P.Wb&&"GLOW_MASK_SMALL"==h.vb)var l=h}e=da.sb(d,g,P.Wb);d=da.sb(d,l,P.Wb);"number"==typeof b.small_glow_mask_coeff&&(c.small_glow_mask_coeff=b.small_glow_mask_coeff,c.qa=!0);"number"==
  822. typeof b.large_glow_mask_coeff&&(c.large_glow_mask_coeff=b.large_glow_mask_coeff,c.qa=!0);"number"==typeof b.small_glow_mask_width&&(c.small_glow_mask_width=b.small_glow_mask_width,da.vc(l,b.small_glow_mask_width),da.dd(l,1/c.p.width,1/c.p.height),l.qa=!0,da.vc(d,b.small_glow_mask_width),da.dd(d,1/c.p.width,1/c.p.height),d.qa=!0);"number"==typeof b.large_glow_mask_width&&(c.large_glow_mask_width=b.large_glow_mask_width,da.vc(g,b.large_glow_mask_width),da.dd(g,1/c.p.width,1/c.p.height),g.qa=!0,da.vc(e,
  823. b.large_glow_mask_width),da.dd(e,1/c.p.width,1/c.p.height),e.qa=!0)}function ca(a,b,c){var d=a.s,e=d.wc;if(!e.Ao)return e.Kj;var f=e.waves_height,h=e.waves_length,g=e.Kj,l=Na.length(d.pi)||1;a=la(a,P.Db).time;a*=l;var k=Fb;k[0]=20/h*(b-.25*a);k[1]=20/h*(c-.25*a);l=Fa.Uz(k);k[0]=17/h*(c+.1*a);k[1]=17/h*(b+.1*a);var k=Fa.Uz(k),l=l+k-1,m=e.dst_noise_scale0,k=e.dst_noise_scale1,n=e.dst_noise_freq0,r=e.dst_noise_freq1,p=Fb;p[0]=m*(b+n*a);p[1]=m*(c+n*a);m=Fa.Jx(p);p[0]=k*(c-r*a);p[1]=k*(b-r*a);k=Fa.Jx(p);
  824. k*=f*m;if(e.sj)if(r=(b-e.Fm[0])/e.Gm[0],p=(e.Fm[1]+c)/e.Gm[1],r+=.5,p+=.5,1<r||0>r||1<p||0>p)e=k;else{var d=Fa.kB(d.Fx,e.Gx,r,p),p=e.dir_freq,fa=e.dir_noise_scale,X=e.dir_noise_freq,m=e.dir_min_noise_fac,r=e.dst_min_fac,n=h/e.Cw/Math.PI;c=[fa/h*(b+X*a),fa/h*(c+X*a)];b=Math.sqrt(d);e=f*Math.max(d,e.dir_min_shore_fac)*Math.sin(b/n+p*a)*Math.max(Fa.Jx(c),m);f=Math.max(b,r);e=e*(1-f)+k*f;l*=d}else e=k;return g+(e+.05*l)}function ta(a,b){a.Xo&&a.type==P.Wb&&b.Sb!=a.Sb&&(a.Sb=b.Sb);b.Sb||a.type!=P.zl||
  825. (a.vv=0)}function na(a,b,c,d){var e=ma.Ma(a,b);oa.et(e.p,c,d);e.uu=!0;ma.yj(a,b,function(b,e,f){f.rc&&f.from==c&&da.WI(f)&&L(a,b,f.to,d)});ma.nh(a,b,function(b,e,f){f.rc&&f.from==c&&f.from==f.to&&na(a,b,c,d)})}function L(a,b,c,d){a=ma.Ma(a,b).Ha;for(b=0;b<a.length;b++)for(var e=a[b].ma,f=0;f<e.length;f++)ba.wO(e[f].pa,d,c)}function ua(a){var b=la(a,P.vh);if(b){var c=b.p,d=a.si.k;a=Ga.Yb(d.n,Gb);var e=Mb;e[0]=0;e[1]=0;e[2]=-b.Cd[2]/2;b=Ga.sd(d.n,Eb);Na.transformQuat(e,b,e);e[0]+=a[0];e[1]+=a[1];e[2]=
  826. 0;eb.identity(b);oa.Bx(c,e,b)}}function O(a,b){ma.ja(a,function(c,d){if(d.type==P.Cg){d.Pa[0]&&d.mh[0]||Fa.q("Wrong MOTION_BLUR subscene");var e=d.Pa[0],f=d.mh[0];d.mh[0]=d.p.gc;ma.yj(a,c,function(b,c,d){d.rc&&L(a,b,d.to,f)});na(a,c,e.from,f);L(a,c,e.to,d.mh[0]);d.tC=Math.exp(-b/d.mb_factor)}})}function ea(a){return a.s.pi}function sa(a,b){if(!a.s.hh)return null;for(var c=a.s.hh.Gh,d=0;d<c.length;d++)if(c[d]==b)return d;c=a.s.hh.jv;for(d=0;d<c.length;d++)if(c[d]==b)return d;return null}var ba=q("__batch"),
  827. Ba=q("__boundings"),oa=q("__camera"),Da=q("__config"),xa=q("__container"),Ia=q("__debug"),ma=q("__graph"),R=q("__hud"),Ca=q("__input"),za=q("__mat4"),Ja=q("__nodemat"),Aa=q("__objects"),fa=q("__obj_util"),X=q("__physics"),Y=q("__prerender"),Ya=q("__primitives"),Oa=q("__print"),eb=q("__quat"),Ra=q("__renderer"),da=q("__scenegraph"),Ta=q("__sfx"),ha=q("__shaders"),P=q("__subscene"),Ma=q("__textures"),Ga=q("__tsr"),Fa=q("__util"),Na=q("__vec3"),Lb=q("__vec4"),Xa=q("__version"),Ea=Da.A,Za=Da.Eh,Xb=Da.Ec,
  828. Ha=Da.Dm,fb=[P.vh,P.Hc,P.Db,P.yc,P.ef,P.Ad,P.hd,P.Pc,P.Ge,P.ee,P.Ee,P.uh,P.He,P.Lf,P.Fe];a.MR=fb;var hb=[P.Db,P.yc,P.ef,P.Ad,P.hd,P.Pc,P.ri,P.tq,P.Mf,P.Ge,P.ee,P.uq,P.He,P.Hc,P.Ee,P.uh,P.Lf],lb=[P.Db,P.yq,P.yc,P.ef,P.Ad,P.hd,P.Pc,P.Ge,P.ee],mb=[P.Hc,P.Db,P.yc,P.ef,P.Ad,P.hd,P.Pc,P.Ge,P.ee,P.Ee,P.uh,P.He,P.ri,P.Lf,P.Fe],Fc=[P.Db,P.yc,P.ef,P.Ad,P.hd,P.Pc,P.Ge,P.ee],$a=null,Wa=null,Sa=[],rb=null,Jc=Math.PI/2,Fb=new Float32Array(2),Gb=new Float32Array(3),Mb=new Float32Array(3),Eb=new Float32Array(4),
  829. jb=new Float32Array(4),gc=new Float32Array(16),Gc=new Float32Array(24),ed=new Float32Array(24),wc=Ba.ld(),Tc=Ba.ld(),fc=0,Yc=-Infinity;a.sS=function(){return{}};a.set_active=function(a){Wa=a;Ta.MO(a)};a.fO=function(a,b){var c=a.s,d=da.KJ(c.Na);if(a==b){ra(a,xa.BB(),xa.AB());for(var e=0;e<d.length;e++)a.s.$k.push(d[e])}else for(e=a.ff[0],ra(a,e.ci,e.ci),e=0;e<d.length;e++)b.s.$k.push(d[e]);d=S(a,mb);for(e=0;e<d.length;e++)d[e].pi.set(c.pi);for(e=0;e<c.$k.length;e++)c.$k[e].type==P.Hc&&Ra.Pl(c.$k[e])};
  830. a.Vg=function(){$a||($a=f(Sa));return $a};a.ur=f;a.get_active=c;a.sa=function(){return Wa?!0:!1};a.Ak=function(a){return a.si};a.No=function(){return Sa};a.Rv=function(){if(1==Sa.length)return Sa;for(var a=0;a<Sa.length;a++){var b=Sa[a].s.Na;ma.ja(b,function(b,c){for(var d=c.Ha,e=0;e<d.length;e++)for(var f=d[e].ma,h=0;h<f.length;h++){for(var g=f[h],l=g.pa.ra,k=null,m=0;m<l.length;m++)if("SCENE"==l[m].source&&l[m].Np==Sa[a].name&&c.type!=P.Zt){Oa.error('Texture-scene loop detected. A scene is rendered to texture "'+
  831. l[m].name+'" yet this texture belongs to the same scene.');ma.mg(rb,Sa[a]);k=g.pa;break}k&&(k.ra=[],k.fd=[],ba.qQ(k,null),ba.qc(k),P.Bc(c,g))}})}for(var c=[],a=0;a<Sa.length;a++)if(b=Sa[a],!b.ff.length){b=ma.mg(rb,b);ma.PK(rb,b);b=ma.st(rb,b,ma.qq);b=ma.by(b);ma.ja(b,function(a,b){c.push(b)});break}return c};a.CH=function(a,c,f,g,X){a.ff=a.ff||[];a.la=null;var Y=a.s,R=fa.da(a.si,a),q=a.si.k;Y.en=[];var B=a.world;Y.QM=f.length;Y.hi=p(f);Y.kt=m(B,Y.hi);Y.hn=M(B,Y.kt);Y.fF=F(B);if(B=!a.ff.length)a:{if("HMD"==
  832. Ea.stereo){if(R.W[0].type!=oa.jd){Oa.warn("Head-mounted display stereo is disabled for the non-perspective camera");Ea.stereo="NONE";B=!1;break a}if(!Ca.can_use_device(Ca.DEVICE_HMD)){Oa.warn("Head-mounted display stereo is disabled for the non-WebVR and non-mobile devices");Ea.stereo="NONE";B=!1;break a}}B="HMD"==Ea.stereo}Y.Ur=B;if(B=!a.ff.length)R.W[0].type!=oa.jd&&"ANAGLYPH"==Ea.stereo?(Oa.warn("Anaglyph stereo is disabled for the non-perspective camera"),Ea.stereo="NONE",B=!1):B="ANAGLYPH"==
  833. Ea.stereo;Y.anaglyph_use=B;Y.sH=!Y.Ur&&!Y.anaglyph_use&&r(a,X);Y.hh=t(a,c,g);Y.kI=d(a);Y.yN=y(a);Y.II=H(a);Y.nM=v(a);Y.ON=z(a);Y.Mi=x(a);Y.dof=Ea.dof&&(0<q.dof_distance||q.dof_object);Y.motion_blur=Ea.motion_blur&&a.b4w_enable_motion_blur;Y.compositing=Ea.compositing&&a.b4w_enable_color_correction;Y.antialiasing=Ea.antialiasing&&1==Ea.pc&&"NONE"!=a.b4w_antialiasing_quality;Y.ssao=Ea.ssao&&a.b4w_enable_ssao;Y.god_rays=Ea.god_rays&&a.b4w_enable_god_rays&&Y.hi;Y.AK=Ea.kr;Y.Hr=a.b4w_glow_settings.render_glow_over_blend;
  834. Y.PP=k(a);X=n(g);Y.oC=X;Y.refractions=l(a,X);Y.Uc=b(a,f,g);Y.wc=u(g);Y.Bg=w(g);Y.xP=e(g);Y.shore_smoothing=D(g);Y.Mc=E(a,g);Y.jJ=A(a,g);Y.outline=K(a,g);Y.Nh=h(a,g);switch(a.b4w_reflection_quality){case "LOW":Y.Hh=Ha.xA;Y.qg=Ha.OC;break;case "MEDIUM":Y.Hh=Ha.tK;Y.qg=Ha.$N;break;case "HIGH":Y.Hh=Ha.sK;Y.qg=Ha.ZN;break;default:Y.Hh=Ha.xA,Y.qg=Ha.OC}xa.FM()?(Oa.log("%cENABLE HIDPI MODE","color: #00a"),Y.az="AA_QUALITY_LOW",Y.Am=1,Ea.pc=1):1<Ea.pc?(Oa.log("%cENABLE MSAA RENDERING: "+Ea.pc+"x","color: #00a"),
  835. Y.Am=1):(Y.az="AA_QUALITY_"+a.b4w_antialiasing_quality,Y.Am="MEDIUM"===a.b4w_antialiasing_quality&&Ea.quality===Da.P_ULTRA||"HIGH"===a.b4w_antialiasing_quality&&Ea.quality===Da.P_HIGH?1.33:"HIGH"===a.b4w_antialiasing_quality&&Ea.quality===Da.P_ULTRA||"NONE"===a.b4w_antialiasing_quality&&Ea.quality===Da.P_ULTRA?2:1);f=a.ff.sort(function(a,b){return b.ci-a.ci});Y.Na=da.JJ(Y,R,q,f);Y.$k=[];Y.As=!1;Y.Pw=!1;Y.Qw=!1;Y.pi=new Float32Array(3);Sa.push(a);rb||(rb=ma.create());ma.H(rb,a);for(Y=0;Y<c.length;Y++)fa.xx(c[Y],
  836. !0,a);a=xa.get_container();xa.resize(a.clientWidth,a.clientHeight,!0)};a.DH=function(a,b,c){for(var d=0;d<b.length;d++){var e=b[d].s;e&&e.Jk&&(e.mq=c,a.s.en.push(b[d]))}};a.Pv=function(a){return a.s.Na};a.cB=function(a,b){ma.ja(b,function(c,d){var e=null;switch(d.type){case P.Wb:e=ba.dv(d.Ss);break;case P.yq:e=ba.PJ(d);break;case P.ju:e=ba.QJ(d);break;case P.Iy:e=ba.wJ();break;case P.ri:da.sb(b,d,P.Bl)||da.sb(b,d,P.Fe)||da.sb(b,d,P.yc)||da.sb(b,d,P.ri);e=ba.AJ(d.JC,d.rh,d.Qm);break;case P.tq:da.sb(b,
  837. d,P.Bl)||da.sb(b,d,P.Fe)||da.sb(b,d,P.yc);da.sb(b,d,P.ri);e=ba.BJ();break;case P.Cg:e=ba.FJ();break;case P.Xt:e=ba.tJ(d.gA);break;case P.mn:var e=ba.xJ(d),f=d.p.dof_power;if(d.p.dof_bokeh){var f=f/2,h=da.Qv(b,d,P.Wb);da.vc(h[0],f);da.vc(h[1],f);h[0]=da.sb(b,h[0],P.Wb);da.vc(h[0],f)}else{var h=da.sb(b,d,P.Wb),g=da.sb(b,h,P.Wb);da.vc(h,f);da.vc(g,f)}break;case P.zl:var e=ba.GJ(),f=da.sb(b,d,P.Wb),h=da.sb(b,f,P.Wb),g=da.sb(b,h,P.Wb),l=da.sb(b,g,P.Wb);da.vc(h,d.Au);da.vc(f,d.Au);da.vc(l,d.Bv*d.np);da.vc(g,
  838. d.Bv*d.np);break;case P.nn:e=ba.zJ();break;case P.Yt:e=ba.uJ();break;case P.Cy:e=ba.oJ(d);break;case P.hu:case P.wq:case P.rn:case P.xq:e=ba.NJ(d.type);break;case P.wh:e=ba.RJ(d.vb);break;case P.Mf:e=ba.vJ(a,d);break;case P.LUMINANCE:e=ba.CJ();break;case P.jF:e=ba.pJ();break;case P.uq:e=ba.DJ();break;case P.kn:e=ba.rJ();break;case P.jn:e=da.sb(b,d,P.kn);f=da.sb(b,e,P.kn);da.vc(e,d.Fl);da.vc(f,d.Fl);e=ba.sJ();break;case P.dH:e=ba.oK();break;case P.xl:e=ba.nJ();break;case P.pn:e=ba.HJ()}e&&(f=P.Xg(e,
  839. fa.no("NONE")),P.Bc(d,f),J(b,d,e),C(e))})};a.append_object=function(a,b,c){switch(b.type){case "MESH":case "LINE":case "WORLD":var d=a.s.Na,e=b.k;!da.Xb(d,P.Hc)&&e.zd&&(e.zd=!1);e=S(a,fb);c&&b.ol&&X.append_object(b,a);for(var f=0;f<e.length;f++){var h=e[f],g=b,l=d,k=a,m=c;switch(h.type){case P.Db:Z(h,g,l,"OPAQUE",k,m);break;case P.yc:Z(h,g,l,"BLEND",k,m);break;case P.ef:Z(h,g,l,"XRAY",k,m);break;case P.Ad:Z(h,g,l,"GLOW",k,m);break;case P.hd:case P.Pc:Q(h,g,l,!1,k,m);break;case P.Ge:case P.ee:Q(h,
  840. g,l,!0,k,m);break;case P.He:for(var n=fa.da(g,k).M,r=0;r<n.length;r++){var p=n[r];if("SHADOW"==p.type&&"RECEIVE"==p.vb&&p.zd){if(!m&&(I(p,h,g,l,"SHADOW",k),!ba.qc(p)))continue;var t=P.Xg(p,g.k);P.Bc(h,t);J(l,h,p);C(p)}}break;case P.Hc:n=!1;r=g.k;g=fa.da(g,k).M;p=da.Xb(l,P.vh);for(t=0;t<g.length;t++){var u=g[t];if("SHADOW"==u.type&&"CAST"==u.vb){n=!0;if(!m){var Y=h.Es;ba.fb(u,"NUM_LIGHTS",Y);ba.fb(u,"NUM_LFACTORS",0==Y%2?Y/2:Math.floor(Y/2)+1);ha.aa(u.Va,"SHADOW_USAGE","SHADOW_CASTING");u.Mc&&p&&N(u,
  841. p,r);ba.fb(u,"SHADOW_TEX_RES",ha.G(k.s.Uc.csm_resolution));if(!ba.qc(u))continue}u=P.Xg(u,r);P.Bc(h,u)}}n&&(g=k.s.Uc,m=da.Xb(l,P.Db),ka(h,k,m.p,g,!0));break;case P.Ee:T(h,g,l,k,m);break;case P.uh:T(h,g,l,k,m);break;case P.Lf:n=g.k;r=fa.da(g,k).M;for(p=0;p<r.length;p++)if(t=r[p],"COLOR_ID"==t.type&&"OUTLINE"==t.vb){if(!m&&(I(t,h,g,l,"COLOR_ID",k),ba.fb(t,"USE_OUTLINE",1),!ba.qc(t)))continue;t=P.Xg(t,n);P.Bc(h,t)}break;case P.vh:l=g.k;g=fa.da(g,k).M;for(k=0;k<g.length;k++)if(n=g[k],"GRASS_MAP"==n.type){if(!m&&
  842. !ba.qc(n))if("DEBUG"===Xa.type())ba.Jq(n,"error.glslv","error.glslf"),ba.qc(n);else continue;n=P.Xg(n,l);P.Bc(h,n);n=h.p;u=l.Ja;r=h.Cd[0];p=h.Cd[1];t=h.Cd[2];0==r&&0==p?(r=u.min_z,p=u.max_z):(r=Math.min(r,u.min_z),p=Math.max(p,u.max_z));u=1E-4*(p-r);r-=u;p+=u;h.Cd[0]=r;h.Cd[1]=p;oa.ft(n,t/2,-p,-r,t/2);oa.rj(n)}break;case P.Fe:for(n=g.k,g=fa.da(g,k).M,k=0;k<g.length;k++)r=g[k],"DEBUG_VIEW"==r.type&&U(h,n,l,m,r)}}break;case "LAMP":qa(b,a),Aa.CP(a)}fa.xx(b,!0,a)};a.py=B;a.yx=function(a){a.s.As=!0};a.LQ=
  843. function(a,b){ma.ja(b,function(b,c){if(c.type===P.Hc){var d=Ga.Yb(a.n,Gb);Ga.set_trans(d,c.p.n);Ga.copy(a.Be,c.p.Kp)}})};a.bU=ja;a.ML=function(a,b){for(var c=a.s.Uc,d=new Float32Array(c.csm_num),e=0;e<c.csm_num;e++)d[e]=oa.rK(c,b,e);return d};a.XR=U;a.Vz=ia;a.Tn=G;a.is_hidden=function(a){return a.k.hide};a.pO=function(a){for(var b=0;b<a.F.length;b++)for(var c=S(a.F[b].nb,fb),b=0;b<c.length;b++)for(var d=c[b].Ha,e=0;e<d.length;e++)for(var f=d[e].ma,h=f.length-1;0<=h;h--){var g=f[h];g.te==a.k&&(g.pa&&
  844. ba.fA(g.pa),f.splice(h,1))}};a.AQ=function(a,b){for(var c=a.ib,d=fa.da(a,b).Mk,e=S(b,hb),f=0;f<e.length;f++){var h=e[f];h.dp.set(c.fo,4*d);h.qa=!0}};a.$m=qa;a.NQ=function(a){a=a.F;for(var b=0;b<a.length;b++)B(a[b].nb)};a.cleanup=function(){for(var a=0;a<Sa.length;a++){var b=Sa[a];ma.ja(b.s.Na,function(a,b){if(b.type!=P.Cl){var c=b.p;Ra.qO(c.pe,c.gc,c.le,c.width,c.height);for(var c=b.Ha,d=0;d<c.length;d++)for(var e=c[d].ma,f=0;f<e.length;f++){var h=e[f].pa;h&&ba.fA(h)}}});b.s.Na=[];b.s.$k=[]}Wa=$a=
  845. null;Sa.length=0;rb=null};a.nC=function(a,b,c){a=oa.XK(a,a.near,a.far,null,!0);var d=Ya.yL(a);a=fa.no("DYNAMIC");a.Ja=a.N={max_x:1E12,min_x:-1E12,max_y:1E12,min_y:-1E12,max_z:1E12,min_z:-1E12};a.Ya=a.oa=Ba.gI();var e=a.Ya.Oa;a.eb=a.V=Ba.Hn([e,0,0],[0,e,0],[0,0,e],a.Ya.D);a.an=!1;c=ba.MJ(d,c);c=P.Xg(c,a);P.Bc(b,c)};a.VS=function(a){return[a.frame_start,a.frame_end]};a.xD=function(a,b,c){xa.qP(a,b,c);Wa&&ra(Wa,a,b)};a.JT=ra;a.Px=S;a.Ca=la;a.get_environment_colors=function(a){a=la(a,P.Db);var b=a.Dd,
  846. c=a.Ld,d=[],e=[];d[0]=b[0];d[1]=b[1];d[2]=b[2];e[0]=c[0];e[1]=c[1];e[2]=c[2];return[a.bg,d,e]};a.set_environment_colors=function(a,b,c,d){a=S(a,hb);for(var e=0;e<a.length;e++){var f=a[e];f.Dd.set(c);f.Ld.set(d);f.bg=b;f.qa=!0}};a.get_sky_params=function(a){if(a=la(a,P.Mf)){var b={};b.color=Array(3);Na.copy(a.Im,b.color);b.procedural_skydome=a.procedural_skydome;b.use_as_environment_lighting=a.use_as_environment_lighting;b.rayleigh_brightness=a.rayleigh_brightness;b.mie_brightness=a.mie_brightness;
  847. b.spot_brightness=a.spot_brightness;b.scatter_strength=a.scatter_strength;b.rayleigh_strength=a.rayleigh_strength;b.mie_strength=a.mie_strength;b.rayleigh_collection_power=a.rayleigh_collection_power;b.mie_collection_power=a.mie_collection_power;b.mie_distribution=a.mie_distribution;return b}return null};a.set_sky_params=function(a,b){var c=la(a,P.Mf);c&&("number"==typeof b.procedural_skydome&&(c.procedural_skydome=b.procedural_skydome),"number"==typeof b.use_as_environment_lighting&&(c.use_as_environment_lighting=
  848. b.use_as_environment_lighting),"object"==typeof b.color&&c.Im.set(b.color),"number"==typeof b.rayleigh_brightness&&(c.rayleigh_brightness=b.rayleigh_brightness),"number"==typeof b.mie_brightness&&(c.mie_brightness=b.mie_brightness),"number"==typeof b.spot_brightness&&(c.spot_brightness=b.spot_brightness),"number"==typeof b.scatter_strength&&(c.scatter_strength=b.scatter_strength),"number"==typeof b.rayleigh_strength&&(c.rayleigh_strength=b.rayleigh_strength),"number"==typeof b.mie_strength&&(c.mie_strength=
  849. b.mie_strength),"number"==typeof b.rayleigh_collection_power&&(c.rayleigh_collection_power=b.rayleigh_collection_power),"number"==typeof b.mie_collection_power&&(c.mie_collection_power=b.mie_collection_power),"number"==typeof b.mie_distribution&&(c.mie_distribution=b.mie_distribution),c.qa=!0,c.zs=!0,ga(a,c))};a.UL=function(a){return S(a,lb)[0].nf[0]};a.SL=function(a){return S(a,lb)[0].nf[1]};a.VL=function(a){return S(a,lb)[0].nf[2]};a.TL=function(a){return S(a,lb)[0].nf[3]};a.qD=function(a,b){for(var c=
  850. S(a,lb),d=0;d<c.length;d++){var e=c[d];e.nf[0]=b;e.qa=!0}};a.oD=function(a,b){for(var c=S(a,lb),d=0;d<c.length;d++){var e=c[d];e.nf[1]=b;e.qa=!0}};a.rD=function(a,b){for(var c=S(a,lb),d=0;d<c.length;d++){var e=c[d];e.nf[2]=b;e.qa=!0}};a.pD=function(a,b){for(var c=S(a,lb),d=0;d<c.length;d++){var e=c[d];e.nf[3]=b;e.qa=!0}};a.get_fog_color_density=function(a,b){var c=b||[],d=S(a,lb)[0].Sd;c[0]=d[0];c[1]=d[1];c[2]=d[2];c[3]=d[3];return c};a.set_fog_color_density=function(a,b){for(var c=S(a,lb),d=0;d<
  851. c.length;d++){var e=c[d];e.Sd.set(b);e.qa=!0}};a.get_ssao_params=function(a){var b=la(a,P.yq);a=la(a,P.ju);if(!b)return null;var c=b.Ha[0].ma[0].pa,d={};d.ssao_quality=ba.Yc(c,"SSAO_QUALITY")[1];d.ssao_hemisphere=b.ssao_hemisphere;d.ssao_blur_depth=a.ssao_blur_depth;d.Hz=a.ssao_blur_discard_value;d.radius_increase=b.Mm;d.influence=b.Lm;d.dist_factor=b.Km;d.ssao_only=b.ssao_only;d.ssao_white=ba.Yc(c,"SSAO_WHITE")[1];return d};a.set_ssao_params=function(a,b){var c=la(a,P.yq),d=la(a,P.ju);if(!c)return Oa.error("SSAO is not enabled on the scene"),
  852. 0;var e=c.Ha[0].ma[0],f=e.pa;"string"==typeof b.ssao_quality&&(ba.fb(f,"SSAO_QUALITY",b.ssao_quality),ba.qc(f),P.Bc(c,e));"number"==typeof b.ssao_hemisphere&&(ba.fb(f,"SSAO_HEMISPHERE",b.ssao_hemisphere),ba.qc(f),P.Bc(c,e));"number"==typeof b.ssao_blur_depth&&(ba.fb(f,"SSAO_BLUR_DEPTH",b.ssao_blur_depth),ba.qc(f),P.Bc(c,e));"number"==typeof b.ssao_white&&(ba.fb(f,"SSAO_WHITE",b.ssao_white),ba.qc(f),P.Bc(c,e));"number"==typeof b.ssao_blur_discard_value&&(d.ssao_blur_discard_value=b.ssao_blur_discard_value);
  853. "number"==typeof b.Mm&&(c.Mm=b.Mm);"number"==typeof b.Lm&&(c.Lm=b.Lm);"number"==typeof b.Km&&(c.Km=b.Km);if("number"==typeof b.ssao_only){c=la(a,P.Db);c.ssao_only=b.ssao_only;for(var e=c.Ha,h=0;h<e.length;h++)for(var g=e[h].ma,l=0;l<g.length;l++)f=g[l].pa,ba.fb(f,"SSAO_ONLY",b.ssao_only),ba.qc(f),P.Bc(c,g[l])}c.qa=!0;d.qa=!0};a.get_dof_params=function(a){a=la(a,P.mn);if(!a)return null;var b={};b.dof_on=a.p.dof_on;b.dof_distance=a.p.dof_distance;b.dof_front_start=a.p.dof_front_start;b.dof_front_end=
  854. a.p.dof_front_end;b.dof_rear_start=a.p.dof_rear_start;b.dof_rear_end=a.p.dof_rear_end;b.dof_power=a.p.dof_power;b.dof_bokeh=a.p.dof_bokeh;b.dof_bokeh_intensity=a.p.dof_bokeh_intensity;b.dof_object=a.p.dof_object;return b};a.set_dof_params=pa;a.get_god_rays_params=function(a){var b=S(a,[P.ri]);a=la(a,P.tq);if(!b||!a)return null;var c={};c.god_rays_max_ray_length=b[0].mm;c.god_rays_intensity=a.god_rays_intensity;c.god_rays_steps=ba.Yc(b[0].Ha[0].ma[0].pa,"STEPS_PER_PASS")[1];return c};a.set_god_rays_params=
  855. function(a,b){var c=S(a,[P.ri]),d=la(a,P.tq);if(!c||!d)return Oa.error("God Rays are not enabled on the scene"),0;"number"==typeof b.god_rays_intensity&&(d.god_rays_intensity=b.god_rays_intensity);if("number"==typeof b.god_rays_max_ray_length)for(var e=b.god_rays_max_ray_length,f=0;f<c.length;f++)c[f].mm=e,c[f].Xs=e/c[f].Qm/(f+1),c[f].qa=!0;if("number"==typeof b.god_rays_steps)for(var h=ha.G(b.god_rays_steps,1),e=c[0].mm,f=0;f<c.length;f++){c[f].Qm=h;c[f].Xs=e/h/(f+1);c[f].qa=!0;var g=c[f].Ha[0].ma[0],
  856. l=g.pa;ba.fb(l,"STEPS_PER_PASS",h);ba.qc(l);P.Bc(c[f],g)}d.qa=!0};a.get_bloom_params=function(a){var b=la(a,P.uq);a=la(a,P.jn);if(!b||!a)return null;var c={};c.key=b.Rq;c.edge_lum=b.Qq;c.blur=a.Fl;return c};a.set_bloom_params=va;a.get_glow_material_params=function(a){a=la(a,P.nn);if(!a)return null;var b={};b.small_glow_mask_coeff=a.small_glow_mask_coeff;b.large_glow_mask_coeff=a.large_glow_mask_coeff;b.small_glow_mask_width=a.small_glow_mask_width;b.large_glow_mask_width=a.large_glow_mask_width;return b};
  857. a.set_glow_material_params=wa;a.get_wind_params=function(a){var b=ea(a);a=Na.length(b);if(0==a)return null;var b=Fa.rad_to_deg(Math.atan2(b[0],-b[1])),c={};c.wind_dir=b;c.wind_strength=a;return c};a.IO=function(a){a.s.Pw=!0};a.get_water_surface_level=ca;a.get_water_mat_params=function(a,b){var c=a.s.wc,d=la(a,P.Db);d&&c&&(b.waves_height=c.waves_height,b.waves_length=c.waves_length,d.sh&&(b.water_fog_density=d.sh[3],c=b.water_fog_color=[],c[0]=d.sh[0],c[1]=d.sh[1],c[2]=d.sh[2]))};a.set_water_params=
  858. function(a,b){var c=a.s.wc;if(!c)return Oa.error("set_water_params() - no water parameters on the scene"),null;"number"==typeof b.dst_noise_scale0&&(c.dst_noise_scale0=b.dst_noise_scale0);"number"==typeof b.dst_noise_scale1&&(c.dst_noise_scale1=b.dst_noise_scale1);"number"==typeof b.dst_noise_freq0&&(c.dst_noise_freq0=b.dst_noise_freq0);"number"==typeof b.dst_noise_freq1&&(c.dst_noise_freq1=b.dst_noise_freq1);"number"==typeof b.dir_min_shore_fac&&(c.dir_min_shore_fac=b.dir_min_shore_fac);"number"==
  859. typeof b.dir_freq&&(c.dir_freq=b.dir_freq);"number"==typeof b.dir_noise_scale&&(c.dir_noise_scale=b.dir_noise_scale);"number"==typeof b.dir_noise_freq&&(c.dir_noise_freq=b.dir_noise_freq);"number"==typeof b.dir_min_noise_fac&&(c.dir_min_noise_fac=b.dir_min_noise_fac);"number"==typeof b.dst_min_fac&&(c.dst_min_fac=b.dst_min_fac);"number"==typeof b.waves_hor_fac&&(c.waves_hor_fac=b.waves_hor_fac);"number"==typeof b.water_dynamic&&(c.Ao=b.water_dynamic);for(var d=S(a,Fc),e=0;e<d.length;e++){var f=d[e];
  860. "number"==typeof b.water_fog_density&&c.Sd&&(f.sh[3]=b.water_fog_density);"object"==typeof b.water_fog_color&&c.Sd&&f.sh.set(b.water_fog_color);"number"==typeof b.waves_height&&(f.xy=b.waves_height);"number"==typeof b.waves_length&&(f.yy=b.waves_length);f.qa=!0}};a.get_shore_dist=function(a,b,c){var d=a.s.wc;if(!d.sj)return 100;var e=d.Cw;a=d.Kj;var f=(b[0]-d.Fm[0])/d.Gm[0],h=(d.Fm[1]+b[1])/d.Gm[1],f=f+.5,h=h+.5;if(1<f||0>f||1<h||0>h)b=1;else return d=e*Fa.kB(Wa.s.Fx,d.Gx,f,h),b=(a-b[2])*c,b=Math.sqrt(d*
  861. d+b*b)};a.update=function(a,b){for(var d=c().si.k,e=0;e<Sa.length;e++){var f=Sa[e],h=f.s.Na,g=f.s;if(g.wc)var l=Ga.get_trans_view(d.n),k=l[2]-ca(f,l[0],l[1]);for(l=0;l<g.en.length;l++){var m=g.en[l].s,n=m.Ia,r=m.Tc;if(!(f.b4w_use_nla&&m.Dj||!n&&!r)&&Ma.aF(m)){var p=Ma.YE(m),fa=Ma.$E(m);n&&Ea.is_mobile_device&&(fa-=5);var X=Ma.fR(m);p>=X&&m.li||p<fa?(Ma.reset_video(m),r&&(m.qj=Ma.dt(m,a))):p>=X&&!m.li?Ma.pause_video(m):Ma.bF(m)&&(n?Ma.GE(m):(n=Ma.dt(m,a),n!=m.qj&&(Ma.FE(m),m.bi++),m.qj=n))}}ma.ja(h,
  862. function(b,c){-1<mb.indexOf(c.type)&&(c.time=a);g.wc&&(c.Mu=k)})}for(e=0;e<Sa.length;e++)if(f=Sa[e],g=f.s,h=g.Na,d=g.$k,d.length)for(g.As&&(W(f),g.As=!1),g.Pw&&(ua(f),g.Pw=!1),g.Qw&&(V(f),g.Qw=!1),g.motion_blur&&O(h,b),f=da.Xb(h,P.Lf),l=0;l<d.length;l++)h=d[l],Y.Ts(h),f&&ta(h,f),Ra.Pl(h);Ea.show_hud_debug_info&&R.uP(Sa,b)};a.yO=function(a){a.s.Qw=!0};a.Jv=function(a){var b=[];ma.ja(a.s.Na,function(a,c){b.push(c)});return b};a.get_cam_water_depth=function(){var a=la(Wa,P.yc),b=Wa;return a||b.s.wc?
  863. a.Mu:null};a.EE=function(a){ma.ja(a.s.Na,function(a,b){b.qa=!0})};a.PO=function(a,b){a.debug_view_mode=b;a.Sb=b!=Ia.DV_NONE;a.zb=b==Ia.DV_TRANSPARENT_WIREFRAME;a.qa=!0;for(var d=c(),e=0;e<Fc.length;e++){var f=la(d,Fc[e]);f&&(f.tv=b==Ia.DV_RENDER_TIME)}};a.OO=function(a,b){a.debug_colors_seed=b;a.qa=!0};a.hP=function(a,b){a.CA=b;a.qa=!0};a.oP=function(a,b){for(var c=a.Ha,d=0;d<c.length;d++)for(var e=c[d].ma,f=0;f<e.length;f++){var h=e[f].pa;Na.copy(b,h.wireframe_edge_color);h.qa=!0}};a.BE=function(a,
  864. b){var c=b.Sl,d=a.s.pi;if(c&&"WIND"==c.type&&d){var e=Ga.get_quat_view(b.k.n);Na.transformQuat(Fa.AXIS_Z,e,d);Na.normalize(d,d);Na.scale(d,c.ZD,d);c=S(a,mb);for(e=0;e<c.length;e++)c[e].pi.set(d);return!0}return!1};a.UN=function(a,b,c){var d=la(a,P.Ee);if(d){var e=xa.get_canvas();oa.NO(d.p,b,c,e.clientWidth,e.clientHeight);Y.Ts(d);d.Sb&&Ra.Pl(d);if(a=la(a,P.uh))za.copy(d.p.mb,a.p.mb),za.copy(d.p.Oc,a.p.Oc),Fa.Rl(a.p.Oc,a.p.Ug),Y.Ts(a),a.Sb&&Ra.Pl(a);if(d.Sb||a&&a.Sb)return Ra.mx(a?a.p.pe:d.p.pe,0,
  865. 0)}else Oa.error("Object Selection is not available on the scene");return null};a.set_outline_color=function(a){var b=c();if(b=la(b,P.zl))b.Zh.set(a),b.qa=!0};a.$S=ea;a.get_meta_tags=function(a){var b={title:"",description:""};a.b4w_tags&&(b.title=a.b4w_tags.title,b.description=a.b4w_tags.description);return b};a.AE=function(a,b){var c=Gb;Na.negate(b,c);for(var d=0;6>d;d++){var e=a.jk[d],f=a.po[d],h=a.p;za.translate(Fa.uF[d],c,e);za.multiply(h.mb,e,h.Oc);Fa.Rl(h.Oc,f)}};a.CE=function(a,b,c){Fa.cQ(b,
  866. c,Fa.AXIS_Z,a.p.dc)};a.YH=function(a,b,c){var d=a.s.Uc,e=a.s.hh;c=fa.Er(c,Ea.ssao&&a.b4w_enable_ssao);if(e)for(var f=0;f<b.length;f++){var h=b[f],g=fa.da(h,a);if(-1!=h.k.Zc){var l=e.eh,k=e.Rs,h=h.k.Zc;k.length?g.eh=k[h]:l.length&&(g.eh=l[h])}else-1!=h.k.md&&(l=e.Gh,k=e.jv,h=h.k.md,k.length?g.Gh=k[h]:l.length&&(g.Gh=l[h]))}for(f=0;f<c.length;f++)if(g=fa.da(c[f],a),d)for(b=S(a,[P.Hc]),e=0;e<b.length;e++)f==b[e].vg&&g.Ex.push(b[e])};a.marker_frame=function(a,b){return a.timeline_markers[b]};a.set_hmd_params=
  867. function(a){var b=c();if(b=la(b,P.wh))a.distortion_coefs&&(b.lk[0]=a.distortion_coefs[0],b.lk[1]=a.distortion_coefs[1],b.qa=!0),a.chromatic_aberration_coefs&&(b.chromatic_aberration_coefs[0]=a.chromatic_aberration_coefs[0],b.chromatic_aberration_coefs[1]=a.chromatic_aberration_coefs[1],b.chromatic_aberration_coefs[2]=a.chromatic_aberration_coefs[2],b.chromatic_aberration_coefs[3]=a.chromatic_aberration_coefs[3],b.qa=!0),a.base_line_factor&&(b.lk[2]=a.base_line_factor,b.qa=!0),a.inter_lens_factor&&
  868. (b.lk[3]=a.inter_lens_factor,b.qa=!0),a.enable_hmd_stereo&&(b.enable_hmd_stereo=a.enable_hmd_stereo,b.qa=!0)};a.uC=function(b,c){for(var d=Sa,e=0;e<d.length;e++)da.FN(a.Pv(d[e]),b,c)};a.lQ=function(a){for(var b=Aa.Eb(a,"LAMP",Aa.DATA_ID_ALL),c=S(a,fb),d=0;d<c.length;d++)for(var e=c[d],f=e.Ha,h=0;h<f.length;h++)for(var g=f[h].ma,l=0;l<g.length;l++){var k=g[l],m=k.pa;"MAIN"==m.type&&(ba.pQ(m,b,a),ba.qc(m),P.Bc(e,k))}};a.$C=function(a){for(var b=0;b<Sa.length;b++)ma.ja(Sa[b].s.Na,function(b,c){for(var d=
  869. c.Ha,e=0;e<d.length;e++)for(var f=d[e].ma,h=0;h<f.length;h++){var g=f[h];g.pa==a&&P.Bc(c,g)}})}};fdage.module.__physics=function(a,q){function f(a,b){for(var c=a.je,d=0;d<c.length;d++)c[d].pg.$p&&b.push(c[d]),f(c[d],b)}function c(a,b,c){for(var d=a.jc.ma,e=0;e<d.length;e++)for(var f=d[e].C,h=0;h<f.ie.length;h++){var g=f.ie[h];"ANY"!=g.Rb&&c!=g.Rb||M(g,a,b)}}function b(a,b,c){if(C.Zr(a))switch(b){case C.DF:var d=g(a);d.jc.eF=!0;C.Z(a,C.FG,Date.now()-performance.now(),aa.max_fps,aa.Iu?ga.VA:0);break;case C.EF:Q.ud("URANIUM:",c.slice(1));break;case C.zF:Q.error(c);break;case C.AF:I.fbmsg.apply(this,
  870. c.slice(1));break;case C.JF:var e=p(c.X);if(e){a=c.trans;d=c.quat;b=c.Yg;var f=c.Ig,e=e.C;e.gr=c.time;T.set_sep(a,1,d,e.lv);ia.copy(b,e.Yg);ia.copy(f,e.Ig)}break;case C.GF:(a=p(c.Nu))&&T.set_sep(c.trans,1,c.quat,a.v.yp[c.hx]);break;case C.BF:if(d=p(c[1]))a=c[4],d=d.mf.Sq[c[2]],ja.set_translation(d,c[3]),ja.set_rotation(d,a),ja.B(d);break;case C.KF:if(e=p(c[1]))e.v.speed=c[2];break;case C.vF:d=g(a);D(d,c.Wj,c.Xj,c.result,null,null,0);break;case C.xF:d=g(a);D(d,c.Wj,c.Xj,c.result,c.dk,c.coll_norm,c.coll_dist);
  871. break;case C.wF:if(e=p(c[1]))a=e.C,a.ck&&a.ck(c[2]);break;case C.Ky:case C.HF:d=g(a);if(a=d.jc.jj[c.id])if(d=p(c.Gl),b==C.Ky)b=a.callback,b(a.id,c.hit_fract,d,c.hit_time);else{b=c.hit_fract;var f=c.hit_time,e=c.hit_pos,h=a.callback;e?h(a.id,b,d,f,e,c.hit_norm):h(a.id,b,d,f)}break;case C.IF:A(id);break;case C.FF:a=S.indexOf(a);console.log("Physics #"+a+" Ping: OUT "+(c[2]-c[1]).toFixed(3)+" ms, IN "+(performance.now()-c[2]).toFixed(3)+" ms, ALL "+(performance.now()-c[1]).toFixed(3)+" ms");break;case C.CF:ra=
  872. c[1];break;case C.yF:a=S.indexOf(a);console.log("Worker: #"+String(a));console.log(c[1]);break;default:Q.error("Wrong message: "+b)}}function g(a){for(var b=0;b<S.length;b++)if(S[b]==a)return la[b]}function p(a){return pa[a]||null}function D(a,b,c,d,f,h,g){a=a.jc.ma;for(var l=0;l<a.length;l++)for(var k=a[l].C,m=0;m<k.ie.length;m++){for(var n=k.ie[m],r=n.gj,t=!1,u=0;u<r.length;u++){var v=r[u];if(v[0]===b&&v[1]===c){n.op[u]=d;t=!0;break}}t&&(r=e(n),f&&n.Bu!=b&&(t=f,u=h,v=g,t[0]+=u[0]*v,t[1]+=u[1]*v,
  873. t[2]+=u[2]*v,u[0]*=-1,u[1]*=-1,u[2]*=-1),n.callback(r,r?n.Bu==b?p(c):p(b):null,f,h,g))}}function e(a){a=a.op;for(var b=!1,c=0;c<a.length;c++)b=b||a[c];return b}function u(){ca.body++;return ca.body}function n(a){var b=wa.indexOf(a);return-1==b?(wa.push(a),wa.length-1):b}function t(a,b){return{X:a,type:b,$g:0,bs:!1,tj:!0,qe:!1,is_character:!1,DM:!1,Zq:null,Rb:"",bo:0,nS:{},ie:[],ck:null,gr:0,lv:new Float32Array([0,0,0,1,0,0,0,1]),Yg:new Float32Array(3),Ig:new Float32Array(3),Uq:new Float32Array(3),
  874. Pn:new Float32Array(4),jp:null}}function m(a,b){switch(a){case "BOX":var c=b.N;break;case "CYLINDER":c=b.Gn;break;case "CONE":c=b.Fn;break;case "SPHERE":c=b.oa;break;case "CAPSULE":c=b.En}return c}function k(a){if(!a)return null;var b={};"number"===typeof a.min_x&&(b.min_x=a.min_x);"number"===typeof a.min_y&&(b.min_y=a.min_y);"number"===typeof a.min_z&&(b.min_z=a.min_z);"number"===typeof a.max_x&&(b.max_x=a.max_x);"number"===typeof a.max_y&&(b.max_y=a.max_y);"number"===typeof a.max_z&&(b.max_z=a.max_z);
  875. "object"===typeof a.D&&(b.center=a.D);"number"===typeof a.Oa&&(b.radius=a.Oa);"number"===typeof a.height&&(b.height=a.height);return b}function d(a,b,c,d,e){var f=T.get_trans_view(a.k.n),h=T.invert(b.k.n,L),g=new Float32Array(3);T.transform_vec3(f,h,g);switch(b.v.type){case 10:b=b.ze;a=a.k.N;C.Z(e,C.iG,c,g,b.XP,b.tx,(a.max_z-a.min_z)/2,d);break;case 20:C.Z(e,C.hG,c,g,a.UT)}}function y(a){return a.C&&a.C.Zq}function H(a,b,c,d,e,f,h,g,l,k){var m;ca.bc++;m=ca.bc.toString(16);var n=b.C.X;C.Z(v(n),C.pG,
  876. m,a,g,n,c,d,e.C.X,f,h,l,k);b.C.Zq=m}function v(a){for(var b=0;b<la.length;b++)for(var c=la[b].jc.ma,d=0;d<c.length;d++)if(c[d].C.X==a)return S[b];return null}function z(a){var b=a.C;if(b=b?0===b.$g?!0:!0===b.bs?!0:!1===b.tj?!0:"RIGID_BODY"!==b.type&&"DYNAMIC"!==b.type?!0:!1:!1)var b=T.Yb(a.k.n,ta),c=T.sd(a.k.n,na),b=b[0]!=a.C.Uq[0]||b[1]!=a.C.Uq[1]||b[2]!=a.C.Uq[2]||c[0]!=a.C.Pn[0]||c[1]!=a.C.Pn[1]||c[2]!=a.C.Pn[2]||c[3]!=a.C.Pn[3];if(b){var b=a.C,d=a.k,c=C.tB(C.vq);c.X=b.X;var e=T.Yb(d.n,c.trans),
  877. d=T.sd(d.n,c.quat);ia.copy(e,b.Uq);W.copy(d,b.Pn);"DYNAMIC"==b.type&&W.identity(c.quat);C.Z(v(b.X),C.vq)}a=a.je;for(b=0;b<a.length;b++)z(a[b])}function x(a,b,c,d,e){e=e||new Float32Array(3);a=T.get_quat_view(a.k.n);e[0]=b;e[1]=c;e[2]=d;ia.transformQuat(e,a,e)}function M(a,b,c){var d=a.gj,e=a.op,f=a.Bu,h=[],g=a.Rb;h||U.q("At least one destination required");for(var l=0;l<b.jc.ma.length;l++){var k=b.jc.ma[l];if("ANY"==g||k.C.Rb==g&&"NAVMESH"!=k.C.type)k=k.C.X,h&&-1==h.indexOf(k)&&h.push(k)}for(b=0;b<
  878. h.length;b++)g=h[b],f<g&&!F(d,f,g)?(d.push([f,g]),e.push(!1)):f>g&&!F(d,g,f)&&(d.push([g,f]),e.push(!1));C.Z(c,C.gG,f);C.Z(c,C.oG,d,a.Lg)}function F(a,b,c){for(var d=0;d<a.length;d++)if(a[d][0]==b&&a[d][1]==c)return!0;return!1}function E(a){a.C&&a.C.ck&&(a=a.C,C.Z(v(a.X),C.BG,a.X),a.ck=null)}function A(a){var b=h(a),c=K(a).jc;c.jj[a]&&(delete c.jj[a],c.lx.splice(c.lx.indexOf,1),C.Z(b,C.KG,a))}function K(a){for(var b=0;b<la.length;b++){var c=la[b];if(c.jc.jj[a])return c}return null}function h(a){for(var b=
  879. 0;b<la.length;b++)if(la[b].jc.jj[a])return S[b];return null}function l(a,b,c){if(b.Pm){a=a.C.X;var d=b.Ql*b.Ho,e=b.Nn*b.On,f=-b.Nm*b.Om*2*Math.PI/b.Sp;b.Wo&&(f*=-1);switch(b.type){case 10:C.Z(c,C.XG,a,d,e,f);break;case 20:C.Z(c,C.WG,a,d,e,f)}}}function w(a){return a.qe&&"CHASSIS"==a.ze.ue}function r(a){return a.qe&&"HULL"==a.ze.ue}function J(a){return"NAVMESH"==a.pg.sp}function B(a){return a.Hk&&"MAIN_BODY"==a.Tl.ue}var Z=q("__config"),I=q("__debug"),C=q("__ipc"),N=q("__obj_util"),Q=q("__print"),
  880. W=q("__quat"),V=q("__scenes"),ka=q("__subscene"),ja=q("__transform"),T=q("__tsr"),U=q("__util"),ia=q("__vec3"),G=q("__version"),qa=q("__navmesh"),aa=Z.C,ga=Z.A,ya=Z.kd,ra=0,S=[],la=[],pa={},va=[],wa=["ANY"],ca={body:0,bc:0,YC:0},ta=new Float32Array(3);new Float32Array(4);var na=new Float32Array(4);new Float32Array(16);var L=T.create(),ua=T.create();a.xM=function(a){a.jc={eF:!1,ma:[],jj:{},lx:[]};var c=aa.Zp;ya.prevent_caching&&(c+=G.timestamp());Q.log("%cLOAD PHYSICS","color: #0a0",aa.iq?"Using Separate Worker Thread,":
  881. "Using Same Thread,","Max FPS: "+aa.max_fps);Q.log("%cPHYSICS PATH","color: #0a0",c);var d=C.pK(c,!aa.iq);C.aI(d,b);S.push(d);la.push(a);aa.ping&&setInterval(function(){C.Z(d,C.HG,performance.now())},1E3)};a.XI=function(a){return a.jc?a.jc.eF:!0};a.cleanup=function(){for(var a=0;a<S.length;a++)C.terminate(S[a]);S.length=0;la.length=0;pa={};va.length=0;wa.length=0;for(var b in ca)ca[b]=0};a.append_object=function(a,b){a.k||U.q("No object render: "+a.name);var e;a:{for(var h=0;h<la.length;h++)if(la[h]==
  882. b){e=S[h];break a}e=void 0}var g=[];a.pg.$p&&f(a,g);var p=b.jc.ma;if(w(a)||r(a)||a.is_character||B(a)||a.ol){var v=J(a),q;if(v){var D=a,z=u(),R=t(z,"NAVMESH"),x=N.da(D,b).M;R.jp=null;for(var A=0;A<x.length;A++){var V=x[A];if("PHYSICS"==V.type){R.jp=qa.HN(V.fa);break}}q=R}else{var G=a,fa=e,X=G.k,Y=G.pg,E=Y.sp,F=u();if("CAMERA"==G.type)var ca=Y.ry?Y.Xq:"BOX",I=m(ca,X),da=X.vk,ka=X.nk,da=.5,ka=0;else if("EMPTY"==G.type)ca="EMPTY",I=null,ka=da=0;else{var ca=Y.ry?Y.Xq:"BOX",I=m(ca,X),ha=T.get_scale(X.n);
  883. if(1!=ha){var P=I;switch(ca){case "BOX":P.min_x*=ha;P.max_x*=ha;P.min_y*=ha;P.max_y*=ha;P.min_z*=ha;P.max_z*=ha;break;case "CYLINDER":case "CONE":case "CAPSULE":P.height*=ha;P.Oa*=ha;break;case "SPHERE":P.Oa*=ha}}da=X.vk;ka=X.nk}var K=T.get_trans_view(X.n),M=T.get_quat_view(X.n),ta=Y.dq,ja=Y.PE,ga=Y.$g,Z=Y.UE,ia=Y.TE,aa=Y.BA,ya=Y.gD,ra=G.Rb,wa=n(ra),hb=Y.co,lb=Y.ao,mb=Y.eo,Fc=X.oa.Oa,$a=k(I),Wa=G.ar,Sa;var rb=ca;if(g.length){var Jc=[],Fb={};Fb.quat=new Float32Array([0,0,0,1]);Fb.trans=new Float32Array(3);
  884. Fb.worker_bounding=$a;Fb.bounding_type=rb;Jc.push(Fb);var Gb=T.invert(X.n,L),Mb=na,Eb=T.get_quat_view(X.n);W.invert(Eb,Mb);for(var jb=0;jb<g.length;jb++){var gc={},Gc=g[jb],ed=Gc.pg.Xq,wc=new Float32Array(4),Tc=new Float32Array(3),fc=T.get_trans_view(Gc.k.n),Yc=T.get_quat_view(Gc.k.n);T.transform_vec3(fc,Gb,Tc);W.multiply(Mb,Yc,wc);gc.trans=Tc;gc.quat=wc;gc.bounding_type=ed;gc.worker_bounding=k(m(ed,Gc.k));Jc.push(gc)}Sa=Jc}else Sa=[];C.Z(fa,C.lG,F,K,M,E,ta,ja,ga,Z,ia,aa,ya,wa,hb,lb,mb,ca,$a,Fc,da,
  885. ka,Sa,Wa);pa[F]=G;va.push(G);var Zc=t(F,"BOUNDING");Zc.type=E;Zc.$g=ga;Zc.bs=ta;Zc.Rb=ra;Zc.bo=wa;q=Zc}var ec=q;a.C=ec;var dd={pa:null,C:ec};v||(p.push(dd),c(b,e,ec.Rb))}else for(var Uc=N.da(a,b).M,Vc=0;Vc<Uc.length;Vc++){var Nb=Uc[Vc],xc;if(xc="PHYSICS"==Nb.type){var kd;a:{for(var yc=b.jc.ma,ld=0;ld<yc.length;ld++){var Kc=yc[ld].pa;if(Kc&&Kc.id==Nb.id){kd=!0;break a}}kd=!1}xc=!kd}if(xc)if(Nb.Ze.Aa)if(Nb.rh&&b.s.wc){var tb=Nb,nc=b,Ab=e,nb=nc.s.wc;C.Z(Ab,C.uG,nb.Kj);if(tb.mR){var kb={};kb.dst_noise_scale0=
  886. tb.dst_noise_scale0;kb.dst_noise_scale1=tb.dst_noise_scale1;kb.dst_noise_freq0=tb.dst_noise_freq0;kb.dst_noise_freq1=tb.dst_noise_freq1;kb.dir_min_shore_fac=tb.dir_min_shore_fac;kb.dir_freq=tb.dir_freq;kb.dir_noise_scale=tb.dir_noise_scale;kb.dir_noise_freq=tb.dir_noise_freq;kb.dir_min_noise_fac=tb.dir_min_noise_fac;kb.dst_min_fac=tb.dst_min_fac;kb.waves_hor_fac=tb.waves_hor_fac;var cb=nb.waves_height,Hc=nb.waves_length;nb.sj?C.Z(Ab,C.Uy,kb,nb.Gm[0],nb.Gm[1],nb.Fm[0],nb.Fm[1],nb.Cw,cb,Hc,nb.Gx,nc.s.Fx):
  887. C.Z(Ab,C.Uy,kb,0,0,0,0,0,cb,Hc,0,null)}}else{var zc;if(Nb.dq){var hc=a,Bb=Nb,Zb=e,Ac=u(),Qb=Bb.Ze,ic=Qb.U[0].a_position,Bc=Qb.ha||null,ob=Bb.Rb,ab=n(ob),Lc=Bb.co,fd=Bb.ao,Cb=Bb.eo,Yb=T.get_trans_view(hc.k.n);C.Z(Zb,C.rG,Ac,ic,Bc,Yb,ab,Lc,fd,Cb);var ib=t(Ac,"STATIC_MESH");ib.bs=!0;ib.Rb=ob;ib.bo=ab;zc=ib}else{var pb=a,vb=Nb,$c=e,Wc=u(),jc=vb.Ze,oc=jc.U[0].a_position,Hb=jc.ha||null,pc=T.get_trans_view(pb.k.n),qc=vb.vk,Xc=vb.nk,Cc=vb.Rb,rc=n(Cc);C.Z($c,C.tG,Wc,oc,Hb,pc,qc,Xc,rc,vb.co,vb.ao,vb.eo);var Ib=
  888. t(Wc,"STATIC_MESH");Ib.Rb=Cc;Ib.bo=rc;zc=Ib}ec=zc;a.C=ec;dd={pa:Nb,C:ec};p.push(dd);c(b,e,ec.Rb)}else Q.error("Object "+a.name+" has collision material with no assigned vertices")}if(w(a)||r(a)){var Va=a,Qa=e,Rb=Va.C.X;w(Va)?(Va.v.type=10,C.Z(Qa,C.mG,Rb,Va.v.Sx,Va.v.Ux,Va.v.Tx,Va.v.By,Va.v.Dw)):r(Va)&&(Va.v.type=20,C.Z(Qa,C.kG,Rb,Va.v.rk,Va.v.tl,Va.v.ul));if(Va.v.Zk){var kc=Va.v.Zk;switch(Va.v.type){case 10:d(kc[0],Va,Rb,!0,Qa);d(kc[1],Va,Rb,!0,Qa);d(kc[2],Va,Rb,!1,Qa);d(kc[3],Va,Rb,!1,Qa);break;
  889. case 20:for(var Ua=0;Ua<kc.length;Ua++)d(kc[Ua],Va,Rb,!1,Qa)}}l(a,a.v,e)}else if(a.is_character){var wb=e,Jb=a.k,Sb=a.C,$b=Jb.N.max_z-Jb.N.min_z,Db=Sb.X,xb=a.Wz,bb=xb.lR,yb=xb.GO,La=xb.QP,ac=xb.OM,Pa=xb.nR,bc=U.CK(a);C.Z(wb,C.nG,Db,bc,$b,bb,yb,La,ac,Pa);Sb.is_character=!0}else if(B(a)){var Ka=a,ub=e,Ob=Ka.C.X;C.Z(ub,C.qG,Ob,Ka.mf.rk,Ka.mf.tl,Ka.mf.ul);if(Ka.mf.Sq)for(var Tb=Ka.mf.Sq,sc=0;sc<Tb.length;sc++){var Mc=Tb[sc],lc=T.get_trans_view(Mc.k.n),md=T.invert(Ka.k.n,L),gd=new Float32Array(3);T.transform_vec3(lc,
  890. md,gd);C.Z(ub,C.jG,Ob,gd,Mc.Iz)}Ka.C.DM=!0}for(Vc=0;Vc<va.length;Vc++)if(a=va[Vc],a.C){var Nc=a;if(!y(Nc))for(var Ic=0;Ic<Nc.dx.length;Ic++){var tc=Nc.dx[Ic],Ub=tc.target,sb=tc.VN;if(Ub.C){var uc=new Float32Array([tc.WN,tc.XN,tc.YN]),Oc,zb=new Float32Array([tc.xa,tc.ya,tc.za]);Oc=U.euler_to_quat(zb,new Float32Array(4));var Pb=T.identity(L),Pb=T.set_trans(uc,Pb),Pb=T.set_quat(Oc,Pb),Dc=T.multiply(Nc.k.n,Pb,L),Vb=T.invert(Ub.k.n,ua),qb=T.multiply(Vb,Dc,Vb),Pc=T.get_trans_view(qb),Qc=T.get_quat_view(qb),
  891. gb=tc,db={};db.use_limit_x=gb.YQ;db.use_limit_y=gb.ZQ;db.use_limit_z=gb.$Q;db.use_angular_limit_x=gb.UQ;db.use_angular_limit_y=gb.VQ;db.use_angular_limit_z=gb.WQ;db.limit_max_x=gb.YM;db.limit_min_x=gb.aN;db.limit_max_y=gb.ZM;db.limit_min_y=gb.bN;db.limit_max_z=gb.$M;db.limit_min_z=gb.cN;db.limit_angle_max_x=gb.SM;db.limit_angle_min_x=gb.VM;db.limit_angle_max_y=gb.TM;db.limit_angle_min_y=gb.WM;db.limit_angle_max_z=gb.UM;db.limit_angle_min_z=gb.XM;H(sb,Nc,uc,Oc,Ub,Pc,Qc,db,null,null)}}}};a.eL=p;a.update=
  892. function(a,b){for(var c=0;c<S.length;c++){var d=S[c],e=a;d&&C.VB(d)&&C.Z(d,C.YG,e,b);for(var f=0;f<va.length;f++){var h=va[f],g=h.C;if(g.tj&&g.gr){var l=C.VB(d)?e-g.gr:performance.now()/1E3-g.gr,l=Math.min(l,10/aa.max_fps),l=l-1/aa.max_fps;ga.IN&&(l=0);var k=L;T.zM(g.lv,l,g.Yg,g.Ig,L);ja.set_tsr(h,k);ja.B(h);z(h);if(h.v)for(var g=h,l=g.v.Zk,k=g.k.n,m=L,n=0;n<l.length;n++){var r=l[n];T.multiply(k,g.v.yp[n],m);ja.set_tsr(r,m);ja.B(r)}h.v&&h.v.Pm&&(m=h,l=m.v,g=l.Pm)&&(n=m.v.WD,T.multiply(m.k.n,m.v.XD,
  893. g.k.n),k=ta,T.transform_dir_vec3(n,m.k.n,k),m=na,W.setAxisAngle(k,-l.Nm*l.Om*2*Math.PI,m),l=T.get_quat_view(g.k.n),W.multiply(m,l,l),ja.B(g));h.v&&h.v.Kx&&(m=h,l=m.v,g=l.Kx)&&(n=m.v.QD,T.multiply(m.k.n,m.v.RD,g.k.n),k=ta,T.transform_dir_vec3(n,m.k.n,k),m=na,n=Math.abs(l.speed)*l.Qp,n>l.nm&&(n=l.nm),W.setAxisAngle(k,-n,m),l=T.get_quat_view(g.k.n),W.multiply(m,l,l),W.normalize(l,l),ja.B(g));h.v&&h.v.Vx&&(k=h,g=k.v,h=g.Vx)&&(m=k.v.gE,T.multiply(k.k.n,k.v.hE,h.k.n),l=ta,T.transform_dir_vec3(m,k.k.n,l),
  894. k=na,W.setAxisAngle(l,-Math.abs(g.Ql)*g.uo,k),g=T.get_quat_view(h.k.n),W.multiply(k,g,g),W.normalize(g,g),ja.B(h))}}C.cO(d);d=la[c];(e=d.s.wc)&&0<e.waves_height&&(d=V.Ca(d,ka.Db),e=ia.length(d.pi)||1,C.Z(S[c],C.VG,d.time*e))}};a.EL=function(){return la[0]};a.pause=function(){for(var a=0;a<S.length;a++)C.Z(S[a],C.GG)};a.resume=function(){for(var a=0;a<S.length;a++)C.Z(S[a],C.LG)};a.enable_simulation=function(a){(a=a.C)||U.q("No object physics");if(!a.tj){var b=a.X,c=v(b);a.tj=!0;C.Z(c,C.EG,b)}};a.disable_simulation=
  895. function(a){(a=a.C)||U.q("No object physics");if(a.tj){var b=a.X,c=v(b);a.tj=!1;C.Z(c,C.DG,b)}};a.$s=function(a){return Boolean(a.jc)};a.ia=function(a){return Boolean(a.C)};a.has_dynamic_physics=function(a){return(a=a.C)&&a.tj&&("RIGID_BODY"==a.type||"DYNAMIC"==a.type)&&0<a.$g&&0==a.bs?!0:!1};a.has_simulated_physics=function(a){return(a=a.C)&&a.tj?!0:!1};a.set_gravity=function(a,b){var c=a.C.X;C.Z(v(c),C.UG,c,b)};a.rM=y;a.apply_constraint=H;a.clear_constraint=function(a){a=a.C;C.Z(v(body_a),C.JG,
  896. a.Zq);a.Zq=null};a.pull_to_constraint_pivot=function(b,c,d,e,f,h){c=T.set_sep(c,1,d,L);f=T.set_sep(f,1,h,ua);T.invert(c,c);T.multiply(f,c,c);ja.get_tsr(e,f);T.multiply(f,c,c);ja.set_tsr(b,c);ja.B(b);e=T.get_trans_view(b.k.n);f=T.get_quat_view(b.k.n);a.set_transform(b,e,f)};a.set_transform=function(a,b,c){var d=a.C,e=C.tB(C.vq),f=T.Yb(a.k.n,e.trans);a=T.sd(a.k.n,e.quat);T.set_sep(f,1,a,d.lv);e.X=d.X;ia.copy(b,e.trans);W.copy(c,e.quat);C.Z(v(d.X),C.vq)};a.sync_transform=z;a.apply_velocity=function(a,
  897. b,c,d){var e=ta;x(a,b,c,d,e);a=a.C.X;b=Math.abs(0);c=Math.abs(0);d=Math.abs(0);var f=Math.abs(e[0]),h=Math.abs(e[1]),g=Math.abs(e[2]);e[0]=f?e[0]/f*Math.max(f,b):0;e[1]=h?e[1]/h*Math.max(h,c):0;e[2]=g?e[2]/g*Math.max(g,d):0;C.Z(v(a),C.Wy,a,e[0],e[1],e[2])};a.apply_velocity_world=function(a,b,c,d){a=a.C.X;C.Z(v(a),C.Wy,a,b,c,d)};a.apply_force=function(a,b,c,d,e){var f=ta;e?(f[0]=b,f[1]=c,f[2]=d):x(a,b,c,d,f);a=a.C.X;C.Z(v(a),C.vG,a,f[0],f[1],f[2])};a.apply_torque=function(a,b,c,d){var e=ta;x(a,b,c,
  898. d,e);a=a.C.X;C.Z(v(a),C.xG,a,e[0],e[1],e[2])};a.set_character_move_dir=function(a,b,c){a=a.C.X;C.Z(v(a),C.OG,a,b,c)};a.set_character_move_type=function(a,b){var c=a.C.X;C.Z(v(c),C.PG,c,b)};a.set_character_walk_velocity=function(a,b){var c=a.C.X;C.Z(v(c),C.TG,c,b)};a.set_character_run_velocity=function(a,b){var c=a.C.X;C.Z(v(c),C.RG,c,b)};a.set_character_fly_velocity=function(a,b){var c=a.C.X;C.Z(v(c),C.MG,c,b)};a.character_jump=function(a){a=a.C.X;C.Z(v(a),C.zG,a)};a.character_rotation_inc=function(a,
  899. b,c){a=a.C.X;C.Z(v(a),C.AG,a,b,c)};a.set_character_rotation=function(a,b,c){a=a.C.X;C.Z(v(a),C.QG,a,b,c)};a.set_character_rotation_h=function(a,b){var c=a.C.X;C.Z(v(c),C.NG,c,b)};a.set_character_rotation_v=function(a,b){var c=a.C.X;C.Z(v(c),C.SG,c,b)};a.append_collision_test=function(a,b,c,d){var e=a.C;if(!e.jp){for(var f=e.X,h=0;h<e.ie.length;h++)if(a=e.ie[h],a.Rb==b&&a.callback==c)return;a={Bu:f,Lg:d||!1,Rb:b,callback:c,gj:[],op:[]};e.ie.push(a);b=v(f);M(a,g(b),b)}};a.remove_collision_test=function(a,
  900. b,c){a=a.C;for(var d=v(a.X),f=g(d),h=0;h<a.ie.length;h++){var l=a.ie[h];if(l.Rb==b&&l.callback==c){if(e(l)){var k=ia.set(0,0,0,ta);l.callback(!1,null,k,k,0)}a.ie.splice(h,1);h--;for(var k=d,l=l.gj,m=f.jc.ma,n=0;n<m.length;n++)for(var r=m[n].C,p=0;p<r.ie.length;p++)for(var u=r.ie[p],t=0;t<u.gj.length;t++)for(var w=u.gj[t],fa=0;fa<l.length;fa++){var X=l[fa];w[0]==X[0]&&w[1]==X[1]&&(l.splice(fa,1),fa--)}l.length&&C.Z(k,C.Vy,l)}}};a.apply_collision_impulse_test=function(a,b){a.C&&a.C.ck&&E(a);var c=a.C;
  901. C.Z(v(c.X),C.wG,c.X);c.ck=b};a.clear_collision_impulse_test=E;a.append_ray_test=function(a,b,c,d,e,f,h,l,k){var m;ca.YC++;m=ca.YC;a={id:m,X:a?a.C.X:0,from:new Float32Array(b),to:new Float32Array(c),Rb:d,bo:n(d),rz:f,tI:h,Lg:l,Vr:k,callback:e};b=v(a.X)||S[0];c=g(b).jc;m=a.id;c.jj[m]=a;c.lx.push(a);C.Z(b,C.sG,a.id,a.X,a.from,a.to,a.bo,a.rz,a.tI,a.Lg,a.Vr);return m};a.remove_ray_test=A;a.change_ray_test_from_to=function(a,b,c){var d=h(a),e=K(a).jc.jj[a];e&&!e.rz&&(e.from.set(b),e.to.set(c),C.Z(d,C.yG,
  902. a,b,c))};a.WB=function(a){return K(a).jc.jj[a]?!0:!1};a.vehicle_throttle=function(a,b){var c=a.v;c.Ql=b;l(a,c,v(a.C.X))};a.vehicle_steer=function(a,b){var c=a.v;c.Nm=b;l(a,c,v(a.C.X))};a.vehicle_brake=function(a,b){var c=a.v;c.Nn=b;l(a,c,v(a.C.X))};a.is_vehicle_chassis=w;a.is_vehicle_hull=r;a.mT=J;a.CM=function(a){if(!a.qe)return!1;a=a.ze.ue;return"WHEEL_FRONT_LEFT"==a||"WHEEL_FRONT_RIGHT"==a||"WHEEL_BACK_LEFT"==a||"WHEEL_BACK_RIGHT"==a?!0:!1};a.BM=function(a){return a.qe?"BOB"==a.ze.ue?!0:!1:!1};
  903. a.EM=function(a){return a.Hk?"BOB"==a.Tl.ue?!0:!1:!1};a.YB=function(a){return a.qe&&"STEERING_WHEEL"==a.ze.ue?!0:!1};a.XB=function(a){return a.qe&&"SPEEDOMETER"==a.ze.ue?!0:!1};a.ZB=function(a){return a.qe&&"TACHOMETER"==a.ze.ue?!0:!1};a.get_vehicle_speed=function(a){return a.v.speed};a.pR=function(a){switch(a){case "WHEEL_FRONT_RIGHT":return 0;case "WHEEL_FRONT_LEFT":return 1;case "WHEEL_BACK_LEFT":return 2;case "WHEEL_BACK_RIGHT":return 3}};a.is_character=function(a){return a.is_character};a.lT=
  904. B;a.WL=function(){return ra};a.yK=function(){for(var a=0;a<S.length;a++)C.Z(S[a],C.CG)};a.remove_object=function(a){if("BOUNDING"==a.C.type){var b=va.indexOf(a);-1==b&&Q.error("Object "+a.name+" doesn't have bounding physics");delete pa[c];va.splice(b,1)}for(var c=a.C.X,b=v(c),d=g(b),f=c,h=d.jc.ma,l=[],k=0;k<h.length;k++)for(var m=h[k].C,n=0;n<m.ie.length;n++)for(var r=m.ie[n],p=0;p<r.gj.length;p++){var u=r.gj[p],t=r.op[p];if(u[0]==f||u[1]==f)r.gj.splice(p,1),r.op.splice(p,1),p--,t&&!e(r)&&(t=ia.set(0,
  905. 0,0,ta),r.callback(!1,null,t,t,0)),l.push(u)}l.length&&C.Z(b,C.Vy,l);a.C&&a.C.ck&&E(a);a=d.jc.ma;for(d=0;d<a.length;d++)a[d].C.X==c&&(a.splice(d,1),d--);C.Z(b,C.IG,c)}};fdage.module.__data=function(a,q){function f(a,b){Ea[b.id]=null;Za[b.id]=null}function c(a,b,c,d){a instanceof ArrayBuffer&&(a=ua.DB(a,d));d=a.width;a=a.height;za.log("%cLOAD IMAGE "+d+"x"+a,"color: #"+(2048<d||2048<a?"a00":1024<d||1024<a?"aa0":"0a0"),b);-1==b.indexOf(Xb)&&c&&za.warn("image",b,"is not from app root.")}function b(a,b,c,d,e,f){(d=b.cg)||ha.q("Nothing requested");ca.enqueue([{id:d,type:ca.AT_JSON,url:d,hg:b.Si}],function(d,f,h,g){if(d){za.log("%cLOAD METADATA","color: #616",g);f=ha.YD(d.b4w_format_version);
  906. switch(ha.VE(f,Fa.Ok)){case -1:f[0]<Fa.Ok[0]?ha.q("JSON version is too old relative to FDAGE engine: "+ha.Ij(f)+", required: "+ha.Ij(Fa.Ok)+". Reexport scene with the latest FDAGE addon to fix it."):za.warn("JSON version is a bit old relative to FDAGE engine: "+ha.Ij(f)+", required: "+ha.Ij(Fa.Ok)+". Some compatibility issues can occur. Reexport scene with the latest FDAGE addon to fix it.");break;case 1:f[0]>Fa.Ok[0]?ha.q("FDAGE engine version is too old relative to JSON. Can't load the scene. Update your engine version to fix it."):
  907. za.error("FDAGE engine version is a bit old relative to JSON. Some compatibility issues can occur. Update your engine version to fix it.")}Fa.yw=f;for(var l in d)a[l]=d[l];b.Ab&&(Ha=X.ur(a.scenes));(d=a.binaries[0].binfile)?b.Cz=d:(ba.jt(b,"load_binaries"),ba.jt(b,"prepare_bindata"));Fa.is_mobile_device||ba.jt(b,"mobile_media_start");Fa.antialiasing&&Fa.smaa||ba.jt(b,"load_smaa_textures");if(a.b4w_export_errors)for(d=0;d<a.b4w_export_errors.length;d++)l=a.b4w_export_errors[d],(b.Ab&&"PRIMARY"==l.type||
  908. "ALL"==l.type)&&za.TK(l.text+" See more details in https://www.4dage.com/");if(a.b4w_export_warnings)for(d=0;d<a.b4w_export_warnings.length;d++)l=a.b4w_export_warnings[d],(b.Ab&&"PRIMARY"==l.type||"ALL"==l.type)&&za.UK(l.text+" See more details in https://www.4dage.com");b.Si&&x(a);e(b,c)}else ba.bz(b)},null,function(a){f(b,c,a)})}function g(a,b,c,d,f,h){(d=S(b.cg)+b.Cz)||ha.q("Binary data is missing");ca.enqueue([{id:d,
  909. type:ca.AT_ARRAYBUFFER,url:d,hg:b.Si}],function(d,h,g,l){d?(za.log("%cLOAD BINARY","color: #616",l),a.bin_data=d,d=e(d),h=ha.YD(a.b4w_format_version),d[0]!=h[0]&&ha.q("BIN version does not match to JSON version: "+ha.Ij(d)+", required: "+ha.Ij(Fa.Ok)+". Couldn't load the scene. Reexport scene to fix it."),d[1]!=h[1]&&za.warn("BIN version does not match to JSON version: "+ +ha.Ij(d)+", required: "+ha.Ij(Fa.Ok)+". Some compatibility issues can occur. Reexport scene to fix it."),f(b,c)):ba.bz(b)},null,
  910. function(a){h(b,c,a)})}function p(a,b,c,d,e){Ya.aA()&&e(b,c)}function D(a,b,c,d,f){d=a.bin_data;var h=a.binaries[0],g=a.objects,l=a.meshes;a=a.actions;var k=ha.RI();e(d);for(var m=["indices"],n=["position","texcoord","texcoord2","shade_tangs"],r=["normal","tangent"],p=["group"],fa=["color"],X=0;X<l.length;X++)for(var t=l[X].submeshes,v=0;v<t.length;v++){for(var Y in t[v]){var w=t[v][Y][1];if(-1!=m.indexOf(Y)){var q=t[v][Y][0]*ha.Jy+h["int"]+12,y=t[v],R=Y,D=d;if(k)var z=new Uint32Array(D,q,w);else for(var z=
  911. new Uint32Array(w),D=new DataView(D),x=0;x<w;x++)z[x]=D.getUint32(q+x*ha.Jy,!0);y[R]=z}else if(-1!=n.indexOf(Y))q=t[v][Y][0]*ha.qi+h["float"]+12,t[v][Y]=u(d,q,w,k);else if(-1!=r.indexOf(Y)){q=t[v][Y][0]*ha.qn+h["short"]+12;y=t[v];R=Y;D=d;z=new Float32Array(w);D=new DataView(D);for(x=0;x<w;x++)z[x]=D.getInt16(q+x*ha.qn,!0)/32767;y[R]=z}else if(-1!=p.indexOf(Y)){q=t[v][Y][0]*ha.qn+h.ushort+12;y=t[v];R=Y;D=d;z=new Float32Array(w);D=new DataView(D);for(x=0;x<w;x++)z[x]=D.getUint16(q+x*ha.qn,!0)/65535;
  912. y[R]=z}else if(-1!=fa.indexOf(Y)){q=t[v][Y][0]*ha.Wt+h.uchar+12;y=t[v];R=Y;D=d;z=new Float32Array(w);D=new DataView(D);for(x=0;x<w;x++)z[x]=D.getUint8(q+x*ha.Wt,!0)/255;y[R]=z}}w=t[v];if(l[X].b4w_shape_keys.length)for(q=w.base_length,y=w.normal.length/q/3,w.tbn_quat=ha.gen_tbn_quats(w.normal.subarray(0,3*q),w.tangent.subarray(0,4*q),new Float32Array(w.normal.length/3*4)),R=1;R<y;R++)for(D=R*q,z=0;z<q;z++){var B=w.normal.subarray(3*z,3*(z+1)),x=P.add(w.normal.subarray(3*(D+z),3*(D+z+1)),B,hb);if(w.tangent.length){var A=
  913. w.tangent.subarray(4*z,4*(z+1)),J=Ma.add(w.tangent.subarray(4*(D+z),4*(D+z+1)),A,lb),B=ha.yB(B,A,mb),x=ha.yB(x,J,Fc);Ja.invert(B,mb);x=Ja.multiply(x,B,mb)}else x=Ja.rotationTo(B,x,mb);w.tbn_quat.set(x,4*(D+z))}else w.tbn_quat=ha.gen_tbn_quats(w.normal,w.tangent)}for(Y=0;Y<g.length;Y++)for(l=g[Y].particle_systems,m=0;m<l.length;m++)n=l[m],n.transforms=u(d,n.transforms[0]*ha.qi+h["float"]+12,n.transforms[1],k);for(g=0;g<a.length;g++){Y=a[g];l=Y.fcurves;m=Y.frame_range;r=m[0];p=m[1];fa=wa.HL(r,p);m=
  914. null;0>fa&&(fa=0);var t=X=!1,C;for(C in l)X|=-1<C.indexOf("rotation_euler"),t|=-1<C.indexOf("rotation_quaternion");n=[];for(C in l)if(X&&t&&-1<C.indexOf("rotation_euler"))delete l[C];else{var v=l[C],za;for(za in v)w=v[za],q=u(d,h["float"]+w.bin_data_pos[0]*ha.qi+12,w.bin_data_pos[1],k),y=new Float32Array(fa),null===m&&(m=new Int8Array(fa)),wa.TH(w,q,y,m,r,p),w.Ie=y;-1<C.indexOf("rotation_euler")&&(wa.bL(l[C]),n.push(C))}for(r=0;r<n.length;r++)p=n[r],fa=p.replace("euler","quaternion"),l[fa]=l[p],delete l[p];
  915. Y.kH=m}f(b,c)}function e(a){new Uint8Array(a,0,4);var b=(new Uint32Array(a,4,1))[0];a=(new Uint32Array(a,8,1))[0];return[b,a]}function u(a,b,c,d){if(d)d=new Float32Array(a,b,c);else{d=new Float32Array(c);a=new DataView(a);for(var e=0;e<c;e++)d[e]=a.getFloat32(b+e*ha.qi,!0)}return d}function n(a,b,c,d,e){var f=a.cameras,g=a.groups,l=a.materials,n=a.meshes,r=a.node_groups,p=a.objects,fa=a.particles,t=a.scenes,u=a.speakers,v=a.lamps,w=a.textures,q=a.worlds;r||(za.warn('"node_groups" datablock undefined. reexport main scene.'),
  916. r=a.node_groups=[]);for(var D="actions armatures cameras curves groups images lamps materials meshes node_groups objects particles scenes sounds speakers textures worlds".split(" "),R={},z=0;z<D.length;z++)for(var B=a[D[z]],A=0;A<B.length;A++){var J=B[A];R[J.uuid]=J}for(var C=0;C<t.length;C++){for(var G=t[C],V=G.objects,E=0;E<V.length;E++)h(V,E,R);G.camera&&h(G,"camera",R);G.world&&h(G,"world",R)}for(C=0;C<g.length;C++)for(var F=g[C].objects,E=0;E<F.length;E++)h(F,E,R);for(C=0;C<p.length;C++){var ca=
  917. p[C];ca.dupli_group&&h(ca,"dupli_group",R);ca.parent&&h(ca,"parent",R);ca.dg_parent&&h(ca,"dg_parent",R);if(ca.animation_data){var N=ca.animation_data;N.action&&h(N,"action",R);if(N.nla_tracks)for(E=0;E<N.nla_tracks.length;E++)for(var da=N.nla_tracks[E],P=0;P<da.strips.length;P++)da.strips[P].action&&h(da.strips[P],"action",R)}switch(ca.type){case "MESH":ca.data||ha.q("mesh not found for object "+ca.name);h(ca,"data",R);for(var Oa=!1,Ya=ca.modifiers,E=0;E<Ya.length;E++){var L=Ya[E];"ARMATURE"==L.type?
  918. (Oa&&za.warn('Object "'+ca.name+'" has more than one armature modifiers. Only the first one will be used.'),Oa=!0,h(L,"object",R)):"CURVE"==L.type&&h(L,"object",R)}var Q=ca.particle_systems;if(Q)for(E=0;E<Q.length;E++)h(Q[E],"settings",R);break;case "ARMATURE":h(ca,"data",R);for(var I=ca.pose.bones,ka=ca.data.bones,E=0;E<I.length;E++){var Ja=I[E];Ja.bone=ka[Ja.bone];var T=Ja.constraints;if(T)for(P=0;P<T.length;P++){var Ia=T[P];Ia.target&&h(Ia,"target",R)}for(var Da=Ja.parent_recursive,P=0;P<Da.length;P++)Da[P]=
  919. I[Da[P]]}break;case "LAMP":case "CAMERA":case "SPEAKER":case "CURVE":h(ca,"data",R)}if(T=ca.constraints)for(E=0;E<T.length;E++)Ia=T[E],Ia.target&&h(Ia,"target",R);var na=ca.lod_levels;if(na)for(E=0;E<na.length;E++){var M=na[E];M.object&&h(M,"object",R)}}for(C=0;C<n.length;C++)for(var ta=n[C].materials,E=0;E<ta.length;E++)h(ta,E,R);for(C=0;C<l.length;C++){for(var ja=l[C],xa=ja.texture_slots,E=0;E<xa.length;E++)h(xa[E],"texture",R);var ga=ja.node_tree;ga&&K(ga,R)}for(C=0;C<r.length;C++)(ga=r[C].node_tree)&&
  920. K(ga,R);for(C=0;C<w.length;C++){var Z=w[C],Ga=Z.type;"IMAGE"!=Ga&&"ENVIRONMENT_MAP"!=Ga||h(Z,"image",R)}for(C=0;C<f.length;C++){var O=f[C];O.dof_object&&h(O,"dof_object",R)}for(C=0;C<u.length;C++){var ia=u[C];ia.sound&&h(ia,"sound",R);if(ia.animation_data&&(N=ia.animation_data,N.action&&h(N,"action",R),N.nla_tracks))for(E=0;E<N.nla_tracks.length;E++)for(da=N.nla_tracks[E],P=0;P<da.strips.length;P++)da.strips[P].action&&h(da.strips[P],"action",R)}for(C=0;C<fa.length;C++){for(var U=fa[C],xa=U.texture_slots,
  921. E=0;E<xa.length;E++)h(xa[E],"texture",R);U.dupli_group&&h(U,"dupli_group",R);U.dupli_object&&h(U,"dupli_object",R)}for(C=0;C<v.length;C++){var Ta=v[C];if(Ta.animation_data&&(N=Ta.animation_data,N.action&&h(N,"action",R),N.nla_tracks))for(E=0;E<N.nla_tracks.length;E++)for(da=N.nla_tracks[E],P=0;P<da.strips.length;P++)da.strips[P].action&&h(da.strips[P],"action",R)}for(C=0;C<q.length;C++){var Na=q[C];if(xa=Na.texture_slots)for(E=0;E<xa.length;E++)h(xa[E],"texture",R);if(Na.animation_data&&(N=Na.animation_data,
  922. N.action&&h(N,"action",R),N.nla_tracks))for(E=0;E<N.nla_tracks.length;E++)for(da=N.nla_tracks[E],P=0;P<da.strips.length;P++)da.strips[P].action&&h(da.strips[P],"action",R)}Aa.MI(a);x(a);for(var Fa=S(b.cg),Ma=a.textures,qa=b.Ab?a.scenes[0].b4w_anisotropic_filtering:Ha.b4w_anisotropic_filtering,aa=0;aa<Ma.length;aa++)b.Ab||"SCENE"!=Ma[aa].b4w_source_type||(Ma[aa].b4w_source_id=""),eb.nK(Ma[aa],qa,a.scenes,b.id,Fa);for(var ya={},ra=a.objects,ba=0;ba<ra.length;ba++){var la=ra[ba];if("MESH"===la.type&&
  923. !la.particle_systems.length)for(var ea=la.data,pa=ea.name,mb=ea.submeshes,ua=ea.materials,Xa=0;Xa<mb.length;Xa++)0!==mb[Xa].base_length||ya[pa]||(ua[Xa]&&za.warn('material "'+ua[Xa].name+'" is not assigned to any face (object "'+la.name+'").'),ya[pa]=!0)}for(var Ea=a.meshes,va=0;va<Ea.length;va++){var $a=Ea[va];$a.materials.length||$a.uv_textures.length&&za.warn('mesh "'+$a.name+'" has a UV map but has no exported material.')}a.materials.push(Aa.EJ());for(var Ba=a.meshes,oa=ha.keysearch("name","DEFAULT",
  924. a.materials),hb=0;hb<Ba.length;hb++){var sa=Ba[hb];0==sa.materials.length&&sa.materials.push(oa)}for(var fb=a.actions,Xb=b.id,rb=0;rb<fb.length;rb++){var Fc=fb[rb];Fc.lH=Xb;wa.uH(Fc)}for(var Sa=a.scenes,Wa=0;Wa<Sa.length;Wa++){for(var lb=Sa[Wa],Fb=[],Gb=[],Mb=Sa[Wa].objects,sb=0;sb<Mb.length;sb++){var uc=Mb[sb];W(Mb,uc,null,Fb,Gb);var Oc=uc.dupli_group;if(Oc)for(var zb=Oc.objects,Pb=0;Pb<zb.length;Pb++)W(zb,zb[Pb],uc,Fb,Gb)}for(sb=0;sb<Gb.length;sb++)for(var Dc=Gb[sb],Vb=[lb],qb=0;qb<Vb.length;qb++){for(var Pc=
  925. Vb[qb].objects,Qc=0;Qc<Pc.length;Qc++){var gb=Pc[Qc].dupli_group;if(gb){var db=gb.objects,cc=db.indexOf(Dc);-1<cc&&db.splice(cc,1)}}var cc=Pc.indexOf(Dc);-1<cc&&Pc.splice(cc,1)}for(sb=0;sb<Fb.length;sb++)ha.PH(Fb[sb][0],Fb[sb][1])}!b.Ab&&1<a.scenes.length&&(a.scenes=[X.ur(a.scenes)],za.warn("loading data contains multiple scenes.","Only the first one will be loaded."));var ad=b.Ab?Ha:X.ur(a.scenes);Ra.VO(Ha.fps);1<a.scenes.length&&(a.scenes.splice(a.scenes.indexOf(Ha),1),a.scenes.unshift(Ha));for(var bd=
  926. 0;bd<a.scenes.length;bd++){var dc=a.scenes[bd];dc.s={};dc.$y=dc==ad;dc.mH=b.Ab;Lb.enabled&&dc.b4w_enable_physics&&(b.Ab||!Ca.$s(Ha)&&dc==X.ur(a))&&Ca.xM(dc)}for(var Ec=0;Ec<a.scenes.length;Ec++){for(var Wb=a.scenes[Ec],Rc=k(Wb),td=0;td<Rc.length;td++){var mc=Rc[td];ma.NI(mc,Wb,a)&&(mc.Rc||(mc.Rc=[]),mc.Rc.push(b.Ab?Wb:Ha))}for(var pd=Rc,ud=0;ud<pd.length;ud++){var hd=pd[ud];if(hd.Rc&&"WORLD"!=hd.type)for(var vd=hd.particle_systems,qd=0;qd<vd.length;qd++){var vc=vd[qd].settings;if("HAIR"==vc.type)if("OBJECT"==
  927. vc.render_type){var Sc=vc.dupli_object;Sc.Rc||(Sc.Rc=hd.Rc.slice())}else if("GROUP"==vc.render_type)for(var wd=vc.dupli_group,cd=0;cd<wd.objects.length;cd++)Sc=wd.objects[cd],Sc.Rc||(Sc.Rc=hd.Rc.slice())}}}for(var xd=a.scenes,nd=[],Kb=0;Kb<xd.length;Kb++)y(xd[Kb].objects,0,b.Ab,nd);Za[b.id]=[];for(Kb=0;Kb<nd.length;Kb++)for(var yd=nd[Kb],jd=0;jd<yd.length;jd++)for(var Kd=yd[jd],Ad=0;Ad<Kd.length;Ad++)Za[b.id].push(Kd[Ad]);for(var Bd=a.particles,Kb=0;Kb<Bd.length;Kb++){var rd=Bd[Kb].dupli_object;rd&&
  928. (rd.Zy=!0,Za[b.id].push(rd));var Ld=Bd[Kb].dupli_group;if(Ld)for(var Md=Ld.objects,jd=0;jd<Md.length;jd++)rd=Md[jd],rd.Zy=!0,Za[b.id].push(rd)}for(var Cd=Za[b.id],Kb=Cd.length-1;0<=Kb;Kb--)Cd[Kb].Rc||Cd.splice(Kb,1);for(var Nd=Za[b.id],Ec=0;Ec<Nd.length;Ec++)if(mc=Nd[Ec],!b.Ab&&mc.parent&&-1<Jc.indexOf(mc.parent.type)&&(mc.parent=""),"MESH"==mc.type){var Dd=Aa.SH(mc);Dd&&(a.meshes.push(Dd),mc.data=Dd)}for(var Ed=0;Ed<a.scenes.length;Ed++){var Od=a.scenes[Ed],Fd=Od.world;Fd.Rc||(Fd.Rc=[]);Fd.Rc.push(b.Ab?
  929. Od:Ha)}for(var Pd=a.node_groups,Qd=a.materials,od=0;od<Pd.length;od++){var sd=Pd[od].node_tree;if(sd){var zd=[];m(sd,zd,!0);sd.mu=zd}}for(od=0;od<Qd.length;od++)if(sd=Qd[od].node_tree)zd=[],m(sd,zd,!1),sd.mu=zd;for(var Gd=0;Gd<a.scenes.length;Gd++){var Hd=a.scenes[Gd];if(Hd.b4w_use_logic_editor){var Rd=k(Hd);Aa.XH(Rd,Hd)}}for(var Id=0;Id<a.scenes.length;Id++){var Sd=a.scenes[Id],Jd=b.Ab?Sd:Ha;Boolean(H(b.id,Jd,"SPEAKER").length)&&!Jd.Ac&&Y.bI(Jd)}e(b,c)}function t(a,b){for(var c=S(b.cg),d=[],e=[],
  930. f=0;f<a.speakers.length;f++){var h=a.speakers[f],g=h.sound.uuid;if(-1==e.indexOf(g)){e.push(g);switch(h.b4w_behavior){case "POSITIONAL":case "BACKGROUND_SOUND":var l=ca.AT_AUDIOBUFFER;break;case "BACKGROUND_MUSIC":l=ca.AT_AUDIO_ELEMENT}var h=ha.bh(c+h.sound.filepath),k=ca.hl(h)[1].toLowerCase();Y.detect_audio_container(k);Z(d,g,l,h,b.Si)}}d.length&&ca.enqueue(d,function(){},function(){})}function m(a,b,c){a=a.nodes;for(var d=0;d<a.length;d++){var e=a[d],f=e.type;if("GROUP"==f&&e.node_group){if(e=
  931. e.node_group.node_tree)if(c)m(e,b,!0);else for(e=e.mu,f=0;f<e.length;f++){var h=e[f];-1==b.indexOf(h)&&b.push(h)}}else-1!=Gb.indexOf(f)&&-1==b.indexOf(f)&&b.push(f)}}function k(a){var b=[];-1==a.objects.indexOf(a.camera)&&a.objects.push(a.camera);d(a.objects,"ALL",b);return b}function d(a,b,c){for(var e=0;e<a.length;e++){var f=a[e];"ALL"!=b&&b!=f.type||c.push(f);(f=f.dupli_group)&&d(f.objects,b,c)}}function y(a,b,c,d){d[b]=d[b]||[];for(var e=d[b],f=0;f<a.length;f++){var h=a[f],g=pa(h);e[g]=e[g]||
  932. [];(c||-1==Jc.indexOf(h.type))&&-1==e[g].indexOf(h)&&e[g].push(h);(h=h.dupli_group)&&y(h.objects,b+1,c,d)}}function H(a,b,c){var d=[];a=Za[a];for(var e=0;e<a.length;e++){var f=a[e];if(f.type==c||"ALL"==c)for(var h=0;h<f.Rc.length;h++)b==f.Rc[h]&&d.push(f)}return d}function v(a,b,c,d,e){var f=Za[b.id],h=a.worlds;d=b.id;for(var g=0;g<f.length;g++){for(var l=f[g],k=R.mo(l.name,l.type,l.origin_name),m=0;m<l.Rc.length;m++)R.zn(k,l.Rc[m]);l.ab=k;ma.Cj(l,k);k.k.ke=d;k.Yo=l.Zy||!1}for(d=0;d<h.length;d++){g=
  933. h[d];l="%meta_world%"+g.name;l=R.mo(l,"WORLD",l);for(k=0;k<g.Rc.length;k++)R.zn(l,g.Rc[k]);g.ab=l;ma.QQ(g,l)}d=ma.get_all_objects(b.id);for(g=0;g<f.length;g++)l=f[g],k=l.ab,oa.Cj(l,k);for(g=0;g<h.length;g++)l=h[g],oa.Cj(l,l.ab);if(b.Ab)for(h=b.id,g=0;g<a.scenes.length;g++)for(var l=a.scenes[g],k=0,m=ma.Eb(l,"LAMP",h),n=0;n<m.length;n++)R.da(m[n],l).Mk=k++;for(g=0;g<f.length;g++)l=f[g],k=l.ab,k.Yo||(ma.EQ(l,k),da.B(k));for(a=0;a<f.length;a++)if(h=f[a],g=h.ab,R.is_mesh(g)||R.is_empty(g))if(l=h.lod_levels.length)for(k=
  934. g,g.k.fm=!0,m=0;m<l;m++)if(n=h.lod_levels[m].object){n=n.ab;n.k.fm=!0;n.k.kg=g.k.kg;k.k.se=h.lod_levels[m].distance;n.k.jg=h.lod_levels[m].distance;if(h.lod_levels[m+1])n.k.se=h.lod_levels[m+1].distance;else{n.k.se=R.on;break}k=n}else{k.k.se=h.lod_levels[m].distance;break}for(f=0;f<d.length;f++)if(a=d[f],"MESH"==a.type&&(h=a.Kq)){var h=h.k,g=a.k.Bh,l=[],r;for(r in g)k=g[r],l.push(4*k.ov,4*k.yi);h.ss.push(l);h.Hm.push(a.k)}f=r=-1;a=wa.sB();for(h=0;h<d.length;h++)g=d[h],l=g.k,R.is_mesh(g)&&l.Ti&&(g=
  935. l.lg,g>r&&(r=g),a>=g&&g>f&&(f=g));for(h=0;h<d.length;h++)g=d[h],l=g.k,R.is_mesh(g)&&l.Ti&&(l.uk=!0,r<a?l.lg=r:l.lg<=a?l.lg=f:(za.warn('too many bones for "'+g.name+'" / '+l.lg+" bones (max "+a+" with blending, "+2*a+" without blending). Blending between frames will be disabled."),l.lg=r,l.uk=!1),l.uk=l.uk&&!Ga.XA);for(r=0;r<d.length;r++)if(f=d[r],f.qe)if(a=f.ze,"CHASSIS"==a.ue){f.v={};f.v.Ho=a.Ho;f.v.On=a.On;f.v.Sx=a.Sx;f.v.Ux=a.Ux;f.v.Tx=a.Tx;f.v.By=a.By;f.v.tx=a.tx;f.v.Dw=a.Dw;f.v.Ql=0;f.v.Nn=1;
  936. f.v.Nm=0;f.v.speed=0;f.v.Zk=[];f.v.yp=[];f.v.Pm=null;g=(h=R.get_dg_parent(f))?R.Lv(h,d):d;for(h=0;h<g.length;h++)l=g[h],l.qe&&(k=l.ze,Ca.CM(l)&&a.name==k.name?(k=Ca.pR(l.ze.ue),f.v.Zk[k]=l,f.v.yp[k]=new Float32Array(8)):Ca.YB(l)&&a.name==k.name?(f.v.Pm=l,f.v.Om=k.Om,f.v.Sp=k.Sp,f.v.Wo=k.Wo,k=Ta.invert(f.k.n,Ta.create()),l=Ta.multiply(k,l.k.n,k),f.v.XD=l,k=new Float32Array([1,0,0]),Ta.transform_dir_vec3(k,l,k),f.v.WD=k):Ca.XB(l)&&a.name==k.name?(f.v.Kx=l,f.v.Qp=k.Qp,f.v.nm=k.nm,k=Ta.invert(f.k.n,Ta.create()),
  937. l=Ta.multiply(k,l.k.n,k),f.v.RD=l,k=new Float32Array([1,0,0]),Ta.transform_dir_vec3(k,l,k),f.v.QD=k):Ca.ZB(l)&&a.name==k.name&&(f.v.Vx=l,f.v.uo=k.uo,k=Ta.invert(f.k.n,Ta.create()),l=Ta.multiply(k,l.k.n,k),f.v.hE=l,k=new Float32Array([1,0,0]),Ta.transform_dir_vec3(k,l,k),f.v.gE=k));4!=f.v.Zk.length&&ha.q("Not enough wheels for chassis "+f.name)}else if("HULL"==a.ue)for(f.v={},f.v.Zk=[],f.v.yp=[],f.v.Ho=a.Ho,f.v.On=a.On,f.v.rk=a.rk,f.v.tl=a.tl,f.v.ul=a.ul,f.v.Ql=0,f.v.Nn=1,f.v.Nm=0,f.v.speed=0,f.v.Pm=
  938. null,g=(h=R.get_dg_parent(f))?R.Lv(h,d):d,h=0;h<g.length;h++)l=g[h],l.qe&&(k=l.ze,Ca.BM(l)&&a.name==k.name?(f.v.Zk.push(l),f.v.yp.push(new Float32Array(8))):Ca.YB(l)&&a.name==k.name?(f.v.Pm=l,f.v.Om=k.Om,f.v.Sp=k.Sp,f.v.Wo=k.Wo,k=Ta.invert(f.k.n,Ta.create()),l=Ta.multiply(k,l.k.n,k),f.v.XD=l,k=new Float32Array([1,0,0]),Ta.transform_dir_vec3(k,l,k),f.v.WD=k):Ca.XB(l)&&a.name==k.name?(f.v.Kx=l,f.v.Qp=k.Qp,f.v.nm=k.nm,k=Ta.invert(f.k.n,Ta.create()),l=Ta.multiply(k,l.k.n,k),f.v.RD=l,k=new Float32Array([1,
  939. 0,0]),Ta.transform_dir_vec3(k,l,k),f.v.QD=k):Ca.ZB(l)&&a.name==k.name&&(f.v.Vx=l,f.v.uo=k.uo,k=Ta.invert(f.k.n,Ta.create()),l=Ta.multiply(k,l.k.n,k),f.v.hE=l,k=new Float32Array([1,0,0]),Ta.transform_dir_vec3(k,l,k),f.v.gE=k));for(r=0;r<d.length;r++)if(f=d[r],f.Hk&&(a=f.Tl,"MAIN_BODY"==a.ue))for(f.mf={},f.mf.rk=a.rk,f.mf.tl=a.tl,f.mf.ul=a.ul,f.mf.Sq=[],h=(h=R.get_dg_parent(f))?R.Lv(h,d):d,g=0;g<h.length;g++)l=h[g],l.Hk&&(k=l.Tl,Ca.EM(l)&&a.name==k.name&&(f.mf.Sq.push(l),l.Iz=l.Tl.fE));e(b,c)}function z(a,
  940. b,c,d,e){for(d=0;d<a.scenes.length;d++){var f=a.scenes[d];f.si=f.camera.ab}for(d=0;d<a.scenes.length;d++){var f=b.Ab?a.scenes[d]:Ha,h=b.Ab?ma.Eb(f,"LAMP",b.id):ma.Eb(f,"LAMP",0),g=ma.Eb(f,"ALL",b.id),l=H(b.id,f,"MESH"),k=H(b.id,f,"EMPTY");H(b.id,f,"WORLD");b.Ab&&X.CH(f,g,h,l,k);for(var g=!1,m=0;m<k.length;m++)for(var n=k[m].ab,r=n.F,p=0;p<r.length;p++){var fa=r[p].nb,t=X.BE(fa,n);f.name==fa.name&&(g=g||t)}b.Ab&&f.s.wc&&!g&&za.warn('Scene "'+f.name+'" has water but has no wind. Using default settings.');
  941. k=[];X.set_active(f);ta.DL(f,l,h,k);m=H(b.id,f,"LINE");ta.CL(f,m);n=X.Pv(f);if(b.Ab){g=f.s.kt;m=f.world;if(g.cD||g.procedural_skydome)r=m.ab,ta.HH(f,g,r),ta.bv(r,n,f);X.cB(f,n);(g=f.s.hn)&&g.cq&&ta.yH(f,m.ab)}for(m=0;m<l.length;m++)ta.bv(l[m].ab,n,f);for(m=0;m<k.length;m++)ta.bv(k[m],n,f),ma.LN(k[m]);g=ma.Eb(f,"ALL",b.id);X.YH(f,g,h);for(m=0;m<g.length;m++)n=g[m],n.k.ae&&ma.update_boundings(n),R.UI(n)&&(n.wC=!0)}X.DH(Ha,a.textures,b.id);b.Ab&&Ha.s.en.length&&(b.dw=!0);e(b,c)}function x(a){var b=a.materials;
  942. a=a.images;for(var c=0;c<a.length;c++){var d=a[c],e=Boolean("FILE"==d.source&&-1<d.filepath.indexOf(".dds")&&"dds"==Fa.io);d.Gg=e;d.un=e?"dds":""}if((Na.nv||Na.Vs)&&Fa.IE)for(a=0;a<b.length;a++){for(var d=b[a],f=d.texture_slots,c=0;c<f.length;c++){var e=f[c],h=e.texture;if("IMAGE"==h.type||"ENVIRONMENT_MAP"==h.type){var g=h.image;g&&!g.Gg&&(e=!h.b4w_disable_compression&&!e.use_map_normal&&"ENVIRONMENT_MAP"!=h.type&&!h.b4w_shore_dist_map&&"MOVIE"!=g.source,M(g,e))}}if(c=d.node_tree)for(d=c.nodes,c=
  943. 0;c<d.length;c++){f=d[c];e=!1;if("TEXTURE"==f.type){if((h=f.texture)&&(g=h.image)&&!g.Gg&&(e=!h.b4w_disable_compression&&"MOVIE"!=h.image.source&&"ENVIRONMENT_MAP"!=h.type)){a:{e=f.outputs;for(f=0;f<e.length;f++)if(h=e[f],h.is_linked&&"Normal"==h.identifier){e=!0;break a}e=!1}e=!e}}else"TEX_IMAGE"==f.type?(g=f.image)&&!g.Gg&&(e="MOVIE"!=g.source):"TEX_ENVIRONMENT"==f.type&&(e=!1);g&&!g.Gg&&M(g,e)}}}function M(a,b){-1<a.filepath.indexOf(".dds")?(a.Gg=!0,a.un="dds"):(a.Gg=b)?(a.un=Fa.io,a.filepath=
  944. "dds"==Fa.io?a.filepath+".dds":ca.hl(a.filepath)[0]+".pvr"):a.un=""}function F(a,b,c,d,e){d=a.groups;for(var f=a.objects,h={},g={},l={},k={},m=0;m<d.length;m++){var n=d[m];h[n.uuid]=n;l[n.uuid]=n}for(m=0;m<f.length;m++)n=f[m],g[n.uuid]=n,k[n.uuid]=n;a=a.scenes;for(m=0;m<a.length;m++)E(a[m].objects,null,k,l,null);for(var r in l)r in h||d.push(l[r]);for(r in k)r in g||f.push(k[r]);e(b,c)}function E(a,b,c,d,e){for(var f=[],h=0;h<a.length;h++){var g=a[h],l=c[g.uuid];if(g=l.proxy){b&&-1==f.indexOf(g.uuid)&&
  945. f.push(g.uuid);for(var k=c[g.uuid],m=k.constraints,g=0;g<m.length;g++){var n=ha.Mg(m[g]);n.name+="_CLONE";l.constraints.push(n)}"b4w_proxy_inherit_anim"in l&&!l.b4w_proxy_inherit_anim||(l.animation_data&&(k.animation_data=ha.Mg(l.animation_data)),k.b4w_use_default_animation=l.b4w_use_default_animation,k.b4w_auto_skel_anim=l.b4w_auto_skel_anim,k.b4w_anim_behavior=l.b4w_anim_behavior,k.b4w_cyclic_animation=l.b4w_cyclic_animation)}}for(h=0;h<f.length;h++)l=ha.aM(a,f[h]),-1<l&&a.splice(l,1);f={};if(b)for(h=
  946. 0;h<a.length;h++)g=a[h],l=c[g.uuid],m=ha.Mg(l),k="origin_name"in l?l.origin_name:l.name,m.name=R.bB(b.name,k),m.origin_name=k,m.dg_parent={uuid:b.uuid},A(m),c[m.uuid]=m,f[g.uuid]=m.uuid,g.uuid=m.uuid,e&&e[l.uuid]&&(m.b4w_cluster_data=e[l.uuid]);for(h=0;h<a.length;h++)g=a[h],l=c[g.uuid],l.dupli_group&&(g=l.dupli_group,e=d[g.uuid],m=ha.Mg(e),m.name=ha.Wp(e.name+"_CLONE"),m.uuid=Ba.IB("Group"+m.name),d[m.uuid]=m,g.uuid=m.uuid,E(m.objects,l,c,d,l.b4w_cluster_data));if(b)for(h=0;h<a.length;h++){g=a[h];
  947. l=c[g.uuid];l.parent&&l.parent.uuid in f?l.parent.uuid=f[l.parent.uuid]:l.parent&&(za.warn("Object's \""+l.name+'" parent is not in dupli group. Disabling parenting.'),l.parent=null);m=l.constraints;for(g=0;g<m.length;g++)b=m[g],b.target&&b.target.uuid in f&&(b.target.uuid=f[b.target.uuid]);if(b=l.pose)for(d=b.bones,g=0;g<d.length;g++)if(e=d[g].constraints)for(m=0;m<e.length;m++)b=e[m],b.target&&b.target.uuid in f&&(b.target.uuid=f[b.target.uuid]);b=l.modifiers;for(g=0;g<b.length;g++)d=b[g],d.object&&
  948. d.object.uuid in f&&(d.object.uuid=f[d.object.uuid]);if((l=l.lod_levels)&&l.length)for(g=0;g<l.length;g++)b=l[g],b.object&&b.object.uuid in f&&(b.object.uuid=f[b.object.uuid])}for(var r in f)fb[r]=f[r]}function A(a){a.uuid=Ba.IB("Object"+a.name)}function K(a,b){for(var c=a.nodes,d=0;d<c.length;d++){var e=c[d];"TEXTURE"==e.type&&e.texture&&h(e,"texture",b);"LAMP"==e.type&&e.lamp&&(e.lamp.uuid in fb&&(e.lamp.uuid=fb[e.lamp.uuid]),b[e.lamp.uuid]||(e.lamp=null));"GROUP"==e.type&&e.node_group&&h(e,"node_group",
  949. b);"TEX_IMAGE"!=e.type&&"TEX_ENVIRONMENT"!=e.type||!e.image||h(e,"image",b)}e=a.links;for(d=0;d<e.length;d++){var f=e[d];l(f,"from_node",c);l(f,"to_node",c);w(f,"from_socket",f.from_node.outputs);w(f,"to_socket",f.to_node.inputs)}if(c=a.animation_data)if(c.action&&h(c,"action",b),c.nla_tracks)for(d=0;d<c.nla_tracks.length;d++)for(e=c.nla_tracks[d],f=0;f<e.strips.length;f++)e.strips[f].action&&h(e.strips[f],"action",b)}function h(a,b,c){(c=c[a[b].uuid])||za.error("Dangling link found:",b,a);a[b]=c}
  950. function l(a,b,c){c=ha.keysearch("name",a[b].name,c);a[b]=c}function w(a,b,c){c=ha.keysearch("identifier",a[b].identifier,c);a[b]=c}function r(a,b,d,e,f,h){var g=[],l={};e=a.images;for(var k=eb.rB(),m=S(b.cg),n=0;n<e.length;n++){var r=e[n],p=r.uuid;if(p){var fa=ha.bh(m+r.filepath),t=r.source;if("FILE"===t){var t=r.Gg?ca.AT_ARRAYBUFFER:ca.AT_IMAGE_ELEMENT,u=ca.hl(fa),v=u[1].toLowerCase();if(!ca.TI(v)){za.error("image ",r," has unsupported format.");continue}Na.Hw&&Fa.use_min50&&("dds"==u[1]?(fa=ca.hl(u[0]),
  951. fa=fa[0]+".min50."+fa[1]+".dds"):fa=u[0]+".min50."+u[1])}else if("MOVIE"===t)if(Fa.Ip)u=ca.hl(fa),fa=u[0]+".altconv.seq",t=ca.oq;else{u=ca.hl(fa);v=u[1].toLowerCase();t=Y.detect_video_container(v);if(""==t){za.error("failed to load video file (unsupported format)",fa);continue}fa=t!=v?u[0]+".altconv."+t:u[0]+"."+u[1];t=ca.pq}else{za.error('Image "'+r.name+'" has unsupported format "'+t+'".');continue}if(!b.Si)for((p in l)||(l[p]=[]),u=0;u<k.length;u++)v=k[u],v.cm==p&&v.Ck==r.un&&l[p].push(v);l[p].length&&
  952. g.push({id:p,type:t,url:fa,hg:b.Si})}}if(g.length){var w=0;ca.enqueue(g,function(e,f,k,m){if(e){var n=k;if(!b.Si){f=l[f];for(n=0;n<f.length;n++){var r=f[n];if(k==ca.oq)r.Gp=e.eg,eb.Yp(r,e.images,b.id);else if(eb.Yp(r,e,b.id),"ENVIRONMENT_MAP"==r.source)for(r=0;r<a.scenes.length;r++)X.py(a.scenes[r])}n=f[0].Ck}k==ca.pq||k==ca.oq?(k==ca.pq?(k=e.videoWidth,e=e.videoHeight):(k=e.images[0].width,e=e.images[0].height),za.log("%cLOAD VIDEO "+k+"x"+e,"color: #"+(2048<k||2048<e?"a00":1024<k||1024<e?"aa0":
  953. "0a0"),m),-1==m.indexOf(Xb)&&za.warn("video",m,"is not from app root.")):c(e,m,!0,n)}m=++w/g.length;h(b,d,m)},function(){za.log("%cLOADED ALL IMAGES","color: #0a0");f(b,d)})}else f(b,d)}function J(a,b,c,d,e){a=X.Rv();for(d=0;d<a.length;d++){var f=a[d];if(f.b4w_use_nla){var h=f.b4w_nla_cyclic;f.b4w_use_logic_editor&&(h=!1);oa.JQ(f,h,b.id)}}e(b,c)}function B(a,b,c,d,e,f){a=S(b.cg);var h=[],g={};d=ma.get_all_objects(b.id);for(var l=0;l<d.length;l++){var k=d[l];if(I(k)){var m=k.S.mi;"BACKGROUND_MUSIC"==
  954. Y.Tv(k)?(m=ha.Hv(),b.aw=!0):"NONE"!=Y.Tv(k)&&Fa.hw&&(b.gw=!0);if(!(m in g)){g[m]=[];var n=ha.bh(a+k.S.cg);switch(Y.PD(k)){case Y.Vt:var r=ca.AT_AUDIOBUFFER;break;case Y.Fy:r=ca.AT_AUDIO_ELEMENT}Z(h,m,r,n,b.Si)}g[m].push(k)}}if(h.length){var p=0;ca.enqueue(h,function(a,d,e,l){if(a)for(za.log("%cLOAD SOUND","color: #0aa",l),-1==l.indexOf(Xb)&&za.warn("sound",l,"is not from app root."),d=g[d],e=0;e<d.length;e++)Y.OQ(d[e],a);a=++p/h.length;f(b,c,a)},function(){za.log("%cLOADED ALL SOUNDS","color: #0aa");
  955. e(b,c)})}else e(b,c)}function Z(a,b,c,d,e){var f=ca.hl(d),h=f[1].toLowerCase(),g=Y.detect_audio_container(h);""!=g?(d=g!=h?f[0]+".altconv."+g:f[0]+"."+f[1],a.push({id:b,type:c,url:d,hg:e})):za.error("failed to load audio file (unsupported format)",d)}function I(a){return R.is_speaker(a)&&Y.PD(a)!=Y.Gy}function C(a,b,c){a=ma.Eb(a,"SPEAKER",b);for(b=0;b<a.length;b++){var d=a[b];R.is_speaker(d)&&(Y.AM(d)||c)&&Y.play_def(d)}}function N(a,b){for(var c=a.s.en,d=0;d<c.length;d++){var e=c[d].s;a.b4w_use_nla&&
  956. c[d].b4w_nla_video||!c[d].use_auto_refresh||b!=e.mq||(eb.reset_video(e),eb.play_video(e))}}function Q(a,b,c,d,e){oa.start();za.log("%cSTART NLA","color: #0a0");e(b,c)}function W(a,b,c,d,e){if(b.lod_levels&&b.lod_levels.length)for(var f=b.lod_levels.length,h=0;h<f;h++){var g=b.lod_levels[h],l=g.object;if(l){var k=ha.Zn(l);k.name=b.name+"_LOD_"+String(h+1);k.b4w_cluster_data=b.b4w_cluster_data;A(k);k.lod_levels=[];c&&(k.dg_parent=c);d.push([a,k]);e.push(l);g.object=k}}}function V(a,b,c,d,e){d=!0;for(var f=
  957. 0;f<a.scenes.length;f++)if(!Ca.XI(a.scenes[f])){d=!1;break}d&&(e(b,c),za.log("%cPHYSICS READY","color: #0a0"))}function ka(a,b,c,d,e){for(d=0;d<a.scenes.length;d++){var f=a.scenes[d];if(b.Ab)var h=Ca.$s(f);else h=Ca.$s(Ha)||Ca.$s(f),f=Ha;if(Lb.enabled&&h)for(h=0;h<Fb.length;h++)for(var g=ma.Eb(f,Fb[h],b.id),l=0;l<g.length;l++){var k=g[l];k.k.ke==b.id&&(Ca.append_object(k,f),b.kC&&Ca.ia(k)&&Ca.disable_simulation(k))}}e(b,c)}function ja(a,b,d,e,f){var h={};e=[];for(var g=a.scenes,l=0;l<a.scenes.length;l++){var k=
  958. g[l];if(k.s.wc){var m=k.s.wc.sj;if(m&&"FILE"===m.source){var k=m.uuid,n=ha.bh(S(b.cg)+m.filepath);e.push({id:k,type:m.Gg?ca.AT_ARRAYBUFFER:ca.AT_IMAGE_ELEMENT,url:n});h[k]=m}}}e.length?ca.enqueue(e,function(a,d,e,f){if(a){c(a,f,!0);e=[];f=eb.rB();for(var l=0;l<f.length;l++){var k=f[l];k.uri===d&&e.push(k)}for(d=0;d<e.length;d++)eb.Yp(e[d],a,b.id);for(d=0;d<g.length;d++)if(e=g[d],e.s.wc&&(f=e.s.wc.sj,f===m)){var k=a,n=document.createElement("canvas");f=m.size[0];l=m.size[1];n.width=f;n.height=l;n=
  959. n.getContext("2d");n.drawImage(k,0,0);k=n.getImageData(0,0,f,l).data;n=new Float32Array(4);n[0]=1/16581375;n[1]=1/65025;n[2]=1/255;n[3]=1;f*=l;for(var l=new Float32Array(f),r=0;r<f;r++)l[r]=n[1]*k[4*r+2]+n[2]*k[4*r+3];e.s.Fx=l}}else for(a=h[d],d=0;d<g.length;d++)e=g[d],f=e.s.wc.sj,f===a&&(e.s.wc.sj=null,za.warn("image",f.filepath," was not found. Disabling water shore effects."))},function(){f(b,d)}):f(b,d)}function T(a,b,d,e,f){e=a.scenes[0];a=[];for(var h=[Oa.wq,Oa.rn,Oa.xq,Oa.hu],g=0;g<h.length;g++){var l=
  960. X.Ca(e,h[g]);l&&a.push(l)}if(a.length){e=[];g=ca.AT_IMAGE_ELEMENT;e.push({id:"SEARCH_TEXTURE",type:g,cg:na.Vd.smaa_search_texture_path});e.push({id:"AREA_TEXTURE",type:g,url:na.Vd.smaa_area_texture_path});for(g=0;g<a.length;g++)if(h=a[g],h.type==Oa.rn){a=h.Pa;for(g=0;g<a.length;g++)if(h=a[g],"u_search_tex"==h.to)var k=h.Xa;else if("u_area_tex"==h.to)var m=h.Xa;break}e.length?ca.enqueue(e,function(a,d,e,f){a&&(c(a,f,!1),d="SEARCH_TEXTURE"==d?k:m,d.source="IMAGE",eb.Yp(d,a,b.id),eb.zx(d,eb.J,eb.J))},
  961. function(){f(b,d)}):f(b,d)}else f(b,d)}function U(a,b,c,d){for(c=0;c<a.scenes.length;c++){var e=a.scenes[c];b.Ab||(e=Ha);for(var f=ma.Eb(e,"LAMP",b.id),h=0;h<f.length;h++){var g=f[h];g.k.ke==b.id&&d.pu.push({nb:e,obj:g})}f=ma.Eb(e,"ALL",b.id);for(h=0;h<f.length;h++)g=f[h],"LAMP"!=g.type&&g.k.ke==b.id&&(b.kC&&R.is_mesh(g)&&X.Tn(g,!0),d.pu.push({nb:e,obj:g}))}}function ia(a,b,c,d,e,f){var h=d.pu;e=d.CC;if(h.length){a=h[e].obj;var g=h[e].nb;e=R.da(a,g);X.append_object(g,a,!1);!a.anchor||g.s.Ur||g.s.anaglyph_use||
  962. va.append(a);d=++d.CC/h.length;h=e.Gh;if(-1!=a.k.md&&h){var l=P.copy(a.k.Ya.D,hb);X.AE(h,l)}h=a.Ep;if(h.length&&g.s.hh)for(g=Ta.get_trans_view(a.k.n),a=Ta.get_quat_view(a.k.n),e=e.eh,l=0;l<e.length;l++)X.CE(e[l],g,a),R.DE(h,e[l].p.dc)}else d=1;f(b,c,d)}function G(a,b,c,d,e){if(b.Ab){d=X.Vg();X.py(d);var f=X.Rv();for(a=0;a<f.length;a++){var h=f[a];X.py(h);X.fO(h,d)}X.set_active(d)}else X.EE(Ha);d=ma.get_all_objects(b.id);ma.FQ(d);for(f=0;f<d.length;f++)for(h=d[f],a=0;a<h.F.length;a++)for(var g=h.F[a].M,
  963. l=0;l<g.length;l++)null==g[l].pb&&g.splice(l--,1);e(b,c)}function qa(a,b,c,d,e){if(b.Ab)for(a=X.Rv(),d=0;d<a.length;d++){var f=a[d];f.b4w_use_logic_editor&&Da.vM(f,b.id)}e(b,c)}function aa(a,b,c,d,e){if(b.Ab)for(d=0;d<a.scenes.length;d++)N(a.scenes[d],b.id),C(a.scenes[d],b.id,!1);else N(Ha,b.id),C(Ha,b.id,!1);e(b,c)}function ga(a,b,c,d,e){for(d=0;d<a.scenes.length;d++)a.scenes[d].camera=null;Fa.media_auto_activation&&(b.dw||b.aw||b.gw)?$a||ya(a,e,b,c):e(b,c)}function ya(a,b,c,d){var e=Mb.parentElement;
  964. Sa=e.style.zIndex;e.style.zIndex="999";$a=document.createElement("div");$a.style.position="relative";$a.style.height="88px";$a.style.width="88px";var f=Math.round(Mb.offsetWidth/2-44);$a.style.top=Math.round(Mb.offsetHeight/2-44).toString()+"px";$a.style.left=f.toString()+"px";$a.style.backgroundImage="url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALAAAACwCAYAAACvt+ReAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAbrwAAG68BXhqRHAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAABVDSURBVHic7Z15kF1Vncc/v05Ys7JIQJZ0GLaAgCzCQARGFMIwZKTiqCPBAbTEEodBhYKALJKSVWYsCpTBcgCLAdQBHWZACCCyhCElIRiWEMOSBZAkCglJOoTQyW/++J3Xfe95971+273v3fvOp6qr+5573+vT3d8+93vP+Z3fTwjUhKoKsC0wLvKxDTA68rEVMNK9ZDiwpft6PdDvvl4LvA+sBt5zn1cCy4EVwDJgpYhouj9RMZB2d6ATUdWtgD2BXvcxARgPbJ5RFzYAS4BFwGL38YqIvJ/R988NQcCAqm4LHADsA+yLibannX1KYBMm6JeBBcA8EVnZ3i61n64UsKoOAyYCh7iPCeTvd6HA68BcYA6wQEQ2trdL2ZO3P1rDqGoPsD9wNHAkMKqBt1nNoFctfV7j2ldj/rbPXdsvIuvd994S88QAIzCfHPXOHyHurRvt21PALOAFEdnUwHvkjsILWFV7gcnAUcDYWl8GvAEsZNCDLhKR91rfw4RvrjoWuyv0us97ALtS+99rFfAEMFNElqTRx06hkAJ2I94ngRMwXzsUmzCxzsP85csisja9HtaPqo7CbM9EzK/vRW1/vwXATODJ0h2hSBRKwO5hbAom3KFuw2uAZzD/+JyIrEm5ey1FVUcDB2Ee/hPU9vM+ANwnIu+m3L3MKISAVXU3YCrwNwx6zSTWArOBJ7Gn+P4q1+YGVR0OfByzSX+N+exKfAg8DtwtIm9m0L1UybWAVfWjwJcw4Vb6WRT4A3YbnV0U0VZCVTfDRDwZOJDKv5dNwGPAXSLydja9az25FLCqbg9MA44FhlW4bDXwIPYgszyrvnUSqrojJuRqlqof+C1wp4i8k1XfWkWuBKyqmwN/D3wRW7ZN4m3gfzHhfpBV3zoZNyofBXwem81I4gPgHsxabMiqb82SGwGr6lHAV7A50yQWA3cCT4c4gmRcPMeRwCnY0ngSK4BbRGRWZh1rgo4XsJtZOAvzdUm8CfwSeKxbJu+bxQl5EnAqsEuFy+YAPxKRP2fWsQboWAG7X/JJwGkMRnVFWQXcDjwchNsYbnVyMibkMQmXvA/8DLi/U+9qHSlg95B2HvCxhNP9wG+AO0SkL+F8oE7cws9UzCNvlnDJAuA6EVmWacdqoOMErKpHA98keS7zReAGEXkr2151B6q6C3A2sF/C6bWYpXgy215Vp2MErKpbYMI9NuF0H3ArNrPQkbeyouCs2wnA6SQPIo8AN3XKDE9HCFhVdwK+iwWv+DwLXF+k5c88oKrbAecAByecfh24shMsRdsFrKqHYn53pHdqAzYtdk8YdduDG40nA18DtvBOrwP+TURmZ96xCG0VsKp+DrtV+f1YDFwrIkuz7lOgHBeSej6wm38KmzP+deadcrRFwG765kxsmszncexBrXChf3nGzVScg63o+cwEftyOHSGZC9htmLwAONQ71Y/9N/9P1n0K1I6qngycQXkMyjPANVkPPJkKWFVHApcDe3un1mIPBc9n2Z9AY6jqgcBFlM9SLAAuy3J+PjMBu20yM4DdvVPLge+JyBtZ9SXQPC4G+zJsD1+U14BLs9p+lYmAXTzDFZRHQi0EZojIqiz6EWgtqroNcCmWQyPKUuDiLKY+Uxewqo4BrqL8CfZF4PKQrCPfuIe7S7Dg+ShvARekPTilKmBVHYGNvHt4p54FrshT3GmgMm4V9SJsf16URcBFae43TE3Abrbh+5Q/sM0Gri761p5uwwXNTwcO904twOxEKrMTqaRPcvO851Eu3uewqZYg3oIhIh9iVnGOd2ofYLrLhtRy0sr/dSbl/4nzMdvwYUrfM9Bm3MB0JfCCd+pQbFNCy2m5gN3ysL/CthCbWgmrawXHPdfMAF7xTk12iyAtpaUCVtXDsNiGKMuxqbIg3i7BzSzNwPbXRfmqC95qGS0TsKqOA75N/MGwjzDP25W41K+XYausA83AeS58tiW0RMCRucBo7oF+zPMWOrlcoDJudfUqIBrkMxK40KVIaJpWjcBnUR6MfkuIbQiIyDzgNq95d+AbrXj/pgWsqpMo3wb0eIgqC5Rw8cL+Xrrj3P7HpmhKwKr6EeBfvOYlwA3NvG+gkFyPxUhEOcvtQG+YhgXstpucSzykbgO2kyLMOARiOE1ci2XHLDES+I7TUkM0MwJPoTxvw63hoS1QCRFZjCVKiXIAcGKj79mQgJ11+LLX/BxwX6MdCXQN92K7N6Kc1qiVaHQE/ibx7JB9wA/D7uHAUDiN3MhgMRyArWlwqbluAbsskf5qyq0hb0OgVlwe4tu85sPcjFZd1CVgN/l8htf8IrYrNRCohwexAK8oX3OxxTVT7wg8FdghctyPbYEP1iFQF04zNzBYQxpge+Cz9bxPzQJ2qYb+wWu+NyTaCzSKW2q+32v+gttDWRP1jMDTiOfpXYUllg4EmuFOrJ5JiS2xDPI1UZOAXTWgT3vNt4f8vIFmcRq63Wv+jCtQMyS1jsCnEM/E8haWZjO3qOrDqrp/u/sRAGwSIFqzbjjwj7W8cEgBuwQWftDFfxagMvpngLmqerNbmAm0CVci4ude87GquvNQr61lBP6cd90SrCJ6ERiO7d/7o6pe0KoY1UBDPI5lJS3Rg2mvKlUF7J4Gj/Ga7yjgtNk2wNXAC6r6+XZ3phtxmvqF1/wpl/2nIkONwFOI1x7+E/B0/d3LDXsBvwz+uG08hRWqLLEZySl4B6goYLdN6ASv+b8LOPomEfxxG3Be+F6v+cRqq3PVRuCjie9xWwM82nj3ckfwx+3hYeLzwqNITqoNVBfw8d7xg10aqB78cYa46kd+bM3kStcnCtjVRNgn2gQ81Gznck7wx9kxE9NciYluOreMSiOwr/g/iMjbiVd2H8Efp4wr3+XvaPcdAZAgYJeYz/ccIVwyTvDH6ePf8Y9x2oyRNALvD4yNHPdhKVED5QR/nB5PY7XoSmwD7OtflCRgf9n4/0I61CEJ/rjFuCSB/sBZNhsRE7DL4XqEd01Rlo2zIPjj1uJrb5JvI/wReCIwOnK8GpiXQseKTPDHrWMutv5QYix2txvAF7Bf42BOsA8NE/xxkzjtzfWaYxr1BezvNvbTxQfqJ/jj5njWO45pdEDALuqnN3JuE5asJNAagj9ujGeJL2rs4YpmAvER+EDiyakXplkeqUsJ/rhOXMXP16JNRFKaRQU80XtteHhLj+CP68PX4sB8cE9So+Pl1LoTKBH8cW34WowL2BUlHB+5QIE/pt+vgCP44+rMJ+6DJ7h49YEReE/io/Ebwf9mTvDHFRCR1dhO+BLDcOWLS6Lt9V7j1/gKZEfwx8ks9I4nwKCAd/dOLkq9O4GhCP44jp84vRcqj8BBwJ1D8MeGr8legB5Xn8CPdg9lAjqL4I/jOSMAxquq9ADbAtFfyJpQWbNj6Vp/7BKoR3PxbQmM7QHGedcuy6xXgUbpVn+83DselyRg/6JA59Jt/tjX5g5BwPmnm/xx4gjs5576S0adCbSWbvDHK7zj7XqI78AAy7weyC9F9serveNRSQIOS8jFoIj+2Bfw6CDgYlM0f+xrc3QPVnC52kWB/FMUf+yPwCN7sBysUT7IqDOB7Mm7P97gHW+eJOCwC7n45NUff+gdb5YkYP+iQDHJoz9OFPBwrzGMwN1FnvxxooADgRLvt7sD9dJD+Yjrj8iBYrMSmA7sLyL3tbszQ1Bmd4djw/Lm3kX+016gePQDtwAXi8if292ZGqko4ChhBC4+jwDfFpEX292ROqlJwBVLGgVyz0Lg3BxYhUr4MyUbeihfeRtFoGjkyedWoyzsYTgJ68sZdSaQPnn0udVIFHBZhE9GnQmkS159bjV8bb4XBFw88u5zq+Hb27XDMX8UZfuMOhNoLSuBa4AfugIpRWQH7/id4ZTvM9oxo84EWkPRfG41fG0uTxKwr/JA51JEn1sNX5uJAg4jcOdTZJ9bjbId9D3Au8SD2EdFaxAEOoqizOfWjapuC4yINL0PvNcjIgos9a7vzapjgZroB34C7C0i1xT4Ia0aE7zjJSIyUPUwMfNfoCN4BDhIRL7eBQ9p1ej1jhfBYODOYu+kr/ZA9nSrz63EeO94CQwK2B+B90y9O4FKdMN8biPs5R0vhkEBvwJsxGoPAOyqqqNCnYxM6ab53LpQ1dHAzpGmjcCr4DK0i8h64jZCgH0y6l8g+Nyh2Jd4Ec7XnWZjlYkq1uIKpMZCYIqIHNdFixGN4GvxpdIX1QScx8QXeaFr53Mb5EDveECr0e1Dz2PF5EpD9d6qOsbVqg20huBz60RVxxCvoqUkjcAishJ4PXKhAB9Pu4NdRPC5jXEIcf/7SrSGi58XYm7CiwPNEXxuc/ganBM98AU8xzs+TFXDLuXGCD63SZz2fAHHBllfwAuI79AYSbAR9RLiFlrHwcTT/67CKzkbE7CIbASe8t7kk6l0rZgEn9tajvaOZ4nIpmhDUm60Wd7xEarqJ5QIxAk+t8W4bJmHec2+NhMF/DwWI1xiBHB467pWKILPTY8jga0jx+8SmT4rUSZgFx/sK/2ElnYt/wSfmz7HecdPOG3GqJRedaZ3fKCq7tSSbuWf4HNTRlV3BA7wmh9KujZRwCKyBJuRGGgCjm9J7/JL8LnZMZn44sV8EfF3DQGVR2AoH4VPUNUtm+1ZDgk+N0NUdQvKLauvxQGqCfgJ4nnTRgHHNt613BF8bns4jngGnjUkzD6UqChgEfkA+I3XPFVVu6EsQfC5bcBp67Ne831Oi4kMJcb7iecP3hE4orHu5YLgc9vLJCA6WbAB02BFqgpYRN4FHveap6mqJF2fY4LPbTNu9D3Fa340GnmWRC124G4guny3G+VLfHkl+NzO4Rhg18jxRuBXQ71oSAGLyJvAY17zNFUdlnB5nngAOCD43PbjRt8ves2/E5E/DfXaWh/I7iJejuuj5HxeWEROFBF/G1WgPZwI7BI57gd+XssLaxKwiLwN/NZrPlVVRyRdHwjUiqqOBKZ5zQ+LyLJaXl/PlNidwPrI8RjgS3W8PhBIYhrxed/12B2/JmoWsIi8gz3QRTlJVXdJuj4QGApV3Q34W6/5F272qybqXZT4FfF8wsOBbxVwWi2QMk4z/0x8Z/wy4N563qcuAbtpplu95n0I4ZaB+jmR8oQlP613KrPuZWERmQX83ms+XVW3q/e9At2Jqm4PnOY1zxaR2fW+V6NxDTcCfZHjEQQrEaiBiHWI7rZYB/x7I+/XkICdyb7daz4ImNLI+wW6ipOBQ72220TkL428WTORZfcDL3htp6tqbxPvGSgwqro78E9e8zxsVbQhGhaw25/0r8DaSPPmwPldGvgeqIKqbgWcD0R3uK/BEnmX7XWrlaZie92wf4PXvBtwbvDDgRJOC+cQXy4G+HGj1qFE08HpIvIUFgAe5QjKA5MD3ctUyhPkzBSRJ5t941btrriJeGZLgDNU1c/rGugyVPUgyn3vq8DNrXj/lgjYbfn4PvG8asOA74aHuu7FLRVPZ7D2CpjvvapVsdct298mIiuAHxAPft8auERVt2nV9wnkA1dZ83vEq2sqcJ2I+OWNG6alGzRF5DnKl5rHAZe6p9BAF6CqWwOXUV6c+6ci8mwrv1fLdxiLyK8Bf1/ZnsCMML1WfFxeh0uBv/JOPSgidQXq1EJaW+R/Avjr2hOBi13WwUABcQmpLwQ+5p2agz3ot5xUBOxyuF5HPD0VWLLsC0K61uLh/qYXUb5MPB+42uWebjmpLja4LUdXAHt4p54HZpSK1QXyjbMNF2PxMFEWAReKyNryV7WG1FfLXJnQq7EVuigvAZeLyLq0+xBID/dccwnltdzeBKYPldehWVJPEyUiq7H/Tj+74H7AFWGKLb+4qbJrKBfvUuCitMULGYzAJdzu0xmUVx1/BxuJ/ZW8QAfjFim+R/lU2WvApVkVyMw04MZ54sspLyTeB1wpIvOy7E+gMdzy8HTiixRgD2yXi0hf+avSIfOIMeeZLgA+4Z3aiC2C3NtMeF0gPVxU2VQstsHPzPR74NqsH8zbEvLoUgmdCZyUcHo2FiOa2X9xYGjcwPMtksuuPQjclNZUWTXaGrOrqicDX03ox1Lsv3lx5p0KlOF2UpxPeTzvJuA/0lhhq5W2B52r6gHYL2esd+pD4A7gnmAp2oOzDFOAM4jvpACLKvuBiPj1tTOl7QIGUNVx2CqOv34OVhv3epcZKJARbuv7OZQvToDNNFzZyqiyRukIAcNAZcZvUF4fDGyW4mfAA2E0Thc36v4d9qC2dcIlM4GbOyWXcscIuISqTgLOJl7kucR84AYReSPbXnUHbm73bCzwymcNcKPbQtYxdJyAYeD29R3Ki92B5Y69D7grzFS0BrfIdAqW7ml4wiXzsJmhpjZgpkFHChhqupWtxpKrPNSO6Zsi4LLsnwCcSjzFaYl1wG10sHXrWAGXcOvtX8cq2CSxHPgvTMibKlwTiOAGh0nAl4GdK1z2DPCjThx1o3S8gEs4b/wVbItSEkuxxMizOnW0aDduAWkSZhd2rXDZMmxu9+nMOtYEuREwDET8n4jd8pJsBdiIfC82Iod4YwaCzY8CvkD5YkSJ9Vj+57s7ZYahFnIl4BLOVkwDPk3yQwfYU/ODmJDfzqpvnYSq7oQVzp5MsscFeyh+GHsorjkzeqeQSwGXUNUdsTodn6JybLNiO0BmYjloczO6NIKbTz8SqyK1P5X/xhuB32HCbfuCRKPkWsAlXJ2OqZiQq+23W4cFC80C5opIf5Vrc4OzCAdhNuFwKtsrsCX6R7El+iHrsHU6hRBwCbe74yTMJ1e6ZZbow56052JiTn33QCtR1bHAwcAh2EbKoUqercFS4t6Xt5+1GoUScAm3yfAo7Dbq12FIfAmWr+t5bLXvZbcVqmNQ1THYCtm+2Bae3ant7zcfeAh4slrV97xSSAFHccujx2P1nbet9WXAW1j1+iVY4sIlWT3kuHoj44EJQC+WGKaecmbvAk9gGSALvexeeAGXcJP3+2Ej8yTKwzdroQ+bJ12BTdetwFYE10Q+r8PiZPtL03guGHw49qC5NWZvRkc+74DNb5c+GqmAugrz9rOAl7plLrxrBBzFTejvhXnHQ7C8FXn7XSjwCvCs+1jYjSuRefujpYLzl/tj/nIi5i/9PV/tZiNmZV7Gcmq8mNXO304mCDgBd8vfA/OfvZgXHQ9klZxwPbAY89+L3NevhpXFcoKA68BN05V86g7Adgz62NGYd90KG72Hua8B3sdG0H5MnH2YZy755ncY9NTLijTNlTb/Dz+sKh/f1rAbAAAAAElFTkSuQmCC')";
  965. $a.style.backgroundSize="88px";Wa=document.createElement("div");Wa.style.position="relative";Wa.style.height=Mb.offsetHeight.toString()+"px";Wa.style.width=Mb.offsetWidth.toString()+"px";Wa.style.background="rgba(0, 0, 0, 0.5)";Wa.style.zIndex="999";e.appendChild(Wa);Wa.appendChild($a);$a.addEventListener("click",function(){c.dw&&(eb.play(),eb.pause(),eb.reset());if(c.aw){if(c.Ab)for(var e=0;e<a.scenes.length;e++)C(a.scenes[e],c.id,!0);else C(Ha,c.id,!0);Y.pause()}c.gw&&Y.PC();ra();b(c,d)},!1)}function ra(){if($a){var a=
  966. Mb.parentElement;a.style.zIndex=Sa;Wa.removeChild($a);a.removeChild(Wa);$a=Wa=null;Sa=0}}function S(a){(a=a.split("/").slice(0,-1).join("/"))&&(a+="/");return a}function la(a){wa.is_animated(a)&&wa.remove(a);xa.oO(a);ma.clear_outline_anim(a);L.check_sensor_manifold(a)&&L.remove_sensor_manifold(a);Ca.ia(a)&&Ca.remove_object(a);X.pO(a);R.is_speaker(a)&&Y.FP(a);va.is_anchor(a)&&va.remove(a)}function pa(a){var b=wa.lB(a);return(a=b&&b.parent==a?null:a.parent||b)?1+pa(a):0}var va=q("__anchors"),wa=q("__animation"),
  967. ca=q("__assets"),ta=q("__batch"),na=q("__config"),L=q("__controls"),ua=q("__texcomp"),O=q("__debug"),ea=q("__extensions"),sa=q("__input"),ba=q("__loader"),Ba=q("__md5"),oa=q("__nla"),Da=q("__logic_nodes"),xa=q("__particles"),Ia=q("__nodemat"),ma=q("__objects"),R=q("__obj_util"),Ca=q("__physics"),za=q("__print"),Ja=q("__quat"),Aa=q("__reformer"),fa=q("__renderer"),X=q("__scenes"),Y=q("__sfx"),Ya=q("__shaders"),Oa=q("__subscene"),eb=q("__textures"),Ra=q("__time"),da=q("__transform"),Ta=q("__tsr"),ha=
  968. q("__util"),P=q("__vec3"),Ma=q("__vec4"),Ga=na.Rj,Fa=na.A,Na=na.kd,Lb=na.C,Xa=na.S,Ea=null,Za=null,Xb="",Ha=null,fb={},hb=new Float32Array(3),lb=new Float32Array(4),mb=new Float32Array(4),Fc=new Float32Array(4),$a=null,Wa=null,Sa=0,rb=!1,Jc=["LAMP","CAMERA"],Fb=["MESH","CAMERA","EMPTY"],Gb=["BSDF_GLOSSY","BSDF_TRANSPARENT"],Mb=null;a.is_primary_loaded=function(a){return ba.is_primary_loaded(a)};a.update=function(){ba.KQ(Ea)};a.pP=function(a){Mb=a};a.CQ=function(a,b){if($a){Wa.style.height=b.toString()+
  969. "px";Wa.style.width=a.toString()+"px";var c=Math.round(a/2-44);$a.style.top=Math.round(b/2-44).toString()+"px";$a.style.left=c.toString()+"px"}};a.load=function(a,c,d,e,h){var l={load_main:{Bb:ba.Kf,Hb:!1,I:[],Lb:!1,Nb:500,$b:!1,Qb:b},duplicate_objects:{Bb:ba.Md,Hb:!1,I:["load_main"],Lb:!1,Nb:50,$b:!1,Qb:F},load_binaries:{Bb:ba.Kf,Hb:!1,I:["load_main"],Lb:!1,Nb:500,$b:!1,Qb:g},wait_for_shaders:{Bb:ba.Md,Hb:!1,I:[],Lb:!1,Nb:50,$b:!0,Ai:p},prepare_bindata:{Bb:ba.Md,Hb:!1,I:["duplicate_objects","load_binaries"],
  970. Lb:!1,Nb:100,$b:!1,Qb:D},prepare_bpy_data:{Bb:ba.Md,Hb:!1,I:["duplicate_objects","prepare_bindata"],Lb:!1,Nb:100,$b:!1,Qb:n},process_objects:{Bb:ba.Md,Hb:!1,I:["prepare_bpy_data"],Lb:!1,Nb:150,$b:!1,Qb:v},process_scenes:{Bb:ba.Md,Hb:!1,I:["process_objects","wait_for_shaders"],Lb:!1,Nb:300,$b:!1,Qb:z},load_smaa_textures:{Bb:ba.Kf,Hb:!1,I:["process_scenes"],Lb:!1,Nb:30,$b:!0,Qb:T},load_shoremap:{Bb:ba.Kf,Hb:!1,I:["process_scenes"],Lb:!1,Nb:30,$b:!0,Qb:ja},load_images:{Bb:ba.Kf,Hb:!0,I:["process_scenes"],
  971. Lb:!0,Nb:500,$b:!1,Qb:r},update_scenes_nla:{Bb:ba.Md,Hb:!1,I:["process_scenes","load_images"],Lb:!1,Nb:50,$b:!1,Qb:J},wait_physics_workers:{Bb:ba.Md,Hb:!1,I:["load_shoremap"],Lb:!1,Nb:20,$b:!1,Ai:V},add_physics_objects:{Bb:ba.Md,Hb:!1,I:["wait_physics_workers"],Lb:!1,Nb:50,$b:!1,Qb:ka},add_objects:{Bb:ba.Md,Hb:!1,I:["add_physics_objects"],Lb:!1,Nb:600,$b:!1,Qb:U,Ai:ia,Qn:G,Rn:{pu:[],CC:0}},init_logic_nodes:{Bb:ba.Md,Hb:!1,I:["update_scenes_nla","add_objects"],Lb:!1,Nb:50,$b:!1,Qb:qa},load_speakers:{Bb:ba.Kf,
  972. Hb:!0,I:["add_objects"],Lb:!0,Nb:100,$b:!1,Qb:B},mobile_media_start:{Bb:ba.Md,Hb:!1,I:["load_images","update_scenes_nla","load_speakers","init_logic_nodes"],Lb:!0,Nb:5,$b:!1,Qb:ga,Ai:ga},synchronize_media:{Bb:ba.Md,Hb:!0,I:["mobile_media_start"],Lb:!0,Nb:50,$b:!1,Qb:aa},start_nla:{Bb:ba.Md,Hb:!0,I:["mobile_media_start"],Lb:!1,Nb:5,$b:!0,Qb:Q}},k=ba.Sv();k||(k=ba.rA(),Ea={},Za={},fb={});Ea[k.wg.length]={};return ba.wA(l,a,c,d,f,e||Xa.qz,Fa.do_not_load_resources,h,!1)};a.unload=function(a){var b=ba.Sv();
  973. if(!b||!b.wg.length||a&&!ba.ZP(b.wg[a]))za.error("Unable to unload data!");else{if(0==a)za.log("%cUNLOAD ALL","color: #00a"),va.cleanup(),wa.cleanup(),Y.cleanup(),ta.cleanup(),X.cleanup(),ba.cleanup(),L.cleanup(),Ca.cleanup(),ma.cleanup(),ha.cleanup(),fa.cleanup(),Ia.cleanup(),Ya.cleanup(),ea.cleanup(),ca.cleanup(),eb.cleanup(),Da.cleanup(),xa.cleanup(),sa.cleanup(),O.cleanup(),Za=null,fb={},Ea=Ha=null,rb=!1;else{za.log("%cUNLOAD DATA "+a,"color: #00a");wa.mO(a);for(var b=ma.get_all_objects(ma.DATA_ID_ALL),
  974. c=0;c<b.length;c++){var d=b[c];R.get_object_data_id(d)!=a&&ma.Fs(d,!1,!1,!1)}b=ma.get_all_objects(a);for(c=b.length-1;0<=c;c--)d=b[c],la(d),ma.remove_object(d);b=ma.get_all_objects(ma.DATA_ID_ALL);for(c=0;c<b.length;c++)ma.Fs(b[c],!0,!0,!0)}oa.cleanup(a);ra()}};a.eO=la;a.set_debug_resources_root=function(a){Xb=a};a.activate_media=function(){rb||Fa.media_auto_activation||(eb.play(),eb.pause(),eb.reset(),C(Ha,ma.DATA_ID_ALL,!0),Y.pause(),Fa.hw&&Y.PC(),rb=!0)};a.reset=function(){Mb=null};a.prefetch=
  975. function(a,c,d){var e={load_main:{Bb:ba.Kf,Hb:!1,I:[],Lb:!1,Nb:500,$b:!1,Qb:b},load_binaries:{Bb:ba.Kf,Hb:!1,I:["load_main"],Lb:!1,Nb:500,$b:!1,Qb:g},load_images:{Bb:ba.Kf,Hb:!1,I:["load_main"],Lb:!1,Nb:500,$b:!1,Qb:r},preload_sounds:{Bb:ba.Kf,Hb:!1,I:["load_main"],Lb:!1,Nb:500,$b:!1,Qb:t}},h=ba.Sv();h||(h=ba.rA(),Ea={},Za={},fb={});Ea[h.wg.length]={};return ba.wA(e,a,c,d,f,!1,Fa.do_not_load_resources,!1,!0)};a.unfetch=function(){ca.fJ()}};fdage.module.__batch=function(a,q){function f(a){a={type:a,vb:"",id:0,$n:-1,aj:"",hr:-1,Kl:-1,qo:0,Le:0,kk:[],ra:[],fd:[],Rf:[],nc:[],Di:[],ni:null,Gc:{},pb:null,Va:{Jf:null,ne:null,Jh:[],yf:[],status:ca.ku,kL:0,dR:0,pz:0,lE:0},Zi:"",Dn:[],fa:null,be:O.Fi(),ae:!1,Ih:!1,ir:!1,num_vertices:0,num_triangles:0,fs:0,gs:0,Mc:!1,Ir:0,Qo:0,Cd:new Float32Array(3),Qd:new Float32Array(16),Nf:!1,zb:!1,Ka:!1,Bg:!1,Ob:!1,$d:!1,kf:!1,Xd:!1,Hd:!1,zd:!1,yd:!1,bd:!1,ad:!1,lr:!1,Zf:ua.yl,De:!1,of:!1,Gi:!1,Tf:!1,se:ya.on,
  976. jg:0,kg:0,md:-1,Zc:-1,Nr:!1,Rr:0,Or:0,Sr:0,Tr:0,Qr:new Float32Array(3),Pr:new Float32Array(3),So:!1,Of:0,$f:0,Rg:1,reflect_factor:0,ei:0,Op:1,parallax_scale:0,Qg:0,Hg:1,Ds:0,ip:0,zf:0,Zs:0,pd:new Float32Array(2),Id:new Float32Array(3),lh:new Float32Array(3),Gf:new Float32Array(3),od:new Float32Array(4),Pe:new Float32Array(4),Lk:null,jm:null,bp:null,ap:null,Ni:!1,wireframe_edge_color:ea.create(),rh:!1,water_dynamic:!1,fn:!1,Qt:!1,Rt:0,St:0,Pt:0,Lj:.1,shallow_water_col_fac:0,shore_water_col_fac:0,foam_factor:0,
  977. xr:new Float32Array(2),wr:new Float32Array(2),Fo:new Float32Array(2),shallow_water_col:new Float32Array(3),shore_water_col:new Float32Array(3),Yh:null,lj:!1,Ua:null,lm:0,Pj:null,qp:null,Xh:[],We:[],Ud:[],Ve:[],N:null,Ja:null,oa:null,Ya:null,eb:null,V:null,cf:!1,jf:!0,NB:0,tm:new Float32Array(3)};a.od[3]=1;a.Ka=!0;a.lm=1;return a}function c(a){var b=f(a.type);b.vb=a.vb;b.id=a.id;b.$n=a.$n;b.aj=a.aj;b.hr=a.hr;b.Kl=a.Kl;b.qo=a.qo;b.Le=a.Le;b.kk=[];b.ra=a.ra.slice();b.fd=a.fd.slice();b.Rf=a.Rf.slice();
  978. b.nc=a.nc.slice();b.Di=a.Di.slice();b.ni=O.O(a.ni);b.Gc=O.O(a.Gc);b.pb=a.pb;b.Va=O.O(a.Va);b.Zi=a.Zi;b.Dn=va.gJ(a.Dn);b.fa=a.fa;b.ae=a.ae;b.Ih=a.Ih;b.ir=a.ir;b.num_vertices=a.num_vertices;b.num_triangles=a.num_triangles;b.fs=a.fs;b.gs=a.gs;b.Ir=a.Ir;b.Qo=a.Qo;b.Cd=a.Cd;b.Qd=a.Qd;b.Nf=a.Nf;b.zb=a.zb;b.Ka=a.Ka;b.Bg=a.Bg;b.Ob=a.Ob;b.$d=a.$d;b.kf=a.kf;b.Xd=a.Xd;b.Hd=a.Hd;b.zd=a.zd;b.yd=a.yd;b.bd=a.bd;b.ad=a.ad;b.Mc=a.Mc;b.lr=a.lr;b.Zf=a.Zf;b.De=a.De;b.of=a.of;b.Gi=a.Gi;b.Tf=a.Tf;b.se=a.se;b.jg=a.jg;b.kg=
  979. a.kg;b.md=a.md;b.Zc=a.Zc;b.Nr=a.Nr;b.Rr=a.Rr;b.Or=a.Or;b.Sr=a.Sr;b.Tr=a.Tr;ea.copy(a.Qr,b.Qr);ea.copy(a.Pr,b.Pr);b.So=a.So;b.Of=a.Of;b.$f=a.$f;b.Rg=a.Rg;b.reflect_factor=a.reflect_factor;b.ei=a.ei;b.Op=a.Op;b.parallax_scale=a.parallax_scale;b.Qg=a.Qg;b.Hg=a.Hg;b.Ds=a.Ds;b.ip=a.ip;b.zf=a.zf;b.Zs=a.Zs;b.pd[0]=a.pd[0];b.pd[1]=a.pd[1];ea.copy(a.Id,b.Id);ea.copy(a.lh,b.lh);ea.copy(a.Gf,b.Gf);sa.copy(a.od,b.od);sa.copy(a.Pe,b.Pe);b.Lk=O.O(a.Lk);a.jm&&(b.jm=new Float32Array(a.jm),b.bp=new Float32Array(a.bp),
  980. b.ap=new Float32Array(a.ap));b.Ni=a.Ni;ea.copy(a.wireframe_edge_color,b.wireframe_edge_color);b.rh=a.rh;b.water_dynamic=a.water_dynamic;b.fn=a.fn;b.Qt=a.Qt;b.Rt=a.Rt;b.St=a.St;b.Pt=a.Pt;b.Lj=a.Lj;b.shallow_water_col_fac=a.shallow_water_col_fac;b.shore_water_col_fac=a.shore_water_col_fac;b.foam_factor=a.foam_factor;b.xr.set(a.xr);b.wr.set(a.wr);b.Fo.set(a.Fo);ea.copy(a.shallow_water_col,b.shallow_water_col);ea.copy(a.shore_water_col,b.shore_water_col);b.Yh=O.O(a.Yh);b.lj=a.lj;b.Ua=O.O(a.Ua);b.lm=a.lm;
  981. a.Pj&&(b.Pj=new Float32Array(a.Pj));b.qp=O.O(a.qp);b.Xh=O.O(a.Xh);b.We=O.O(a.We);b.Ud=O.O(a.Ud);b.Ve=O.O(a.Ve);b.N=T.ak(a.N);b.Ja=T.ak(a.Ja);b.V=T.Yn(a.V);b.eb=T.Yn(a.eb);b.oa=T.bk(a.oa);b.Ya=T.bk(a.Ya);b.cf=a.cf;b.jf=a.jf;b.tm=a.tm;return b}function b(a){switch(a.type){case "MAIN":case "PARTICLES":case "LINE":a.vb=a.zb?a.Bg?"XRAY":"BLEND":"OPAQUE";break;case "SHADOW":a.vb=a.Hd?"CAST":"RECEIVE";break;case "COLOR_ID":a.vb=a.Bg?"COLOR_ID_XRAY":"COLOR_ID"}}function g(a,b,c){var d=[],h=e(c,b,!b.Nl,!1),
  982. g=a.data,k=g.materials,m=Array(k.length),n=Array(k.length),r=[],p=wa.Xb(c,ta.Db),t=!1;p&&(t=p.ep.length?!0:!1);for(var v=0;v<h.length;v++)for(var q=h[v],R=0;R<k.length;R++){var y=k[R];if(!ua.HB(g,R))if("PHYSICS"==q&&a.b4w_collision&&"NAVMESH"==a.game.physics_type)r.push(ua.Dv(g,R,[],b.Bh,{},null));else if(!y.b4w_lens_flares||t){var D=f(q);"MAIN"==q?m[R]=D:"DEBUG_VIEW"==q&&(n[R]=D);D.$n=a.b4w_cluster_data.cluster_id;if(B(D,y)){"SHADOW"==q&&m[R]&&(D.$d=m[R].$d);D.Zf=b.ae||b.kf?ua.sq:ua.yl;A(D,b);for(var z=
  983. D,x=a.particle_systems,C=0;C<x.length;C++){var za=x[C].settings.b4w_vcol_from_name,H=x[C].settings.b4w_vcol_to_name;""!==za&&""!==H&&(z.Gc[za]={zk:!1,src:[{name:za,tf:7}]})}if("DYNAMIC"==b.type||"COLOR_ID"==D.type)D.aj=a.uuid;D.Gi=a.b4w_do_not_cull;"MAIN"==D.type&&(D.Tf=a.b4w_caustics);w(D,"DISABLE_FOG",("COLOR_ID"!=q&&"SHADOW"!=q&&a.b4w_disable_fogging)|0);var E=ua.Dv(g,R,D.Di,b.Bh,D.Gc,D.ni);!y.use_tangent_shading||"a_shade_tangs"in E.U[0]||(w(D,"CALC_TBN",1),l(D,"a_tbn_quat"));y.b4w_lens_flares&&
  984. (E=ra.dO(E));Z(D);d.push({pa:D,te:b,Oq:b,Ze:E,uf:[y.name],cd:[a]})}}}if(r.length){D=f("PHYSICS");D.vb="NAVMESH";D.aj=a.uuid;for(var E=ua.aE(r),Ca=[],v=0;v<k.length;v++)Ca.push(k[v].name);Z(D);d.push({pa:D,te:b,Oq:b,Ze:E,uf:Ca,cd:[a]})}for(v=0;v<n.length;v++)n[v]&&(n[v].Kl=m[v].id,Z(n[v]));var G=a.particle_systems;if(0<G.length&&d.length){for(var V=!1,N=!1,v=0;v<G.length;v++){var F=G[v],Q=F.settings;Q.use_render_emitter&&(V=!0);"HAIR"!=Q.type||"OBJECT"!=Q.render_type&&"GROUP"!=Q.render_type&&F.transforms.length||
  985. (N=!0);if(V&&N)break}var I=d[0].pa.Gc,Ja;if(N){var ka;if(1<k.length){for(var W={},T=0;T<G.length;T++){var K=G[T].settings;if("HAIR"==K.type&&("OBJECT"==K.render_type||"GROUP"==K.render_type)){var Ia=K.b4w_vcol_from_name,Da=K.b4w_vcol_to_name;""!==Ia&&""!==Da&&(W[Ia]=O.O(I[Ia]))}}"a_bending_col_main"in I&&(W.a_bending_col_main=O.O(I.a_bending_col_main));"a_bending_col_detail"in I&&(W.a_bending_col_detail=O.O(I.a_bending_col_detail));ka=ua.RA(g,[],W)}else ka=d[0].Ze;Ja=ka}else Ja=null;for(var na=Ja,
  986. M=a.ab,xa=[],ja=a.particle_systems,ga=a.data,ma=0;ma<ja.length;ma++){var Aa=ja[ma],S=Aa.settings;if(S.count)if("EMITTER"==S.type){if("DYNAMIC"==b.type){var U=f("PARTICLES");U.oa=b.oa;U.N=b.N;U.V=b.V;U.Ya=b.Ya;U.Ja=b.Ja;U.eb=b.eb;var qa,aa=ga.materials,la=Aa.settings.material-1;la>=aa.length&&(ia.warn('Wrong material used for rendering particle system "'+Aa.name+'"'),la=0);qa=aa[la];"HALO"===Aa.settings.render_type&&"HALO"===qa.type&&(U.So=!0);u(U,qa);var va=U,Ba=a,oa=Aa.settings;switch(oa.b4w_billboard_align){case "VIEW":w(va,
  987. "BILLBOARD_ALIGN","BILLBOARD_ALIGN_VIEW");break;case "XY":w(va,"BILLBOARD_ALIGN","BILLBOARD_ALIGN_XY");break;case "YZ":w(va,"BILLBOARD_ALIGN","BILLBOARD_ALIGN_YZ");break;case "ZX":w(va,"BILLBOARD_ALIGN","BILLBOARD_ALIGN_ZX");break;default:O.q("Wrong billboard align value")}w(va,"BILLBOARD",0);var sa=oa.b4w_enable_soft_particles&&ya.Zz(Ba,oa);w(va,"SOFT_PARTICLES",0<oa.b4w_particles_softness&&sa&&ba.kr?1:0);w(va,"SOFT_STRENGTH",ca.G(oa.b4w_particles_softness));ca.aa(va.Va,"WORLD_SPACE","WORLD"==oa.b4w_coordinate_system?
  988. 1:0);U.kf=!0;U.Gi=a.b4w_do_not_cull;U.aj=M.name+"_"+S.uuid;ra.wM(U,Aa,qa);var Kc=ra.xL(U,ga,Aa,M.k);ra.IQ(Kc,U,S.count);ra.HQ(M);A(U,M.k);Z(U);xa.push({pa:U,te:b,Oq:b,Ze:Kc,uf:[qa.name],cd:[a]})}}else if("HAIR"==S.type){var tb=O.Yr(Aa.seed),nc=pa.$z(ba.yw)&&!S.b4w_initial_rand_rotation&&!S.b4w_hair_billboard,Ab=4;nc&&(Ab=8);if(Aa.transforms.length)var nb=Aa.transforms;else for(var kb=ua.Iv(na,S.count,!1,tb),nb=new Float32Array(kb.length*Ab),cb=0;cb<kb.length;cb++){var Hc=.75+.5*O.Cf(tb);nb[cb*Ab]=
  989. kb[cb][0];nb[cb*Ab+1]=kb[cb][1];nb[cb*Ab+2]=kb[cb][2];nb[cb*Ab+3]=Hc;nc&&(nb[cb*Ab+4]=1,nb[cb*Ab+5]=0,nb[cb*Ab+6]=0,nb[cb*Ab+7]=0)}var zc=wa.Xb(c,ta.vh)?!0:!1;if("OBJECT"==S.render_type){var hc=[e(c,S.dupli_object.ab.k,!b.Nl,!0)],Bb=J(a,b,I,na,[S.dupli_object],hc,[nb],S,Aa,zc,tb,!1);xa.push.apply(xa,Bb)}else if("GROUP"==S.render_type){for(var Zb=S.dupli_group.objects,hc=[],cb=0;cb<Zb.length;cb++){var Ac=e(c,Zb[cb].ab.k,!b.Nl,!0);hc.push(Ac)}for(var Qb=!1,ic=[],cb=0;cb<Zb.length;cb++)ic.push(Zb[cb].ab);
  990. if(S.use_whole_group){for(var Bc,ob=nb,ab=ic,Lc=nc,fd=Ab,Cb={},Yb=new Float32Array([0,0,0,1]),ib=0;ib<ob.length;ib+=fd)for(var pb=0;pb<ab.length;pb++){var vb=ea.create(),$c=L.get_scale(ab[pb].k.n),Wc=L.get_trans_view(ab[pb].k.n);ea.scale(Wc,$c,vb);var jc=ea.clone([ob[ib],ob[ib+1],ob[ib+2]]);Cb[pb]||(Cb[pb]=new Float32Array(ob.length));Lc&&(Cb[pb][ib+4]=Yb[0]=ob[ib+4],Cb[pb][ib+5]=Yb[1]=ob[ib+5],Cb[pb][ib+6]=Yb[2]=ob[ib+6],Cb[pb][ib+7]=Yb[3]=ob[ib+7],O.ix(Yb,Yb),O.dQ(vb,Yb,vb));ea.add(jc,vb,jc);Cb[pb][ib]=
  991. jc[0];Cb[pb][ib+1]=jc[1];Cb[pb][ib+2]=jc[2];Cb[pb][ib+3]=ob[ib+3]}Bc=Cb;Qb=!0}else{var oc;if(S.use_group_count){for(var Hb=nb,pc=ic,qc=S.dupli_weights,Xc=tb,Cc=nc,rc=Ab,Ib={},Va=[],Qa=0;Qa<pc.length;Qa++)for(var Rb=pc[Qa],kc=Rb.Sk||Rb.name,Ua=0;Ua<qc.length;Ua++){var wb=qc[Ua];kc==wb.name&&Va.push(wb)}qc.length!=Va.length&&ia.error("dupli weights match failed");for(Qa=0;Qa<Hb.length;Qa+=rc){for(var Jb,Sb=Va,$b=[0],Db=0;Db<Sb.length;Db++)$b[Db+1]=$b[Db]+Sb[Db].count;for(var xb=$b[$b.length-1]*O.Cf(Xc),
  992. bb=0,Db=0;Db<$b.length;Db++)if(xb>=$b[Db]&&xb<$b[Db+1]){bb=Db;break}Jb=bb;Ib[Jb]=Ib[Jb]||[];Ib[Jb].push(Hb[Qa],Hb[Qa+1],Hb[Qa+2],Hb[Qa+3]);Cc&&Ib[Jb].push(Hb[Qa+4],Hb[Qa+5],Hb[Qa+6],Hb[Qa+7])}for(Jb in Ib)Ib[Jb]=new Float32Array(Ib[Jb]);oc=Ib}else{for(var yb=nb,La=tb,ac=nc,Pa=Ab,bc=ic.length,Ka={},ub=0;ub<yb.length;ub+=Pa){var Ob=Math.floor(bc*O.Cf(La));Ka[Ob]=Ka[Ob]||[];Ka[Ob].push(yb[ub],yb[ub+1],yb[ub+2],yb[ub+3]);ac&&Ka[Ob].push(yb[ub+4],yb[ub+5],yb[ub+6],yb[ub+7])}for(Ob in Ka)Ka[Ob]=new Float32Array(Ka[Ob]);
  993. oc=Ka}Bc=oc}Bb=J(a,b,I,na,Zb,hc,Bc,S,Aa,zc,tb,Qb);xa.push.apply(xa,Bb)}"INSTANCE"==S.b4w_wind_bend_inheritance&&M.k.Ce&&ia.warn('Emitter object "'+M.name+"\" has a particle system with wind bending inheritance from the particle instance. Wind bending on the emitter isn't disabled. Expect unforeseen behavior.")}else O.q("Unknown particle settings type")}V?d.push.apply(d,xa):d=xa}return d}function p(a){for(var b=[],c=[],d={},e=0;e<a.length;e++){var f=a[e].pa,h=null;if(f.id in d){var g=d[f.id],l=c[g].pa;
  994. I(f,function(a){I(l,function(b){O.RP(a,b)&&1!=a.NB&&(h=c[g])})});if(!h){do f.id++;while(d[f.id])}}h||(h={pa:f,GC:[],tz:[],cE:[],cd:[],bD:[],uf:[]},d[f.id]=c.length,c.push(h));if(a[e].Ze&&a[e].Ze.Aa){h.GC.push(a[e].te);h.tz.push(a[e].Oq);h.cE.push(a[e].Ze);for(var k=0;k<a[e].cd.length;k++)f=a[e].cd[k],-1==h.bD.indexOf(f.uuid)&&(h.cd.push(f),h.bD.push(f.uuid));for(k=0;k<a[e].uf.length;k++)f=a[e].uf[k],-1==h.uf.indexOf(f)&&h.uf.push(f)}h.uf.sort()}for(e=0;e<c.length;e++){var f=c[e].pa,m=c[e].GC,n=c[e].tz,
  995. r=c[e].cE;a=ya.Su(n[0]);if("STATIC"==a.type)for(k=0;k<m.length;k++){var p=m[k],t=n[k],d=r[k],u=L.identity(Ca);p.Pf&&!p.In?(p=L.Yb(p.n,xa),L.set_trans(p,u)):L.copy(p.n,u);t.Ik?d.Te||(t.Pf?ua.TP(d,u):ua.tt(d,u)):ua.tt(d,u);if(t.Ik)w(f,"AU_QUALIFIER","GLSL_IN");else if(1<c[e].cd.length){p={};if(t.Ce||t.Pf)p.au_center_pos=[u[0],u[1],u[2]];t.Ce&&(p.au_wind_bending_amp=[t.zg],p.au_wind_bending_freq=[t.Ag],p.au_detail_bending_amp=[t.Xf],p.au_detail_bending_freq=[t.Yf],p.au_branch_bending_amp=[t.Sf]);ua.SP(d,
  996. p);w(f,"AU_QUALIFIER","GLSL_IN")}else a.Sn.set(u.subarray(0,3)),t.Sn.set(u.subarray(0,3)),w(f,"AU_QUALIFIER","uniform")}if(0==r.length)d=ua.Se(O.Wp("%empty"));else if(1==r.length)d=r[0];else{d=[];for(k=0;k<r.length;k++)ua.HM(r[k])||d.push(k);if(d.length<r.length)for(k=0;k<d.length;k++)ua.ut(r[d[k]]);d=ua.aE(r)}if(1<c[e].cd.length){r=[];for(k=0;k<c[e].cd.length;k++)T.Cv(c[e].cd[k].ab.k.vz,r);T.uz(r,a.Ja);T.Hl(a.Ja,a.N);a.eb=T.br(O.f32(r),!0);T.Yu(a.eb,a.V);a.Ya=T.lo(a.eb);T.$u(a.Ya,a.oa)}a.cf=T.nw(a.V,
  997. a.oa);"STATIC"==a.type&&a.fm&&(k=c[e].cd[0].b4w_cluster_data,k.cluster_center&&k.cluster_radius?(a.fp.set(k.cluster_center),a.gp=k.cluster_radius):(a.fp.set(a.Ya.D),a.gp=a.Ya.Oa));"PARTICLES"!=f.type&&(k=d.$e,f.N=T.ak(k.N),f.V=T.Yn(k.V),f.oa=a.oa.Oa<k.oa.Oa?"STATIC"==a.type?T.bk(a.Ya):T.bk(a.oa):T.bk(k.oa),"STATIC"==a.type?(f.eb=f.V,f.Ja=f.N,f.Ya=f.oa):(k=a.n,f.eb=T.Ln(f.V,k),f.Ya=T.Mn(f.oa,k),f.Ja=T.Zj(f.N,k)),f.cf=T.nw(f.V,f.oa));b.push({pa:f,k:a,Ze:d,uf:c[e].uf,cd:c[e].cd})}return b}function D(a,
  998. b,c,d){a.Gn=T.yz(b,d);a.En=T.wz(c,d);a.Fn=T.xz(b,d)}function e(a,b,c,d){var e=[];d||(b.oj&&wa.Xb(a,ta.Ee)||b.Ec&&wa.Xb(a,ta.Lf))&&e.push("COLOR_ID");c&&(e.push("MAIN"),e.push("NODES_GLOW"),wa.Xb(a,ta.Fe)&&e.push("DEBUG_VIEW"),wa.Xb(a,ta.He)&&e.push("SHADOW"),wa.Xb(a,ta.vh)&&e.push("GRASS_MAP"));e.push("PHYSICS");if(b.Hd||b.bd)for(a=null,b.Hd&&(a=["MAIN","NODES_GLOW","COLOR_ID","PHYSICS","DEBUG_VIEW"]),b.bd&&(b=["COLOR_ID","PHYSICS","SHADOW","DEBUG_VIEW"],a=null!==a?O.UH(a,b):b),b=a,a=0;a<b.length;a++)c=
  999. e.indexOf(b[a]),-1!==c&&e.splice(c,1);return e}function u(a,b){var c;switch(a.type){case "MAIN":if(b.b4w_do_not_render)c=!1;else{if(b.use_nodes&&"HALO"!=b.type)v(a,b,"MAIN");else{m(a,b);c=b.game_settings.alpha_blend;a.Bg=b.b4w_render_above_all&&"OPAQUE"!=c&&"CLIP"!=c;a.zf=b.offset_z;a.lh.set([1,1,1]);var e=b.texture_slots;sa.set(b.diffuse_color[0],b.diffuse_color[1],b.diffuse_color[2],b.alpha,a.od);if(b.b4w_lens_flares){N(a,"lens_flares.glslv","lens_flares.glslf");l(a,"a_position");l(a,"a_texcoord");
  1000. var f=na.Bd(e[0]),h=e[0].texture;Q(a,f,"u_sampler",h.name)}else{N(a,"main.glslv","main_stack.glslf");b.use_shadeless||(c=ga.cv(b.uuid,b.name,{$d:b.use_shadeless,vo:b.diffuse_shader,Pp:b.specular_shader,ql:b.use_tangent_shading}),a.Va.yf=ga.Yq(c));var g=k("use_map_color_diffuse",e),r=k("use_map_color_spec",e),p=k("use_map_normal",e),u=k("use_map_mirror",e),q=k("use_stencil",e);c=g[0];r=r[0];p=p[0];u=u[0];g=g[1];e=q[0]&&k("use_rgb_to_intensity",e)[0];if(c){h=c.texture;switch(c.blend_type){case "MIX":w(a,
  1001. "TEXTURE_BLEND_TYPE","TEXTURE_BLEND_TYPE_MIX");break;case "MULTIPLY":w(a,"TEXTURE_BLEND_TYPE","TEXTURE_BLEND_TYPE_MULTIPLY")}f=na.Bd(c);Q(a,f,"u_colormap0",h.name);a.Qg=c.diffuse_color_factor;a.Hg=c.use_map_alpha?c.alpha_factor:0;a.lh.set(c.scale)}q=c&&c==r;r&&(q||(h=r.texture,f=na.Bd(r),Q(a,f,"u_specmap0",h.name)),a.ei=r.specular_color_factor);if(p&&(h=p.texture,l(a,"a_tbn_quat"),f=na.Bd(p),Q(a,f,"u_normalmap0",h.name),a.Ds=p.normal_factor,h.b4w_use_map_parallax&&ba.Ls)){var f=ca.G(h.b4w_parallax_steps),
  1002. R=ca.G(h.b4w_parallax_lod_dist);w(a,"PARALLAX",1);w(a,"PARALLAX_STEPS",f);w(a,"PARALLAX_LOD_DIST",R);a.parallax_scale=h.b4w_parallax_scale}u&&(h=u.texture,f=na.Bd(u),Q(a,f,"u_mirrormap",h.name),a.ip=u.mirror_factor);if(u=c&&g&&e?1:0)f=na.Bd(g),h=g.texture,Q(a,f,"u_colormap1",h.name),f=na.Bd(e),h=e.texture,Q(a,f,"u_stencil0",h.name);(h=c||r||p)&&a.lh.set(h.scale);w(a,"TEXTURE_SPEC",void 0==r?0:1);w(a,"ALPHA_AS_SPEC",q?1:0);w(a,"TEXTURE_STENCIL_ALPHA_MASK",u);l(a,"a_position");l(a,"a_tbn_quat");(c||
  1003. r||p)&&l(a,"a_texcoord");if(b.b4w_water){a.rh=!0;a.water_dynamic=b.b4w_water_dynamic;b.b4w_water_shore_smoothing&&!a.zb?(ia.warn('Material: "'+b.name+'" is opaque.',"Disabling water shore smoothing."),a.fn=!1):a.fn="REFLECT"!=a.vb?b.b4w_water_shore_smoothing:!1;N(a,"water.glslv","water.glslf");u=ga.cv(b.uuid,b.name,{$d:!1,vo:b.diffuse_shader,Pp:b.specular_shader,ql:b.use_tangent_shading});a.Va.yf=ga.Yq(u);l(a,"a_position");ba.cF?(l(a,"a_polyindex"),a.Ka=!0,ea.set(0,0,0,a.wireframe_edge_color),G.Uv()?
  1004. w(a,"DEBUG_WIREFRAME",1):w(a,"DEBUG_WIREFRAME",2)):w(a,"DEBUG_WIREFRAME",0);q=b.texture_slots;u=k("use_map_normal",q);f=k("use_map_mirror",q)[0];u.length&&(R=na.Bd(u[0]),h=u[0].texture,Q(a,R,"u_normalmap0",h.name),a.Lj=b.b4w_water_norm_uv_velocity);w(a,"NUM_NORMALMAPS",u.length);a.Yh=Array(u.length);for(h=0;h<u.length;h++)a.Yh[h]=new Float32Array(2),a.Yh[h].set([u[h].scale[0],u[h].scale[1]]);f&&(R=na.Bd(f),h=f.texture,Q(a,R,"u_mirrormap",h.name),a.ip=f.mirror_factor);f=null;if(ba.Ul)for(h=0;h<q.length;h++){var D=
  1005. q[h];if(!0===D.texture.b4w_water_foam){f=D;break}}f&&(w(a,"FOAM",1),R=na.Bd(f),h=f.texture,Q(a,R,"u_foam",h.name),a.foam_factor=b.b4w_foam_factor,a.xr.set(h.b4w_foam_uv_freq),a.wr.set(h.b4w_foam_uv_magnitude),a.Fo[0]=f.scale[0],a.Fo[1]=f.scale[1]);for(h=0;h<q.length;h++)if(D=q[h],!0===D.texture.b4w_shore_dist_map){var z=D;break}z&&ba.Hq&&(q=na.Bd(z),h=z.texture,Q(a,q,"u_shore_dist_map",h.name),w(a,"SHORE_PARAMS",1),z=D.texture.b4w_shore_boundings,w(a,"MAX_SHORE_DIST",ca.G(D.texture.b4w_max_shore_dist)),
  1006. w(a,"SHORE_MAP_SIZE_X",ca.G(z[0]-z[1])),w(a,"SHORE_MAP_SIZE_Y",ca.G(z[2]-z[3])),w(a,"SHORE_MAP_CENTER_X",ca.G((z[0]+z[1])/2)),w(a,"SHORE_MAP_CENTER_Y",ca.G((z[2]+z[3])/2)));b.b4w_generated_mesh?(w(a,"GENERATED_MESH",1),a.Qt=!0,a.Rt=b.b4w_water_num_cascads,a.St=b.b4w_water_subdivs,a.Pt=b.b4w_water_detailed_dist):(l(a,"a_tbn_quat"),(f||u.length)&&l(a,"a_texcoord"),w(a,"GENERATED_MESH",0));if(b.b4w_water_dynamic){var D=ca.G(b.b4w_water_dst_noise_scale0),z=ca.G(b.b4w_water_dst_noise_scale1),u=ca.G(b.b4w_water_dst_noise_freq0),
  1007. q=ca.G(b.b4w_water_dst_noise_freq1),h=ca.G(b.b4w_water_dir_min_shore_fac),f=ca.G(b.b4w_water_dir_freq),R=ca.G(b.b4w_water_dir_noise_scale),x=ca.G(b.b4w_water_dir_noise_freq),B=ca.G(b.b4w_water_dir_min_noise_fac),A=ca.G(b.b4w_water_dst_min_fac),C=ca.G(b.b4w_water_waves_hor_fac);w(a,"DST_NOISE_SCALE_0",D);w(a,"DST_NOISE_SCALE_1",z);w(a,"DST_NOISE_FREQ_0",u);w(a,"DST_NOISE_FREQ_1",q);w(a,"DIR_MIN_SHR_FAC",h);w(a,"DIR_FREQ",f);w(a,"DIR_NOISE_SCALE",R);w(a,"DIR_NOISE_FREQ",x);w(a,"DIR_MIN_NOISE_FAC",B);
  1008. w(a,"DST_MIN_FAC",A);w(a,"WAVES_HOR_FAC",C)}y(a,b);H(a,b);a.shallow_water_col.set(b.b4w_shallow_water_col);a.shore_water_col.set(b.b4w_shore_water_col);a.shallow_water_col_fac=b.b4w_shallow_water_col_fac;a.shore_water_col_fac=b.b4w_shore_water_col_fac;w(a,"ABSORB",ca.G(b.b4w_water_absorb_factor));w(a,"SSS_STRENGTH",ca.G(b.b4w_water_sss_strength));w(a,"SSS_WIDTH",ca.G(b.b4w_water_sss_width))}"HALO"===b.type&&(N(a,"halo.glslv","halo.glslf"),n(a,b),a.Di=["a_position"]);b.use_tangent_shading&&(w(a,"USE_TBN_SHADING",
  1009. 1),l(a,"a_shade_tangs"));w(a,"TEXCOORD",0);w(a,"NORMAL_TEXCOORD",0);c&&t(a,c,"TEXTURE_COLOR0_CO");g&&t(a,g,"TEXTURE_COLOR1_CO");e&&t(a,e,"TEXTURE_STENCIL_ALPHA_MASK_CO");r&&t(a,r,"TEXTURE_SPEC_CO");p&&t(a,p,"TEXTURE_NORM_CO");w(a,"SHADELESS",b.use_shadeless?1:0);a.$d=b.use_shadeless}c=b.game_settings.alpha_blend;w(a,"ALPHA","OPAQUE"===c?0:1);w(a,"ALPHA_CLIP","CLIP"===c?1:0);w(a,"DOUBLE_SIDED_LIGHTING",b.b4w_double_sided_lighting?1:0);b.use_vertex_color_paint?(w(a,"VERTEX_COLOR",1),l(a,"a_color")):
  1010. w(a,"VERTEX_COLOR",0);a.Of=b.ambient;a.Rg=b.diffuse_intensity;a.$f=b.emit;a.Gf.set(b.specular_color);a.Op=b.specular_alpha;y(a,b);H(a,b);b.b4w_wettable?w(a,"WETTABLE",1):w(a,"WETTABLE",0);d(a,b);b.b4w_refractive&&!a.zb?(ia.warn('Material "'+b.name+'" is not blend. Disabling refractions.'),a.lj=!1):a.lj=b.b4w_refractive;a.Zs=b.b4w_refr_bump}c=!0}break;case "NODES_GLOW":c=v(a,b,"GLOW");break;case "SHADOW":if(b.b4w_lens_flares||b.b4w_water||b.b4w_do_not_render||"HALO"===b.type)c=!1;else if(m(a,b),a.zb)c=
  1011. !1;else{r=b.game_settings.alpha_blend;b.use_nodes&&"CLIP"==r?v(a,b,"SHADOW"):N(a,"shadow.glslv","shadow.glslf");sa.set(0,0,0,b.alpha,a.od);l(a,"a_position");l(a,"a_tbn_quat");w(a,"ALPHA","OPAQUE"===r?0:1);a.lh.set([1,1,1]);if((c=k("use_map_color_diffuse",b.texture_slots)[0])&&"CLIP"===r){switch(c.blend_type){case "MIX":w(a,"TEXTURE_BLEND_TYPE","TEXTURE_BLEND_TYPE_MIX");break;case "MULTIPLY":w(a,"TEXTURE_BLEND_TYPE","TEXTURE_BLEND_TYPE_MULTIPLY")}a.lh.set(c.scale);w(a,"TEXTURE_COLOR",1);l(a,"a_texcoord");
  1012. r=na.Bd(c);c=c.texture;"IMAGE"!=r.source&&"ENVIRONMENT_MAP"!=r.source&&"CANVAS"!=r.source&&"NONE"!=r.source||Q(a,r,"u_colormap0",c.name)}else w(a,"TEXTURE_COLOR",0);c=!0}break;case "PHYSICS":b.b4w_collision?(a.dq=b.b4w_use_ghost,a.Rb=b.b4w_collision_id,a.co=b.b4w_collision_margin,a.ao=b.b4w_collision_group,a.eo=b.b4w_collision_mask,a.vk=b.physics.friction,a.nk=b.physics.elasticity,c=!0):b.b4w_water?(a.rh=!0,a.mR=b.b4w_water_dynamic,a.dst_noise_scale0=b.b4w_water_dst_noise_scale0,a.dst_noise_scale1=
  1013. b.b4w_water_dst_noise_scale1,a.dst_noise_freq0=b.b4w_water_dst_noise_freq0,a.dst_noise_freq1=b.b4w_water_dst_noise_freq1,a.dir_min_shore_fac=b.b4w_water_dir_min_shore_fac,a.dir_freq=b.b4w_water_dir_freq,a.dir_noise_scale=b.b4w_water_dir_noise_scale,a.dir_noise_freq=b.b4w_water_dir_noise_freq,a.dir_min_noise_fac=b.b4w_water_dir_min_noise_fac,a.dst_min_fac=b.b4w_water_dst_min_fac,a.waves_hor_fac=b.b4w_water_waves_hor_fac,c=!0):c=!1;break;case "COLOR_ID":if(b.b4w_lens_flares||"HALO"===b.type)c=!1;else{m(a,
  1014. b);a.De=!1;a.Ka=!0;a.zb=!1;r=b.game_settings.alpha_blend;a.Bg=b.b4w_render_above_all&&"OPAQUE"!=r&&"CLIP"!=r;b.use_nodes&&"CLIP"==r?v(a,b,"COLOR_ID"):N(a,"color_id.glslv","color_id.glslf");sa.set(0,0,0,b.alpha,a.od);l(a,"a_position");w(a,"ALPHA","OPAQUE"===r?0:1);a.lh.set([1,1,1]);c=k("use_map_color_diffuse",b.texture_slots)[0];r="CLIP"===r?1:0;w(a,"ALPHA_CLIP",r);if(c&&r){switch(c.blend_type){case "MIX":w(a,"TEXTURE_BLEND_TYPE","TEXTURE_BLEND_TYPE_MIX");break;case "MULTIPLY":w(a,"TEXTURE_BLEND_TYPE",
  1015. "TEXTURE_BLEND_TYPE_MULTIPLY")}a.lh.set(c.scale);w(a,"TEXTURE_COLOR",1);l(a,"a_texcoord");r=na.Bd(c);c=c.texture;"IMAGE"!=r.source&&"ENVIRONMENT_MAP"!=r.source&&"CANVAS"!=r.source&&"NONE"!=r.source||Q(a,r,"u_colormap0",c.name)}else w(a,"TEXTURE_COLOR",0);c=!0}break;case "GRASS_MAP":!b.b4w_terrain||b.b4w_do_not_render?c=!1:(m(a,b),a.zb=!1,a.De=!1,a.Ka=!0,N(a,"grass_map.glslv","grass_map.glslf"),l(a,"a_position"),c=b.b4w_dynamic_grass_size?b.b4w_dynamic_grass_size:null,r=b.b4w_dynamic_grass_color?b.b4w_dynamic_grass_color:
  1016. null,a.Gc.a_grass_size={zk:!0,src:[]},c?(a.Gc.a_grass_size.src.push({name:c,tf:4}),w(a,"DYNAMIC_GRASS_SIZE",1)):w(a,"DYNAMIC_GRASS_SIZE",0),a.Gc.a_grass_color={zk:!0,src:[]},r?(a.Gc.a_grass_color.src.push({name:r,tf:7}),w(a,"DYNAMIC_GRASS_COLOR",1)):w(a,"DYNAMIC_GRASS_COLOR",0),w(a,"GRASS_TEXTURE_SIZE",ca.G(oa.Ro)),c=!0);break;case "DEBUG_VIEW":c=E(a,b);break;case "PARTICLES":a:if(b.b4w_do_not_render)c=!1;else{c=b.texture_slots;if(a.So)N(a,"particle_system.glslv","particle_system_stack.glslf"),w(a,
  1017. "HALO_PARTICLES",1),n(a,b);else{r={$d:!1,vo:b.diffuse_shader,Pp:b.specular_shader,ql:b.use_tangent_shading};if(b.use_nodes){N(a,"particle_system.glslv","particle_system.glslf");v(a,b,"PARTICLES");c=!0;break a}N(a,"particle_system.glslv","particle_system_stack.glslf");r=ga.cv(b.uuid,b.name,r);a.Va.yf=ga.Yq(r);if(c=k("use_map_color_diffuse",c)[0]){w(a,"TEXTURE_COLOR",1);switch(c.blend_type){case "MIX":w(a,"TEXTURE_BLEND_TYPE","TEXTURE_BLEND_TYPE_MIX");break;case "MULTIPLY":w(a,"TEXTURE_BLEND_TYPE",
  1018. "TEXTURE_BLEND_TYPE_MULTIPLY")}a.Qg=c.diffuse_color_factor;a.Hg=c.use_map_alpha?c.alpha_factor:0;r=na.Bd(c);Q(a,r,"default"+String(a.ra.length),c.texture.name)}}sa.set(b.diffuse_color[0],b.diffuse_color[1],b.diffuse_color[2],b.alpha,a.od);a.Of=b.ambient;a.Rg=b.diffuse_intensity;a.$f=b.emit;a.Gf.set(b.specular_color);a.Op=b.specular_alpha;l(a,"a_position");l(a,"a_tbn_quat");c=b.game_settings.alpha_blend;w(a,"ALPHA","OPAQUE"===c?0:1);w(a,"ALPHA_CLIP","CLIP"===c?1:0);w(a,"PARTICLES_SHADELESS",b.use_shadeless?
  1019. 1:0);y(a,b);H(a,b);m(a,b);c=b.game_settings.alpha_blend;a.Bg=b.b4w_render_above_all&&"OPAQUE"!=c&&"CLIP"!=c;a.zf=b.offset_z;c=!0}break;default:O.q("Wrong batch type: "+a.type)}return c}function n(a,b){var c=b.halo;w(a,"NUM_RINGS",c.ring_count);w(a,"NUM_LINES",c.line_count);w(a,"NUM_STARS",c.star_tip_count);w(a,"SKY_STARS",b.b4w_halo_sky_stars?1:0);a.Rr=c.size;a.Or=c.hardness/20;a.Qr.set(c.b4w_halo_rings_color);a.Pr.set(c.b4w_halo_lines_color);a.Sr=1/b.b4w_halo_stars_blend_height;a.Tr=b.b4w_halo_stars_min_height;
  1020. a.Nr=!0}function t(a,b,c){switch(b.texture_coords){case "UV":case "ORCO":w(a,c,"TEXTURE_COORDS_UV_ORCO");w(a,"TEXCOORD",1);break;case "NORMAL":w(a,c,"TEXTURE_COORDS_NORMAL");w(a,"NORMAL_TEXCOORD",1);break;default:w(a,c,"TEXTURE_COORDS_NONE")}}function m(a,b){var c=b.game_settings,d=c.alpha_blend;switch(d){case "ALPHA_SORT":a.zb=!0;a.De=!0;a.Ka=!0;a.Nf=!1;break;case "ALPHA":a.zb=!0;a.De=!1;a.Ka=!0;a.Nf=!1;break;case "CLIP":a.zb=!1;a.De=!1;a.Ka=!0;a.Nf=!0;break;case "ADD":a.zb=!0;a.De=!1;a.Ka=!1;a.Nf=
  1021. !1;break;case "OPAQUE":a.zb=!1;a.De=!1;a.Ka=!0;a.Nf=!1;break;default:O.q("Unknown alpha blend mode: "+d)}a.Ob=c.use_backface_culling}function k(a,b){for(var c=[],d=b.length,e=0;e<d;e++){var f=b[e];1==f[a]&&f.texture&&f.texture.s&&c.push(f)}return c}function d(a,b){var c=b.raytrace_transparency;a.Pe[0]=c.fresnel;a.Pe[1]=1-c.fresnel_factor/5;c=b.raytrace_mirror;a.reflect_factor=c.reflect_factor;a.Pe[2]=c.fresnel;a.Pe[3]=1-c.fresnel_factor/5}function y(a,b){var c,d=0;switch(b.specular_shader){case "PHONG":case "COOKTORR":c=
  1022. b.specular_hardness;break;case "WARDISO":c=b.specular_slope;break;case "TOON":c=b.specular_toon_size;d=b.specular_toon_smooth;break;case "BLINN":c=b.specular_ior;d=b.specular_hardness;break;default:ia.error("unsupported specular shader: "+b.specular_shader+' (material "'+b.name+'")'),c=b.specular_hardness}a.Id[0]=b.specular_intensity;a.Id[1]=c;a.Id[2]=d}function H(a,b){switch(b.diffuse_shader){case "LAMBERT":a.pd[0]=0;a.pd[1]=0;break;case "OREN_NAYAR":a.pd[0]=b.roughness;a.pd[1]=0;break;case "FRESNEL":a.pd[0]=
  1023. b.diffuse_fresnel;a.pd[1]=b.diffuse_fresnel_factor;break;case "MINNAERT":a.pd[0]=b.darkness;a.pd[1]=0;break;case "TOON":a.pd[0]=b.diffuse_toon_size;a.pd[1]=b.diffuse_toon_smooth;break;default:ia.error("unsupported diffuse shader: "+b.diffuse_shader+' (material "'+b.name+'")'),a.pd[0]=0,a.pd[1]=0}}function v(a,b,c){if(!b.use_nodes||b.b4w_do_not_render)return!1;var e;switch(c){case "MAIN":N(a,"main.glslv","main.glslf");e=!1;break;case "GLOW":N(a,"main.glslv","main.glslf");e=!0;break;case "SHADOW":N(a,
  1024. "shadow.glslv","shadow.glslf");e=!1;break;case "COLOR_ID":N(a,"color_id.glslv","color_id.glslf"),e=!1}var f=b.node_tree;c=ga.kJ(f,b.uuid,!1,b.name,c);if(!c.Na)return ia.error('Failed to create node graph for material "'+b.name+'", disable nodes'),F(a,b),!0;a.Zi=c.id;a.Ni=!0;w(a,"NODES",1);w(a,"DOUBLE_SIDED_LIGHTING",b.b4w_double_sided_lighting?1:0);l(a,"a_position");b.use_orco_tex_coord&&l(a,"a_orco_tex_coord");m(a,b);a.zf=b.offset_z;var h=b.game_settings.alpha_blend;e?(w(a,"ALPHA",1),w(a,"ALPHA_CLIP",
  1025. 0)):(w(a,"ALPHA","OPAQUE"===h?0:1),w(a,"ALPHA_CLIP","CLIP"===h?1:0));a.Bg=b.b4w_render_above_all&&"OPAQUE"!=h&&"CLIP"!=h;a.$f=b.emit;a.Of=b.ambient;d(a,b);b.b4w_wettable?w(a,"WETTABLE",1):w(a,"WETTABLE",0);var g=null,k=!1;qa.ja(c.Na,function(c,d){switch(d.type){case "UVMAP":case "TEX_COORD_UV":case "GEOMETRY_UV":case "UV_MERGED":var e=d.data.name,f=d.data.value;a.ni||(a.ni={});a.ni[f]=e;break;case "GEOMETRY_VC":case "GEOMETRY_VC1":case "GEOMETRY_VC2":case "GEOMETRY_VC3":e=d.data.name;a.Gc[e]={zk:!0,
  1026. src:[{name:d.data.value}]};f=0;if("GEOMETRY_VC"==d.type)f=7;else for(var h=0;h<d.Ta.length;h++){var m="RGB".indexOf(d.Ta[h].identifier);-1<m&&(f|=1<<2-m)}a.Gc[e].src[0].tf=f;break;case "TEX_COORD_NO":case "TEX_COORD_RE":case "GEOMETRY_NO":case "FRESNEL":case "LAYER_WEIGHT":l(a,"a_tbn_quat");break;case "TEX_COORD_OB":w(a,"USE_MODEL_TSR_INVERSE",1);break;case "TEX_COORD_WI":w(a,"USE_POSITION_CLIP",1);break;case "MATERIAL_BEGIN":d.data.value.ql&&(w(a,"USE_TBN_SHADING",1),"PARTICLES"!=a.type&&l(a,"a_shade_tangs"));
  1027. l(a,"a_tbn_quat");k=!0;break;case "BSDF_BEGIN":k=!0;l(a,"a_tbn_quat");break;case "TEXTURE_COLOR":case "TEXTURE_ENVIRONMENT":e=d.data.name;f=d.data.Eu;h=d.data.value;Q(a,h,e,f);break;case "TEXTURE_NORMAL":case "B4W_PARALLAX":w(a,"CALC_TBN_SPACE",1);l(a,"a_tbn_quat");d.data&&(e=d.data.name,f=d.data.Eu,h=d.data.value,Q(a,h,e,f));break;case "NORMAL_MAP":l(a,"a_tbn_quat");switch(Number(d.Ib[0][1])){case ga.UF:w(a,"CALC_TBN_SPACE",1);break;case ga.TF:case ga.SF:w(a,"USE_MODEL_TSR",1)}break;case "LAMP":d.data&&
  1028. (a.Lk=d.data);break;case "B4W_REFRACTION":a.zb?a.lj=!0:(a.lj=!1,ia.warn('Material "'+b.name+'" is not blend. Disabling refractions.'));w(a,"USE_POSITION_CLIP",1);break;case "VALTORGB":case "CURVE_VEC":case "CURVE_RGB":g||(g=d.data.Xa);break;case "PARTICLE_INFO":"PARTICLES"==a.type&&d.data&&(a.qp=d.data);break;case "VECT_TRANSFORM":switch(Number(d.Ib[1][1])){case ga.jH:w(a,"USE_MODEL_TSR_INVERSE",1);break;case ga.iH:w(a,"USE_VIEW_TSR",1);break;case ga.hH:w(a,"USE_MODEL_TSR",1);break;case ga.gH:w(a,
  1029. "USE_MODEL_TSR",1);w(a,"USE_VIEW_TSR",1);break;case ga.fH:w(a,"USE_VIEW_TSR_INVERSE",1);break;case ga.eH:w(a,"USE_MODEL_TSR_INVERSE",1),w(a,"USE_VIEW_TSR_INVERSE",1)}break;case "OBJECT_INFO":w(a,"USE_MODEL_TSR",1);a.tm[1]=b.pass_index;a.tm[2]=Math.random();break;case "B4W_VECTOR_VIEW":case "GEOMETRY_VW":w(a,"USE_VIEW_TSR",1);break;case "B4W_REFLECT":w(a,"USE_VIEW_TSR_INVERSE",1);break;case "BUMP":l(a,"a_tbn_quat"),G.Uv()?w(a,"USE_DERIVATIVES_EXT",1):ia.warn('"OES_standard_derivatives" extension is not available. Disabling the BUMP node in the "'+
  1030. b.name+'" material.')}});g&&Q(a,g,"u_nodes_texture");k||(a.$d=!0);e=a.Va.yf=ga.Yq(c.Na);z(f,a);f=a.We;c=a.Ve;for(h=0;h<e.length;h++){var n=e[h];switch(n.id){case "VALUE":var r=n.Ms[0];if(r)for(var p=0;p<f.length;p+=2)if(f[p]==r){n.Ib.push(["VALUE_IND",f[p+1]]);break}break;case "RGB":if(r=n.Ms[0])for(p=0;p<c.length;p+=2)if(c[p]==r){n.Ib.push(["RGB_IND",c[p+1]]);break}}}w(a,"NUM_VALUES",a.Xh.length);w(a,"NUM_RGBS",a.Ud.length);return!0}function z(a,b){var c=[],d=[],e=[],f=[];x(a,"",c,d,e,f);b.Xh=c;
  1031. b.We=d;b.Ud=e;b.Ve=f}function x(a,b,c,d,e,f){for(var h=0;h<a.nodes.length;h++){var g=a.nodes[h];if("VALUE"==g.type){var l=M(b,g.name);c.push(g.outputs[0].default_value);d.push(l,d.length/2)}else"RGB"==g.type?(l=M(b,g.name),g=g.outputs[0].default_value.slice(0,3),e.push(g[0],g[1],g[2]),f.push(l,f.length/2)):"GROUP"==g.type&&x(g.node_group.node_tree,M(b,g.name),c,d,e,f)}}function M(a,b){var c;return c=(a?a+"%join%":"")+b}function F(a,b){switch(a.type){case "SHADOW":N(a,"shadow.glslv","shadow.glslf");
  1032. break;case "COLOR_ID":N(a,"color_id.glslv","color_id.glslf");break;default:N(a,"main.glslv","main_stack.glslf")}w(a,"SHADELESS",1);l(a,"a_position");l(a,"a_tbn_quat");sa.set(1,0,1,1,a.od);if(b){var c=b.game_settings.alpha_blend;w(a,"ALPHA","OPAQUE"===c?0:1);w(a,"ALPHA_CLIP","CLIP"===c?1:0);w(a,"VERTEX_COLOR",0);a.zf=b.offset_z;m(a,b)}return!0}function E(a,b){if(b&&(b.b4w_lens_flares||b.b4w_do_not_render))return!1;N(a,"debug_view.glslv","debug_view.glslf");l(a,"a_position");l(a,"a_tbn_quat");l(a,"a_polyindex");
  1033. a.Ka=!0;ea.set(0,0,0,a.wireframe_edge_color);return!0}function A(a,b){if("PHYSICS"!==a.type){"DYNAMIC"==b.type?(b.Ik?w(a,"AU_QUALIFIER","GLSL_IN"):w(a,"AU_QUALIFIER","uniform"),w(a,"STATIC_BATCH",0)):(w(a,"AU_QUALIFIER","GLSL_IN"),w(a,"STATIC_BATCH",1));"DEBUG_VIEW"==a.type&&(G.Uv()?w(a,"WIREFRAME_QUALITY",1):w(a,"WIREFRAME_QUALITY",0),a.Ih?(w(a,"DEBUG_SPHERE",1),a.ir?w(a,"DEBUG_SPHERE_DYNAMIC",1):w(a,"DEBUG_SPHERE_DYNAMIC",0)):w(a,"DEBUG_SPHERE",0),w(a,"ALPHA",1));b.ae&&(a.ae=b.ae);b.Ce?(""!==b.Rh?
  1034. (a.Gc.a_bending_col_main={zk:!0,src:[{name:b.Rh,tf:4}]},l(a,"a_bending_col_main"),""!==b.Rd.sw&&""!==b.Rd.rw&&""!==b.Rd.Yw?(a.Gc.a_bending_col_detail={zk:!0,src:[{name:b.Rd.sw,tf:4},{name:b.Rd.rw,tf:2},{name:b.Rd.Yw,tf:1}]},l(a,"a_bending_col_detail"),l(a,"a_tbn_quat"),w(a,"DETAIL_BEND",1)):w(a,"DETAIL_BEND",0),w(a,"MAIN_BEND_COL",1)):w(a,"MAIN_BEND_COL",0),b.Vj?w(a,"BEND_CENTER_ONLY",1):w(a,"BEND_CENTER_ONLY",0),w(a,"WIND_BEND",1)):w(a,"WIND_BEND",0);w(a,"BILLBOARD_PRES_GLOB_ORIENTATION",b.In|0);
  1035. b.Pf?w(a,"BILLBOARD",1):w(a,"BILLBOARD",0);b.Pf&&b.Ik?w(a,"HAIR_BILLBOARD",1):w(a,"HAIR_BILLBOARD",0);b.Jn?w(a,"BILLBOARD_SPHERICAL",1):w(a,"BILLBOARD_SPHERICAL",0);switch(b.Kn){case "RANDOM":w(a,"BILLBOARD_RANDOM",1);w(a,"BILLBOARD_JITTERED",0);break;case "JITTERED":w(a,"BILLBOARD_RANDOM",0);w(a,"BILLBOARD_JITTERED",1);break;default:w(a,"BILLBOARD_RANDOM",0),w(a,"BILLBOARD_JITTERED",0)}b.Mc&&ba.Hq?w(a,"DYNAMIC_GRASS",1):w(a,"DYNAMIC_GRASS",0);a.Mc=b.Mc;"PARTICLES"!=a.type&&(a.kf=b.kf);a.Xd=b.Xd;
  1036. a.Hd=b.Hd;a.zd=b.zd&&!a.$d&&!(a.zb&&ba.rv);a.yd=b.yd;a.bd=b.bd;a.ad=b.ad;a.tm[0]=b.Ps;a.se=b.se;a.jg=b.jg;a.kg=b.kg;a.md=b.md;a.Zc=b.Zc;b.Ti?(l(a,"a_influence"),w(a,"SKINNED",1),ba.it?(w(a,"DISABLE_TANGENT_SKINNING",1),w(a,"FRAMES_BLENDING",0)):(w(a,"DISABLE_TANGENT_SKINNING",0),b.uk?w(a,"FRAMES_BLENDING",1):w(a,"FRAMES_BLENDING",0)),w(a,"MAX_BONES",b.lg)):(w(a,"SKINNED",0),w(a,"FRAMES_BLENDING",0),w(a,"DISABLE_TANGENT_SKINNING",0));b.Fc?(w(a,"VERTEX_ANIM",1),ba.WE?w(a,"VERTEX_ANIM_MIX_NORMALS_FACTOR",
  1037. .5):w(a,"VERTEX_ANIM_MIX_NORMALS_FACTOR","u_va_frame_factor")):w(a,"VERTEX_ANIM",0);b.Ti&&b.Fc&&O.q("Skinning and vertex animation are mutually exlusive")}}function K(a,b,c){if(b.length){for(var d=ya.Er(b,ba.ssao&&c.b4w_enable_ssao),e=a.Va,f=a.Lk,g=0,l=0;l<a.Va.yf.length;l++){var k=a.Va.yf[l];if("LIGHTING_LAMP"==k.id){var m=b[g++%b.length],n=m.ib,r=ya.da(m,c);if("SPOT"==n.type||"POINT"==n.type)var p=Math.cos(n.il/2);if("SPOT"==n.type)var u=n.Rp*(1-p);m=d.indexOf(m);k.Ib=[["LAMP_TYPE",n.type],["LAMP_IND",
  1038. r.Mk],["LAMP_SPOT_SIZE",ca.G(p||.01)],["LAMP_SPOT_BLEND",ca.G(u||.01)],["LAMP_LIGHT_DIST",ca.G(n.distance)],["LAMP_USE_SPHERE",n.sy?1:0],["LAMP_SHADOW_MAP_IND",m]]}else if("LAMP"==k.id&&f)for(var r=k.Ib[0][1],t=0;t<b.length;t++)if(m=b[t],f[m.mi]==r){n=m.ib;if("SPOT"==n.type||"POINT"==n.type)p=Math.cos(n.il/2);"SPOT"==n.type&&(u=n.Rp*(1-p));k.Ib.push(["LAMP_TYPE",n.type],["LAMP_SPOT_SIZE",ca.G(p||.01)],["LAMP_SPOT_BLEND",ca.G(u||.01)],["LAMP_LIGHT_DIST",ca.G(n.distance)],["LAMP_USE_SPHERE",n.sy?1:
  1039. 0])}}if(f){c=0;for(var v in f)c++;a.jm=new Float32Array(3*c);a.bp=new Float32Array(3*c);a.ap=new Float32Array(3*c);ca.aa(e,"NUM_LAMP_LIGHTS",c);for(l=0;l<b.length;l++)h(a,b[l])}}}function h(a,b){if(b.mi in a.Lk){var c=a.Lk[b.mi],d=L.get_trans_view(b.k.n);a.jm.set(d,3*c);a.bp.set(b.ib.direction,3*c);a.ap.set(b.ib.fo,3*c)}}function l(a,b){var c=a.Di;-1==c.indexOf(b)&&c.push(b);a.Di=c.sort()}function w(a,b,c){ca.aa(a.Va,b,c)}function r(a,b){if("PHYSICS"==a.type)"NAVMESH"==a.vb?a.fa=ua.bE(b,ua.yl,[]):
  1040. (0<b.Wa.length&&ua.UP(b,b.U[0]),a.Ze=b);else{var c=a.Zf;a.Nr&&"PARTICLES"!=a.type&&(b=ua.YK(b));a.Qt&&(b=S.uL(a.Rt,a.St,a.Pt));c=ua.bE(b,c,a.Gc);a.fa=c;a.kf||a.De||a.ae||(c.td=null,c.Gb.length=0);c=b.U.length;a.num_vertices=b.Aa*c;var d;a:switch(a.Zf){case ua.yl:case ua.ln:case ua.sq:d=!0;break a;default:d=!1}d?ua.GM(b)?a.num_triangles=b.ha.length/3*c:a.num_triangles=b.Aa/3*c:a.num_triangles=0}}function J(a,b,c,d,e,h,g,l,k,m,n,r){var p=a.ab,u=[],t=l.b4w_dynamic_grass;if(!m&&t)return u;for(var v="INSTANCE"==
  1041. l.b4w_wind_bend_inheritance,q="INSTANCE"==l.b4w_shadow_inheritance,R="INSTANCE"==l.b4w_reflection_inheritance,D=[],y=[],z=0;z<e.length;z++){var x=e[z].ab.k,C=ya.Su(b);C.Pf=l.b4w_hair_billboard;C.Kn=l.b4w_hair_billboard_type;C.Jn="SPHERICAL"==l.b4w_hair_billboard_geometry;C.Mc=t;C.Ik=!0;v?(C.Ce=x.Ce,C.wl=x.wl,C.Ag=x.Ag,C.Yf=x.Yf,C.Rh=x.Rh,C.Xf=x.Xf,C.Sf=x.Sf,C.zg=x.zg,C.Rd=x.Rd,C.Vj=!1):(C.Ce=p.k.Ce,C.wl=p.k.wl,C.Ag=p.k.Ag,C.Yf=p.k.Yf,C.Rh=p.k.Rh,C.Xf=p.k.Xf,C.Sf=p.k.Sf,C.zg=p.k.zg,C.Rd=p.k.Rd,C.Vj=
  1042. !0);q?(C.Xd=x.Xd,C.Hd=x.Hd,C.zd=x.zd):(C.Xd=p.k.Xd,C.Hd=p.k.Hd,C.zd=p.k.zd);R?(C.yd=x.yd,C.bd=x.bd,C.ad=x.ad,C.md=x.md,C.Zc=x.Zc,C.rg=x.rg):(C.yd=p.k.yd,C.bd=p.k.bd,C.ad=p.k.ad,C.md=p.k.md,C.Zc=p.k.Zc,C.rg=p.k.rg);D.push(C);var J=g[z];J||(J=new Float32Array);r&&O.Yr(k.seed,n);var za=new Float32Array(3),E=new Float32Array([0,0,0,1]),H=[],Ca=pa.$z(ba.yw)&&!l.b4w_initial_rand_rotation&&!l.b4w_hair_billboard,G=4;Ca&&(G=8);for(var V=0;V<J.length;V+=G){za[0]=J[V];za[1]=J[V+1];za[2]=J[V+2];var N=J[V+3]*
  1043. L.get_scale(x.n);if(l.b4w_initial_rand_rotation){switch(l.b4w_rotation_type){case "XYZ":var F=new Float32Array([O.Cf(n),O.Cf(n),O.Cf(n)]);ea.normalize(F,F);break;case "Z":F=new Float32Array([0,0,1]);break;default:O.q("Unsupported random rotation type: "+l.b4w_rotation_type)}la.setAxisAngle(F,l.b4w_rand_rotation_strength*(2*Math.PI*O.Cf(n)-Math.PI),E)}else if(Ca&&(E.set(J.subarray(V+4,V+8)),O.ix(E,E),!l.use_whole_group))if(l.use_rotation_dupli){var ca=L.get_quat_view(x.n);la.multiply(E,ca,E)}else la.multiply(E,
  1044. Da,E);var Q=L.set_sep(za,N,E,L.create());H.push(Q)}y.push(H)}for(var I={},Ja=0,z=0;z<e.length;z++)for(var ka=e[z].data.materials,V=0;V<ka.length;V++)ka[V].name in I?I[ka[V].name]++:(I[ka[V].name]=1,Ja++);for(var Ja=Ja?Ja:1,W={},z=0;z<e.length;z++){var T=e[z],K=h[z],C=D[z],Ia={};C.Ce&&(Ia.au_wind_bending_amp=[C.zg],Ia.au_wind_bending_freq=[C.Ag],Ia.au_detail_bending_freq=[C.Yf],Ia.au_detail_bending_amp=[C.Xf],Ia.au_branch_bending_amp=[C.Sf],C.zg=0,C.Ag=0,C.Yf=0,C.Xf=0,C.Sf=0);H=y[z];if(H.length){for(var na=
  1045. T.data,ka=na.materials,M=Array(ka.length),xa=Array(ka.length),V=0;V<ka.length;V++)if(!ua.HB(na,V))for(var ta=0;ta<K.length;ta++){var ja=K[ta],Aa=f(ja),ga=ka[V];"MAIN"==ja?M[V]=Aa:"DEBUG_VIEW"==ja&&(xa[V]=Aa);Aa.$n=a.b4w_cluster_data.cluster_id;if(B(Aa,ga)){"SHADOW"==ja&&M[V]&&(Aa.$d=M[V].$d);Aa.Zf=ua.yl;A(Aa,C);Aa.aj=l.uuid;Aa.Gi=a.b4w_do_not_cull||l.b4w_dynamic_grass;"MAIN"==Aa.type&&(Aa.Tf=a.b4w_caustics);w(Aa,"DISABLE_FOG",("COLOR_ID"!=ja&&"SHADOW"!=ja&&a.b4w_disable_fogging)|0);"JITTERED"==l.b4w_hair_billboard_type&&
  1046. (Aa.fs=l.b4w_hair_billboard_jitter_amp,Aa.gs=l.b4w_hair_billboard_jitter_freq);t&&(Aa.Ir=l.b4w_dynamic_grass_scale_threshold);v||(delete Aa.Gc.a_bending_col_main,delete Aa.Gc.a_bending_col_detail);var ma=ua.Dv(na,V,Aa.Di,b.Bh,Aa.Gc,Aa.ni),S=p.k.n,U=!0;if(1<I[ga.name]){var qa=0,aa;for(aa in ma.U)qa++;U=ma.ha.length*H.length*qa*I[ga.name]>2E5*Ja}var ra=ba.gz&&U&&"PHYSICS"!=Aa.type;if(ra){Aa.NB=l.use_whole_group?2:1;var wa=O.O(ma);ua.Nz(ma,wa,H);wa.Te={Xm:H,rt:S,VD:"STATIC"==b.type,Tp:Ia,Xk:{},nr:t};
  1047. if(C.Ce&&C.Vj){var va=ea.fromValues(0,0,0);L.transform_vec3(va,p.k.n,va);for(var Ba=[],oa=0;oa<H.length;oa++)Ba.push(va[0],va[1],va[2]);wa.Te.Xk.a_emitter_center={cc:3,data:Ba}}ua.Nz(ma,ma,H);"STATIC"==b.type&&ua.nI(wa.$e,S)}else{var sa=wa=ua.pN(ma,Ia,H),cb=H;sa.ka.au_center_pos=new Float32Array(3*sa.Aa);for(var Hc=cb.length,zc=sa.Aa/Hc,hc=0;hc<Hc;hc++)for(var Bb=cb[hc],Zb=3*zc*hc,Ac=0;Ac<zc;Ac++)sa.ka.au_center_pos[Zb+3*Ac]=Bb[0],sa.ka.au_center_pos[Zb+3*Ac+1]=Bb[1],sa.ka.au_center_pos[Zb+3*Ac+2]=
  1048. Bb[2];wa=sa;if(C.Ce&&C.Vj){var Qb=wa,ic=p.k.n;Qb.ka.a_emitter_center=new Float32Array(3*Qb.Aa);var Bc=ea.fromValues(0,0,0);L.transform_vec3(Bc,ic,Bc);for(var ob=0;ob<Qb.Aa;ob++)Qb.ka.a_emitter_center[3*ob]=Bc[0],Qb.ka.a_emitter_center[3*ob+1]=Bc[1],Qb.ka.a_emitter_center[3*ob+2]=Bc[2];wa=Qb}}var ab=l.b4w_vcol_from_name,Lc=l.b4w_vcol_to_name,fd=Aa,Cb=c,Yb=!v,ib=na,pb=[];if(""!==ab&&""!==Lc){var vb,$c=Lc,Wc=fd.Gc,jc=[],oc=void 0;for(oc in Wc)for(var Hb=Wc[oc].src,pc=0,qc=0;qc<Hb.length;qc++){var Xc=
  1049. Hb[qc].tf;$c==Hb[qc].name&&jc.push(oc,Xc,pc);pc+=O.al(Xc)}vb=jc;if(0<vb.length)for(var Cc=0;Cc<vb.length;Cc+=3)pb.push({Co:ab,pr:7,Ns:vb[Cc],Os:vb[Cc+1],mr:vb[Cc+2]});else ua.qM(fd.Di,"a_color")&&Lc==ib.active_vcol_name&&pb.push({Co:ab,pr:7,Ns:"a_color",Os:7,mr:0})}Yb&&("a_bending_col_main"in Cb&&pb.push({Co:"a_bending_col_main",pr:4,Ns:"a_bending_col_main",Os:4,mr:0}),"a_bending_col_detail"in Cb&&pb.push({Co:"a_bending_col_detail",pr:7,Ns:"a_bending_col_detail",Os:7,mr:0}));for(var rc=wa,Ib=H,Va=
  1050. d,Qa=pb,Rb=Aa.Gc,kc=ra,Ua=!1,wb=0;wb<Qa.length;wb++){var Jb=Qa[wb].Co,Sb=Va.ka[Jb];if(Sb&&0<Sb.length){Ua=!0;break}}if(kc)var $b=rc.Te.Xk;if(Ua){var Db,xb=p.k.N,bb=Va.U[0].a_position,yb=Ib,La=W,ac=new Float32Array(3),Pa=new Float32Array(3),bc=new Uint32Array(yb.length);if(!("verts_indices"in La)){La.Ch=new Float32Array(3);La.Ah=new Float32Array(3);La.uy=new Uint32Array(bb.length/3);La.mp=new Uint32Array(bb.length/3);La.Ch[0]=(xb.max_x-xb.min_x)/20;La.Ch[1]=(xb.max_y-xb.min_y)/20;La.Ch[2]=(xb.max_z-
  1051. xb.min_z)/20;La.Ah[0]=xb.min_x;La.Ah[1]=xb.min_y;La.Ah[2]=xb.min_z;for(var Ka=0;Ka<bb.length/3;Ka++){var ub=O.trunc((bb[3*Ka]-La.Ah[0])/La.Ch[0]),Ob=O.trunc((bb[3*Ka+1]-La.Ah[1])/La.Ch[1]),Tb=O.trunc((bb[3*Ka+2]-La.Ah[2])/La.Ch[2]),ub=O.clamp(ub,0,19),Ob=O.clamp(Ob,0,19),Tb=O.clamp(Tb,0,19);La.uy[Ka]=Ka;La.mp[Ka]=Tb*Math.pow(20,2)+20*Ob+ub}ua.DP(La.mp,La.uy,ua.iu,!0);La.rl=new Uint32Array(Math.pow(20,3));for(Ka=0;Ka<La.mp.length;Ka++)La.rl[La.mp[Ka]]++;delete La.mp;for(Ka=1;Ka<La.rl.length;Ka++)La.rl[Ka]+=
  1052. La.rl[Ka-1]}for(var sc=0;sc<yb.length;sc++){ac[0]=yb[sc][0];ac[1]=yb[sc][1];ac[2]=yb[sc][2];for(var Mc=1E10,lc=-1,md=O.trunc((ac[0]-La.Ah[0])/La.Ch[0]),gd=O.trunc((ac[1]-La.Ah[1])/La.Ch[1]),Nc=O.trunc((ac[2]-La.Ah[2])/La.Ch[2]),md=O.clamp(md,0,19),gd=O.clamp(gd,0,19),Nc=O.clamp(Nc,0,19),Ic=Nc*Math.pow(20,2)+20*gd+md,tc=La.rl[Ic],Ub=0==Ic?0:La.rl[Ic-1];Ub<tc;Ub++){var sb=La.uy[Ub];Pa[0]=bb[3*sb];Pa[1]=bb[3*sb+1];Pa[2]=bb[3*sb+2];ea.sub(Pa,ac,Pa);var uc=ea.sqrLen(Pa);uc<=Mc&&(Mc=uc,lc=sb)}if(-1==lc)for(Ub=
  1053. 0;Ub<bb.length/3;Ub++)Pa[0]=bb[3*Ub],Pa[1]=bb[3*Ub+1],Pa[2]=bb[3*Ub+2],ea.sub(Pa,ac,Pa),uc=ea.sqrLen(Pa),uc<=Mc&&(Mc=uc,lc=Ub);bc[sc]=lc}Db=bc;for(var Oc=rc.Aa/Ib.length,wb=0;wb<Qa.length;wb++){var zb=Qa[wb].Ns,Pb=Qa[wb].Os,Jb=Qa[wb].Co,Dc=Qa[wb].pr,Sb=Va.ka[Jb];switch(zb){case "a_bending_col_main":var Vb=1;break;case "a_bending_col_detail":Vb=3;break;case "a_color":Vb=3;break;default:for(var qb=Vb=0;qb<Rb[zb].src.length;qb++)Vb+=O.al(Rb[zb].src[qb].tf)}if(Sb&&0<Sb.length){var Pc=O.al(Dc),Qc=O.al(Pb),
  1054. gb=Dc&Pb,db=O.fD(gb);gb!=Pb&&ia.error("Wrong color extraction from "+Jb+" to "+zb+".");if(kc)for($b[zb]={cc:Vb,data:[]},qb=0;qb<Ib.length;qb++)for(cc=Db[qb],ad=cc*Pc,Wb=0;Wb<db.length;Wb++)db[Wb]&&(Rc=O.Bm(Dc,Wb),$b[zb].data.push(Sb[ad+Rc]));else{if("a_bending_col_main"==zb||"a_bending_col_detail"==zb)rc.ka[zb]=new Float32Array(rc.Aa*Qc);for(qb=0;qb<Ib.length;qb++){var cc=Db[qb],ad=cc*Pc,bd=qb*Oc*Vb;if(-1!=cc)for(var dc=0;dc<Oc;dc++)for(var Ec=dc*Vb,Wb=0;Wb<db.length;Wb++)if(db[Wb]){var Rc=O.Bm(Dc,
  1055. Wb);rc.ka[zb][bd+Ec+(Qa[wb].mr+O.Bm(Pb,Wb))]=Sb[ad+Rc]}}}}else rc.ka[zb]=new Float32Array(0)}}wa=rc;w(Aa,"USE_INSTANCED_PARTCLS",wa.Te?1:0);Z(Aa);u.push({pa:Aa,te:b,Oq:C,Ze:wa,uf:[ga.name],cd:[a]})}}for(V=0;V<xa.length;V++)xa[V]&&(xa[V].Kl=M[V].id,Z(xa[V]))}}return u}function B(a,b){var c=!0;"NODES_GLOW"==a.type&&(c=ga.Yz(b));return c=c&&u(a,b)}function Z(a){I(a,function(a){a.id=0;a.id=O.AI(a)})}function I(a,b){for(var c=null,d=null,e=[],f=0;f<a.ra.length;f++){var h=a.ra[f],g=h.hf;g&&(c||(c={}),c[f]=
  1056. g,h.hf=null);if(g=h.Ia)d||(d={}),d[f]=g,h.Ia=null;e.push(h.$i);h.$i=0}var h=a.N,g=a.V,l=a.oa,k=a.Ja,m=a.eb,n=a.Ya;a.N=null;a.V=null;a.oa=null;a.Ja=null;a.eb=null;a.Ya=null;var r=a.be;a.be=null;b(a);a.be=r;a.N=h;a.V=g;a.oa=l;a.Ja=k;a.eb=m;a.Ya=n;if(c)for(f in c)a.ra[f].hf=c[f];if(d)for(f in d)a.ra[f].Ia=d[f];for(f=0;f<a.ra.length;f++)a.ra[f].$i=e[f]}function C(a,b,c,d){var e=f("DEBUG_VIEW");N(e,"debug_view.glslv","debug_view.glslf");e.Ih=!0;e.Ka=!0;e.aj=b;e.ir=c;A(e,a);Z(e);if(d.cf){c?(c=d.V,L.set_trans(d.V.D,
  1057. Ca)):(c=d.eb,L.set_trans(c.D,Ca));var h=ea.create();a=S.Br(1,h);b=ea.fromValues(ea.length(c.xa),ea.length(c.ya),ea.length(c.za));ua.kD(a,b,h);var h=ea.normalize(c.xa,xa),g=ea.normalize(c.ya,Ia);c=ea.normalize(c.za,ma);!b[0]&&b[1]&&b[2]?ea.cross(g,c,h):!b[1]&&b[0]&&b[2]?ea.cross(c,h,g):!b[2]&&b[0]&&b[1]&&ea.cross(h,g,c);b=O.LK(h,g,c,za);aa.invert(b,b);b=la.fromMat3(b,R);L.set_quat(b,Ca);L.set_scale(1,Ca);ua.tt(a,Ca)}else c?(b=d.oa,a=S.Br(b.Oa,b.D)):(b=d.Ya,a=S.Br(b.Oa,ea.create()),L.identity(Ca),L.set_trans(b.D,
  1058. Ca),ua.tt(a,Ca));e.N=T.ak(d.N);e.V=T.Yn(d.V);e.oa=T.bk(d.oa);e.Ja=T.ak(d.Ja);e.eb=T.Yn(d.eb);e.Ya=T.bk(d.Ya);ua.ut(a,1,!0);a.ka.a_polyindex=ua.sr(a);r(e,a);return e}function N(a,b,c){a.Va.Jf=b;a.Va.ne=c;ca.RO(a.Va)}function Q(a,b,c,d){d=d||"";-1==a.fd.indexOf(c)&&(a.ra.push(b),a.fd.push(c),a.Rf.push(d),na.LB(b));a.pb&&va.oz(a)}function W(a){a.Va||O.q("No shaders info for batch "+a.name);a.pb=ca.KL(a.Va);var b=a.Va;if(b.status===ca.ku){var c=a.pb.attributes,d=a.fa.Fb,e;for(e in c)d[e]||O.q('missing data for "'+
  1059. e+'" attribute')}b.status&ca.qF&&ia.error("Texture limit exceeded for shader - "+b.ne+', materials: "'+a.nc.join(", ")+'". Maximum texture count: '+Ba.Ew+", actual texture count: "+b.lE);b.status&ca.pF&&ia.error("Fragment uniform limit exceeded for shader - "+b.ne+', materials: "'+a.nc.join(", ")+'". Maximum fragment uniform count: '+Ba.qs+", actual fragment uniform count: "+b.kL);b.status&ca.tF&&ia.error("Vertex uniform limit exceeded for shader - "+b.Jf+', materials: "'+a.nc.join(", ")+'". Maximum vertex uniform count: '+
  1060. Ba.hp+", actual vertex uniform count: "+b.dR);b.status&ca.sF&&ia.error("Vertex attribute limit exceeded for shader - "+b.Jf+', materials: "'+a.nc.join(", ")+'". Maximum attribute count: '+Ba.Fw+", actual attribute count: "+b.pz);b.status&ca.rF&&("MAIN"!=a.type||a.Ni||ia.error("Varying limit exceeded for shader - "+a.Va.ne+', materials: "'+a.nc.join(", ")+'"'),"MAIN"==a.type&&a.Ni||"NODES_GLOW"==a.type)&&(d=c=0,a.ni&&(c=O.Oo(a.ni)),a.Gc&&(d=O.Oo(a.Gc)),ia.error("Varying limit exceeded for node shader - "+
  1061. a.Va.ne+", uv: "+c+", vc: "+d+', materials: "'+a.nc.join(", ")+'"'));b.status&ca.lF&&ia.error("Shader compilation/linking error: "+b.Jf+", "+b.ne+', materials: "'+a.nc.join(", ")+'"');return a.Va.status===ca.ku?(va.ZH(a.pb),va.tu(a),va.oz(a),!0):!1}function V(a,b,c){a=a.F[0].M;for(var d=0;d<a.length;d++)if(a[d].type==c&&!a[d].of&&-1!=a[d].nc.indexOf(b))return a[d];return null}function ka(a,b,c){a=a.F[0].M;for(var d=0;d<a.length;d++)if(a[d].type==c&&a[d].of&&-1!=a[d].nc.indexOf(b))return a[d];return null}
  1062. function ja(a,b){a.od.set(b.od);a.Rg=b.Rg;a.Gf.set(b.Gf);a.ei=b.ei;a.Id.set(b.Id);a.$f=b.$f;a.Of=b.Of;a.Qg=b.Qg;a.Hg=b.Hg;a.reflect_factor=b.reflect_factor;a.Pe.set(b.Pe);a.parallax_scale=b.parallax_scale;a.shallow_water_col.set(b.shallow_water_col);a.shallow_water_col_fac=b.shallow_water_col_fac;a.shore_water_col.set(b.shore_water_col);a.shore_water_col_fac=b.shore_water_col_fac;a.foam_factor=b.foam_factor;a.Lj=b.Lj}var T=q("__boundings"),U=q("__config"),ia=q("__print"),G=q("__extensions"),qa=q("__graph"),
  1063. aa=q("__mat3"),ga=q("__nodemat"),ya=q("__obj_util"),ra=q("__particles"),S=q("__primitives"),la=q("__quat"),pa=q("__reformer"),va=q("__renderer"),wa=q("__scenegraph"),ca=q("__shaders"),ta=q("__subscene"),na=q("__textures"),L=q("__tsr"),ua=q("__geometry"),O=q("__util"),ea=q("__vec3"),sa=q("__vec4"),ba=U.A,Ba=U.Eh,oa=U.Dm,Da=new Float32Array([0,0,-Math.sqrt(.5),Math.sqrt(.5)]),xa=new Float32Array(3),Ia=new Float32Array(3),ma=new Float32Array(3),R=new Float32Array(4),Ca=L.create(),za=aa.create();a.rR=
  1064. Ja;var Ja="u_colormap0 u_colormap1 u_stencil0 u_specmap0 u_normalmap0 u_mirrormap".split(" "),Aa={};a.cI=function(a){return Aa[a]||null};a.dI=function(a,b){Aa[a]=b};a.DL=function(a,c,d,e){var f;f=a.s.Na;for(var h=[],l=0;l<c.length;l++){var k=c[l],m=k.ab,n=m.k;if(!m.Yo){var u=ya.is_dynamic(m),m=m.k,t=k.data.b4w_boundings,v=t.bs_rad,w=t.bs_cen,q=t.bc_rad,R=t.caxis_x,y=t.caxis_y,z=t.caxis_z,x=t.be_ax,B=t.be_cen,A=t.rbb.rbb_c,J=t.rbb.rbb_s,t=T.ak(m.Uj);m.Pf&&(v=Math.max(Math.abs(t.max_x),Math.abs(t.min_x)),
  1065. w=Math.max(Math.abs(t.max_y),Math.abs(t.min_y)),J=Math.max(Math.abs(t.max_z),Math.abs(t.min_z)),J=Math.sqrt(v*v+w*w+J*J),q=Math.sqrt(v*v+w*w),t.max_x=t.max_y=t.max_z=J,t.min_x=t.min_y=t.min_z=-J,v=J,w=[0,0,0],R=[1,0,0],y=[0,1,0],z=[0,0,1],x=[J,J,J],B=[0,0,0],A=[0,0,0],J=[J,J,J]);T.Hl(t,m.N);T.Zj(m.N,m.n,m.Ja);m.oa=T.Gu(v,O.f32(w));T.Mn(m.oa,m.n,m.Ya);m.V=u?T.Hn(R,y,z,B):T.Hn([1,0,0],[0,1,0],[0,0,1],B);ea.scale(m.V.xa,x[0],m.V.xa);ea.scale(m.V.ya,x[1],m.V.ya);ea.scale(m.V.za,x[2],m.V.za);T.Ln(m.V,
  1066. m.n,m.eb);u?D(m,q,q,m.N):(m.Vc=T.CO(A,R,y,z,J),T.Du(m.Vc,m.n,m.vz));h.push.apply(h,g(k,n,f))}}f=p(h);for(h=0;h<f.length;h++)if(l=f[h].pa,l.nc=f[h].uf,r(l,f[h].Ze),K(l,d,a),"STATIC"==f[h].k.type&&"COLOR_ID"!=l.type){if(k=O.Wp("%meta%"+l.type+"%"+l.nc.join("%")+"%"),u=ya.mo(k,"MESH"),ya.BN(u,f[h].k),ya.zn(u,a),ya.Iq(u,a,l),e.push(u),"MAIN"==l.type)for(n=0;n<f[h].cd.length;n++)k=f[h].cd[n].ab,k.ts.push(u)}else k=f[h].cd[0].ab,ya.Iq(k,a,l);if(ba.debug_view){for(h=0;h<f.length;h++)if(d=f[h].k,"DYNAMIC"==
  1067. d.type&&(k=f[h].cd[0].ab,l=f[h].pa,"MAIN"==l.type)){n=ya.da(k,a);u=n.M;m=!1;for(n=0;n<u.length;n++)u[n].Ih&&(m=!0);m||(d=C(d,k.name,!0,l),ya.Iq(k,a,d))}for(h=0;h<e.length;h++)k=e[h],d=k.k,n=ya.da(k,a),l=n.M[0],"MAIN"==l.type&&(d=C(d,k.name,!1,l),ya.Iq(k,a,d));for(h=0;h<f.length;h++)l=f[h].pa,"DEBUG_VIEW"==l.type&&(l.hr=h)}for(h=0;h<c.length;h++)for(n=ya.da(c[h].ab,a),u=n.M,n=0;n<u.length;n++)b(u[n]);for(h=0;h<e.length;h++)for(n=ya.da(e[h],a),u=n.M,n=0;n<u.length;n++)b(u[n])};a.HH=function(a,d,e){var h=
  1068. a.s.hn,g=f("MAIN");N(g,"sky.glslv","sky.glslf");if(d.procedural_skydome)w(g,"PROCEDURAL_SKYDOME",1),g.lr=!0;else{var k=h.Jm,m=wa.Xb(a.s.Na,ta.Mf).p.gc;Q(g,m,"u_sky");k&&(w(g,"WO_SKYTEX",1),k.invert&&w(g,"MTEX_NEGATIVE",1),k.OE&&w(g,"MTEX_RGBTOINT",1),w(g,"BLENDTYPE",k.Fz),k.JE&&w(g,"WOMAP_BLEND",1),k.KE&&w(g,"WOMAP_HORIZ",1),k.ME&&w(g,"WOMAP_ZENUP",1),k.LE&&w(g,"WOMAP_ZENDOWN",1));h.fq&&w(g,"WO_SKYBLEND",1);h.gq&&w(g,"WO_SKYPAPER",1);h.hq&&w(g,"WO_SKYREAL",1)}d.yd&&(g.yd=!0,d.bd&&(g.bd=!0));g.zf=
  1069. 99999;l(g,"a_position");d=S.zL();r(g,d);b(g);e=ya.da(e,a);g.Gi=!0;g.V=T.Uf();g.eb=T.Uf();g.N=T.ld();g.Ja=T.ld();g.oa=T.Og();g.Ya=T.Og();Z(g);e.M.push(g);wa.Xb(a.s.Na,ta.Fe)&&(a=c(g),a.type="DEBUG_VIEW",a.vb="",E(a),w(a,"DEBUG_VIEW_SPECIAL_SKYDOME",1),d.ka.a_polyindex=ua.sr(d),r(a,d),a.Kl=g.id,Z(a),e.M.push(a))};a.bv=function(a,b,d){d=ya.da(a,d).M;var e=[];wa.Xb(b,ta.Hc);var f=wa.Xb(b,ta.hd),h=wa.Xb(b,ta.Pc),g=wa.Xb(b,ta.Lf);b=wa.Xb(b,ta.Ee);for(var l=0;l<d.length;l++){var k=d[l],m=null;"SHADOW"==
  1070. k.type&&"RECEIVE"==k.vb&&k.Xd&&(m=c(k),m.vb="CAST");"MAIN"!=k.type&&"PARTICLES"!=k.type||!f&&!h||!k.yd||(m=c(k),m.vb="REFLECT",m.lj=!1,m.De&&(m.De=!1,m.Ka=!1),m.Ua=k.Ua);"COLOR_ID"==k.type&&g&&a.k.Ec&&(b&&a.k.oj?(m=c(k),m.vb="OUTLINE"):k.vb="OUTLINE");m&&(m.of=!0,Z(m),e.push(m))}d.push.apply(d,e)};a.bP=D;a.oR=function(a,b,c){b?b=c*(b.max_z-b.min_z):(b=1,O.q("No bounding box for mesh"));if(0==b)return 0;a=b*Math.tan(O.deg_to_rad(a));return.5*(Math.sqrt(2*Math.sqrt(4*a+1)+2)/2-1)/b};a.eI=function(a){return{max_x:a.max_x,
  1071. min_x:a.min_x,max_y:a.max_y,min_y:a.min_y,max_z:a.max_z,min_z:a.min_z}};a.qQ=F;a.pQ=K;a.YO=h;a.nz=function(a,b){w(a,"CSM_SECTION1",0);w(a,"CSM_SECTION2",0);w(a,"CSM_SECTION3",0);w(a,"NUM_CAST_LAMPS",0);if(b){w(a,"NUM_CAST_LAMPS",b.ig.length);ba.os&&w(a,"MAC_OS_SHADOW_HACK",1);for(var c=1;c<b.csm_num;c++)w(a,"CSM_SECTION"+String(c),1);w(a,"SHADOW_TEX_RES",ca.G(b.csm_resolution));w(a,"CSM_FADE_LAST_CASCADE",b.fade_last_cascade?1:0);w(a,"CSM_BLEND_BETWEEN_CASCADES",b.blend_between_cascades?1:0)}else w(a,
  1072. "SHADOW_TEX_RES",0),w(a,"CSM_FADE_LAST_CASCADE",0),w(a,"CSM_BLEND_BETWEEN_CASCADES",0)};a.fb=w;a.Yc=function(a,b){return ca.PL(a.Va,b)};a.nQ=r;a.oQ=Z;a.Jq=N;a.vi=Q;a.wO=function(a,b,c){c=a.fd.indexOf(c);-1<c&&(a.ra[c]=b)};a.MJ=function(a,b){var c=f("MAIN");c.zb=!0;sa.set(b[0],b[1],b[2],.5,c.od);c.Zf=ua.ln;r(c,a);N(c,"main.glslv","main_stack.glslf");w(c,"SHADELESS",1);W(c);return c};a.qc=W;a.CL=function(a,c){for(var d=0;d<c.length;d++){var e=c[d].ab,h=f("LINE");N(h,"line.glslv","line.glslf");h.zb=
  1073. !0;h.Gi=!0;var g=S.BL();r(h,g);b(h);h.N=T.ld();h.Ja=T.ld();h.V=T.Uf();h.eb=T.Uf();h.Ya=T.Og();h.oa=T.Og();ya.zn(e,a);ya.da(e,a).M.push(h);W(h)}};a.KI=function(a){return a.pb.rp.length?a.pb.cx.u_cube_fog?!0:!1:!1};a.wJ=function(){var a=f("DEPTH_PACK");a.Ob=!0;a.Ka=!1;var b=S.Cc();r(a,b);N(a,"postprocessing/postprocessing.glslv","postprocessing/depth_pack.glslf");W(a);return a};a.dv=function(a){var b=f("POSTPROCESSING");N(b,"postprocessing/postprocessing.glslv","postprocessing/postprocessing.glslf");
  1074. switch(a){case "NONE":w(b,"POST_EFFECT","POST_EFFECT_NONE");break;case "GRAYSCALE":w(b,"POST_EFFECT","POST_EFFECT_GRAYSCALE");break;case "X_BLUR":case "Y_BLUR":w(b,"POST_EFFECT","POST_EFFECT_BLUR");break;case "X_GLOW_BLUR":case "Y_GLOW_BLUR":w(b,"POST_EFFECT","POST_EFFECT_GLOW_BLUR");break;case "X_DOF_BLUR":case "Y_DOF_BLUR":w(b,"POST_EFFECT","POST_EFFECT_DOF_BLUR");break;case "X_ALPHA_BLUR":case "Y_ALPHA_BLUR":w(b,"POST_EFFECT","POST_EFFECT_ALPHA_BLUR");break;case "X_EXTEND":case "Y_EXTEND":w(b,
  1075. "POST_EFFECT","POST_EFFECT_EXTEND");break;case "FLIP_CUBEMAP_COORDS":w(b,"POST_EFFECT","FLIP_CUBEMAP_COORDS");break;default:O.q("Wrong postprocessing effect: "+a)}b.Ob=!0;b.Ka=!1;a=S.Cc();r(b,a);W(b);return b};a.PJ=function(a){var b=f("SSAO");b.Ka=!1;b.Ob=!0;var c=S.Cc();r(b,c);N(b,"postprocessing/postprocessing.glslv","postprocessing/ssao.glslf");w(b,"SSAO_QUALITY","SSAO_QUALITY_"+a.UD);w(b,"SSAO_HEMISPHERE",a.ssao_hemisphere?1:0);a={width:4,height:4,data:new Uint8Array([150,123,254,0,127,3,97,0,
  1076. 164,246,99,0,155,177,14,0,54,83,221,0,2,142,143,0,32,57,79,0,49,160,32,0,57,232,115,0,178,216,203,0,70,196,218,0,241,164,82,0,225,58,85,0,233,88,189,0,144,25,203,0,117,73,12,0])};c=na.ik(na.Dg,!1);c.source="NODE_TEX";na.Yp(c,a,0);Q(b,c,"u_ssao_special_tex");W(b);return b};a.QJ=function(a){var b=f("SSAO_BLUR");b.Ka=!1;b.Ob=!0;var c=S.Cc();r(b,c);N(b,"postprocessing/postprocessing.glslv","postprocessing/ssao_blur.glslf");w(b,"SSAO_BLUR_DEPTH",a.ssao_blur_depth?1:0);W(b);return b};a.tJ=function(a){var b=
  1077. f("COC");b.Ka=!1;b.Ob=!0;var c=S.Cc();r(b,c);N(b,"postprocessing/postprocessing.glslv","postprocessing/coc.glslf");w(b,"DEPTH_RGBA",1);switch(a){case "COC_ALL":w(b,"COC_TYPE","COC_ALL");break;case "COC_FOREGROUND":w(b,"COC_TYPE","COC_FOREGROUND");break;case "COC_COMBINE":w(b,"COC_TYPE","COC_COMBINE")}W(b);return b};a.xJ=function(a){var b=f("DOF");b.Ka=!1;b.Ob=!0;var c=S.Cc();r(b,c);N(b,"postprocessing/postprocessing.glslv","postprocessing/dof.glslf");a.p.dof_bokeh?w(b,"DOF_TYPE","DOF_BOKEH"):(w(b,
  1078. "DOF_TYPE","DOF_SIMPLE"),w(b,"DEPTH_RGBA",1));W(b);return b};a.GJ=function(){var a=f("OUTLINE");a.Ka=!1;a.Ob=!0;var b=S.Cc();r(a,b);N(a,"postprocessing/postprocessing.glslv","postprocessing/outline.glslf");W(a);return a};a.zJ=function(){var a=f("GLOW_COMBINE");a.Ka=!1;a.Ob=!0;var b=S.Cc();r(a,b);N(a,"postprocessing/postprocessing.glslv","postprocessing/glow.glslf");W(a);return a};a.AJ=function(a,b,c){var d=f("GOD_RAYS");d.Ka=!1;d.Ob=!0;var e=S.tL();r(d,e);N(d,"postprocessing/god_rays.glslv","postprocessing/god_rays.glslf");
  1079. w(d,"DEPTH_RGBA",a?1:0);w(d,"WATER_EFFECTS",b?1:0);w(d,"STEPS_PER_PASS",ca.G(c,1));W(d);return d};a.BJ=function(){var a=f("GOD_RAYS_COM");a.Ka=!1;a.Ob=!0;var b=S.Cc();r(a,b);N(a,"postprocessing/postprocessing.glslv","postprocessing/god_rays_combine.glslf");w(a,"SAFARI_CANVAS_ALPHA_HACK",ba.iD?1:0);W(a);return a};a.vJ=function(a,b){var c=f("SKY");c.Ka=!1;c.Ob=!0;var d=S.vL();r(c,d);if(b.procedural_skydome)N(c,"skybox.glslv","proc_skybox.glslf"),w(c,"WATER_EFFECTS",1);else{N(c,"skybox.glslv","tex_skybox.glslf");
  1080. if(a){d=a.s.hn;if(d.ot){var e=d.ot.texture,h=na.Bd(d.ot);Q(c,h,"u_sky_texture",e.name)}d.Jm&&w(c,"WO_SKYTEX",1)}b.ID&&w(c,"MTEX_NEGATIVE",1);b.ND&&w(c,"MTEX_RGBTOINT",1);w(c,"BLENDTYPE",b.HD);b.JD&&w(c,"WOMAP_BLEND",1);b.KD&&w(c,"WOMAP_HORIZ",1);b.MD&&w(c,"WOMAP_ZENUP",1);b.LD&&w(c,"WOMAP_ZENDOWN",1);b.fq&&w(c,"WO_SKYBLEND",1);b.gq&&w(c,"WO_SKYPAPER",1);b.hq&&w(c,"WO_SKYREAL",1)}c.V=T.Uf();c.eb=T.Uf();c.N=T.ld();c.Ja=T.ld();c.oa=T.Og();c.Ya=T.Og();W(c);return c};a.yH=function(a,b){var c=wa.Xb(a.s.Na,
  1081. ta.Mf);c&&(c=c.Ha[0].ma[0].pa,ya.da(b,a).M.push(c))};a.oJ=function(a){var b=f("ANTIALIASING");b.Ka=!1;b.Ob=!0;var c=S.Cc();r(b,c);N(b,"postprocessing/postprocessing.glslv","postprocessing/antialiasing.glslf");ba.VC?(w(b,"AA_METHOD","AA_METHOD_FXAA_QUALITY"),w(b,"AA_QUALITY",a.YA)):w(b,"AA_METHOD","AA_METHOD_FXAA_LIGHT");W(b);return b};a.NJ=function(a){var b=f("SMAA"),c=S.Cc();r(b,c);N(b,"postprocessing/smaa.glslv","postprocessing/smaa.glslf");w(b,"AA_METHOD","AA_METHOD_SMAA_HIGH");w(b,"SMAA_PASS",
  1082. a);w(b,"SMAA_PREDICATION",0);w(b,"SMAA_REPROJECTION",0);W(b);b.Ka=!1;b.Ob=!0;return b};a.uJ=function(){var a=f("COMPOSITING");a.Ka=!1;a.Ob=!0;var b=S.Cc();r(a,b);N(a,"postprocessing/postprocessing.glslv","postprocessing/compositing.glslf");W(a);return a};a.FJ=function(){var a=f("MOTION_BLUR");a.Ob=!0;a.Ka=!1;var b=S.Cc();r(a,b);N(a,"postprocessing/postprocessing.glslv","postprocessing/motion_blur.glslf");W(a);return a};a.RJ=function(a){var b=f("STEREO");b.Ob=!0;b.Ka=!1;var c=S.Cc();r(b,c);N(b,"postprocessing/postprocessing.glslv",
  1083. "postprocessing/stereo.glslf");w(b,"ANAGLYPH","ANAGLYPH"===a?1:0);W(b);return b};a.CJ=function(){var a=f("LUMINANCE");a.Ka=!1;a.Ob=!0;var b=S.Cc();r(a,b);N(a,"postprocessing/postprocessing.glslv","postprocessing/luminance.glslf");W(a);return a};a.pJ=function(){var a=f("LUMINANCE");a.Ka=!1;a.Ob=!0;var b=S.Cc();r(a,b);N(a,"postprocessing/postprocessing.glslv","postprocessing/luminance_av.glslf");W(a);return a};a.DJ=function(){var a=f("LUMINANCE_X_BLUR");a.Ka=!1;a.Ob=!0;var b=S.Cc();r(a,b);N(a,"postprocessing/luminance_trunced.glslv",
  1084. "postprocessing/luminance_trunced.glslf");W(a);return a};a.rJ=function(){var a=f("POSTPROCESSING");a.Ob=!0;a.Ka=!1;var b=S.Cc();r(a,b);N(a,"postprocessing/postprocessing.glslv","postprocessing/bloom_blur.glslf");W(a);return a};a.sJ=function(){var a=f("BLOOM");a.Ka=!1;a.Ob=!0;var b=S.Cc();r(a,b);N(a,"postprocessing/postprocessing.glslv","postprocessing/bloom_combine.glslf");W(a);return a};a.oK=function(){var a=f("VELOCITY");a.Ka=!1;a.Ob=!0;var b=S.Cc();r(a,b);N(a,"postprocessing/postprocessing.glslv",
  1085. "postprocessing/velocity.glslf");W(a);return a};a.nJ=function(){var a=f("ANCHOR_VISIBILITY");a.Ka=!0;a.Ob=!0;a.Zf=ua.ln;N(a,"anchors.glslv","anchors.glslf");var b=S.dB(1);r(a,b);w(a,"ANCHOR_NUM",1);W(a);a.Pj=new Float32Array(3);return a};a.HJ=function(){var a=f("PERFORMANCE");a.Ka=!1;a.Ob=!0;var b=S.Cc();r(a,b);N(a,"postprocessing/postprocessing.glslv","postprocessing/performance.glslf");W(a);return a};a.mQ=function(a,b){var c=b.length/3;if(c!=a.Pj.length/3){var d=S.dB(c);r(a,d);w(a,"ANCHOR_NUM",
  1086. c);W(a)}a.Pj=b};a.Ov=function(a){if(!a.F.length)return null;a=a.F[0];return a.M.length?a.M[0]:null};a.La=V;a.Oe=ka;a.HT=ja;a.gS=function(a,b){for(var c=a.F[0].M,d=0;d<c.length;d++)if(c[d].type==b)return!0;return!1};a.fA=function(a){for(var b=a.ra,c=0;c<b.length;c++)na.lO(b[c]);a.fa.jf&&ua.bJ(a.fa);a.jf&&a.be.length&&va.eJ(a);a.pb.jf&&ca.dJ(a.pb);a.Zi&&(b=ga.uB(a.Zi))&&b.eA&&ga.cJ(a.Zi)};a.inherit_material=function(a,b,c,d){for(var e=["MAIN","SHADOW","COLOR_ID"],f=!1,h=0;h<e.length;h++){var g=e[h],
  1087. l=V(a,b,g),k=V(c,d,g);if(l&&k){var f=!0,m=ka(c,d,g);"MAIN"==g&&(ja(k,l),m&&ja(m,l));for(g=0;g<k.fd.length;g++){var n=k.fd[g];if(-1!==Ja.indexOf(n)){var r=l.fd.indexOf(n);-1!==r&&(k.ra[g]=l.ra[r],m&&(n=m.fd.indexOf(n),-1!==n&&(m.ra[n]=l.ra[r])))}}}}f||ia.error("Wrong objects for inheriting material!")};a.set_nodemat_value=function(a,b,c,d){for(var e=0;e<a.F.length;e++)for(var f=a.F[e].M,h=0;h<f.length;h++){var g=f[h];-1!=g.nc.indexOf(b)&&g.Xh&&(g.Xh[c]=d)}};a.set_nodemat_rgb=function(a,b,c,d,e,f){for(var h=
  1088. 0;h<a.F.length;h++)for(var g=a.F[h].M,l=0;l<g.length;l++){var k=g[l];-1!=k.nc.indexOf(b)&&k.Ud&&(k.Ud[3*c]=d,k.Ud[3*c+1]=e,k.Ud[3*c+2]=f)}};a.get_nodemat_value=function(a,b){return a.Xh[b]};a.get_nodemat_rgb=function(a,b,c){c[0]=a.Ud[3*b];c[1]=a.Ud[3*b+1];c[2]=a.Ud[3*b+2];return c};a.Wg=function(a,b){var c;c=b[1];for(var d=2;d<b.length;d++)c+="%join%"+b[d];for(d=0;d<a.length;d+=2)if(a[d]==c)return a[d+1];return null};a.cleanup=function(){Aa={}}};fdage.module.__nodemat=function(a,q){function f(a,b,h,g,m){var r=Da.get_active(),r=e(b,m,r.uuid);if(r in Ca)return Ca[r];var v={Na:null,id:r,eA:!0};h||(Ja={},Aa=0);if("SHADOW"!=m&&"COLOR_ID"!=m){b=O.create();for(var w=a.nodes,q=0;q<w.length;q++)if(null==Z(b,w[q],0,g,m))return Ca[r]=null,v;if(h&&-1==J(a,b,"GROUP_OUTPUT","group"))return v;q=S(b);w=h?a.links:a.links.slice();if(!la(b,w,q))return v;if(h)return v.Na=b,v;for(q=0;q<w.length;q++){h=w[q];for(var R=y(h.from_node,b),D=y(h.to_node,b),x=0;x<R.length;x++)for(var C=
  1089. 0;C<D.length;C++){var B=R[x],A=D[C],za=O.Ma(b,B),E=O.Ma(b,A);if(!ya(b,B,A,za,E,h))return Ca[r]=null,v}}d(b);"GLOW"==m?q=J(a,b,"B4W_GLOW_OUTPUT","material",!0):(q=J(a,b,"OUTPUT","material",!1,!0),-1==q&&(q=J(a,b,"OUTPUT_MATERIAL","material",!1,!0)));-1==q&&(b=n(),q=0);H(b);a=O.st(b,q,O.qq);c(a,g);p(a,g);t(a);z(a);l(a);k(a,g,m);na(a)}else g=f(a,b,h,g,"MAIN"),g=O.clone(g.Na,function(a){var b=xa.Zn(a);b.I=xa.O(a.I);b.Ta=xa.O(a.Ta);return b}),q=J(a,g,"OUTPUT","material",!1,!0),-1==q&&(q=J(a,g,"OUTPUT_MATERIAL",
  1090. "material",!1,!0)),u(g,q),a=O.st(g,q,O.qq),t(a);v.Na=a;return Ca[r]=v}function c(a,c){var d=[];O.ja(a,function(a,b){"MATERIAL"!=b.type&&"MATERIAL_EXT"!=b.type||d.push({lp:a,node:b})});for(var e=0;e<d.length;++e){var f=d[e].lp,h=d[e].node,g=O.yk(a);O.ui(a,g,h.data.sN);var l=O.yk(a);O.ui(a,l,h.data.tN);O.Jc(a,g,l,[4,2]);for(var k={5:["LIGHTING_APPLY",10],6:["LIGHTING_APPLY",6],7:["MATERIAL_END",3],8:["MATERIAL_END",4],9:["MATERIAL_END",5]},m=O.dm(a,f),n=[],r=[],p=[],t={},u=0;u<m;u++){var v=O.Mh(a,f,
  1091. u);v in t||(t[v]=0);var w=O.rd(a,v,f,t[v]++);n.push([v,f,w]);var q=k[w[1]];if(q)switch(q[0]){case "MATERIAL_END":r.push([v,l,[w[0],q[1]]]);break;case "LIGHTING_APPLY":p.push([v,[w[0],q[1]]])}else r.push([v,g,w])}b(a,h.data.value,g,l,p,c);for(u=0;u<n.length;u++)O.zm(a,n[u][0],n[u][1],n[u][2]);for(u=0;u<r.length;u++)O.Jc(a,r[u][0],r[u][1],r[u][2]);h=O.Bf(a,f);g=[];k=[];m={};for(u=0;u<h;u++)n=O.fg(a,f,u),n in m||(m[n]=0),w=O.rd(a,f,n,m[n]++),g.push([f,n,w]),k.push([l,n,w]);for(u=0;u<g.length;u++)O.zm(a,
  1092. g[u][0],g[u][1],g[u][2]);for(u=0;u<k.length;u++)O.Jc(a,k[u][0],k[u][1],k[u][2]);O.Df(a,f)}}function b(a,b,c,d,e,f){var h={name:"LIGHTING_AMBIENT",type:"LIGHTING_AMBIENT"},l=Z(a,h,0,f,null),k=l;g(a,c,l,"E");g(a,c,l,"A");g(a,c,l,"D");l=Da.get_active();l=ba.Eb(l,"LAMP",ba.DATA_ID_ALL);if(!b.$d)for(var m,n,r,p=0;p<l.length;p++){r=l[p].ib;h={name:"LIGHTING_LAMP",type:"LIGHTING_LAMP"};m=Z(a,h,0,f,null);h={name:"LIGHTING_APPLY",type:"LIGHTING_APPLY"};n=Z(a,h,0,f,null);g(a,k,n,"color");g(a,k,n,"specular");
  1093. g(a,m,n,"ldir");g(a,c,n,"normal");g(a,c,n,"D");g(a,c,n,"S");g(a,m,n,"lcolorint");g(a,c,m,"shadow_factor");k="SPECULAR_"+b.Pp;h={name:k,type:k,use_tangent_shading:b.ql};k=Z(a,h,0,f,null);g(a,m,k,"ldir");g(a,m,k,"lfac");g(a,c,k,"normal");g(a,k,n,"sfactor");g(a,m,k,"norm_fac");g(a,c,k,"sp_params");k="HEMI"==r.type?"DIFFUSE_LAMBERT":"DIFFUSE_"+b.vo;h={name:k,type:k,use_tangent_shading:b.ql};r=Z(a,h,0,f,null);g(a,m,r,"ldir");g(a,m,r,"lfac");g(a,c,r,"normal");g(a,m,r,"norm_fac");g(a,r,n,"lfactor");"DIFFUSE_LAMBERT"!=
  1094. k&&g(a,c,r,"dif_params");for(m=0;m<e.length;m++)O.Jc(a,e[m][0],n,e[m][1]);k=n}g(a,k,d,"color");g(a,k,d,"specular")}function g(a,b,c,d){for(var e=O.Ma(a,b),f=O.Ma(a,c),h,g=0;g<f.I.length;g++)if(d==f.I[g].identifier){h=g;break}if(void 0!==h){for(var l,g=0;g<e.Ta.length;g++)if(d==e.Ta[g].identifier){l=g;break}void 0!==l&&O.Jc(a,b,c,[l,h])}}function p(a,b){var c=[];O.ja(a,function(a,b){"OUTPUT_MATERIAL"==b.type&&c.push({lp:a,node:b})});for(var d=0;d<c.length;++d){var e=c[d].lp,f=c[d].node,h=O.yk(a);O.ui(a,
  1095. h,f.data.qI);var g=O.yk(a);O.ui(a,g,f.data.rI);O.Jc(a,h,g,[4,2]);for(var l=O.dm(a,e),k=[],m=[],n={},r=0;r<l;r++){var p=O.Mh(a,e,r),u=O.Ma(a,p);p in n||(n[p]=0);var t=O.rd(a,p,e,n[p]++);k.push([p,e,t]);m.push([p,h,t]);if("BSDF_GLOSSY"==u.type||"BSDF_DIFFUSE"==u.type||"MIX_SHADER"==u.type||"EMISSION"==u.type){m.push([p,h,[1,1]]);m.push([p,h,[2,2]]);m.push([p,h,[3,3]]);m.push([p,h,[4,4]]);m.push([p,h,[5,5]]);m.push([p,h,[6,6]]);m.push([p,h,[7,7]]);m.push([p,h,[8,8]]);var v=[];O.ja(a,function(a,b){"MIX_SHADER"==
  1096. b.type&&v.push({lp:a,node:b})});for(t=0;t<v.length;++t)for(var p=v[t].lp,u=O.dm(a,p),w=0;w<u;w++){var q=O.Mh(a,p,w),R=O.Ma(a,q),y=O.rd(a,q,p,0);0==y[1]||"BSDF_GLOSSY"!=R.type&&"BSDF_DIFFUSE"!=R.type&&"MIX_SHADER"!=R.type&&"EMISSION"!=R.type||(R=1==y[1]?3:11,m.push([q,p,[1,R]]),m.push([q,p,[2,R+1]]),m.push([q,p,[3,R+2]]),m.push([q,p,[4,R+3]]),m.push([q,p,[5,R+4]]),m.push([q,p,[6,R+5]]),m.push([q,p,[7,R+6]]),m.push([q,p,[8,R+7]]))}}}D(a,f.data.value,h,g,b);for(r=0;r<k.length;r++)O.zm(a,k[r][0],k[r][1],
  1097. k[r][2]);for(r=0;r<m.length;r++)O.Jc(a,m[r][0],m[r][1],m[r][2]);f=O.Bf(a,e);h=[];l=[];k={};for(r=0;r<f;r++)m=O.fg(a,e,r),m in k||(k[m]=0),t=O.rd(a,e,m,k[m]++),h.push([e,m,t]),l.push([g,m,t]);for(r=0;r<h.length;r++)O.zm(a,h[r][0],h[r][1],h[r][2]);for(r=0;r<l.length;r++)O.Jc(a,l[r][0],l[r][1],l[r][2]);O.Df(a,e)}}function D(a,b,c,d,e){var f=[],h={name:"LIGHTING_AMBIENT",type:"LIGHTING_AMBIENT"},l=Z(a,h,0,e,null),k=l;g(a,c,l,"E");g(a,c,l,"A");g(a,c,l,"D");for(var l=Da.get_active(),l=ba.Eb(l,"LAMP",ba.DATA_ID_ALL),
  1098. m,n,r=0;r<l.length;r++){h={name:"LIGHTING_LAMP",type:"LIGHTING_LAMP"};m=Z(a,h,0,e,null);h={name:"LIGHTING_APPLY",type:"LIGHTING_APPLY"};n=Z(a,h,0,e,null);g(a,k,n,"color");g(a,k,n,"specular");g(a,m,n,"ldir");g(a,c,n,"normal");g(a,c,n,"D");g(a,c,n,"S");g(a,m,n,"lcolorint");g(a,c,m,"shadow_factor");k=b.sI;h={name:k,type:k};k=Z(a,h,0,e,null);g(a,m,k,"ldir");g(a,m,k,"lfac");g(a,c,k,"normal");g(a,m,k,"norm_fac");g(a,c,k,"bsdf_params");g(a,k,n,"lfactor");g(a,k,n,"sfactor");for(k=0;k<f.length;k++)O.Jc(a,
  1099. f[k][0],n,f[k][1]);k=n}g(a,c,d,"s_color");g(a,c,d,"metalness");g(a,c,d,"e_color");g(a,c,d,"emission");g(a,k,d,"color");g(a,k,d,"specular")}function e(a,b,c){switch(b){case "GLOW":return a+c+"11";case "COLOR_ID":case "SHADOW":return a+c+"00";default:return a+c+"10"}}function u(a,b){O.If(a,function(c,d,e){var f=O.Ma(a,d);d==b&&"Color"==f.I[e[1]].identifier&&O.zm(a,c,d,e)})}function n(){var a=O.create(),b={data:null,Ib:[],Y:[],I:[{va:new Float32Array([0,0,0]),identifier:"Color",Ra:!1,name:"Color"},{va:1,
  1100. identifier:"Alpha",Ra:!1,name:"Alpha"}],Ta:[],type:"OUTPUT",qh:[]};O.ui(a,0,b);return a}function t(a){O.ja(a,function(b,c){for(var d=c.I,e=c.Ta,f=0;f<d.length;f++)m(a,d[f],b,f,1);for(f=0;f<e.length;f++)m(a,e[f],b,f,0)})}function m(a,b,c,d,e){if(b.Ra){var f=!0;O.If(a,function(a,b,h){if(!e&&a==c&&h[0]==d||e&&b==c&&h[1]==d)f=!1});f&&(b.Ra=!1)}}function k(a,b,c){var d=[];O.If(a,function(e,f,h){var g=O.Ma(a,e),l=O.Ma(a,f),g=xa.is_vector(g.Ta[h[0]].va),l=xa.is_vector(l.I[h[1]].va);if(g!=l){var k,m={default_value:[0,
  1101. 0,0],identifier:"Vector",is_linked:!0,name:"Vector"},n={default_value:0,identifier:"Value",is_linked:!0,name:"Value"};g&&!l?k=B("vector_to_scalar","B4W_VECTOSCAL",[m],[n]):!g&&l&&(k=B("scalar_to_vector","B4W_SCALTOVEC",[n],[m]));Z(a,k,0,b,c);d.push([e,f,a.K[a.K.length-2],h])}});for(var e=0;e<d.length;++e)O.zm(a,d[e][0],d[e][1],d[e][3]),O.Jc(a,d[e][0],d[e][2],[d[e][3][0],0]),O.Jc(a,d[e][2],d[e][1],[0,d[e][3][1]])}function d(a){var b=[];O.ja(a,function(c,d){switch(d.type){case "B4W_TRANSLUCENCY":O.If(a,
  1102. function(e,f,h){var g=O.Ma(a,f);e==c&&"MATERIAL_EXT"==g.type&&"Translucency"==d.Ta[h[0]].name&&b.push(e,f,[h[0]+1,h[1]+1])})}});for(var c=0;c<b.length;c+=3)O.Jc(a,b[c],b[c+1],b[c+2])}function y(a,b){var c=[];O.ja(b,function(b,d){d.name==a.name&&c.push(b)});if(c.length)return c;xa.q("Node not found")}function H(a){var b=[];O.ja(a,function(a,c){"B4W_PARALLAX"!=c.type&&"REROUTE"!=c.type||b.push(a,c)});for(var c=0;c<b.length;c+=2){var d=b[c],e=b[c+1];if("B4W_PARALLAX"==e.type)v(a,d,e);else if("REROUTE"==
  1103. e.type){for(var f=O.Mh(a,d,0),h=O.Bf(a,d),g=[],l=[],k=[],m=0;m<h;m++){var n=O.fg(a,d,m),r=l.indexOf(n),p=0<=r?k[p]:0,u=O.rd(a,d,n,p);if(u){var u=u[1],t=e.I[0].va,u=O.Ma(a,n).I[u];switch(typeof t){case "number":if("object"==typeof u.va)for(var w=u.va,u=0;u<w.length;u++)w[u]=t;else"number"==typeof u.va&&(u.va=t);break;case "object":if("object"==typeof u.va)for(w=u.va,u=0;u<w.length;u++)w[u]=t[u];else"number"==typeof u.va&&(u.va=.35*t[0]+.45*t[1]+.2*t[2])}}t=e.Ta;for(u=0;u<t.length;u++)t[u].va=e.I[0].va;
  1104. -1!=r?k[r]+=1:(l.push(n),k.push(1),g.push(d,n))}if(-1!=f)for(e=O.rd(a,f,d,0)[0],m=0;m<l.length;m++)for(u=0;u<k[m];u++)h=O.rd(a,d,l[m],u)[1],O.Jc(a,f,l[m],[e,h]);for(m=0;m<g.length;m+=2)O.mj(a,g[m],g[m+1],-1)}}}function v(a,b,c){var d;a:{d=a.Ga;for(var e=0;e<d.length;e+=3)if(d[e+1]==b&&1==d[e+2][1]){d=d[e];break a}d=-1}-1!=d&&(e=O.Ma(a,d),c.data=e.data,O.mj(a,d,b,-1),0==O.Bf(a,d)&&(b=O.Mh(a,d,0),-1!=b&&O.mj(a,b,d,-1),O.Df(a,d)));c.I.splice(1,1)}function z(a){M(a);A(a);x(a)}function x(a){var b=[],c=
  1105. "",d="",e={};O.ja(a,function(a,f){if("GEOMETRY_UV"==f.type||"UVMAP"==f.type||"TEX_COORD_UV"==f.type){b.push(a,f);var h=f.data.value;c?c==h||d||(d=h,e[d]=0):(c=h,e[c]=0);e[h]++}});for(var f in e)if(2>e[f]){for(var g=0;g<b.length;g+=2)b[g+1].data.value==f&&b.splice(g,2);delete e[f];c==f&&(c=d,d="");d==f&&(d="")}if(!(3>b.length)){var g={default_value:[0,0,0],identifier:"UV_geom",is_linked:!1,name:"UV_geom"},l={default_value:[0,0,0],identifier:"UV_cycles",is_linked:!1,name:"UV_cycles"};f=B("merged_uv",
  1106. "UV_MERGED",[],[g,l]);f.uv_layer=c;Z(a,f,0,"",void 0);var k=a.K[a.K.length-2];f=a.K[a.K.length-1];if(d){l=B("merged_uv","UV_MERGED",[],[g,l]);l.uv_layer=d;Z(a,l,0,"",void 0);var m=a.K[a.K.length-2],l=a.K[a.K.length-1]}else l=null;for(var n=-1,r=null,g=0;g<b.length;g+=2){var p=b[g],u=b[g+1];h(u,b[1])?(n=k,r=f):l&&(n=m,r=l);for(var t=[],v=O.Bf(a,p),w={},q=0;q<v;q++){var R=O.fg(a,p,q);R in w||(w[R]=0);var D=O.rd(a,p,R,w[R]++);t.push(p,R,D);D=D.splice(0,D.length);switch(u.type){case "GEOMETRY_UV":D[0]=
  1107. 0;r.Ta[0].Ra=!0;break;case "UVMAP":case "TEX_COORD_UV":D[0]=1,r.Ta[1].Ra=!0}O.Jc(a,n,R,D)}for(var q=0;q<t.length;q+=3)O.mj(a,t[q],t[q+1],0);O.Df(a,p)}}}function M(a){var b=[];O.ja(a,function(a,c){"GEOMETRY_VC"!=c.type&&"GEOMETRY_NO"!=c.type&&"GEOMETRY_FB"!=c.type&&"GEOMETRY_VW"!=c.type&&"GEOMETRY_GL"!=c.type&&"GEOMETRY_LO"!=c.type&&"GEOMETRY_OR"!=c.type&&"GEOMETRY_BF"!=c.type&&"GEOMETRY_IN"!=c.type||b.push(a,c)});for(var c=[],d=0;d<b.length;d+=2){for(var e=b[d],f=b[d+1],h=!0,g=0;g<c.length;g++){var l=
  1108. c[g];if(K(f,l.Je)){h=[];g=O.Bf(a,e);for(n=0;n<g;n++){var k=O.fg(a,e,n),m=O.rd(a,e,k,0);h.push(e,k,m);O.Jc(a,l.id,k,m)}for(var n=0;n<h.length;n+=3)O.mj(a,h[n],h[n+1],0);O.Df(a,e);h=!1;break}}h&&(l={id:e,Je:f},c.push(l))}}function F(a){for(var b={},c=0;c<a.K.length;c+=2){var d=a.K[c];b[d]={Cn:{},SB:!1}}for(c=0;c<a.Ga.length;c+=3)b[a.Ga[c+1]].Cn[a.Ga[c]]=!0;for(d in b)E(d,b);for(d in b)b[d]=Object.keys(b[d].Cn).map(function(a){return parseInt(a)});return b}function E(a,b){var c=b[a];if(!c.SB){var d=
  1109. xa.O(c),e;for(e in c.Cn){E(e,b);var c=b[e],f;for(f in c.Cn)d.Cn[f]=!0}d.SB=!0;b[a]=d}}function A(a){var b=[];O.ja(a,function(a,c){"TEXTURE_COLOR"!=c.type&&"TEXTURE_NORMAL"!=c.type||b.push(a,c)});if(b.length){for(var c=F(a),d=[],e=0;e<b.length;e+=2){for(var f=b[e],h=b[e+1],g=!0,l=0;l<d.length;l++){var k=d[l];if(!(3<=k.om.length||!K(h,k.Je)||-1<c[f].indexOf(k.id)||-1<c[k.id].indexOf(f))){for(var m=!1,n=0;n<k.om.length;n++){var r=k.om[n].id;if(-1<c[f].indexOf(r)||-1<c[r].indexOf(f)){m=!0;break}}if(!m){for(var l=
  1110. [],r=O.dm(a,f),p={},n=0;n<r;n++)m=O.Mh(a,f,n),m in p||(p[m]=0),g=O.rd(a,m,f,p[m]++),l.push(m,f,g);for(var r=[],p=O.Bf(a,f),u={},n=0;n<p;n++)m=O.fg(a,f,n),m in u||(u[m]=0),g=O.rd(a,f,m,u[m]++),r.push(f,m,g);g=l.concat(r);for(n=0;n<g.length;n+=3)O.mj(a,g[n],g[n+1],0);O.Df(a,f);n={id:f,Je:h,JK:l,KK:r};k.om.push(n);g=!1;break}}}g&&(k={id:f,Je:h,om:[]},d.push(k))}for(e=0;e<d.length;e++){k=d[e];c=k.om.length;for(l=0;l<c;l++){h=k.om[l];n=h.Je;f=h.JK;h=h.KK;k.Je.I[l+1].Ra=n.I[0].Ra;k.Je.I[l+1].va=n.I[0].va;
  1111. k.Je.Ta[2*(l+1)].Ra=n.Ta[0].Ra;k.Je.Ta[2*(l+1)].va=n.Ta[0].va;k.Je.Ta[2*(l+1)+1].Ra=n.Ta[1].Ra;k.Je.Ta[2*(l+1)+1].va=n.Ta[1].va;for(n=0;n<f.length;n+=3)m=f[n],g=f[n+2],g[1]+=l+1,O.Jc(a,m,k.id,g);for(n=0;n<h.length;n+=3)m=h[n+1],g=h[n+2],g[0]+=2*(l+1),O.Jc(a,k.id,m,g);k.Je.Ib.push(["USE_uv"+(l+2),1])}O.Df(a,k.id);O.ui(a,k.id,k.Je)}}}function K(a,b){if(a.type!==b.type)return!1;switch(a.type){case "GEOMETRY_VC":return a.data.value==b.data.value;case "GEOMETRY_NO":case "GEOMETRY_FB":case "GEOMETRY_VW":case "GEOMETRY_GL":case "GEOMETRY_LO":case "GEOMETRY_OR":case "GEOMETRY_BF":case "GEOMETRY_IN":return!0;
  1112. case "TEXTURE_COLOR":case "TEXTURE_NORMAL":return a.data.value.Fu==b.data.value.Fu&&a.data.value.cm==b.data.value.cm;default:return!1}}function h(a,b){var c=["GEOMETRY_UV","TEX_COORD_UV","UVMAP"];return-1!=c.indexOf(a.type)&&-1!=c.indexOf(b.type)?a.data.value==b.data.value:!1}function l(a){var b=[],c=[];O.ja(a,function(a,d){"GEOMETRY_VC"==d.type&&b.push(a,d);"GEOMETRY_VW"==d.type&&c.push(a,d)});w(a,b);r(a,c)}function w(a,b){for(var c=0;c<b.length;c+=2){for(var d=b[c],e=b[c+1],f=!1,h=[],g=[],l=[[],
  1113. [],[]],k=O.Bf(a,d),m=0;m<k;m++){var n=O.fg(a,d,m);if("SEPRGB"!=O.Ma(a,n).type){f=!1;break}h.push(d,n);for(var r={},p=O.Bf(a,n),f=0;f<p;f++){var u=O.fg(a,n,f);u in r||(r[u]=0);var t=O.rd(a,n,u,r[u]++);h.push(n,u);l[t[0]].push(d,u,t)}g.push(n);f=!0}if(f){for(m=d=k=0;m<l.length;m++)l[m].length&&(k++,d|=1<<2-m);if(k){e.type+=k;e.Ta=[];for(m=0;m<l.length;m++)if(l[m].length)for(e.Ta.push({va:0,identifier:"RGB"[m],Ra:!0,name:"RGB"[m]}),f=0;f<l[m].length;f+=3)l[m][f+2][0]=xa.Bm(d,m);for(m=0;m<h.length;m+=
  1114. 2)O.mj(a,h[m],h[m+1],0);for(m=0;m<g.length;m++)O.Df(a,g[m]);for(m=0;m<l.length;m++)for(f=0;f<l[m].length;f+=3)O.Jc(a,l[m][f],l[m][f+1],l[m][f+2])}}}}function r(a,b){for(var c=0;c<b.length;c+=2){for(var d=b[c],e=!0,f=[],h=O.Bf(a,d),g=0;g<h;g++){var l=O.fg(a,d,g);if("B4W_REFLECT"==O.Ma(a,l).type){var k=O.rd(a,d,l,0),m=O.rd(a,d,l,1);k&&1==k[1]||m&&1==m[1]?e=!1:f.push(d,l)}else e=!1}for(g=0;g<f.length;g+=2)h=a,k=f[g],l=f[g+1],m=O.Ma(h,l),m.type+="_WORLD",O.mj(h,k,l,0),m.I.splice(0,1),k=O.Mh(h,l,0),k!=
  1115. O.gu&&(O.rd(h,k,l,0)[1]=0);e&&O.Df(a,d)}}function J(a,b,c,d,e,f){a=a.nodes;for(var h=null,g=0;g<a.length;g++){var l=a[g];e?"GROUP"==l.type&&l.node_tree_name==c&&(h=l):l.type==c&&(h=l)}return h?y(h,b)[0]:(f||Ba.error('No "'+c+'" node in node '+d),-1)}function B(a,b,c,d){return{name:a,type:b,inputs:c,outputs:d}}function Z(a,b,c,d,e){var f=b.name,h=b.type,g=[],l=[],k=[],m=[],n=null,r=[];switch(h){case "BSDF_ANISOTROPIC":case "BSDF_GLASS":case "BSDF_HAIR":case "BSDF_TRANSPARENT":case "BSDF_TRANSLUCENT":case "BSDF_REFRACTION":case "BSDF_TOON":case "BSDF_VELVET":case "SUBSURFACE_SCATTERING":case "AMBIENT_OCCLUSION":case "VOLUME_ABSORPTION":case "VOLUME_SCATTER":case "BLACKBODY":case "WAVELENGTH":case "SEPXYZ":case "COMBXYZ":case "LIGHT_FALLOFF":case "TEX_SKY":case "TEX_NOISE":case "TEX_WAVE":case "TEX_MUSGRAVE":case "TEX_GRADIENT":case "TEX_MAGIC":case "TEX_CHECKER":case "TEX_BRICK":case "WIREFRAME":case "TANGENT":case "LIGHT_PATH":case "ATTRIBUTE":case "HOLDOUT":case "HAIR_INFO":case "SCRIPT":l=
  1116. qa(b);k=aa(b);Ba.warn(h+" node is not fully supported.");break;case "BRIGHTCONTRAST":case "ADD_SHADER":l=qa(b);k=aa(b);break;case "MIX_SHADER":l.push(T(b,"Fac"));var p=T(b,"Shader"),k=p.Ra;l.push(p);(p=T(b,"Shader_001"))||(p=T(b,"Shader.001"));var u=p.Ra;l.push(p);l.push(G("d_color1","d_color1",[0,0,0],k));l.push(G("d_roughness1","d_roughness1",0,k));l.push(G("s_color1","s_color1",[0,0,0],k));l.push(G("s_roughness1","s_roughness1",0,k));l.push(G("metalness1","metalness1",0,k));l.push(G("normal1",
  1117. "normal1",[0,0,0],k));l.push(G("e_color1","e_color1",[0,0,0],k));l.push(G("emission1","emission1",0,k));l.push(G("d_color2","d_color2",[0,0,0],u));l.push(G("d_roughness2","d_roughness2",0,u));l.push(G("s_color2","s_color2",[0,0,0],u));l.push(G("s_roughness2","s_roughness2",0,u));l.push(G("metalness2","metalness2",0,u));l.push(G("normal2","normal2",[0,0,0],u));l.push(G("e_color2","e_color2",[0,0,0],u));l.push(G("emission2","emission2",0,u));k=U(b,"Shader");p=k.Ra;k=[k,G("d_color","d_color",[0,0,0],
  1118. p),G("d_roughness","d_roughness",0,p),G("s_color","s_color",[0,0,0],p),G("s_roughness","s_roughness",0,p),G("metalness","metalness",0,p),G("normal","normal",[0,0,0],p),G("e_color","e_color",[0,0,0],p),G("emission","emission",0,p)];break;case "OBJECT_INFO":var l=qa(b),k=[],p=U(b,"Location"),u=U(b,"Object Index"),t=U(b,"Material Index"),v=U(b,"Random");k.push(p);k.push(u);k.push(t);k.push(v);r.push(["USE_LOCATION_OUT",p.Ra|0]);r.push(["USE_OBJ_IND_OUT",u.Ra|0]);r.push(["USE_MAT_IND_OUT",t.Ra|0]);r.push(["USE_RANDOM_OUT",
  1119. v.Ra|0]);break;case "UVMAP":(p=b.uv_layer)||(h="EMPTY_UV");"EMPTY_UV"!=h&&(n=Q("param_"+h+"_a"),u=Q("param_"+h+"_v"),g.push(ga(n)),g.push(ga(u)),m.push(ga(u)),n={name:n,value:p});k=aa(b);break;case "UV_MERGED":n=Q("param_UV_MERGED_a");u=Q("param_UV_MERGED_v");g.push(ga(n));g.push(ga(u));k.push(U(b,"UV_geom"));k.push(U(b,"UV_cycles"));m.push(ga(u));n={name:n,value:b.uv_layer};break;case "CAMERA":l=[];k=aa(b);break;case "COMBRGB":case "COMBHSV":l=qa(b);k=aa(b);break;case "CURVE_RGB":case "CURVE_VEC":"CURVE_RGB"==
  1120. h?(L(b,0,0)&&r.push(["READ_R",1]),L(b,1,0)&&r.push(["READ_G",1]),L(b,2,0)&&r.push(["READ_B",1]),L(b,3,0)&&r.push(["READ_A",1])):(L(b,0,-1)&&r.push(["READ_R",1]),L(b,1,-1)&&r.push(["READ_G",1]),L(b,2,-1)&&r.push(["READ_B",1]));l=qa(b);k=aa(b);n={value:b};break;case "PARTICLE_INFO":l=qa(b);k=aa(b);for(p=0;p<b.outputs.length;p++){u=b.outputs[p];t=u.identifier;v=ga("v_param_PART_INFO_"+t.replace(" ",""));if(u.is_linked)switch(t){case "Size":r.push(["PART_INFO_SIZE",oa.G(1)]);break;case "Age":r.push(["PART_INFO_AGE",
  1121. oa.G(1)]);break;case "Lifetime":r.push(["PART_INFO_LT",oa.G(1)]);break;case "Location":r.push(["PART_INFO_LOC",oa.G(1)]);break;case "Index":var w=ga("a_param_PART_INFO_"+u.identifier.replace(" ","")),n=w;r.push(["PART_INFO_IND",oa.G(1)]);break;case "Velocity":r.push(["PART_INFO_VEL",oa.G(1)]);break;case "Angular Velocity":r.push(["PART_INFO_A_VEL",oa.G(1)])}"Age"!=t&&"Lifetime"!=t&&"Size"!=t&&(g.push(v),m.push(v))}w&&g.push(w);break;case "NEW_GEOMETRY":case "GEOMETRY":if(!W(b))return!0;h=V(b,c);if(!h)return Ba.error("Geometry output is not supported"),
  1122. null;switch(h){case "GEOMETRY_UV":(p=b.uv_layer)||(h="EMPTY_UV");"EMPTY_UV"!=h&&(n=Q("param_GEOMETRY_UV_a"),u=Q("param_GEOMETRY_UV_v"),g.push(ga(n)),g.push(ga(u)),m.push(ga(u)),n={name:n,value:p});k.push(U(b,"UV"));break;case "GEOMETRY_VC":(p=b.color_layer)||(h="EMPTY_VC");"EMPTY_VC"!=h&&(n=Q("param_GEOMETRY_VC_a"),u=Q("param_GEOMETRY_VC_v"),g.push(ga(n)),g.push(ga(u)),m.push(ga(u)),n={name:n,value:p});k.push(U(b,"Vertex Color"));break;case "GEOMETRY_NO":k.push(U(b,"Normal"));break;case "GEOMETRY_TRN":h=
  1123. "GEOMETRY_NO";k.push(U(b,"True Normal"));Ba.warn("Geometry True Normal output is not fully supported.");break;case "GEOMETRY_FB":k.push(U(b,"Front/Back"));break;case "GEOMETRY_VW":k.push(U(b,"View"));break;case "GEOMETRY_GL":k.push(U(b,"Global")||U(b,"Position"));break;case "GEOMETRY_LO":k.push(U(b,"Local"));break;case "GEOMETRY_OR":p=Q("param_GEOMETRY_OR_v");g.push(ga(p));k.push(U(b,"Orco"));m.push(ga(p));break;case "GEOMETRY_IN":k.push(U(b,"Incoming"));break;case "GEOMETRY_BF":k.push(U(b,"Backfacing"))}break;
  1124. case "TEX_COORD":if(!W(b))return!0;h=ka(b,c);switch(h){case "TEX_COORD_UV":(p=b.uv_layer)||(h="EMPTY_UV");"EMPTY_UV"!=h&&(n=Q("param_TEX_COORD_UV_a"),u=Q("param_TEX_COORD_UV_v"),g.push(ga(n)),g.push(ga(u)),m.push(ga(u)),n={name:n,value:b.uv_layer});k.push(U(b,"UV"));break;case "TEX_COORD_NO":k.push(U(b,"Normal"));break;case "TEX_COORD_GE":p=Q("param_TEX_COORD_GE_v");g.push(ga(p));k.push(U(b,"Generated"));m.push(ga(p));break;case "TEX_COORD_OB":k.push(U(b,"Object"));break;case "TEX_COORD_CA":k.push(U(b,
  1125. "Camera"));break;case "TEX_COORD_WI":k.push(U(b,"Window"));break;case "TEX_COORD_RE":k.push(U(b,"Reflection"))}break;case "GROUP":p=b.node_tree_name;switch(p){case "B4W_LINEAR_TO_SRGB":if(!I(b,[1],[1])){n=C(b,d,e);break}h="B4W_LINEAR_TO_SRGB";break;case "B4W_NORMAL_VIEW":case "B4W_VECTOR_VIEW":if(!I(b,[1],[1])){n=C(b,d,e);break}h="B4W_VECTOR_VIEW";break;case "B4W_SRGB_TO_LINEAR":if(!I(b,[1],[1])){n=C(b,d,e);break}h="B4W_SRGB_TO_LINEAR";break;case "B4W_REFLECT":if(!I(b,[1,1],[1])){n=C(b,d,e);break}h=
  1126. "B4W_REFLECT";break;case "B4W_REFRACTION":if(!I(b,[1,0],[1])){n=C(b,d,e);break}h="B4W_REFRACTION";break;case "B4W_PARALLAX":if(!I(b,[1,1,0,0,0],[1])){n=C(b,d,e);break}u=Q("param_B4W_PARALLAX_texture");m.push(ga(u));h="B4W_PARALLAX";break;case "B4W_CLAMP":if(!I(b,[1],[1])){n=C(b,d,e);break}h="B4W_CLAMP";break;case "B4W_TRANSLUCENCY":if(!I(b,[0,0,0,0,0],[0])){n=C(b,d,e);break}h="B4W_TRANSLUCENCY";break;case "B4W_TIME":if(!I(b,[],[0])){n=C(b,d,e);break}h="B4W_TIME";break;case "B4W_SMOOTHSTEP":if(!I(b,
  1127. [0,0,0],[0])){n=C(b,d,e);break}h="B4W_SMOOTHSTEP";break;case "B4W_GLOW_OUTPUT":h="B4W_GLOW_OUTPUT";break;default:n=C(b,d,e)}l=qa(b);k=aa(b);"B4W_TRANSLUCENCY"==p&&(p=G("TranslucencyParams","TranslucencyParams",[0,0,0,0]),p.Ra=k[0].Ra,k.push(p));break;case "LAMP":n=b.lamp;if(!n)return Ba.error("There is no lamp in node: "+b.name),null;k.push(U(b,"Color"));k.push(U(b,"Light Vector"));k.push(U(b,"Distance"));k.push(U(b,"Visibility Factor"));n.uuid in Ja?r.push(["LAMP_INDEX",String(Ja[n.uuid])]):(Ja[n.uuid]=
  1128. Aa,r.push(["LAMP_INDEX",String(Aa++)]));n=Ja;break;case "LIGHTING_AMBIENT":l=[G("E","E",[0,0,0],!0),G("A","A",[0,0,0],!0),G("D","D",[0,0,0],!0)];k=[G("color","color",[0,0,0],!0),G("specular","specular",[0,0,0],!0)];break;case "LIGHTING_BEGIN":k=[G("E","E",[0,0,0],!0),G("A","A",[0,0,0],!0),G("D","D",[0,0,0],!0),G("S","S",[0,0,0],!0),G("normal","normal",[0,0,0],!0),G("dif_params","dif_params",[0,0],!0),G("sp_params","sp_params",[0,0],!0),G("shadow_factor","shadow_factor",0,!0),G("translucency_color",
  1129. "translucency_color",0,!0),G("translucency_params","translucency_params",[0,0,0,0],!0)];break;case "LIGHTING_END":l=[G("color","color",[0,0,0],!0),G("specular","specular",[0,0,0],!0)];break;case "LIGHTING_LAMP":l=[G("shadow_factor","shadow_factor",0,!0)];k=[G("ldir","ldir",[0,0,0],!0),G("lfac","lfac",[0,0],!0),G("lcolorint","lcolorint",[0,0,0],!0),G("norm_fac","norm_fac",0,!0)];break;case "DIFFUSE_LAMBERT":l=[G("ldir","ldir",[0,0,0],!0),G("lfac","lfac",[0,0],!0),G("normal","normal",[0,0,0],!0),G("norm_fac",
  1130. "norm_fac",0,!0)];k=[G("lfactor","lfactor",0,!0)];r.push(["MAT_USE_TBN_SHADING",b.use_tangent_shading|0]);break;case "DIFFUSE_FRESNEL":case "DIFFUSE_MINNAERT":case "DIFFUSE_OREN_NAYAR":case "DIFFUSE_TOON":l=[G("ldir","ldir",[0,0,0],!0),G("lfac","lfac",[0,0],!0),G("normal","normal",[0,0,0],!0),G("norm_fac","norm_fac",0,!0),G("dif_params","dif_params",[0,0],!0)];k=[G("lfactor","lfactor",0,!0)];r.push(["MAT_USE_TBN_SHADING",b.use_tangent_shading|0]);break;case "SPECULAR_BLINN":case "SPECULAR_PHONG":case "SPECULAR_COOKTORR":l=
  1131. [G("ldir","ldir",[0,0,0],!0),G("lfac","lfac",[0,0],!0),G("normal","normal",[0,0,0],!0),G("norm_fac","norm_fac",0,!0),G("sp_params","sp_params",[0,0],!0)];k=[G("sfactor","sfactor",0,!0)];r.push(["MAT_USE_TBN_SHADING",b.use_tangent_shading|0]);break;case "SPECULAR_TOON":case "SPECULAR_WARDISO":l=[G("ldir","ldir",[0,0,0],!0),G("lfac","lfac",[0,0],!0),G("normal","normal",[0,0,0],!0),G("norm_fac","norm_fac",0,!0),G("sp_params","sp_params",[0,0],!0)];k=[G("sfactor","sfactor",0,!0)];r.push(["MAT_USE_TBN_SHADING",
  1132. b.use_tangent_shading|0]);break;case "BSDF_COMPUTE":l=[G("ldir","ldir",[0,0,0],!0),G("lfac","lfac",[0,0],!0),G("normal","normal",[0,0,0],!0),G("norm_fac","norm_fac",0,!0),G("bsdf_params","bsdf_params",[0,0,0,0],!0)];k=[G("lfactor","lfactor",0,!0),G("sfactor","sfactor",0,!0)];break;case "LIGHTING_APPLY":l=[G("color","color",[0,0,0,0],!0),G("specular","specular",[0,0,0],!0),G("lfactor","lfactor",0,!0),G("sfactor","sfactor",0,!0),G("ldir","ldir",[0,0,0],!0),G("normal","normal",[0,0,0],!0),G("translucency_params",
  1133. "translucency_params",[0,0,0,0],!0),G("D","D",[0,0,0],!0),G("S","S",[0,0,0],!0),G("lcolorint","lcolorint",[0,0,0],!0),G("translucency_color","translucency_color",0,!0)];k=[G("color","color",[0,0,0,0],!0),G("specular","specular",[0,0,0],!0)];break;case "NORMAL":l=qa(b);k=aa(b);p=U(b,"Normal");m.push(ga(Q("param_NORMAL_Normal"),p.va,3));break;case "MAPPING":p=b.vector_type;h="MAPPING";l.push(T(b,"Vector"));k.push(U(b,"Vector"));var u=xa.f32(b.rotation),t=xa.f32(b.scale),v=xa.f32(b.translation),w=ea.create(),
  1134. q=xa.RK(u);"TEXTURE"==p&&(t[0]=t[0]||1,t[1]=t[1]||1,t[2]=t[2]||1);var R=new Float32Array([t[0],0,0,0,t[1],0,0,0,t[2]]);ea.multiply(q,R,w);w=xa.rN(w,sa.create());switch(p){case "POINT":w[12]=v[0];w[13]=v[1];w[14]=v[2];break;case "TEXTURE":w[12]=v[0];w[13]=v[1];w[14]=v[2];w=sa.invert(w,w);break;case "NORMAL":sa.invert(w,w),sa.transpose(w,w)}switch(p){case "NORMAL":r.push(["MAPPING_IS_NORMAL",1]);case "TEXTURE":r.push(["MAPPING_TRS_MATRIX_DEF",1]);r.push(["MAPPING_TRS_MATRIX",oa.G(w,16)]);break;case "POINT":0!==
  1135. Ia.length(u)?(r.push(["MAPPING_TRS_MATRIX_DEF",1]),r.push(["MAPPING_TRS_MATRIX",oa.G(w,16)])):(0!==Ia.length(t)&&(r.push(["MAPPING_SCALE_DEF",1]),r.push(["MAPPING_SCALE",oa.G(t,3)])),0!==Ia.length(v)&&(r.push(["MAPPING_TRANS_DEF",1]),r.push(["MAPPING_TRANS",oa.G(v,3)])));break;case "VECTOR":0!==Ia.length(u)?(r.push(["MAPPING_TRS_MATRIX_DEF",1]),r.push(["MAPPING_TRS_MATRIX",oa.G(w,16)])):0!==Ia.length(t)&&(r.push(["MAPPING_SCALE_DEF",1]),r.push(["MAPPING_SCALE",oa.G(t,3)]))}b.use_min&&(r.push(["MAPPING_MIN_CLIP_DEF",
  1136. 1]),r.push(["MAPPING_MIN_CLIP",oa.G(b.min,3)]));b.use_max&&(r.push(["MAPPING_MAX_CLIP_DEF",1]),r.push(["MAPPING_MAX_CLIP",oa.G(b.max,3)]));break;case "MATERIAL":case "MATERIAL_EXT":n=[];p=[];u=[];t=[G("E","E",[0,0,0],!0),G("A","A",[0,0,0],!0),G("D","D",[0,0,0],!0),G("S","S",[0,0,0],!0),G("normal","normal",[0,0,0],!0),G("dif_params","dif_params",[0,0],!0),G("sp_params","sp_params",[0,0],!0),G("shadow_factor","shadow_factor",0,!0)];v=[G("color","color",[0,0,0],!0),G("specular","specular",[0,0,0],!0),
  1137. G("normal","normal",[0,0,0],!0)];w=[U(b,"Color"),U(b,"Alpha"),U(b,"Normal")];q=[];R=T(b,"Color");R.va.splice(3);u.push(R);l.push(R);R=T(b,"Spec");R.va.splice(3);u.push(R);l.push(R);(R=T(b,"DiffuseIntensity"))||(R=T(b,"Refl"));R.va=b.diffuse_intensity;u.push(R);l.push(R);var D=T(b,"Normal");D.va.splice(3);u.push(D);l.push(D);"MATERIAL_EXT"==h?((R=T(b,"Emit"))||(R=G("Emit","Emit",0)),u.push(R),l.push(R),(R=T(b,"Translucency"))?(R.va=0,R.name="Translucency",R.identifier="Translucency"):R=G("Translucency",
  1138. "Translucency",0),l.push(R),(R=T(b,"Translucency"))?(R.va=[0,0,0,0],R.name="TranslucencyParams",R.identifier="TranslucencyParams"):R=G("TranslucencyParams","TranslucencyParams",[0,0,0,0]),l.push(R),k=T(b,"Reflectivity"),R=T(b,"Ray Mirror"),k?(R=k,k="Reflectivity"):R?k="Ray Mirror":(R=k,k="Reflectivity"),R||(R=G(k,k,0)),l.push(R),v.push(R),(R=T(b,"SpecTra"))||(R=G("SpecTra","SpecTra",0)),l.push(R),v.push(R),(R=T(b,"Alpha"))||(R=G("Alpha","Alpha",b.alpha)),l.push(R),v.push(R),w.push(U(b,"Diffuse")),
  1139. w.push(U(b,"Spec")),n.push(["MATERIAL_EXT",1]),p.push(["MATERIAL_EXT",1])):(u.push(G("emit_intensity","emit_intensity",0)),v.push(G("reflect_factor","reflect_factor",0)),v.push(G("specular_alpha","specular_alpha",0)),v.push(G("alpha_in","alpha_in",0)),w.push(G("diffuse_out","diffuse_out",0)),w.push(G("spec_out","spec_out",0)),n.push(["MATERIAL_EXT",0]),p.push(["MATERIAL_EXT",0]));q.push(ga(Q("param_MATERIAL_alpha"),b.alpha));q.push(ga(Q("param_MATERIAL_spec_alpha"),b.specular_alpha));k=w;n.push(["USE_MATERIAL_NORMAL",
  1140. D.Ra|0]);b.use_diffuse&&(n.push(["USE_MATERIAL_DIFFUSE",1]),p.push(["USE_MATERIAL_DIFFUSE",1]));b.use_specular&&p.push(["USE_MATERIAL_SPECULAR",1]);var R=[],y=0;switch(b.specular_shader){case "COOKTORR":case "PHONG":D=b.specular_hardness;break;case "WARDISO":D=b.specular_slope;break;case "TOON":D=b.specular_toon_size;y=b.specular_toon_smooth;break;case "BLINN":D=b.specular_ior;y=b.specular_hardness;break;default:Ba.error("unsupported specular shader: "+b.specular_shader+' (material "'+b.material_name+
  1141. '")'),D=b.specular_hardness}var z,x;switch(b.diffuse_shader){case "LAMBERT":x=z=0;break;case "OREN_NAYAR":z=b.roughness;x=0;break;case "FRESNEL":z=b.diffuse_fresnel;x=b.diffuse_fresnel_factor;break;case "MINNAERT":z=b.darkness;x=0;break;case "TOON":z=b.diffuse_toon_size;x=b.diffuse_toon_smooth;break;default:Ba.error("unsupported diffuse shader: "+b.diffuse_shader+' (material "'+b.material_name+'")'),x=z=0}R.push(ga(Q("param_MATERIAL_diffuse"),[z,x],2));R.push(ga(Q("param_MATERIAL_spec"),[b.specular_intensity,
  1142. D,y],3));n.push(["SHADELESS_MAT",b.use_shadeless?1:0]);D={name:b.name,value:{Pp:b.specular_shader,vo:b.diffuse_shader,$d:b.use_shadeless,ql:b.use_tangent_shading}};n={name:b.name,value:{Pp:b.specular_shader,vo:b.diffuse_shader,$d:b.use_shadeless,ql:b.use_tangent_shading},sN:{name:"material_begin",type:"MATERIAL_BEGIN",I:u,Ta:t,Y:R,data:D,Ib:n,qh:[]},tN:{name:"material_end",type:"MATERIAL_END",I:v,Ta:w,Y:q,data:D,Ib:p,qh:[]}};break;case "BSDF_DIFFUSE":l=qa(b);r.push(["USE_NORMAL_IN",l[2].Ra|0]);k=
  1143. U(b,"BSDF");p=k.Ra;k=[k,G("d_color","d_color",[0,0,0],p),G("d_roughness","d_roughness",0,p),G("s_color","s_color",[0,0,0],p),G("s_roughness","s_roughness",0,p),G("metalness","metalness",0,p),G("normal","normal",[0,0,0],p),G("e_color","e_color",[0,0,0],p),G("emisson","emisson",0,p)];break;case "BSDF_GLOSSY":l=qa(b);r.push(["USE_NORMAL_IN",l[2].Ra|0]);k=U(b,"BSDF");p=k.Ra;k=[k,G("d_color","d_color",[0,0,0],p),G("d_roughness","d_roughness",0,p),G("s_color","s_color",[0,0,0],p),G("s_roughness","s_roughness",
  1144. 0,p),G("metalness","metalness",1,p),G("normal","normal",[0,0,0],p),G("e_color","e_color",[0,0,0],p),G("emisson","emisson",0,p)];break;case "EMISSION":l=qa(b);k=U(b,"Emission");p=k.Ra;k=[k,G("d_color","d_color",[0,0,0],p),G("d_roughness","d_roughness",0,p),G("s_color","s_color",[0,0,0],p),G("s_roughness","s_roughness",0,p),G("metalness","metalness",1,p),G("normal","normal",[0,0,0],p),G("e_color","e_color",[0,0,0],p),G("emisson","emisson",1,p)];break;case "MATH":switch(b.operation){case "ADD":h="MATH_ADD";
  1145. break;case "SUBTRACT":h="MATH_SUBTRACT";break;case "MULTIPLY":h="MATH_MULTIPLY";break;case "DIVIDE":h="MATH_DIVIDE";break;case "SINE":h="MATH_SINE";break;case "COSINE":h="MATH_COSINE";break;case "TANGENT":h="MATH_TANGENT";break;case "ARCSINE":h="MATH_ARCSINE";break;case "ARCCOSINE":h="MATH_ARCCOSINE";break;case "ARCTANGENT":h="MATH_ARCTANGENT";break;case "POWER":h="MATH_POWER";break;case "LOGARITHM":h="MATH_LOGARITHM";break;case "MINIMUM":h="MATH_MINIMUM";break;case "MAXIMUM":h="MATH_MAXIMUM";break;
  1146. case "ROUND":h="MATH_ROUND";break;case "LESS_THAN":h="MATH_LESS_THAN";break;case "GREATER_THAN":h="MATH_GREATER_THAN";break;case "MODULO":h="MATH_MODULO";break;case "ABSOLUTE":h="MATH_ABSOLUTE";break;default:return Ba.error("Unsupported MATH operation: "+b.operation),null}r.push(["MATH_USE_CLAMP",Number(b.use_clamp)]);l=qa(b);k=aa(b);break;case "MIX_RGB":switch(b.blend_type){case "MIX":h="MIX_RGB_MIX";break;case "ADD":h="MIX_RGB_ADD";break;case "MULTIPLY":h="MIX_RGB_MULTIPLY";break;case "SUBTRACT":h=
  1147. "MIX_RGB_SUBTRACT";break;case "SCREEN":h="MIX_RGB_SCREEN";break;case "DIVIDE":h="MIX_RGB_DIVIDE";break;case "DIFFERENCE":h="MIX_RGB_DIFFERENCE";break;case "DARKEN":h="MIX_RGB_DARKEN";break;case "LIGHTEN":h="MIX_RGB_LIGHTEN";break;case "OVERLAY":h="MIX_RGB_OVERLAY";break;case "DODGE":h="MIX_RGB_DODGE";break;case "BURN":h="MIX_RGB_BURN";break;case "HUE":h="MIX_RGB_HUE";break;case "SATURATION":h="MIX_RGB_SATURATION";break;case "VALUE":h="MIX_RGB_VALUE";break;case "COLOR":h="MIX_RGB_COLOR";break;case "SOFT_LIGHT":h=
  1148. "MIX_RGB_SOFT_LIGHT";break;case "LINEAR_LIGHT":h="MIX_RGB_LINEAR_LIGHT";break;default:return Ba.error("Unsupported MIX_RGB blend type: "+b.blend_type),null}r.push(["MIX_RGB_USE_CLAMP",Number(b.use_clamp)]);l=qa(b);k=aa(b);break;case "OUTPUT":l=qa(b);k=[];break;case "OUTPUT_MATERIAL":qa(b);l=T(b,"Surface");k=l.Ra;n=[l,G("d_color","d_color",[0,0,0],k),G("d_roughness","d_roughness",0,k),G("s_color","s_color",[0,0,0],k),G("s_roughness","s_roughness",0,k),G("metalness","metalness",0,k),G("normal","normal",
  1149. [0,0,0],k),G("e_color","e_color",[0,0,0],k),G("emission","emission",0,k)];p=[G("E","E",[0,0,0],!0),G("A","A",[0,0,0],!0),G("D","D",[0,0,0],!0),G("S","S",[0,0,0],!0),G("normal","normal",[0,0,0],!0),G("bsdf_params","bsdf_params",[0,0,0,0],!0),G("shadow_factor","shadow_factor",0,!0),G("s_color","s_color",[0,0,0],!0),G("metalness","metalness",0,!0),G("e_color","e_color",[0,0,0],!0),G("emission","emission",0,!0)];u=[G("color","color",[0,0,0],!0),G("specular","specular",[0,0,0],!0),G("normal","normal",
  1150. [0,0,0],!0),G("s_color","s_color",[0,0,0],!0),G("metalness","metalness",0,!0),G("e_color","e_color",[0,0,0],!0),G("emission","emission",0,!0)];t=[];l=n;k=t;n={name:b.name,value:{sI:"BSDF_COMPUTE"},qI:{name:"bsdf_begin",type:"BSDF_BEGIN",I:n,Ta:p,Y:[],data:null,Ib:[],qh:[]},rI:{name:"bsdf_end",type:"BSDF_END",I:u,Ta:t,Y:[],data:null,Ib:[],qh:[]}};break;case "RGB":p=b.name;p={name:"-1",value:p};m.push(p);k.push(U(b,"Color"));break;case "SEPRGB":case "SEPHSV":l=qa(b);k=aa(b);break;case "TEX_ENVIRONMENT":(p=
  1151. b.image)?(h="TEXTURE_ENVIRONMENT","NONE"==b.color_space?r.push(["NON_COLOR",1]):r.push(["NON_COLOR",0]),l.push(T(b,"Vector")),k.push(U(b,"Color")),u=Q("param_TEXTURE_texture"),m.push(ga(u)),n=ma.qA(128),n.source="ENVIRONMENT_MAP",ma.jz(n,p),n={name:u,value:n}):h="TEXTURE_EMPTY";break;case "TEX_IMAGE":if(p=b.image){h="TEXTURE_COLOR";"NONE"==b.color_space?r.push(["NON_COLOR",1]):r.push(["NON_COLOR",0]);r.push(["CONVERT_UV",0]);for(u=0;4>u;++u)u?(R=G("Vector"+u,"Vector"+u,[0,0,0],!1),t=G("Color"+u,"Color"+
  1152. u,[0,0,0],!1),v=G("Alpha"+u,"Alpha"+u,0,!1)):(R=T(b,"Vector"),t=U(b,"Color"),v=U(b,"Alpha")),l.push(R),k.push(t),k.push(v);u=Q("param_TEXTURE_texture");m.push(ga(u));n=ma.ik(ma.Dg,!1);n.repeat="REPEAT"==b.extension;n.source="IMAGE";ma.jz(n,p);n={Eu:b.name,name:u,value:n}}else h="TEXTURE_EMPTY";break;case "TEXTURE":h=ja(b);if("TEXTURE_EMPTY"==h)k.push(U(b,"Color")),k.push(U(b,"Normal")),k.push(U(b,"Value"));else if("TEXTURE_ENVIRONMENT"==h)l.push(T(b,"Vector")),k.push(U(b,"Color")),k.push(U(b,"Value"));
  1153. else{if("TEXTURE_NORMAL"==h&&"ENVIRONMENT_MAP"==b.texture.type)return Ba.error("Wrong output for ENVIRONMENT_MAP texture: "+b.name),null;"TEXTURE_COLOR"==h&&(p=!1,(u=b.texture.image)&&"Non-Color"==u.colorspace_settings_name&&(p=!0),r.push(["NON_COLOR",Number(p)]),r.push(["CONVERT_UV",1]));for(u=0;4>u;++u)p="TEXTURE_COLOR"==h?"Color":"Normal",u?(R=G("Vector"+u,"Vector"+u,[0,0,0],!1),t=G(p+u,p+u,[0,0,0],!1),v=G("Value"+u,"Value"+u,0,!1)):(R=T(b,"Vector"),t=U(b,p),v=U(b,"Value")),l.push(R),k.push(t),
  1154. k.push(v)}"TEXTURE_EMPTY"!=h&&(u=Q("param_TEXTURE_texture"),m.push(ga(u)),n=b.texture.s,n={Eu:b.texture.name,name:u,value:n});break;case "VALTORGB":l=qa(b);k=aa(b);n={value:b};p=b.color_ramp.interpolation;"CONSTANT"!=p&&"LINEAR"!=p&&Ba.warn("Color Ramp node is not fully supported.");break;case "VALUE":h="VALUE";p=b.name;p={name:"-1",value:p};m.push(p);k.push(U(b,"Value"));break;case "VECT_MATH":switch(b.operation){case "ADD":h="VECT_MATH_ADD";break;case "SUBTRACT":h="VECT_MATH_SUBTRACT";break;case "AVERAGE":h=
  1155. "VECT_MATH_AVERAGE";break;case "DOT_PRODUCT":h="VECT_MATH_DOT_PRODUCT";break;case "CROSS_PRODUCT":h="VECT_MATH_CROSS_PRODUCT";break;case "NORMALIZE":h="VECT_MATH_NORMALIZE";break;default:return Ba.error("Unsupported VECT_MATH operation: "+b.operation),null}l=qa(b);k=aa(b);break;case "VECT_TRANSFORM":switch(b.vector_type){case "POINT":r.push(["VECTOR_TYPE",oa.G(0)]);break;case "VECTOR":r.push(["VECTOR_TYPE",oa.G(1)]);break;case "NORMAL":r.push(["VECTOR_TYPE",oa.G(2)]);break;default:return Ba.error("Unsupported VECT_TRANSFORM vector_type: "+
  1156. b.vector_type),null}l=b.convert_from;k=b.convert_to;p=0;if("WORLD"==l)if("WORLD"==k)p=0;else if("OBJECT"==k)p=1;else if("CAMERA"==k)p=2;else return Ba.error("Unsupported VECT_TRANSFORM convert_to: "+b.convert_to),null;else if("OBJECT"==l)if("WORLD"==k)p=3;else if("OBJECT"==k)p=4;else if("CAMERA"==k)p=5;else return Ba.error("Unsupported VECT_TRANSFORM convert_to: "+b.convert_to),null;else if("CAMERA"==l)if("WORLD"==k)p=6;else if("OBJECT"==k)p=7;else if("CAMERA"==k)p=8;else return Ba.error("Unsupported VECT_TRANSFORM convert_to: "+
  1157. b.convert_to),null;else return Ba.error("Unsupported VECT_TRANSFORM convert_from: "+b.convert_from),null;r.push(["CONVERT_TYPE",oa.G(p)]);l=qa(b);k=aa(b);break;case "NORMAL_MAP":p=0;switch(b.space){case "TANGENT":p=0;break;case "OBJECT":p=1;break;case "WORLD":p=2;break;case "FDAGE_OBJECT":p=3;break;case "FDAGE_WORLD":p=4;break;default:return Ba.error("Unsupported NORMAL_MAP space: "+b.space),null}r.push(["SPACE",oa.G(p)]);l.push(T(b,"Strength"));l.push(T(b,"Color"));k.push(U(b,"Normal"));break;
  1158. case "FRESNEL":D=T(b,"Normal");l.push(T(b,"IOR"));l.push(D);k.push(U(b,"Fac"));r.push(["USE_FRESNEL_NORMAL",D.Ra|0]);break;case "LAYER_WEIGHT":D=T(b,"Normal");l.push(T(b,"Blend"));l.push(D);k=aa(b);r.push(["USE_NORMAL_IN",D.Ra|0]);break;case "BUMP":D=T(b,"Normal"),r.push(["INVERT",b.invert?1:0]),r.push(["USE_NORMAL_IN",D.Ra|0]),qa(b),aa(b);default:l=qa(b),k=aa(b)}h={name:f,type:h,qh:g,I:l,Ta:k,Y:m,data:n,Ib:r};f=O.yk(a);O.ui(a,O.yk(a),h);if(!(h="GEOMETRY"!=b.type&&"TEX_COORD"!=b.type&&"NEW_GEOMETRY"!=
  1159. b.type)){a:{h=b.outputs;for(m=g=0;m<h.length;m++)if(h[m].is_linked&&g++>c){h=!0;break a}h=!1}h=!h}return h||null!=Z(a,b,++c,d,e)?f:null}function I(a,b,c){for(var d=a.inputs,e=a.outputs,f=a.node_tree_name,h=0;h<b.length;h++){var g=d[h],l=b[h];if(!g||g.default_value instanceof Array!=l)return Ba.warn('Wrong inputs for custom node group "'+a.name+'" of type: "',f,'".Processing as general node group.'),!1}for(h=0;h<c.length;h++)if(b=e[h],d=c[h],!b||b.default_value instanceof Array!=d)return Ba.warn('Wrong outputs for custom node group "'+
  1160. a.name+'" of type: "',f,'".Processing as general node group.'),!1;return!0}function C(a,b,c){var d=a.node_group.node_tree,e={},h;for(h in d)if("links"==h||"nodes"==h){e[h]=[];for(var g=0;g<d[h].length;g++){e[h][g]={};for(var l in d[h][g])if("links"==h){e[h][g][l]={};for(var k in d[h][g][l])e[h][g][l][k]=N(d[h][g][l][k])}else e[h][g][l]=N(d[h][g][l])}}else e[h]=N(d[h]);d=a.node_tree_name;if("B4W_REPLACE"==d||"B4W_LEVELS_OF_QUALITY"==d)h=B("Group input","GROUP_INPUT",[],a.inputs),g=B("Group output",
  1161. "GROUP_OUTPUT",a.outputs,[]),l=null,l="B4W_REPLACE"==d||"B4W_LEVELS_OF_QUALITY"==d&&(fa.quality==ua.P_LOW||fa.UA)?{from_node:h,from_socket:h.outputs[1],to_node:g,to_socket:g.inputs[0]}:{from_node:h,from_socket:h.outputs[0],to_node:g,to_socket:g.inputs[0]},e.nodes=[h,g],e.links=[l];d=a.name;h=e.nodes;g=e.links;for(l=0;l<h.length;l++)h[l].name=ra(h[l].type,d,h[l].name);for(l=0;l<g.length;l++)g[l].from_node.name=ra(g[l].from_node.type,d,g[l].from_node.name),g[l].to_node.name=ra(g[l].to_node.type,d,g[l].to_node.name);
  1162. return{JN:f(e,a.node_group.uuid,!0,b,c).Na,KN:e.links}}function N(a){var b=typeof a;return"string"!=b&&"number"!=b&&"boolean"!=b&&a?xa.Zn(a):a}function Q(a){R[a]||(R[a]=0);var b=a+"_"+R[a],b=b.replace(/ /g,"_").replace(/\//g,"_");R[a]++;return b}function W(a){a=a.outputs;for(var b=0;b<a.length;b++)if(a[b].is_linked)return!0;return!1}function V(a,b){for(var c=a.outputs,d=0,e=0;e<c.length;e++){var f=c[e];if(f.is_linked&&!(d++<b))switch(f.identifier){case "UV":return"GEOMETRY_UV";case "Vertex Color":return"GEOMETRY_VC";
  1163. case "Normal":return"GEOMETRY_NO";case "True Normal":return"GEOMETRY_TRN";case "Front/Back":return"GEOMETRY_FB";case "View":return"GEOMETRY_VW";case "Global":case "Position":return"GEOMETRY_GL";case "Local":return"GEOMETRY_LO";case "Orco":return"GEOMETRY_OR";case "Incoming":return"GEOMETRY_IN";case "Backfacing":return"GEOMETRY_BF";default:return null}}}function ka(a,b){for(var c=a.outputs,d=0,e=0;e<c.length;e++){var f=c[e];if(f.is_linked&&!(d++<b))switch(f.identifier){case "Camera":return"TEX_COORD_CA";
  1164. case "Generated":return"TEX_COORD_GE";case "Normal":return"TEX_COORD_NO";case "Object":return"TEX_COORD_OB";case "Reflection":return"TEX_COORD_RE";case "UV":return"TEX_COORD_UV";case "Window":return"TEX_COORD_WI";default:return null}}}function ja(a){if(!a.texture||!a.texture.s)return"TEXTURE_EMPTY";for(var b=a.outputs,c=!1,d=!1,e=!1,f=0;f<b.length;f++){var h=b[f];if(h.is_linked)switch(h.identifier){case "Color":c=!0;break;case "Normal":d=!0;break;case "Value":e=!0;break;default:xa.q("Unknown texture output")}}if(c)return d&&
  1165. Ba.warn('Node "'+a.name+'" has both Color and Normal outputs. Normal will be omitted.'),"ENVIRONMENT_MAP"==a.texture.type?"TEXTURE_ENVIRONMENT":"TEXTURE_COLOR";if(d)return"TEXTURE_NORMAL";if(e)return"ENVIRONMENT_MAP"==a.texture.type?"TEXTURE_ENVIRONMENT":"TEXTURE_COLOR"}function T(a,b){for(var c=a.inputs,d=0;d<c.length;d++){var e=c[d];if(e.identifier==b)return ia(e)}return null}function U(a,b){for(var c=a.outputs,d=0;d<c.length;d++){var e=c[d];if(e.identifier==b)return ia(e)}return null}function ia(a){var b=
  1166. a.name,c=a.identifier,d=a.is_linked;a=a.default_value;a=xa.is_vector(a)?a.slice(0):a;return{name:b,identifier:c,Ra:d,va:a}}function G(a,b,c,d){return{name:a,identifier:b,Ra:d,va:c}}function qa(a){for(var b=[],c=0;c<a.inputs.length;c++){var d=ia(a.inputs[c]);d.va.length&&d.va.splice(3);b.push(d)}return b}function aa(a){for(var b=[],c=0;c<a.outputs.length;c++){var d=ia(a.outputs[c]);b.push(d)}return b}function ga(a,b,c){b=null===b||void 0===b?null:oa.G(b,c);return{name:a,value:b}}function ya(a,b,c,
  1167. d,e,f){var h=[],g=f.from_socket.identifier;f=f.to_socket.identifier;var l=d.Ta;for(d=0;d<l.length;d++)if(l[d].identifier==g){h.push(d);break}e=e.I;for(d=0;d<e.length;d++)if(e[d].identifier==f){h.push(d);break}2==h.length&&O.Jc(a,b,c,h);return!0}function ra(a,b,c){return"GROUP_INPUT"==a?b+"*GI*"+c:"GROUP_OUTPUT"==a?b+"*GO*"+c:b+"%join%"+c}function S(a){var b=[];O.ja(a,function(a,c){"GROUP"==c.type&&b.push(c)});return b}function la(a,b,c){for(var d=0;d<c.length;d++){var e=c[d].data.JN,f=c[d].data.KN;
  1168. if(!e)return!1;O.ja(e,function(b,c){O.ui(a,O.yk(a),c)});for(e=0;e<f.length;e++)b.push(f[e]);ta(c[d],b,a)}return!0}function pa(a,b,c,d,e,f){switch(a.type){case "GROUP":a.name==b&&d.push(c);break;case "GROUP_INPUT":a.name.indexOf(b+"*GI*")||e.push(c);break;case "GROUP_OUTPUT":a.name.indexOf(b+"*GO*")||f.push(c)}}function va(a,b,c){for(var d=[],e=0;e<c.length;e++){for(var f=c[e],h=null,g=0;g<b.length;g++)if(f.from_socket.identifier==b[g].to_socket.identifier){h=b[g];break}h?(f.from_node=h.from_node,
  1169. f.from_socket=h.from_socket):d.push(f)}for(e=0;e<b.length;e++)a.splice(a.indexOf(b[e]),1);return d}function wa(a,b){if(b.length)for(var c=b[0].from_node.name,d=0;d<a.length;d++)a[d].from_node.name==c&&b.push(a[d])}function ca(a,b,c,d){for(var e=0;e<d.length;e++){for(var f=d[e],h,g=0;g<c.I.length;g++)if(f.from_socket.identifier==c.I[g].identifier){h=c.I[g].va;break}for(var g=f,l=b,k=h,m=y(g.to_node,l),n=0;n<m.length;n++)for(var r=O.Ma(l,m[n]),p=0;p<r.I.length;p++){var u=r.I[p];if(u.identifier==g.to_socket.identifier){r=
  1170. u.va instanceof Object?0:1;if((k instanceof Object?0:1)==r)u.va=k;else switch(r){case 0:u=u.va;u[0]=u[1]=u[2]=k;break;case 1:u.va=(k[0]+k[1]+k[2])/3}break}}f=a.indexOf(f);-1!=f&&a.splice(f,1)}}function ta(a,b,c){for(var d=a.name,e=[],f=[],h=[],g=[],l=0;l<b.length;l++){var k=b[l];pa(k.from_node,d,k,e,h,g);pa(k.to_node,d,k,f,h,g)}f=va(b,f,h);e=va(b,g,e);wa(b,f);ca(b,c,a,f);if(e.length){var m;O.ja(c,function(a,b){"GROUP_OUTPUT"!=b.type||b.name.indexOf(d+"*GO*")||(m=b)});ca(b,c,m,e)}}function na(a){var b=
  1171. [],c=[];O.ja(a,function(a,d){switch(d.type){case "VALTORGB":b.push(d);break;case "CURVE_VEC":case "CURVE_RGB":c.push(d)}});var d=0,e=a=null,f=b.length+c.length;if(b.length){a=ma.WK(b,ma.kF);for(var h=0;h<b.length;h++)b[h].Ib.push(["NODE_TEX_ROW",oa.G((d+.5)/f)]),d++}if(c.length)for(e=ma.$K(c,ma.Hy),h=0;h<c.length;h++)c[h].Ib.push(["NODE_TEX_ROW",oa.G((d+.5)/f)]),d++;h=null;a&&e?(h=new Uint8Array(a.length+e.length),h.set(a),h.set(e,a.length)):h=a?a:e;a=h?ma.pA(h,ma.Hy):null;for(h=0;h<b.length;h++)b[h].data.Xa=
  1172. a;for(h=0;h<c.length;h++)c[h].data.Xa=a}function L(a,b,c){a=a.curve_mapping.curves_data[b];return 2==a.length&&a[0][0]<c+.01&&a[0][1]<c+.01&&.99<a[1][0]&&.99<a[1][1]?!1:!0}var ua=q("__config");q("__debug");var O=q("__graph"),ea=q("__mat3"),sa=q("__mat4"),ba=q("__objects"),Ba=q("__print"),oa=q("__shaders"),Da=q("__scenes"),xa=q("__util"),Ia=q("__vec3"),ma=q("__textures"),R={},Ca={},za={},Ja={},Aa=0;new Float32Array(4);var fa=ua.A;a.UR=0;a.jH=1;a.iH=2;a.hH=3;a.TR=4;a.gH=5;a.fH=6;a.eH=7;a.SR=8;a.UF=
  1173. 0;a.TF=1;a.LR=2;a.SF=3;a.KR=4;a.uB=function(a){return Ca[a]};a.cJ=function(a){delete Ca[a]};a.kJ=f;a.cv=function(a,c,d){var f=Da.get_active();a=e(a,"MAIN",f.uuid);if(a in za)return za[a];var f=O.create(),h={name:"LIGHTING_BEGIN",type:"LIGHTING_BEGIN"},g=Z(f,h,0,c,null),h={name:"LIGHTING_END",type:"LIGHTING_END"},h=Z(f,h,0,c,null);b(f,d,g,h,[[g,[8,10]],[g,[9,6]]],c);t(f);return za[a]=f};a.Yq=function(a){var b=[],c={};R={};var d=O.by(a);O.ja(d,function(a,d){var e;e=[];for(var f=[],h=[],g=[],l=[],k=
  1174. [],m=0;m<d.I.length;m++){var n=d.I[m];if(n.Ra)e.push(null),f.push(null);else{e.push(Q("in_"+d.type+"_"+n.identifier.replace(/\./g,"")));var r=oa.G(n.va,0);fa.Cx&&(0<=d.type.indexOf("MIX_RGB_")&&("Color1"==n.identifier||"Color2"==n.identifier||"Fac"==n.identifier)||0<=d.type.indexOf("MATH_")&&("Value"==n.identifier||"Value_001"==n.identifier||"Value.001"==n.identifier)||0<=d.type.indexOf("VECT_MATH_")&&("Vector_001"==n.identifier||"Vector.001"==n.identifier)||0<=d.type.indexOf("LIGHTING_APPLY")||0<=
  1175. d.type.indexOf("MATERIAL_END")||0<=d.type.indexOf("MATERIAL_BEGIN"))&&(n=r,n=n.replace(/(,)/g,"$1 "),n=n.replace(/(^|[^0-9]|\s)(0\.0)($|[^0-9]|\s)/g,"$1_0_0$3"),n=n.replace(/(^|[^0-9]|\s)(1\.0)($|[^0-9]|\s)/g,"$1_1_0$3"),r=n=n.replace(/\s+/g,""));f.push(r)}}for(m=0;m<d.Ta.length;m++)n=d.Ta[m],n.Ra?h.push(null):h.push(Q("out_"+d.type+"_"+n.identifier.replace(/\./g,"")));for(m=0;m<d.Y.length;m++)n=d.Y[m],g.push(n.name),l.push(n.value);for(m=0;m<d.qh.length;m++)k.push(d.qh[m].name);e={id:d.type,I:e,
  1176. iw:f,Ta:h,Y:g,Ms:l,qh:k,Ib:JSON.parse(JSON.stringify(d.Ib))};b.push(e);c[a]=e});O.If(d,function(a,b,e){var f=O.Ma(d,a);O.Ma(d,b);var h=f.Ta[e[0]];a=c[a].Ta;b=c[b].I;f=a[e[0]]||Q("out_"+f.type+"_"+h.identifier.replace(/\./g,""));a[e[0]]=f;b[e[1]]=f});return b};a.Yz=function(a){if(a.node_tree)for(var b=0;b<a.node_tree.nodes.length;b++){var c=a.node_tree.nodes[b];if("GROUP"==c.type&&"B4W_GLOW_OUTPUT"==c.node_tree_name)return!0}return!1};a.cleanup=function(){for(var a in Ca)delete Ca[a];for(a in za)delete za[a];
  1177. for(var b in Ja)delete Ja[b];Aa=0}};fdage.module.__animation=function(a,q){function f(a,b){var c=a.ba[b];c&&c.Fv&&c.Do&&(c.Do=!1,c.Fv(a,b))}function c(a,b,c){c=a.ba[c];c.type=30;var d=b.na,e=b.Qa-d+1;c.start=d;c.length=e;c.Ke=d;c.zh=b.name;for(e=d=0;e<a.Fc.length;e++){var f=a.Fc[e];if(f==b)break;else d+=f.Qa-f.na+1}c.QE=d}function b(a,b){a.type=50;a.zh=b.name;a.start=b.na;a.length=b.Qa-a.start;b.cyclic||(a.length+=b.uw)}function g(a){return a.replace(/_B4W_BAKED$/,"")}function p(a,b){return{rm:a,action:b}}function D(a,b,c){if(a.animation_data){var d=
  1178. a.animation_data.action;d&&60==d.s.type&&b.push(p(c,d))}a=a.nodes;for(d=0;d<a.length;d++){var e=a[d];if(e.node_group){var f=e.node_group.node_tree;if(f){var h=c.slice();h.push(e.name);D(f,b,h)}}}}function e(a){return T.is_mesh(a)&&a.k.Fc?!0:!1}function u(a,b,c){var d=a.ba;if(-1==c)for(c=0;8>c;c++){var e=d[c];e&&(e.Ke=b,t(a,0,c,!0))}else if(e=d[c])e.Ke=b,t(a,0,c,!0)}function n(a,b,c){if(-1==b)for(b=0;8>b;b++){var d=a[b];d&&c(d)}else(d=a[b])&&c(d)}function t(a,b,c,d){x(a,b,c,d);f(a,c);a.k.yh&&(E(a,
  1179. b),F(a,b))}function m(a,b,c,e){var f=c.frame_range;if(f[0]>f[1])return G.warn('Incompatible action "'+c.name+'" has been applied to object "'+a.name+'"'),!1;var h=c.s,g=a.ba[e];g.zh=c.name;g.ou=f;g.ez=h.NC;g.cz=h.Az;g.Dh.set(h.Dh);g.start=f[0];g.length=f[1]-f[0];g.Ke=f[0];switch(h.type){case 10:if(T.is_armature(a)){g.type=10;var l=k(a,b,c);if(!l){for(var l=a.k.Qf,f=[],m=[],n=c.s.Uw,r=0;r<n;r++){for(var p in l){var u=l[p],t=u.zt,w=c.s.Cu[p];w?pa.copy(w.subarray(8*r,8*r+8),t):pa.identity(t);u.At=!1}u=
  1180. A(l);f.push(u.trans);m.push(u.ub)}l={trans:f,ub:m};d(a,b,c,l)}g.trans=l.trans;g.ub=l.ub;b=l;g=a.k;l=g.Hm;f=a.ba[e];p=f.Hx;a:{m=g.ht;for(n=0;n<m.length;n+=2)if(c==m[n]){m=m[n+1];break a}m=null}if(m)f.Hx=m;else{for(f=0;f<l.length;f++){m=l[f].Bh;n=[];r=[];u=b.trans;t=b.ub;for(w=0;w<u.length;w++){var q=K(u[w],t[w],m);n.push(q.trans);r.push(q.ub)}p.push({trans:n,ub:r})}g.ht.push(c,p)}g.yh&&(c=g.Ym,e>c[1]?(b=c[1],c[1]=e,c[0]=b):e>c[0]&&e<c[1]&&(c[0]=e),y(a))}break;case 40:T.is_speaker(a)&&(g.volume=h.Y.volume||
  1181. null,g.pitch=h.Y.pitch||null,g.type=40);break;case 70:T.is_lamp(a)&&(g.color=h.Y.color||null,g.Me=h.Y.energy||null,g.type=70);break;case 60:if("MESH"==a.type){g.type=60;p=k(a,b,c);if(!p){p=[];f=[];m=[];n=[];r=[];u=c.s;t=b?b[0]:null;for(l in u.Y){w=b;q=l.match(/"(.*?)"/)[1];if(w&&1<w.length){for(var D=w[1],z=2;z<w.length;z++)D=D+"%join%"+w[z];D+="%join%"+q}else D=q;w=D;for(q=0;q<a.F.length;q++)for(D=a.F[q].M,z=0;z<D.length;z++){var x=D[z];if(!t||-1!=x.nc.indexOf(t)){var C=x.Ve,B=v(l,w,u,f,p,x.We),
  1182. C=v(l,w,u,n,m,C);(B||C)&&r.push(x)}}}p={aR:p,values:f,AO:m,BO:n,Cs:r};d(a,b,c,p)}g.We=p.aR;g.zC=p.values;g.Ve=p.AO;g.yC=p.BO;g.Cs=p.Cs}break;case 20:if(l=h.Y.tsr){g.type=20;p=k(a,b,c);if(!p){p=c.s.Uw;f=[];m=[];for(n=0;n<p;n++)f.push(l.subarray(8*n,8*n+4)),m.push(l.subarray(8*n+4,8*n+8));p={trans:f,ub:m};d(a,b,c,p)}g.trans=p.trans;g.ub=p.ub;U.sm(a)&&U.PQ(a,g.trans[0],g.ub[0])}else return G.warn('Incompatible action "'+c.name+'" has been applied to object "'+a.name+'"'),!1;break;case 80:T.is_world(a)&&
  1183. (g.Me=h.Y["light_settings.environment_energy"]||null,g.Dd=h.Y.horizon_color||null,g.Ld=h.Y.zenith_color||null,g.Go=h.Y["mist_settings.intensity"]||null,g.fog_depth=h.Y["mist_settings.depth"]||null,g.fog_start=h.Y["mist_settings.start"]||null,g.fog_height=h.Y["mist_settings.height"]||null,g.TA=h.Y.b4w_fog_color||null,g.type=80)}T.is_armature(a)&&10!=h.type&&H(a,e);return!0}function k(a,b,c){a=a.Fq;b=b?b.join("%join%"):null;for(var d=0;d<a.length;d+=3)if(c==a[d]&&b==a[d+1])return a[d+2];return null}
  1184. function d(a,b,c,d){a.Fq.push(c,b?b.join("%join%"):null,d)}function y(a){var b=a.k.Ym;if(-1!=b[0]&&-1!=b[1]){var c=a.ba;a=c[b[1]].Ke;var d=Math.floor(a),e=a-d,b=c[b[0]];a=b.Ke;d=Math.floor(a);b.Ke=d+e}}function H(a,b){var c=a.k.Ym,d=c[1];c[0]=-1;c[1]=-1;if(-1!=b)for(var e=a.ba;0<=d;d--){var f=e[d];if(f&&10==f.type)if(d>c[1])c[1]=d;else{d>c[0]&&(c[1]=d);break}}}function v(a,b,c,d,e,f){if(!f)return!1;for(var h=!1,g=0;g<f.length;g+=2)b==f[g]&&(e.push(f[g+1]),d.push(new Float32Array(c.Y[a])),h=!0);return h}
  1185. function z(a){a=a.s;for(var b in a.Y)if(-1!=b.indexOf("nodes"))return!0;return!1}function x(a,b,c,d){if((c=a.ba[c])&&null!=c.type&&(c.play||d)){var e=a.k,f=c.Ke,h=c.start,g=c.length,f=f+c.speed*b*S.Sc(),l=c.type,k=c.speed;if(0<=k&&f>=h+g||0>k&&f<h)switch(d||(c.Do=!0),c.behavior){case 10:f=0<=k?(f-h)%g+h:h+g-1E-6;break;case 20:f=0<=k?h:h+g-1E-6;c.play=!1;break;case 30:f=0<=k?h+g-1E-6:h,c.play=!1}c.Ke=f;switch(l){case 10:if(!e.yh){d=M(c);b=d[0];var m=d[1];d=d[2];e.Fd=c.ub[b];e.Wd=c.ub[m];e.Kd=c.trans[b];
  1186. e.Zd=c.trans[m];e.oe=d;d=e.Hm;c=c.Hx;for(var n=0;n<d.length;n++){var r=d[n],p=c[n];r.Fd=p.ub[b];r.Wd=p.ub[m];r.Kd=p.trans[b];r.Zd=p.trans[m];r.oe=e.oe}la.B(a)}break;case 20:d=M(c);var e=L,m=d[0],n=d[1],r=d[2],p=c.trans,u=p[m][1],f=p[m][2],h=p[n][1],g=p[n][2];e[0]=(1-r)*p[m][0]+r*p[n][0];e[1]=(1-r)*u+r*h;e[2]=(1-r)*f+r*g;m=O;f=d[0];n=d[1];r=d[2];p=c.ub;u=ea;u[0]=p[f][0];u[1]=p[f][1];u[2]=p[f][2];u[3]=p[f][3];f=sa;f[0]=p[n][0];f[1]=p[n][1];f[2]=p[n][2];f[3]=p[n][3];qa.slerp(u,f,r,m);n=d[2];r=c.trans;
  1187. d=(1-n)*r[d[0]][3]+n*r[d[1]][3];a.parent&&a.Qs&&(n=ba,pa.set_sep(e,d,m,n),pa.multiply(a.Qs,n,n),pa.Yb(n,e),pa.sd(n,m),d=pa.get_scale(n));c.jy&&(n=ua,la.get_translation(a,n),va.smooth_v(e,n,b,c.jy,e));c.jx&&(n=ea,la.get_rotation(a,n),va.OD(m,n,b,c.jx,m));f=c.Dh;f[0]&&la.set_translation_rel(a,e);f[1]&&la.set_rotation_rel(a,m);f[2]&&la.set_scale_rel(a,d);la.B(a);ia.sync_transform(a);break;case 30:d=c.Ke-c.start;0>d&&(d=0);d>=c.length&&(d=c.length);a=Math.floor(d);b=a+1;d-=a;10!=c.behavior&&b==c.length&&
  1188. (b=--a,d=1);c=c.QE;na[0]=a+c;na[1]=b+c;na[2]=d;d=na;e.Gt=d[0];e.Ht=d[2];break;case 40:d=M(c);b=d[0];e=d[1];d=d[2];c.volume&&ya.set_volume(a,(1-d)*c.volume[b]+d*c.volume[e]);c.pitch&&ya.playrate(a,(1-d)*c.pitch[b]+d*c.pitch[e]);break;case 50:b=10==c.behavior?(f-h)/S.Sc():f/S.Sc();U.kP(a,c.zh,b);break;case 60:d=M(c);b=d[0];e=d[1];d=d[2];p=c.zC;u=c.We;a=c.yC;m=c.Ve;n=c.Cs;for(c=0;c<u.length;c++)for(f=p[c],r=u[c],h=(1-d)*f[b]+d*f[e],f=0;f<n.length;f++)n[f].Xh[r]=h;for(c=0;c<m.length;c++)for(p=a[c],r=
  1189. m[c],p=wa.lerp(p.subarray(3*b,3*b+3),p.subarray(3*e,3*e+3),d,L),f=0;f<n.length;f++)n[f].Ud[3*r]=p[0],n[f].Ud[3*r+1]=p[1],n[f].Ud[3*r+2]=p[2];break;case 70:d=M(c);b=d[0];e=d[1];d=d[2];f=c.Dh;(g=c.Me)&&f[0]&&ja.set_light_energy(a.ib,(1-d)*g[b]+d*g[e]);(c=c.color)&&f[1]&&(L[0]=(1-d)*c[3*b]+d*c[3*e],L[1]=(1-d)*c[3*b+1]+d*c[3*e+1],L[2]=(1-d)*c[3*b+2]+d*c[3*e+2],ja.set_light_color(a.ib,L));h=a.F;for(c=0;c<h.length;c++)ga.AQ(a,h[c].nb);break;case 80:d=M(c);b=d[0];e=d[1];d=d[2];f=c.Dh;h=a.F;k=ga.Ca(h[0].nb,
  1190. ra.Db);g=c.Me;g=f[0]?(1-d)*g[b]+d*g[e]:k.Me;l=c.Dd;f[1]?(L[0]=(1-d)*l[3*b]+d*l[3*e],L[1]=(1-d)*l[3*b+1]+d*l[3*e+1],L[2]=(1-d)*l[3*b+2]+d*l[3*e+2],l=L):l=k.Dd;var t=c.Ld;f[2]?(ua[0]=(1-d)*t[3*b]+d*t[3*e],ua[1]=(1-d)*t[3*b+1]+d*t[3*e+1],ua[2]=(1-d)*t[3*b+2]+d*t[3*e+2],k=ua):k=k.Ld;t=c.Go;f[3]&&(m=(1-d)*t[b]+d*t[e]);t=c.fog_depth;f[4]&&(n=(1-d)*t[b]+d*t[e]);t=c.fog_start;f[5]&&(r=(1-d)*t[b]+d*t[e]);t=c.fog_height;f[6]&&(p=(1-d)*t[b]+d*t[e]);c=c.TA;f[7]&&(O[0]=(1-d)*c[3*b]+d*c[3*e],O[1]=(1-d)*c[3*b+1]+
  1191. d*c[3*e+1],O[2]=(1-d)*c[3*b+2]+d*c[3*e+2],u=O);for(c=0;c<h.length;c++)b=a.F[c].nb,(f[0]||f[1]||f[2])&&ga.set_environment_colors(b,g,l,k),f[3]&&ga.qD(b,m),f[4]&&ga.oD(b,n),f[5]&&ga.rD(b,r),f[6]&&ga.pD(b,p),f[7]&&ga.set_fog_color_density(b,u);break;default:va.q("Unknown animation type:"+l)}}}function M(a){var b=a.ou[0],c=a.ou[1]-b,b=a.Ke-b;0>b&&(b=0);b>=c&&(b=c);b/=a.ez;c=Math.floor(b);a=a.cz[c]?b-c:0;b=Math.ceil(c+a);na[0]=c;na[1]=b;na[2]=a;return na}function F(a,b){var c=a.k,d=c.Jg,e=c.Ym,f=e[0],
  1192. e=e[1];if(-1!=e){if(-1!=f){var h=a.ba[f];if(h.play||0==b){var g=M(h),l=g[0],k=g[1];c.oe=g[2];var g=h.ub[l],m=h.ub[k],l=h.trans[l],k=h.trans[k]}else d=1}else d=1;e=a.ba[e];if(e.play||0==b){var f=M(e),n=f[0],r=f[1];c.oe=f[2]}else if(-1!=f&&h.play)d=0;else return;f=e.ub[n];h=e.ub[r];n=e.trans[n];r=e.trans[r];if(1==d)c.Fd.set(f),c.Wd.set(h),c.Kd.set(n),c.Zd.set(r);else if(0==d)c.Fd.set(g),c.Wd.set(m),c.Kd.set(l),c.Zd.set(k);else{for(e=0;e<g.length;e+=4){for(var p=O,u=ea,t=0;4>t;t++)p[t]=g[e+t],u[t]=f[e+
  1193. t];qa.slerp(p,u,d,p);for(t=0;4>t;t++)c.Fd[e+t]=p[t];for(t=0;4>t;t++)p[t]=m[e+t],u[t]=h[e+t];qa.slerp(p,u,d,p);for(t=0;4>t;t++)c.Wd[e+t]=p[t]}va.Dz(l,n,d,c.Kd);va.Dz(k,r,d,c.Zd)}la.B(a);V.MQ(a)}}function E(a,b){var c=a.k,d=c.Jg,e=c.xn;if(0!=e){var d=c.wn-d,f=e*b;va.sign(d)==va.sign(e)&&Math.abs(f)<Math.abs(d)?c.Jg+=f:(c.Jg=c.wn,c.xn=0)}}function A(a){var b=[],c=[],d=new Float32Array(4),e=new Float32Array(4),f;for(f in a){var h=a[f],g=d,l=e,k=h.Wq,m=k[k.length-1],n=m.ly;m.At||pa.identity(n);for(m=k.length-
  1194. 1;0<=m;m--){var r=k[m],p=r.ly;if(r.At)n=p;else{var u=r.zj,t=r.zt;pa.invert(u,ba);pa.multiply(t,ba,ba);pa.multiply(u,ba,ba);pa.multiply(n,ba,p);n=p;r.At=!0}}k=r.ly;g[0]=k[0];g[1]=k[1];g[2]=k[2];g[3]=k[3];l[0]=k[4];l[1]=k[5];l[2]=k[6];l[3]=k[7];qa.normalize(l,l);h=h.yi;for(g=0;4>g;g++)l=4*h+g,b[l]=d[g],c[l]=e[g]}return{trans:b,ub:c}}function K(a,b,c){var d=[],e=[];new Float32Array(4);new Float32Array(4);for(var f in c)for(var h=c[f],g=h.yi,h=h.ov,l=0;4>l;l++){var k=4*h+l,m=4*g+l;d[k]=a[m];e[k]=b[m]}d=
  1195. new Float32Array(d);e=new Float32Array(e);return{trans:d,ub:e}}function h(a){var b=a.s,c;if(b.Cu)c=10;else if(b.Y)if("volume"in b.Y||"pitch"in b.Y)c=40;else if(z(a))c=60;else{var d;a:{if(a.s.Y){d=a.fcurves;for(var e in d)if("color"==e&&!d[e][3]){d=!0;break a}if("energy"==e){d=!0;break a}}d=!1}if(d)c=70;else if(d=a.s.Y,"light_settings.environment_energy"in d||"horizon_color"in d||"zenith_color"in d||"mist_settings.intensity"in d||"mist_settings.depth"in d||"mist_settings.start"in d||"mist_settings.height"in
  1196. d||"b4w_fog_color"in d)c=80;else{a:{if(a.s.Y)for(c in a=a.fcurves,a)if("location"==c||"rotation_quaternion"==c||"scale"==c){c=!0;break a}c=!1}c=c?20:0}}else c=0;b.type=c}function z(a){if(a=a.s.Y)for(var b in a)if(-1!=b.indexOf("nodes"))return!0;return!1}function l(a,b){b[0]=b[1]=b[2]=0;for(var c in a)"location"==c?b[0]=1:"rotation_quaternion"==c?b[1]=1:"scale"==c&&(b[2]=1)}function w(a,b){b[0]=b[1]=0;for(var c in a)"energy"==c?b[0]=1:"color"==c&&(b[1]=1)}function r(a,b){b[0]=b[1]=b[2]=0;b[3]=b[4]=
  1197. b[5]=0;b[6]=b[7]=0;for(var c in a)"light_settings.environment_energy"==c?b[0]=1:"horizon_color"==c?b[1]=1:"zenith_color"==c?b[2]=1:"mist_settings.intensity"==c?b[3]=1:"mist_settings.depth"==c?b[4]=1:"mist_settings.start"==c?b[5]=1:"mist_settings.height"==c?b[6]=1:"b4w_fog_color"==c&&(b[7]=1)}function J(a,b,c,d,e,f,h){var g=a+(b-a)/2,l=B(g,d,e,f,h)-c;return.02>Math.abs(l)?g:0<l?J(a,g,c,d,e,f,h):J(g,b,c,d,e,f,h)}function B(a,b,c,d,e){var f=1-a;return b*f*f*f+3*c*f*f*a+3*d*f*a*a+e*a*a*a}function Z(a,
  1198. b){var c={type:null,zh:null,ou:null,ez:0,cz:null,Dh:new Int8Array(8),ub:null,trans:null,Hx:[],play:!1,behavior:20,Ke:0,start:0,length:0,jy:0,jx:0,Do:!1,QE:null,speed:1,volume:null,pitch:null,color:null,Me:null,Ld:null,Dd:null,Go:null,fog_depth:null,fog_start:null,fog_height:null,TA:null,zC:[],We:[],yC:[],Ve:[],Cs:null};if(!a.ba.length)for(var d=0;8>d;d++)a.ba.push(null);a.ba[b]=c;-1==Ba.indexOf(a)&&Ba.push(a)}function I(a,b){la.B(a);ia.sync_transform(a);t(a,0,b,!0)}function C(a,d,e,f){f=f||0;if(T.is_mesh(a)){var h=
  1199. N(a,e);if(h)return Z(a,f),c(a,h,f),I(a,f),!0;if((h=Q(a,e))&&"EMITTER"==h.Ks){Z(a,f);d=h.name;e=f;for(var h=a.F,g=0;g<h.length;g++)for(var l=h[g].M,k=0;k<l.length;k++){var n=l[k].Ua;n&&n.name==d&&b(a.ba[e],n)}I(a,f);return!0}}if(h=va.keysearch("name",e,oa)||va.keysearch("name",e+"_B4W_BAKED",oa)){Z(a,f);if(m(a,d,h,f))return I(a,f),!0;a.ba[f]=null}G.error('Unsupported object: "'+a.name+'" or animation name: "'+e+'"');return!1}function N(a,b){for(var c=0;c<a.Fc.length;c++){var d=a.Fc[c];if(d.name===
  1200. b)return d}return null}function Q(a,b){for(var c=a.F,d=0;d<c.length;d++)for(var e=c[d].M,f=0;f<e.length;f++){var h=e[f].Ua;if(h&&h.name===b)return h}return null}function W(a){a=a.modifiers;for(var b=0;b<a.length;b++){var c=a[b];if("ARMATURE"==c.type)return c.object}return null}var V=q("__armature"),ka=q("__config"),ja=q("__lights"),T=q("__obj_util"),U=q("__particles"),ia=q("__physics"),G=q("__print"),qa=q("__quat"),aa=q("__reformer"),ga=q("__scenes"),ya=q("__sfx"),ra=q("__subscene"),S=q("__time"),
  1201. la=q("__transform"),pa=q("__tsr"),va=q("__util"),wa=q("__vec3"),ca=ka.Rj,ta=ka.Eh;a.LF=1E-6;a.OBJ_ANIM_TYPE_NONE=0;a.OBJ_ANIM_TYPE_ARMATURE=10;a.OBJ_ANIM_TYPE_OBJECT=20;a.OBJ_ANIM_TYPE_VERTEX=30;a.OBJ_ANIM_TYPE_SOUND=40;a.OBJ_ANIM_TYPE_PARTICLES=50;a.OBJ_ANIM_TYPE_MATERIAL=60;a.fG=70;a.eG=80;a.SLOT_0=0;a.SLOT_1=1;a.SLOT_2=2;a.SLOT_3=3;a.SLOT_4=4;a.SLOT_5=5;a.SLOT_6=6;a.SLOT_7=7;a.SLOT_ALL=-1;a.AB_CYCLIC=10;a.AB_FINISH_RESET=20;a.AB_FINISH_STOP=30;var na=Array(3),L=new Float32Array(3),ua=new Float32Array(3),
  1202. O=new Float32Array(4),ea=new Float32Array(4),sa=new Float32Array(4),ba=pa.create();new Float32Array(16);var Ba=[],oa=[];a.sB=function(){return va.trunc((ta.hp-50)/4)};a.frame_to_sec=function(a){return a/S.Sc()};a.update=function(a){for(var b=0;b<Ba.length;b++){for(var c=Ba[b],d=0;8>d;d++)x(c,a,d);c.k.yh&&(E(c,a),F(c,a))}for(b=0;b<Ba.length;b++)for(c=Ba[b],d=0;8>d&&c.ba.length;d++)f(c,d)};a.FL=function(){return oa};a.get_anim_names=function(a){var b=[];if(e(a))for(var c=0;c<a.Fc.length;c++)b.push(a.Fc[c].name);
  1203. for(var d=[],c=0;c<oa.length;c++){var f=oa[c],h=f.s;20==h.type?d.push(f):60==f.s.type&&"MESH"==a.type?d.push(f):10==h.type&&"ARMATURE"==a.type?d.push(f):40==h.type&&"SPEAKER"==a.type?d.push(f):80==h.type&&"WORLD"==a.type&&d.push(f)}for(c=0;c<d.length;c++)b.push(g(d[c].name));if(U.sm(a)&&U.DC(a))for(a=a.F,c=0;c<a.length;c++)for(d=a[c].M,f=0;f<d.length;f++)(h=d[f].Ua)&&b.push(h.name);return b};a.$D=g;a.get_anim_type=function(a,b){var c=a.ba[b];return c?c.type:0};a.apply_def=function(a){for(var d=0,
  1204. f=a.F,h=0;h<f.length;h++)for(var g=f[h].M,l=0;l<g.length;l++){var k=g[l].Ua;k&&"EMITTER"==k.Ks&&!g[l].of&&(Z(a,d),b(a.ba[d],k),I(a,d),a.ba[d].behavior=k.cyclic?10:a.Qj,d++)}f=a.Wf.slice();for(h=0;h<f.length;h++)l=f[h],g=l.rm,l=l.action,Z(a,d),m(a,g,l,d)?(I(a,d),a.ba[d].behavior=a.Qj,d++):a.ba[d]=null;e(a)&&(Z(a,d),c(a,a.Fc[0],d),I(a,d),a.ba[d].behavior=a.Qj)};a.su=function(a){switch(a){case "CYCLIC":return 10;case "FINISH_RESET":return 20;case "FINISH_STOP":return 30;default:va.q("Wrong animation behavior")}};
  1205. a.IL=function(a){var b=[];a=a.data.materials;for(var c=0;c<a.length;c++){var d=a[c],e=d.node_tree;e&&D(e,b,[d.name])}return b};a.MB=p;a.play=function(a,b,c){n(a.ba,c,function(a){a.play=!0;a.Fv=b?b:null;a.Do=!1});a.k.yh&&y(a)};a.stop=function(a,b){n(a.ba,b,function(a){a.play=!1;a.Fv=null;a.Do=!1})};a.is_play=function(a,b){var c=a.ba;if(-1==b)for(var d=0;8>d;d++){if(c[d]&&c[d].play)return!0}else if(c=c[b])return c.play;return!1};a.set_frame=u;a.set_first_frame=function(a,b){b=b||0;n(a.ba,b,function(c){u(a,
  1206. c.start,b)})};a.oB=function(a,b){var c=a.ba[b];return c&&c.Ke?c.Ke:0};a.is_cyclic=function(a,b){var c=a.ba[b];return c&&10==c.behavior};a.set_behavior=function(a,b,c){n(a.ba,c,function(a){a.behavior=b})};a.get_behavior=function(a,b){var c=a.ba[b];return c&&c.behavior};a.apply_smoothing=function(a,b,c,d){n(a.ba,d,function(a){a.jy=b||0;a.jx=c||0})};a.remove_slot_animation=function(a,b){if(-1==b)for(var c=0;8>c;c++)a.ba[c]=null;else a.ba[b]=null;a.k.yh&&H(a,b)};a.DQ=t;a.FC=function(a){if("ARMATURE"==
  1207. a.type||a.Kq||"WORLD"==a.type)return!0;for(var b=0;b<a.Wf.length;b++){var c=a.Wf[b].action.s.type;if(20==c||10==c||40==c&&"SPEAKER"==a.type||70==c&&"LAMP"==a.type||60==c&&"MESH"==a.type)return!0}return U.sm(a)&&U.DC(a)||"MESH"==a.type&&a.Fc.length?!0:!1};a.Kz=function(a,b){if("ARMATURE"==b.type||W(a)||"WORLD"==b.type)return!0;for(var c=0;c<b.Wf.length;c++){var d=b.Wf[c].action.s.type;if(20==d||10==d||40==d&&"SPEAKER"==b.type||60==d&&"MESH"==b.type)return!0}return U.pI(a)&&U.oI(a)||"MESH"==b.type&&
  1208. a.data.b4w_vertex_anim.length?!0:!1};a.is_animated=function(a){return Boolean(a.ba.length)};a.yI=A;a.ZK=K;a.uH=function(a){function b(a,c){for(var d=0;d<c;d++){var e=a.subarray(8*d+4,8*d+8);qa.normalize(e,e)}}function c(a,b){if(-1<a.indexOf("location"))var d=0,e=b;else-1<a.indexOf("rotation_quaternion")?(d=4,e=0==b?3:b-1):-1<a.indexOf("scale")?(d=3,e=0):(d=0,e=b);return d+e}function d(a,b,c,h,g){if(-1<c.search(e)){a=b;c=c.split('"')[1];var l=f}else 8==g?(c="tsr",l=f):l=1<g?new Float32Array(g):0;if(!a[c]){g=
  1209. a;b=c;if("object"==typeof l&&l.length)for(var k=l.length,m=new Float32Array(h*k),n=0;n<h;n++)for(var r=0;r<k;r++)m[n*k+r]=l[r];else if("number"==typeof l)for(m=new Float32Array(h),n=0;n<h;n++)m[n]=l;else va.q("Wrong storage default value");g[b]=m}return a[c]}var e=new RegExp(/pose.bones\[\".+\"\]/g),f=pa.create(),g=a.s={type:0,Uw:0,NC:0,Y:null,Cu:null,Az:null,Dh:new Int8Array(8)};g.NC=1/ca.tk;var k=a.fcurves,m={},n={},p=0,u;for(u in k){var t=k[u],v;for(v in t){var q=t[v],D=q.Ie;aa.JI(q,a);q=q.num_channels;
  1210. p||(p=D.length);for(var q=d(m,n,u,p,q),y=q.length/p,z=c(u,v|0),x=0;x<p;x++)q[x*y+z]=D[x]}}if(va.Oo(m)){for(var C in m)"tsr"==C&&b(m[C],p);g.Y=m}if(va.Oo(n)){for(var B in n)b(n[B],p);g.Cu=n}g.Uw=p;g.Az=a.kH;"tsr"in m&&l(k,g.Dh);("color"in m||"energy"in m)&&w(k,g.Dh);("light_settings.environment_energy"in m||"horizon_color"in m||"zenith_color"in m||"mist_settings.intensity"in m||"mist_settings.depth"in m||"mist_settings.start"in m||"mist_settings.height"in m||"b4w_fog_color"in m)&&r(k,g.Dh);h(a);oa.push(a)};
  1211. a.HL=function(a,b){return(b-a)*ca.tk+1};a.TH=function(a,b,c,d,e,f){var h=new Float32Array(2),g=new Float32Array(2),l=new Float32Array(2),k=new Float32Array(2),m=b[1],n=b[2],r=b[a.last_frame_offset+1];a=b[a.last_frame_offset+2];for(var p=0,u=0,t=null;e<=f;e++)if(e<m)for(var v=0;v<ca.tk;v++)c[p++]=n;else if(e>r)for(v=0;v<ca.tk;v++)c[p++]=a;else{var w=b[u],q=3;0===w&&(q+=2);0===t&&(q+=2);var D=2===w?0:1;if(b[u+1]==b[u+q+1])t=w,u+=q;else{v=0;e==b[u+1]&&(D&&(d[p]=1),c[p]=b[u+2],p++,v++);if(e==r)for(;v<
  1212. ca.tk;v++)c[p++]=a;else for(h[0]=b[u+1],h[1]=b[u+2],0!==w?(g[0]=0,g[1]=0):0===t?(g[0]=b[u+5],g[1]=b[u+6]):(g[0]=b[u+3],g[1]=b[u+4]),0!==w?(l[0]=0,l[1]=0):(l[0]=b[u+q+3],l[1]=b[u+q+4]),k[0]=b[u+q+1],k[1]=b[u+q+2];v<ca.tk;v++){var y=e+v/ca.tk;switch(w){case 0:var z=h,x=g,C=l,A=k,E=[],H=[],V=void 0,G=void 0,F=void 0,V=void 0;E[0]=z[0]-x[0];E[1]=z[1]-x[1];H[0]=A[0]-C[0];H[1]=A[1]-C[1];F=A[0]-z[0];V=Math.abs(E[0]);G=Math.abs(H[0]);0!=V+G&&V+G>F&&(V=F/(V+G),x[0]=z[0]-V*E[0],x[1]=z[1]-V*E[1],C[0]=A[0]-V*
  1213. H[0],C[1]=A[1]-V*H[1]);D&&(d[p]=1);c[p]=B(J(0,1,y,h[0],g[0],l[0],k[0]),h[1],g[1],l[1],k[1]);p++;break;case 1:D&&(d[p]=1);z=h[0];x=h[1];C=(k[1]-x)/(k[0]-z);c[p]=C*y+(x-C*z);p++;break;case 2:D&&(d[p]=1);c[p]=b[u+2];p++;break;default:va.q("Unknown keyframe interpolation mode: "+w)}}e+1==b[u+q+1]&&(t=w,u+=q)}}};a.apply=C;a.QH=function(a,b,c,d){d=d||0;var e=va.keysearch("uuid",c,oa);if(e){Z(a,d);if(m(a,b,e,d)){I(a,d);return}a.ba[d]=null}G.error('Unsupported object: "'+a.name+'" or animation uuid: "'+c+
  1214. '"')};a.RE=function(a,b){var c=va.keysearch("name",b,oa)||va.keysearch("name",b+"_B4W_BAKED",oa);if(c){if(0==c.s.type)return!1}else if(!(Q(a,b)||T.is_mesh(a)&&N(a,b)))return!1;return!0};a.get_slot_num_by_anim=function(a,b){for(var c=a.ba,d=0;d<c.length;d++){var e=c[d];if(e&&g(e.zh)==g(b))return d}return-1};a.GL=function(a,b){var c=a.ba[b];return c&&c.zh?g(c.zh):null};a.remove=function(a){a.ba.length=0;a=Ba.indexOf(a);-1!=a&&Ba.splice(a,1)};a.mO=function(a){for(var b=oa.length-1;0<=b;b--)oa[b].lH==
  1215. a&&oa.splice(b,1)};a.apply_to_first_empty_slot=function(a,b){if(!a.ba.length)return C(a,b,0)?0:-1;for(var c=0;c<a.ba.length;c++)if(!a.ba[c])return C(a,b,c)?c:-1};a.set_skel_mix_factor=function(a,b,c){a.k.xn=(b-a.k.Jg)/c;a.k.wn=b};a.set_speed=function(a,b,c){n(a.ba,c,function(a){a.speed=b})};a.get_speed=function(a,b){return a.ba[b].speed};a.get_anim_start_frame=function(a,b){return a.ba[b].start};a.get_anim_length=function(a,b){return a.ba[b].length};a.cleanup=function(){Ba.length=0;oa.length=0};a.bL=
  1216. function(a){var b=(a[0]||a[1]||a[2]).Ie.length,c=O,d=L,e=Boolean(a[0]);e||(a[0]={Ie:new Float32Array(b),num_channels:8});var f=Boolean(a[1]);f||(a[1]={Ie:new Float32Array(b),num_channels:8});var h=Boolean(a[2]);h||(a[2]={Ie:new Float32Array(b),num_channels:8});a[3]={Ie:new Float32Array(b),num_channels:8};for(var g=0;g<b;g++)d[0]=e?a[0].Ie[g]:0,d[1]=f?a[1].Ie[g]:0,d[2]=h?a[2].Ie[g]:0,va.euler_to_quat(d,c),a[0].Ie[g]=c[3],a[1].Ie[g]=c[0],a[2].Ie[g]=c[1],a[3].Ie[g]=c[2]};a.lB=W;a.wP=function(a,b){for(var c=
  1217. 7,d=0,e=0;e<oa.length;e++){var f=oa[e];if(f.name==b){d=f.s.type;break}}0==d&&(N(a,b)?d=30:(e=Q(a,b))&&"EMITTER"==e.Ks&&(d=50));for(e=0;8>e;e++)if(f=a.ba[e]){if(f.type==d)return e}else e<c&&(c=e);return c}};fdage.module.__time=function(a,q){function f(){return-1!==c.Rj.yr?c.Rj.yr:n}var c=q("__config");q("__print");var b=0,g=0,p=[],D=0,e=0,u=[],n=-1;a.vD=function(a){b=a;g=performance.now();for(a=0;a<p.length;a++){var c=p[a];b>c.zv&&(p.splice(a,1),a--,c.callback())}for(a=0;a<u.length;a++){var c=u[a],e=1-(c.zv-b)/c.duration,e=Math.min(e,1);c.callback(c.from+e*(c.to-c.from));1==e&&(u.splice(a,1),a--)}};a.get_timeline=function(){return b};a.set_timeout=function(a,c){var e;D++;e=D;p.push({id:e,callback:a,zv:b+
  1218. (performance.now()-g+c)/1E3});return e};a.clear_timeout=function(a){for(var b=0;b<p.length;b++)if(p[b].id==a){p.splice(b,1);break}};a.clear_animation=function(a){for(var b=u.length;b--;)if(u[b].id==a){u.splice(b,1);break}};a.animate=function(a,c,f,d){f/=1E3;var g;e++;g=e;u.push({id:g,callback:d,from:a,to:c,zv:b+f,duration:f});d(a);return g};a.reset=function(){g=b=0;p.length=0;e=D=u.length=0};a.Sc=f;a.VO=function(a){n=a};a.get_frame=function(a){return a*f()}};fdage.module.__transform=function(a,q){function f(a,b){m.qf(a)?z.set_trans(b,m.pf(a)):z.set_trans(b,a.k.n)}function c(a,b){var c=a.k;if(m.qf(a)){z.set_quat(b,c.n);var d=m.Cr(a),d=z.invert(d,K);z.multiply(d,c.n,m.pf(a))}else z.set_quat(b,c.n)}function b(a,b){m.qf(a)?z.set_quat(b,m.pf(a)):z.set_quat(b,a.k.n)}function g(a,b){z.sd(a.k.n,b);return b}function p(a,b){m.qf(a)?z.sd(m.pf(a),b):z.sd(a.k.n,b);return b}function D(a,b){m.qf(a)?z.copy(b,m.pf(a)):z.copy(b,a.k.n)}function e(a,b){m.qf(a)?z.copy(m.pf(a),
  1219. b):z.copy(a.k.n,b);return b}function u(a){var b=a.k,c=a.F,e=a.type;"CAMERA"==e&&t.ny(a);m.yQ(a,l);"CAMERA"==e&&t.vQ(a);var f=z.Yb(b.n,F),h=z.sd(b.n,A);n.Zj(b.N,b.n,b.Ja);n.Mn(b.oa,b.n,b.Ya);if(b.an)for(var g=0;g<c.length;g++)for(var p=c[g].M,q=0;q<p.length;q++){var D=p[q];n.Zj(D.N,b.n,D.Ja);n.Mn(D.oa,b.n,D.Ya);D.cf&&n.Ln(D.V,b.n,D.eb)}else b.cf&&n.Ln(b.V,b.n,b.eb);switch(e){case "MESH":a.wC&&z.invert(a.k.n,a.k.Ut);if(p=a.Kq)z.invert(p.k.n,K),z.multiply(K,b.n,K),z.lM(K,b.Bn),z.sd(K,b.An);b.Io=!0;break;
  1220. case "CAMERA":for(g=0;g<c.length;g++)t.wQ(a,c[g]);break;case "SPEAKER":v.HP(a,l,w);break;case "LAMP":k.BQ(a)}for(g=0;g<c.length;g++)if(q=c[g],q.Zr){p=q.nb;D=p.s;switch(e){case "MESH":b.Xd&&H.yx(p);D=q.Gh;null!=b.md&&D&&H.AE(D,f);break;case "EMPTY":d.zQ(a);break;case "CAMERA":H.IO(p);if(D.Uc){D.Uc.enable_csm&&H.yx(p);var E=y.da(a,p).W[0];H.LQ(E,D.Na)}H.get_active()==p&&H.Ak(p)==a&&v.eN(p,f,h,l,w);break;case "LAMP":H.$m(a,p)}D=q.eh;E=a.Ep;if(E.length)for(q=0;q<D.length;q++){var M=D[q].p;H.CE(D[q],f,
  1221. h);y.DE(E,M.dc);t.nP(M,H.Ak(p));x.Rl(M.Oc,M.Ug)}}b=a.je;for(g=0;g<b.length;g++)u(b[g]);a=a.Xu;for(g=0;g<a.length;g++)b=a[g],p=b[0],m.sQ(p,b[1])}var n=q("__boundings"),t=q("__camera"),m=q("__constraints"),k=q("__lights"),d=q("__objects"),y=q("__obj_util"),H=q("__scenes"),v=q("__sfx"),z=q("__tsr"),x=q("__util"),M=q("__vec3"),F=new Float32Array(3),E=new Float32Array(3),A=new Float32Array(4);new Float32Array(9);var K=z.create(),h=z.create(),l=0,w=0;a.SPACE_WORLD=0;a.SPACE_LOCAL=1;a.update=function(a){l=
  1222. a;w++};a.set_translation=function(a,b){var c=a.k;if(m.qf(a)){z.set_trans(b,c.n);var d=m.Cr(a),d=z.invert(d,K);z.multiply(d,c.n,m.pf(a))}else z.set_trans(b,c.n)};a.set_translation_rel=f;a.get_translation=function(a,b){z.Yb(a.k.n,b);return b};a.get_translation_rel=function(a,b){m.qf(a)?z.Yb(m.pf(a),b):z.Yb(a.k.n,b);return b};a.set_rotation=c;a.set_rotation_rel=b;a.get_rotation=g;a.get_rotation_rel=p;a.set_rotation_euler=function(a,b){var d=x.euler_to_quat(b,A);c(a,d)};a.set_rotation_euler_rel=function(a,
  1223. c){var d=x.euler_to_quat(c,A);b(a,d)};a.get_rotation_euler=function(a,b){g(a,A);return b=x.quat_to_euler(euler,b)};a.get_rotation_euler_rel=function(a,b){p(a,A);return b=x.quat_to_euler(euler,b)};a.set_scale=function(a,b){var c=a.k;if(m.qf(a)){var c=m.pf(a),d=z.get_scale(m.Cr(a));z.set_scale(b/d,c)}else z.set_scale(b,c.n)};a.set_scale_rel=function(a,b){var c=a.k;m.qf(a)?z.set_scale(b,m.pf(a)):z.set_scale(b,c.n)};a.get_scale=function(a){return z.get_scale(a.k.n)};a.get_scale_rel=function(a){return m.qf(a)?
  1224. z.get_scale(m.pf(a)):z.get_scale(a.k.n)};a.set_tsr=function(a,b){z.copy(b,a.k.n);if(m.qf(a)){var c=m.Cr(a),c=z.invert(c,K);z.multiply(c,a.k.n,m.pf(a))}};a.set_tsr_rel=D;a.get_tsr=function(a,b){return z.copy(a.k.n,b)};a.get_tsr_rel=e;a.get_object_size=function(a){var b=a.k;a=b.Uj;var c=z.get_scale(b.n),b=c*(a.max_x-a.min_x),d=c*(a.max_y-a.min_y);a=c*(a.max_z-a.min_z);return.5*Math.sqrt(b*b+d*d+a*a)};a.get_object_center=function(a,b,c){b?(a=a.k,M.copy(a.Ya.D,c)):(a=a.k,b=a.Uj,c[0]=(b.max_x+b.min_x)/
  1225. 2,c[1]=(b.max_y+b.min_y)/2,c[2]=(b.max_z+b.min_z)/2,z.transform_vec3(c,a.n,c));return c};a.move_local=function(a,b,c,d){var h=e(a,K),g=F;g[0]=b;g[1]=c;g[2]=d;z.transform_vec3(g,h,g);f(a,g)};a.ux=function(a,b){var c=e(a,K),d=z.set_quat(b,z.identity(h));z.multiply(c,d,d);D(a,d)};a.B=u;a.distance=function(a,b){var c=z.Yb(a.k.n,F),d=z.Yb(b.k.n,E);return M.dist(c,d)};a.um=function(a,b){var c=z.Yb(a.k.n,F);return M.dist(c,b)};a.get_object_bounding_box=function(a){return{max_x:a.k.Ja.max_x,min_x:a.k.Ja.min_x,
  1226. max_y:a.k.Ja.max_y,min_y:a.k.Ja.min_y,max_z:a.k.Ja.max_z,min_z:a.k.Ja.min_z}}};fdage.module.__tsr=function(a,q){function f(){var a=new Float32Array(8);a[3]=1;a[7]=1;return a}function c(){var a=new Float32Array(9);a[3]=1;a[7]=1;return a}function b(a,b){b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];return b}function g(a,b,c,d){d[0]=a[0];d[1]=a[1];d[2]=a[2];d[3]=b;d[4]=c[0];d[5]=c[1];d[6]=c[2];d[7]=c[3];return d}function p(a,b){b[0]=a[4];b[1]=a[5];b[2]=a[6];b[3]=a[7];return b}function D(a,b,c){var d=b[0],e=b[1],f=b[2],g=b[3],k=b[4],h=b[5],l=b[6];
  1227. b=b[7];var m=a[0]*g,n=a[1]*g,p=a[2]*g;a=b*m+h*p-l*n;var g=b*n+l*m-k*p,u=b*p+k*n-h*m,m=-k*m-h*n-l*p;c[0]=a*b+m*-k+g*-l-u*-h;c[1]=g*b+m*-h+u*-k-a*-l;c[2]=u*b+m*-l+a*-h-g*-k;c[0]+=d;c[1]+=e;c[2]+=f;return c}var e=q("__mat4"),u=q("__quat"),n=q("__util"),t=q("__vec3"),m=Math.sin(-Math.PI/4),k=-m,d=new Float32Array(3),y=new Float32Array(4);new Float32Array(4);var H=new Float32Array(16);a.create=f;a.clone=function(a){var c=f();b(a,c);return c};a.from_values=function(a,b,c,d,e,g,k,m){var h=f();h[0]=a;h[1]=
  1228. b;h[2]=c;h[3]=d;h[4]=e;h[5]=g;h[6]=k;h[7]=m;return h};a.gk=c;a.lS=function(a){var d=c();b(a,d);return d};a.JS=function(a,b,d,e,f,g,k,m){var h=c();h[0]=a;h[1]=b;h[2]=d;h[3]=e;h[4]=f;h[5]=g;h[6]=k;h[7]=m;return h};a.copy=b;a.identity=function(a){a[0]=0;a[1]=0;a[2]=0;a[3]=1;a[4]=0;a[5]=0;a[6]=0;a[7]=1;return a};a.set_sep=g;a.set_trans=function(a,b){b[0]=a[0];b[1]=a[1];b[2]=a[2];return b};a.set_scale=function(a,b){b[3]=a;return b};a.set_transcale=function(a,b){b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];
  1229. return b};a.set_quat=function(a,b){b[4]=a[0];b[5]=a[1];b[6]=a[2];b[7]=a[3];return b};a.get_trans_view=function(a){return a.subarray(0,3)};a.Yb=function(a,b){b[0]=a[0];b[1]=a[1];b[2]=a[2];return b};a.get_scale=function(a){return a[3]};a.lM=function(a,b){b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3]};a.get_quat_view=function(a){return a.subarray(4,8)};a.sd=p;a.invert=function(a,b){var c=1/a[3];if(!c)return null;var d=a[0],e=a[1],f=a[2];y[0]=a[4];y[1]=a[5];y[2]=a[6];y[3]=a[7];u.invert(y,y);var g=y[0],k=y[1],
  1230. h=y[2],l=y[3],d=d*c,e=e*c,m=f*c,f=l*d+k*m-h*e,n=l*e+h*d-g*m,p=l*m+g*e-k*d,d=-g*d-k*e-h*m;b[0]=-(f*l+d*-g+n*-h-p*-k);b[1]=-(n*l+d*-k+p*-g-f*-h);b[2]=-(p*l+d*-h+f*-k-n*-g);b[3]=c;b[4]=g;b[5]=k;b[6]=h;b[7]=l;return b};a.to_mat4=function(a,b){var c=a[3];e.fromRotationTranslation(a.subarray(4,8),a.subarray(0,3),b);for(var d=0;12>d;d++)b[d]*=c;return b};a.from_mat4=function(a,b){var c=n.qC(a,d),e=n.pC(a),f=n.matrix_to_quat(a,y);g(c,e,f,b);return b};a.multiply=function(a,b,c){D(b,a,c);c[3]=a[3]*b[3];var d=
  1231. a[4],e=a[5],f=a[6];a=a[7];var g=b[4],k=b[5],h=b[6];b=b[7];c[4]=d*b+a*g+e*h-f*k;c[5]=e*b+a*k+f*g-d*h;c[6]=f*b+a*h+d*k-e*g;c[7]=a*b-d*g-e*k-f*h;return c};a.eQ=function(a,b,c){var d=b[3];b=e.fromRotationTranslation(b.subarray(4,8),b.subarray(0,3),H);for(var f=0;12>f;f++)b[f]*=d;e.multiply(b,a,c);return c};a.transform_vec3=D;a.transform_vec3_inv=function(a,b,c){var d=b[3],e=a[0]-b[0],f=a[1]-b[1],g=a[2]-b[2];a=b[4];var k=b[5],h=b[6];b=b[7];var l=a*a+k*k+h*h+b*b,l=l?1/l:0;a=-a*l;k=-k*l;h=-h*l;b*=l;var l=
  1232. b*e+k*g-h*f,m=b*f+h*e-a*g,n=b*g+a*f-k*e,e=-a*e-k*f-h*g;c[0]=l*b+e*-a+m*-h-n*-k;c[1]=m*b+e*-k+n*-a-l*-h;c[2]=n*b+e*-h+l*-k-m*-a;c[0]/=d;c[1]/=d;c[2]/=d;return c};a.transform_vectors=function(a,b,c,d){d||(d=0);var e=a.length,f=b[0],g=b[1],k=b[2],h=b[3],l=b[4],m=b[5],n=b[6];b=b[7];for(var p=0;p<e;p+=3){var u=a[p]*h,t=a[p+1]*h,q=a[p+2]*h,D=b*u+m*q-n*t,y=b*t+n*u-l*q,H=b*q+l*t-m*u,u=-l*u-m*t-n*q;c[d+p]=D*b+u*-l+y*-n-H*-m;c[d+p+1]=y*b+u*-m+H*-l-D*-n;c[d+p+2]=H*b+u*-n+D*-m-y*-l;c[d+p]+=f;c[d+p+1]+=g;c[d+
  1233. p+2]+=k}return c};a.transform_dir_vectors=function(a,b,c,d){d||(d=0);var e=a.length,f=b[3],g=b[4],k=b[5],h=b[6];b=b[7];for(var l=0;l<e;l+=3){var m=a[l]*f,n=a[l+1]*f,p=a[l+2]*f,u=b*m+k*p-h*n,t=b*n+h*m-g*p,q=b*p+g*n-k*m,m=-g*m-k*n-h*p;c[d+l]=u*b+m*-g+t*-h-q*-k;c[d+l+1]=t*b+m*-k+q*-g-u*-h;c[d+l+2]=q*b+m*-h+u*-k-t*-g}return c};a.transform_dir_vec3=function(a,b,c){var d=b[3],e=b[4],f=b[5],g=b[6];b=b[7];var k=a[0]*d,h=a[1]*d,l=a[2]*d;a=b*k+f*l-g*h;var d=b*h+g*k-e*l,m=b*l+e*h-f*k,k=-e*k-f*h-g*l;c[0]=a*b+
  1234. k*-e+d*-g-m*-f;c[1]=d*b+k*-f+m*-e-a*-g;c[2]=m*b+k*-g+a*-f-d*-e;return c};a.transform_tangents=function(a,b,c,d){d||(d=0);var e=a.length,f=b[3],g=b[4],k=b[5],h=b[6];b=b[7];for(var l=0;l<e;l+=4){var m=a[l]*f,n=a[l+1]*f,p=a[l+2]*f,u=b*m+k*p-h*n,t=b*n+h*m-g*p,q=b*p+g*n-k*m,m=-g*m-k*n-h*p;c[d+l]=u*b+m*-g+t*-h-q*-k;c[d+l+1]=t*b+m*-k+q*-g-u*-h;c[d+l+2]=q*b+m*-h+u*-k-t*-g;c[d+l+3]=a[l+3]}return c};a.fQ=function(a,b,c){b=p(b,y);u.multiply(b,a,c)};a.vE=function(a,b,c,d){d=d||0;b=p(b,y);n.XC(a,b,c,d)};a.translate=
  1235. function(a,b,c){var d=a[3],e=a[4],f=a[5],g=a[6],k=a[7],h=b[0]*d,l=b[1]*d,m=b[2]*d;b=k*h+f*m-g*l;var d=k*l+g*h-e*m,n=k*m+e*l-f*h,h=-e*h-f*l-g*m;c[0]=a[0]+b*k+h*-e+d*-g-n*-f;c[1]=a[1]+d*k+h*-f+n*-e-b*-g;c[2]=a[2]+n*k+h*-g+b*-f-d*-e;c[3]=a[3];c[4]=a[4];c[5]=a[5];c[6]=a[6];c[7]=a[7];return c};a.interpolate=function(a,b,c,d){t.lerp(a.subarray(0,3),b.subarray(0,3),c,d.subarray(0,3));var e=a[3];d[3]=e+c*(b[3]-e);u.slerp(a.subarray(4,8),b.subarray(4,8),c,d.subarray(4,8));return d};a.BS=function(a,b,c,d){var e=
  1236. a.subarray(0,3),f=b.subarray(0,3),g=d.subarray(0,3);g[0]=f[0]*(c+1)-e[0]*c;g[1]=f[1]*(c+1)-e[1]*c;g[2]=f[2]*(c+1)-e[2]*c;d[3]=b[3]*(c+1)-a[3]*c;a=a.subarray(4,8);b=b.subarray(4,8);e=d.subarray(4,8);e[0]=b[0]*(c+1)-a[0]*c;e[1]=b[1]*(c+1)-a[1]*c;e[2]=b[2]*(c+1)-a[2]*c;e[3]=b[3]*(c+1)-a[3]*c;u.normalize(e,e);return d};a.zM=function(a,b,c,d,e){e[0]=a[0]+b*c[0];e[1]=a[1]+b*c[1];e[2]=a[2]+b*c[2];e[3]=a[3];c=d[0];var f=d[1];d=d[2];var g=a[4],k=a[5],h=a[6],l=a[7];e[4]=.5*(c*l+f*h-d*k);e[5]=.5*(f*l+d*g-c*
  1237. h);e[6]=.5*(d*l+c*k-f*g);e[7]=.5*(-c*g-f*k-d*h);e[4]=a[4]+e[4]*b;e[5]=a[5]+e[5]*b;e[6]=a[6]+e[6]*b;e[7]=a[7]+e[7]*b;a=e[4];b=e[5];c=e[6];f=e[7];a=a*a+b*b+c*c+f*f;0<a&&(a=1/Math.sqrt(a),e[4]*=a,e[5]*=a,e[6]*=a,e[7]*=a)};a.WT=function(a,b){b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];var c=a[4],d=a[5],e=a[6],f=a[7];b[4]=c*k+f*m;b[5]=d*k+e*m;b[6]=e*k-d*m;b[7]=f*k-c*m};a.VT=function(a,b){b[0]=a[0];b[1]=-a[2];b[2]=a[1];b[3]=a[3];b[4]=a[4];b[5]=-a[6];b[6]=a[5];b[7]=a[7]}};fdage.module.__util=function(a,q){function f(a){return 0<a?1:0>a?-1:0}function c(a,b,c){var d=a[0],e=a[1];a=a[2];var f=Math.cos(d/2),h=Math.cos(e/2),g=Math.cos(a/2),l=Math.sin(d/2),e=Math.sin(e/2),k=Math.sin(a/2);if(-1<N.indexOf(b))var m=Math.cos((d+a)/2),n=Math.sin((d+a)/2),p=Math.cos((d-a)/2),r=Math.sin((d-a)/2),u=Math.cos((a-d)/2),t=Math.sin((a-d)/2);switch(b){case sa:c[0]=h*n;c[1]=e*p;c[2]=e*r;c[3]=h*m;break;case ba:c[0]=e*r;c[1]=h*n;c[2]=e*p;c[3]=h*m;break;case Ba:c[0]=e*p;c[1]=e*r;c[2]=h*n;c[3]=
  1238. h*m;break;case 3:c[0]=h*n;c[1]=e*t;c[2]=e*u;c[3]=h*m;break;case oa:c[0]=e*u;c[1]=h*n;c[2]=e*t;c[3]=h*m;break;case Da:c[0]=e*t;c[1]=e*u;c[2]=h*n;c[3]=h*m;break;case 6:c[0]=l*h*g+f*e*k;c[1]=f*e*g-l*h*k;c[2]=f*h*k+l*e*g;c[3]=f*h*g-l*e*k;break;case 7:c[0]=f*h*k+l*e*g;c[1]=l*h*g+f*e*k;c[2]=f*e*g-l*h*k;c[3]=f*h*g-l*e*k;break;case 8:c[0]=f*e*g-l*h*k;c[1]=f*h*k+l*e*g;c[2]=l*h*g+f*e*k;c[3]=f*h*g-l*e*k;break;case 9:c[0]=l*h*g-f*e*k;c[1]=f*h*k-l*e*g;c[2]=f*e*g+l*h*k;c[3]=f*h*g+l*e*k;break;case 10:c[0]=f*e*g+
  1239. l*h*k;c[1]=l*h*g-f*e*k;c[2]=f*h*k-l*e*g;c[3]=f*h*g+l*e*k;break;case 11:c[0]=f*h*k-l*e*g,c[1]=f*e*g+l*h*k,c[2]=l*h*g-f*e*k,c[3]=f*h*g+l*e*k}return c}function b(a,b,c){var d=a[0],e=a[1],f=a[2];a=a[3];switch(b){case sa:c[0]=Math.atan2(d*e+f*a,e*a-d*f);c[1]=Math.acos(1-2*(e*e+f*f));c[2]=Math.atan2(d*e-f*a,d*f+e*a);break;case ba:c[0]=Math.atan2(d*a+e*f,f*a-d*e);c[1]=Math.acos(1-2*(d*d+f*f));c[2]=Math.atan2(e*f-d*a,d*e+f*a);break;case Ba:c[0]=Math.atan2(d*f+e*a,d*a-e*f);c[1]=Math.acos(1-2*(d*d+e*e));c[2]=
  1240. Math.atan2(d*f-e*a,d*a+e*f);break;case 3:c[0]=Math.atan2(d*f-e*a,d*e+f*a);c[1]=Math.acos(1-2*(e*e+f*f));c[2]=Math.atan2(d*f+e*a,f*a-d*e);break;case oa:c[0]=Math.atan2(d*e-f*a,d*a+e*f);c[1]=Math.acos(1-2*(d*d+f*f));c[2]=Math.atan2(d*e+f*a,d*a-e*f);break;case Da:c[0]=Math.atan2(e*f-d*a,d*f+e*a);c[1]=Math.acos(1-2*(d*d+e*e));c[2]=Math.atan2(d*a+e*f,e*a-d*f);break;case 6:c[0]=Math.atan2(2*(d*a-e*f),1-2*(d*d+e*e));c[1]=Math.asin(2*(d*f+e*a));c[2]=Math.atan2(2*(f*a-d*e),1-2*(e*e+f*f));break;case 7:b=d*
  1241. e+f*a;.499999<b?(c[0]=0,c[1]=Math.PI/2,c[2]=2*Math.atan2(d,a)):-.499999>b?(c[0]=0,c[1]=-Math.PI/2,c[2]=-2*Math.atan2(d,a)):(c[0]=Math.atan2(2*(e*a-d*f),1-2*(e*e+f*f)),c[1]=Math.asin(2*(d*e+f*a)),c[2]=Math.atan2(2*(d*a-e*f),1-2*(d*d+f*f)));break;case 8:c[0]=Math.atan2(2*(f*a-d*e),1-2*(d*d+f*f));c[1]=Math.asin(2*(d*a+e*f));c[2]=Math.atan2(2*(e*a-d*f),1-2*(d*d+e*e));break;case 9:c[0]=Math.atan2(2*(d*a+e*f),1-2*(d*d+f*f));c[1]=Math.asin(2*(f*a-d*e));c[2]=Math.atan2(2*(d*f+e*a),1-2*(e*e+f*f));break;case 10:c[0]=
  1242. Math.atan2(2*(d*f+e*a),1-2*(d*d+e*e));c[1]=Math.asin(2*(d*a-e*f));c[2]=Math.atan2(2*(d*e+f*a),1-2*(d*d+f*f));break;case 11:b=e*a-d*f,.499999<b?(c[0]=0,c[1]=Math.PI/2,c[2]=-2*Math.atan2(f,a)):-.499999>b?(c[0]=0,c[1]=-Math.PI/2,c[2]=2*Math.atan2(f,a)):(c[0]=Math.atan2(2*(d*e+f*a),1-2*(e*e+f*f)),c[1]=Math.asin(2*(e*a-d*f)),c[2]=Math.atan2(2*(d*a+e*f),1-2*(d*d+e*e)))}return c}function g(a,b,c){var d=b.length,e=Q;e[0]=a[0];e[1]=a[1];e[2]=a[2];B.normalize(e,e);d?(a=qa,a[0]=b[0],a[1]=b[1],a[2]=b[2],a[3]=
  1243. b[3],b=B.cross(a,e,ka),B.normalize(b,b),B.cross(e,b,a),d=aa,d[0]=a[0],d[1]=a[1],d[2]=a[2],d[3]=e[0],d[4]=e[1],d[5]=e[2],d[6]=b[0],d[7]=b[1],d[8]=b[2],J.fromMat3(d,c),c[3]=0<c[3]?c[3]+3.1E-5:c[3]-3.1E-5,(0<c[3]&&0>a[3]||0>c[3]&&0<a[3])&&J.scale(c,-1,c),J.normalize(c,c)):J.rotationTo(na,e,c);return c}function p(a,b){b||(b=new Float32Array(4));K.fromMat4(a,aa);var c=aa[0],d=aa[3],e=aa[6],f=aa[1],h=aa[4],g=aa[7],l=aa[2],k=aa[5],m=aa[8],c=Math.sqrt(c*c+d*d+e*e)||1,f=Math.sqrt(f*f+h*h+g*g)||1,l=Math.sqrt(l*
  1244. l+k*k+m*m)||1;aa[0]/=c;aa[3]/=c;aa[6]/=c;aa[1]/=f;aa[4]/=f;aa[7]/=f;aa[2]/=l;aa[5]/=l;aa[8]/=l;J.fromMat3(aa,b);J.normalize(b,b);return b}function D(a){var b=a[0],c=a[1],d=a[2],e=a[3],f=Math.sqrt(b*b+c*c+d*d),f=1/f;a[0]=b*f;a[1]=c*f;a[2]=d*f;a[3]=e*f}function e(a,b){var c=b;switch(typeof a){case "object":if(a)switch(a.constructor){case Object:for(var d in a)c=e(a[d],c);break;case Float32Array:case Uint32Array:case Int8Array:case Uint8Array:case Int16Array:case Uint16Array:case Int32Array:case Float64Array:for(d=
  1245. 0;d<a.length;d++)c=u(a[d],c);break;case Array:for(d=0;d<a.length;d++)c=e(a[d],c);break;case WebGLUniformLocation:case WebGLProgram:case WebGLShader:case WebGLFramebuffer:case WebGLTexture:case WebGLBuffer:c=u(0,c);break;default:v("Wrong object constructor")}else c=u(0,c);return c;case "number":return u(a,c);case "boolean":return u(a|0,c);case "string":return n(a,c);case "function":case "undefined":return u(0,c)}}function u(a,b){var c=b;S[0]=a;c=(c<<5)-c+la[0];c&=c;c=(c<<5)-c+la[1];return c&c}function n(a,
  1246. b){for(var c=b,d=0;d<a.length;d++)c=(c<<5)-c+a.charCodeAt(d),c&=c;return c}function t(a){return(34*a+1)*a%289}function m(a){return a-Math.floor(a)}function k(a){return d((34*a+5)*a)}function d(a){return a-289*Math.floor(a/289)}function y(a){return a-7*Math.floor(a/7)}function H(a,b,c){a<b&&(a=b);a>c&&(a=c);return a}function v(a){a&&w.error.apply(w,arguments);throw"engine panic:\nThe engine tried to perform an invalid operation and halted.\nPlease copy the console contents above and submit it to the FdageWeb forum at\nhttps://www.4dage.com";
  1247. }function z(a,b,c){a-=b;c-=b;return b+(a-Math.floor(a/c)*c)}function x(a){return z(a,0,2*Math.PI)}function M(a,b){if(a&&b){var c=a instanceof Array;if(c!=b instanceof Array)return!1;var d=a.buffer instanceof ArrayBuffer&&"undefined"!==a.byteLength;if(d!=(b.buffer instanceof ArrayBuffer&&"undefined"!==b.byteLength))return!1;if(c){if(a.length!=b.length)return!1;for(c=0;c<a.length;c++)if(!F(a[c],b[c]))return!1}else if(d){if(a.length!=b.length)return!1;for(c=0;c<a.length;c++)if(a[c]!=b[c])return!1}else{switch(a.constructor){case WebGLUniformLocation:case WebGLProgram:case WebGLShader:case WebGLFramebuffer:case WebGLTexture:case WebGLBuffer:return a==
  1248. b}for(var e in a)if(!F(a[e],b[e]))return!1;for(e in b)if(!(e in a))return!1}return!0}return!(a||b)}function F(a,b){if(typeof a!=typeof b)return!1;switch(typeof a){case "number":case "string":case "boolean":return a==b;case "object":return M(a,b);default:return!0}}function E(a){if(""==a)return".";var b=0==a.indexOf("/")|0;b&&0==a.indexOf("//")&&0!=a.indexOf("///")&&(b=2);a=a.split("/");for(var c=[],d=0;d<a.length;d++){var e=a[d];""!=e&&"."!=e&&(".."!=e||!b&&!c.length||c.length&&".."==c[c.length-1]?
  1249. c.push(e):c.length&&c.pop())}a=c.join("/");for(d=0;d<b;d++)a="/"+a;return a||"."}function A(){var a=[{}];a.length=0;return a}var K=q("__mat3"),h=q("__mat4"),l=q("__math"),w=q("__print"),r=q("__tsr"),J=q("__quat"),B=q("__vec3"),Z=q("__vec4"),I=0,C={},N=[sa,ba,Ba,oa,Da],Q=new Float32Array(3),W=new Float32Array(3),V=new Float32Array(3),ka=new Float32Array(3),ja=new Float32Array(3),T=new Float32Array(3),U=new Float32Array(3),ia=new Float32Array(3),G=new Float32Array(4),qa=new Float32Array(4),aa=new Float32Array(9),
  1250. ga=new Float32Array(16),ya=new Float32Array(16),ra=J.create(),S=new Float64Array(1),la=new Uint32Array(S.buffer),pa=new Float32Array([0,0,0]),va=new Float32Array([0,0,0,1]),wa=new Float32Array([0,0,0,1,0,0,0,1]),ca=new Float32Array([1,1,1]),ta=new Float32Array([1,0,0]),na=new Float32Array([0,1,0]),L=new Float32Array([0,0,1]),ua=new Float32Array([-1,0,0]),O=new Float32Array([0,-1,0]),ea=new Float32Array([0,0,-1]),sa=0,ba=1,Ba=2,oa=4,Da=5,xa=Math.floor(44488.07041494893),Ia=[new Float32Array([0,0,-1,
  1251. 0,0,-1,0,0,-1,0,0,0,0,0,0,1]),new Float32Array([0,0,1,0,0,-1,0,0,1,0,0,0,0,0,0,1]),new Float32Array([1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1]),new Float32Array([1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1]),new Float32Array([1,0,0,0,0,-1,0,0,0,0,-1,0,0,0,0,1]),new Float32Array([-1,0,0,0,0,-1,0,0,0,0,1,0,0,0,0,1])];a.Yy=pa;a.Al=va;a.OR=wa;a.lu=ca;a.AXIS_X=ta;a.AXIS_Y=na;a.AXIS_Z=L;a.AXIS_MX=ua;a.AXIS_MY=O;a.AXIS_MZ=ea;a.XYX=sa;a.YZY=ba;a.ZXZ=Ba;a.XZX=3;a.YXY=oa;a.ZYZ=Da;a.XYZ=6;a.YZX=7;a.ZXY=8;a.XZY=9;a.YXZ=10;a.ZYX=
  1252. 11;a.uF=Ia;a.Wt=1;a.qn=2;a.qi=4;a.Jy=4;a.sf=function(a){return"undefined"!=typeof a};a.keyfind=function(a,b,c){for(var d=[],e=c.length,f=0;f<e;f++){var h=c[f];h[a]==b&&d.push(h)}return d};a.f32=function(a){return new Float32Array(a)};a.hL=function(a,b){var c=a.length,d=new Float32Array(c+b.length);d.set(a);d.set(b,c);return d};a.iQ=function(a,b){var c=a.length,d=new Uint32Array(c+b.length);d.set(a);d.set(b,c);return d};a.RI=function(){var a=new Uint16Array([255]);return 255==(new DataView(a.buffer)).getUint16(0,
  1253. !0)};a.UH=function(a,b){var c=[],d={},e=b.length,f,h;for(f=0;f<e;f++)d[b[f]]=!0;e=a.length;for(f=0;f<e;f++)h=a[f],h in d&&c.push(h);return c};a.sign=f;a.pT=function(a,b,c){for(var d=c.length,e=0;e<d;e++)if(c[e][a]==b)return!0;return!1};a.keysearch=function(a,b,c){for(var d=0;d<c.length;d++){var e=c[d];if(e[a]===b)return e}return null};a.nT=function(a,b,c,d,e){for(var f=0;f<e.length;f++){var h=e[f];if(h[a]==b&&h[c]==d)return h}return null};a.aM=function(a,b){for(var c=0;c<a.length;c++)if(a[c].uuid==
  1254. b)return c;return-1};a.PH=function(a,b){for(var c=0;c<a.length;c++)if(a[c]==b)return;a.push(b)};a.jS=function(a){for(var b=0;b<a.length-1;b++)for(var c=a[b],d=b+1;d<a.length;d++)if(c==a[d])return!1;return!0};a.bQ=function(a,b,c,d){d||(d=new Float32Array(16));h.identity(d);d[12]=a;d[13]=b;d[14]=c};var ma=1;a.iO=function(){ma=(69069*ma+5)%Math.pow(2,32);return Math.round(ma/65536)%32768/32767};a.OP=function(a){ma=a};a.Cf=function(a){var b=a[0]%xa*48271-3399*Math.floor(a[0]/xa);a[0]=0<b?b:b+2147483647;
  1255. return(a[0]-1)/2147483646};a.Yr=function(a,b){b||(b=[]);b[0]=5E4+Math.floor(a);return b};a.euler_to_quat=function(a,b){var d=Q;d[0]=a[2];d[1]=a[1];d[2]=a[0];c(d,11,b);return b};a.ordered_angles_to_quat=c;a.quat_to_ordered_angles=b;a.RK=function(a){var b=K.create(),c=Math.cos(a[0]),d=Math.cos(a[1]),e=Math.cos(a[2]),f=Math.sin(a[0]),h=Math.sin(a[1]);a=Math.sin(a[2]);var g=c*e,l=c*a,k=f*e,m=f*a;b[0]=d*e;b[1]=d*a;b[2]=-h;b[3]=h*k-l;b[4]=h*m+g;b[5]=d*f;b[6]=h*g+m;b[7]=h*l-k;b[8]=d*c;return b};a.quat_to_euler=
  1256. function(a,c){var d=b(a,11,Q);c[0]=d[2];c[1]=d[1];c[2]=d[0];return c};a.quat_to_dir=function(a,b,c){c||(c=new Float32Array(3));B.transformQuat(b,a,c);return c};a.dir_to_quat=function(a,b,c){c||(c=new Float32Array(4));a=B.normalize(a,Q);var d=B.dot(b,a);a=B.cross(b,a,V);d=Math.acos(d);c[0]=a[0]*Math.sin(d/2);c[1]=a[1]*Math.sin(d/2);c[2]=a[2]*Math.sin(d/2);c[3]=Math.cos(d/2);return c};a.cQ=function(a,b,c,d){d||(d=new Float32Array(4));B.transformQuat(c,b,d);d[3]=-B.dot(a,d)};a.CK=function(a){var b=r.get_quat_view(a.k.n),
  1257. c=Q;switch(a.type){case "CAMERA":c[0]=0;c[1]=-1;c[2]=0;B.transformQuat(c,b,c);V[0]=0;V[1]=0;V[2]=-1;break;case "MESH":c[0]=0;c[1]=0;c[2]=1;B.transformQuat(c,b,c);V[0]=0;V[1]=0;V[2]=1;break;case "EMPTY":c[0]=0,c[1]=1,c[2]=0,B.transformQuat(c,b,c),V[0]=0,V[1]=1,V[2]=0}c[1]=0;B.normalize(c,c);a=B.dot(c,V);return Math.acos(a)*(0<-c[0]*V[2]?-1:1)};a.Dz=function(a,b,c,d){if(0!=c){d=d||[];for(var e=0;e<a.length;e++)d[e]=(1-c)*a[e]+c*b[e]}};a.kQ=function(){I++;return I.toString(10)};a.Wp=function(a){C[a]||
  1258. (C[a]=0);var b=a+C[a];C[a]++;return b};a.Vf=function(){return{a_position:new Float32Array(0),a_tbn_quat:new Float32Array(0)}};a.gen_tbn_quats=function(a,b,c){b=b||A();var d=b.length,e=a.length/3;c=c||new Float32Array(4*e);for(var f=0;f<e;++f){var h=Q;h[0]=a[3*f];h[1]=a[3*f+1];h[2]=a[3*f+2];var l;d?(l=qa,l[0]=b[4*f],l[1]=b[4*f+1],l[2]=b[4*f+2],l[3]=b[4*f+3]):l=b;g(h,l,c.subarray(4*f,4*(f+1)))}return c};a.yB=g;a.Mg=function(a){return JSON.parse(JSON.stringify(a))};a.O=function(b){if(!(b instanceof Object))return b;
  1259. var c;c=b.constructor;switch(c){case Int8Array:case Uint8Array:case Int16Array:case Uint16Array:case Int32Array:case Uint32Array:case Float32Array:case Float64Array:c=new c(b);break;case Array:c=new c(b.length);for(var d=0;d<b.length;d++)c[d]=a.O(b[d]);break;default:for(d in c=new c,b)c[d]=a.O(b[d])}return c};a.Zn=function(a){var b=a instanceof Array?[]:{},c;for(c in a)if(a[c]instanceof Object){var d=a[c].constructor;switch(d){case Int8Array:case Uint8Array:case Int16Array:case Uint16Array:case Int32Array:case Uint32Array:case Float32Array:case Float64Array:b[c]=
  1260. new d(a[c]);break;case Array:b[c]=a[c].slice(0);break;default:b[c]=a[c]}}else b[c]=a[c];return b};a.matrix_to_quat=p;a.qC=function(a,b){b||(b=new Float32Array(3));b[0]=a[12];b[1]=a[13];b[2]=a[14];return b};a.pC=function(a){G[0]=.577350269189626;G[1]=.577350269189626;G[2]=.577350269189626;G[3]=0;Z.transformMat4(G,a,G);return Z.length(G)};a.Rl=function(a,b){var c=b.left,d=b.right,e=b.top,f=b.bottom,h=b.near,g=b.far;c[0]=a[3]+a[0];c[1]=a[7]+a[4];c[2]=a[11]+a[8];c[3]=a[15]+a[12];d[0]=a[3]-a[0];d[1]=a[7]-
  1261. a[4];d[2]=a[11]-a[8];d[3]=a[15]-a[12];e[0]=a[3]-a[1];e[1]=a[7]-a[5];e[2]=a[11]-a[9];e[3]=a[15]-a[13];f[0]=a[3]+a[1];f[1]=a[7]+a[5];f[2]=a[11]+a[9];f[3]=a[15]+a[13];h[0]=a[3]+a[2];h[1]=a[7]+a[6];h[2]=a[11]+a[10];h[3]=a[15]+a[14];g[0]=a[3]-a[2];g[1]=a[7]-a[6];g[2]=a[11]-a[10];g[3]=a[15]-a[14];D(c);D(d);D(e);D(f);D(h);D(g)};a.JP=function(a,b,c){return c<-l.point_plane_dist(a,b.near)||c<-l.point_plane_dist(a,b.left)||c<-l.point_plane_dist(a,b.right)||c<-l.point_plane_dist(a,b.top)||c<-l.point_plane_dist(a,
  1262. b.bottom)||c<-l.point_plane_dist(a,b.far)?!0:!1};a.MK=function(a,b,c,d,e){var f=B.dot(c,b.far),h=B.dot(d,b.far),g=B.dot(e,b.far),f=Math.sqrt(f*f+h*h+g*g);if(f<-l.point_plane_dist(a,b.near)||f<-l.point_plane_dist(a,b.far))return!0;f=B.dot(c,b.left);h=B.dot(d,b.left);g=B.dot(e,b.left);if(Math.sqrt(f*f+h*h+g*g)<-l.point_plane_dist(a,b.left))return!0;f=B.dot(c,b.right);h=B.dot(d,b.right);g=B.dot(e,b.right);if(Math.sqrt(f*f+h*h+g*g)<-l.point_plane_dist(a,b.right))return!0;f=B.dot(c,b.top);h=B.dot(d,b.top);
  1263. g=B.dot(e,b.top);if(Math.sqrt(f*f+h*h+g*g)<-l.point_plane_dist(a,b.top))return!0;f=B.dot(c,b.bottom);h=B.dot(d,b.bottom);g=B.dot(e,b.bottom);return Math.sqrt(f*f+h*h+g*g)<-l.point_plane_dist(a,b.bottom)?!0:!1};a.ym=function(a,b,c,d){d||(d=0);for(var e=a.length,f=0;f<e;f+=3){var h=a[f],g=a[f+1],l=a[f+2];c[d+f]=b[0]*h+b[4]*g+b[8]*l+b[12];c[d+f+1]=b[1]*h+b[5]*g+b[9]*l+b[13];c[d+f+2]=b[2]*h+b[6]*g+b[10]*l+b[14]}};a.cU=function(a,b,c,d){d||(d=0);for(var e=a.length,f=0;f<e;f+=3){var h=a[f],g=a[f+1],l=a[f+
  1264. 2];c[d+f]=b[0]*h+b[4]*g+b[8]*l;c[d+f+1]=b[1]*h+b[5]*g+b[9]*l;c[d+f+2]=b[2]*h+b[6]*g+b[10]*l}return c};a.XC=function(a,b,c,d){d=d||0;for(var e=a.length,f=0;f<e;f+=4){ra[0]=a[f];ra[1]=a[f+1];ra[2]=a[f+2];ra[3]=a[f+3];var h=0<ra[3];J.multiply(b,ra,ra);(h&&0>ra[3]||!h&&0<ra[3])&&Z.scale(ra,-1,ra);c[d+f]=ra[0];c[d+f+1]=ra[1];c[d+f+2]=ra[2];c[d+f+3]=ra[3]}};a.bR=function(a,b,c){c||(c=new Float32Array(3));G[0]=a[0];G[1]=a[1];G[2]=a[2];G[3]=0;Z.transformMat4(G,b,G);c[0]=G[0];c[1]=G[1];c[2]=G[2]};a.DS=function(a,
  1265. b){var c=a.length;c||v("flatten(): Wrong or empty array");var d=a[0].length;d||v("flatten(): Wrong or empty subarray");b||(b=new Float32Array(c*d));for(var e=0;e<c;e++)for(var f=0;f<d;f++)b[e*d+f]=a[e][f];return b};a.cR=function(a){for(var b=[],c=0;c<a.length;c+=3){var d=new Float32Array([a[c],a[c+1],a[c+2]]);b[c/3]=d}return b};a.Pq=function(b,c,d,e){if(e<d)return d;var f=d+Math.floor((e-d)/2);return b[f]>c?a.Pq(b,c,d,f-1):b[f]<c?a.Pq(b,c,f+1,e):f};a.Bi=function(a,b){for(var c=0;c<a.length;c++)if(a[c]!=
  1266. b[c])return!1;return!0};a.mS=function(a,b,c){for(var d=0;d<a.length;d++)if(Math.abs(a[d]-b[d])>c)return!1;return!0};a.FT=function(a,b,c){c||(c=new Float32Array(16));for(var d=0;12>d;d++)c[d]=a[d]*b;c[12]=a[12];c[13]=a[13];c[14]=a[14];c[15]=a[15];return c};a.eQ=function(a,b,c,d,e){e||(e=new Float32Array(16));b=h.fromRotationTranslation(c,d,ga);h.multiply(b,a,e);return e};a.transform_vec3=function(a,b,c,d,e){e||(e=new Float32Array(3));c=h.fromRotationTranslation(c,d,ga);1!==b&&(d=h.identity(ya),b=B.set(b,
  1267. b,b,Q),h.scale(d,b,d),h.multiply(c,d,c));B.transformMat4(a,c,e);return e};a.YT=function(a,b,c,d,e){e||(e=new Float32Array(4));b=h.fromRotationTranslation(c,d,ga);Z.transformMat4(a,b,e);return e};a.hT=function(a,b,c,d,e){e||(e=new Float32Array(3));b=h.fromRotationTranslation(c,d,ga);h.invert(b,b);B.transformMat4(a,b,e);return e};a.XT=function(a,b,c){c||(c=new Float32Array(16));h.fromRotationTranslation(b,a,c);a=a[3];for(b=0;12>b;b++)c[b]*=a;return c};a.wT=function(b,c,d){a.qC(b,c);c[3]=a.pC(b);p(b,
  1268. d)};a.YR=function(a){for(var b=[],c=0;c<a.length;c++)b.push(a[c]);return JSON.stringify(b)};a.DO=function(a,b,c,d){d||(d=new Float32Array(3));var e=Q;B.subtract(b,a,e);B.transformQuat(e,c,e);B.subtract(b,e,d)};a.wL=function(){var a=Q;a[0]=0;a[1]=0;a[2]=0;var b=new Float32Array(16),c=new Float32Array(16),d=new Float32Array(16),e=new Float32Array(16),f=new Float32Array(16),g=new Float32Array(16);h.lookAt(a,[-1,0,0],[0,-1,0],b);h.scale(b,[-1,1,1],b);h.scale(b,[-1,1,-1],c);h.lookAt(a,[0,-1,0],[0,0,-1],
  1269. d);h.scale(d,[1,1,-1],d);h.scale(d,[1,-1,-1],e);h.lookAt(a,[0,0,-1],[0,-1,0],f);h.scale(f,[-1,1,1],f);h.scale(f,[-1,1,-1],g);return[b,c,d,e,f,g]};a.AL=function(){var a=Q;a[0]=0;a[1]=0;a[2]=0;var b=new Float32Array(16),c=new Float32Array(16),d=new Float32Array(16),e=new Float32Array(16),f=new Float32Array(16),g=new Float32Array(16);h.lookAt(a,[1,0,0],[0,-1,0],b);h.scale(b,[-1,1,-1],c);h.lookAt(a,[0,1,0],[0,0,1],d);h.scale(d,[1,-1,-1],e);h.lookAt(a,[0,0,1],[0,-1,0],f);h.scale(f,[-1,1,-1],g);return[b,
  1270. c,d,e,f,g]};a.AI=function(a){return e(a,0)};a.hash_code=e;a.dT=n;a.rN=function(a,b){b[15]=1;b[14]=0;b[13]=0;b[12]=0;b[11]=0;b[10]=a[8];b[9]=a[7];b[8]=a[6];b[7]=0;b[6]=a[5];b[5]=a[4];b[4]=a[3];b[3]=0;b[2]=a[2];b[1]=a[1];b[0]=a[0];return b};a.quat_to_angle_axis=function(a,b){b||(b=a);var c=a[0]*a[0]+a[1]*a[1]+a[2]*a[2];0<c?(b[3]=2*Math.acos(a[3]),c=1/Math.sqrt(c),b[0]=a[0]*c,b[1]=a[1]*c,b[2]=a[2]*c):(b[3]=0,b[0]=1,b[1]=0,b[2]=0);return b};a.trunc=function(a){return isNaN(a)||"undefined"==typeof a?NaN:
  1271. a|0};a.deg_to_rad=function(a){return a*Math.PI/180};a.rad_to_deg=function(a){return 180*a/Math.PI};a.Jx=function(a){var b=.366025403784439*a[0]+.366025403784439*a[1],c=Math.floor(a[0]+b),d=Math.floor(a[1]+b),e=.211324865405187*c+.211324865405187*d,b=a[0]-c+e;a=a[1]-d+e;var f=b>a?1:0,h=1-f,e=b+.211324865405187-f,g=a+.211324865405187-h,l=b+-.577350269189626,k=a+-.577350269189626,c=c%289,d=d%289,n=t(t(d)+c),h=t(t(d+h)+c+f),p=t(t(d+1)+c+1),c=Math.max(.5-(b*b+a*a),0),d=Math.max(.5-(e*e+g*g),0),f=Math.max(.5-
  1272. (l*l+k*k),0),r=2*m(.024390243902439*n)-1,u=2*m(.024390243902439*h)-1,q=2*m(.024390243902439*p)-1,n=Math.abs(r)-.5,h=Math.abs(u)-.5,p=Math.abs(q)-.5,r=r-Math.floor(r+.5),u=u-Math.floor(u+.5),q=q-Math.floor(q+.5),c=c*c*c*c*(1.79284291400159-.85373472095314*(r*r+n*n)),d=d*d*d*d*(1.79284291400159-.85373472095314*(u*u+h*h)),f=f*f*f*f*(1.79284291400159-.85373472095314*(q*q+p*p));return 130*(c*(r*b+n*a)+d*(u*e+h*g)+f*(q*l+p*k))};a.Uz=function(a){var b=1/7,c=b/2,e=d(Math.floor(a[0])),f=d(Math.floor(a[1])),
  1273. h=m(a[0]);a=m(a[1]);var g=h-.5,l=h-1.5,h=a-.5;a-=1.5;var n=k(e),p=k(e+1),r=n,e=p,n=k(n+f),p=k(p+f),r=k(r+f+1),e=k(e+f+1),f=g+.7*(y(n)*b+c),u=l+.7*(y(p)*b+c),g=g+.7*(y(r)*b+c),l=l+.7*(y(e)*b+c),n=h+.7*(y(Math.floor(n*b))*b+c),h=h+.7*(y(Math.floor(p*b))*b+c),r=a+.7*(y(Math.floor(r*b))*b+c),b=a+.7*(y(Math.floor(e*b))*b+c);return Math.min(f*f+n*n,u*u+h*h,g*g+r*r,l*l+b*b)};a.quat_project=function(a,b,c,d,e){e||(e=new Float32Array(4));a=B.transformQuat(b,a,Q);b=c[0];var f=c[1];c=c[2];var h=aa;h[0]=f*f+
  1274. c*c;h[1]=-f*b;h[2]=-c*b;h[3]=-b*f;h[4]=b*b+c*c;h[5]=-c*f;h[6]=-b*c;h[7]=-f*c;h[8]=b*b+f*f;B.transformMat3(a,h,a);B.normalize(a,a);J.rotationTo(d,a,e);return e};a.cam_quat_to_mesh_quat=function(a,b){b||(b=new Float32Array(4));var c=G,d=qa,c=J.setAxisAngle([0,0,1],Math.PI,J.create()),d=J.setAxisAngle([1,0,0],Math.PI/2,J.create());J.multiply(c,d,c);J.multiply(a,c,b);return b};a.cleanup=function(){I=0;C={}};a.clamp=H;a.smooth=function(a,b,c,d){c=Math.exp(-c/d);return(1-c)*a+c*b};a.smooth_v=function(a,
  1275. b,c,d,e){e||(e=new Float32Array(a.length));c=Math.exp(-c/d);for(d=0;d<e.length;d++)e[d]=(1-c)*a[d]+c*b[d];return e};a.OD=function(a,b,c,d,e){e||(e=new Float32Array(a.length));J.slerp(a,b,Math.exp(-c/d),e)};a.mw=function(a){return"object"===typeof a&&a.buffer&&a.buffer instanceof ArrayBuffer?!0:!1};a.is_vector=function(a,b){if(a instanceof Array||a.buffer&&a.buffer instanceof ArrayBuffer)if(b&&b==a.length||!b)return!0;return!1};a.correct_cam_quat_up=function(a,b){var c=K.fromQuat(a,aa),d=Q;d[0]=c[6];
  1276. d[1]=c[7];d[2]=c[8];d=B.cross(L,d,d);B.normalize(d,d);var e=c[4];!b&&0<e&&(d[0]*=-1,d[1]*=-1,d[2]*=-1);V[0]=c[0];V[1]=c[1];V[2]=c[2];B.normalize(V,V);c=qa;J.rotationTo(V,d,c);J.multiply(c,a,a)};a.kB=function(a,b,c,d){c=c*b-.5;var e=d*b-.5;d=c-Math.floor(c);var f=e-Math.floor(e);c=Math.floor(c);var e=Math.floor(e),h=b-1,g=a[e*b+c],l=a[e*b+Math.min(c+1,h)],k=a[Math.min(e+1,h)*b+c];a=a[Math.min(e+1,h)*b+Math.min(c+1,h)];return(g*(1-d)+l*d)*(1-f)+(k*(1-d)+a*d)*f};a.al=function(a){for(var b=0,c=0;3>c;c++)0<
  1277. (a&1<<c)&&b++;return b};a.fD=function(a){for(var b=[0,0,0],c=0;3>c;c++)0<(a&1<<c)&&(b[2-c]=1);return b};a.Bm=function(a,b){var c=0;(1==b||2==b)&&0<(a&4)&&c++;2==b&&0<(a&2)&&c++;return c};a.Hv=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)})};a.Oo=function(a){var b=0,c;for(c in a)a.hasOwnProperty(c)&&b++;return b};a.random_from_array=function(a){if(!a.length)return null;var b=Math.floor(Math.random()*
  1278. a.length);return a[b]};a.horizontal_direction=function(a,b,c){c||(c=new Float32Array(3));c[0]=a[0]-b[0];c[1]=a[1]-b[1];c[2]=0;B.normalize(c,c)};a.dQ=function(a,b,c){var d=a[0],e=a[1];a=a[2];var f=b[0],h=b[1],g=b[2];b=b[3];var l=h*a-g*e,k=g*d-f*a,m=f*e-h*d,n=h*m-g*k,g=g*l-f*m,f=f*k-h*l;c[0]=d+2*l*b+2*n;c[1]=e+2*k*b+2*g;c[2]=a+2*m*b+2*f};a.assert=function(a){a||v("Assertion failed")};a.q=v;a.angle_wrap_periodic=z;a.angle_wrap_0_2pi=x;a.Nv=function(a){return/(?:\.([^.]+))?$/.exec(a)[1]};a.RP=function(a,
  1279. b){for(var c in a){var d=!0,e=a[c],f=b[c];switch(typeof e){case "number":case "string":case "boolean":d=e==f;break;case "object":d=M(e,f)}if(!d)return!1}return!0};a.ix=function(a,b){var c=a[0],d=a[2],e=a[3];b[0]=a[1];b[1]=d;b[2]=e;b[3]=c};a.aB=function(a){a+=1;132651<a&&w.error("Color ID pool depleted");var b=Math.floor(a/2601);a%=2601;var c=Math.floor(a/51);return new Float32Array([b/51,c/51,a%51/51])};a.line_plane_intersect=function(a,b,c,d){G.set(a);G[3]=b;a=qa;Q[0]=c[3];Q[1]=c[4];Q[2]=c[5];a.set(Q);
  1280. a[3]=0;a=Z.dot(G,a);if(0==a)return null;b=qa;B.copy(c,Q);b.set(Q);b[3]=1;a=-Z.dot(G,b)/a;d[0]=c[0]+a*c[3];d[1]=c[1]+a*c[4];d[2]=c[2]+a*c[5];return d};a.gM=function(a,b,c,d){var e=b[0]-a[0],f=c[0]-a[0],h=b[1]-a[1],g=c[1]-a[1];b=b[2]-a[2];a=c[2]-a[2];d[0]=h*a-b*g;d[1]=f*b-e*a;d[2]=e*g-h*f;return d};a.oS=function(a,b){for(var c=0;c<a.length;c++)b[c]=a[c];return b};a.wx=function(a,b,c){var d=Q,e=B.dot(a,b);-.9999999>e?(B.cross(ta,a,d),1E-6>B.length(d)&&B.cross(na,a,d),B.normalize(d,d),J.setAxisAngle(d,
  1281. Math.PI,c)):(B.cross(a,b,d),c.set(d),c[3]=1+e,J.normalize(c,c));return c};a.$j=function(a,b,c){if(b==c)return c-a;a=x(a);b=x(b);c=x(c);b=2*Math.PI-b;c=x(c+b);a=x(a+b);return a>c?(c-=a,a=2*Math.PI-a,-c>a?a:c):0};a.smooth_step=function(a,b,c){isFinite(b)&&isFinite(c)&&(a=H(a,b,c));return a*a*(3-2*a)};a.lerp=function(a,b,c){return b+a*(c-b)};a.VH=function(a,b){for(var c=0;c<a.length;c++)for(var d=0;d<b.length;d++)if(b[d]==a[c])return!0;return!1};a.uS=function(a){for(var b=Array(a),c=0;c<a;c++)b[c]=0;
  1282. return b};a.VE=function(a,b){for(var c=Math.max(a.length,b.length),d=0;d<c;d++){var e=f((d>=a.length?0:a[d])-(d>=b.length?0:b[d]));if(e)return e}return 0};a.Ij=function(a){return a.join(".")};a.YD=function(a){return a.split(".").map(function(a){return a|0})};a.TD=function(a,b){b[0]=Math.pow(a[0],2.2);b[1]=Math.pow(a[1],2.2);b[2]=Math.pow(a[2],2.2)};a.ww=function(a,b){b[0]=Math.pow(a[0],1/2.2);b[1]=Math.pow(a[1],1/2.2);b[2]=Math.pow(a[2],1/2.2);return b};a.bh=function(a){var b=a.split("://",2);return 1<
  1283. b.length?(b[1]=E(b[1]),b.join("://")):E(a)};a.Vn=function(a){return 0!=parseInt(a.toString(2).substr(1),2)};a.LK=function(a,b,c,d){d[0]=a[0];d[1]=b[0];d[2]=c[0];d[3]=a[1];d[4]=b[1];d[5]=c[1];d[6]=a[2];d[7]=b[2];d[8]=c[2];return d};a.Fi=A;a.Eo=function(a){a=Math.round(32767.5*(a+1)-32768);return H(a?a:0,-32768,32767)};a.MT=function(a){return H((a+32768)/32767.5-1,-1,1)};a.hQ=function(a){return H(Math.round(255*a),0,255)};a.$T=function(a){return H(a/255,0,1)};a.EK=function(a,b,c,d){var e=B.subtract(c,
  1284. b,Q),f=B.subtract(d,c,W),h=B.subtract(b,d,V);b=B.subtract(a,b,ka);c=B.subtract(a,c,ja);a=B.subtract(a,d,T);d=B.cross(e,f,U);if(0<=B.dot(B.cross(d,e,ia),b)&&0<=B.dot(B.cross(d,f,ia),c)&&0<=B.dot(B.cross(d,h,ia),a))return h=B.length(d),f=B.dot(d,b),Math.abs(f/h);e=B.scale(e,H(B.dot(e,b)/B.length(e),0,1),ia);b=B.length(B.subtract(b,e,ia));f=B.scale(f,H(B.dot(f,c)/B.length(f),0,1),ia);f=B.length(B.subtract(c,f,ia));h=B.scale(h,H(B.dot(h,a)/B.length(h),0,1),ia);h=B.length(B.subtract(a,h,ia));return Math.min(Math.min(b,
  1285. f),h)}};fdage.module.__sfx=function(a,q){function f(){var a=window.AudioContext||window.webkitAudioContext;if(a){try{var b=new a}catch(c){return x.error('Unable to initialize AudioContext: "'+c+'". The audio is disabled.'),null}if(b.createGain)return b;x.warn("deprecated WebAudio implementation");return null}x.warn("WebAudio is not supported");return null}function c(a,c,d){var f=a.S;if("NONE"!=f.behavior){var h=f.loop,g=f.pitch;if(f.src&&(h||0<=d)){f.wu=Math.floor(5E4*Math.random());var l=I.currentTime+c,l=
  1286. Math.max(0,l);f.we=l;f.state=20;var k=C.Ac;"POSITIONAL"==f.behavior&&"none"==k.xo&&(f.behavior="BACKGROUND_SOUND");b(a,C.Ac);if("POSITIONAL"==f.behavior||"BACKGROUND_SOUND"==f.behavior){c=I.createBufferSource();c.buffer=f.src;c.playbackRate.value=g;if(h){f.Tb&&f.Tb.disconnect();f.ed&&f.ed.disconnect();c.loop=!0;c.loopStart=f.mC;if(c.loopEnd=f.ns)d=I.createBufferSource(),d.buffer=f.src,d.playbackRate.value=g,f.ed=d,d.connect(f.$c);c.start(l);f.duration=0}else h=c.buffer?c.buffer.duration:0,d>h?(h=
  1287. l+d+f.Ne,c.loop=!0,c.start(l),c.stop(h),f.duration=d):(c.loop=!1,c.start(l),f.duration=h);c.connect(f.$c);f.Tb=c;p(f);D(f);e(f)}else"BACKGROUND_MUSIC"==f.behavior&&(F.clear_timeout(f.xu),F.clear_timeout(f.yu),d=function(){var b=a.S,c=b.src;c&&(c.volume=1,c.loop=b.loop,b.Tb=b.Tb||I.createMediaElementSource(c),b.Tb.connect(b.$c),20==b.state&&(c.currentTime&&(c.currentTime=0),c.play()))},0==c?d():f.xu=F.set_timeout(d,1E3*c),f.duration=h?0:v(a));u(f,l)}}}function b(a,b){var c=a.S;if(!c.$c){var d=E.get_trans_view(a.k.n),
  1288. e=E.get_quat_view(a.k.n);if(l.vs){var f=I.createBiquadFilter();f.type="peaking"}else f=null;var h=I.createGain();switch(c.behavior){case "POSITIONAL":var g=I.createPanner();"string"!=typeof g.panningModel?(g.panningModel=g.EQUALPOWER,g.distanceModel=g.INVERSE_DISTANCE):(g.panningModel="equalpower",g.distanceModel=b.xo);g.setPosition(d[0],d[1],d[2]);K.copy(d,c.qw);d=w;A.quat_to_dir(e,A.AXIS_MZ,d);g.setOrientation(d[0],d[1],d[2]);g.refDistance=c.dist_ref;g.maxDistance=c.dist_max;g.rolloffFactor=c.attenuation;
  1289. g.coneInnerAngle=c.kA;g.coneOuterAngle=c.lA;g.coneOuterGain=c.mA;var k=I.createGain();k.gain.value=H(c);f?(g.connect(f),f.connect(k)):g.connect(k);k.connect(h);c.$c=g;if(c.sl){var m=I.createGain();h.connect(m);m.connect(b.$c)}else m=null,h.connect(b.$c);break;case "BACKGROUND_SOUND":g=null;k=I.createGain();k.gain.value=H(c);f?(c.$c=f,f.connect(k)):c.$c=k;k.connect(h);c.sl?(m=I.createGain(),h.connect(m),m.connect(b.$c)):(m=null,h.connect(b.$c));break;case "BACKGROUND_MUSIC":m=g=null,k=I.createGain(),
  1290. k.gain.value=H(c),f?(c.$c=f,f.connect(k)):c.$c=k,k.connect(h),h.connect(b.$c)}c.Zw=g;c.dg=f;c.Xl=k;c.Ii=h;c.kx=m}}function g(a){var b=a.S,d=b.duration,b=b.delay+b.GA*Math.random();c(a,b,d)}function p(a){var b=a.ed||a.Tb;A.sf(b.onended)&&(b.onended=function(){a.state=50})}function D(a){a.sl&&a.kx.gain.cancelScheduledValues(a.we);a.xm&&(a.Tb.playbackRate.cancelScheduledValues(a.we),a.ed&&a.ed.playbackRate.cancelScheduledValues(a.we));a.lq=a.we}function e(a){if(a.sl||a.xm){var b=a.kx,c=a.Tb,d=c.buffer?
  1291. c.buffer.duration:0;if(d){var e=a.we;Q[0]=a.wu;for(var f=0;5>f;){var h=a.pitch+a.xm*A.Cf(Q);if(e>=a.lq){if(a.sl){var g=1-A.clamp(a.sl,0,1)*Math.random();b.gain.setValueAtTime(g,e)}a.xm&&(c.playbackRate.setValueAtTime(h,e),a.ed&&a.ed.playbackRate.setValueAtTime(h,e));f++}e+=d/h}a.lq=e-.001}}}function u(a,b){if(a.qk||a.Ne){var c=a.Ii;c.gain.cancelScheduledValues(b);a.qk?(c.gain.setValueAtTime(0,b),c.gain.linearRampToValueAtTime(1,b+a.qk)):c.gain.setValueAtTime(1,b);a.Ne&&!a.loop&&(c.gain.setValueAtTime(1,
  1292. b+a.duration),c.gain.linearRampToValueAtTime(0,b+a.duration+a.Ne))}}function n(a){"SPEAKER"!=a.type&&A.q("Wrong object type");var b=a.S;if(50==b.state)b.state=30;else if(20==b.state||40==b.state){var c=b.Ii,d=I.currentTime;b.Ne&&(c.gain.setValueAtTime(c.gain.value,d),c.gain.linearRampToValueAtTime(0,d+b.Ne));"BACKGROUND_MUSIC"==b.behavior?b.src&&(F.clear_timeout(b.xu),F.clear_timeout(b.yu),b.yu=F.set_timeout(function(){var b=a.S.src;b&&(b.currentTime&&(b.currentTime=0),b.pause())},1E3*b.Ne)):(c=b.Tb,
  1293. b.duration<c.buffer.duration?b.Ne&&20==b.state?c.stop(d+b.Ne):20==b.state&&(c.stop(0),c.disconnect()):c.disconnect(),b.we=0,b.ax=0,b.Hu=0);b.state=30}}function t(a){a=a.S;if(20==a.state){var b=I.currentTime;a.ax=b;"BACKGROUND_MUSIC"==a.behavior?(b=a.src)&&b.pause():(a.Hu=b>a.we?m(a,b):0,a.Tb.onended=function(){},a.Tb.stop(0),a.Tb.disconnect(),D(a));a.state=40}}function m(a,b){Q[0]=a.wu;for(var c=a.Tb.buffer.duration,d=a.we,e;d<b;)e=a.pitch+a.xm*A.Cf(Q),d+=c/e;return(c/e-(d-b))*e}function k(a){var b=
  1294. a.S;if(40==b.state){var c=I.currentTime;b.we+=c-b.ax;if("BACKGROUND_MUSIC"==b.behavior)b.src.play();else{a=a.S;var d=I.createBufferSource();d.loop=a.Tb.loop;d.loopStart=a.Tb.loopStart;d.loopEnd=a.Tb.loopEnd;d.buffer=a.Tb.buffer;d.playbackRate.value=a.Tb.playbackRate.value;d.connect(a.$c);a.Tb=d;a.ed&&(d=I.createBufferSource(),d.loop=a.ed.loop,d.buffer=a.ed.buffer,d.playbackRate.value=a.ed.playbackRate.value,d.connect(a.$c),a.ed=d);b.lq=c;c=b.Tb;p(b);c.start(b.we,b.Hu);e(b)}u(b,b.we);b.state=20}}function d(a,
  1295. b,c){var d=1,d=b.FK;if(0<d){var e=b.IP;if(0!=K.dot(a.It,a.It)||0!=K.dot(b.Nk,b.Nk)){var f=K.subtract(a.qw,b.Zg,w),h=K.length(f);b=K.dot(f,b.Nk)/h;f=K.dot(f,a.It)/h;f=-f;h=e/d;b=Math.min(-b,h);f=Math.min(f,h);d=(e-d*b)/(e-d*f);isFinite(d)||(d=0);d=Math.min(d,16);d=Math.max(d,.125);d=A.smooth(d,a.fC,c,.3);a.Tb.playbackRate.value=d;a.fC=d}}}function y(a){a=a.S;return!a||20!=a.state&&40!=a.state&&30!=a.state&&50!=a.state?!1:!0}function H(a){return a.muted?0:a.volume}function v(a){a=a.S;return(a=a.src)?
  1296. a.duration:0}var z=q("__config"),x=q("__print"),M=q("__quat"),F=q("__time"),E=q("__tsr"),A=q("__util"),K=q("__vec3"),h=z.A,l=z.S,w=new Float32Array(3),r=new Float32Array(3);new Float32Array(3);var J=M.create(),B=[],Z=[],I=null,C=null,N=[],Q=[1],W=null;a.Gy=10;a.Vt=20;a.Fy=30;a.LJ=function(){return{mi:-1,cg:"",behavior:"NONE",muted:!1,volume:1,pitch:1,attenuation:1,dist_ref:1,dist_max:1E4,kA:360,lA:360,mA:1,autoplay:!1,cyclic:!1,loop:!1,mC:0,ns:0,delay:0,GA:0,sl:0,xm:0,qk:0,Ne:0,we:0,ax:0,Hu:0,duration:0,
  1297. lq:0,wu:1,src:null,state:10,qw:new Float32Array(3),It:new Float32Array(3),qr:!1,fC:1,xu:-1,yu:-1,mk:0,$c:null,Tb:null,ed:null,Zw:null,dg:null,Xl:null,Ii:null,kx:null,Bj:0}};a.init=function(){var a=document.createElement("audio"),b=document.createElement("video");a.canPlayType&&(""!=a.canPlayType("audio/ogg")&&(B.push("ogg"),B.push("ogv"),B.push("oga")),""!=a.canPlayType("audio/mpeg")&&B.push("mp3"),""!=a.canPlayType("audio/mp4")&&(B.push("mp4"),B.push("m4v"),B.push("m4a")),""!=a.canPlayType("audio/webm")&&
  1298. B.push("webm"));b.canPlayType&&(""!=b.canPlayType("video/ogg")&&(Z.push("ogv"),Z.push("ogg"),Z.push("oga")),""!=b.canPlayType("video/mp4")&&(Z.push("m4v"),Z.push("mp4")),""!=b.canPlayType("video/webm")&&Z.push("webm"),""!=b.canPlayType("video/mpeg")&&Z.push("mp3"))};a.bI=function(a){l.zy&&!I&&(I=f())&&x.log("%cINIT WEBAUDIO: "+I.sampleRate+"Hz","color: #00a");if(I){var b={Zg:new Float32Array(3),Nk:new Float32Array(3),Bj:0},c=I.createGain(),d=I.createGain();b.Xl=c;b.Ii=d;c.connect(d);d.connect(I.destination);
  1299. if(a.b4w_enable_dynamic_compressor){var d=I.createDynamicsCompressor(),e=a.b4w_dynamic_compressor_settings;d.threshold.value=e.threshold;d.knee.value=e.knee;d.ratio.value=e.ratio;d.attack.value=e.attack;d.release.value=e.release;d.connect(c);b.ko=d;b.$c=d}else b.ko=null,b.$c=c;switch(a.audio_distance_model){case "INVERSE":case "INVERSE_CLAMPED":b.xo="inverse";break;case "LINEAR":case "LINEAR_CLAMPED":b.xo="linear";break;case "EXPONENT":case "EXPONENT_CLAMPED":b.xo="exponential";break;case "NONE":b.xo=
  1300. "none";break;default:A.q("Wrong audio distance model")}b.FK=a.audio_doppler_factor;b.IP=a.audio_doppler_speed;b.muted=!1;b.volume=a.audio_volume;c.gain.value=H(b);b.mk=0}else b=null;a.Ac=b};a.MO=function(a){C=a};a.detect_audio_container=function(a){a||(a="ogg");return-1<B.indexOf(a)?a:-1<B.indexOf("m4a")?"m4a":-1<B.indexOf("oga")?"oga":""};a.detect_video_container=function(a){a||(a="webm");return-1<Z.indexOf(a)?a:-1<Z.indexOf("m4v")?"m4v":-1<Z.indexOf("webm")?"webm":""};a.Cj=function(a,b){var c=a.data,
  1301. d=b.S;d.mi=a.data.sound.uuid;d.cg=a.data.sound.filepath;switch(c.b4w_behavior){case "POSITIONAL":case "BACKGROUND_SOUND":d.behavior=I?c.b4w_behavior:"NONE";break;case "BACKGROUND_MUSIC":var e;I?(window.MediaElementAudioSourceNode?e=!0:(x.warn("MediaElementAudioSourceNode not found"),e=!1),e=e&&!h.cA?"BACKGROUND_MUSIC":"BACKGROUND_SOUND"):e="NONE";d.behavior=e;break;default:A.q("Wrong speaker behavior")}c.sound||(d.behavior="NONE");d.qr=c.b4w_enable_doppler;d.muted=c.muted;d.volume=c.volume;d.pitch=
  1302. c.pitch;d.attenuation=c.attenuation;d.dist_ref=c.distance_reference;d.dist_max=c.distance_max||1E4;d.kA=c.cone_angle_inner;d.lA=c.cone_angle_outer;d.mA=c.cone_volume_outer;d.autoplay=c.b4w_auto_play;d.cyclic=c.b4w_cyclic_play;d.loop=c.b4w_loop;d.mC=c.b4w_loop_start;d.ns=c.b4w_loop_end;d.delay=c.b4w_delay;d.GA=c.b4w_delay_random;d.sl=c.b4w_volume_random;d.xm=c.b4w_pitch_random;d.qk=c.b4w_fade_in;d.Ne=c.b4w_fade_out;N.push(b)};a.PD=function(b){"SPEAKER"!=b.type&&A.q("Wrong object type");switch(b.S.behavior){case "POSITIONAL":return a.Vt;
  1303. case "BACKGROUND_SOUND":return a.Vt;case "BACKGROUND_MUSIC":return a.Fy;case "NONE":return a.Gy;default:A.q("Wrong speaker behavior")}};a.OQ=function(a,b){var c=a.S;switch(c.behavior){case "POSITIONAL":case "BACKGROUND_SOUND":case "BACKGROUND_MUSIC":c.src=b;break;case "NONE":break;default:A.q("Wrong speaker behavior")}};a.PC=function(){var a=I.createBufferSource();a.buffer=I.createBuffer(1,22050,22050);a.connect(I.destination);a.start(0)};a.zK=function(a,b,c){I?I.decodeAudioData(a,b,c):c()};a.FP=
  1304. function(a){n(a);a.S=null;N.splice(N.indexOf(a),1)};a.cleanup=function(){for(var a=0;a<N.length;a++){var b=N[a].S;"BACKGROUND_MUSIC"==b.behavior?(b=b.src)&&b.pause():(b.Tb&&b.Tb.disconnect(),b.ed&&b.ed.disconnect())}C&&C.Ac&&(a=C.Ac,a.Zg[0]=0,a.Zg[1]=0,a.Zg[2]=0,a.Nk[0]=0,a.Nk[1]=0,a.Nk[2]=0);C=null;N.splice(0);W=null};a.update=function(a){if(I&&0!=N.length){for(var b=0;b<N.length;b++){var c=N[b],d=c.S,f=d.Tb,h=I.currentTime;!d.loop&&20==d.state&&d.duration&&d.we+d.duration<h&&("BACKGROUND_MUSIC"==
  1305. d.behavior||f&&!A.sf(f.onended))&&(d.state=50);d.cyclic&&50==d.state&&g(c);20==d.state&&3>d.lq-h&&e(d)}W&&W.di.length&&(-1==W.rc||a>W.fz+W.LA[W.rc])&&(b=W,-1<b.rc&&n(b.di[b.rc]),-1==b.rc&&b.random?c=Math.round(Math.random()*(b.di.length-1)):b.random?(c=1+Math.round(Math.random()*(b.di.length-2)),c=(b.rc+c)%b.di.length):c=(b.rc+1)%b.di.length,g(b.di[c]),b.rc=c,b.fz=a)}};a.play=c;a.play_def=g;a.stop=n;a.is_playing=function(a){return 20==a.S.state};a.EP=t;a.GP=k;a.loop_stop=function(a,b){var c=a.S,d=
  1306. c.ed;if(y(a)&&("POSITIONAL"==c.behavior||"BACKGROUND_SOUND"==c.behavior)&&d){var e=I.currentTime+b;c.Tb.stop(e);d.start(e,c.ns)}};a.playrate=function(a,b){var c=a.S;c.pitch=b;!y(a)||"POSITIONAL"!=c.behavior&&"BACKGROUND_SOUND"!=c.behavior||(c.Tb.playbackRate.value=b,c.ed&&(c.ed.playbackRate.value=b),D(c),e(c))};a.get_playrate=function(a){return a.S.pitch};a.cyclic=function(a,b){a.S.cyclic=Boolean(b)};a.AM=function(a){return a.S.autoplay};a.is_cyclic=function(a){return a.S.cyclic};a.eN=function(a,
  1307. b,c,e,f){if(a=a.Ac){var h=w;h[0]=0;h[1]=0;h[2]=-1;K.transformQuat(h,c,h);r[0]=0;r[1]=1;r[2]=0;K.transformQuat(r,c,r);c=I.listener;c.setPosition(b[0],b[1],b[2]);c.setOrientation(h[0],h[1],h[2],r[0],r[1],r[2]);if(e&&a.Bj!=f){if(a.listener_stride)a.listener_stride=!1,K.copy(b,a.Zg);else for(c=a.Nk,c[0]=(b[0]-a.Zg[0])/e,c[1]=(b[1]-a.Zg[1])/e,c[2]=(b[2]-a.Zg[2])/e,K.copy(b,a.Zg),b=0;b<N.length;b++)c=N[b],h=c.S,y(c)&&"POSITIONAL"==h.behavior&&h.qr&&d(h,a,e);a.Bj=f}else K.copy(b,a.Zg)}};a.listener_stride=
  1308. function(){var a=C.Ac;a&&(a.listener_stride=!0)};a.HP=function(a,b,c){var e=a.S;if(y(a)&&"POSITIONAL"==e.behavior){var f=E.Yb(a.k.n,w);a=E.sd(a.k.n,J);var h=e.Zw;h.setPosition(f[0],f[1],f[2]);A.quat_to_dir(a,A.AXIS_MZ,r);h.setOrientation(r[0],r[1],r[2]);e.qr&&(a=e.qw,b&&e.Bj!=c?(e.jl?(K.copy(f,a),e.jl=!1):(h=e.It,h[0]=(f[0]-a[0])/b,h[1]=(f[1]-a[1])/b,h[2]=(f[2]-a[2])/b,K.copy(f,a),d(e,C.Ac,b)),e.Bj=c):K.copy(f,a))}};a.speaker_stride=function(a){var b=a.S;y(a)&&"POSITIONAL"==b.behavior&&b.qr&&(b.jl=
  1309. !0)};a.Tv=function(a){return a.S.behavior};a.check_active_speakers=function(){for(var a=0;a<N.length;a++)if(y(N[a]))return!0;return!1};a.dP=function(a){var b=C.Ac;b&&(b.volume=a,I&&(b.Xl.gain.value=H(b)))};a.dM=function(){var a=C.Ac;return a?a.volume:0};a.set_volume=function(a,b){var c=a.S;c.volume=b;y(a)&&(c.Xl.gain.value=H(c))};a.get_volume=function(a){return a.S.volume};a.mute=function(a,b){a.S.muted=Boolean(b);y(a)&&(a.S.Xl.gain.value=H(a.S))};a.is_muted=function(a){return a.S.muted};a.GN=function(a){var b=
  1310. C.Ac;b&&(b.muted=Boolean(a),I&&(b.Xl.gain.value=H(b)))};a.IM=function(){var a=C.Ac;return a?a.muted:!1};a.get_speaker_objects=function(){return N};a.pause=function(){for(var a=0;a<N.length;a++)t(N[a])};a.resume=function(){for(var a=0;a<N.length;a++)k(N[a])};a.set_compressor_params=function(a,b){if(a.Ac&&a.Ac.ko){var c=a.Ac.ko;c.threshold.value=b.threshold;c.knee.value=b.knee;c.ratio.value=b.ratio;c.attack.value=b.attack;c.release.value=b.release}};a.get_compressor_params=function(a){if(!a.Ac||!a.Ac.ko)return null;
  1311. a=a.Ac.ko;return{threshold:a.threshold.value,knee:a.knee.value,ratio:a.ratio.value,attack:a.attack.value,release:a.release.value}};a.duck=function(a,b,c){if(y(a)){a=a.S;var d=a.Ii,e=I.currentTime;d.gain.setValueAtTime(d.gain.value,e);d.gain.linearRampToValueAtTime(b,e+c);a.mk=c}};a.unduck=function(a){if(y(a)){a=a.S;var b=a.Ii,c=I.currentTime;b.gain.setValueAtTime(b.gain.value,c);b.gain.linearRampToValueAtTime(1,c+a.mk);a.mk=0}};a.IK=function(a,b){if(I){var c=C.Ac,d=c.Ii,e=I.currentTime;d.gain.setValueAtTime(d.gain.value,
  1312. e);d.gain.linearRampToValueAtTime(a,e+b);c.mk=b}};a.jQ=function(){if(I){var a=C.Ac,b=a.Ii,c=I.currentTime;b.gain.setValueAtTime(b.gain.value,c);b.gain.linearRampToValueAtTime(1,c+a.mk);a.mk=0}};a.apply_playlist=function(a,b,c){W={rc:-1,fz:0,random:c,di:[],LA:[]};for(c=0;c<a.length;c++){var d=a[c],e=v(d);0==e?x.warn("Ignoring speaker with zero duration: "+d.name):(n(d),d.S.cyclic=!1,W.di.push(d),W.LA.push(e+b))}};a.get_duration=v;a.clear_playlist=function(){if(W)for(var a=W.di,b=0;b<a.length;b++)n(a[b]);
  1313. W=null};a.get_positional_params=function(a){return(a=a.S)&&"POSITIONAL"==a.behavior?{dist_ref:a.dist_ref,dist_max:a.dist_max,attenuation:a.attenuation}:null};a.set_positional_params=function(a,b){var c=a.S;if(c&&"POSITIONAL"==c.behavior){c.dist_ref=b.dist_ref;c.dist_max=b.dist_max;c.attenuation=b.attenuation;var d=c.Zw;d&&(d.refDistance=c.dist_ref,d.maxDistance=c.dist_max,d.rolloffFactor=c.attenuation)}};a.set_filter_params=function(a,b){var c=a.S;c&&c.dg&&(c.dg.frequency.value=b.freq,c.dg.Q.value=
  1314. b.Q,c.dg.gain.value=b.gain)};a.get_filter_params=function(a){return(a=a.S)&&a.dg?{freq:a.dg.frequency.value,Q:a.dg.Q.value,gain:a.dg.gain.value}:null};a.get_filter_freq_response=function(a,b,c,d){a=a.S;if(!a||!a.dg)return null;a.dg.getFrequencyResponse(b,c,d)};a.reset=function(){B.length=0;Z.length=0;I=null}};fdage.module.__input=function(a,q){function f(a){var b=N.detect_mobile();return(20!=a||navigator.getVRDevices||navigator.getVRDisplays||b)&&(10!=a||b&&window.DeviceOrientationEvent)?!0:!1}function c(a,b){if(!f(a))return null;var c={type:a,sg:!1,Af:[],ng:[],Th:[],wd:[],Uh:[],Vh:[],$o:[],bC:[],Ph:[],ki:[],ji:[],ii:[],element:b,fh:!0,Mb:[],ys:new Float32Array(2),EN:0,distortion_coefs:new Float32Array(2),chromatic_aberration_coefs:new Float32Array(4),gn:null,th:null,df:null,orientation:ka.create(),position:T.create(),
  1315. Kh:new Float32Array(4),Lh:new Float32Array(4),Oh:0,wi:0,nj:0,vl:0,Oi:0,xi:0,wk:[],Ki:[0,0,0,0,0,0,0,0,0,0,0,0],ZA:[0,0,0,0,0,0,0,0,0,0,0,0],Ar:[]};c.Kh[0]=c.Kh[1]=c.Kh[2]=c.Kh[3]=45;c.Lh[0]=c.Lh[1]=c.Lh[2]=c.Lh[3]=45;30==a||40==a||50==a?(c.sg=Boolean(b),50==a?document.addEventListener("touchstart",function(){}):40==a&&(c.fh=!1)):10==a?c.sg=!0:20!=a||navigator.getVRDisplays||(navigator.getVRDevices&&!ia.is_mobile_device?p(c,G.webvr):(g(c),c.sg=!0));return c}function b(b,d){10==b||20==b?d=window:d||
  1316. (d=40==b?document:Q.get_container());for(var e=0;e<wa.length;e++)if(wa[e].type==b&&wa[e].element==d)return wa[e];e=c(b,d);60!=b&&70!=b&&80!=b&&90!=b||e.Ar.push(a.GMPD_BUTTON_0,a.GMPD_BUTTON_1,a.GMPD_BUTTON_2,a.GMPD_BUTTON_3,a.GMPD_BUTTON_4,a.GMPD_BUTTON_5,a.GMPD_BUTTON_6,a.GMPD_BUTTON_7,a.GMPD_BUTTON_8,a.GMPD_BUTTON_9,a.GMPD_BUTTON_10,a.GMPD_BUTTON_11,a.GMPD_BUTTON_12,a.GMPD_BUTTON_13,a.GMPD_BUTTON_14,a.GMPD_BUTTON_15,a.GMPD_BUTTON_16,a.GMPD_BUTTON_17,a.GMPD_BUTTON_18,a.GMPD_BUTTON_19,a.GMPD_BUTTON_20,
  1317. a.GMPD_BUTTON_21,a.GMPD_BUTTON_22,a.GMPD_BUTTON_23,a.GMPD_BUTTON_24,a.GMPD_BUTTON_25,a.GMPD_AXIS_0,a.GMPD_AXIS_1,a.GMPD_AXIS_2,a.GMPD_AXIS_3,a.GMPD_AXIS_4,a.GMPD_AXIS_5,a.GMPD_AXIS_6,a.GMPD_AXIS_7,a.GMPD_AXIS_8,a.GMPD_AXIS_9,a.GMPD_AXIS_10,a.GMPD_AXIS_11);e&&wa.push(e);return e}function g(a){var b=G.nonwebvr;a.vl=b.vl;a.Oi=b.Oi;a.xi=b.xi;p(a,b);a.Oh=b.Oh;a.wi=b.wi;a.nj=b.nj;e(a)}function p(a,b){a.distortion_coefs[0]=b.distortion_coefs[0];a.distortion_coefs[1]=b.distortion_coefs[1];a.chromatic_aberration_coefs[0]=
  1318. b.chromatic_aberration_coefs[0];a.chromatic_aberration_coefs[1]=b.chromatic_aberration_coefs[1];a.chromatic_aberration_coefs[2]=b.chromatic_aberration_coefs[2];a.chromatic_aberration_coefs[3]=b.chromatic_aberration_coefs[3]}function D(a,b){var c=b*b;return b*(1+a[0]*c+a[1]*c*c)}function e(a){var b=a.wi-a.xi,c=a.Oi-b,d=a.Oh/2,e=(a.vl-a.Oh)/2,b=ja.rad_to_deg(Math.atan(b/a.nj)),c=ja.rad_to_deg(Math.atan(c/a.nj)),d=ja.rad_to_deg(Math.atan(d/a.nj)),e=ja.rad_to_deg(Math.atan(e/a.nj));c&&(a.Kh[0]=a.Lh[0]=
  1319. Math.min(c,60));d&&(a.Kh[1]=a.Lh[3]=Math.min(d,60));b&&(a.Kh[2]=a.Lh[2]=Math.min(b,60));e&&(a.Kh[3]=a.Lh[1]=Math.min(e,60))}function u(a,b){var c=b.filter(function(a){return a instanceof HMDVRDevice}),d=null;c.length&&(d=c[0]);c=null;d&&(c=b.filter(function(a){return-1!==a.deviceName.toLowerCase().indexOf("oculus")&&a.hardwareUnitId==d.hardwareUnitId&&a instanceof PositionSensorVRDevice}));a.gn=d;a.th=c}function n(a,b,c){switch(a.type){case 20:var d=a.df||a.gn;d?(b=d.getEyeParameters(b),b=b.fieldOfView||
  1320. b.currentFieldOfView,a=a.distortion_coefs,d=D(a,Math.tan(ja.deg_to_rad(b.downDegrees))),ja.rad_to_deg(Math.atan(d)),d=D(a,Math.tan(ja.deg_to_rad(b.upDegrees))),ja.rad_to_deg(Math.atan(d)),d=D(a,Math.tan(ja.deg_to_rad(b.leftDegrees))),ja.rad_to_deg(Math.atan(d)),a=D(a,Math.tan(ja.deg_to_rad(b.rightDegrees))),ja.rad_to_deg(Math.atan(a)),c[0]=b.upDegrees,c[1]=b.rightDegrees,c[2]=b.downDegrees,c[3]=b.leftDegrees):(b="left"==b?a.Kh:a.Lh,U.copy(b,c));break;default:V.error("fov is undefined for device: ",
  1321. a.type)}return c}function t(a,b){switch(b){case 0:return navigator.getVRDisplays?3:navigator.getVRDevices?ia.is_mobile_device?1:0:2;case 23:var c=a.df||a.gn;if(c){var d=c.getEyeParameters("left"),c=c.getEyeParameters("right");return a.df?c.offset[0]-d.offset[0]:c.eyeTranslation.x-d.eyeTranslation.x}return a.Oh}}function m(a,b){if(a.df){var c=a.df,d=c.capabilities,c=c.getPose();d.hasOrientation&&c.orientation&&(a.orientation[0]=c.orientation[0],a.orientation[1]=c.orientation[1],a.orientation[2]=c.orientation[2],
  1322. a.orientation[3]=c.orientation[3]);d.hasPosition&&c.position&&(a.position[0]=c.position[0],a.position[1]=-c.position[2],a.position[2]=c.position[1])}else 1<b-ya&&(ya=b,navigator.getVRDisplays?a.df||navigator.getVRDisplays().then(function(b){0<b.length&&(a.df=b[0],a.sg=!0)},function(){V.L("WebVR displays are not found.");a.sg=!1}):navigator.getVRDevices?a.gn||ra||navigator.getVRDevices().then(function(b){u(a,b);b.length&&(a.sg=!0);ra=!0},function(){V.L("WebVR devices are not found.");a.sg=!1;ra=!0}):
  1323. ia.is_mobile_device||V.L("HMD isn't supported."))}function k(a,b){if(a){for(var c=0;c<a.buttons.length;c++)b.wk[c]=a.buttons[c].value;if(a.axes)for(c=0;c<a.axes.length;c++)b.Ki[c]=a.axes[c]}}function d(a){for(var b=0;b<a.wk;b++)a.wk[b]=0;for(b=0;b<a.Ki.length;b++)a.ZA[b]=a.Ki[b],a.Ki[b]=0}function y(a,b){var c=a.indexOf(b);0<=c&&(a[c]=null)}function H(a){return null===a}function v(a,b,c,d){switch(b){case 120:c&&y(a.Af,c);if(d||a.ng.every(H)&&a.Af.every(H))a.Af.length=0,a.ng.length=0,b=a.Mb.indexOf(131),
  1324. 0<=b&&(a.Mb.splice(b,1),a.element.removeEventListener("deviceorientation",x,!1));break;case 130:c&&y(a.ng,c);if(d||a.ng.every(H)&&a.Af.every(H))a.Af.length=0,a.ng.length=0,b=a.Mb.indexOf(131),0<=b&&(a.Mb.splice(b,1),a.element.removeEventListener("deviceorientation",x,!1));break;case 40:c&&y(a.Th,c);if(d||a.Th.every(H))a.Th.length=0,b=a.Mb.indexOf(b),0<=b&&(a.Mb.splice(b,1),a.element.removeEventListener("mousedown",A,!1));break;case 30:c&&y(a.wd,c);if(d||a.wd.every(H))a.wd.length=0,b=a.Mb.indexOf(b),
  1325. 0<=b&&(a.Mb.splice(b,1),a.element.removeEventListener("mousemove",F,!1));break;case 31:c&&y(a.wd,c);if(d||a.wd.every(H))a.wd.length=0,b=a.Mb.indexOf(b),0<=b&&(a.Mb.splice(b,1),a.element.removeEventListener("mousemove",E,!1));break;case 50:c&&y(a.Uh,c);if(d||a.Uh.every(H)){a.Uh.length=0;b=a.Mb.indexOf(b);0<=b&&(a.Mb.splice(b,1),a.element.removeEventListener("mouseout",K,!1),a.element.removeEventListener("mouseup",h,!1));break}break;case 60:c&&y(a.Vh,c);if(d||a.Vh.every(H))a.Vh.length=0,b=a.Mb.indexOf(b),
  1326. 0<=b&&(a.Mb.splice(b,1),a.element.removeEventListener("wheel",l,!1));break;case 80:c&&y(a.$o,c);if(d||a.$o.every(H))a.$o.length=0,b=a.Mb.indexOf(b),0<=b&&(a.Mb.splice(b,1),a.element.removeEventListener("keydown",w,!1));break;case 70:c&&y(a.Ph,c);if(d||a.Ph.every(H))a.Ph.length=0,b=a.Mb.indexOf(b),0<=b&&(a.Mb.splice(b,1),a.element.removeEventListener("keyup",r,!1));break;case 90:c&&y(a.ki,c);if(d||a.ki.every(H))a.ki.length=0,b=a.Mb.indexOf(b),0<=b&&(a.Mb.splice(b,1),a.element.removeEventListener("touchstart",
  1327. J,!1));break;case 100:c&&y(a.ji,c);if(d||a.ji.every(H))a.ji.length=0,b=a.Mb.indexOf(b),0<=b&&(a.Mb.splice(b,1),a.element.removeEventListener("touchmove",B,!1));break;case 110:if(c&&y(a.ii,c),d||a.ii.every(H))a.ii.length=0,b=a.Mb.indexOf(b),0<=b&&(a.Mb.splice(b,1),a.element.removeEventListener("touchend",Z,!1))}}function z(a,b){ja.ordered_angles_to_quat(a,ja.ZXY,b);var c="orientation"in window?ja.deg_to_rad(window.orientation):"orientation"in window.screen?ja.deg_to_rad(window.screen.orientation.angle):
  1328. 0,c=ka.setAxisAngle(ja.AXIS_MZ,c,aa);ka.multiply(b,c,b);return b}function x(a){var c=ga;null===a.alpha||null===a.beta||null===a.gamma?c[0]=c[1]=c[2]=0:(c[0]=ja.deg_to_rad(a.alpha),c[1]=ja.deg_to_rad(a.beta),c[2]=ja.deg_to_rad(a.gamma));a=b(10,a.currentTarget);for(var d=0;d<a.ng.length;d++){var e=a.ng[d];e&&(T.copy(c,la),e(la))}if(a.Af.length)for(c=z(c,qa),d=0;d<a.Af.length;d++)if(e=a.Af[d])ka.copy(c,pa),e(pa);for(d=0;d<a.Af.length;d++)a.Af[d]||a.Af.splice(d,1);for(d=0;d<a.ng.length;d++)a.ng[d]||a.ng.splice(d,
  1329. 1)}function M(a,b){switch(a.type){case 30:a.ys[0]=b.clientX,a.ys[1]=b.clientY,a.EN=b.which}}function F(a){if(!va||!(a.sourceCapabilities&&a.sourceCapabilities.firesTouchEvents||5==a.mozInputSource)){var c=b(30,a.currentTarget);M(c,a);for(var d=0;d<c.wd.length;d++){var e=c.wd[d];e&&(S[0]=a.clientX,S[1]=a.clientY,e(S))}c.fh&&a.preventDefault();for(d=0;d<c.wd.length;d++)c.wd[d]||c.wd.splice(d,1)}}function E(a){if(!va||!(a.sourceCapabilities&&a.sourceCapabilities.firesTouchEvents||5==a.mozInputSource)){var c=
  1330. b(30,a.currentTarget);M(c,a);for(var d=0;d<c.wd.length;d++){var e=c.wd[d];if(e){if("number"==typeof a.movementX)var f=a.movementX,h=a.movementY;else"number"==typeof a.webkitMovementX?(f=a.webkitMovementX,h=a.webkitMovementY):"number"==typeof a.mozMovementX?(f=a.mozMovementX,h=a.mozMovementY):h=f=0;S[0]=f;S[1]=h;e(S)}}c.fh&&a.preventDefault();for(d=0;d<c.wd.length;d++)c.wd[d]||c.wd.splice(d,1)}}function A(a){if(!va||!(a.sourceCapabilities&&a.sourceCapabilities.firesTouchEvents||5==a.mozInputSource)){var c=
  1331. b(30,a.currentTarget);M(c,a);for(var d=0;d<c.Th.length;d++){var e=c.Th[d];e&&e(a.which)}c.fh&&a.preventDefault();for(d=0;d<c.Th.length;d++)c.Th[d]||c.Th.splice(d,1)}}function K(a){!Q.RB(a.relatedTarget)&&a.which&&h(a)}function h(a){if(!va||!(a.sourceCapabilities&&a.sourceCapabilities.firesTouchEvents||5==a.mozInputSource)){var c=b(30,a.currentTarget);M(c,a);for(var d=0;d<c.Uh.length;d++){var e=c.Uh[d];e&&e(a.which)}c.fh&&a.preventDefault();for(d=0;d<c.Uh.length;d++)c.Uh[d]||c.Uh.splice(d,1)}}function l(a){for(var c=
  1332. b(30,a.currentTarget),d=0;d<c.Vh.length;d++){var e=c.Vh[d];e&&e(-a.deltaY)}c.fh&&a.preventDefault();for(d=0;d<c.Vh.length;d++)c.Vh[d]||c.Vh.splice(d,1)}function w(a){for(var c=b(40,a.currentTarget),d=a.ctrlKey||a.altKey||a.metaKey?c.bC:c.$o,e=0;e<d.length;e++){var f=d[e];f?f(a.keyCode):d.splice(e--,1)}c.fh&&a.preventDefault()}function r(a){for(var c=b(40,a.currentTarget),d=0;d<c.Ph.length;d++){var e=c.Ph[d];e&&e(a.keyCode)}c.fh&&a.preventDefault();for(d=0;d<c.Ph.length;d++)c.Ph[d]||c.Ph.splice(d,
  1333. 1)}function J(a){for(var c=b(50,a.currentTarget),d=0;d<c.ki.length;d++){var e=c.ki[d];e&&e(a.targetTouches)}for(d=0;d<c.ki.length;d++)c.ki[d]||c.ki.splice(d,1)}function B(a){for(var c=b(50,a.currentTarget),d=0;d<c.ji.length;d++){var e=c.ji[d];e&&e(a.targetTouches)}c.fh&&a.preventDefault();for(d=0;d<c.ji.length;d++)c.ji[d]||c.ji.splice(d,1)}function Z(a){for(var c=b(50,a.currentTarget),d=0;d<c.ii.length;d++){var e=c.ii[d];e&&e(a.targetTouches)}for(d=0;d<c.ii.length;d++)c.ii[d]||c.ii.splice(d,1)}function I(a){switch(a){case 0:a=
  1334. 60;break;case 1:a=70;break;case 2:a=80;break;case 3:a=90;break;default:a=60}return a}function C(a){function b(){document.pointerLockElement===c||document.webkitPointerLockElement===c||document.mozPointerLockElement===c?a.value=1:(a.value=0,document.removeEventListener("pointerlockchange",b,!1),document.removeEventListener("webkitpointerlockchange",b,!1),document.removeEventListener("mozpointerlockchange",b,!1))}var c=a.element;document.addEventListener("pointerlockchange",b,!1);document.addEventListener("webkitpointerlockchange",
  1335. b,!1);document.addEventListener("mozpointerlockchange",b,!1);var d=c.requestPointerLock||c.webkitRequestPointerLock||c.mozRequestPointerLock;"function"===typeof d&&d.apply(c)}var N=q("__compat"),Q=q("__container"),W=q("__config"),V=q("__print"),ka=q("__quat"),ja=q("__util"),T=q("__vec3"),U=q("__vec4"),ia=W.A,G=W.uM;a.DEVICE_GYRO=10;a.DEVICE_HMD=20;a.DEVICE_MOUSE=30;a.DEVICE_KEYBOARD=40;a.DEVICE_TOUCH=50;a.rq=60;a.bu=70;a.cu=80;a.du=90;a.HMD_WEBVR_DESKTOP=0;a.HMD_WEBVR_MOBILE=1;a.HMD_NON_WEBVR=2;a.HMD_WEBVR1=
  1336. 3;a.HMD_WEBVR_TYPE=0;a.HMD_ORIENTATION_QUAT=10;a.HMD_POSITION=20;a.nF=21;a.oF=22;a.HMD_EYE_DISTANCE=23;a.HMD_DISTORTION=24;a.HMD_BASELINE_DIST=25;a.HMD_SCREEN_LENSE_DIST=26;a.HMD_SCREEN_WIDTH=27;a.HMD_SCREEN_HEIGHT=28;a.HMD_BEVEL_SIZE=29;a.MOUSE_LOCATION=30;a.My=31;a.MOUSE_DOWN_WHICH=40;a.MOUSE_UP_WHICH=50;a.MOUSE_WHEEL=60;a.KEYBOARD_UP=70;a.KEYBOARD_DOWN=80;a.Ly=81;a.TOUCH_START=90;a.TOUCH_MOVE=100;a.TOUCH_END=110;a.GYRO_ORIENTATION_QUAT=120;a.GYRO_ORIENTATION_ANGLES=130;a.GMPD_BUTTON_0=300;a.GMPD_BUTTON_1=
  1337. 301;a.GMPD_BUTTON_2=302;a.GMPD_BUTTON_3=303;a.GMPD_BUTTON_4=304;a.GMPD_BUTTON_5=305;a.GMPD_BUTTON_6=306;a.GMPD_BUTTON_7=307;a.GMPD_BUTTON_8=308;a.GMPD_BUTTON_9=309;a.GMPD_BUTTON_10=310;a.GMPD_BUTTON_11=311;a.GMPD_BUTTON_12=312;a.GMPD_BUTTON_13=313;a.GMPD_BUTTON_14=314;a.GMPD_BUTTON_15=315;a.GMPD_BUTTON_16=316;a.GMPD_BUTTON_17=317;a.GMPD_BUTTON_18=318;a.GMPD_BUTTON_19=319;a.GMPD_BUTTON_20=320;a.GMPD_BUTTON_21=321;a.GMPD_BUTTON_22=322;a.GMPD_BUTTON_23=323;a.GMPD_BUTTON_24=324;a.GMPD_BUTTON_25=325;a.GMPD_AXIS_0=
  1338. 326;a.GMPD_AXIS_1=327;a.GMPD_AXIS_2=328;a.GMPD_AXIS_3=329;a.GMPD_AXIS_4=330;a.GMPD_AXIS_5=331;a.GMPD_AXIS_6=332;a.GMPD_AXIS_7=333;a.GMPD_AXIS_8=334;a.GMPD_AXIS_9=335;a.GMPD_AXIS_10=336;a.GMPD_AXIS_11=337;var qa=ka.create(),aa=ka.create(),ga=T.create(),ya=-Infinity,ra=!1,S=new Float32Array(2);T.create();var la=T.create(),pa=ka.create(),va="ontouchstart"in document.documentElement,wa=[];a.can_use_device=f;a.get_device_by_type_element=b;a.switch_prevent_default=function(a,b){a.fh=b};a.reset_device=function(a){switch(a.type){case 20:if(a.sg)if(a.df)a.df.resetPose();
  1339. else if(a.th)for(var b=0;b<a.th.length;b++)a.th[b].resetSensor();break;default:V.error("reset_device() is undefined for device: ",a.type)}};a.get_vector_param=function(a,b,c){switch(b){case 10:a:switch(a.type){case 20:T.copy(ja.Al,c);if(a.df)c[0]=a.orientation[0],c[1]=a.orientation[1],c[2]=a.orientation[2],c[3]=a.orientation[3];else if(a.th)for(b=0;b<a.th.length;b++){var d=a.th[b],d=d.getState&&d.getState()||d.getImmediateState&&d.getImmediateState();d.orientation&&(c[0]=d.orientation.x,c[1]=d.orientation.y,
  1340. c[2]=d.orientation.z,c[3]=d.orientation.w)}ka.normalize(c,c);a=ka.setAxisAngle(ja.AXIS_X,Math.PI/2,aa);ka.multiply(a,c,c);break a;default:V.error("orientation_quat is undefined for device: ",a.type)}return c;case 20:a:switch(a.type){case 20:T.copy(ja.lu,c);if(a.df)c[0]=a.position[0],c[1]=a.position[1],c[2]=a.position[2];else if(a.th)for(b=0;b<a.th.length;b++)d=a.th[b],d=d.getState&&d.getState()||d.getImmediateState&&d.getImmediateState(),d.position&&(c[0]=d.position.x,c[1]=-d.position.z,c[2]=d.position.y);
  1341. break a;default:V.error("position is undefined for device: ",a.type)}return c;case 21:return n(a,"left",c);case 22:return n(a,"right",c);case 30:case 31:return c[0]=a.ys[0],c[1]=a.ys[1],c}};a.get_value_param=t;a.set_config=function(a,b,c){switch(a.type){case 20:if(3===t(a,0))break;switch(b){case 24:a.distortion_coefs[0]=c[0];a.distortion_coefs[1]=c[1];break;case 23:a.Oh=c;e(a);break;case 25:a.wi=c;e(a);break;case 26:a.nj=c;e(a);break;case 27:a.vl=c;e(a);break;case 28:a.Oi=c;e(a);break;case 29:a.xi=
  1342. c,e(a)}break;case 60:case 70:case 80:case 90:a.Ar[b]=c}};a.ZL=function(a,b){var c=b-300;return c<a.wk.length?a.wk[a.Ar[c]-300]:!1};a.YL=function(a,b){return b-326<a.Ki.length?a.Ki[a.Ar[b-300]-326]:0};a.update=function(a){for(var b=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:[],c=0;c<wa.length;c++){var e=wa[c];switch(e.type){case 60:d(e);k(b[0],e);break;case 70:d(e);k(b[1],e);break;case 80:d(e);k(b[2],e);break;case 90:d(e);k(b[3],e);break;case 20:m(e,
  1343. a)}}};a.attach_param_cb=function(a,b,c){switch(b){case 120:a.Af.push(c);b=131;break;case 130:a.ng.push(c);b=131;break;case 40:a.Th.push(c);break;case 30:case 31:a.wd.push(c);break;case 50:a.Uh.push(c);break;case 60:a.Vh.push(c);break;case 80:a.$o.push(c);break;case 81:a.bC.push(c);b=80;break;case 70:a.Ph.push(c);break;case 90:a.ki.push(c);break;case 100:a.ji.push(c);break;case 110:a.ii.push(c)}if(-1==a.Mb.indexOf(b)&&(a.Mb.push(b),a.sg))switch(b){case 40:/iPad|iPhone|iPod/.test(navigator.platform)||
  1344. a.element.addEventListener("mousedown",A,!1);break;case 30:a.element.addEventListener("mousemove",F,!1);break;case 31:a.element.addEventListener("mousemove",E,!1);break;case 50:/iPad|iPhone|iPod/.test(navigator.platform)||(a.element!=window&&a.element.addEventListener("mouseout",K,!1),a.element.addEventListener("mouseup",h,!1));break;case 60:a.element.addEventListener("wheel",l,!1);break;case 80:a.element.addEventListener("keydown",w,!1);break;case 70:a.element.addEventListener("keyup",r,!1);break;
  1345. case 90:a.element.addEventListener("touchstart",J,!1);break;case 100:a.element.addEventListener("touchmove",B,!1);break;case 110:a.element.addEventListener("touchend",Z,!1);break;case 131:a.element.addEventListener("deviceorientation",x,!1)}};a.detach_param_cb=function(a,b,c){v(a,b,c,!1)};a.pM=z;a.cleanup=function(){for(var a=0;a<wa.length;a++)for(var b=wa[a],c=0;c<b.Mb.length;c++)v(b,b.Mb[c],null,!0);wa.length=0};a.get_pressed_gmpd_btn=function(a){a=b(I(a));for(var c=0;c<a.wk.length;c++)if(a.wk[c])return c+
  1346. 300;return-1};a.get_moved_gmpd_axis=function(a){a=b(I(a));for(var c=0;c<a.Ki.length;c++)if(a.ZA[c]-a.Ki[c])return c+326;return-1};a.qB=function(){for(var a=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:[],b=0;b<a.length;b++)if(a[b])return b;return 0};a.CB=function(){var a=b(20);return a&&a.df};a.pH=function(a){a.element.addEventListener("mousedown",function(){a.value||C(a)},!1)}};fdage.module.__vec3=function(a){var q="undefined"!==typeof Float32Array?Float32Array:Array,f=Math.random;a.create=function(){var a=new q(3);a[0]=0;a[1]=0;a[2]=0;return a};a.clone=function(a){var b=new q(3);b[0]=a[0];b[1]=a[1];b[2]=a[2];return b};a.fromValues=function(a,b,f){var p=new q(3);p[0]=a;p[1]=b;p[2]=f;return p};a.copy=function(a,b){b[0]=a[0];b[1]=a[1];b[2]=a[2];return b};a.set=function(a,b,f,p){p[0]=a;p[1]=b;p[2]=f;return p};a.add=function(a,b,f){f[0]=a[0]+b[0];f[1]=a[1]+b[1];f[2]=a[2]+b[2];
  1347. return f};a.subtract=function(a,b,f){f[0]=a[0]-b[0];f[1]=a[1]-b[1];f[2]=a[2]-b[2];return f};a.sub=a.subtract;a.multiply=function(a,b,f){f[0]=a[0]*b[0];f[1]=a[1]*b[1];f[2]=a[2]*b[2];return f};a.mul=a.multiply;a.divide=function(a,b,f){f[0]=a[0]/b[0];f[1]=a[1]/b[1];f[2]=a[2]/b[2];return f};a.div=a.divide;a.min=function(a,b,f){f[0]=Math.min(a[0],b[0]);f[1]=Math.min(a[1],b[1]);f[2]=Math.min(a[2],b[2]);return f};a.max=function(a,b,f){f[0]=Math.max(a[0],b[0]);f[1]=Math.max(a[1],b[1]);f[2]=Math.max(a[2],
  1348. b[2]);return f};a.scale=function(a,b,f){f[0]=a[0]*b;f[1]=a[1]*b;f[2]=a[2]*b;return f};a.scaleAndAdd=function(a,b,f,p){p[0]=a[0]+b[0]*f;p[1]=a[1]+b[1]*f;p[2]=a[2]+b[2]*f;return p};a.distance=function(a,b){var f=b[0]-a[0],p=b[1]-a[1],q=b[2]-a[2];return Math.sqrt(f*f+p*p+q*q)};a.dist=a.distance;a.squaredDistance=function(a,b){var f=b[0]-a[0],p=b[1]-a[1],q=b[2]-a[2];return f*f+p*p+q*q};a.sqrDist=a.squaredDistance;a.length=function(a){var b=a[0],f=a[1];a=a[2];return Math.sqrt(b*b+f*f+a*a)};a.len=a.length;
  1349. a.squaredLength=function(a){var b=a[0],f=a[1];a=a[2];return b*b+f*f+a*a};a.sqrLen=a.squaredLength;a.negate=function(a,b){b[0]=-a[0];b[1]=-a[1];b[2]=-a[2];return b};a.inverse=function(a,b){b[0]=1/a[0];b[1]=1/a[1];b[2]=1/a[2];return b};a.normalize=function(a,b){var f=a[0],p=a[1],q=a[2],f=f*f+p*p+q*q;0<f&&(f=1/Math.sqrt(f),b[0]=a[0]*f,b[1]=a[1]*f,b[2]=a[2]*f);return b};a.dot=function(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]};a.cross=function(a,b,f){var p=a[0],q=a[1];a=a[2];var e=b[0],u=b[1];b=b[2];
  1350. f[0]=q*b-a*u;f[1]=a*e-p*b;f[2]=p*u-q*e;return f};a.lerp=function(a,b,f,p){var q=a[0],e=a[1];a=a[2];p[0]=q+f*(b[0]-q);p[1]=e+f*(b[1]-e);p[2]=a+f*(b[2]-a);return p};a.eT=function(a,b,f,p,q,e){var u=q*q,n=u*(2*q-3)+1,t=u*(q-2)+q,m=u*(q-1);q=u*(3-2*q);e[0]=a[0]*n+b[0]*t+f[0]*m+p[0]*q;e[1]=a[1]*n+b[1]*t+f[1]*m+p[1]*q;e[2]=a[2]*n+b[2]*t+f[2]*m+p[2]*q;return e};a.zz=function(a,b,f,p,q,e){var u=1-q,n=u*u,t=q*q,m=n*u,n=3*q*n,u=3*t*u;q*=t;e[0]=a[0]*m+b[0]*n+f[0]*u+p[0]*q;e[1]=a[1]*m+b[1]*n+f[1]*u+p[1]*q;e[2]=
  1351. a[2]*m+b[2]*n+f[2]*u+p[2]*q;return e};a.random=function(a,b){a=a||1;var g=2*f()*Math.PI,p=2*f()-1,q=Math.sqrt(1-p*p)*a;b[0]=Math.cos(g)*q;b[1]=Math.sin(g)*q;b[2]=p*a;return b};a.transformMat4=function(a,b,f){var p=a[0],q=a[1];a=a[2];var e=b[3]*p+b[7]*q+b[11]*a+b[15],e=e||1;f[0]=(b[0]*p+b[4]*q+b[8]*a+b[12])/e;f[1]=(b[1]*p+b[5]*q+b[9]*a+b[13])/e;f[2]=(b[2]*p+b[6]*q+b[10]*a+b[14])/e;return f};a.transformMat3=function(a,b,f){var p=a[0],q=a[1];a=a[2];f[0]=p*b[0]+q*b[3]+a*b[6];f[1]=p*b[1]+q*b[4]+a*b[7];
  1352. f[2]=p*b[2]+q*b[5]+a*b[8];return f};a.transformQuat=function(a,b,f){var p=a[0],q=a[1],e=a[2];a=b[0];var u=b[1],n=b[2];b=b[3];var t=b*p+u*e-n*q,m=b*q+n*p-a*e,k=b*e+a*q-u*p,p=-a*p-u*q-n*e;f[0]=t*b+p*-a+m*-n-k*-u;f[1]=m*b+p*-u+k*-a-t*-n;f[2]=k*b+p*-n+t*-u-m*-a;return f};a.rotateX=function(a,b,f,p){var q=[],e=[];q[0]=a[0]-b[0];q[1]=a[1]-b[1];q[2]=a[2]-b[2];e[0]=q[0];e[1]=q[1]*Math.cos(f)-q[2]*Math.sin(f);e[2]=q[1]*Math.sin(f)+q[2]*Math.cos(f);p[0]=e[0]+b[0];p[1]=e[1]+b[1];p[2]=e[2]+b[2];return p};a.rotateY=
  1353. function(a,b,f,p){var q=[],e=[];q[0]=a[0]-b[0];q[1]=a[1]-b[1];q[2]=a[2]-b[2];e[0]=q[2]*Math.sin(f)+q[0]*Math.cos(f);e[1]=q[1];e[2]=q[2]*Math.cos(f)-q[0]*Math.sin(f);p[0]=e[0]+b[0];p[1]=e[1]+b[1];p[2]=e[2]+b[2];return p};a.rotateZ=function(a,b,f,p){var q=[],e=[];q[0]=a[0]-b[0];q[1]=a[1]-b[1];q[2]=a[2]-b[2];e[0]=q[0]*Math.cos(f)-q[1]*Math.sin(f);e[1]=q[0]*Math.sin(f)+q[1]*Math.cos(f);e[2]=q[2];p[0]=e[0]+b[0];p[1]=e[1]+b[1];p[2]=e[2]+b[2];return p};a.forEach=function(){var c=a.create();return function(a,
  1354. f,p,q,e,u){f||(f=3);p||(p=0);for(q=q?Math.min(q*f+p,a.length):a.length;p<q;p+=f)c[0]=a[p],c[1]=a[p+1],c[2]=a[p+2],e(c,u,c),a[p]=c[0],a[p+1]=c[1],a[p+2]=c[2];return a}}();a.WR=function(c,b){var f=a.fromValues(c[0],c[1],c[2]),p=a.fromValues(b[0],b[1],b[2]);a.normalize(f,f);a.normalize(p,p);f=a.dot(f,p);return 1<f?0:Math.acos(f)};a.str=function(a){return"vec3("+a[0]+", "+a[1]+", "+a[2]+")"}};fdage.module.vec3=fdage.module.__vec3;
  1355. fdage.module.__vec4=function(a){var q="undefined"!==typeof Float32Array?Float32Array:Array,f=Math.random;a.create=function(){var a=new q(4);a[0]=0;a[1]=0;a[2]=0;a[3]=0;return a};a.clone=function(a){var b=new q(4);b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];return b};a.fromValues=function(a,b,f,p){var D=new q(4);D[0]=a;D[1]=b;D[2]=f;D[3]=p;return D};a.copy=function(a,b){b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];return b};a.set=function(a,b,f,p,q){q[0]=a;q[1]=b;q[2]=f;q[3]=p;return q};a.add=function(a,b,f){f[0]=
  1356. a[0]+b[0];f[1]=a[1]+b[1];f[2]=a[2]+b[2];f[3]=a[3]+b[3];return f};a.subtract=function(a,b,f){f[0]=a[0]-b[0];f[1]=a[1]-b[1];f[2]=a[2]-b[2];f[3]=a[3]-b[3];return f};a.sub=a.subtract;a.multiply=function(a,b,f){f[0]=a[0]*b[0];f[1]=a[1]*b[1];f[2]=a[2]*b[2];f[3]=a[3]*b[3];return f};a.mul=a.multiply;a.divide=function(a,b,f){f[0]=a[0]/b[0];f[1]=a[1]/b[1];f[2]=a[2]/b[2];f[3]=a[3]/b[3];return f};a.div=a.divide;a.min=function(a,b,f){f[0]=Math.min(a[0],b[0]);f[1]=Math.min(a[1],b[1]);f[2]=Math.min(a[2],b[2]);f[3]=
  1357. Math.min(a[3],b[3]);return f};a.max=function(a,b,f){f[0]=Math.max(a[0],b[0]);f[1]=Math.max(a[1],b[1]);f[2]=Math.max(a[2],b[2]);f[3]=Math.max(a[3],b[3]);return f};a.scale=function(a,b,f){f[0]=a[0]*b;f[1]=a[1]*b;f[2]=a[2]*b;f[3]=a[3]*b;return f};a.scaleAndAdd=function(a,b,f,p){p[0]=a[0]+b[0]*f;p[1]=a[1]+b[1]*f;p[2]=a[2]+b[2]*f;p[3]=a[3]+b[3]*f;return p};a.distance=function(a,b){var f=b[0]-a[0],p=b[1]-a[1],q=b[2]-a[2],e=b[3]-a[3];return Math.sqrt(f*f+p*p+q*q+e*e)};a.dist=a.distance;a.squaredDistance=
  1358. function(a,b){var f=b[0]-a[0],p=b[1]-a[1],q=b[2]-a[2],e=b[3]-a[3];return f*f+p*p+q*q+e*e};a.sqrDist=a.squaredDistance;a.length=function(a){var b=a[0],f=a[1],p=a[2];a=a[3];return Math.sqrt(b*b+f*f+p*p+a*a)};a.len=a.length;a.squaredLength=function(a){var b=a[0],f=a[1],p=a[2];a=a[3];return b*b+f*f+p*p+a*a};a.sqrLen=a.squaredLength;a.negate=function(a,b){b[0]=-a[0];b[1]=-a[1];b[2]=-a[2];b[3]=-a[3];return b};a.inverse=function(a,b){b[0]=1/a[0];b[1]=1/a[1];b[2]=1/a[2];b[3]=1/a[3];return b};a.normalize=
  1359. function(a,b){var f=a[0],p=a[1],q=a[2],e=a[3],u=f*f+p*p+q*q+e*e;0<u&&(u=1/Math.sqrt(u),b[0]=f*u,b[1]=p*u,b[2]=q*u,b[3]=e*u);return b};a.dot=function(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]+a[3]*b[3]};a.lerp=function(a,b,f,p){var q=a[0],e=a[1],u=a[2];a=a[3];p[0]=q+f*(b[0]-q);p[1]=e+f*(b[1]-e);p[2]=u+f*(b[2]-u);p[3]=a+f*(b[3]-a);return p};a.random=function(c,b){c=c||1;b[0]=f();b[1]=f();b[2]=f();b[3]=f();a.normalize(b,b);a.scale(b,c,b);return b};a.transformMat4=function(a,b,f){var p=a[0],q=a[1],e=
  1360. a[2];a=a[3];f[0]=b[0]*p+b[4]*q+b[8]*e+b[12]*a;f[1]=b[1]*p+b[5]*q+b[9]*e+b[13]*a;f[2]=b[2]*p+b[6]*q+b[10]*e+b[14]*a;f[3]=b[3]*p+b[7]*q+b[11]*e+b[15]*a;return f};a.transformQuat=function(a,b,f){var p=a[0],q=a[1],e=a[2],u=b[0],n=b[1],t=b[2];b=b[3];var m=b*p+n*e-t*q,k=b*q+t*p-u*e,d=b*e+u*q-n*p,p=-u*p-n*q-t*e;f[0]=m*b+p*-u+k*-t-d*-n;f[1]=k*b+p*-n+d*-u-m*-t;f[2]=d*b+p*-t+m*-n-k*-u;f[3]=a[3];return f};a.forEach=function(){var c=a.create();return function(a,f,p,q,e,u){f||(f=4);p||(p=0);for(q=q?Math.min(q*
  1361. f+p,a.length):a.length;p<q;p+=f)c[0]=a[p],c[1]=a[p+1],c[2]=a[p+2],c[3]=a[p+3],e(c,u,c),a[p]=c[0],a[p+1]=c[1],a[p+2]=c[2],a[p+3]=c[3];return a}}();a.str=function(a){return"vec4("+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+")"}};fdage.module.vec4=fdage.module.__vec4;
  1362. fdage.module.__quat=function(a,q){var f=q("__vec3"),c=q("__vec4"),b=q("__mat3"),g="undefined"!==typeof Float32Array?Float32Array:Array;a.create=function(){var a=new g(4);a[0]=0;a[1]=0;a[2]=0;a[3]=1;return a};a.rotationTo=function(){var b=f.create(),c=f.fromValues(1,0,0),e=f.fromValues(0,1,0);return function(g,n,t){var m=f.dot(g,n);if(-.9999999>m)return f.cross(c,g,b),1E-6>f.length(b)&&f.cross(e,g,b),f.normalize(b,b),a.setAxisAngle(b,Math.PI,t),t;if(.9999999<m)return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t;f.cross(g,
  1363. n,b);t[0]=b[0];t[1]=b[1];t[2]=b[2];t[3]=1+m;return a.normalize(t,t)}}();a.setAxes=function(){var c=b.create();return function(b,e,f,g){c[0]=e[0];c[3]=e[1];c[6]=e[2];c[1]=f[0];c[4]=f[1];c[7]=f[2];c[2]=-b[0];c[5]=-b[1];c[8]=-b[2];return a.normalize(a.fromMat3(c,g),g)}}();a.clone=c.clone;a.fromValues=c.fromValues;a.copy=c.copy;a.set=c.set;a.identity=function(a){a[0]=0;a[1]=0;a[2]=0;a[3]=1;return a};a.setAxisAngle=function(a,b,c){b*=.5;var f=Math.sin(b);c[0]=f*a[0];c[1]=f*a[1];c[2]=f*a[2];c[3]=Math.cos(b);
  1364. return c};a.add=c.add;a.multiply=function(a,b,c){var f=a[0],g=a[1],t=a[2];a=a[3];var m=b[0],k=b[1],d=b[2];b=b[3];c[0]=f*b+a*m+g*d-t*k;c[1]=g*b+a*k+t*m-f*d;c[2]=t*b+a*d+f*k-g*m;c[3]=a*b-f*m-g*k-t*d;return c};a.mul=a.multiply;a.scale=c.scale;a.rotateX=function(a,b,c){b*=.5;var f=a[0],g=a[1],t=a[2];a=a[3];var m=Math.sin(b);b=Math.cos(b);c[0]=f*b+a*m;c[1]=g*b+t*m;c[2]=t*b-g*m;c[3]=a*b-f*m;return c};a.rotateY=function(a,b,c){b*=.5;var f=a[0],g=a[1],t=a[2];a=a[3];var m=Math.sin(b);b=Math.cos(b);c[0]=f*
  1365. b-t*m;c[1]=g*b+a*m;c[2]=t*b+f*m;c[3]=a*b-g*m;return c};a.rotateZ=function(a,b,c){b*=.5;var f=a[0],g=a[1],t=a[2];a=a[3];var m=Math.sin(b);b=Math.cos(b);c[0]=f*b+g*m;c[1]=g*b-f*m;c[2]=t*b+a*m;c[3]=a*b-t*m;return c};a.calculateW=function(a,b){var c=a[0],f=a[1],g=a[2];b[0]=c;b[1]=f;b[2]=g;b[3]=Math.sqrt(Math.abs(1-c*c-f*f-g*g));return b};a.dot=c.dot;a.lerp=c.lerp;a.slerp=function(a,b,c,f){var g=a[0],t=a[1],m=a[2];a=a[3];var k=b[0],d=b[1],q=b[2];b=b[3];var H,v,z;v=g*k+t*d+m*q+a*b;0>v&&(v=-v,k=-k,d=-d,
  1366. q=-q,b=-b);1E-6<1-v?(H=Math.acos(v),z=Math.sin(H),v=Math.sin((1-c)*H)/z,c=Math.sin(c*H)/z):v=1-c;f[0]=v*g+c*k;f[1]=v*t+c*d;f[2]=v*m+c*q;f[3]=v*a+c*b;return f};a.RT=function(){var b=a.create(),c=a.create();return function(e,f,g,t,m,k){a.slerp(e,t,m,b);a.slerp(f,g,m,c);a.slerp(b,c,2*m*(1-m),k);return k}}();a.invert=function(a,b){var c=a[0],f=a[1],g=a[2],t=a[3],m=c*c+f*f+g*g+t*t,m=m?1/m:0;b[0]=-c*m;b[1]=-f*m;b[2]=-g*m;b[3]=t*m;return b};a.conjugate=function(a,b){b[0]=-a[0];b[1]=-a[1];b[2]=-a[2];b[3]=
  1367. a[3];return b};a.length=c.length;a.len=a.length;a.squaredLength=c.squaredLength;a.sqrLen=a.squaredLength;a.normalize=c.normalize;a.fromMat3=function(a,b){var c=a[0]+a[4]+a[8];if(0<c)c=Math.sqrt(c+1),b[3]=.5*c,c=.5/c,b[0]=(a[5]-a[7])*c,b[1]=(a[6]-a[2])*c,b[2]=(a[1]-a[3])*c;else{var f=0;a[4]>a[0]&&(f=1);a[8]>a[3*f+f]&&(f=2);var g=(f+1)%3,t=(f+2)%3,c=Math.sqrt(a[3*f+f]-a[3*g+g]-a[3*t+t]+1);b[f]=.5*c;c=.5/c;b[3]=(a[3*g+t]-a[3*t+g])*c;b[g]=(a[3*g+f]+a[3*f+g])*c;b[t]=(a[3*t+f]+a[3*f+t])*c}return b};a.str=
  1368. function(a){return"quat("+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+")"}};fdage.module.quat=fdage.module.__quat;
  1369. fdage.module.__mat3=function(a){var q="undefined"!==typeof Float32Array?Float32Array:Array;a.create=function(){var a=new q(9);a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=1;a[5]=0;a[6]=0;a[7]=0;a[8]=1;return a};a.fromMat4=function(a,c){c[0]=a[0];c[1]=a[1];c[2]=a[2];c[3]=a[4];c[4]=a[5];c[5]=a[6];c[6]=a[8];c[7]=a[9];c[8]=a[10];return c};a.clone=function(a){var c=new q(9);c[0]=a[0];c[1]=a[1];c[2]=a[2];c[3]=a[3];c[4]=a[4];c[5]=a[5];c[6]=a[6];c[7]=a[7];c[8]=a[8];return c};a.copy=function(a,c){c[0]=a[0];c[1]=a[1];c[2]=
  1370. a[2];c[3]=a[3];c[4]=a[4];c[5]=a[5];c[6]=a[6];c[7]=a[7];c[8]=a[8];return c};a.identity=function(a){a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=1;a[5]=0;a[6]=0;a[7]=0;a[8]=1;return a};a.transpose=function(a,c){if(c===a){var b=a[1],g=a[2],p=a[5];c[1]=a[3];c[2]=a[6];c[3]=b;c[5]=a[7];c[6]=g;c[7]=p}else c[0]=a[0],c[1]=a[3],c[2]=a[6],c[3]=a[1],c[4]=a[4],c[5]=a[7],c[6]=a[2],c[7]=a[5],c[8]=a[8];return c};a.invert=function(a,c){var b=a[0],g=a[1],p=a[2],q=a[3],e=a[4],u=a[5],n=a[6],t=a[7],m=a[8],k=m*e-u*t,d=-m*q+u*n,y=
  1371. t*q-e*n,H=b*k+g*d+p*y;if(!H)return null;H=1/H;c[0]=k*H;c[1]=(-m*g+p*t)*H;c[2]=(u*g-p*e)*H;c[3]=d*H;c[4]=(m*b-p*n)*H;c[5]=(-u*b+p*q)*H;c[6]=y*H;c[7]=(-t*b+g*n)*H;c[8]=(e*b-g*q)*H;return c};a.adjoint=function(a,c){var b=a[0],g=a[1],p=a[2],q=a[3],e=a[4],u=a[5],n=a[6],t=a[7],m=a[8];c[0]=e*m-u*t;c[1]=p*t-g*m;c[2]=g*u-p*e;c[3]=u*n-q*m;c[4]=b*m-p*n;c[5]=p*q-b*u;c[6]=q*t-e*n;c[7]=g*n-b*t;c[8]=b*e-g*q;return c};a.determinant=function(a){var c=a[3],b=a[4],g=a[5],p=a[6],q=a[7],e=a[8];return a[0]*(e*b-g*q)+a[1]*
  1372. (-e*c+g*p)+a[2]*(q*c-b*p)};a.multiply=function(a,c,b){var g=a[0],p=a[1],q=a[2],e=a[3],u=a[4],n=a[5],t=a[6],m=a[7];a=a[8];var k=c[0],d=c[1],y=c[2],H=c[3],v=c[4],z=c[5],x=c[6],M=c[7];c=c[8];b[0]=k*g+d*e+y*t;b[1]=k*p+d*u+y*m;b[2]=k*q+d*n+y*a;b[3]=H*g+v*e+z*t;b[4]=H*p+v*u+z*m;b[5]=H*q+v*n+z*a;b[6]=x*g+M*e+c*t;b[7]=x*p+M*u+c*m;b[8]=x*q+M*n+c*a;return b};a.mul=a.multiply;a.translate=function(a,c,b){var g=a[0],p=a[1],q=a[2],e=a[3],u=a[4],n=a[5],t=a[6],m=a[7];a=a[8];var k=c[0];c=c[1];b[0]=g;b[1]=p;b[2]=q;
  1373. b[3]=e;b[4]=u;b[5]=n;b[6]=k*g+c*e+t;b[7]=k*p+c*u+m;b[8]=k*q+c*n+a;return b};a.rotate=function(a,c,b){var g=a[0],p=a[1],q=a[2],e=a[3],u=a[4],n=a[5],t=a[6],m=a[7];a=a[8];var k=Math.sin(c);c=Math.cos(c);b[0]=c*g+k*e;b[1]=c*p+k*u;b[2]=c*q+k*n;b[3]=c*e-k*g;b[4]=c*u-k*p;b[5]=c*n-k*q;b[6]=t;b[7]=m;b[8]=a;return b};a.scale=function(a,c,b){var g=c[0];c=c[1];b[0]=g*a[0];b[1]=g*a[1];b[2]=g*a[2];b[3]=c*a[3];b[4]=c*a[4];b[5]=c*a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];return b};a.qL=function(a,c){c[0]=1;c[1]=0;c[2]=
  1374. 0;c[3]=0;c[4]=1;c[5]=0;c[6]=a[0];c[7]=a[1];c[8]=1;return c};a.oL=function(a,c){var b=Math.sin(a),g=Math.cos(a);c[0]=g;c[1]=b;c[2]=0;c[3]=-b;c[4]=g;c[5]=0;c[6]=0;c[7]=0;c[8]=1;return c};a.pL=function(a,c){c[0]=a[0];c[1]=0;c[2]=0;c[3]=0;c[4]=a[1];c[5]=0;c[6]=0;c[7]=0;c[8]=1;return c};a.fromMat2d=function(a,c){c[0]=a[0];c[1]=a[1];c[2]=0;c[3]=a[2];c[4]=a[3];c[5]=0;c[6]=a[4];c[7]=a[5];c[8]=1;return c};a.fromQuat=function(a,c){var b=a[0],g=a[1],p=a[2],q=a[3],e=b+b,u=g+g,n=p+p,b=b*e,t=g*e,g=g*u,m=p*e,k=
  1375. p*u,p=p*n,e=q*e,u=q*u,q=q*n;c[0]=1-g-p;c[3]=t-q;c[6]=m+u;c[1]=t+q;c[4]=1-b-p;c[7]=k-e;c[2]=m-u;c[5]=k+e;c[8]=1-b-g;return c};a.normalFromMat4=function(a,c){var b=a[0],g=a[1],p=a[2],q=a[3],e=a[4],u=a[5],n=a[6],t=a[7],m=a[8],k=a[9],d=a[10],y=a[11],H=a[12],v=a[13],z=a[14],x=a[15],M=b*u-g*e,F=b*n-p*e,E=b*t-q*e,A=g*n-p*u,K=g*t-q*u,h=p*t-q*n,l=m*v-k*H,w=m*z-d*H,m=m*x-y*H,r=k*z-d*v,k=k*x-y*v,d=d*x-y*z,y=M*d-F*k+E*r+A*m-K*w+h*l;if(!y)return null;y=1/y;c[0]=(u*d-n*k+t*r)*y;c[1]=(n*m-e*d-t*w)*y;c[2]=(e*k-u*
  1376. m+t*l)*y;c[3]=(p*k-g*d-q*r)*y;c[4]=(b*d-p*m+q*w)*y;c[5]=(g*m-b*k-q*l)*y;c[6]=(v*h-z*K+x*A)*y;c[7]=(z*E-H*h-x*F)*y;c[8]=(H*K-v*E+x*M)*y;return c};a.str=function(a){return"mat3("+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+", "+a[4]+", "+a[5]+", "+a[6]+", "+a[7]+", "+a[8]+")"};a.nL=function(a){return Math.sqrt(Math.pow(a[0],2)+Math.pow(a[1],2)+Math.pow(a[2],2)+Math.pow(a[3],2)+Math.pow(a[4],2)+Math.pow(a[5],2)+Math.pow(a[6],2)+Math.pow(a[7],2)+Math.pow(a[8],2))}};fdage.module.mat3=fdage.module.__mat3;
  1377. fdage.module.__mat4=function(a){var q="undefined"!==typeof Float32Array?Float32Array:Array;a.create=function(){var a=new q(16);a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=1;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=1;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};a.clone=function(a){var c=new q(16);c[0]=a[0];c[1]=a[1];c[2]=a[2];c[3]=a[3];c[4]=a[4];c[5]=a[5];c[6]=a[6];c[7]=a[7];c[8]=a[8];c[9]=a[9];c[10]=a[10];c[11]=a[11];c[12]=a[12];c[13]=a[13];c[14]=a[14];c[15]=a[15];return c};a.copy=function(a,c){c[0]=a[0];
  1378. c[1]=a[1];c[2]=a[2];c[3]=a[3];c[4]=a[4];c[5]=a[5];c[6]=a[6];c[7]=a[7];c[8]=a[8];c[9]=a[9];c[10]=a[10];c[11]=a[11];c[12]=a[12];c[13]=a[13];c[14]=a[14];c[15]=a[15];return c};a.identity=function(a){a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=1;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=1;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};a.transpose=function(a,c){if(c===a){var b=a[1],g=a[2],p=a[3],q=a[6],e=a[7],u=a[11];c[1]=a[4];c[2]=a[8];c[3]=a[12];c[4]=b;c[6]=a[9];c[7]=a[13];c[8]=g;c[9]=q;c[11]=a[14];c[12]=p;c[13]=
  1379. e;c[14]=u}else c[0]=a[0],c[1]=a[4],c[2]=a[8],c[3]=a[12],c[4]=a[1],c[5]=a[5],c[6]=a[9],c[7]=a[13],c[8]=a[2],c[9]=a[6],c[10]=a[10],c[11]=a[14],c[12]=a[3],c[13]=a[7],c[14]=a[11],c[15]=a[15];return c};a.invert=function(a,c){var b=a[0],g=a[1],p=a[2],q=a[3],e=a[4],u=a[5],n=a[6],t=a[7],m=a[8],k=a[9],d=a[10],y=a[11],H=a[12],v=a[13],z=a[14],x=a[15],M=b*u-g*e,F=b*n-p*e,E=b*t-q*e,A=g*n-p*u,K=g*t-q*u,h=p*t-q*n,l=m*v-k*H,w=m*z-d*H,r=m*x-y*H,J=k*z-d*v,B=k*x-y*v,Z=d*x-y*z,I=M*Z-F*B+E*J+A*r-K*w+h*l;if(!I)return null;
  1380. I=1/I;c[0]=(u*Z-n*B+t*J)*I;c[1]=(p*B-g*Z-q*J)*I;c[2]=(v*h-z*K+x*A)*I;c[3]=(d*K-k*h-y*A)*I;c[4]=(n*r-e*Z-t*w)*I;c[5]=(b*Z-p*r+q*w)*I;c[6]=(z*E-H*h-x*F)*I;c[7]=(m*h-d*E+y*F)*I;c[8]=(e*B-u*r+t*l)*I;c[9]=(g*r-b*B-q*l)*I;c[10]=(H*K-v*E+x*M)*I;c[11]=(k*E-m*K-y*M)*I;c[12]=(u*w-e*J-n*l)*I;c[13]=(b*J-g*w+p*l)*I;c[14]=(v*F-H*A-z*M)*I;c[15]=(m*A-k*F+d*M)*I;return c};a.adjoint=function(a,c){var b=a[0],g=a[1],p=a[2],q=a[3],e=a[4],u=a[5],n=a[6],t=a[7],m=a[8],k=a[9],d=a[10],y=a[11],H=a[12],v=a[13],z=a[14],x=a[15];
  1381. c[0]=u*(d*x-y*z)-k*(n*x-t*z)+v*(n*y-t*d);c[1]=-(g*(d*x-y*z)-k*(p*x-q*z)+v*(p*y-q*d));c[2]=g*(n*x-t*z)-u*(p*x-q*z)+v*(p*t-q*n);c[3]=-(g*(n*y-t*d)-u*(p*y-q*d)+k*(p*t-q*n));c[4]=-(e*(d*x-y*z)-m*(n*x-t*z)+H*(n*y-t*d));c[5]=b*(d*x-y*z)-m*(p*x-q*z)+H*(p*y-q*d);c[6]=-(b*(n*x-t*z)-e*(p*x-q*z)+H*(p*t-q*n));c[7]=b*(n*y-t*d)-e*(p*y-q*d)+m*(p*t-q*n);c[8]=e*(k*x-y*v)-m*(u*x-t*v)+H*(u*y-t*k);c[9]=-(b*(k*x-y*v)-m*(g*x-q*v)+H*(g*y-q*k));c[10]=b*(u*x-t*v)-e*(g*x-q*v)+H*(g*t-q*u);c[11]=-(b*(u*y-t*k)-e*(g*y-q*k)+m*
  1382. (g*t-q*u));c[12]=-(e*(k*z-d*v)-m*(u*z-n*v)+H*(u*d-n*k));c[13]=b*(k*z-d*v)-m*(g*z-p*v)+H*(g*d-p*k);c[14]=-(b*(u*z-n*v)-e*(g*z-p*v)+H*(g*n-p*u));c[15]=b*(u*d-n*k)-e*(g*d-p*k)+m*(g*n-p*u);return c};a.determinant=function(a){var c=a[0],b=a[1],g=a[2],p=a[3],q=a[4],e=a[5],u=a[6],n=a[7],t=a[8],m=a[9],k=a[10],d=a[11],y=a[12],H=a[13],v=a[14];a=a[15];return(c*e-b*q)*(k*a-d*v)-(c*u-g*q)*(m*a-d*H)+(c*n-p*q)*(m*v-k*H)+(b*u-g*e)*(t*a-d*y)-(b*n-p*e)*(t*v-k*y)+(g*n-p*u)*(t*H-m*y)};a.multiply=function(a,c,b){var g=
  1383. a[0],p=a[1],q=a[2],e=a[3],u=a[4],n=a[5],t=a[6],m=a[7],k=a[8],d=a[9],y=a[10],H=a[11],v=a[12],z=a[13],x=a[14];a=a[15];var M=c[0],F=c[1],E=c[2],A=c[3];b[0]=M*g+F*u+E*k+A*v;b[1]=M*p+F*n+E*d+A*z;b[2]=M*q+F*t+E*y+A*x;b[3]=M*e+F*m+E*H+A*a;M=c[4];F=c[5];E=c[6];A=c[7];b[4]=M*g+F*u+E*k+A*v;b[5]=M*p+F*n+E*d+A*z;b[6]=M*q+F*t+E*y+A*x;b[7]=M*e+F*m+E*H+A*a;M=c[8];F=c[9];E=c[10];A=c[11];b[8]=M*g+F*u+E*k+A*v;b[9]=M*p+F*n+E*d+A*z;b[10]=M*q+F*t+E*y+A*x;b[11]=M*e+F*m+E*H+A*a;M=c[12];F=c[13];E=c[14];A=c[15];b[12]=M*g+
  1384. F*u+E*k+A*v;b[13]=M*p+F*n+E*d+A*z;b[14]=M*q+F*t+E*y+A*x;b[15]=M*e+F*m+E*H+A*a;return b};a.mul=a.multiply;a.translate=function(a,c,b){var g=c[0],p=c[1];c=c[2];var q,e,u,n,t,m,k,d,y,H,v,z;a===b?(b[12]=a[0]*g+a[4]*p+a[8]*c+a[12],b[13]=a[1]*g+a[5]*p+a[9]*c+a[13],b[14]=a[2]*g+a[6]*p+a[10]*c+a[14],b[15]=a[3]*g+a[7]*p+a[11]*c+a[15]):(q=a[0],e=a[1],u=a[2],n=a[3],t=a[4],m=a[5],k=a[6],d=a[7],y=a[8],H=a[9],v=a[10],z=a[11],b[0]=q,b[1]=e,b[2]=u,b[3]=n,b[4]=t,b[5]=m,b[6]=k,b[7]=d,b[8]=y,b[9]=H,b[10]=v,b[11]=z,
  1385. b[12]=q*g+t*p+y*c+a[12],b[13]=e*g+m*p+H*c+a[13],b[14]=u*g+k*p+v*c+a[14],b[15]=n*g+d*p+z*c+a[15]);return b};a.scale=function(a,c,b){var g=c[0],p=c[1];c=c[2];b[0]=a[0]*g;b[1]=a[1]*g;b[2]=a[2]*g;b[3]=a[3]*g;b[4]=a[4]*p;b[5]=a[5]*p;b[6]=a[6]*p;b[7]=a[7]*p;b[8]=a[8]*c;b[9]=a[9]*c;b[10]=a[10]*c;b[11]=a[11]*c;b[12]=a[12];b[13]=a[13];b[14]=a[14];b[15]=a[15];return b};a.rotate=function(a,c,b,g){var p=b[0],q=b[1];b=b[2];var e=Math.sqrt(p*p+q*q+b*b),u,n,t,m,k,d,y,H,v,z,x,M,F,E,A,K,h,l,w,r;if(1E-7>Math.abs(e))return null;
  1386. e=1/e;p*=e;q*=e;b*=e;u=Math.sin(c);n=Math.cos(c);t=1-n;c=a[0];e=a[1];m=a[2];k=a[3];d=a[4];y=a[5];H=a[6];v=a[7];z=a[8];x=a[9];M=a[10];F=a[11];E=p*p*t+n;A=q*p*t+b*u;K=b*p*t-q*u;h=p*q*t-b*u;l=q*q*t+n;w=b*q*t+p*u;r=p*b*t+q*u;p=q*b*t-p*u;q=b*b*t+n;g[0]=c*E+d*A+z*K;g[1]=e*E+y*A+x*K;g[2]=m*E+H*A+M*K;g[3]=k*E+v*A+F*K;g[4]=c*h+d*l+z*w;g[5]=e*h+y*l+x*w;g[6]=m*h+H*l+M*w;g[7]=k*h+v*l+F*w;g[8]=c*r+d*p+z*q;g[9]=e*r+y*p+x*q;g[10]=m*r+H*p+M*q;g[11]=k*r+v*p+F*q;a!==g&&(g[12]=a[12],g[13]=a[13],g[14]=a[14],g[15]=a[15]);
  1387. return g};a.rotateX=function(a,c,b){var g=Math.sin(c);c=Math.cos(c);var p=a[4],q=a[5],e=a[6],u=a[7],n=a[8],t=a[9],m=a[10],k=a[11];a!==b&&(b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]=a[3],b[12]=a[12],b[13]=a[13],b[14]=a[14],b[15]=a[15]);b[4]=p*c+n*g;b[5]=q*c+t*g;b[6]=e*c+m*g;b[7]=u*c+k*g;b[8]=n*c-p*g;b[9]=t*c-q*g;b[10]=m*c-e*g;b[11]=k*c-u*g;return b};a.rotateY=function(a,c,b){var g=Math.sin(c);c=Math.cos(c);var p=a[0],q=a[1],e=a[2],u=a[3],n=a[8],t=a[9],m=a[10],k=a[11];a!==b&&(b[4]=a[4],b[5]=a[5],b[6]=a[6],
  1388. b[7]=a[7],b[12]=a[12],b[13]=a[13],b[14]=a[14],b[15]=a[15]);b[0]=p*c-n*g;b[1]=q*c-t*g;b[2]=e*c-m*g;b[3]=u*c-k*g;b[8]=p*g+n*c;b[9]=q*g+t*c;b[10]=e*g+m*c;b[11]=u*g+k*c;return b};a.rotateZ=function(a,c,b){var g=Math.sin(c);c=Math.cos(c);var p=a[0],q=a[1],e=a[2],u=a[3],n=a[4],t=a[5],m=a[6],k=a[7];a!==b&&(b[8]=a[8],b[9]=a[9],b[10]=a[10],b[11]=a[11],b[12]=a[12],b[13]=a[13],b[14]=a[14],b[15]=a[15]);b[0]=p*c+n*g;b[1]=q*c+t*g;b[2]=e*c+m*g;b[3]=u*c+k*g;b[4]=n*c-p*g;b[5]=t*c-q*g;b[6]=m*c-e*g;b[7]=k*c-u*g;return b};
  1389. a.qL=function(a,c){c[0]=1;c[1]=0;c[2]=0;c[3]=0;c[4]=0;c[5]=1;c[6]=0;c[7]=0;c[8]=0;c[9]=0;c[10]=1;c[11]=0;c[12]=a[0];c[13]=a[1];c[14]=a[2];c[15]=1;return c};a.pL=function(a,c){c[0]=a[0];c[1]=0;c[2]=0;c[3]=0;c[4]=0;c[5]=a[1];c[6]=0;c[7]=0;c[8]=0;c[9]=0;c[10]=a[2];c[11]=0;c[12]=0;c[13]=0;c[14]=0;c[15]=1;return c};a.oL=function(a,c,b){var g=c[0],p=c[1];c=c[2];var q=Math.sqrt(g*g+p*p+c*c),e;if(1E-7>Math.abs(q))return null;q=1/q;g*=q;p*=q;c*=q;q=Math.sin(a);a=Math.cos(a);e=1-a;b[0]=g*g*e+a;b[1]=p*g*e+c*
  1390. q;b[2]=c*g*e-p*q;b[3]=0;b[4]=g*p*e-c*q;b[5]=p*p*e+a;b[6]=c*p*e+g*q;b[7]=0;b[8]=g*c*e+p*q;b[9]=p*c*e-g*q;b[10]=c*c*e+a;b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=1;return b};a.GS=function(a,c){var b=Math.sin(a),g=Math.cos(a);c[0]=1;c[1]=0;c[2]=0;c[3]=0;c[4]=0;c[5]=g;c[6]=b;c[7]=0;c[8]=0;c[9]=-b;c[10]=g;c[11]=0;c[12]=0;c[13]=0;c[14]=0;c[15]=1;return c};a.HS=function(a,c){var b=Math.sin(a),g=Math.cos(a);c[0]=g;c[1]=0;c[2]=-b;c[3]=0;c[4]=0;c[5]=1;c[6]=0;c[7]=0;c[8]=b;c[9]=0;c[10]=g;c[11]=0;c[12]=0;c[13]=0;
  1391. c[14]=0;c[15]=1;return c};a.IS=function(a,c){var b=Math.sin(a),g=Math.cos(a);c[0]=g;c[1]=b;c[2]=0;c[3]=0;c[4]=-b;c[5]=g;c[6]=0;c[7]=0;c[8]=0;c[9]=0;c[10]=1;c[11]=0;c[12]=0;c[13]=0;c[14]=0;c[15]=1;return c};a.fromRotationTranslation=function(a,c,b){var g=a[0],p=a[1],q=a[2],e=a[3],u=g+g,n=p+p,t=q+q;a=g*u;var m=g*n,g=g*t,k=p*n,p=p*t,q=q*t,u=e*u,n=e*n,e=e*t;b[0]=1-(k+q);b[1]=m+e;b[2]=g-n;b[3]=0;b[4]=m-e;b[5]=1-(a+q);b[6]=p+u;b[7]=0;b[8]=g+n;b[9]=p-u;b[10]=1-(a+k);b[11]=0;b[12]=c[0];b[13]=c[1];b[14]=c[2];
  1392. b[15]=1;return b};a.ES=function(a,c,b,g){var p=a[0],q=a[1],e=a[2],u=a[3],n=p+p,t=q+q,m=e+e;a=p*n;var k=p*t,p=p*m,d=q*t,q=q*m,e=e*m,n=u*n,t=u*t,u=u*m,m=b[0],y=b[1];b=b[2];g[0]=(1-(d+e))*m;g[1]=(k+u)*m;g[2]=(p-t)*m;g[3]=0;g[4]=(k-u)*y;g[5]=(1-(a+e))*y;g[6]=(q+n)*y;g[7]=0;g[8]=(p+t)*b;g[9]=(q-n)*b;g[10]=(1-(a+d))*b;g[11]=0;g[12]=c[0];g[13]=c[1];g[14]=c[2];g[15]=1;return g};a.FS=function(a,c,b,g,p){var q=a[0],e=a[1],u=a[2],n=a[3],t=q+q,m=e+e,k=u+u;a=q*t;var d=q*m,q=q*k,y=e*m,e=e*k,u=u*k,t=n*t,m=n*m,n=
  1393. n*k,k=b[0],H=b[1];b=b[2];var v=g[0],z=g[1];g=g[2];p[0]=(1-(y+u))*k;p[1]=(d+n)*k;p[2]=(q-m)*k;p[3]=0;p[4]=(d-n)*H;p[5]=(1-(a+u))*H;p[6]=(e+t)*H;p[7]=0;p[8]=(q+m)*b;p[9]=(e-t)*b;p[10]=(1-(a+y))*b;p[11]=0;p[12]=c[0]+v-(p[0]*v+p[4]*z+p[8]*g);p[13]=c[1]+z-(p[1]*v+p[5]*z+p[9]*g);p[14]=c[2]+g-(p[2]*v+p[6]*z+p[10]*g);p[15]=1;return p};a.fromQuat=function(a,c){var b=a[0],g=a[1],p=a[2],q=a[3],e=b+b,u=g+g,n=p+p,b=b*e,t=g*e,g=g*u,m=p*e,k=p*u,p=p*n,e=q*e,u=q*u,q=q*n;c[0]=1-g-p;c[1]=t+q;c[2]=m-u;c[3]=0;c[4]=t-
  1394. q;c[5]=1-b-p;c[6]=k+e;c[7]=0;c[8]=m+u;c[9]=k-e;c[10]=1-b-g;c[11]=0;c[12]=0;c[13]=0;c[14]=0;c[15]=1;return c};a.frustum=function(a,c,b,g,p,q,e){var u=1/(c-a),n=1/(g-b),t=1/(p-q);e[0]=2*p*u;e[1]=0;e[2]=0;e[3]=0;e[4]=0;e[5]=2*p*n;e[6]=0;e[7]=0;e[8]=(c+a)*u;e[9]=(g+b)*n;e[10]=(q+p)*t;e[11]=-1;e[12]=0;e[13]=0;e[14]=q*p*2*t;e[15]=0;return e};a.perspective=function(a,c,b,g,p){a=1/Math.tan(a/2);var q=1/(b-g);p[0]=a/c;p[1]=0;p[2]=0;p[3]=0;p[4]=0;p[5]=a;p[6]=0;p[7]=0;p[8]=0;p[9]=0;p[10]=(g+b)*q;p[11]=-1;p[12]=
  1395. 0;p[13]=0;p[14]=2*g*b*q;p[15]=0;return p};a.CT=function(a,c,b,g){var p=Math.tan(a.upDegrees*Math.PI/180),q=Math.tan(a.downDegrees*Math.PI/180),e=Math.tan(a.leftDegrees*Math.PI/180);a=Math.tan(a.rightDegrees*Math.PI/180);var u=2/(e+a),n=2/(p+q);g[0]=u;g[1]=0;g[2]=0;g[3]=0;g[4]=0;g[5]=n;g[6]=0;g[7]=0;g[8]=-((e-a)*u*.5);g[9]=(p-q)*n*.5;g[10]=b/(c-b);g[11]=-1;g[12]=0;g[13]=0;g[14]=b*c/(c-b);g[15]=0;return g};a.ortho=function(a,c,b,g,p,q,e){var u=1/(a-c),n=1/(b-g),t=1/(p-q);e[0]=-2*u;e[1]=0;e[2]=0;e[3]=
  1396. 0;e[4]=0;e[5]=-2*n;e[6]=0;e[7]=0;e[8]=0;e[9]=0;e[10]=2*t;e[11]=0;e[12]=(a+c)*u;e[13]=(g+b)*n;e[14]=(q+p)*t;e[15]=1;return e};a.lookAt=function(f,c,b,g){var p,q,e,u,n,t,m,k,d=f[0],y=f[1];f=f[2];e=b[0];u=b[1];q=b[2];m=c[0];b=c[1];p=c[2];if(1E-7>Math.abs(d-m)&&1E-7>Math.abs(y-b)&&1E-7>Math.abs(f-p))return a.identity(g);c=d-m;b=y-b;m=f-p;k=1/Math.sqrt(c*c+b*b+m*m);c*=k;b*=k;m*=k;p=u*m-q*b;q=q*c-e*m;e=e*b-u*c;(k=Math.sqrt(p*p+q*q+e*e))?(k=1/k,p*=k,q*=k,e*=k):e=q=p=0;u=b*e-m*q;n=m*p-c*e;t=c*q-b*p;(k=Math.sqrt(u*
  1397. u+n*n+t*t))?(k=1/k,u*=k,n*=k,t*=k):t=n=u=0;g[0]=p;g[1]=u;g[2]=c;g[3]=0;g[4]=q;g[5]=n;g[6]=b;g[7]=0;g[8]=e;g[9]=t;g[10]=m;g[11]=0;g[12]=-(p*d+q*y+e*f);g[13]=-(u*d+n*y+t*f);g[14]=-(c*d+b*y+m*f);g[15]=1;return g};a.str=function(a){return"mat4("+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+", "+a[4]+", "+a[5]+", "+a[6]+", "+a[7]+", "+a[8]+", "+a[9]+", "+a[10]+", "+a[11]+", "+a[12]+", "+a[13]+", "+a[14]+", "+a[15]+")"};a.nL=function(a){return Math.sqrt(Math.pow(a[0],2)+Math.pow(a[1],2)+Math.pow(a[2],2)+Math.pow(a[3],
  1398. 2)+Math.pow(a[4],2)+Math.pow(a[5],2)+Math.pow(a[6],2)+Math.pow(a[7],2)+Math.pow(a[8],2)+Math.pow(a[9],2)+Math.pow(a[10],2)+Math.pow(a[11],2)+Math.pow(a[12],2)+Math.pow(a[13],2)+Math.pow(a[14],2)+Math.pow(a[15],2))}};fdage.module.mat4=fdage.module.__mat4;fdage.module.__md5=function(a){function q(a,e){var p=a[0],n=a[1],t=a[2],m=a[3],p=c(p,n,t,m,e[0],7,-680876936),m=c(m,p,n,t,e[1],12,-389564586),t=c(t,m,p,n,e[2],17,606105819),n=c(n,t,m,p,e[3],22,-1044525330),p=c(p,n,t,m,e[4],7,-176418897),m=c(m,p,n,t,e[5],12,1200080426),t=c(t,m,p,n,e[6],17,-1473231341),n=c(n,t,m,p,e[7],22,-45705983),p=c(p,n,t,m,e[8],7,1770035416),m=c(m,p,n,t,e[9],12,-1958414417),t=c(t,m,p,n,e[10],17,-42063),n=c(n,t,m,p,e[11],22,-1990404162),p=c(p,n,t,m,e[12],7,1804603682),m=c(m,p,n,t,
  1399. e[13],12,-40341101),t=c(t,m,p,n,e[14],17,-1502002290),n=c(n,t,m,p,e[15],22,1236535329),p=b(p,n,t,m,e[1],5,-165796510),m=b(m,p,n,t,e[6],9,-1069501632),t=b(t,m,p,n,e[11],14,643717713),n=b(n,t,m,p,e[0],20,-373897302),p=b(p,n,t,m,e[5],5,-701558691),m=b(m,p,n,t,e[10],9,38016083),t=b(t,m,p,n,e[15],14,-660478335),n=b(n,t,m,p,e[4],20,-405537848),p=b(p,n,t,m,e[9],5,568446438),m=b(m,p,n,t,e[14],9,-1019803690),t=b(t,m,p,n,e[3],14,-187363961),n=b(n,t,m,p,e[8],20,1163531501),p=b(p,n,t,m,e[13],5,-1444681467),m=
  1400. b(m,p,n,t,e[2],9,-51403784),t=b(t,m,p,n,e[7],14,1735328473),n=b(n,t,m,p,e[12],20,-1926607734),p=f(n^t^m,p,n,e[5],4,-378558),m=f(p^n^t,m,p,e[8],11,-2022574463),t=f(m^p^n,t,m,e[11],16,1839030562),n=f(t^m^p,n,t,e[14],23,-35309556),p=f(n^t^m,p,n,e[1],4,-1530992060),m=f(p^n^t,m,p,e[4],11,1272893353),t=f(m^p^n,t,m,e[7],16,-155497632),n=f(t^m^p,n,t,e[10],23,-1094730640),p=f(n^t^m,p,n,e[13],4,681279174),m=f(p^n^t,m,p,e[0],11,-358537222),t=f(m^p^n,t,m,e[3],16,-722521979),n=f(t^m^p,n,t,e[6],23,76029189),p=
  1401. f(n^t^m,p,n,e[9],4,-640364487),m=f(p^n^t,m,p,e[12],11,-421815835),t=f(m^p^n,t,m,e[15],16,530742520),n=f(t^m^p,n,t,e[2],23,-995338651),p=g(p,n,t,m,e[0],6,-198630844),m=g(m,p,n,t,e[7],10,1126891415),t=g(t,m,p,n,e[14],15,-1416354905),n=g(n,t,m,p,e[5],21,-57434055),p=g(p,n,t,m,e[12],6,1700485571),m=g(m,p,n,t,e[3],10,-1894986606),t=g(t,m,p,n,e[10],15,-1051523),n=g(n,t,m,p,e[1],21,-2054922799),p=g(p,n,t,m,e[8],6,1873313359),m=g(m,p,n,t,e[15],10,-30611744),t=g(t,m,p,n,e[6],15,-1560198380),n=g(n,t,m,p,e[13],
  1402. 21,1309151649),p=g(p,n,t,m,e[4],6,-145523070),m=g(m,p,n,t,e[11],10,-1120210379),t=g(t,m,p,n,e[2],15,718787259),n=g(n,t,m,p,e[9],21,-343485551);a[0]=p+a[0]&4294967295;a[1]=n+a[1]&4294967295;a[2]=t+a[2]&4294967295;a[3]=m+a[3]&4294967295}function f(a,b,c,f,g,m){b=(b+a&4294967295)+(f+m&4294967295)&4294967295;return(b<<g|b>>>32-g)+c&4294967295}function c(a,b,c,g,p,m,k){return f(b&c|~b&g,a,b,p,m,k)}function b(a,b,c,g,p,m,k){return f(b&g|c&~g,a,b,p,m,k)}function g(a,b,c,g,p,m,k){return f(c^(b|~g),a,b,p,
  1403. m,k)}var p="0123456789abcdef".split("");a.IB=function(a){var b=a,c=b.length;a=[1732584193,-271733879,-1732584194,271733878];var f;for(f=64;f<=b.length;f+=64){for(var g=b.substring(f-64,f),m=[],k=void 0,k=0;64>k;k+=4)m[k>>2]=g.charCodeAt(k)+(g.charCodeAt(k+1)<<8)+(g.charCodeAt(k+2)<<16)+(g.charCodeAt(k+3)<<24);q(a,m)}b=b.substring(f-64);g=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(f=0;f<b.length;f++)g[f>>2]|=b.charCodeAt(f)<<(f%4<<3);g[f>>2]|=128<<(f%4<<3);if(55<f)for(q(a,g),f=0;16>f;f++)g[f]=0;g[14]=8*
  1404. c;q(a,g);for(b=0;b<a.length;b++){c=a[b];f="";for(g=0;4>g;g++)f+=p[c>>8*g+4&15]+p[c>>8*g&15];a[b]=f}return a.join("")}};fdage.module.shader_texts=function(a){a["anchors.glslf"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"include",o:"precision_statement.glslf"},{a:"include",o:"std.glsl"},{a:"txt",b:"GLSL_OUT vec4 GLSL_OUT_FRAG_COLOR ; void main ( ) { GLSL_OUT_FRAG_COLOR = vec4 ( 1.0 ) ; }".split(" ")}]};a["anchors.glslv"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"var",c:"ANCHOR_NUM",b:["0"]},{a:"include",o:"std.glsl"},{a:"txt",b:"uniform vec3 u_position [ ANCHOR_NUM ] ; uniform mat4 u_view_proj_matrix ; uniform vec2 u_texel_size ; GLSL_IN float a_index ; void main ( ) { int c = int ( mod ( a_index , 3.0 ) ) ; int d = int ( a_index / 3.0 ) ; vec2 e ; if ( c == 0 ) { e = vec2 ( - 4.0 * u_texel_size [ 0 ] , - u_texel_size [ 1 ] ) ; } else if ( c == 1 ) { e = vec2 ( 4.0 * u_texel_size [ 0 ] , - u_texel_size [ 1 ] ) ; } else { e = vec2 ( 0.0 , 5.0 * u_texel_size [ 1 ] ) ; } vec4 f = u_view_proj_matrix * vec4 ( u_position [ d ] , 1.0 ) ; f . xy += e * f . w ; gl_Position = f ; }".split(" ")}]};
  1405. a["color_id.glslf"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"var",c:"PRECISION",b:["highp"]},{a:"var",c:"NODES",b:["0"]},{a:"var",c:"USE_TBN_SHADING",b:["0"]},{a:"var",c:"ALPHA",b:["0"]},{a:"var",c:"ALPHA_CLIP",b:["0"]},{a:"var",c:"TEXTURE_COLOR",b:["0"]},{a:"var",c:"SHADOW_USAGE",b:["NO_SHADOWS"]},{a:"var",c:"USE_OUTLINE",b:["0"]},{a:"var",c:"USE_VIEW_TSR",b:["0"]},{a:"var",c:"USE_VIEW_TSR_INVERSE",b:["0"]},{a:"var",c:"USE_MODEL_TSR",b:["0"]},{a:"var",c:"USE_MODEL_TSR_INVERSE",b:["0"]},{a:"var",
  1406. c:"CALC_TBN_SPACE",b:["0"]},{a:"var",c:"CAMERA_TYPE",b:["CAM_TYPE_PERSP"]},{a:"var",c:"USE_POSITION_CLIP",b:["0"]},{a:"var",c:"USE_REFRACTION",b:["0"]},{a:"var",c:"USE_REFRACTION_CORRECTION",b:["0"]},{a:"var",c:"USE_ENVIRONMENT_LIGHT",b:["0"]},{a:"var",c:"TEXTURE_BLEND_TYPE",b:["TEXTURE_BLEND_TYPE_MIX"]},{a:"var",c:"NUM_LIGHTS",b:["0"]},{a:"var",c:"NUM_LAMP_LIGHTS",b:["0"]},{a:"var",c:"SKY_TEXTURE",b:["0"]},{a:"var",c:"SKY_COLOR",b:["0"]},{a:"var",c:"NUM_VALUES",b:["0"]},{a:"var",c:"NUM_RGBS",b:["0"]},
  1407. {a:"var",c:"REFLECTION_TYPE",b:["REFL_NONE"]},{a:"var",c:"POISSON_DISK_NUM",b:["NO_SOFT_SHADOWS"]},{a:"var",c:"USE_DERIVATIVES_EXT",b:["0"]},{a:"cond",d:[{a:"if",g:["USE_DERIVATIVES_EXT"],h:{a:"grp",d:[{a:"extension",b:["GL_OES_standard_derivatives",":","enable"]}]}}]},{a:"include",o:"precision_statement.glslf"},{a:"include",o:"std.glsl"},{a:"cond",d:[{a:"if",g:["NODES","ALPHA",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"include",o:"math.glslv"}]}}]},{a:"cond",d:[{a:"if",g:["NODES","ALPHA",{a:"logical_and_expr",
  1408. i:2}],h:{a:"grp",d:[{a:"txt",b:"uniform float u_time ; uniform float u_environment_energy ;".split(" ")},{a:"cond",d:[{a:"if",g:["NUM_LIGHTS",0,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"uniform vec4 u_light_positions [ NUM_LIGHTS ] ; uniform vec3 u_light_directions [ NUM_LIGHTS ] ; uniform vec4 u_light_color_intensities [ NUM_LIGHTS ] ;".split(" ")}]}}]},{a:"txt",b:["uniform","vec3","u_camera_eye_frag",";"]},{a:"cond",d:[{a:"if",g:["USE_NODE_FRESNEL","USE_NODE_LAYER_WEIGHT",{a:"logical_or_expr",
  1409. i:2},"CAMERA_TYPE","CAM_TYPE_ORTHO",{a:"equal_expr",i:2},{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","vec3","u_camera_direction",";"]}]}}]},{a:"cond",d:[{a:"if",g:["REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2},"USE_VIEW_TSR",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","mat3","u_view_tsr_frag",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_VIEW_TSR_INVERSE"],h:{a:"grp",d:[{a:"txt",b:["uniform","mat3","u_view_tsr_inverse",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_MODEL_TSR"],
  1410. h:{a:"grp",d:[{a:"txt",b:["uniform","mat3","u_model_tsr",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_MODEL_TSR_INVERSE"],h:{a:"grp",d:[{a:"txt",b:["uniform","mat3","u_model_tsr_inverse",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_ENVIRONMENT_LIGHT","SKY_TEXTURE",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","samplerCube","u_sky_texture",";"]}]}},{a:"elif",g:["USE_ENVIRONMENT_LIGHT","SKY_COLOR",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"uniform vec3 u_horizon_color ; uniform vec3 u_zenith_color ;".split(" ")}]}}]}]}},
  1411. {a:"else",h:{a:"grp",d:[{a:"txt",b:["uniform","vec4","u_diffuse_color",";"]},{a:"cond",d:[{a:"if",g:["TEXTURE_COLOR"],h:{a:"grp",d:[{a:"txt",b:"uniform sampler2D u_sampler ; uniform float u_alpha_factor ;".split(" ")}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["USE_OUTLINE",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"txt",b:["uniform","vec3","u_color_id",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_NODE_CURVE_VEC","USE_NODE_CURVE_RGB","USE_NODE_VALTORGB",{a:"logical_or_expr",i:3}],h:{a:"grp",d:[{a:"txt",b:["uniform",
  1412. "sampler2D","u_nodes_texture",";"]}]}}]},{a:"cond",d:[{a:"if",g:["NODES","ALPHA",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","sampler2D","u_plane_reflection",";"]}]}},{a:"elif",g:["REFLECTION_TYPE","REFL_CUBE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","samplerCube","u_cube_reflection",";"]}]}},{a:"elif",g:["REFLECTION_TYPE","REFL_MIRRORMAP",{a:"equal_expr",i:2}],h:{a:"grp",
  1413. d:[{a:"txt",b:["uniform","samplerCube","u_mirrormap",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_NODE_B4W_REFRACTION"],h:{a:"grp",d:[{a:"txt",b:["uniform","sampler2D","u_refractmap",";"]},{a:"cond",d:[{a:"if",g:["USE_REFRACTION","USE_REFRACTION_CORRECTION",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","PRECISION","sampler2D","u_scene_depth",";"]}]}}]}]}}]},{a:"txt",b:"uniform float u_emit ; uniform float u_ambient ; uniform vec4 u_fresnel_params ;".split(" ")},{a:"cond",d:[{a:"if",g:["REFLECTION_TYPE",
  1414. "REFL_MIRRORMAP",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","float","u_mirror_factor",";"]}]}},{a:"elif",g:["REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","vec4","u_refl_plane",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_NODE_LAMP"],h:{a:"grp",d:[{a:"txt",b:"uniform vec3 u_lamp_light_positions [ NUM_LAMP_LIGHTS ] ; uniform vec3 u_lamp_light_directions [ NUM_LAMP_LIGHTS ] ; uniform vec3 u_lamp_light_color_intensities [ NUM_LAMP_LIGHTS ] ;".split(" ")}]}}]},
  1415. {a:"cond",d:[{a:"if",g:["USE_NODE_VALUE"],h:{a:"grp",d:[{a:"txt",b:"uniform float u_node_values [ NUM_VALUES ] ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["USE_NODE_RGB"],h:{a:"grp",d:[{a:"txt",b:"uniform vec3 u_node_rgbs [ NUM_RGBS ] ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["SHADOW_USAGE","SHADOW_MASK_GENERATION",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["POISSON_DISK_NUM","NO_SOFT_SHADOWS",{a:"non_equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","vec4","u_pcf_blur_radii",
  1416. ";"]}]}}]},{a:"txt",b:"uniform vec4 u_csm_center_dists ; uniform GLSL_SMPLR2D_SHDW u_shadow_map0 ; uniform GLSL_SMPLR2D_SHDW u_shadow_map1 ; uniform GLSL_SMPLR2D_SHDW u_shadow_map2 ; uniform GLSL_SMPLR2D_SHDW u_shadow_map3 ; uniform sampler2D u_shadow_mask ;".split(" ")}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["USE_OUTLINE"],h:{a:"grp",d:[{a:"txt",b:["uniform","float","u_outline_intensity",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_NODE_OBJECT_INFO"],h:{a:"grp",d:[{a:"txt",b:["uniform","vec3","u_obj_info",
  1417. ";"]}]}}]},{a:"cond",d:[{a:"if",g:["NODES","ALPHA",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"GLSL_IN vec3 h ; GLSL_IN vec4 i ; GLSL_IN vec3 j ;".split(" ")},{a:"cond",d:[{a:"if",g:["CALC_TBN_SPACE"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec4","k",";"]}]}}]},{a:"cond",d:[{a:"if",g:["REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2},"USE_POSITION_CLIP",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec3","l",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_NODE_B4W_REFRACTION","USE_REFRACTION",
  1418. {a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","float","m",";"]}]}}]},{a:"cond",d:[{a:"if",g:["SHADOW_USAGE","SHADOW_MASK_GENERATION",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"GLSL_IN vec4 n ; GLSL_IN vec4 o ; GLSL_IN vec4 u ; GLSL_IN vec4 v ;".split(" ")}]}}]}]}},{a:"else",h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["TEXTURE_COLOR"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec2","A",";"]}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["USE_TBN_SHADING"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec3",
  1419. "B",";"]}]}}]},{a:"txt",b:["GLSL_OUT","vec4","GLSL_OUT_FRAG_COLOR",";"]},{a:"cond",d:[{a:"if",g:["NODES","ALPHA",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"include",o:"nodes.glslf"}]}}]},{a:"txt",b:["void","main","(",")","{"]},{a:"cond",d:[{a:"if",g:["ALPHA"],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["NODES"],h:{a:"grp",d:[{a:"txt",b:"vec3 C = normalize ( u_camera_eye_frag - h ) ; vec3 D ; vec3 E ; vec3 F ; vec4 G ; float H ; I ( C , D , E , F , G , H ) ; float J = H ;".split(" ")}]}},{a:"else",h:{a:"grp",
  1420. d:[{a:"cond",d:[{a:"if",g:["TEXTURE_COLOR"],h:{a:"grp",d:[{a:"txt",b:"float J = ( GLSL_TEXTURE ( u_sampler , A ) ) . a ;".split(" ")},{a:"cond",d:[{a:"if",g:["TEXTURE_BLEND_TYPE","TEXTURE_BLEND_TYPE_MIX",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"float L = u_alpha_factor * J ; L += ( 1.0 - step ( 0.0 , L ) ) ; J = mix ( L , 1.0 , u_diffuse_color . a ) ;".split(" ")}]}}]}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"float J = u_diffuse_color . a ;".split(" ")}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["ALPHA_CLIP"],
  1421. h:{a:"grp",d:[{a:"txt",b:"if ( J < 0.5 ) discard ; J = 1.0 ;".split(" ")}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["USE_OUTLINE"],h:{a:"grp",d:[{a:"txt",b:"GLSL_OUT_FRAG_COLOR = vec4 ( 1.0 , 1.0 , 1.0 , u_outline_intensity ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"GLSL_OUT_FRAG_COLOR = vec4 ( u_color_id , 1.0 ) ;".split(" ")}]}}]},{a:"txt",b:["}"]}]};a["color_id.glslv"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"var",c:"PRECISION",b:["highp"]},{a:"var",c:"NODES",b:["0"]},{a:"var",c:"CAUSTICS",
  1422. b:["0"]},{a:"var",c:"CALC_TBN_SPACE",b:["0"]},{a:"var",c:"MAIN_BEND_COL",b:["0"]},{a:"var",c:"DETAIL_BEND",b:["0"]},{a:"var",c:"CALC_TBN",b:["0"]},{a:"var",c:"USE_TBN_SHADING",b:["0"]},{a:"var",c:"USE_POSITION_CLIP",b:["0"]},{a:"var",c:"ALPHA",b:["0"]},{a:"var",c:"TEXTURE_COLOR",b:["0"]},{a:"var",c:"AU_QUALIFIER",b:["GLSL_IN"]},{a:"var",c:"STATIC_BATCH",b:["0"]},{a:"var",c:"WIND_BEND",b:["0"]},{a:"var",c:"BEND_CENTER_ONLY",b:["0"]},{a:"var",c:"BILLBOARD_PRES_GLOB_ORIENTATION",b:["0"]},{a:"var",c:"BILLBOARD",
  1423. b:["0"]},{a:"var",c:"BILLBOARD_JITTERED",b:["0"]},{a:"var",c:"DYNAMIC_GRASS",b:["0"]},{a:"var",c:"SKINNED",b:["0"]},{a:"var",c:"FRAMES_BLENDING",b:["0"]},{a:"var",c:"VERTEX_ANIM",b:["0"]},{a:"var",c:"SMAA_JITTER",b:["0"]},{a:"var",c:"VERTEX_ANIM_MIX_NORMALS_FACTOR",b:["u_va_frame_factor"]},{a:"var",c:"MAX_BONES",b:["0"]},{a:"var",c:"REFLECTION_TYPE",b:["REFL_NONE"]},{a:"var",c:"REFRACTIVE",b:["0"]},{a:"include",o:"std.glsl"},{a:"include",o:"math.glslv"},{a:"include",o:"to_world.glslv"},{a:"include",
  1424. o:"scale_texcoord.glslv"},{a:"cond",d:[{a:"if",g:["STATIC_BATCH"],h:{a:"grp",d:[{a:"txt",b:"const mat3 u_model_tsr = mat3 ( 0.0 , 0.0 , 0.0 , 1.0 , 0.0 , 0.0 , 0.0 , 1.0 , 0.0 ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:["uniform","mat3","u_model_tsr",";"]}]}}]},{a:"txt",b:"uniform mat3 u_view_tsr ; uniform mat4 u_proj_matrix ;".split(" ")},{a:"cond",d:[{a:"if",g:["BILLBOARD","DYNAMIC_GRASS",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","vec3","u_camera_eye",";"]}]}}]},
  1425. {a:"cond",d:[{a:"if",g:["NODES","ALPHA",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["SMAA_JITTER"],h:{a:"grp",d:[{a:"txt",b:["uniform","vec2","u_subpixel_jitter",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_NODE_B4W_REFRACTION"],h:{a:"grp",d:[{a:"txt",b:["uniform","PRECISION","float","u_view_max_depth",";"]}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["SKINNED"],h:{a:"grp",d:[{a:"txt",b:"uniform vec4 u_quatsb [ MAX_BONES ] ; uniform vec4 u_transb [ MAX_BONES ] ; uniform vec4 u_arm_rel_trans ; uniform vec4 u_arm_rel_quat ;".split(" ")},
  1426. {a:"cond",d:[{a:"if",g:["FRAMES_BLENDING"],h:{a:"grp",d:[{a:"txt",b:"uniform vec4 u_quatsa [ MAX_BONES ] ; uniform vec4 u_transa [ MAX_BONES ] ; uniform float u_frame_factor ;".split(" ")}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["WIND_BEND"],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["BILLBOARD_JITTERED"],h:{a:"grp",d:[{a:"txt",b:"uniform float u_jitter_amp ; uniform float u_jitter_freq ;".split(" ")}]}}]},{a:"txt",b:"uniform vec3 u_wind ; uniform PRECISION float u_time ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",
  1427. g:["VERTEX_ANIM"],h:{a:"grp",d:[{a:"txt",b:["uniform","float","u_va_frame_factor",";"]}]}}]},{a:"cond",d:[{a:"if",g:["TEXTURE_COLOR"],h:{a:"grp",d:[{a:"txt",b:["uniform","vec3","u_texture_scale",";"]}]}}]},{a:"txt",b:"GLSL_IN vec3 a_position ; GLSL_IN vec4 a_tbn_quat ;".split(" ")},{a:"cond",d:[{a:"if",g:["NODES","ALPHA",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["USE_TBN_SHADING"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec3","a_shade_tangs",";"]}]}}]}]}}]},{a:"cond",d:[{a:"if",
  1428. g:["SKINNED"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec4","a_influence",";"]}]}}]},{a:"cond",d:[{a:"if",g:["WIND_BEND"],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["MAIN_BEND_COL"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","float","a_bending_col_main",";"]},{a:"cond",d:[{a:"if",g:["DETAIL_BEND"],h:{a:"grp",d:[{a:"txt",b:"GLSL_IN vec3 a_bending_col_detail ; AU_QUALIFIER float au_detail_bending_amp ; AU_QUALIFIER float au_branch_bending_amp ; AU_QUALIFIER float au_detail_bending_freq ;".split(" ")}]}}]}]}}]},{a:"txt",
  1429. b:"AU_QUALIFIER float au_wind_bending_amp ; AU_QUALIFIER float au_wind_bending_freq ;".split(" ")},{a:"cond",d:[{a:"if",g:["BEND_CENTER_ONLY"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec3","a_emitter_center",";"]}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["WIND_BEND","BILLBOARD",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["AU_QUALIFIER","vec3","au_center_pos",";"]}]}}]},{a:"cond",d:[{a:"if",g:["VERTEX_ANIM"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec3","a_position_next",";"]},{a:"cond",d:[{a:"if",g:["NODES",
  1430. "ALPHA",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["USE_NODE_MATERIAL_BEGIN","USE_NODE_GEOMETRY_NO","USE_NODE_NORMAL_MAP","CAUSTICS","CALC_TBN_SPACE",{a:"logical_or_expr",i:5}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec4","a_tbn_quat_next",";"]}]}}]}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["TEXTURE_COLOR"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec2","a_texcoord",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_TBN_SHADING"],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec3","B",";"]}]}}]},{a:"cond",
  1431. d:[{a:"if",g:["NODES","ALPHA",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"GLSL_OUT vec3 h ; GLSL_OUT vec4 i ; GLSL_OUT vec3 j ;".split(" ")},{a:"cond",d:[{a:"if",g:["CALC_TBN_SPACE"],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec4","k",";"]}]}}]},{a:"cond",d:[{a:"if",g:["REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2},"USE_POSITION_CLIP",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec3","l",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_NODE_B4W_REFRACTION","REFRACTIVE",{a:"logical_and_expr",
  1432. i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","float","m",";"]}]}}]}]}},{a:"else",h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["TEXTURE_COLOR"],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec2","A",";"]}]}}]}]}}]},{a:"include",o:"skin.glslv"},{a:"include",o:"wind_bending.glslv"},{a:"cond",d:[{a:"if",g:["NODES","ALPHA",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"include",o:"nodes.glslv"}]}}]},{a:"txt",b:"void main ( ) { mat3 M = u_view_tsr ; vec3 N = a_position ;".split(" ")},{a:"cond",d:[{a:"if",g:["NODES","ALPHA",
  1433. "CALC_TBN_SPACE","USE_NODE_MATERIAL_BEGIN","USE_NODE_NORMAL_MAP","USE_NODE_GEOMETRY_NO","CAUSTICS","WIND_BEND","MAIN_BEND_COL","DETAIL_BEND",{a:"logical_and_expr",i:3},{a:"logical_or_expr",i:6},{a:"logical_and_expr",i:3},"USE_TBN_SHADING","CALC_TBN",{a:"logical_and_expr",i:2},"USE_NODE_BSDF_BEGIN","USE_NODE_FRESNEL","USE_NODE_TEX_COORD_NO","USE_NODE_LAYER_WEIGHT","USE_NODE_BUMP",{a:"logical_or_expr",i:7}],h:{a:"grp",d:[{a:"txt",b:"vec3 P = O ( a_tbn_quat , vec3 ( 0.0 , 1.0 , 0.0 ) ) ;".split(" ")},
  1434. {a:"cond",d:[{a:"if",g:["CALC_TBN_SPACE"],h:{a:"grp",d:[{a:"txt",b:"vec3 Q = O ( a_tbn_quat , vec3 ( 1.0 , 0.0 , 0.0 ) ) ; vec3 R = sign ( a_tbn_quat [ 3 ] ) * cross ( P , Q ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"vec3 Q = vec3 ( 0.0 ) ; vec3 R = vec3 ( 0.0 ) ;".split(" ")}]}}]}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"vec3 P = vec3 ( 0.0 ) ; vec3 Q = vec3 ( 0.0 ) ; vec3 R = vec3 ( 0.0 ) ;".split(" ")}]}}]},{a:"txt",b:["mat3","S","=","u_model_tsr",";"]},{a:"cond",d:[{a:"if",g:["USE_TBN_SHADING"],
  1435. h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["CALC_TBN"],h:{a:"grp",d:[{a:"txt",b:"vec3 U = normalize ( T ( u_model_tsr , P ) ) ; vec3 V = cross ( vec3 ( 0.0 , 0.0 , 1.0 ) , U ) ; vec3 W = cross ( U , V ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:["vec3","W","=","a_shade_tangs",";"]}]}}]}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"vec3 W = vec3 ( 0.0 ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["VERTEX_ANIM"],h:{a:"grp",d:[{a:"txt",b:"N = mix ( N , a_position_next , u_va_frame_factor ) ;".split(" ")},
  1436. {a:"cond",d:[{a:"if",g:["NODES","ALPHA",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["USE_NODE_MATERIAL_BEGIN","USE_NODE_GEOMETRY_NO","USE_NODE_NORMAL_MAP","CAUSTICS","CALC_TBN_SPACE",{a:"logical_or_expr",i:5}],h:{a:"grp",d:[{a:"txt",b:"vec3 X = O ( a_tbn_quat_next , vec3 ( 0.0 , 1.0 , 0.0 ) ) ; P = mix ( P , X , VERTEX_ANIM_MIX_NORMALS_FACTOR ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["CALC_TBN_SPACE"],h:{a:"grp",d:[{a:"txt",b:"vec3 Y = O ( a_tbn_quat_next , vec3 ( 1.0 , 0.0 , 0.0 ) ) ; vec3 Z = sign ( a_tbn_quat_next [ 3 ] ) * cross ( X , Y ) ; Q = mix ( Q , Y , u_va_frame_factor ) ; R = mix ( R , Z , u_va_frame_factor ) ;".split(" ")}]}}]}]}}]}]}}]},
  1437. {a:"cond",d:[{a:"if",g:["SKINNED"],h:{a:"grp",d:[{a:"txt",b:"_(N,Q,R,P);".split("")}]}}]},{a:"cond",d:[{a:"if",g:["WIND_BEND","BILLBOARD",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["vec3","ac","=","au_center_pos",";"]}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"vec3 ac = vec3 ( 0.0 ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["BILLBOARD"],h:{a:"grp",d:[{a:"txt",b:"vec3 ae = ad ( S , ac ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["BILLBOARD_PRES_GLOB_ORIENTATION","STATIC_BATCH",{a:"logic_negative_expr",
  1438. i:1},{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"S = af ( u_camera_eye , ae , M , S ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"S = ah ( u_camera_eye , ae , M ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["WIND_BEND","BILLBOARD_JITTERED",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"S = ai ( u_wind , u_time , u_jitter_amp , u_jitter_freq , ae , S ) ;".split(" ")}]}}]},{a:"txt",b:"aj al = ak ( N - ac , ac , vec3 ( 0.0 ) , W , vec3 ( 0.0 ) , vec3 ( 0.0 ) , S ) ; al . ac = ae ;".split(" ")}]}},
  1439. {a:"else",h:{a:"grp",d:[{a:"txt",b:"aj al = ak ( N , ac , vec3 ( 0.0 ) , W , vec3 ( 0.0 ) , vec3 ( 0.0 ) , S ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["WIND_BEND"],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["NODES","ALPHA",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"am ( al . N , al . ac , P , mat4 ( 0.0 ) ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["MAIN_BEND_COL","DETAIL_BEND",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec3 an = O ( a_tbn_quat , vec3 ( 0.0 , 1.0 , 0.0 ) ) ;".split(" ")}]}},
  1440. {a:"else",h:{a:"grp",d:[{a:"txt",b:"vec3 an = vec3 ( 0.0 ) ;".split(" ")}]}}]},{a:"txt",b:"am ( al . N , al . ac , an , mat4 ( 0.0 ) ) ;".split(" ")}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["NODES","ALPHA",{a:"logical_and_expr",i:2},{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["TEXTURE_COLOR"],h:{a:"grp",d:[{a:"txt",b:"A = ao ( a_texcoord , u_texture_scale ) ;".split(" ")}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["NODES","ALPHA",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"h = al . N ;".split(" ")},
  1441. {a:"cond",d:[{a:"if",g:["USE_NODE_MATERIAL_BEGIN","USE_NODE_GEOMETRY_NO","USE_NODE_NORMAL_MAP","CAUSTICS","CALC_TBN_SPACE","WIND_BEND","MAIN_BEND_COL","DETAIL_BEND",{a:"logical_and_expr",i:3},"USE_NODE_TEX_COORD_NO","USE_NODE_BSDF_BEGIN","USE_NODE_FRESNEL","USE_NODE_TEX_COORD_RE","USE_NODE_LAYER_WEIGHT","USE_NODE_BUMP",{a:"logical_or_expr",i:12}],h:{a:"grp",d:[{a:"txt",b:"j = al . P ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["CALC_TBN_SPACE"],h:{a:"grp",d:[{a:"txt",b:"float ap = ( dot ( cross ( al . P , al . Q ) , al . R ) < 0.0 ) ? - 1.0 : 1.0 ; k = vec4 ( al . Q , ap ) ;".split(" ")}]}}]},
  1442. {a:"cond",d:[{a:"if",g:["USE_TBN_SHADING"],h:{a:"grp",d:[{a:"txt",b:"B = al . aq ;".split(" ")}]}}]},{a:"txt",b:"i = vec4 ( ad ( M , al . N ) , 1.0 ) ; vec4 f = u_proj_matrix * i ;".split(" ")},{a:"cond",d:[{a:"if",g:["SMAA_JITTER"],h:{a:"grp",d:[{a:"txt",b:"f . xy += u_subpixel_jitter * f . w ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2},"USE_POSITION_CLIP",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"l = as ( f ) ;".split(" ")}]}}]},{a:"cond",
  1443. d:[{a:"if",g:["USE_NODE_B4W_REFRACTION","REFRACTIVE",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"m = - i . z / u_view_max_depth ;".split(" ")}]}}]},{a:"txt",b:["I","(",")",";"]}]}}]},{a:"txt",b:"gl_Position = u_proj_matrix * vec4 ( ad ( M , al . N ) , 1.0 ) ; }".split(" ")}]};a["debug_view.glslf"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"var",c:"DEBUG_SPHERE",b:["0"]},{a:"var",c:"WIREFRAME_QUALITY",b:["0"]},{a:"var",c:"ALPHA",b:["0"]},{a:"var",c:"DEBUG_SPHERE_DYNAMIC",b:["0"]},{a:"include",
  1444. o:"precision_statement.glslf"},{a:"include",o:"std.glsl"},{a:"include",o:"color_util.glslf"},{a:"cond",d:[{a:"if",g:["DEBUG_SPHERE",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"txt",b:"uniform int u_debug_view_mode ; uniform float u_cluster_id ; uniform float u_batch_debug_id_color ; uniform float u_batch_debug_main_render_time ; uniform float u_debug_colors_seed ; uniform float u_debug_render_time_threshold ; uniform vec3 u_wireframe_edge_color ;".split(" ")}]}}]},{a:"txt",b:"GLSL_IN vec3 at ; GLSL_OUT vec4 GLSL_OUT_FRAG_COLOR ; const float au = 1.0 ;".split(" ")},
  1445. {a:"cond",d:[{a:"if",g:["DEBUG_SPHERE"],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["DEBUG_SPHERE_DYNAMIC"],h:{a:"grp",d:[{a:"txt",b:"const vec3 av = vec3 ( 1.0 , 0.05 , 0.05 ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"const vec3 av = vec3 ( 0.05 , 0.05 , 1.0 ) ;".split(" ")}]}}]}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"const vec3 aw = vec3 ( 0.4 , 0.4 , 1.0 ) ; const vec3 ax = vec3 ( 1.0 , 0.4 , 0.4 ) ; const vec3 ay = vec3 ( 1.0 , 1.0 , 1.0 ) ; const vec3 az = vec3 ( 0.0 , 133.0 / 255.0 , 66.0 / 255.0 ) ; const vec3 aA = vec3 ( 160.0 / 255.0 , 38.0 / 255.0 , 33.0 / 255.0 ) ;".split(" ")}]}}]},
  1446. {a:"cond",d:[{a:"if",g:["DEBUG_SPHERE",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"txt",b:"float aF ( ) { float aB = 1.0 ;".split(" ")},{a:"cond",d:[{a:"if",g:["WIREFRAME_QUALITY",0,{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec3 aC = sign ( at - vec3 ( 0.02 * au ) ) ; if ( aC . x < 0.0 || aC . y < 0.0 || aC . z < 0.0 ) aB = 0.0 ;".split(" ")}]}},{a:"elif",g:["WIREFRAME_QUALITY",1,{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["GLSL1"],h:{a:"grp",d:[{a:"extension",b:["GL_OES_standard_derivatives",
  1447. ":","enable"]}]}}]},{a:"txt",b:"vec3 aD = fwidth ( at ) ; vec3 aE = smoothstep ( vec3 ( 0.0 ) , aD * au , at ) ; aB = min ( min ( aE . x , aE . y ) , aE . z ) ; aB = clamp ( aB , 0.0 , 1.0 ) ;".split(" ")}]}}]},{a:"txt",b:["return","aB",";","}"]}]}}]},{a:"txt",b:"void main ( ) { vec3 aG = vec3 ( 0.0 ) ; float J = 0.0 ;".split(" ")},{a:"cond",d:[{a:"if",g:["DEBUG_SPHERE"],h:{a:"grp",d:[{a:"txt",b:"vec3 aC = sign ( at - vec3 ( 0.02 * au ) ) ; if ( aC . x < 0.0 || aC . y < 0.0 || aC . z < 0.0 ) { aG = av ; J = 1.0 ; } else discard ;".split(" ")}]}},
  1448. {a:"else",h:{a:"grp",d:[{a:"txt",b:"if ( u_debug_view_mode == DV_OPAQUE_WIREFRAME ) { float aB = aF ( ) ; aG = vec3 ( mix ( u_wireframe_edge_color , ay , aB ) ) ; J = 1.0 ; } else if ( u_debug_view_mode == DV_TRANSPARENT_WIREFRAME ) { float aB = aF ( ) ; aG = u_wireframe_edge_color ; J = mix ( 1.0 , 0.0 , aB ) ; } else if ( u_debug_view_mode == DV_FRONT_BACK_VIEW ) { float aB = aF ( ) ; if ( gl_FrontFacing ) aG = mix ( u_wireframe_edge_color , aw , aB ) ; else aG = mix ( u_wireframe_edge_color , ax , aB ) ; J = 1.0 ; } else if ( u_debug_view_mode == DV_CLUSTERS_VIEW ) { float aH = u_cluster_id + u_debug_colors_seed + 2.0 ; aG = vec3 ( fract ( aH * 19.73 ) , fract ( aH * 6.34 ) , fract ( aH * 1.56 ) ) ; J = 1.0 ; } else if ( u_debug_view_mode == DV_BATCHES_VIEW ) { float aH = u_batch_debug_id_color + u_debug_colors_seed ; aG = vec3 ( fract ( aH * 19.73 ) , fract ( aH * 6.34 ) , fract ( aH * 1.56 ) ) ; J = 1.0 ; } else if ( u_debug_view_mode == DV_RENDER_TIME ) { float aI ; if ( u_debug_render_time_threshold > 0.0 ) aI = clamp ( u_batch_debug_main_render_time , 0.0 , u_debug_render_time_threshold ) / u_debug_render_time_threshold ; else aI = 1.0 ; float aJ = clamp ( 2.0 * aI , 0.0 , 1.0 ) ; float aK = clamp ( 2.0 * aI - 1.0 , 0.0 , 1.0 ) ; float aL = aI ; aG = mix ( az , aA , vec3 ( aJ , aK , aL ) ) ; J = 1.0 ; }".split(" ")}]}}]},
  1449. {a:"txt",b:["aM","(","aG",")",";"]},{a:"cond",d:[{a:"if",g:["ALPHA"],h:{a:"grp",d:[{a:"txt",b:"aN ( aG , J ) ;".split(" ")}]}}]},{a:"txt",b:"GLSL_OUT_FRAG_COLOR = vec4 ( aG , J ) ; }".split(" ")}]};a["debug_view.glslv"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"var",c:"PRECISION",b:["highp"]},{a:"var",c:"USE_INSTANCED_PARTCLS",b:["0"]},{a:"var",c:"DEBUG_VIEW_SPECIAL_SKYDOME",b:["0"]},{a:"var",c:"DEBUG_SPHERE",b:["0"]},{a:"var",c:"WIND_BEND",b:["0"]},{a:"var",c:"DYNAMIC_GRASS",b:["0"]},{a:"var",
  1450. c:"BILLBOARD",b:["0"]},{a:"var",c:"VERTEX_ANIM",b:["0"]},{a:"var",c:"SKINNED",b:["0"]},{a:"var",c:"STATIC_BATCH",b:["0"]},{a:"var",c:"AU_QUALIFIER",b:["GLSL_IN"]},{a:"var",c:"BEND_CENTER_ONLY",b:["0"]},{a:"var",c:"FRAMES_BLENDING",b:["0"]},{a:"var",c:"MAIN_BEND_COL",b:["0"]},{a:"var",c:"MAX_BONES",b:["0"]},{a:"var",c:"DETAIL_BEND",b:["0"]},{a:"var",c:"BILLBOARD_JITTERED",b:["0"]},{a:"var",c:"BILLBOARD_PRES_GLOB_ORIENTATION",b:["0"]},{a:"include",o:"std.glsl"},{a:"include",o:"math.glslv"},{a:"include",
  1451. o:"to_world.glslv"},{a:"txt",b:"GLSL_IN vec3 a_position ; GLSL_IN vec4 a_tbn_quat ; GLSL_IN float a_polyindex ;".split(" ")},{a:"cond",d:[{a:"if",g:["USE_INSTANCED_PARTCLS"],h:{a:"grp",d:[{a:"txt",b:"GLSL_IN vec4 a_part_ts ; GLSL_IN vec4 a_part_r ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["DEBUG_SPHERE",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["WIND_BEND"],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["MAIN_BEND_COL"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","float","a_bending_col_main",
  1452. ";"]},{a:"cond",d:[{a:"if",g:["DETAIL_BEND"],h:{a:"grp",d:[{a:"txt",b:"GLSL_IN vec3 a_bending_col_detail ; AU_QUALIFIER float au_detail_bending_amp ; AU_QUALIFIER float au_branch_bending_amp ; AU_QUALIFIER float au_detail_bending_freq ;".split(" ")}]}}]}]}}]},{a:"txt",b:"AU_QUALIFIER float au_wind_bending_amp ; AU_QUALIFIER float au_wind_bending_freq ;".split(" ")},{a:"cond",d:[{a:"if",g:["BEND_CENTER_ONLY"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec3","a_emitter_center",";"]}]}}]}]}}]},{a:"cond",d:[{a:"if",
  1453. g:["WIND_BEND","DYNAMIC_GRASS","BILLBOARD",{a:"logical_or_expr",i:3},"USE_INSTANCED_PARTCLS",{a:"logic_negative_expr",i:1},{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["AU_QUALIFIER","vec3","au_center_pos",";"]}]}}]},{a:"cond",d:[{a:"if",g:["VERTEX_ANIM"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec3","a_position_next",";"]}]}}]},{a:"cond",d:[{a:"if",g:["SKINNED"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec4","a_influence",";"]}]}}]}]}}]},{a:"txt",b:["GLSL_OUT","vec3","at",";"]},{a:"cond",d:[{a:"if",
  1454. g:["STATIC_BATCH"],h:{a:"grp",d:[{a:"txt",b:"const mat3 u_model_tsr = mat3 ( 0.0 , 0.0 , 0.0 , 1.0 , 0.0 , 0.0 , 0.0 , 1.0 , 0.0 ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:["uniform","mat3","u_model_tsr",";"]}]}}]},{a:"txt",b:"uniform mat3 u_view_tsr ; uniform mat4 u_proj_matrix ;".split(" ")},{a:"cond",d:[{a:"if",g:["DEBUG_SPHERE",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["WIND_BEND"],h:{a:"grp",d:[{a:"txt",b:"uniform vec3 u_wind ; uniform PRECISION float u_time ;".split(" ")},
  1455. {a:"cond",d:[{a:"if",g:["BILLBOARD","BILLBOARD_JITTERED",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"uniform float u_jitter_amp ; uniform float u_jitter_freq ;".split(" ")}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["DYNAMIC_GRASS","BILLBOARD",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","vec3","u_camera_eye",";"]}]}}]},{a:"cond",d:[{a:"if",g:["VERTEX_ANIM"],h:{a:"grp",d:[{a:"txt",b:["uniform","float","u_va_frame_factor",";"]}]}}]},{a:"cond",d:[{a:"if",g:["SKINNED"],h:{a:"grp",
  1456. d:[{a:"txt",b:"uniform vec4 u_quatsb [ MAX_BONES ] ; uniform vec4 u_transb [ MAX_BONES ] ; uniform vec4 u_arm_rel_trans ; uniform vec4 u_arm_rel_quat ;".split(" ")},{a:"cond",d:[{a:"if",g:["FRAMES_BLENDING"],h:{a:"grp",d:[{a:"txt",b:"uniform vec4 u_quatsa [ MAX_BONES ] ; uniform vec4 u_transa [ MAX_BONES ] ; uniform float u_frame_factor ;".split(" ")}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["DYNAMIC_GRASS"],h:{a:"grp",d:[{a:"txt",b:"uniform PRECISION sampler2D u_grass_map_depth ; uniform sampler2D u_grass_map_color ; uniform vec4 u_camera_quat ; uniform vec3 u_grass_map_dim ; uniform float u_grass_size ; uniform float u_scale_threshold ;".split(" ")}]}}]}]}}]},
  1457. {a:"cond",d:[{a:"if",g:["DEBUG_SPHERE",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"include",o:"skin.glslv"},{a:"include",o:"wind_bending.glslv"},{a:"include",o:"dynamic_grass.glslv"}]}}]},{a:"txt",b:"void main ( ) { if ( a_polyindex == 0.0 ) at = vec3 ( 1.0 , 0.0 , 0.0 ) ; else if ( a_polyindex == 1.0 ) at = vec3 ( 0.0 , 0.0 , 1.0 ) ; else at = vec3 ( 0.0 , 1.0 , 0.0 ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["DEBUG_VIEW_SPECIAL_SKYDOME"],h:{a:"grp",d:[{a:"txt",b:"gl_Position = vec4 ( a_position . xy , 0.9999999 , 1.0 ) ;".split(" ")}]}},
  1458. {a:"else",h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["USE_INSTANCED_PARTCLS"],h:{a:"grp",d:[{a:"txt",b:"mat3 S = mat3 ( a_part_ts [ 0 ] , a_part_ts [ 1 ] , a_part_ts [ 2 ] , a_part_ts [ 3 ] , a_part_r [ 0 ] , a_part_r [ 1 ] , a_part_r [ 2 ] , a_part_r [ 3 ] , 1.0 ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["STATIC_BATCH",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"txt",b:"S = aO ( u_model_tsr , S ) ;".split(" ")}]}}]}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:["mat3","S","=","u_model_tsr",";"]}]}}]},{a:"txt",
  1459. b:"mat3 M = u_view_tsr ; vec3 N = a_position ; vec3 P = O ( a_tbn_quat , vec3 ( 0.0 , 1.0 , 0.0 ) ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["DEBUG_SPHERE"],h:{a:"grp",d:[{a:"txt",b:"aj al = ak ( N , vec3 ( 0.0 ) , vec3 ( 0.0 ) , vec3 ( 0.0 ) , vec3 ( 0.0 ) , vec3 ( 0.0 ) , S ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["VERTEX_ANIM"],h:{a:"grp",d:[{a:"txt",b:"N = mix ( N , a_position_next , u_va_frame_factor ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["SKINNED"],h:{a:"grp",
  1460. d:[{a:"txt",b:"vec3 Q = vec3 ( 0.0 ) ; vec3 R = vec3 ( 0.0 ) ; _ ( N , Q , R , P ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["WIND_BEND","DYNAMIC_GRASS","BILLBOARD",{a:"logical_or_expr",i:3},"USE_INSTANCED_PARTCLS",{a:"logic_negative_expr",i:1},{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["vec3","ac","=","au_center_pos",";"]}]}},{a:"elif",g:["DYNAMIC_GRASS","USE_INSTANCED_PARTCLS",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec3 ac = a_part_ts . xyz ; N = ad ( S , N ) ;".split(" ")}]}},
  1461. {a:"else",h:{a:"grp",d:[{a:"txt",b:"vec3 ac = vec3 ( 0.0 ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["DYNAMIC_GRASS"],h:{a:"grp",d:[{a:"txt",b:"aj al = aP ( N , vec3 ( 0.0 ) , vec3 ( 0.0 ) , vec3 ( 0.0 ) , vec3 ( 0.0 ) , ac , u_grass_map_depth , u_grass_map_color , u_grass_map_dim , u_grass_size , u_camera_eye , u_camera_quat , M ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["BILLBOARD"],h:{a:"grp",d:[{a:"txt",b:"vec3 ae = ad ( S , ac ) ;".split(" ")},{a:"cond",d:[{a:"if",
  1462. g:["BILLBOARD_PRES_GLOB_ORIENTATION","STATIC_BATCH",{a:"logic_negative_expr",i:1},{a:"logical_and_expr",i:2},"USE_INSTANCED_PARTCLS",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"S = af ( u_camera_eye , ae , M , S ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"S = ah ( u_camera_eye , ae , M ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["WIND_BEND","BILLBOARD_JITTERED",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec3 aQ = ae ; S = ai ( u_wind , u_time , u_jitter_amp , u_jitter_freq , aQ , S ) ;".split(" ")}]}}]},
  1463. {a:"txt",b:"aj al = ak ( N - ac , ac , vec3 ( 0.0 ) , vec3 ( 0.0 ) , vec3 ( 0.0 ) , vec3 ( 0.0 ) , S ) ; al . ac = ae ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"aj al = ak ( N , ac , vec3 ( 0.0 ) , vec3 ( 0.0 ) , vec3 ( 0.0 ) , vec3 ( 0.0 ) , S ) ;".split(" ")}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["WIND_BEND"],h:{a:"grp",d:[{a:"txt",b:"am ( al . N , al . ac , P , mat4 ( 0.0 ) ) ;".split(" ")}]}}]}]}}]},{a:"txt",b:"gl_Position = u_proj_matrix * vec4 ( ad ( M , al . N ) , 1.0 ) ;".split(" ")}]}}]},
  1464. {a:"txt",b:["}"]}]};a["error.glslf"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"include",o:"precision_statement.glslf"},{a:"include",o:"std.glsl"},{a:"txt",b:"GLSL_OUT vec4 GLSL_OUT_FRAG_COLOR ; void main ( ) { GLSL_OUT_FRAG_COLOR = vec4 ( 1.0 , 0.0 , 1.0 , 1.0 ) ; }".split(" ")}]};a["error.glslv"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"include",o:"std.glsl"},{a:"include",o:"math.glslv"},{a:"txt",b:"GLSL_IN vec3 a_position ; uniform mat3 u_view_tsr ; uniform mat4 u_proj_matrix ; void main ( ) { gl_Position = u_proj_matrix * aR ( u_view_tsr ) * vec4 ( a_position , 1.0 ) ; }".split(" ")}]};
  1465. a["grass_map.glslf"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"var",c:"DYNAMIC_GRASS_SIZE",b:["0"]},{a:"var",c:"DYNAMIC_GRASS_COLOR",b:["0"]},{a:"include",o:"precision_statement.glslf"},{a:"include",o:"std.glsl"},{a:"cond",d:[{a:"if",g:["DYNAMIC_GRASS_SIZE"],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["DYNAMIC_GRASS_COLOR"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec4","aS",";"]}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","float","aS",";"]}]}}]}]}},{a:"else",h:{a:"grp",d:[{a:"cond",d:[{a:"if",
  1466. g:["DYNAMIC_GRASS_COLOR"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec3","aS",";"]}]}}]}]}}]},{a:"txt",b:"GLSL_OUT vec4 GLSL_OUT_FRAG_COLOR ; void main ( ) {".split(" ")},{a:"cond",d:[{a:"if",g:["DYNAMIC_GRASS_SIZE"],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["DYNAMIC_GRASS_COLOR"],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT_FRAG_COLOR","=","aS",";"]}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"GLSL_OUT_FRAG_COLOR = vec4 ( aS , vec3 ( 1.0 ) ) ;".split(" ")}]}}]}]}},{a:"else",h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["DYNAMIC_GRASS_COLOR"],
  1467. h:{a:"grp",d:[{a:"txt",b:"GLSL_OUT_FRAG_COLOR = vec4 ( 1.0 , aS ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"GLSL_OUT_FRAG_COLOR = vec4 ( 1.0 ) ;".split(" ")}]}}]}]}}]},{a:"txt",b:["}"]}]};a["grass_map.glslv"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"var",c:"DYNAMIC_GRASS_SIZE",b:["0"]},{a:"var",c:"DYNAMIC_GRASS_COLOR",b:["0"]},{a:"var",c:"WIND_BEND",b:["0"]},{a:"var",c:"STATIC_BATCH",b:["0"]},{a:"var",c:"BILLBOARD",b:["0"]},{a:"var",c:"BILLBOARD_JITTERED",b:["0"]},{a:"include",
  1468. o:"std.glsl"},{a:"include",o:"math.glslv"},{a:"include",o:"to_world.glslv"},{a:"txt",b:["GLSL_IN","vec3","a_position",";"]},{a:"cond",d:[{a:"if",g:["DYNAMIC_GRASS_SIZE"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","float","a_grass_size",";"]}]}}]},{a:"cond",d:[{a:"if",g:["DYNAMIC_GRASS_COLOR"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec3","a_grass_color",";"]}]}}]},{a:"cond",d:[{a:"if",g:["DYNAMIC_GRASS_SIZE"],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["DYNAMIC_GRASS_COLOR"],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT",
  1469. "vec4","aS",";"]}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","float","aS",";"]}]}}]}]}},{a:"else",h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["DYNAMIC_GRASS_COLOR"],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec3","aS",";"]}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["STATIC_BATCH"],h:{a:"grp",d:[{a:"txt",b:"const mat3 u_model_tsr = mat3 ( 0.0 , 0.0 , 0.0 , 1.0 , 0.0 , 0.0 , 0.0 , 1.0 , 0.0 ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:["uniform","mat3","u_model_tsr",";"]}]}}]},{a:"txt",b:"uniform mat3 u_view_tsr ; uniform mat4 u_proj_matrix ;".split(" ")},
  1470. {a:"cond",d:[{a:"if",g:["BILLBOARD"],h:{a:"grp",d:[{a:"txt",b:["uniform","vec3","u_camera_eye",";"]}]}}]},{a:"cond",d:[{a:"if",g:["WIND_BEND","BILLBOARD_JITTERED",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"uniform vec3 u_wind ; uniform float u_time ; uniform float u_jitter_amp ; uniform float u_jitter_freq ;".split(" ")}]}}]},{a:"txt",b:"void main ( ) { mat3 M = u_view_tsr ; mat3 S = u_model_tsr ;".split(" ")},{a:"cond",d:[{a:"if",g:["BILLBOARD"],h:{a:"grp",d:[{a:"txt",b:"vec3 ae = ad ( S , vec3 ( 0.0 ) ) ; mat3 S = ah ( u_camera_eye , ae , M ) ;".split(" ")},
  1471. {a:"cond",d:[{a:"if",g:["WIND_BEND","BILLBOARD_JITTERED",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"S = ai ( u_wind , u_time , u_jitter_amp , u_jitter_freq , vec3 ( 0.0 ) , S ) ;".split(" ")}]}}]},{a:"txt",b:"aj al = ak ( a_position , vec3 ( 0.0 ) , vec3 ( 0.0 ) , vec3 ( 0.0 ) , vec3 ( 0.0 ) , vec3 ( 0.0 ) , S ) ; al . ac = ae ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"aj al = ak ( a_position , vec3 ( 0.0 ) , vec3 ( 0.0 ) , vec3 ( 0.0 ) , vec3 ( 0.0 ) , vec3 ( 0.0 ) , S ) ;".split(" ")}]}}]},
  1472. {a:"txt",b:"vec4 f = u_proj_matrix * vec4 ( ad ( M , al . N ) , 1.0 ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["DYNAMIC_GRASS_SIZE"],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["DYNAMIC_GRASS_COLOR"],h:{a:"grp",d:[{a:"txt",b:"aS = vec4 ( a_grass_size , a_grass_color ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:["aS","=","a_grass_size",";"]}]}}]}]}},{a:"else",h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["DYNAMIC_GRASS_COLOR"],h:{a:"grp",d:[{a:"txt",b:["aS","=","a_grass_color",";"]}]}}]}]}}]},{a:"txt",b:["gl_Position",
  1473. "=","f",";","}"]}]};a["halo.glslf"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"var",c:"SKY_STARS",b:["0"]},{a:"var",c:"WATER_EFFECTS",b:["0"]},{a:"var",c:"DISABLE_FOG",b:["0"]},{a:"include",o:"precision_statement.glslf"},{a:"include",o:"std.glsl"},{a:"txt",b:"uniform vec4 u_diffuse_color ; uniform vec3 u_halo_rings_color ; uniform vec3 u_halo_lines_color ; uniform float u_halo_hardness ; uniform float u_halo_size ;".split(" ")},{a:"cond",d:[{a:"if",g:["SKY_STARS"],h:{a:"grp",d:[{a:"txt",b:["uniform",
  1474. "vec3","u_sun_intensity",";"]},{a:"cond",d:[{a:"if",g:["WATER_EFFECTS","DISABLE_FOG",{a:"logic_negative_expr",i:1},{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"uniform float u_halo_stars_blend ; uniform float u_halo_stars_height ; uniform float u_cam_water_depth ;".split(" ")}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["SKY_STARS","WATER_EFFECTS","DISABLE_FOG",{a:"logic_negative_expr",i:1},{a:"logical_and_expr",i:3}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec4","aT",";"]}]}}]},{a:"txt",b:"GLSL_IN vec2 A ; GLSL_IN float aU ; GLSL_OUT vec4 GLSL_OUT_FRAG_COLOR ;".split(" ")},
  1475. {a:"include",o:"color_util.glslf"},{a:"include",o:"halo_color.glslf"},{a:"txt",b:"void main ( ) { vec4 aW = aV ( ) ; vec3 aG = aW . rgb ; float aC = aW . a ; aM ( aG ) ; aN ( aG , aC ) ; GLSL_OUT_FRAG_COLOR = vec4 ( aG , aC ) ; }".split(" ")}]};a["halo.glslv"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"var",c:"PRECISION",b:["highp"]},{a:"var",c:"WATER_EFFECTS",b:["0"]},{a:"var",c:"DISABLE_FOG",b:["0"]},{a:"var",c:"SKY_STARS",b:["0"]},{a:"var",c:"STATIC_BATCH",b:["0"]},{a:"include",o:"std.glsl"},
  1476. {a:"include",o:"math.glslv"},{a:"include",o:"to_world.glslv"},{a:"txt",b:"uniform mat3 u_view_tsr ; uniform mat4 u_proj_matrix ; uniform PRECISION float u_halo_size ; uniform vec3 u_camera_eye ;".split(" ")},{a:"cond",d:[{a:"if",g:["STATIC_BATCH"],h:{a:"grp",d:[{a:"txt",b:"const mat3 u_model_tsr = mat3 ( 0.0 , 0.0 , 0.0 , 1.0 , 0.0 , 0.0 , 0.0 , 1.0 , 0.0 ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:["uniform","mat3","u_model_tsr",";"]}]}}]},{a:"txt",b:"GLSL_IN vec3 a_position ; GLSL_IN vec2 a_halo_bb_vertex ; GLSL_IN float a_random_vals ; GLSL_OUT vec2 A ; GLSL_OUT float aU ;".split(" ")},
  1477. {a:"cond",d:[{a:"if",g:["WATER_EFFECTS","DISABLE_FOG",{a:"logic_negative_expr",i:1},{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec4","aT",";"]}]}}]},{a:"txt",b:"void main ( ) { mat3 M = u_view_tsr ; mat3 S = u_model_tsr ; vec3 N = ad ( S , a_position ) ; A = a_halo_bb_vertex * 2.0 - 1.0 ; aU = a_random_vals ;".split(" ")},{a:"cond",d:[{a:"if",g:["SKY_STARS"],h:{a:"grp",d:[{a:"txt",b:"mat3 aY = aX ( N , M ) ; mat3 aZ = M ; aZ [ 0 ] [ 0 ] = 0.0 ; aZ [ 0 ] [ 1 ] = 0.0 ; aZ [ 0 ] [ 2 ] = 0.0 ;".split(" ")}]}},
  1478. {a:"else",h:{a:"grp",d:[{a:"txt",b:"mat3 aY = aX ( N , M ) ;".split(" ")}]}}]},{a:"txt",b:"vec2 a_ = ( a_halo_bb_vertex * 2.0 - 1.0 ) * u_halo_size ; vec3 bc = vec3 ( a_ [ 0 ] , 0.0 , a_ [ 1 ] ) ; vec3 bd = ad ( aY , bc ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["SKY_STARS"],h:{a:"grp",d:[{a:"txt",b:"vec4 f = u_proj_matrix * vec4 ( ad ( aZ , bd ) , 1.0 ) ; f . z = 0.99999 * f . w ;".split(" ")},{a:"cond",d:[{a:"if",g:["WATER_EFFECTS","DISABLE_FOG",{a:"logic_negative_expr",i:1},{a:"logical_and_expr",
  1479. i:2}],h:{a:"grp",d:[{a:"txt",b:"aT = vec4 ( bd , 1.0 ) ;".split(" ")}]}}]}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"vec4 f = u_proj_matrix * vec4 ( ad ( M , bd ) , 1.0 ) ;".split(" ")}]}}]},{a:"txt",b:["gl_Position","=","f",";","}"]}]};a["lens_flares.glslf"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"include",o:"precision_statement.glslf"},{a:"include",o:"std.glsl"},{a:"include",o:"color_util.glslf"},{a:"txt",b:"uniform sampler2D u_sampler ; GLSL_IN vec2 A ; GLSL_OUT vec4 GLSL_OUT_FRAG_COLOR ; void main ( ) { vec4 aG = GLSL_TEXTURE ( u_sampler , A ) ; aM ( aG . rgb ) ; aN ( aG . rgb , aG . a ) ; GLSL_OUT_FRAG_COLOR = aG ; }".split(" ")}]};
  1480. a["lens_flares.glslv"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"var",c:"NUM_LIGHTS",b:["0"]},{a:"define",c:"LIGHT_INDEX",b:["0"]},{a:"include",o:"std.glsl"},{a:"include",o:"math.glslv"},{a:"txt",b:"uniform mat3 u_view_tsr ; uniform mat4 u_proj_matrix ; uniform vec3 u_light_directions [ NUM_LIGHTS ] ; GLSL_IN float a_lf_dist ; GLSL_IN vec2 a_lf_bb_vertex ; GLSL_IN vec2 a_texcoord ; GLSL_OUT vec2 A ; void main ( ) { A = a_texcoord ; vec3 be = normalize ( u_light_directions [ LIGHT_INDEX ] ) ; vec4 f = u_proj_matrix * vec4 ( T ( u_view_tsr , be ) , 0.0 ) ; f . x /= f . w ; f . y /= f . w ; f += 99999.0 * step ( f . z , 0.0 ) ; f += 100.0 * ( step ( 1.0 , abs ( f . x ) ) + step ( 1.0 , abs ( f . y ) ) ) ; f . x = a_lf_dist * f . x ; f . y = a_lf_dist * f . y ; float bf = u_proj_matrix [ 1 ] [ 1 ] / u_proj_matrix [ 0 ] [ 0 ] ; vec2 bh = vec2 ( a_lf_bb_vertex . x / bf , a_lf_bb_vertex . y ) ; if ( a_lf_dist < 0.999 ) { const float bi = 1.9 ; bh *= ( 1.0 + bi * length ( f . xy ) ) ; } gl_Position = vec4 ( f . xy + bh , 0.999999 , 1.0 ) ; }".split(" ")}]};
  1481. a["line.glslf"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"var",c:"ALPHA",b:["0"]},{a:"include",o:"precision_statement.glslf"},{a:"include",o:"std.glsl"},{a:"include",o:"color_util.glslf"},{a:"txt",b:"uniform vec4 u_diffuse_color ; GLSL_OUT vec4 GLSL_OUT_FRAG_COLOR ; void main ( ) { vec3 aG = u_diffuse_color . xyz ; float J = u_diffuse_color . a ; aM ( aG ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["ALPHA"],h:{a:"grp",d:[{a:"txt",b:"aN ( aG , J ) ;".split(" ")}]}}]},{a:"txt",b:"GLSL_OUT_FRAG_COLOR = vec4 ( aG , J ) ; }".split(" ")}]};
  1482. a["line.glslv"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"include",o:"std.glsl"},{a:"include",o:"math.glslv"},{a:"include",o:"to_world.glslv"},{a:"txt",b:"GLSL_IN vec3 a_position ; GLSL_IN vec3 a_direction ; uniform mat3 u_model_tsr ; uniform mat3 u_view_tsr ; uniform mat4 u_proj_matrix ; uniform float u_height ; uniform float u_line_width ; void main ( ) { mat3 M = u_view_tsr ; mat3 S = u_model_tsr ; aj al = ak ( a_position , vec3 ( 0.0 ) , vec3 ( 0.0 ) , vec3 ( 0.0 ) , vec3 ( 0.0 ) , normalize ( a_direction ) , S ) ; vec4 bj = u_proj_matrix * vec4 ( ad ( M , al . N ) , 1.0 ) ; bj . xyz /= bj . w ; vec4 bk = u_proj_matrix * vec4 ( ad ( M , al . N + al . P ) , 1.0 ) ; bk . xyz /= bk . w ; float bf = u_proj_matrix [ 1 ] [ 1 ] / u_proj_matrix [ 0 ] [ 0 ] ; vec2 bl = ( bk - bj ) . xy ; bl . x *= bf ; float bm = M_PI / 2.0 ; mat2 bn = mat2 ( cos ( bm ) , sin ( bm ) , - sin ( bm ) , cos ( bm ) ) ; bl = bn * bl ; bl = normalize ( bl ) ; vec2 bo = ( u_line_width / u_height ) * vec2 ( 1.0 / bf , 1.0 ) ; gl_Position = vec4 ( bj . xy + bl . xy * bo / 2.0 , bj . z , 1.0 ) ; gl_Position *= bj . w ; }".split(" ")}]};
  1483. a["main.glslf"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"var",c:"PRECISION",b:["highp"]},{a:"var",c:"SHADELESS",b:["0"]},{a:"var",c:"CAUSTICS",b:["0"]},{a:"var",c:"USE_ENVIRONMENT_LIGHT",b:["0"]},{a:"var",c:"SKY_TEXTURE",b:["0"]},{a:"var",c:"SKY_COLOR",b:["0"]},{a:"var",c:"NORMAL_TEXCOORD",b:["0"]},{a:"var",c:"USE_VIEW_TSR",b:["0"]},{a:"var",c:"USE_VIEW_TSR_INVERSE",b:["0"]},{a:"var",c:"USE_MODEL_TSR",b:["0"]},{a:"var",c:"USE_MODEL_TSR_INVERSE",b:["0"]},{a:"var",c:"WATER_EFFECTS",b:["0"]},
  1484. {a:"var",c:"USE_FOG",b:["0"]},{a:"var",c:"CALC_TBN_SPACE",b:["0"]},{a:"var",c:"TEXTURE_NORM_CO",b:["TEXTURE_COORDS_NONE"]},{a:"var",c:"PARALLAX",b:["0"]},{a:"var",c:"USE_TBN_SHADING",b:["0"]},{a:"var",c:"CAMERA_TYPE",b:["CAM_TYPE_PERSP"]},{a:"var",c:"USE_POSITION_CLIP",b:["0"]},{a:"var",c:"NODES",b:["0"]},{a:"var",c:"ALPHA",b:["0"]},{a:"var",c:"ALPHA_CLIP",b:["0"]},{a:"var",c:"WETTABLE",b:["0"]},{a:"var",c:"NUM_VALUES",b:["0"]},{a:"var",c:"NUM_RGBS",b:["0"]},{a:"var",c:"DISABLE_FOG",b:["0"]},{a:"var",
  1485. c:"SHADOW_USAGE",b:["NO_SHADOWS"]},{a:"var",c:"NUM_LIGHTS",b:["0"]},{a:"var",c:"NUM_LAMP_LIGHTS",b:["0"]},{a:"var",c:"SSAO_ONLY",b:["0"]},{a:"var",c:"REFLECTION_TYPE",b:["REFL_NONE"]},{a:"var",c:"PROCEDURAL_FOG",b:["0"]},{a:"var",c:"REFRACTIVE",b:["0"]},{a:"var",c:"USE_REFRACTION",b:["0"]},{a:"var",c:"USE_REFRACTION_CORRECTION",b:["0"]},{a:"var",c:"CSM_SECTION1",b:["0"]},{a:"var",c:"CSM_SECTION2",b:["0"]},{a:"var",c:"CSM_SECTION3",b:["0"]},{a:"var",c:"NUM_CAST_LAMPS",b:["0"]},{a:"var",c:"WATER_LEVEL",
  1486. b:["0.0"]},{a:"var",c:"POISSON_DISK_NUM",b:["NO_SOFT_SHADOWS"]},{a:"var",c:"USE_DERIVATIVES_EXT",b:["0"]},{a:"cond",d:[{a:"if",g:["USE_DERIVATIVES_EXT"],h:{a:"grp",d:[{a:"extension",b:["GL_OES_standard_derivatives",":","enable"]}]}}]},{a:"include",o:"precision_statement.glslf"},{a:"include",o:"std.glsl"},{a:"include",o:"color_util.glslf"},{a:"include",o:"math.glslv"},{a:"cond",d:[{a:"if",g:["SHADELESS",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["CAUSTICS"],h:{a:"grp",d:[{a:"include",
  1487. o:"caustics.glslf"}]}}]}]}}]},{a:"txt",b:"uniform float u_time ; uniform vec2 u_texel_size ;".split(" ")},{a:"cond",d:[{a:"if",g:["USE_ENVIRONMENT_LIGHT","SKY_TEXTURE",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","samplerCube","u_sky_texture",";"]}]}},{a:"elif",g:["USE_ENVIRONMENT_LIGHT","SKY_COLOR",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"uniform vec3 u_horizon_color ; uniform vec3 u_zenith_color ;".split(" ")}]}}]},{a:"txt",b:["uniform","float","u_environment_energy",
  1488. ";"]},{a:"cond",d:[{a:"if",g:["SHADELESS",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["NUM_LIGHTS",0,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"uniform vec4 u_light_positions [ NUM_LIGHTS ] ; uniform vec3 u_light_directions [ NUM_LIGHTS ] ; uniform vec4 u_light_color_intensities [ NUM_LIGHTS ] ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["CAUSTICS"],h:{a:"grp",d:[{a:"txt",b:"uniform vec4 u_sun_quaternion ; uniform vec3 u_sun_intensity ; uniform vec3 u_sun_direction ;".split(" ")}]}}]}]}}]},
  1489. {a:"txt",b:["uniform","vec3","u_camera_eye_frag",";"]},{a:"cond",d:[{a:"if",g:["USE_NODE_FRESNEL","USE_NODE_LAYER_WEIGHT",{a:"logical_or_expr",i:2},"CAMERA_TYPE","CAM_TYPE_ORTHO",{a:"equal_expr",i:2},{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","vec3","u_camera_direction",";"]}]}}]},{a:"cond",d:[{a:"if",g:["NORMAL_TEXCOORD","REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2},"USE_VIEW_TSR",{a:"logical_or_expr",i:3}],h:{a:"grp",d:[{a:"txt",b:["uniform","mat3","u_view_tsr_frag",";"]}]}}]},
  1490. {a:"cond",d:[{a:"if",g:["USE_VIEW_TSR_INVERSE"],h:{a:"grp",d:[{a:"txt",b:["uniform","mat3","u_view_tsr_inverse",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_MODEL_TSR"],h:{a:"grp",d:[{a:"txt",b:["uniform","mat3","u_model_tsr",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_MODEL_TSR_INVERSE"],h:{a:"grp",d:[{a:"txt",b:["uniform","mat3","u_model_tsr_inverse",";"]}]}}]},{a:"cond",d:[{a:"if",g:["DISABLE_FOG",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"txt",b:["uniform","vec4","u_fog_color_density",";"]},{a:"cond",
  1491. d:[{a:"if",g:["WATER_EFFECTS"],h:{a:"grp",d:[{a:"txt",b:"uniform vec4 u_underwater_fog_color_density ; uniform float u_cam_water_depth ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["PROCEDURAL_FOG"],h:{a:"grp",d:[{a:"txt",b:["uniform","mat4","u_cube_fog",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_FOG"],h:{a:"grp",d:[{a:"txt",b:["uniform","vec4","u_fog_params",";"]}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","sampler2D","u_plane_reflection",
  1492. ";"]}]}},{a:"elif",g:["REFLECTION_TYPE","REFL_CUBE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","samplerCube","u_cube_reflection",";"]}]}},{a:"elif",g:["REFLECTION_TYPE","REFL_MIRRORMAP",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","samplerCube","u_mirrormap",";"]}]}}]},{a:"cond",d:[{a:"if",g:["SHADOW_USAGE","SHADOW_MAPPING_OPAQUE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","sampler2D","u_shadow_mask",";"]}]}},{a:"elif",g:["SHADOW_USAGE","SHADOW_MAPPING_BLEND",
  1493. {a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["POISSON_DISK_NUM","NO_SOFT_SHADOWS",{a:"non_equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","vec4","u_pcf_blur_radii",";"]}]}}]},{a:"txt",b:"uniform vec4 u_csm_center_dists ; uniform PRECISION GLSL_SMPLR2D_SHDW u_shadow_map0 ;".split(" ")},{a:"cond",d:[{a:"if",g:["CSM_SECTION1","NUM_CAST_LAMPS",1,{a:"g_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","PRECISION","GLSL_SMPLR2D_SHDW","u_shadow_map1",";"]}]}}]},
  1494. {a:"cond",d:[{a:"if",g:["CSM_SECTION2","NUM_CAST_LAMPS",2,{a:"g_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","PRECISION","GLSL_SMPLR2D_SHDW","u_shadow_map2",";"]}]}}]},{a:"cond",d:[{a:"if",g:["CSM_SECTION3","NUM_CAST_LAMPS",3,{a:"g_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","PRECISION","GLSL_SMPLR2D_SHDW","u_shadow_map3",";"]}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["REFRACTIVE","USE_NODE_B4W_REFRACTION",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",
  1495. b:["uniform","sampler2D","u_refractmap",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_NODE_B4W_REFRACTION","USE_REFRACTION","REFRACTIVE","USE_REFRACTION_CORRECTION",{a:"logical_and_expr",i:4}],h:{a:"grp",d:[{a:"txt",b:["uniform","PRECISION","sampler2D","u_scene_depth",";"]}]}}]},{a:"txt",b:"uniform float u_emit ; uniform float u_ambient ; uniform vec4 u_fresnel_params ;".split(" ")},{a:"cond",d:[{a:"if",g:["REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2},"REFLECTION_TYPE","REFL_CUBE",{a:"equal_expr",
  1496. i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[]}},{a:"elif",g:["REFLECTION_TYPE","REFL_MIRRORMAP",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","float","u_mirror_factor",";"]}]}}]},{a:"cond",d:[{a:"if",g:["REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","vec4","u_refl_plane",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_NODE_LAMP"],h:{a:"grp",d:[{a:"txt",b:"uniform vec3 u_lamp_light_positions [ NUM_LAMP_LIGHTS ] ; uniform vec3 u_lamp_light_directions [ NUM_LAMP_LIGHTS ] ; uniform vec3 u_lamp_light_color_intensities [ NUM_LAMP_LIGHTS ] ;".split(" ")}]}}]},
  1497. {a:"cond",d:[{a:"if",g:["USE_NODE_VALUE"],h:{a:"grp",d:[{a:"txt",b:"uniform float u_node_values [ NUM_VALUES ] ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["USE_NODE_RGB"],h:{a:"grp",d:[{a:"txt",b:"uniform vec3 u_node_rgbs [ NUM_RGBS ] ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["USE_NODE_CURVE_VEC","USE_NODE_CURVE_RGB","USE_NODE_VALTORGB",{a:"logical_or_expr",i:3}],h:{a:"grp",d:[{a:"txt",b:["uniform","sampler2D","u_nodes_texture",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_NODE_OBJECT_INFO"],h:{a:"grp",
  1498. d:[{a:"txt",b:["uniform","vec3","u_obj_info",";"]}]}}]},{a:"txt",b:"GLSL_IN vec3 h ; GLSL_IN vec3 j ;".split(" ")},{a:"cond",d:[{a:"if",g:["NODES","DISABLE_FOG",{a:"logic_negative_expr",i:1},"TEXTURE_NORM_CO","TEXTURE_COORDS_NONE",{a:"non_equal_expr",i:2},"PARALLAX",{a:"logical_and_expr",i:2},"SHADELESS",{a:"logic_negative_expr",i:1},"CAUSTICS","WATER_EFFECTS",{a:"logical_and_expr",i:3},"SHADOW_USAGE","SHADOW_MASK_GENERATION",{a:"equal_expr",i:2},"SHADOW_USAGE","SHADOW_MAPPING_BLEND",{a:"equal_expr",
  1499. i:2},{a:"logical_or_expr",i:6}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec4","i",";"]}]}}]},{a:"cond",d:[{a:"if",g:["TEXTURE_NORM_CO","TEXTURE_COORDS_NONE",{a:"non_equal_expr",i:2},"CALC_TBN_SPACE",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec4","k",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_TBN_SHADING"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec3","B",";"]}]}}]},{a:"cond",d:[{a:"if",g:["SHADOW_USAGE","SHADOW_MAPPING_BLEND",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN",
  1500. "vec4","n",";"]},{a:"cond",d:[{a:"if",g:["CSM_SECTION1","NUM_CAST_LAMPS",1,{a:"g_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec4","o",";"]}]}}]},{a:"cond",d:[{a:"if",g:["CSM_SECTION2","NUM_CAST_LAMPS",2,{a:"g_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec4","u",";"]}]}}]},{a:"cond",d:[{a:"if",g:["CSM_SECTION3","NUM_CAST_LAMPS",3,{a:"g_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec4","v",";"]}]}}]}]}}]},
  1501. {a:"cond",d:[{a:"if",g:["REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2},"SHADOW_USAGE","SHADOW_MAPPING_OPAQUE",{a:"equal_expr",i:2},"REFRACTIVE","USE_POSITION_CLIP",{a:"logical_or_expr",i:4}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec3","l",";"]}]}}]},{a:"cond",d:[{a:"if",g:["REFRACTIVE","USE_NODE_B4W_REFRACTION",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","float","m",";"]}]}}]},{a:"txt",b:["GLSL_OUT","vec4","GLSL_OUT_FRAG_COLOR",";"]},{a:"include",o:"nodes.glslf"},{a:"cond",
  1502. d:[{a:"if",g:["DISABLE_FOG",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"include",o:"fog.glslf"}]}}]},{a:"txt",b:["void","main","(",")","{"]},{a:"cond",d:[{a:"if",g:["NODES","DISABLE_FOG",{a:"logic_negative_expr",i:1},"TEXTURE_NORM_CO","TEXTURE_COORDS_NONE",{a:"non_equal_expr",i:2},"PARALLAX",{a:"logical_and_expr",i:2},"SHADELESS",{a:"logic_negative_expr",i:1},"CAUSTICS","WATER_EFFECTS",{a:"logical_and_expr",i:3},{a:"logical_or_expr",i:4}],h:{a:"grp",d:[{a:"txt",b:"float bp = length ( i ) ;".split(" ")}]}}]},
  1503. {a:"cond",d:[{a:"if",g:["WATER_EFFECTS"],h:{a:"grp",d:[{a:"txt",b:"float bq = h . z - WATER_LEVEL ;".split(" ")}]}}]},{a:"txt",b:"vec3 C = normalize ( u_camera_eye_frag - h ) ; vec3 D ; vec3 E ; vec3 F ; vec4 G ; float H ; I ( C , D , E , F , G , H ) ; vec3 aG = D ; float J = H ; vec3 P = F ; vec4 bs = G ;".split(" ")},{a:"cond",d:[{a:"if",g:["SHADELESS",{a:"logic_negative_expr",i:1},"WATER_EFFECTS",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["WETTABLE"],h:{a:"grp",d:[{a:"txt",
  1504. b:"aG = max ( aG - sqrt ( 0.01 * - min ( bq , 0.0 ) ) , 0.5 * aG ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["CAUSTICS"],h:{a:"grp",d:[{a:"txt",b:"bt ( aG , bq , u_time , bs , P , u_sun_direction , u_sun_intensity , u_sun_quaternion , h , bp ) ;".split(" ")}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["ALPHA"],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["ALPHA_CLIP"],h:{a:"grp",d:[{a:"txt",b:"if ( J < 0.5 ) discard ; J = 1.0 ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"J = min ( 1.0 , J ) ;".split(" ")}]}}]}]}},
  1505. {a:"else",h:{a:"grp",d:[{a:"txt",b:["J","=","1.0",";"]}]}}]},{a:"cond",d:[{a:"if",g:["DISABLE_FOG",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["WATER_EFFECTS"],h:{a:"grp",d:[{a:"txt",b:"bu ( aG , bp , C , bq ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"bu ( aG , bp , C , 1.0 ) ;".split(" ")}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["SSAO_ONLY","SHADOW_USAGE","SHADOW_MAPPING_OPAQUE",{a:"equal_expr",i:2},{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"float bv = GLSL_TEXTURE_PROJ ( u_shadow_mask , l ) . a ; aG = vec3 ( bv ) ;".split(" ")}]}}]},
  1506. {a:"txt",b:"aG = max ( vec3 ( 0.0 ) , aG ) ; aM ( aG ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["ALPHA","ALPHA_CLIP",{a:"logic_negative_expr",i:1},{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"aN ( aG , J ) ;".split(" ")}]}}]},{a:"txt",b:"GLSL_OUT_FRAG_COLOR = vec4 ( aG , J ) ; }".split(" ")}]};a["main.glslv"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"var",c:"PRECISION",b:["highp"]},{a:"var",c:"SHADELESS",b:["0"]},{a:"var",c:"CAUSTICS",b:["0"]},{a:"var",c:"CALC_TBN_SPACE",b:["0"]},{a:"var",
  1507. c:"MAIN_BEND_COL",b:["0"]},{a:"var",c:"DETAIL_BEND",b:["0"]},{a:"var",c:"CALC_TBN",b:["0"]},{a:"var",c:"USE_INSTANCED_PARTCLS",b:["0"]},{a:"var",c:"TEXTURE_NORM_CO",b:["TEXTURE_COORDS_NONE"]},{a:"var",c:"USE_TBN_SHADING",b:["0"]},{a:"var",c:"PARALLAX",b:["0"]},{a:"var",c:"WATER_EFFECTS",b:["0"]},{a:"var",c:"SMAA_JITTER",b:["0"]},{a:"var",c:"USE_POSITION_CLIP",b:["0"]},{a:"var",c:"NODES",b:["0"]},{a:"var",c:"AU_QUALIFIER",b:["GLSL_IN"]},{a:"var",c:"STATIC_BATCH",b:["0"]},{a:"var",c:"WIND_BEND",b:["0"]},
  1508. {a:"var",c:"BEND_CENTER_ONLY",b:["0"]},{a:"var",c:"BILLBOARD_PRES_GLOB_ORIENTATION",b:["0"]},{a:"var",c:"BILLBOARD",b:["0"]},{a:"var",c:"BILLBOARD_JITTERED",b:["0"]},{a:"var",c:"DYNAMIC_GRASS",b:["0"]},{a:"var",c:"SKINNED",b:["0"]},{a:"var",c:"FRAMES_BLENDING",b:["0"]},{a:"var",c:"VERTEX_ANIM",b:["0"]},{a:"var",c:"DISABLE_FOG",b:["0"]},{a:"var",c:"SHADOW_USAGE",b:["NO_SHADOWS"]},{a:"var",c:"REFLECTION_PASS",b:["REFL_PASS_NONE"]},{a:"var",c:"REFLECTION_TYPE",b:["REFL_NONE"]},{a:"var",c:"REFRACTIVE",
  1509. b:["0"]},{a:"var",c:"MAC_OS_SHADOW_HACK",b:["0"]},{a:"var",c:"CSM_SECTION1",b:["0"]},{a:"var",c:"CSM_SECTION2",b:["0"]},{a:"var",c:"CSM_SECTION3",b:["0"]},{a:"var",c:"NUM_CAST_LAMPS",b:["0"]},{a:"var",c:"TEXCOORD",b:["0"]},{a:"var",c:"VERTEX_COLOR",b:["0"]},{a:"var",c:"VERTEX_ANIM_MIX_NORMALS_FACTOR",b:["u_va_frame_factor"]},{a:"var",c:"MAX_BONES",b:["0"]},{a:"include",o:"std.glsl"},{a:"include",o:"math.glslv"},{a:"include",o:"to_world.glslv"},{a:"include",o:"scale_texcoord.glslv"},{a:"txt",b:"GLSL_IN vec3 a_position ; GLSL_IN vec4 a_tbn_quat ;".split(" ")},
  1510. {a:"cond",d:[{a:"if",g:["USE_INSTANCED_PARTCLS"],h:{a:"grp",d:[{a:"txt",b:"GLSL_IN vec4 a_part_ts ; GLSL_IN vec4 a_part_r ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["USE_TBN_SHADING"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec3","a_shade_tangs",";"]}]}}]},{a:"cond",d:[{a:"if",g:["SKINNED"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec4","a_influence",";"]}]}}]},{a:"cond",d:[{a:"if",g:["WIND_BEND","DYNAMIC_GRASS","BILLBOARD",{a:"logical_or_expr",i:3},"USE_INSTANCED_PARTCLS",{a:"logic_negative_expr",i:1},
  1511. {a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["AU_QUALIFIER","vec3","au_center_pos",";"]}]}}]},{a:"cond",d:[{a:"if",g:["WIND_BEND"],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["MAIN_BEND_COL"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","float","a_bending_col_main",";"]},{a:"cond",d:[{a:"if",g:["DETAIL_BEND"],h:{a:"grp",d:[{a:"txt",b:"GLSL_IN vec3 a_bending_col_detail ; AU_QUALIFIER float au_detail_bending_amp ; AU_QUALIFIER float au_branch_bending_amp ; AU_QUALIFIER float au_detail_bending_freq ;".split(" ")}]}}]}]}}]},
  1512. {a:"txt",b:"AU_QUALIFIER float au_wind_bending_amp ; AU_QUALIFIER float au_wind_bending_freq ;".split(" ")},{a:"cond",d:[{a:"if",g:["BEND_CENTER_ONLY"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec3","a_emitter_center",";"]}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["VERTEX_ANIM"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec3","a_position_next",";"]},{a:"cond",d:[{a:"if",g:["NODES",{a:"logic_negative_expr",i:1},"USE_NODE_MATERIAL_BEGIN","USE_NODE_GEOMETRY_NO","USE_NODE_NORMAL_MAP","CAUSTICS","CALC_TBN_SPACE","USE_NODE_TEX_COORD_NO",
  1513. "USE_NODE_BSDF_BEGIN","USE_NODE_TEX_COORD_RE",{a:"logical_or_expr",i:9}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec4","a_tbn_quat_next",";"]}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["NODES",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["TEXCOORD"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec2","a_texcoord",";"]}]}}]},{a:"cond",d:[{a:"if",g:["VERTEX_COLOR"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec3","a_color",";"]}]}}]}]}}]},{a:"txt",b:"GLSL_OUT vec3 h ; GLSL_OUT vec3 j ;".split(" ")},{a:"cond",
  1514. d:[{a:"if",g:["NODES","DISABLE_FOG",{a:"logic_negative_expr",i:1},"TEXTURE_NORM_CO","TEXTURE_COORDS_NONE",{a:"non_equal_expr",i:2},"PARALLAX",{a:"logical_and_expr",i:2},"SHADELESS",{a:"logic_negative_expr",i:1},"CAUSTICS","WATER_EFFECTS",{a:"logical_and_expr",i:3},"SHADOW_USAGE","SHADOW_MASK_GENERATION",{a:"equal_expr",i:2},"SHADOW_USAGE","SHADOW_MAPPING_BLEND",{a:"equal_expr",i:2},{a:"logical_or_expr",i:6}],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec4","i",";"]}]}}]},{a:"cond",d:[{a:"if",g:["TEXTURE_NORM_CO",
  1515. "TEXTURE_COORDS_NONE",{a:"non_equal_expr",i:2},"CALC_TBN_SPACE",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec4","k",";"]}]}}]},{a:"cond",d:[{a:"if",g:["NODES",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec3","bw",";"]},{a:"cond",d:[{a:"if",g:["TEXCOORD"],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec2","A",";"]}]}}]},{a:"cond",d:[{a:"if",g:["VERTEX_COLOR","DYNAMIC_GRASS",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec3","bx",";"]}]}}]}]}}]},
  1516. {a:"cond",d:[{a:"if",g:["SHADOW_USAGE","SHADOW_MAPPING_BLEND",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec4","n",";"]},{a:"cond",d:[{a:"if",g:["CSM_SECTION1","NUM_CAST_LAMPS",1,{a:"g_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec4","o",";"]}]}}]},{a:"cond",d:[{a:"if",g:["CSM_SECTION2","NUM_CAST_LAMPS",2,{a:"g_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec4","u",";"]}]}}]},{a:"cond",d:[{a:"if",g:["CSM_SECTION3","NUM_CAST_LAMPS",
  1517. 3,{a:"g_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec4","v",";"]}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2},"SHADOW_USAGE","SHADOW_MAPPING_OPAQUE",{a:"equal_expr",i:2},"REFRACTIVE","USE_POSITION_CLIP",{a:"logical_or_expr",i:4}],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec3","l",";"]}]}}]},{a:"cond",d:[{a:"if",g:["REFRACTIVE","NODES",{a:"logic_negative_expr",i:1},"USE_NODE_B4W_REFRACTION",{a:"logical_or_expr",i:2},{a:"logical_and_expr",
  1518. i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","float","m",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_TBN_SHADING"],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec3","B",";"]}]}}]},{a:"cond",d:[{a:"if",g:["STATIC_BATCH"],h:{a:"grp",d:[{a:"txt",b:"const mat3 u_model_tsr = mat3 ( 0.0 , 0.0 , 0.0 , 1.0 , 0.0 , 0.0 , 0.0 , 1.0 , 0.0 ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:["uniform","PRECISION","mat3","u_model_tsr",";"]}]}}]},{a:"cond",d:[{a:"if",g:["REFLECTION_PASS","REFL_PASS_PLANE",{a:"equal_expr",
  1519. i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","mat4","u_view_refl_matrix",";"]}]}}]},{a:"txt",b:"uniform mat3 u_view_tsr ; uniform mat4 u_proj_matrix ;".split(" ")},{a:"cond",d:[{a:"if",g:["NODES",{a:"logic_negative_expr",i:1},"BILLBOARD","DYNAMIC_GRASS",{a:"logical_or_expr",i:3}],h:{a:"grp",d:[{a:"txt",b:["uniform","vec3","u_camera_eye",";"]}]}}]},{a:"cond",d:[{a:"if",g:["SMAA_JITTER"],h:{a:"grp",d:[{a:"txt",b:["uniform","vec2","u_subpixel_jitter",";"]}]}}]},{a:"cond",d:[{a:"if",g:["DYNAMIC_GRASS"],
  1520. h:{a:"grp",d:[{a:"txt",b:"uniform PRECISION sampler2D u_grass_map_depth ; uniform sampler2D u_grass_map_color ; uniform vec4 u_camera_quat ; uniform vec3 u_grass_map_dim ; uniform float u_grass_size ; uniform float u_scale_threshold ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["SKINNED"],h:{a:"grp",d:[{a:"txt",b:"uniform vec4 u_quatsb [ MAX_BONES ] ; uniform vec4 u_transb [ MAX_BONES ] ; uniform vec4 u_arm_rel_trans ; uniform vec4 u_arm_rel_quat ;".split(" ")},{a:"cond",d:[{a:"if",g:["FRAMES_BLENDING"],
  1521. h:{a:"grp",d:[{a:"txt",b:"uniform vec4 u_quatsa [ MAX_BONES ] ; uniform vec4 u_transa [ MAX_BONES ] ; uniform float u_frame_factor ;".split(" ")}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["WIND_BEND"],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["BILLBOARD_JITTERED"],h:{a:"grp",d:[{a:"txt",b:"uniform float u_jitter_amp ; uniform float u_jitter_freq ;".split(" ")}]}}]},{a:"txt",b:"uniform vec3 u_wind ; uniform PRECISION float u_time ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["VERTEX_ANIM"],h:{a:"grp",d:[{a:"txt",
  1522. b:["uniform","float","u_va_frame_factor",";"]}]}}]},{a:"cond",d:[{a:"if",g:["NODES",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"txt",b:["uniform","vec3","u_texture_scale",";"]}]}}]},{a:"cond",d:[{a:"if",g:["SHADOW_USAGE","SHADOW_MAPPING_BLEND",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","float","u_normal_offset",";"]},{a:"cond",d:[{a:"if",g:["MAC_OS_SHADOW_HACK"],h:{a:"grp",d:[{a:"txt",b:"uniform mat3 u_v_light_tsr [ NUM_CAST_LAMPS ] ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",
  1523. b:"uniform vec4 u_v_light_ts [ NUM_CAST_LAMPS ] ; uniform vec4 u_v_light_r [ NUM_CAST_LAMPS ] ;".split(" ")}]}}]},{a:"txt",b:["uniform","mat4","u_p_light_matrix0",";"]},{a:"cond",d:[{a:"if",g:["CSM_SECTION1","NUM_CAST_LAMPS",1,{a:"g_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","mat4","u_p_light_matrix1",";"]}]}}]},{a:"cond",d:[{a:"if",g:["CSM_SECTION2","NUM_CAST_LAMPS",2,{a:"g_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","mat4","u_p_light_matrix2",
  1524. ";"]}]}}]},{a:"cond",d:[{a:"if",g:["CSM_SECTION3","NUM_CAST_LAMPS",3,{a:"g_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","mat4","u_p_light_matrix3",";"]}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["REFRACTIVE","USE_NODE_B4W_REFRACTION",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","PRECISION","float","u_view_max_depth",";"]}]}}]},{a:"include",o:"dynamic_grass.glslv"},{a:"include",o:"shadow.glslv"},{a:"include",o:"skin.glslv"},{a:"include",o:"wind_bending.glslv"},
  1525. {a:"cond",d:[{a:"if",g:["NODES"],h:{a:"grp",d:[{a:"include",o:"nodes.glslv"}]}}]},{a:"txt",b:["void","main","(",")","{"]},{a:"cond",d:[{a:"if",g:["REFLECTION_PASS","REFL_PASS_PLANE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["mat4","by","=","u_view_refl_matrix",";"]}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"mat4 by = mat4 ( 0.0 ) ;".split(" ")}]}}]},{a:"txt",b:["mat3","M","=","u_view_tsr",";"]},{a:"cond",d:[{a:"if",g:["USE_INSTANCED_PARTCLS"],h:{a:"grp",d:[{a:"txt",b:"mat3 S = mat3 ( a_part_ts [ 0 ] , a_part_ts [ 1 ] , a_part_ts [ 2 ] , a_part_ts [ 3 ] , a_part_r [ 0 ] , a_part_r [ 1 ] , a_part_r [ 2 ] , a_part_r [ 3 ] , 1.0 ) ;".split(" ")},
  1526. {a:"cond",d:[{a:"if",g:["STATIC_BATCH",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"txt",b:"S = aO ( u_model_tsr , S ) ;".split(" ")}]}}]}]}},{a:"else",h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["DYNAMIC_GRASS",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"txt",b:["mat3","S","=","u_model_tsr",";"]}]}}]}]}}]},{a:"txt",b:["vec3","N","=","a_position",";"]},{a:"cond",d:[{a:"if",g:["CALC_TBN_SPACE","USE_NODE_MATERIAL_BEGIN","USE_NODE_GEOMETRY_NO","USE_NODE_NORMAL_MAP","CAUSTICS","WIND_BEND","MAIN_BEND_COL",
  1527. "DETAIL_BEND",{a:"logical_and_expr",i:3},"NODES",{a:"logic_negative_expr",i:1},"USE_TBN_SHADING","CALC_TBN",{a:"logical_and_expr",i:2},"USE_NODE_BSDF_BEGIN","USE_NODE_FRESNEL","USE_NODE_TEX_COORD_NO","USE_NODE_TEX_COORD_RE","USE_NODE_LAYER_WEIGHT","USE_NODE_BUMP",{a:"logical_or_expr",i:14}],h:{a:"grp",d:[{a:"txt",b:"vec3 bz = O ( a_tbn_quat , vec3 ( 0.0 , 1.0 , 0.0 ) ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["CALC_TBN_SPACE","USE_NODE_MATERIAL_BEGIN","USE_NODE_GEOMETRY_NO","USE_NODE_NORMAL_MAP",
  1528. "CAUSTICS","WIND_BEND","MAIN_BEND_COL","DETAIL_BEND",{a:"logical_and_expr",i:3},"NODES",{a:"logic_negative_expr",i:1},"USE_NODE_BSDF_BEGIN","USE_NODE_FRESNEL","USE_NODE_TEX_COORD_NO","USE_NODE_TEX_COORD_RE","USE_NODE_LAYER_WEIGHT","USE_NODE_BUMP",{a:"logical_or_expr",i:13}],h:{a:"grp",d:[{a:"txt",b:["vec3","P","=","bz",";"]}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"vec3 P = vec3 ( 0.0 ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["CALC_TBN_SPACE","NODES",{a:"logic_negative_expr",i:1},"TEXTURE_NORM_CO",
  1529. "TEXTURE_COORDS_UV_ORCO",{a:"equal_expr",i:2},{a:"logical_and_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec3 Q = O ( a_tbn_quat , vec3 ( 1.0 , 0.0 , 0.0 ) ) ; vec3 R = sign ( a_tbn_quat [ 3 ] ) * cross ( P , Q ) ;".split(" ")}]}},{a:"elif",g:["NODES",{a:"logic_negative_expr",i:1},"TEXTURE_NORM_CO","TEXTURE_COORDS_NORMAL",{a:"equal_expr",i:2},{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec3 bA = ad ( S , N ) ; vec3 U = normalize ( T ( S , bz ) ) ; vec3 C = bA - u_camera_eye ; vec3 R = cross ( C , U ) ; vec3 Q = cross ( U , R ) ;".split(" ")}]}},
  1530. {a:"else",h:{a:"grp",d:[{a:"txt",b:"vec3 Q = vec3 ( 0.0 ) ; vec3 R = vec3 ( 0.0 ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["USE_TBN_SHADING"],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["CALC_TBN"],h:{a:"grp",d:[{a:"txt",b:"vec3 U = normalize ( T ( S , bz ) ) ; vec3 V = cross ( vec3 ( 0.0 , 0.0 , 1.0 ) , U ) ; vec3 W = cross ( U , V ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:["vec3","W","=","a_shade_tangs",";"]}]}}]}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"vec3 W = vec3 ( 0.0 ) ;".split(" ")}]}}]},
  1531. {a:"cond",d:[{a:"if",g:["VERTEX_ANIM"],h:{a:"grp",d:[{a:"txt",b:"N = mix ( N , a_position_next , u_va_frame_factor ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["NODES",{a:"logic_negative_expr",i:1},"USE_NODE_MATERIAL_BEGIN","USE_NODE_NORMAL_MAP","USE_NODE_GEOMETRY_NO","CAUSTICS","CALC_TBN_SPACE","TEXTURE_NORM_CO","TEXTURE_COORDS_NONE",{a:"non_equal_expr",i:2},"USE_NODE_BSDF_BEGIN","USE_NODE_TEX_COORD_RE","USE_NODE_BUMP",{a:"logical_or_expr",i:10}],h:{a:"grp",d:[{a:"txt",b:"vec3 bB = O ( a_tbn_quat_next , vec3 ( 0.0 , 1.0 , 0.0 ) ) ;".split(" ")}]}}]},
  1532. {a:"cond",d:[{a:"if",g:["NODES",{a:"logic_negative_expr",i:1},"USE_NODE_MATERIAL_BEGIN","USE_NODE_NORMAL_MAP","USE_NODE_GEOMETRY_NO","CAUSTICS","CALC_TBN_SPACE","USE_NODE_BSDF_BEGIN","USE_NODE_BUMP",{a:"logical_or_expr",i:8}],h:{a:"grp",d:[{a:"txt",b:"P = mix ( P , bB , VERTEX_ANIM_MIX_NORMALS_FACTOR ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["TEXTURE_NORM_CO","TEXTURE_COORDS_NONE",{a:"non_equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec3 Y = O ( a_tbn_quat_next , vec3 ( 1.0 , 0.0 , 0.0 ) ) ; vec3 Z = sign ( a_tbn_quat_next [ 3 ] ) * cross ( bB , Y ) ; Q = mix ( Q , Y , u_va_frame_factor ) ; R = mix ( R , Z , u_va_frame_factor ) ;".split(" ")}]}}]}]}}]},
  1533. {a:"cond",d:[{a:"if",g:["SKINNED"],h:{a:"grp",d:[{a:"txt",b:"_(N,Q,R,P);".split("")}]}}]},{a:"cond",d:[{a:"if",g:["WIND_BEND","DYNAMIC_GRASS","BILLBOARD",{a:"logical_or_expr",i:3},"USE_INSTANCED_PARTCLS",{a:"logic_negative_expr",i:1},{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["vec3","ac","=","au_center_pos",";"]}]}},{a:"elif",g:["DYNAMIC_GRASS","USE_INSTANCED_PARTCLS",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec3 ac = a_part_ts . xyz ; N = ad ( S , N ) ;".split(" ")}]}},{a:"else",
  1534. h:{a:"grp",d:[{a:"txt",b:"vec3 ac = vec3 ( 0.0 ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["DYNAMIC_GRASS"],h:{a:"grp",d:[{a:"txt",b:"aj al = aP ( N , Q , W , R , P , ac , u_grass_map_depth , u_grass_map_color , u_grass_map_dim , u_grass_size , u_camera_eye , u_camera_quat , M ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["BILLBOARD"],h:{a:"grp",d:[{a:"txt",b:"vec3 ae = ad ( S , ac ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["REFLECTION_PASS","REFL_PASS_PLANE",{a:"equal_expr",
  1535. i:2}],h:{a:"grp",d:[{a:"txt",b:"N = ( by * vec4 ( N , 1.0 ) ) . xyz ; ac = ( by * vec4 ( ac , 1.0 ) ) . xyz ; ae = ( by * vec4 ( ae , 1.0 ) ) . xyz ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["BILLBOARD_PRES_GLOB_ORIENTATION","STATIC_BATCH",{a:"logic_negative_expr",i:1},{a:"logical_and_expr",i:2},"USE_INSTANCED_PARTCLS",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"S = af ( u_camera_eye , ae , M , S ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"S = ah ( u_camera_eye , ae , M ) ;".split(" ")}]}}]},
  1536. {a:"cond",d:[{a:"if",g:["WIND_BEND","BILLBOARD_JITTERED",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec3 aQ = ae ; S = ai ( u_wind , u_time , u_jitter_amp , u_jitter_freq , aQ , S ) ;".split(" ")}]}}]},{a:"txt",b:"aj al = ak ( N - ac , ac , Q , W , R , P , S ) ; al . ac = ae ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"aj al = ak ( N , ac , Q , W , R , P , S ) ;".split(" ")}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["TEXTURE_NORM_CO","TEXTURE_COORDS_NONE",{a:"non_equal_expr",i:2},"CALC_TBN_SPACE",
  1537. {a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"float ap = ( dot ( cross ( al . P , al . Q ) , al . R ) < 0.0 ) ? - 1.0 : 1.0 ; k = vec4 ( al . Q , ap ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["USE_TBN_SHADING"],h:{a:"grp",d:[{a:"txt",b:"B = al . aq ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["WIND_BEND"],h:{a:"grp",d:[{a:"txt",b:"am ( al . N , al . ac , P , by ) ;".split(" ")}]}}]},{a:"txt",b:"h = al . N ;".split(" ")},{a:"cond",d:[{a:"if",g:["NODES",{a:"logic_negative_expr",i:1},"USE_NODE_MATERIAL_BEGIN",
  1538. "USE_NODE_GEOMETRY_NO","USE_NODE_NORMAL_MAP","CAUSTICS","CALC_TBN_SPACE","WIND_BEND","MAIN_BEND_COL","DETAIL_BEND",{a:"logical_and_expr",i:3},"USE_NODE_TEX_COORD_NO","USE_NODE_BSDF_BEGIN","USE_NODE_FRESNEL","USE_NODE_TEX_COORD_RE","USE_NODE_LAYER_WEIGHT","USE_NODE_BUMP",{a:"logical_or_expr",i:13}],h:{a:"grp",d:[{a:"txt",b:"j = al . P ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["NODES",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"txt",b:"bw = u_camera_eye - al . N ;".split(" ")},{a:"cond",d:[{a:"if",
  1539. g:["TEXCOORD"],h:{a:"grp",d:[{a:"txt",b:"A = ao ( a_texcoord , u_texture_scale ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["DYNAMIC_GRASS"],h:{a:"grp",d:[{a:"txt",b:"bx = al . aG ;".split(" ")}]}},{a:"elif",g:["VERTEX_COLOR"],h:{a:"grp",d:[{a:"txt",b:["bx","=","a_color",";"]}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["REFLECTION_PASS","REFL_PASS_PLANE",{a:"equal_expr",i:2},"BILLBOARD",{a:"logic_negative_expr",i:1},{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec4 bC = by * vec4 ( al . N , 1.0 ) ; bC . xyz = ad ( M , bC . xyz ) ;".split(" ")}]}},
  1540. {a:"else",h:{a:"grp",d:[{a:"txt",b:"vec4 bC = vec4 ( ad ( M , al . N ) , 1.0 ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["NODES","DISABLE_FOG",{a:"logic_negative_expr",i:1},"TEXTURE_NORM_CO","TEXTURE_COORDS_NONE",{a:"non_equal_expr",i:2},"PARALLAX",{a:"logical_and_expr",i:2},"SHADELESS",{a:"logic_negative_expr",i:1},"CAUSTICS","WATER_EFFECTS",{a:"logical_and_expr",i:3},"SHADOW_USAGE","SHADOW_MASK_GENERATION",{a:"equal_expr",i:2},"SHADOW_USAGE","SHADOW_MAPPING_BLEND",{a:"equal_expr",i:2},{a:"logical_or_expr",
  1541. i:6}],h:{a:"grp",d:[{a:"txt",b:["i","=","bC",";"]}]}}]},{a:"txt",b:"vec4 f = u_proj_matrix * bC ;".split(" ")},{a:"cond",d:[{a:"if",g:["SMAA_JITTER"],h:{a:"grp",d:[{a:"txt",b:"f . xy += u_subpixel_jitter * f . w ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2},"SHADOW_USAGE","SHADOW_MAPPING_OPAQUE",{a:"equal_expr",i:2},"REFRACTIVE","USE_POSITION_CLIP",{a:"logical_or_expr",i:4}],h:{a:"grp",d:[{a:"txt",b:"l = as ( f ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",
  1542. g:["SHADOW_USAGE","SHADOW_MAPPING_BLEND",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"bD ( al . N , al . P ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["REFRACTIVE","NODES",{a:"logic_negative_expr",i:1},"USE_NODE_B4W_REFRACTION",{a:"logical_or_expr",i:2},{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"m = - bC . z / u_view_max_depth ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["NODES"],h:{a:"grp",d:[{a:"txt",b:["I","(",")",";"]}]}}]},{a:"txt",b:["gl_Position","=","f",";","}"]}]};a["main_stack.glslf"]=
  1543. {a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"var",c:"PRECISION",b:["highp"]},{a:"var",c:"TEXTURE_NORM_CO",b:["TEXTURE_COORDS_NONE"]},{a:"var",c:"TEXTURE_SPEC_CO",b:["TEXTURE_COORDS_NONE"]},{a:"var",c:"CAUSTICS",b:["0"]},{a:"var",c:"USE_FOG",b:["0"]},{a:"var",c:"TEXTURE_COLOR0_CO",b:["TEXTURE_COORDS_NONE"]},{a:"var",c:"TEXTURE_COLOR1_CO",b:["TEXTURE_COORDS_NONE"]},{a:"var",c:"PARALLAX",b:["0"]},{a:"var",c:"CALC_TBN_SPACE",b:["0"]},{a:"var",c:"USE_TBN_SHADING",b:["0"]},{a:"var",c:"REFLECTION_PASS",
  1544. b:["REFL_PASS_PLANE"]},{a:"var",c:"TEXTURE_SPEC",b:["0"]},{a:"var",c:"ALPHA_AS_SPEC",b:["0"]},{a:"var",c:"TEXTURE_STENCIL_ALPHA_MASK",b:["0"]},{a:"var",c:"TEXTURE_STENCIL_ALPHA_MASK_CO",b:["TEXTURE_COORDS_NONE"]},{a:"var",c:"NORMAL_TEXCOORD",b:["0"]},{a:"var",c:"USE_REFRACTION_CORRECTION",b:["0"]},{a:"var",c:"DOUBLE_SIDED_LIGHTING",b:["0"]},{a:"var",c:"SHADELESS",b:["0"]},{a:"var",c:"TEXCOORD",b:["0"]},{a:"var",c:"VERTEX_COLOR",b:["0"]},{a:"var",c:"WETTABLE",b:["0"]},{a:"var",c:"CSM_SECTION1",b:["0"]},
  1545. {a:"var",c:"CSM_SECTION2",b:["0"]},{a:"var",c:"CSM_SECTION3",b:["0"]},{a:"var",c:"NUM_CAST_LAMPS",b:["0"]},{a:"var",c:"NUM_LIGHTS",b:["0"]},{a:"var",c:"WATER_LEVEL",b:["0.0"]},{a:"var",c:"PROCEDURAL_FOG",b:["0"]},{a:"var",c:"TEXTURE_BLEND_TYPE",b:["TEXTURE_BLEND_TYPE_MIX"]},{a:"var",c:"SKY_TEXTURE",b:["0"]},{a:"var",c:"SKY_COLOR",b:["0"]},{a:"var",c:"ALPHA",b:["0"]},{a:"var",c:"ALPHA_CLIP",b:["0"]},{a:"var",c:"PARALLAX_LOD_DIST",b:["5.0"]},{a:"var",c:"PARALLAX_STEPS",b:["5.0"]},{a:"var",c:"USE_ENVIRONMENT_LIGHT",
  1546. b:["0"]},{a:"var",c:"REFLECTION_TYPE",b:["REFL_NONE"]},{a:"var",c:"REFRACTIVE",b:["0"]},{a:"var",c:"DISABLE_FOG",b:["0"]},{a:"var",c:"WATER_EFFECTS",b:["0"]},{a:"var",c:"SHADOW_USAGE",b:["NO_SHADOWS"]},{a:"var",c:"DYNAMIC_GRASS",b:["0"]},{a:"var",c:"POISSON_DISK_NUM",b:["NO_SOFT_SHADOWS"]},{a:"var",c:"SSAO_ONLY",b:["0"]},{a:"include",o:"precision_statement.glslf"},{a:"include",o:"std.glsl"},{a:"include",o:"color_util.glslf"},{a:"include",o:"math.glslv"},{a:"cond",d:[{a:"if",g:["SHADELESS",{a:"logic_negative_expr",
  1547. i:1}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["CAUSTICS"],h:{a:"grp",d:[{a:"include",o:"caustics.glslf"}]}}]}]}}]},{a:"txt",b:["uniform","float","u_time",";"]},{a:"cond",d:[{a:"if",g:["USE_ENVIRONMENT_LIGHT","SKY_TEXTURE",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","samplerCube","u_sky_texture",";"]}]}},{a:"elif",g:["USE_ENVIRONMENT_LIGHT","SKY_COLOR",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"uniform vec3 u_horizon_color ; uniform vec3 u_zenith_color ;".split(" ")}]}}]},
  1548. {a:"txt",b:["uniform","float","u_environment_energy",";"]},{a:"cond",d:[{a:"if",g:["SHADELESS",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["NUM_LIGHTS",0,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"uniform vec4 u_light_positions [ NUM_LIGHTS ] ; uniform vec3 u_light_directions [ NUM_LIGHTS ] ; uniform vec4 u_light_color_intensities [ NUM_LIGHTS ] ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["CAUSTICS"],h:{a:"grp",d:[{a:"txt",b:"uniform vec4 u_sun_quaternion ; uniform vec3 u_sun_intensity ; uniform vec3 u_sun_direction ;".split(" ")}]}}]}]}}]},
  1549. {a:"cond",d:[{a:"if",g:["NORMAL_TEXCOORD","REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2},"REFRACTIVE",{a:"logical_or_expr",i:3}],h:{a:"grp",d:[{a:"txt",b:["uniform","mat3","u_view_tsr_frag",";"]}]}}]},{a:"cond",d:[{a:"if",g:["DISABLE_FOG",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"txt",b:["uniform","vec4","u_fog_color_density",";"]},{a:"cond",d:[{a:"if",g:["WATER_EFFECTS"],h:{a:"grp",d:[{a:"txt",b:"uniform vec4 u_underwater_fog_color_density ; uniform float u_cam_water_depth ;".split(" ")}]}}]},
  1550. {a:"cond",d:[{a:"if",g:["PROCEDURAL_FOG"],h:{a:"grp",d:[{a:"txt",b:["uniform","mat4","u_cube_fog",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_FOG"],h:{a:"grp",d:[{a:"txt",b:["uniform","vec4","u_fog_params",";"]}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["TEXTURE_COLOR0_CO","TEXTURE_COORDS_NONE",{a:"non_equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","sampler2D","u_colormap0",";"]}]}}]},{a:"cond",d:[{a:"if",g:["TEXTURE_SPEC","ALPHA_AS_SPEC",{a:"logic_negative_expr",i:1},{a:"logical_and_expr",i:2}],h:{a:"grp",
  1551. d:[{a:"txt",b:["uniform","sampler2D","u_specmap0",";"]}]}}]},{a:"cond",d:[{a:"if",g:["TEXTURE_NORM_CO","TEXTURE_COORDS_NONE",{a:"non_equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","sampler2D","u_normalmap0",";"]}]}}]},{a:"cond",d:[{a:"if",g:["TEXTURE_STENCIL_ALPHA_MASK"],h:{a:"grp",d:[{a:"txt",b:"uniform sampler2D u_colormap1 ; uniform sampler2D u_stencil0 ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","sampler2D",
  1552. "u_plane_reflection",";"]}]}},{a:"elif",g:["REFLECTION_TYPE","REFL_CUBE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","samplerCube","u_cube_reflection",";"]}]}},{a:"elif",g:["REFLECTION_TYPE","REFL_MIRRORMAP",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","samplerCube","u_mirrormap",";"]}]}}]},{a:"cond",d:[{a:"if",g:["SHADOW_USAGE","SHADOW_MAPPING_OPAQUE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","sampler2D","u_shadow_mask",";"]}]}},{a:"elif",g:["SHADOW_USAGE",
  1553. "SHADOW_MAPPING_BLEND",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["POISSON_DISK_NUM","NO_SOFT_SHADOWS",{a:"non_equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","vec4","u_pcf_blur_radii",";"]}]}}]},{a:"txt",b:"uniform vec4 u_csm_center_dists ; uniform PRECISION GLSL_SMPLR2D_SHDW u_shadow_map0 ;".split(" ")},{a:"cond",d:[{a:"if",g:["CSM_SECTION1","NUM_CAST_LAMPS",1,{a:"g_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","PRECISION","GLSL_SMPLR2D_SHDW","u_shadow_map1",
  1554. ";"]}]}}]},{a:"cond",d:[{a:"if",g:["CSM_SECTION2","NUM_CAST_LAMPS",2,{a:"g_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","PRECISION","GLSL_SMPLR2D_SHDW","u_shadow_map2",";"]}]}}]},{a:"cond",d:[{a:"if",g:["CSM_SECTION3","NUM_CAST_LAMPS",3,{a:"g_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","PRECISION","GLSL_SMPLR2D_SHDW","u_shadow_map3",";"]}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["REFRACTIVE"],h:{a:"grp",d:[{a:"txt",b:["uniform","sampler2D","u_refractmap",
  1555. ";"]}]}}]},{a:"cond",d:[{a:"if",g:["REFRACTIVE","USE_REFRACTION_CORRECTION",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","PRECISION","sampler2D","u_scene_depth",";"]}]}}]},{a:"txt",b:"uniform float u_emit ; uniform float u_ambient ; uniform vec4 u_fresnel_params ; uniform float u_specular_alpha ;".split(" ")},{a:"cond",d:[{a:"if",g:["REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2},"REFLECTION_TYPE","REFL_CUBE",{a:"equal_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",
  1556. b:["uniform","float","u_reflect_factor",";"]}]}},{a:"elif",g:["REFLECTION_TYPE","REFL_MIRRORMAP",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","float","u_mirror_factor",";"]}]}}]},{a:"cond",d:[{a:"if",g:["REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","vec4","u_refl_plane",";"]}]}}]},{a:"txt",b:"uniform vec4 u_diffuse_color ; uniform vec2 u_diffuse_params ; uniform float u_diffuse_intensity ;".split(" ")},{a:"cond",d:[{a:"if",g:["TEXTURE_NORM_CO",
  1557. "TEXTURE_COORDS_NONE",{a:"non_equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","float","u_normal_factor",";"]}]}}]},{a:"cond",d:[{a:"if",g:["TEXTURE_COLOR0_CO","TEXTURE_COORDS_NONE",{a:"non_equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"uniform float u_diffuse_color_factor ; uniform float u_alpha_factor ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["TEXTURE_SPEC"],h:{a:"grp",d:[{a:"txt",b:["uniform","float","u_specular_color_factor",";"]}]}}]},{a:"txt",b:"uniform vec3 u_specular_color ; uniform vec3 u_specular_params ;".split(" ")},
  1558. {a:"cond",d:[{a:"if",g:["TEXTURE_NORM_CO","TEXTURE_COORDS_NONE",{a:"non_equal_expr",i:2},"PARALLAX",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","float","u_parallax_scale",";"]}]}}]},{a:"cond",d:[{a:"if",g:["REFRACTIVE"],h:{a:"grp",d:[{a:"txt",b:["uniform","float","u_refr_bump",";"]}]}}]},{a:"txt",b:"GLSL_IN vec3 h ; GLSL_IN vec3 j ;".split(" ")},{a:"cond",d:[{a:"if",g:["DISABLE_FOG",{a:"logic_negative_expr",i:1},"TEXTURE_NORM_CO","TEXTURE_COORDS_NONE",{a:"non_equal_expr",i:2},
  1559. "PARALLAX",{a:"logical_and_expr",i:2},"SHADELESS",{a:"logic_negative_expr",i:1},"CAUSTICS",{a:"logical_and_expr",i:2},"SHADOW_USAGE","SHADOW_MASK_GENERATION",{a:"equal_expr",i:2},"SHADOW_USAGE","SHADOW_MAPPING_BLEND",{a:"equal_expr",i:2},{a:"logical_or_expr",i:5}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec4","i",";"]}]}}]},{a:"cond",d:[{a:"if",g:["TEXTURE_NORM_CO","TEXTURE_COORDS_NONE",{a:"non_equal_expr",i:2},"CALC_TBN_SPACE",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec4","k",
  1560. ";"]}]}}]},{a:"txt",b:["GLSL_IN","vec3","bw",";"]},{a:"cond",d:[{a:"if",g:["USE_TBN_SHADING"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec3","B",";"]}]}}]},{a:"cond",d:[{a:"if",g:["TEXCOORD"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec2","A",";"]}]}}]},{a:"cond",d:[{a:"if",g:["VERTEX_COLOR","DYNAMIC_GRASS",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec3","bx",";"]}]}}]},{a:"cond",d:[{a:"if",g:["SHADOW_USAGE","SHADOW_MAPPING_BLEND",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN",
  1561. "vec4","n",";"]},{a:"cond",d:[{a:"if",g:["CSM_SECTION1","NUM_CAST_LAMPS",1,{a:"g_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec4","o",";"]}]}}]},{a:"cond",d:[{a:"if",g:["CSM_SECTION2","NUM_CAST_LAMPS",2,{a:"g_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec4","u",";"]}]}}]},{a:"cond",d:[{a:"if",g:["CSM_SECTION3","NUM_CAST_LAMPS",3,{a:"g_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec4","v",";"]}]}}]}]}}]},
  1562. {a:"cond",d:[{a:"if",g:["REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2},"SHADOW_USAGE","SHADOW_MAPPING_OPAQUE",{a:"equal_expr",i:2},"REFRACTIVE",{a:"logical_or_expr",i:3}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec3","l",";"]}]}}]},{a:"cond",d:[{a:"if",g:["REFRACTIVE"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","float","m",";"]}]}}]},{a:"txt",b:["GLSL_OUT","vec4","GLSL_OUT_FRAG_COLOR",";"]},{a:"cond",d:[{a:"if",g:["SHADELESS",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"include",o:"shadow.glslf"}]}}]},
  1563. {a:"include",o:"mirror.glslf"},{a:"cond",d:[{a:"if",g:["REFRACTIVE"],h:{a:"grp",d:[{a:"include",o:"refraction.glslf"}]}}]},{a:"include",o:"environment.glslf"},{a:"cond",d:[{a:"if",g:["SHADELESS",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"include",o:"lighting_nodes.glslf"}]}}]},{a:"cond",d:[{a:"if",g:["DISABLE_FOG",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"include",o:"fog.glslf"}]}}]},{a:"txt",b:["void","main","(",")","{"]},{a:"cond",d:[{a:"if",g:["DISABLE_FOG",{a:"logic_negative_expr",
  1564. i:1},"TEXTURE_NORM_CO","TEXTURE_COORDS_NONE",{a:"non_equal_expr",i:2},"PARALLAX",{a:"logical_and_expr",i:2},"SHADELESS",{a:"logic_negative_expr",i:1},"CAUSTICS","WATER_EFFECTS",{a:"logical_and_expr",i:3},{a:"logical_or_expr",i:3}],h:{a:"grp",d:[{a:"txt",b:"float bp = length ( i ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["WATER_EFFECTS"],h:{a:"grp",d:[{a:"txt",b:"float bq = h . z - WATER_LEVEL ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["TEXCOORD"],h:{a:"grp",d:[{a:"txt",b:["vec2","bE","=","A",
  1565. ";"]}]}}]},{a:"txt",b:"vec3 bF = normalize ( j ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["DOUBLE_SIDED_LIGHTING"],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["REFLECTION_PASS","REFL_PASS_PLANE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"if ( gl_FrontFacing == false )".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:["if","(","gl_FrontFacing",")"]}]}}]},{a:"txt",b:"bF = bF ; else bF = - bF ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["TEXTURE_NORM_CO","TEXTURE_COORDS_NONE",{a:"non_equal_expr",i:2}],
  1566. h:{a:"grp",d:[{a:"txt",b:"vec3 R = cross ( bF , k . xyz ) * k . w ; R = normalize ( R ) ; vec3 Q = cross ( R , bF ) * k . w ; mat3 bG = mat3 ( Q , R , bF ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["NORMAL_TEXCOORD","REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2},"REFRACTIVE",{a:"logical_or_expr",i:3}],h:{a:"grp",d:[{a:"txt",b:["mat3","M","=","u_view_tsr_frag",";"]}]}}]},{a:"cond",d:[{a:"if",g:["NORMAL_TEXCOORD"],h:{a:"grp",d:[{a:"txt",b:"vec2 bH = normalize ( T ( M , j ) ) . st ; bH = bH * vec2 ( 0.495 ) + vec2 ( 0.5 ) ;".split(" ")}]}}]},
  1567. {a:"cond",d:[{a:"if",g:["TEXTURE_NORM_CO","TEXTURE_COORDS_NONE",{a:"non_equal_expr",i:2},"PARALLAX",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"if ( bp < PARALLAX_LOD_DIST ) { float bI = clamp ( 0.5 * ( PARALLAX_LOD_DIST - bp ) , 0.0 , 1.0 ) ; float bJ = u_parallax_scale * bI ; vec3 bK = normalize ( bw * bG ) ; float bL = 1.0 / PARALLAX_STEPS ; vec2 bM = bK . xy * bJ / ( PARALLAX_STEPS * bK . z ) ; float bN = 1.0 ; float bO ;".split(" ")},{a:"cond",d:[{a:"if",g:["TEXTURE_NORM_CO","TEXTURE_COORDS_NORMAL",
  1568. {a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["vec2","bP","=","bH",";"]}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:["vec2","bP","=","bE",";"]}]}}]},{a:"txt",b:"bO = GLSL_TEXTURE ( u_normalmap0 , bP ) . a ; for ( float bQ = 1.0 ; bQ <= PARALLAX_STEPS ; bQ ++ ) { if ( bO < bN ) { bN -= bL ; bP -= bM ; bO = GLSL_TEXTURE ( u_normalmap0 , bP ) . a ; } } vec2 bR = bP + bM ; float bS = GLSL_TEXTURE ( u_normalmap0 , bR ) . a - ( bN + bL ) ; float bT = bO - bN ; float bU = bT / ( bT - bS ) ; bP = bU * bR + ( 1.0 - bU ) * bP ;".split(" ")},
  1569. {a:"cond",d:[{a:"if",g:["TEXTURE_NORM_CO","TEXTURE_COORDS_NORMAL",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["TEXCOORD"],h:{a:"grp",d:[{a:"txt",b:"bE += bP - bH ;".split(" ")}]}}]},{a:"txt",b:["bH","=","bP",";"]}]}},{a:"else",h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["NORMAL_TEXCOORD"],h:{a:"grp",d:[{a:"txt",b:"bH += bP - bE ;".split(" ")}]}}]},{a:"txt",b:["bE","=","bP",";"]}]}}]},{a:"txt",b:["}"]}]}}]},{a:"cond",d:[{a:"if",g:["TEXTURE_NORM_CO","TEXTURE_COORDS_NONE",{a:"non_equal_expr",
  1570. i:2}],h:{a:"grp",d:[{a:"txt",b:["vec4","bV",";"]},{a:"cond",d:[{a:"if",g:["TEXTURE_NORM_CO","TEXTURE_COORDS_NORMAL",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"bV = GLSL_TEXTURE ( u_normalmap0 , bH ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"bV = GLSL_TEXTURE ( u_normalmap0 , bE ) ;".split(" ")}]}}]},{a:"txt",b:"vec3 bW = bV . rgb - 0.5 ; bW = mix ( vec3 ( 0.0 , 0.0 , 1.0 ) , bW , u_normal_factor ) ; vec3 P = bG * bW ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:["vec3","P",
  1571. "=","bF",";"]}]}}]},{a:"txt",b:"P = normalize ( P ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["NORMAL_TEXCOORD"],h:{a:"grp",d:[{a:"txt",b:"bH = normalize ( T ( M , P ) ) . st ; bH = bH * vec2 ( 0.495 ) + vec2 ( 0.5 ) ;".split(" ")}]}}]},{a:"txt",b:"vec3 C = normalize ( bw ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["VERTEX_COLOR","DYNAMIC_GRASS",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec3 bX = bx ; bY ( bX ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["VERTEX_COLOR","DYNAMIC_GRASS",{a:"logical_or_expr",
  1572. i:2}],h:{a:"grp",d:[{a:"txt",b:"vec4 bZ = vec4 ( bX , 1.0 ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:["vec4","bZ","=","u_diffuse_color",";"]}]}}]},{a:"txt",b:["float","b_","=","1.0",";"]},{a:"cond",d:[{a:"if",g:["TEXTURE_COLOR0_CO","TEXTURE_COORDS_NORMAL",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec4 ca = GLSL_TEXTURE ( u_colormap0 , bH ) ;".split(" ")}]}},{a:"elif",g:["TEXTURE_COLOR0_CO","TEXTURE_COORDS_UV_ORCO",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec4 ca = GLSL_TEXTURE ( u_colormap0 , bE ) ;".split(" ")}]}}]},
  1573. {a:"cond",d:[{a:"if",g:["TEXTURE_COLOR0_CO","TEXTURE_COORDS_NONE",{a:"non_equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"bY ( ca . rgb ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["TEXTURE_STENCIL_ALPHA_MASK"],h:{a:"grp",d:[{a:"txt",b:["vec4","cb",";"]},{a:"cond",d:[{a:"if",g:["TEXTURE_COLOR1_CO","TEXTURE_COORDS_NORMAL",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"cb = GLSL_TEXTURE ( u_colormap1 , bH ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"cb = GLSL_TEXTURE ( u_colormap1 , bE ) ;".split(" ")}]}}]},
  1574. {a:"txt",b:"bY ( cb . rgb ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["TEXTURE_STENCIL_ALPHA_MASK_CO","TEXTURE_COORDS_NORMAL",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec4 cc = GLSL_TEXTURE ( u_stencil0 , bH ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"vec4 cc = GLSL_TEXTURE ( u_stencil0 , bE ) ;".split(" ")}]}}]},{a:"txt",b:"ca = mix ( ca , cb , cc . r ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["TEXTURE_BLEND_TYPE","TEXTURE_BLEND_TYPE_MIX",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",
  1575. b:"bZ . rgb = mix ( bZ . rgb , ca . rgb , u_diffuse_color_factor ) ; float L = u_alpha_factor * ca . a ; L += ( 1.0 - step ( 0.0 , L ) ) ; bZ . a = mix ( L , 1.0 , u_diffuse_color . a ) ; b_ = ca . a ;".split(" ")}]}},{a:"elif",g:["TEXTURE_BLEND_TYPE","TEXTURE_BLEND_TYPE_MULTIPLY",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"bZ . rgb *= mix ( vec3 ( 1.0 ) , ca . rgb , u_diffuse_color_factor ) ; bZ . a = ca . a ; b_ = ca . a ;".split(" ")}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["SHADELESS"],h:{a:"grp",
  1576. d:[{a:"txt",b:"vec3 aG = bZ . rgb ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"vec3 cd = u_diffuse_intensity * bZ . rgb ; vec3 cf = u_environment_energy * ce ( P ) ; vec3 cg = u_ambient * cf ; vec4 bs = ch ( cd ) ; vec3 ci = u_emit * bZ . rgb ; vec3 cj = u_specular_color ;".split(" ")},{a:"cond",d:[{a:"if",g:["TEXTURE_SPEC"],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["ALPHA_AS_SPEC"],h:{a:"grp",d:[{a:"txt",b:"vec3 ck = vec3 ( b_ ) ;".split(" ")}]}},{a:"elif",g:["TEXTURE_SPEC_CO","TEXTURE_COORDS_NORMAL",
  1577. {a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec3 ck = GLSL_TEXTURE ( u_specmap0 , bH ) . rgb ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"vec3 ck = GLSL_TEXTURE ( u_specmap0 , bE ) . rgb ;".split(" ")}]}}]},{a:"txt",b:"bY ( ck . rgb ) ; cj = mix ( cj , ck , u_specular_color_factor ) ;".split(" ")}]}}]},{a:"txt",b:"float cl = u_specular_params [ 0 ] ; vec2 cm = vec2 ( u_specular_params [ 1 ] , u_specular_params [ 2 ] ) ; vec3 cn = cl * cj ; vec3 aG ; vec3 co ; cp ( ci , cg , cd , cn , h , P , C , cm , u_diffuse_params , bs , 0.0 , vec4 ( 0.0 ) , aG , co ) ;".split(" ")}]}}]},
  1578. {a:"cond",d:[{a:"if",g:["REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"cq ( aG , C , P , u_reflect_factor , M ) ;".split(" ")}]}},{a:"elif",g:["REFLECTION_TYPE","REFL_CUBE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"cq ( aG , C , P , u_reflect_factor , mat3 ( 0.0 ) ) ;".split(" ")}]}},{a:"elif",g:["REFLECTION_TYPE","REFL_MIRRORMAP",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"cq ( aG , C , P , u_mirror_factor , mat3 ( 0.0 ) ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",
  1579. g:["SHADELESS",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"txt",b:["aG","+=","co",";"]}]}}]},{a:"txt",b:"float J = bZ . a ;".split(" ")},{a:"cond",d:[{a:"if",g:["SHADELESS",{a:"logic_negative_expr",i:1},"WATER_EFFECTS",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["WETTABLE"],h:{a:"grp",d:[{a:"txt",b:"aG = max ( aG - sqrt ( 0.01 * - min ( bq , 0.0 ) ) , 0.5 * aG ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["CAUSTICS"],h:{a:"grp",d:[{a:"txt",b:"bt ( aG , bq , u_time , bs , P , u_sun_direction , u_sun_intensity , u_sun_quaternion , h , bp ) ;".split(" ")}]}}]}]}}]},
  1580. {a:"cond",d:[{a:"if",g:["ALPHA"],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["ALPHA_CLIP"],h:{a:"grp",d:[{a:"txt",b:"if ( J < 0.5 ) discard ; J = 1.0 ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["SHADELESS",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"txt",b:"float t = max ( max ( co . r , co . g ) , co . b ) * u_specular_alpha ; J = bZ . a * ( 1.0 - t ) + t ;".split(" ")}]}}]}]}}]}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:["J","=","1.0",";"]}]}}]},{a:"cond",d:[{a:"if",g:["REFRACTIVE"],
  1581. h:{a:"grp",d:[{a:"txt",b:"vec2 cr = - ( T ( M , P ) ) . xy ; aG = mix ( cs ( l , cr * u_refr_bump ) , aG , J ) ; J = 1.0 ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["DISABLE_FOG",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["WATER_EFFECTS"],h:{a:"grp",d:[{a:"txt",b:"bu ( aG , bp , C , bq ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"bu ( aG , bp , C , 1.0 ) ;".split(" ")}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["SSAO_ONLY","SHADOW_USAGE","SHADOW_MAPPING_OPAQUE",{a:"equal_expr",
  1582. i:2},{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"float bv = GLSL_TEXTURE_PROJ ( u_shadow_mask , l ) . a ; aG = vec3 ( bv ) ;".split(" ")}]}}]},{a:"txt",b:["aM","(","aG",")",";"]},{a:"cond",d:[{a:"if",g:["ALPHA","ALPHA_CLIP",{a:"logic_negative_expr",i:1},{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"aN ( aG , J ) ;".split(" ")}]}}]},{a:"txt",b:"GLSL_OUT_FRAG_COLOR = vec4 ( aG , J ) ; }".split(" ")}]};a["particle_system.glslf"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"var",
  1583. c:"NUM_VALUES",b:["0"]},{a:"var",c:"NUM_RGBS",b:["0"]},{a:"var",c:"PRECISION",b:["highp"]},{a:"var",c:"NUM_LAMP_LIGHTS",b:["0"]},{a:"var",c:"NUM_LIGHTS",b:["0"]},{a:"var",c:"PROCEDURAL_FOG",b:["0"]},{a:"var",c:"SKY_TEXTURE",b:["0"]},{a:"var",c:"NORMAL_TEXCOORD",b:["0"]},{a:"var",c:"USE_VIEW_TSR",b:["0"]},{a:"var",c:"USE_VIEW_TSR_INVERSE",b:["0"]},{a:"var",c:"USE_MODEL_TSR",b:["0"]},{a:"var",c:"USE_MODEL_TSR_INVERSE",b:["0"]},{a:"var",c:"ALPHA",b:["0"]},{a:"var",c:"ALPHA_CLIP",b:["0"]},{a:"var",c:"SOFT_STRENGTH",
  1584. b:["0.25"]},{a:"var",c:"SOFT_PARTICLES",b:["0"]},{a:"var",c:"NODES",b:["0"]},{a:"var",c:"DISABLE_FOG",b:["0"]},{a:"var",c:"WATER_EFFECTS",b:["0"]},{a:"var",c:"USE_FOG",b:["0"]},{a:"var",c:"USE_ENVIRONMENT_LIGHT",b:["0"]},{a:"var",c:"SKY_COLOR",b:["0"]},{a:"var",c:"REFLECTION_TYPE",b:["REFL_NONE"]},{a:"var",c:"TEXTURE_NORM_CO",b:["TEXTURE_COORDS_NONE"]},{a:"var",c:"CALC_TBN_SPACE",b:["0"]},{a:"var",c:"USE_TBN_SHADING",b:["0"]},{a:"var",c:"TEXTURE_COLOR",b:["0"]},{a:"var",c:"CAMERA_TYPE",b:["CAM_TYPE_PERSP"]},
  1585. {a:"var",c:"USE_POSITION_CLIP",b:["0"]},{a:"var",c:"USE_DERIVATIVES_EXT",b:["0"]},{a:"cond",d:[{a:"if",g:["USE_DERIVATIVES_EXT"],h:{a:"grp",d:[{a:"extension",b:["GL_OES_standard_derivatives",":","enable"]}]}}]},{a:"include",o:"precision_statement.glslf"},{a:"include",o:"std.glsl"},{a:"include",o:"color_util.glslf"},{a:"cond",d:[{a:"if",g:["SOFT_PARTICLES","NODES",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"include",o:"pack.glslf"}]}}]},{a:"txt",b:["uniform","float","u_environment_energy",";"]},{a:"cond",
  1586. d:[{a:"if",g:["NUM_LIGHTS",0,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"uniform vec4 u_light_positions [ NUM_LIGHTS ] ; uniform vec3 u_light_directions [ NUM_LIGHTS ] ; uniform vec4 u_light_color_intensities [ NUM_LIGHTS ] ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["DISABLE_FOG",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"txt",b:["uniform","vec4","u_fog_color_density",";"]},{a:"cond",d:[{a:"if",g:["WATER_EFFECTS"],h:{a:"grp",d:[{a:"txt",b:"uniform vec4 u_underwater_fog_color_density ; uniform float u_cam_water_depth ;".split(" ")}]}}]},
  1587. {a:"cond",d:[{a:"if",g:["PROCEDURAL_FOG"],h:{a:"grp",d:[{a:"txt",b:["uniform","mat4","u_cube_fog",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_FOG"],h:{a:"grp",d:[{a:"txt",b:["uniform","vec4","u_fog_params",";"]}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["USE_ENVIRONMENT_LIGHT","SKY_TEXTURE",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","samplerCube","u_sky_texture",";"]}]}},{a:"elif",g:["USE_ENVIRONMENT_LIGHT","SKY_COLOR",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"uniform vec3 u_horizon_color ; uniform vec3 u_zenith_color ;".split(" ")}]}}]},
  1588. {a:"txt",b:"uniform float u_emit ; uniform float u_ambient ; uniform float u_time ; uniform vec3 u_camera_eye_frag ;".split(" ")},{a:"cond",d:[{a:"if",g:["USE_NODE_FRESNEL","USE_NODE_LAYER_WEIGHT",{a:"logical_or_expr",i:2},"CAMERA_TYPE","CAM_TYPE_ORTHO",{a:"equal_expr",i:2},{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","vec3","u_camera_direction",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_NODE_LAMP"],h:{a:"grp",d:[{a:"txt",b:"uniform vec3 u_lamp_light_positions [ NUM_LAMP_LIGHTS ] ; uniform vec3 u_lamp_light_directions [ NUM_LAMP_LIGHTS ] ; uniform vec3 u_lamp_light_color_intensities [ NUM_LAMP_LIGHTS ] ;".split(" ")}]}}]},
  1589. {a:"cond",d:[{a:"if",g:["USE_NODE_VALUE"],h:{a:"grp",d:[{a:"txt",b:"uniform float u_node_values [ NUM_VALUES ] ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["USE_NODE_RGB"],h:{a:"grp",d:[{a:"txt",b:"uniform vec3 u_node_rgbs [ NUM_RGBS ] ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["NORMAL_TEXCOORD","REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2},"USE_VIEW_TSR",{a:"logical_or_expr",i:3}],h:{a:"grp",d:[{a:"txt",b:["uniform","mat3","u_view_tsr_frag",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_VIEW_TSR_INVERSE"],
  1590. h:{a:"grp",d:[{a:"txt",b:["uniform","mat3","u_view_tsr_inverse",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_MODEL_TSR"],h:{a:"grp",d:[{a:"txt",b:["uniform","mat3","u_model_tsr",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_MODEL_TSR_INVERSE"],h:{a:"grp",d:[{a:"txt",b:["uniform","mat3","u_model_tsr_inverse",";"]}]}}]},{a:"cond",d:[{a:"if",g:["SOFT_PARTICLES"],h:{a:"grp",d:[{a:"txt",b:"uniform PRECISION sampler2D u_scene_depth ; uniform float u_view_max_depth ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["USE_NODE_CURVE_VEC",
  1591. "USE_NODE_CURVE_RGB","USE_NODE_VALTORGB",{a:"logical_or_expr",i:3}],h:{a:"grp",d:[{a:"txt",b:["uniform","sampler2D","u_nodes_texture",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_NODE_OBJECT_INFO"],h:{a:"grp",d:[{a:"txt",b:["uniform","vec3","u_obj_info",";"]}]}}]},{a:"cond",d:[{a:"if",g:["TEXTURE_NORM_CO","TEXTURE_COORDS_NONE",{a:"non_equal_expr",i:2},"CALC_TBN_SPACE","USE_TBN_SHADING",{a:"logical_or_expr",i:3}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec4","k",";"]}]}}]},{a:"cond",d:[{a:"if",g:["SOFT_PARTICLES",
  1592. "USE_POSITION_CLIP",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec3","l",";"]}]}}]},{a:"cond",d:[{a:"if",g:["TEXTURE_COLOR","USE_NODE_TEX_COORD_UV","USE_NODE_UV_MERGED","USE_NODE_UVMAP","USE_NODE_GEOMETRY_UV","USE_NODE_GEOMETRY_OR","USE_NODE_TEX_COORD_GE",{a:"logical_or_expr",i:7}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec2","A",";"]}]}}]},{a:"txt",b:["GLSL_IN","vec3","h",";"]},{a:"cond",d:[{a:"if",g:["SOFT_PARTICLES","DISABLE_FOG",{a:"logic_negative_expr",i:1},"NODES",{a:"logical_or_expr",
  1593. i:3}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec4","i",";"]}]}}]},{a:"txt",b:"GLSL_IN vec3 j ; GLSL_OUT vec4 GLSL_OUT_FRAG_COLOR ;".split(" ")},{a:"cond",d:[{a:"if",g:["DISABLE_FOG",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"include",o:"fog.glslf"}]}}]},{a:"include",o:"math.glslv"},{a:"include",o:"particles_nodes.glslf"},{a:"txt",b:"void main ( ) { vec3 C = normalize ( u_camera_eye_frag - h ) ; vec3 D ; vec3 E ; vec3 F ; vec4 G ; float H ; I ( C , D , E , F , G , H ) ; vec3 aG = D ; float J = H ;".split(" ")},
  1594. {a:"cond",d:[{a:"if",g:["ALPHA"],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["ALPHA_CLIP"],h:{a:"grp",d:[{a:"txt",b:"if ( J < 0.5 ) discard ; J = 1.0 ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"J = min ( 1.0 , J ) ;".split(" ")}]}}]}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:["J","=","1.0",";"]}]}}]},{a:"cond",d:[{a:"if",g:["DISABLE_FOG",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"txt",b:"bu ( aG , length ( i ) , C , 1.0 ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["SOFT_PARTICLES"],h:{a:"grp",
  1595. d:[{a:"txt",b:"float ct = - i . z / u_view_max_depth ; vec4 cu = GLSL_TEXTURE_PROJ ( u_scene_depth , l ) ; float cw = cv ( cu ) ; float cx = cw - ct ; float cy = u_view_max_depth / SOFT_STRENGTH * cx ; J = J * min ( cy , 1.0 ) ;".split(" ")}]}}]},{a:"txt",b:["aM","(","aG",")",";"]},{a:"cond",d:[{a:"if",g:["ALPHA","ALPHA_CLIP",{a:"logic_negative_expr",i:1},{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"aN ( aG , J ) ;".split(" ")}]}}]},{a:"txt",b:"GLSL_OUT_FRAG_COLOR = vec4 ( aG , J ) ; }".split(" ")}]};
  1596. a["particle_system.glslv"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"var",c:"BILLBOARD_ALIGN",b:["BILLBOARD_ALIGN_VIEW"]},{a:"var",c:"TEXTURE_NORM_CO",b:["TEXTURE_COORDS_NONE"]},{a:"var",c:"CALC_TBN_SPACE",b:["0"]},{a:"var",c:"USE_TBN_SHADING",b:["0"]},{a:"var",c:"NODES",b:["0"]},{a:"var",c:"HALO_PARTICLES",b:["0"]},{a:"var",c:"TEXTURE_COLOR",b:["0"]},{a:"var",c:"PARTICLES_SHADELESS",b:["0"]},{a:"var",c:"DISABLE_FOG",b:["0"]},{a:"var",c:"SOFT_PARTICLES",b:["0"]},{a:"var",c:"COLOR_RAMP_LENGTH",
  1597. b:["0"]},{a:"var",c:"REFLECTION_PASS",b:["REFL_PASS_NONE"]},{a:"var",c:"WORLD_SPACE",b:["0"]},{a:"var",c:"USE_COLOR_RAMP",b:["0"]},{a:"var",c:"USE_POSITION_CLIP",b:["0"]},{a:"var",c:"CAUSTICS",b:["0"]},{a:"var",c:"WIND_BEND",b:["0"]},{a:"var",c:"MAIN_BEND_COL",b:["0"]},{a:"var",c:"DETAIL_BEND",b:["0"]},{a:"include",o:"std.glsl"},{a:"txt",b:"GLSL_IN vec3 a_position ; GLSL_IN vec4 a_tbn_quat ; GLSL_IN vec3 a_p_data ; GLSL_IN vec4 a_p_vels ; GLSL_IN vec2 a_p_bb_vertex ;".split(" ")},{a:"cond",d:[{a:"if",
  1598. g:["NODES",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["HALO_PARTICLES",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","float","cz",";"]}]}}]},{a:"txt",b:["GLSL_OUT","vec3","bx",";"]}]}}]},{a:"cond",d:[{a:"if",g:["TEXTURE_NORM_CO","TEXTURE_COORDS_NONE",{a:"non_equal_expr",i:2},"CALC_TBN_SPACE","USE_TBN_SHADING",{a:"logical_or_expr",i:3}],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec4","k",";"]}]}}]},{a:"cond",d:[{a:"if",g:["TEXTURE_COLOR","HALO_PARTICLES",
  1599. "USE_NODE_TEX_COORD_UV","USE_NODE_UV_MERGED","USE_NODE_UVMAP","USE_NODE_GEOMETRY_UV","USE_NODE_GEOMETRY_OR","USE_NODE_TEX_COORD_GE",{a:"logical_or_expr",i:8}],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec2","A",";"]}]}}]},{a:"txt",b:["GLSL_OUT","vec3","h",";"]},{a:"cond",d:[{a:"if",g:["PARTICLES_SHADELESS",{a:"logic_negative_expr",i:1},"DISABLE_FOG",{a:"logic_negative_expr",i:1},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec3","bw",";"]}]}}]},{a:"cond",d:[{a:"if",g:["SOFT_PARTICLES",
  1600. "DISABLE_FOG",{a:"logic_negative_expr",i:1},"NODES",{a:"logical_or_expr",i:3}],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec4","i",";"]}]}}]},{a:"cond",d:[{a:"if",g:["SOFT_PARTICLES","USE_POSITION_CLIP",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec3","l",";"]}]}}]},{a:"cond",d:[{a:"if",g:["NODES"],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec3","j",";"]}]}}]},{a:"cond",d:[{a:"if",g:["HALO_PARTICLES"],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","float","aU",";"]}]}}]},{a:"cond",d:[{a:"if",
  1601. g:["COLOR_RAMP_LENGTH",0,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"uniform vec4 u_p_color_ramp [ COLOR_RAMP_LENGTH ] ;".split(" ")}]}}]},{a:"txt",b:"uniform float u_p_time ; uniform float u_p_length ; uniform int u_p_cyclic ; uniform float u_p_fade_in ; uniform float u_p_fade_out ; uniform float u_p_nfactor ; uniform float u_p_gravity ; uniform float u_p_mass ; uniform float u_p_wind_fac ; uniform float u_p_max_lifetime ; uniform float u_p_tilt ; uniform float u_p_tilt_rand ;".split(" ")},{a:"cond",
  1602. d:[{a:"if",g:["REFLECTION_PASS","REFL_PASS_PLANE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","mat4","u_view_refl_matrix",";"]}]}}]},{a:"txt",b:"uniform mat3 u_view_tsr ; uniform mat4 u_proj_matrix ; uniform vec3 u_wind ; uniform float u_p_size ; uniform vec3 u_camera_eye ;".split(" ")},{a:"cond",d:[{a:"if",g:["WORLD_SPACE",{a:"logic_negative_expr",i:1},"NODES","HALO_PARTICLES",{a:"logical_or_expr",i:3}],h:{a:"grp",d:[{a:"txt",b:["uniform","mat3","u_model_tsr",";"]}]}}]},{a:"cond",d:[{a:"if",
  1603. g:["USE_COLOR_RAMP"],h:{a:"grp",d:[{a:"txt",b:["uniform","sampler2D","u_color_ramp_tex",";"]}]}}]},{a:"include",o:"math.glslv"},{a:"include",o:"to_world.glslv"},{a:"include",o:"particles.glslv"},{a:"cond",d:[{a:"if",g:["NODES"],h:{a:"grp",d:[{a:"include",o:"particles_nodes.glslv"}]}}]},{a:"txt",b:"float cC ( vec2 cA , vec2 cB ) { return ( atan ( cB . y , cB . x ) - atan ( cA . y , cA . x ) ) ; } void main ( ) {".split(" ")},{a:"cond",d:[{a:"if",g:["REFLECTION_PASS","REFL_PASS_PLANE",{a:"equal_expr",
  1604. i:2}],h:{a:"grp",d:[{a:"txt",b:["mat4","by","=","u_view_refl_matrix",";"]}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"mat4 by = mat4 ( 0.0 ) ;".split(" ")}]}}]},{a:"txt",b:"mat3 M = u_view_tsr ; cD pp ; pp = cE ( ) ; float cF ; mat3 aY = cG ( ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["REFLECTION_PASS","REFL_PASS_PLANE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec3 cH = ( by * vec4 ( pp . N , 1.0 ) ) . xyz ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"vec3 cH = pp . N ;".split(" ")}]}}]},
  1605. {a:"txt",b:"vec3 P = O ( a_tbn_quat , vec3 ( 0.0 , 1.0 , 0.0 ) ) ; if ( BILLBOARD_ALIGN == BILLBOARD_ALIGN_VIEW ) { cF = pp . bm ; aY = aX ( cH , M ) ; } else if ( BILLBOARD_ALIGN == BILLBOARD_ALIGN_XY ) { cF = cC ( vec2 ( EPSILON , 1.0 ) , vec2 ( P . x , - P . y ) ) + pp . bm ; aY [ 0 ] = cH ; vec4 cJ = cI ( RIGHT_VECTOR , - M_PI / 2.0 ) ; aY = cK ( cJ , aY ) ; } else if ( BILLBOARD_ALIGN == BILLBOARD_ALIGN_YZ ) { cF = pp . bm ; aY [ 0 ] = cH ; vec4 cL = cI ( UP_VECTOR , M_PI / 2.0 ) ; aY = cK ( cL , aY ) ; } else if ( BILLBOARD_ALIGN == BILLBOARD_ALIGN_ZX ) { cF = pp . bm ; aY [ 0 ] = cH ; } vec3 bc = vec3 ( ( a_p_bb_vertex [ 0 ] * 2.0 - 1.0 ) * pp . cM * u_p_size , 0.0 , ( a_p_bb_vertex [ 1 ] * 2.0 - 1.0 ) * pp . cM * u_p_size ) ; float cN = a_p_data [ 2 ] ; float cO = u_p_tilt * u_p_tilt_rand * ( 2.0 * cN - 1.0 ) ; float cP = ( cO + u_p_tilt ) * M_PI ; vec4 cQ = cI ( TOWARD_VECTOR , cP + cF ) ; vec3 bd = ad ( aY , O ( cQ , bc ) ) ; vec4 bC = vec4 ( ad ( M , bd ) , 1.0 ) ; vec4 f = u_proj_matrix * bC ;".split(" ")},
  1606. {a:"cond",d:[{a:"if",g:["HALO_PARTICLES"],h:{a:"grp",d:[{a:"txt",b:["aU","=","cN",";"]}]}}]},{a:"cond",d:[{a:"if",g:["NODES"],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["CALC_TBN_SPACE","NODES",{a:"logic_negative_expr",i:1},"TEXTURE_NORM_CO","TEXTURE_COORDS_UV_ORCO",{a:"equal_expr",i:2},{a:"logical_and_expr",i:2},"USE_TBN_SHADING",{a:"logical_or_expr",i:3}],h:{a:"grp",d:[{a:"txt",b:"vec3 Q = O ( a_tbn_quat , vec3 ( 1.0 , 0.0 , 0.0 ) ) ; vec3 R = sign ( a_tbn_quat [ 3 ] ) * cross ( P , Q ) ;".split(" ")}]}},
  1607. {a:"else",h:{a:"grp",d:[{a:"txt",b:"vec3 Q = vec3 ( 0.0 ) ; vec3 R = vec3 ( 0.0 ) ;".split(" ")}]}}]},{a:"txt",b:"mat3 cR = cG ( ) ; cQ = cI ( TOWARD_VECTOR , cF ) ; cR = cK ( cQ , cR ) ; aj al = ak ( vec3 ( 0.0 ) , vec3 ( 0.0 ) , Q , vec3 ( 0.0 ) , R , vec3 ( 0.0 ) , aO ( aY , cR ) ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["TEXTURE_NORM_CO","TEXTURE_COORDS_NONE",{a:"non_equal_expr",i:2},"CALC_TBN_SPACE","USE_TBN_SHADING",{a:"logical_or_expr",i:3}],h:{a:"grp",d:[{a:"txt",b:"float ap = ( dot ( cross ( P , al . Q ) , al . R ) < 0.0 ) ? - 1.0 : 1.0 ; k = vec4 ( al . Q , ap ) ;".split(" ")}]}}]},
  1608. {a:"cond",d:[{a:"if",g:["NODES",{a:"logic_negative_expr",i:1},"USE_NODE_MATERIAL_BEGIN","USE_NODE_GEOMETRY_NO","CAUSTICS","CALC_TBN_SPACE","WIND_BEND","MAIN_BEND_COL","DETAIL_BEND",{a:"logical_and_expr",i:3},"USE_NODE_TEX_COORD_NO","USE_NODE_BSDF_BEGIN","USE_NODE_FRESNEL","USE_NODE_TEX_COORD_RE","USE_NODE_LAYER_WEIGHT",{a:"logical_or_expr",i:11}],h:{a:"grp",d:[{a:"txt",b:["j","=","P",";"]}]}}]},{a:"txt",b:"I ( pp . N , pp . cS , pp . cT , pp . cU , pp . cM , a_p_bb_vertex , a_p_data [ 0 ] ) ;".split(" ")}]}},
  1609. {a:"else",h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["TEXTURE_COLOR"],h:{a:"grp",d:[{a:"txt",b:["A","=","a_p_bb_vertex",";"]}]}}]},{a:"cond",d:[{a:"if",g:["HALO_PARTICLES"],h:{a:"grp",d:[{a:"txt",b:"A = a_p_bb_vertex * 2.0 - 1.0 ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"cz = pp . J ;".split(" ")}]}}]},{a:"txt",b:"bx = pp . aG ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["SOFT_PARTICLES","USE_POSITION_CLIP",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"l = as ( f ) ;".split(" ")}]}}]},
  1610. {a:"cond",d:[{a:"if",g:["SOFT_PARTICLES","DISABLE_FOG",{a:"logic_negative_expr",i:1},"NODES",{a:"logical_or_expr",i:3}],h:{a:"grp",d:[{a:"txt",b:["i","=","bC",";"]}]}}]},{a:"txt",b:"gl_Position = f ; h = bd ;".split(" ")},{a:"cond",d:[{a:"if",g:["PARTICLES_SHADELESS",{a:"logic_negative_expr",i:1},"DISABLE_FOG",{a:"logic_negative_expr",i:1},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"bw = u_camera_eye - bd ;".split(" ")}]}}]},{a:"txt",b:["}"]}]};a["particle_system_stack.glslf"]={a:"grp",d:[{a:"version",
  1611. b:["GLSL_VERSION"]},{a:"var",c:"PRECISION",b:["highp"]},{a:"var",c:"NUM_LIGHTS",b:["0"]},{a:"var",c:"SKY_TEXTURE",b:["0"]},{a:"var",c:"SKY_COLOR",b:["0"]},{a:"var",c:"PROCEDURAL_FOG",b:["0"]},{a:"var",c:"TEXTURE_BLEND_TYPE",b:["TEXTURE_BLEND_TYPE_MIX"]},{a:"var",c:"ALPHA",b:["0"]},{a:"var",c:"ALPHA_CLIP",b:["0"]},{a:"var",c:"SOFT_STRENGTH",b:["0.25"]},{a:"var",c:"SOFT_PARTICLES",b:["0"]},{a:"var",c:"NODES",b:["0"]},{a:"var",c:"HALO_PARTICLES",b:["0"]},{a:"var",c:"TEXTURE_COLOR",b:["0"]},{a:"var",
  1612. c:"USE_ENVIRONMENT_LIGHT",b:["0"]},{a:"var",c:"SKY_STARS",b:["0"]},{a:"var",c:"DISABLE_FOG",b:["0"]},{a:"var",c:"WATER_EFFECTS",b:["0"]},{a:"var",c:"USE_FOG",b:["0"]},{a:"var",c:"PARTICLES_SHADELESS",b:["0"]},{a:"var",c:"USE_TBN_SHADING",b:["0"]},{a:"include",o:"precision_statement.glslf"},{a:"include",o:"std.glsl"},{a:"include",o:"color_util.glslf"},{a:"cond",d:[{a:"if",g:["SOFT_PARTICLES","NODES",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"include",o:"pack.glslf"}]}}]},{a:"cond",d:[{a:"if",g:["HALO_PARTICLES",
  1613. {a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["TEXTURE_COLOR"],h:{a:"grp",d:[{a:"txt",b:["uniform","sampler2D","u_sampler",";"]}]}}]},{a:"txt",b:["uniform","float","u_environment_energy",";"]},{a:"cond",d:[{a:"if",g:["NUM_LIGHTS",0,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"uniform vec4 u_light_positions [ NUM_LIGHTS ] ; uniform vec3 u_light_directions [ NUM_LIGHTS ] ; uniform vec4 u_light_color_intensities [ NUM_LIGHTS ] ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["TEXTURE_COLOR"],
  1614. h:{a:"grp",d:[{a:"txt",b:["uniform","float","u_diffuse_color_factor",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_ENVIRONMENT_LIGHT","SKY_TEXTURE",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","samplerCube","u_sky_texture",";"]}]}},{a:"elif",g:["USE_ENVIRONMENT_LIGHT","SKY_COLOR",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"uniform vec3 u_horizon_color ; uniform vec3 u_zenith_color ;".split(" ")}]}}]},{a:"txt",b:"uniform vec2 u_diffuse_params ; uniform float u_diffuse_intensity ; uniform float u_emit ; uniform float u_ambient ; uniform vec3 u_specular_color ; uniform vec3 u_specular_params ;".split(" ")}]}},
  1615. {a:"else",h:{a:"grp",d:[{a:"txt",b:"uniform float u_halo_size ; uniform vec3 u_halo_rings_color ; uniform float u_halo_hardness ; uniform vec3 u_halo_lines_color ;".split(" ")},{a:"cond",d:[{a:"if",g:["SKY_STARS"],h:{a:"grp",d:[{a:"txt",b:"uniform vec3 u_sun_intensity ; uniform float u_halo_stars_blend ; uniform float u_halo_stars_height ;".split(" ")}]}}]},{a:"txt",b:"uniform float u_p_alpha_start ; uniform float u_p_alpha_end ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["DISABLE_FOG",{a:"logic_negative_expr",
  1616. i:1}],h:{a:"grp",d:[{a:"txt",b:["uniform","vec4","u_fog_color_density",";"]},{a:"cond",d:[{a:"if",g:["WATER_EFFECTS"],h:{a:"grp",d:[{a:"txt",b:"uniform vec4 u_underwater_fog_color_density ; uniform float u_cam_water_depth ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["PROCEDURAL_FOG"],h:{a:"grp",d:[{a:"txt",b:["uniform","mat4","u_cube_fog",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_FOG"],h:{a:"grp",d:[{a:"txt",b:["uniform","vec4","u_fog_params",";"]}]}}]}]}}]},{a:"txt",b:["uniform","vec4","u_diffuse_color",
  1617. ";"]},{a:"cond",d:[{a:"if",g:["SOFT_PARTICLES"],h:{a:"grp",d:[{a:"txt",b:"uniform PRECISION sampler2D u_scene_depth ; uniform float u_view_max_depth ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["SOFT_PARTICLES"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec3","l",";"]}]}}]},{a:"cond",d:[{a:"if",g:["TEXTURE_COLOR","HALO_PARTICLES","USE_NODE_TEX_COORD_UV","USE_NODE_UV_MERGED","USE_NODE_UVMAP","USE_NODE_GEOMETRY_UV","USE_NODE_GEOMETRY_OR","USE_NODE_TEX_COORD_GE",{a:"logical_or_expr",i:8}],h:{a:"grp",d:[{a:"txt",
  1618. b:["GLSL_IN","vec2","A",";"]}]}}]},{a:"txt",b:["GLSL_IN","vec3","h",";"]},{a:"cond",d:[{a:"if",g:["NODES",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["HALO_PARTICLES",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","float","cz",";"]}]}}]},{a:"txt",b:["GLSL_IN","vec3","bx",";"]}]}}]},{a:"cond",d:[{a:"if",g:["PARTICLES_SHADELESS",{a:"logic_negative_expr",i:1},"DISABLE_FOG",{a:"logic_negative_expr",i:1},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN",
  1619. "vec3","bw",";"]}]}}]},{a:"cond",d:[{a:"if",g:["SOFT_PARTICLES","DISABLE_FOG",{a:"logic_negative_expr",i:1},"NODES",{a:"logical_or_expr",i:3}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec4","i",";"]}]}}]},{a:"cond",d:[{a:"if",g:["HALO_PARTICLES"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","float","aU",";"]},{a:"cond",d:[{a:"if",g:["SKY_STARS"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec4","aT",";"]}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["USE_TBN_SHADING"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec3","B",";"]}]}}]},{a:"txt",
  1620. b:["GLSL_OUT","vec4","GLSL_OUT_FRAG_COLOR",";"]},{a:"include",o:"lighting_nodes.glslf"},{a:"cond",d:[{a:"if",g:["DISABLE_FOG",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"include",o:"fog.glslf"}]}}]},{a:"cond",d:[{a:"if",g:["HALO_PARTICLES",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"include",o:"environment.glslf"}]}}]},{a:"cond",d:[{a:"if",g:["HALO_PARTICLES"],h:{a:"grp",d:[{a:"include",o:"halo_color.glslf"}]}}]},{a:"txt",b:["void","main","(",")","{"]},{a:"cond",d:[{a:"if",g:["PARTICLES_SHADELESS",
  1621. {a:"logic_negative_expr",i:1},"DISABLE_FOG",{a:"logic_negative_expr",i:1},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec3 C = normalize ( bw ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["HALO_PARTICLES"],h:{a:"grp",d:[{a:"txt",b:"vec4 aW = aV ( ) ; vec3 aG = aW . rgb * bx ; float cV = 0.9 * length ( A ) ; float cW = smoothstep ( u_p_alpha_start , u_p_alpha_end , cV ) ; float J = aW . a * ( 1.0 - cW ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:["vec4","bZ","=","u_diffuse_color",
  1622. ";"]},{a:"cond",d:[{a:"if",g:["TEXTURE_COLOR"],h:{a:"grp",d:[{a:"txt",b:"vec4 ca = GLSL_TEXTURE ( u_sampler , A ) ; bY ( ca . rgb ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["TEXTURE_BLEND_TYPE","TEXTURE_BLEND_TYPE_MIX",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"bZ . rgb = mix ( bZ . rgb , ca . rgb , u_diffuse_color_factor ) ;".split(" ")}]}},{a:"elif",g:["TEXTURE_BLEND_TYPE","TEXTURE_BLEND_TYPE_MULTIPLY",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"bZ . rgb *= mix ( vec3 ( 1.0 ) , ca . rgb , u_diffuse_color_factor ) ;".split(" ")}]}}]},
  1623. {a:"txt",b:"bZ . a = ca . a ;".split(" ")}]}}]},{a:"txt",b:"bZ . rgb *= bx ;".split(" ")},{a:"cond",d:[{a:"if",g:["PARTICLES_SHADELESS",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"txt",b:"vec3 cd = u_diffuse_intensity * bZ . rgb ; vec3 ci = u_emit * bZ . rgb ; vec3 P = vec3 ( 0.0 , 0.0 , 1.0 ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["USE_ENVIRONMENT_LIGHT","SKY_TEXTURE",{a:"logic_negative_expr",i:1},"SKY_COLOR",{a:"logical_and_expr",i:3}],h:{a:"grp",d:[{a:"txt",b:"vec3 cf = u_environment_energy * ce ( vec3 ( 0.0 ) ) ;".split(" ")}]}},
  1624. {a:"else",h:{a:"grp",d:[{a:"txt",b:"vec3 cf = u_environment_energy * ce ( P ) ;".split(" ")}]}}]},{a:"txt",b:"vec3 cg = u_ambient * cf ; float cl = u_specular_params [ 0 ] ; vec2 cm = vec2 ( u_specular_params [ 1 ] , u_specular_params [ 2 ] ) ; vec3 cn = cl * u_specular_color ; vec3 aG ; vec3 co ; cp ( ci , cg , cd , cn , h , P , C , cm , u_diffuse_params , vec4 ( 1.0 ) , 0.0 , vec4 ( 0.0 ) , aG , co ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"vec3 aG = bZ . rgb ;".split(" ")}]}}]},{a:"txt",
  1625. b:"float J = bZ . a * cz ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["ALPHA"],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["ALPHA_CLIP"],h:{a:"grp",d:[{a:"txt",b:"if ( J < 0.5 ) discard ; J = 1.0 ;".split(" ")}]}}]}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:["J","=","1.0",";"]}]}}]},{a:"cond",d:[{a:"if",g:["DISABLE_FOG",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"txt",b:"bu ( aG , length ( i ) , C , 1.0 ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["SOFT_PARTICLES"],h:{a:"grp",d:[{a:"txt",b:"float ct = - i . z / u_view_max_depth ; vec4 cu = GLSL_TEXTURE_PROJ ( u_scene_depth , l ) ; float cw = cv ( cu ) ; float cx = cw - ct ; float cy = u_view_max_depth / SOFT_STRENGTH * cx ; J = J * min ( cy , 1.0 ) ;".split(" ")}]}}]},
  1626. {a:"txt",b:["aM","(","aG",")",";"]},{a:"cond",d:[{a:"if",g:["ALPHA","ALPHA_CLIP",{a:"logic_negative_expr",i:1},{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"aN ( aG , J ) ;".split(" ")}]}}]},{a:"txt",b:"GLSL_OUT_FRAG_COLOR = vec4 ( aG , J ) ; }".split(" ")}]};a["proc_skybox.glslf"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"include",o:"precision_statement.glslf"},{a:"include",o:"std.glsl"},{a:"include",o:"color_util.glslf"},{a:"txt",b:"uniform vec3 u_sky_color ; uniform vec3 u_sun_direction ; uniform float u_rayleigh_brightness ; uniform float u_mie_brightness ; uniform float u_spot_brightness ; uniform float u_scatter_strength ; uniform float u_rayleigh_strength ; uniform float u_mie_strength ; uniform float u_rayleigh_collection_power ; uniform float u_mie_collection_power ; uniform float u_mie_distribution ; GLSL_IN vec3 cX ; GLSL_OUT vec4 GLSL_OUT_FRAG_COLOR ; const float cY = 0.99 ; const float cZ = 1.8 ; const int c_ = 8 ; float de ( vec3 N , vec3 be ) { float a = dot ( be , be ) ; float b = 2.0 * dot ( be , N ) ; float da = dot ( N , N ) - 1.0 ; float db = b * b - 4.0 * a * da ; float dc = sqrt ( db ) ; float q = ( - b - dc ) / 2.0 ; float dd = da / q ; return dd ; } float dg ( float J , float g ) { float a = 3.0 * ( 1.0 - g * g ) ; float b = 2.0 * ( 2.0 + g * g ) ; float da = 1.0 + J * J ; float df = pow ( 1.0 + g * g - 2.0 * g * J , 1.5 ) ; df = max ( df , 0.00001 ) ; return ( a / b ) * ( da / df ) ; } float dl ( vec3 N , vec3 be , float dh ) { float di = dot ( be , - N ) ; if ( di < 0.0 ) { return 1.0 ; } vec3 dj = N + di * be ; if ( length ( dj ) < dh ) { return 0.0 ; } else if ( length ( dj ) >= dh ) { vec3 cB = normalize ( dj ) * dh - N ; float dk = acos ( dot ( normalize ( cB ) , be ) ) ; return smoothstep ( 0.0 , 1.0 , pow ( dk * 2.0 , 3.0 ) ) ; } else return 1.0 ; } vec3 dm ( float aC , vec3 aG , float aB ) { return aG - aG * pow ( u_sky_color , vec3 ( aB / aC ) ) ; } void main ( ) { vec3 dn = normalize ( cX ) ; vec3 dp = u_sun_direction ; float J = dot ( dn , dp ) ; float dq = dg ( J , - 0.01 ) * u_rayleigh_brightness * dp . z ; float dr = dg ( J - 0.5 , u_mie_distribution ) * u_mie_brightness * ( 1.0 - dp . z ) ; float ds = smoothstep ( 0.0 , 100.0 , dg ( J , 0.9995 ) ) * u_spot_brightness ; vec3 dt = vec3 ( 0.0 , 0.0 , cY ) ; float du = de ( dt , dn ) ; float dv = du / float ( c_ ) ; float dw = dl ( dt , dn , cY - 0.3 ) ; vec3 dx = vec3 ( 0.0 , 0.0 , 0.0 ) ; vec3 dy = vec3 ( 0.0 , 0.0 , 0.0 ) ; for ( int bQ = 0 ; bQ < c_ ; bQ ++ ) { float dz = dv * float ( bQ ) ; vec3 N = dt + dn * dz ; float dA = dl ( N , dp , cY - 0.2 ) ; float dB = de ( N , dp ) ; vec3 dC = dm ( dB , vec3 ( cZ ) , u_scatter_strength ) * dA ; dx += dm ( sqrt ( dz ) , u_sky_color * dC , u_rayleigh_strength ) ; dy += dm ( dz , dC , u_mie_strength ) ; } dx = dx * dw * pow ( du , u_rayleigh_collection_power ) / float ( c_ ) ; dy = ( dy * dw * pow ( du , u_mie_collection_power ) ) / float ( c_ ) ; vec3 aG = vec3 ( ds * dy + dr * dy + dq * dx ) ; aM ( aG ) ; GLSL_OUT_FRAG_COLOR = vec4 ( aG , 1.0 ) ; }".split(" ")}]};
  1627. a["shadow.glslf"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"var",c:"PRECISION",b:["highp"]},{a:"var",c:"NODES",b:["0"]},{a:"var",c:"REFLECTION_TYPE",b:["REFL_NONE"]},{a:"var",c:"USE_TBN_SHADING",b:["0"]},{a:"var",c:"SHADELESS",b:["0"]},{a:"var",c:"USE_VIEW_TSR_INVERSE",b:["0"]},{a:"var",c:"USE_MODEL_TSR_INVERSE",b:["0"]},{a:"var",c:"USE_VIEW_TSR",b:["0"]},{a:"var",c:"USE_MODEL_TSR",b:["0"]},{a:"var",c:"USE_ENVIRONMENT_LIGHT",b:["0"]},{a:"var",c:"SKY_TEXTURE",b:["0"]},{a:"var",c:"SKY_COLOR",
  1628. b:["0"]},{a:"var",c:"USE_REFRACTION",b:["0"]},{a:"var",c:"CALC_TBN_SPACE",b:["0"]},{a:"var",c:"CAMERA_TYPE",b:["CAM_TYPE_PERSP"]},{a:"var",c:"USE_POSITION_CLIP",b:["0"]},{a:"var",c:"USE_REFRACTION_CORRECTION",b:["0"]},{a:"var",c:"CSM_SECTION1",b:["0"]},{a:"var",c:"CSM_SECTION2",b:["0"]},{a:"var",c:"CSM_SECTION3",b:["0"]},{a:"var",c:"NUM_LIGHTS",b:["0"]},{a:"var",c:"NUM_LAMP_LIGHTS",b:["0"]},{a:"var",c:"TEXTURE_BLEND_TYPE",b:["TEXTURE_BLEND_TYPE_MIX"]},{a:"var",c:"NUM_VALUES",b:["0"]},{a:"var",c:"NUM_RGBS",
  1629. b:["0"]},{a:"var",c:"NUM_CAST_LAMPS",b:["0"]},{a:"var",c:"TEXTURE_COLOR",b:["0"]},{a:"var",c:"ALPHA",b:["0"]},{a:"var",c:"SHADOW_USAGE",b:["NO_SHADOWS"]},{a:"var",c:"POISSON_DISK_NUM",b:["NO_SOFT_SHADOWS"]},{a:"var",c:"USE_DERIVATIVES_EXT",b:["0"]},{a:"cond",d:[{a:"if",g:["USE_DERIVATIVES_EXT"],h:{a:"grp",d:[{a:"extension",b:["GL_OES_standard_derivatives",":","enable"]}]}}]},{a:"include",o:"precision_statement.glslf"},{a:"include",o:"std.glsl"},{a:"cond",d:[{a:"if",g:["NODES","ALPHA",{a:"logical_and_expr",
  1630. i:2}],h:{a:"grp",d:[{a:"include",o:"math.glslv"}]}}]},{a:"cond",d:[{a:"if",g:["NODES","ALPHA",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"uniform float u_time ; uniform float u_environment_energy ;".split(" ")},{a:"cond",d:[{a:"if",g:["NUM_LIGHTS",0,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"uniform vec4 u_light_positions [ NUM_LIGHTS ] ; uniform vec3 u_light_directions [ NUM_LIGHTS ] ; uniform vec4 u_light_color_intensities [ NUM_LIGHTS ] ;".split(" ")}]}}]},{a:"txt",b:["uniform","vec3",
  1631. "u_camera_eye_frag",";"]},{a:"cond",d:[{a:"if",g:["USE_NODE_FRESNEL","USE_NODE_LAYER_WEIGHT",{a:"logical_or_expr",i:2},"CAMERA_TYPE","CAM_TYPE_ORTHO",{a:"equal_expr",i:2},{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","vec3","u_camera_direction",";"]}]}}]},{a:"cond",d:[{a:"if",g:["REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2},"USE_VIEW_TSR",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","mat3","u_view_tsr_frag",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_VIEW_TSR_INVERSE"],
  1632. h:{a:"grp",d:[{a:"txt",b:["uniform","mat3","u_view_tsr_inverse",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_MODEL_TSR"],h:{a:"grp",d:[{a:"txt",b:["uniform","mat3","u_model_tsr",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_MODEL_TSR_INVERSE"],h:{a:"grp",d:[{a:"txt",b:["uniform","mat3","u_model_tsr_inverse",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_ENVIRONMENT_LIGHT","SKY_TEXTURE",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","samplerCube","u_sky_texture",";"]}]}},{a:"elif",g:["USE_ENVIRONMENT_LIGHT",
  1633. "SKY_COLOR",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"uniform vec3 u_horizon_color ; uniform vec3 u_zenith_color ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","sampler2D","u_plane_reflection",";"]}]}},{a:"elif",g:["REFLECTION_TYPE","REFL_CUBE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","samplerCube","u_cube_reflection",";"]}]}},{a:"elif",g:["REFLECTION_TYPE","REFL_MIRRORMAP",{a:"equal_expr",
  1634. i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","samplerCube","u_mirrormap",";"]}]}}]},{a:"txt",b:"uniform float u_emit ; uniform float u_ambient ; uniform vec4 u_fresnel_params ;".split(" ")},{a:"cond",d:[{a:"if",g:["REFLECTION_TYPE","REFL_MIRRORMAP",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","float","u_mirror_factor",";"]}]}},{a:"elif",g:["REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","vec4","u_refl_plane",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_NODE_LAMP"],
  1635. h:{a:"grp",d:[{a:"txt",b:"uniform vec3 u_lamp_light_positions [ NUM_LAMP_LIGHTS ] ; uniform vec3 u_lamp_light_directions [ NUM_LAMP_LIGHTS ] ; uniform vec3 u_lamp_light_color_intensities [ NUM_LAMP_LIGHTS ] ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["USE_NODE_VALUE"],h:{a:"grp",d:[{a:"txt",b:"uniform float u_node_values [ NUM_VALUES ] ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["USE_NODE_RGB"],h:{a:"grp",d:[{a:"txt",b:"uniform vec3 u_node_rgbs [ NUM_RGBS ] ;".split(" ")}]}}]}]}},{a:"else",h:{a:"grp",
  1636. d:[{a:"cond",d:[{a:"if",g:["TEXTURE_COLOR"],h:{a:"grp",d:[{a:"txt",b:"uniform sampler2D u_colormap0 ; uniform float u_alpha_factor ;".split(" ")}]}}]},{a:"txt",b:["uniform","vec4","u_diffuse_color",";"]}]}}]},{a:"cond",d:[{a:"if",g:["SHADOW_USAGE","SHADOW_MASK_GENERATION",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["POISSON_DISK_NUM","NO_SOFT_SHADOWS",{a:"non_equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","vec4","u_pcf_blur_radii",";"]}]}}]},{a:"txt",b:"uniform vec4 u_csm_center_dists ; uniform PRECISION GLSL_SMPLR2D_SHDW u_shadow_map0 ;".split(" ")},
  1637. {a:"cond",d:[{a:"if",g:["CSM_SECTION1","NUM_CAST_LAMPS",1,{a:"g_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","PRECISION","GLSL_SMPLR2D_SHDW","u_shadow_map1",";"]}]}}]},{a:"cond",d:[{a:"if",g:["CSM_SECTION2","NUM_CAST_LAMPS",2,{a:"g_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","PRECISION","GLSL_SMPLR2D_SHDW","u_shadow_map2",";"]}]}}]},{a:"cond",d:[{a:"if",g:["CSM_SECTION3","NUM_CAST_LAMPS",3,{a:"g_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",
  1638. d:[{a:"txt",b:["uniform","PRECISION","GLSL_SMPLR2D_SHDW","u_shadow_map3",";"]}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["SHADOW_USAGE","SHADOW_MAPPING_OPAQUE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","sampler2D","u_shadow_mask",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_NODE_B4W_REFRACTION"],h:{a:"grp",d:[{a:"txt",b:["uniform","sampler2D","u_refractmap",";"]},{a:"cond",d:[{a:"if",g:["USE_REFRACTION","USE_REFRACTION_CORRECTION",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform",
  1639. "PRECISION","sampler2D","u_scene_depth",";"]}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["USE_NODE_CURVE_VEC","USE_NODE_CURVE_RGB","USE_NODE_VALTORGB",{a:"logical_or_expr",i:3}],h:{a:"grp",d:[{a:"txt",b:["uniform","sampler2D","u_nodes_texture",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_NODE_OBJECT_INFO"],h:{a:"grp",d:[{a:"txt",b:["uniform","vec3","u_obj_info",";"]}]}}]},{a:"cond",d:[{a:"if",g:["NODES","ALPHA",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"GLSL_IN vec3 h ; GLSL_IN vec3 j ;".split(" ")},
  1640. {a:"cond",d:[{a:"if",g:["CALC_TBN_SPACE"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec4","k",";"]}]}}]}]}},{a:"else",h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["TEXTURE_COLOR"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec2","A",";"]}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["SHADOW_USAGE","SHADOW_MASK_GENERATION",{a:"equal_expr",i:2},"NODES","ALPHA",{a:"logical_and_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec4","i",";"]}]}}]},{a:"cond",d:[{a:"if",g:["SHADOW_USAGE","SHADOW_MASK_GENERATION",
  1641. {a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec4","n",";"]},{a:"cond",d:[{a:"if",g:["CSM_SECTION1","NUM_CAST_LAMPS",1,{a:"g_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec4","o",";"]}]}}]},{a:"cond",d:[{a:"if",g:["CSM_SECTION2","NUM_CAST_LAMPS",2,{a:"g_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec4","u",";"]}]}}]},{a:"cond",d:[{a:"if",g:["CSM_SECTION3","NUM_CAST_LAMPS",3,{a:"g_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",
  1642. d:[{a:"txt",b:["GLSL_IN","vec4","v",";"]}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2},"USE_POSITION_CLIP",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec3","l",";"]}]}}]},{a:"cond",d:[{a:"if",g:["NODES","ALPHA",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["USE_NODE_B4W_REFRACTION","USE_REFRACTION",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","float","m",";"]}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["USE_TBN_SHADING"],
  1643. h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec3","B",";"]}]}}]},{a:"txt",b:["GLSL_OUT","vec4","GLSL_OUT_FRAG_COLOR",";"]},{a:"cond",d:[{a:"if",g:["SHADELESS",{a:"logic_negative_expr",i:1},"NODES","ALPHA",{a:"logical_and_expr",i:2},"SHADOW_USAGE","SHADOW_MASK_GENERATION",{a:"equal_expr",i:2},{a:"logical_or_expr",i:3}],h:{a:"grp",d:[{a:"include",o:"shadow.glslf"}]}}]},{a:"cond",d:[{a:"if",g:["NODES","ALPHA",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"include",o:"nodes.glslf"}]}}]},{a:"txt",b:["void","main",
  1644. "(",")","{"]},{a:"cond",d:[{a:"if",g:["ALPHA"],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["NODES"],h:{a:"grp",d:[{a:"txt",b:"vec3 C = normalize ( u_camera_eye_frag - h ) ; vec3 D ; vec3 E ; vec3 F ; vec4 G ; float H ; I ( C , D , E , F , G , H ) ; float J = H ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["TEXTURE_COLOR"],h:{a:"grp",d:[{a:"txt",b:"float J = ( GLSL_TEXTURE ( u_colormap0 , A ) ) . a ;".split(" ")},{a:"cond",d:[{a:"if",g:["TEXTURE_BLEND_TYPE","TEXTURE_BLEND_TYPE_MIX",{a:"equal_expr",
  1645. i:2}],h:{a:"grp",d:[{a:"txt",b:"float L = u_alpha_factor * J ; L += ( 1.0 - step ( 0.0 , L ) ) ; J = mix ( L , 1.0 , u_diffuse_color . a ) ;".split(" ")}]}}]}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"float J = u_diffuse_color . a ;".split(" ")}]}}]}]}}]},{a:"txt",b:"if ( J < 0.5 ) discard ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["SHADOW_USAGE","NO_SHADOWS",{a:"equal_expr",i:2},"SHADOW_USAGE","SHADOW_CASTING",{a:"equal_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"GLSL_OUT_FRAG_COLOR = vec4 ( 1.0 ) ;".split(" ")}]}},
  1646. {a:"elif",g:["SHADOW_USAGE","SHADOW_MASK_GENERATION",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"GLSL_OUT_FRAG_COLOR = dD ( i . z ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["NODES","ALPHA",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["CALC_TBN_SPACE"],h:{a:"grp",d:[{a:"txt",b:"GLSL_OUT_FRAG_COLOR . a *= clamp ( k . r , 0.999999999 , 1.0 ) ;".split(" ")}]}}]}]}}]},{a:"txt",b:["}"]}]};a["shadow.glslv"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"var",c:"PRECISION",b:["highp"]},
  1647. {a:"var",c:"CAUSTICS",b:["0"]},{a:"var",c:"CALC_TBN_SPACE",b:["0"]},{a:"var",c:"MAIN_BEND_COL",b:["0"]},{a:"var",c:"DETAIL_BEND",b:["0"]},{a:"var",c:"CALC_TBN",b:["0"]},{a:"var",c:"USE_INSTANCED_PARTCLS",b:["0"]},{a:"var",c:"NODES",b:["0"]},{a:"var",c:"USE_TBN_SHADING",b:["0"]},{a:"var",c:"REFLECTION_TYPE",b:["REFL_NONE"]},{a:"var",c:"SMAA_JITTER",b:["0"]},{a:"var",c:"MAC_OS_SHADOW_HACK",b:["0"]},{a:"var",c:"USE_POSITION_CLIP",b:["0"]},{a:"var",c:"REFRACTIVE",b:["0"]},{a:"var",c:"AU_QUALIFIER",b:["GLSL_IN"]},
  1648. {a:"var",c:"BEND_CENTER_ONLY",b:["0"]},{a:"var",c:"CSM_SECTION1",b:["0"]},{a:"var",c:"CSM_SECTION2",b:["0"]},{a:"var",c:"CSM_SECTION3",b:["0"]},{a:"var",c:"HAIR_BILLBOARD",b:["0"]},{a:"var",c:"FRAMES_BLENDING",b:["0"]},{a:"var",c:"SHADOW_TEX_RES",b:["2048.0"]},{a:"var",c:"VERTEX_ANIM",b:["0"]},{a:"var",c:"NUM_CAST_LAMPS",b:["0"]},{a:"var",c:"TEXTURE_COLOR",b:["0"]},{a:"var",c:"ALPHA",b:["0"]},{a:"var",c:"VERTEX_ANIM_MIX_NORMALS_FACTOR",b:["u_va_frame_factor"]},{a:"var",c:"MAX_BONES",b:["0"]},{a:"var",
  1649. c:"WIND_BEND",b:["0"]},{a:"var",c:"SHADOW_USAGE",b:["NO_SHADOWS"]},{a:"var",c:"SKINNED",b:["0"]},{a:"var",c:"DYNAMIC_GRASS",b:["0"]},{a:"var",c:"BILLBOARD",b:["0"]},{a:"var",c:"STATIC_BATCH",b:["0"]},{a:"var",c:"BILLBOARD_JITTERED",b:["0"]},{a:"var",c:"BILLBOARD_PRES_GLOB_ORIENTATION",b:["0"]},{a:"include",o:"std.glsl"},{a:"include",o:"math.glslv"},{a:"include",o:"to_world.glslv"},{a:"include",o:"scale_texcoord.glslv"},{a:"txt",b:"GLSL_IN vec3 a_position ; GLSL_IN vec4 a_tbn_quat ;".split(" ")},{a:"cond",
  1650. d:[{a:"if",g:["USE_INSTANCED_PARTCLS"],h:{a:"grp",d:[{a:"txt",b:"GLSL_IN vec4 a_part_ts ; GLSL_IN vec4 a_part_r ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["USE_TBN_SHADING"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec3","a_shade_tangs",";"]}]}}]},{a:"cond",d:[{a:"if",g:["SKINNED"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec4","a_influence",";"]}]}}]},{a:"cond",d:[{a:"if",g:["WIND_BEND","DYNAMIC_GRASS","BILLBOARD",{a:"logical_or_expr",i:3},"USE_INSTANCED_PARTCLS",{a:"logic_negative_expr",i:1},{a:"logical_and_expr",
  1651. i:2}],h:{a:"grp",d:[{a:"txt",b:["AU_QUALIFIER","vec3","au_center_pos",";"]}]}}]},{a:"cond",d:[{a:"if",g:["WIND_BEND"],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["MAIN_BEND_COL"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","float","a_bending_col_main",";"]},{a:"cond",d:[{a:"if",g:["DETAIL_BEND"],h:{a:"grp",d:[{a:"txt",b:"GLSL_IN vec3 a_bending_col_detail ; AU_QUALIFIER float au_detail_bending_amp ; AU_QUALIFIER float au_branch_bending_amp ; AU_QUALIFIER float au_detail_bending_freq ;".split(" ")}]}}]}]}}]},{a:"txt",
  1652. b:"AU_QUALIFIER float au_wind_bending_amp ; AU_QUALIFIER float au_wind_bending_freq ;".split(" ")},{a:"cond",d:[{a:"if",g:["BEND_CENTER_ONLY"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec3","a_emitter_center",";"]}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["VERTEX_ANIM"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec3","a_position_next",";"]},{a:"cond",d:[{a:"if",g:["NODES","ALPHA",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["USE_NODE_MATERIAL_BEGIN","USE_NODE_GEOMETRY_NO","USE_NODE_NORMAL_MAP",
  1653. "CAUSTICS","CALC_TBN_SPACE",{a:"logical_or_expr",i:5}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec4","a_tbn_quat_next",";"]}]}}]}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["NODES","ALPHA",{a:"logical_and_expr",i:2},{a:"logic_negative_expr",i:1},"TEXTURE_COLOR",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec2","a_texcoord",";"]}]}}]},{a:"cond",d:[{a:"if",g:["NODES","ALPHA",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"GLSL_OUT vec3 h ; GLSL_OUT vec3 j ;".split(" ")},{a:"cond",d:[{a:"if",
  1654. g:["CALC_TBN_SPACE"],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec4","k",";"]}]}}]}]}},{a:"else",h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["TEXTURE_COLOR"],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec2","A",";"]}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["SHADOW_USAGE","SHADOW_MASK_GENERATION",{a:"equal_expr",i:2},"NODES","ALPHA",{a:"logical_and_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec4","i",";"]}]}}]},{a:"cond",d:[{a:"if",g:["SHADOW_USAGE","SHADOW_MASK_GENERATION",{a:"equal_expr",
  1655. i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec4","n",";"]},{a:"cond",d:[{a:"if",g:["CSM_SECTION1","NUM_CAST_LAMPS",1,{a:"g_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec4","o",";"]}]}}]},{a:"cond",d:[{a:"if",g:["CSM_SECTION2","NUM_CAST_LAMPS",2,{a:"g_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec4","u",";"]}]}}]},{a:"cond",d:[{a:"if",g:["CSM_SECTION3","NUM_CAST_LAMPS",3,{a:"g_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",
  1656. b:["GLSL_OUT","vec4","v",";"]}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2},"USE_POSITION_CLIP",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec3","l",";"]}]}}]},{a:"cond",d:[{a:"if",g:["NODES","ALPHA",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["USE_NODE_B4W_REFRACTION","REFRACTIVE",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","float","m",";"]}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["USE_TBN_SHADING"],
  1657. h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec3","B",";"]}]}}]},{a:"cond",d:[{a:"if",g:["STATIC_BATCH"],h:{a:"grp",d:[{a:"txt",b:"const mat3 u_model_tsr = mat3 ( 0.0 , 0.0 , 0.0 , 1.0 , 0.0 , 0.0 , 0.0 , 1.0 , 0.0 ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:["uniform","mat3","u_model_tsr",";"]}]}}]},{a:"cond",d:[{a:"if",g:["SMAA_JITTER"],h:{a:"grp",d:[{a:"txt",b:["uniform","vec2","u_subpixel_jitter",";"]}]}}]},{a:"txt",b:"uniform mat3 u_view_tsr ; uniform mat4 u_proj_matrix ;".split(" ")},{a:"cond",
  1658. d:[{a:"if",g:["DYNAMIC_GRASS","BILLBOARD",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","vec3","u_camera_eye",";"]}]}}]},{a:"cond",d:[{a:"if",g:["BILLBOARD","SHADOW_USAGE","SHADOW_CASTING",{a:"equal_expr",i:2},{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","mat3","u_shadow_cast_billboard_view_tsr",";"]}]}}]},{a:"cond",d:[{a:"if",g:["DYNAMIC_GRASS"],h:{a:"grp",d:[{a:"txt",b:"uniform PRECISION sampler2D u_grass_map_depth ; uniform sampler2D u_grass_map_color ; uniform vec4 u_camera_quat ; uniform vec3 u_grass_map_dim ; uniform float u_grass_size ; uniform float u_scale_threshold ;".split(" ")}]}}]},
  1659. {a:"cond",d:[{a:"if",g:["SKINNED"],h:{a:"grp",d:[{a:"txt",b:"uniform vec4 u_quatsb [ MAX_BONES ] ; uniform vec4 u_transb [ MAX_BONES ] ; uniform vec4 u_arm_rel_trans ; uniform vec4 u_arm_rel_quat ;".split(" ")},{a:"cond",d:[{a:"if",g:["FRAMES_BLENDING"],h:{a:"grp",d:[{a:"txt",b:"uniform vec4 u_quatsa [ MAX_BONES ] ; uniform vec4 u_transa [ MAX_BONES ] ; uniform float u_frame_factor ;".split(" ")}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["WIND_BEND"],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["BILLBOARD_JITTERED"],
  1660. h:{a:"grp",d:[{a:"txt",b:"uniform float u_jitter_amp ; uniform float u_jitter_freq ;".split(" ")}]}}]},{a:"txt",b:"uniform vec3 u_wind ; uniform float u_time ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["VERTEX_ANIM"],h:{a:"grp",d:[{a:"txt",b:["uniform","float","u_va_frame_factor",";"]}]}}]},{a:"cond",d:[{a:"if",g:["NODES","ALPHA",{a:"logical_and_expr",i:2},{a:"logic_negative_expr",i:1},"TEXTURE_COLOR",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","vec3","u_texture_scale",";"]}]}}]},
  1661. {a:"cond",d:[{a:"if",g:["SHADOW_USAGE","SHADOW_MASK_GENERATION",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","float","u_normal_offset",";"]},{a:"cond",d:[{a:"if",g:["MAC_OS_SHADOW_HACK"],h:{a:"grp",d:[{a:"txt",b:"uniform mat3 u_v_light_tsr [ NUM_CAST_LAMPS ] ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"uniform vec4 u_v_light_ts [ NUM_CAST_LAMPS ] ; uniform vec4 u_v_light_r [ NUM_CAST_LAMPS ] ;".split(" ")}]}}]},{a:"txt",b:["uniform","mat4","u_p_light_matrix0",";"]},{a:"cond",
  1662. d:[{a:"if",g:["CSM_SECTION1","NUM_CAST_LAMPS",1,{a:"g_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","mat4","u_p_light_matrix1",";"]}]}}]},{a:"cond",d:[{a:"if",g:["CSM_SECTION2","NUM_CAST_LAMPS",2,{a:"g_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","mat4","u_p_light_matrix2",";"]}]}}]},{a:"cond",d:[{a:"if",g:["CSM_SECTION3","NUM_CAST_LAMPS",3,{a:"g_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","mat4","u_p_light_matrix3",
  1663. ";"]}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["USE_NODE_B4W_REFRACTION"],h:{a:"grp",d:[{a:"txt",b:["uniform","PRECISION","float","u_view_max_depth",";"]}]}}]},{a:"include",o:"dynamic_grass.glslv"},{a:"include",o:"shadow.glslv"},{a:"include",o:"skin.glslv"},{a:"include",o:"wind_bending.glslv"},{a:"cond",d:[{a:"if",g:["NODES","ALPHA",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"include",o:"nodes.glslv"}]}}]},{a:"txt",b:"void main ( ) { mat3 M = u_view_tsr ; vec3 N = a_position ;".split(" ")},{a:"cond",d:[{a:"if",
  1664. g:["SHADOW_USAGE","SHADOW_MASK_GENERATION",{a:"equal_expr",i:2},"CALC_TBN_SPACE","USE_NODE_MATERIAL_BEGIN","USE_NODE_GEOMETRY_NO","USE_NODE_NORMAL_MAP","CAUSTICS","WIND_BEND","MAIN_BEND_COL","DETAIL_BEND",{a:"logical_and_expr",i:3},"USE_NODE_BSDF_BEGIN","USE_NODE_FRESNEL","USE_NODE_TEX_COORD_NO","USE_NODE_TEX_COORD_RE","USE_NODE_LAYER_WEIGHT","USE_NODE_BUMP",{a:"logical_or_expr",i:13}],h:{a:"grp",d:[{a:"txt",b:"vec3 bz = O ( a_tbn_quat , vec3 ( 0.0 , 1.0 , 0.0 ) ) ; vec3 P = bz ;".split(" ")}]}},
  1665. {a:"else",h:{a:"grp",d:[{a:"txt",b:"vec3 P = vec3 ( 0.0 ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["NODES","ALPHA","CALC_TBN_SPACE",{a:"logical_and_expr",i:3}],h:{a:"grp",d:[{a:"txt",b:"vec3 Q = O ( a_tbn_quat , vec3 ( 1.0 , 0.0 , 0.0 ) ) ; vec3 R = sign ( a_tbn_quat [ 3 ] ) * cross ( P , Q ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"vec3 Q = vec3 ( 0.0 ) ; vec3 R = vec3 ( 0.0 ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["VERTEX_ANIM"],h:{a:"grp",d:[{a:"txt",b:"N = mix ( N , a_position_next , u_va_frame_factor ) ;".split(" ")},
  1666. {a:"cond",d:[{a:"if",g:["NODES","ALPHA",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["USE_NODE_MATERIAL_BEGIN","USE_NODE_GEOMETRY_NO","USE_NODE_NORMAL_MAP","CAUSTICS","CALC_TBN_SPACE",{a:"logical_or_expr",i:5}],h:{a:"grp",d:[{a:"txt",b:"vec3 X = O ( a_tbn_quat_next , vec3 ( 0.0 , 1.0 , 0.0 ) ) ; P = mix ( P , X , VERTEX_ANIM_MIX_NORMALS_FACTOR ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["CALC_TBN_SPACE"],h:{a:"grp",d:[{a:"txt",b:"vec3 Y = O ( a_tbn_quat_next , vec3 ( 1.0 , 0.0 , 0.0 ) ) ; vec3 Z = sign ( a_tbn_quat_next [ 3 ] ) * cross ( X , Y ) ; Q = mix ( Q , Y , u_va_frame_factor ) ; R = mix ( R , Z , u_va_frame_factor ) ;".split(" ")}]}}]}]}}]}]}}]},
  1667. {a:"cond",d:[{a:"if",g:["SKINNED"],h:{a:"grp",d:[{a:"txt",b:"_(N,Q,R,P);".split("")}]}}]},{a:"cond",d:[{a:"if",g:["USE_INSTANCED_PARTCLS"],h:{a:"grp",d:[{a:"txt",b:"mat3 S = mat3 ( a_part_ts [ 0 ] , a_part_ts [ 1 ] , a_part_ts [ 2 ] , a_part_ts [ 3 ] , a_part_r [ 0 ] , a_part_r [ 1 ] , a_part_r [ 2 ] , a_part_r [ 3 ] , 1.0 ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["STATIC_BATCH",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"txt",b:"S = aO ( u_model_tsr , S ) ;".split(" ")}]}}]}]}},{a:"else",h:{a:"grp",
  1668. d:[{a:"cond",d:[{a:"if",g:["DYNAMIC_GRASS",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"txt",b:["mat3","S","=","u_model_tsr",";"]}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["WIND_BEND","DYNAMIC_GRASS","BILLBOARD",{a:"logical_or_expr",i:3},"USE_INSTANCED_PARTCLS",{a:"logic_negative_expr",i:1},{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["vec3","ac","=","au_center_pos",";"]}]}},{a:"elif",g:["DYNAMIC_GRASS","USE_INSTANCED_PARTCLS",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec3 ac = a_part_ts . xyz ; N = ad ( S , N ) ;".split(" ")}]}},
  1669. {a:"else",h:{a:"grp",d:[{a:"txt",b:"vec3 ac = vec3 ( 0.0 ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["USE_TBN_SHADING"],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["CALC_TBN"],h:{a:"grp",d:[{a:"txt",b:"vec3 U = normalize ( T ( S , bz ) ) ; vec3 V = cross ( vec3 ( 0.0 , 0.0 , 1.0 ) , U ) ; vec3 W = cross ( U , V ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:["vec3","W","=","a_shade_tangs",";"]}]}}]}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"vec3 W = vec3 ( 0.0 ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",
  1670. g:["DYNAMIC_GRASS"],h:{a:"grp",d:[{a:"txt",b:"aj al = aP ( N , vec3 ( 0.0 ) , vec3 ( 0.0 ) , vec3 ( 0.0 ) , P , ac , u_grass_map_depth , u_grass_map_color , u_grass_map_dim , u_grass_size , u_camera_eye , u_camera_quat , M ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["BILLBOARD"],h:{a:"grp",d:[{a:"txt",b:"vec3 ae = ad ( S , ac ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["HAIR_BILLBOARD",{a:"logic_negative_expr",i:1},"SHADOW_USAGE","SHADOW_CASTING",{a:"equal_expr",i:2},{a:"logical_and_expr",
  1671. i:2}],h:{a:"grp",d:[{a:"txt",b:["mat3","dE","=","u_shadow_cast_billboard_view_tsr",";"]}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:["mat3","dE","=","M",";"]}]}}]},{a:"cond",d:[{a:"if",g:["BILLBOARD_PRES_GLOB_ORIENTATION","STATIC_BATCH",{a:"logic_negative_expr",i:1},{a:"logical_and_expr",i:2},"USE_INSTANCED_PARTCLS",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"S = af ( u_camera_eye , ae , dE , S ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"S = ah ( u_camera_eye , ae , dE ) ;".split(" ")}]}}]},
  1672. {a:"cond",d:[{a:"if",g:["WIND_BEND","BILLBOARD_JITTERED",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"S = ai ( u_wind , u_time , u_jitter_amp , u_jitter_freq , ae , S ) ;".split(" ")}]}}]},{a:"txt",b:"aj al = ak ( N - ac , ac , vec3 ( 0.0 ) , W , vec3 ( 0.0 ) , P , S ) ; al . ac = ae ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"aj al = ak ( N , ac , vec3 ( 0.0 ) , W , vec3 ( 0.0 ) , P , S ) ;".split(" ")}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["WIND_BEND"],h:{a:"grp",d:[{a:"cond",d:[{a:"if",
  1673. g:["MAIN_BEND_COL","DETAIL_BEND",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["vec3","an","=","bz",";"]}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"vec3 an = vec3 ( 0.0 ) ;".split(" ")}]}}]},{a:"txt",b:"am ( al . N , al . ac , an , mat4 ( 0.0 ) ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["NODES","ALPHA",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"h = al . N ;".split(" ")},{a:"cond",d:[{a:"if",g:["USE_NODE_MATERIAL_BEGIN","USE_NODE_GEOMETRY_NO","USE_NODE_NORMAL_MAP","CAUSTICS","CALC_TBN_SPACE",
  1674. "WIND_BEND","MAIN_BEND_COL","DETAIL_BEND",{a:"logical_and_expr",i:3},"USE_NODE_TEX_COORD_NO","USE_NODE_BSDF_BEGIN","USE_NODE_FRESNEL","USE_NODE_TEX_COORD_RE","USE_NODE_LAYER_WEIGHT","USE_NODE_BUMP",{a:"logical_or_expr",i:12}],h:{a:"grp",d:[{a:"txt",b:"j = al . P ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["CALC_TBN_SPACE"],h:{a:"grp",d:[{a:"txt",b:"float ap = ( dot ( cross ( al . P , al . Q ) , al . R ) < 0.0 ) ? - 1.0 : 1.0 ; k = vec4 ( al . Q , ap ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["USE_TBN_SHADING"],
  1675. h:{a:"grp",d:[{a:"txt",b:"B = al . aq ;".split(" ")}]}}]}]}}]},{a:"txt",b:"vec4 bC = vec4 ( ad ( M , al . N ) , 1.0 ) ; vec4 f = u_proj_matrix * bC ;".split(" ")},{a:"cond",d:[{a:"if",g:["SMAA_JITTER"],h:{a:"grp",d:[{a:"txt",b:"f . xy += u_subpixel_jitter * f . w ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["NODES","ALPHA",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2},"USE_POSITION_CLIP",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",
  1676. b:"l = as ( f ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["USE_NODE_B4W_REFRACTION","REFRACTIVE",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"m = - bC . z / u_view_max_depth ;".split(" ")}]}}]},{a:"txt",b:["I","(",")",";"]}]}},{a:"else",h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["TEXTURE_COLOR"],h:{a:"grp",d:[{a:"txt",b:"A = ao ( a_texcoord , u_texture_scale ) ;".split(" ")}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["SHADOW_USAGE","SHADOW_MASK_GENERATION",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",
  1677. b:"bD ( al . N , al . P ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["SHADOW_USAGE","SHADOW_MASK_GENERATION",{a:"equal_expr",i:2},"NODES","ALPHA",{a:"logical_and_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["i","=","bC",";"]}]}}]},{a:"cond",d:[{a:"if",g:["SHADOW_USAGE","SHADOW_CASTING",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec2 dF = ( u_proj_matrix * vec4 ( M [ 0 ] , 1.0 ) ) . xy ; float dG = SHADOW_TEX_RES / 2.0 ; dF = floor ( dF * dG + 0.5 ) / dG - dF ; f . xy += dF ;".split(" ")}]}}]},
  1678. {a:"txt",b:["gl_Position","=","f",";","}"]}]};a["sky.glslf"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"var",c:"WO_SKYTEX",b:["0"]},{a:"var",c:"WO_SKYREAL",b:["0"]},{a:"var",c:"WO_SKYBLEND",b:["0"]},{a:"var",c:"PROCEDURAL_SKYDOME",b:["0"]},{a:"var",c:"WATER_EFFECTS",b:["0"]},{a:"var",c:"DISABLE_FOG",b:["0"]},{a:"var",c:"WO_SKYPAPER",b:["0"]},{a:"var",c:"REFLECTION_PASS",b:["REFL_PASS_NONE"]},{a:"var",c:"WATER_LEVEL",b:["0.0"]},{a:"include",o:"precision_statement.glslf"},{a:"include",o:"std.glsl"},
  1679. {a:"include",o:"color_util.glslf"},{a:"txt",b:["uniform","samplerCube","u_sky",";"]},{a:"cond",d:[{a:"if",g:["WATER_EFFECTS","DISABLE_FOG",{a:"logic_negative_expr",i:1},"REFLECTION_PASS","REFL_PASS_NONE",{a:"equal_expr",i:2},{a:"logical_and_expr",i:3}],h:{a:"grp",d:[{a:"txt",b:"uniform vec3 u_camera_eye_frag ; uniform vec4 u_underwater_fog_color_density ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["WO_SKYBLEND","WO_SKYPAPER",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"uniform vec4 u_sky_tex_fac ; uniform vec3 u_sky_tex_color ; uniform float u_sky_tex_dvar ; uniform vec3 u_horizon_color ; uniform vec3 u_zenith_color ;".split(" ")}]}}]},
  1680. {a:"cond",d:[{a:"if",g:["WO_SKYBLEND","WO_SKYPAPER","WO_SKYTEX",{a:"logical_and_expr",i:3}],h:{a:"grp",d:[{a:"include",o:"sky_blending.glslf"}]}}]},{a:"txt",b:["GLSL_IN","vec3","cX",";"]},{a:"cond",d:[{a:"if",g:["PROCEDURAL_SKYDOME",{a:"logic_negative_expr",i:1},"WO_SKYTEX","WO_SKYBLEND",{a:"logical_or_expr",i:2},{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec2","A",";"]}]}}]},{a:"txt",b:"GLSL_OUT vec4 GLSL_OUT_FRAG_COLOR ; void main ( ) { vec3 dH ; vec3 dn = normalize ( cX ) ;".split(" ")},
  1681. {a:"cond",d:[{a:"if",g:["WO_SKYBLEND","WO_SKYPAPER",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["float","dI","=","0.0",";"]},{a:"cond",d:[{a:"if",g:["WO_SKYREAL"],h:{a:"grp",d:[{a:"txt",b:"dI = abs ( A . y ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"dI = ( A . y + 1.0 ) * 0.5 ;".split(" ")}]}}]},{a:"txt",b:"vec3 dJ = u_horizon_color ; vec3 dK = u_zenith_color ;".split(" ")},{a:"cond",d:[{a:"if",g:["WO_SKYTEX"],h:{a:"grp",d:[{a:"txt",b:"vec3 dL = vec3 ( A , 0.0 ) ; vec4 dM = GLSL_TEXTURE_CUBE ( u_sky , dn ) ; bY ( dM . rgb ) ; dH = dN ( dJ , dK , dM , dI , dL ) ;".split(" ")}]}},
  1682. {a:"else",h:{a:"grp",d:[{a:"txt",b:"dH = mix ( dJ , dK , dI ) ;".split(" ")}]}}]}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"dH = GLSL_TEXTURE_CUBE ( u_sky , dn ) . rgb ; bY ( dH ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["WATER_EFFECTS","DISABLE_FOG",{a:"logic_negative_expr",i:1},"REFLECTION_PASS","REFL_PASS_NONE",{a:"equal_expr",i:2},{a:"logical_and_expr",i:3}],h:{a:"grp",d:[{a:"txt",b:"float dO = WATER_LEVEL - u_camera_eye_frag . z ; vec3 dP = vec3 ( 0.0 ) ; vec3 dQ = mix ( u_underwater_fog_color_density . rgb , dP , min ( - dn . z , 1.0 ) ) ; dQ *= min ( 1.0 - min ( 0.03 * dO , 0.8 ) , 1.0 ) ; float aB = clamp ( sign ( 0.01 * dO - dn . z ) , 0.0 , 1.0 ) ; dH = mix ( dH , dQ , aB ) ;".split(" ")}]}}]},
  1683. {a:"txt",b:"aM ( dH ) ; GLSL_OUT_FRAG_COLOR = vec4 ( dH , 1.0 ) ; }".split(" ")}]};a["sky.glslv"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"var",c:"PROCEDURAL_SKYDOME",b:["0"]},{a:"var",c:"WO_SKYTEX",b:["0"]},{a:"var",c:"WO_SKYBLEND",b:["0"]},{a:"include",o:"std.glsl"},{a:"txt",b:"uniform mat4 u_sky_vp_inverse ; GLSL_IN vec3 a_position ; GLSL_OUT vec3 cX ;".split(" ")},{a:"cond",d:[{a:"if",g:["PROCEDURAL_SKYDOME",{a:"logic_negative_expr",i:1},"WO_SKYTEX","WO_SKYBLEND",{a:"logical_or_expr",
  1684. i:2},{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec2","A",";"]}]}}]},{a:"txt",b:"void main ( ) { vec4 N = vec4 ( a_position . xy , 0.9999999 , 1.0 ) ; vec4 dn = u_sky_vp_inverse * N ; cX = dn . xyz ;".split(" ")},{a:"cond",d:[{a:"if",g:["PROCEDURAL_SKYDOME",{a:"logic_negative_expr",i:1},"WO_SKYTEX","WO_SKYBLEND",{a:"logical_or_expr",i:2},{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"A = a_position . xy ;".split(" ")}]}}]},{a:"txt",b:["gl_Position","=","N",";","}"]}]};
  1685. a["skybox.glslv"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"var",c:"PROCEDURAL_SKYDOME",b:["0"]},{a:"var",c:"WO_SKYTEX",b:["0"]},{a:"var",c:"WO_SKYBLEND",b:["0"]},{a:"include",o:"std.glsl"},{a:"txt",b:"uniform mat4 u_cube_view_matrix ; GLSL_IN vec3 a_position ; GLSL_OUT vec3 cX ;".split(" ")},{a:"cond",d:[{a:"if",g:["PROCEDURAL_SKYDOME",{a:"logic_negative_expr",i:1},"WO_SKYTEX","WO_SKYBLEND",{a:"logical_or_expr",i:2},{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec2","A",
  1686. ";"]}]}}]},{a:"txt",b:"void main ( ) { vec4 N = vec4 ( a_position . xy , 0.999999 , 1.0 ) ; vec4 dn = u_cube_view_matrix * N ; cX = dn . xyz ;".split(" ")},{a:"cond",d:[{a:"if",g:["PROCEDURAL_SKYDOME",{a:"logic_negative_expr",i:1},"WO_SKYTEX","WO_SKYBLEND",{a:"logical_or_expr",i:2},{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"A = a_position . xy ;".split(" ")}]}}]},{a:"txt",b:["gl_Position","=","N",";","}"]}]};a["tex_skybox.glslf"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"var",c:"WO_SKYTEX",
  1687. b:["0"]},{a:"var",c:"WO_SKYREAL",b:["0"]},{a:"var",c:"WO_SKYBLEND",b:["0"]},{a:"var",c:"WO_SKYPAPER",b:["0"]},{a:"include",o:"precision_statement.glslf"},{a:"include",o:"std.glsl"},{a:"include",o:"color_util.glslf"},{a:"txt",b:"GLSL_OUT vec4 GLSL_OUT_FRAG_COLOR ; GLSL_IN vec3 cX ; GLSL_IN vec2 A ;".split(" ")},{a:"cond",d:[{a:"if",g:["WO_SKYTEX"],h:{a:"grp",d:[{a:"txt",b:["uniform","samplerCube","u_sky_texture",";"]}]}}]},{a:"txt",b:"uniform vec4 u_sky_tex_fac ; uniform vec3 u_sky_tex_color ; uniform float u_sky_tex_dvar ; uniform vec3 u_horizon_color ; uniform vec3 u_zenith_color ;".split(" ")},
  1688. {a:"cond",d:[{a:"if",g:["WO_SKYTEX"],h:{a:"grp",d:[{a:"include",o:"sky_blending.glslf"}]}}]},{a:"txt",b:"void main ( ) { vec3 dn = normalize ( cX ) ; vec3 dH ; float dI = 0.0 ;".split(" ")},{a:"cond",d:[{a:"if",g:["WO_SKYPAPER"],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["WO_SKYTEX"],h:{a:"grp",d:[{a:"txt",b:"dH = GLSL_TEXTURE_CUBE ( u_sky_texture , dn ) . xyz ; bY ( dH ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"dH = vec3 ( 1.0 ) ;".split(" ")}]}}]}]}},{a:"else",h:{a:"grp",d:[{a:"cond",d:[{a:"if",
  1689. g:["WO_SKYBLEND"],h:{a:"grp",d:[{a:"txt",b:"float J = acos ( dn . z ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["WO_SKYREAL"],h:{a:"grp",d:[{a:"txt",b:"dI = abs ( J * INV_PI - 0.5 ) * 2.0 ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"dI = 1.0 - J * INV_PI ;".split(" ")}]}}]}]}}]},{a:"txt",b:"vec3 dJ = u_horizon_color ; vec3 dK = u_zenith_color ;".split(" ")},{a:"cond",d:[{a:"if",g:["WO_SKYTEX"],h:{a:"grp",d:[{a:"txt",b:"vec4 dM = GLSL_TEXTURE_CUBE ( u_sky_texture , dn ) ; bY ( dM . rgb ) ; vec3 dL = vec3 ( cX . xy , 0.0 ) ; dH = dN ( dJ , dK , dM , dI , dL ) ;".split(" ")}]}},
  1690. {a:"else",h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["WO_SKYBLEND"],h:{a:"grp",d:[{a:"txt",b:"dH = mix ( dJ , dK , dI ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:["dH","=","dJ",";"]}]}}]}]}}]}]}}]},{a:"txt",b:"aM ( dH ) ; GLSL_OUT_FRAG_COLOR = vec4 ( dH , 1.0 ) ; }".split(" ")}]};a["water.glslf"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"var",c:"PRECISION",b:["highp"]},{a:"var",c:"USE_FOG",b:["0"]},{a:"var",c:"USE_TBN_SHADING",b:["0"]},{a:"var",c:"NORM_FOAM0",b:["0"]},{a:"var",c:"NORM_FOAM1",
  1691. b:["0"]},{a:"var",c:"NORM_FOAM2",b:["0"]},{a:"var",c:"NORM_FOAM3",b:["0"]},{a:"var",c:"DEBUG_WIREFRAME",b:["0"]},{a:"var",c:"NUM_NORMALMAPS",b:["0"]},{a:"var",c:"FOAM",b:["0"]},{a:"var",c:"SHORE_PARAMS",b:["0"]},{a:"var",c:"GENERATED_MESH",b:["0"]},{a:"var",c:"ABSORB",b:["6.0"]},{a:"var",c:"SSS_STRENGTH",b:["1.0"]},{a:"var",c:"SSS_WIDTH",b:["0.45"]},{a:"var",c:"ALPHA",b:["0"]},{a:"var",c:"DISABLE_FOG",b:["0"]},{a:"var",c:"NUM_LIGHTS",b:["0"]},{a:"var",c:"WAVES_HEIGHT",b:["1.0"]},{a:"var",c:"WATER_LEVEL",
  1692. b:["0.0"]},{a:"var",c:"PROCEDURAL_FOG",b:["0"]},{a:"var",c:"SKY_TEXTURE",b:["0"]},{a:"var",c:"USE_REFRACTION_CORRECTION",b:["0"]},{a:"var",c:"SHORE_SMOOTHING",b:["0"]},{a:"var",c:"DYNAMIC",b:["0"]},{a:"var",c:"USE_ENVIRONMENT_LIGHT",b:["0"]},{a:"var",c:"SKY_COLOR",b:["0"]},{a:"var",c:"REFLECTION_TYPE",b:["REFL_NONE"]},{a:"var",c:"WATER_EFFECTS",b:["0"]},{a:"var",c:"REFRACTIVE",b:["0"]},{a:"include",o:"precision_statement.glslf"},{a:"include",o:"std.glsl"},{a:"include",o:"pack.glslf"},{a:"include",
  1693. o:"color_util.glslf"},{a:"include",o:"math.glslv"},{a:"define",c:"REFL_BUMP",b:["0.002"]},{a:"txt",b:["uniform","float","u_time",";"]},{a:"cond",d:[{a:"if",g:["USE_ENVIRONMENT_LIGHT","SKY_TEXTURE",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","samplerCube","u_sky_texture",";"]}]}},{a:"elif",g:["USE_ENVIRONMENT_LIGHT","SKY_COLOR",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"uniform vec3 u_horizon_color ; uniform vec3 u_zenith_color ;".split(" ")}]}}]},{a:"txt",b:["uniform",
  1694. "float","u_environment_energy",";"]},{a:"cond",d:[{a:"if",g:["NUM_LIGHTS",0,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"uniform vec4 u_light_positions [ NUM_LIGHTS ] ; uniform vec3 u_light_directions [ NUM_LIGHTS ] ; uniform vec4 u_light_color_intensities [ NUM_LIGHTS ] ;".split(" ")}]}}]},{a:"txt",b:"uniform vec3 u_sun_intensity ; uniform vec3 u_sun_direction ;".split(" ")},{a:"cond",d:[{a:"if",g:["REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2},"SHORE_SMOOTHING","WATER_EFFECTS","DISABLE_FOG",
  1695. {a:"logic_negative_expr",i:1},{a:"logical_and_expr",i:2},{a:"logical_or_expr",i:3}],h:{a:"grp",d:[{a:"txt",b:["uniform","float","u_cam_water_depth",";"]}]}}]},{a:"cond",d:[{a:"if",g:["DISABLE_FOG",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"txt",b:["uniform","vec4","u_fog_color_density",";"]},{a:"cond",d:[{a:"if",g:["WATER_EFFECTS"],h:{a:"grp",d:[{a:"txt",b:["uniform","vec4","u_underwater_fog_color_density",";"]}]}}]},{a:"cond",d:[{a:"if",g:["PROCEDURAL_FOG"],h:{a:"grp",d:[{a:"txt",b:["uniform",
  1696. "mat4","u_cube_fog",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_FOG"],h:{a:"grp",d:[{a:"txt",b:["uniform","vec4","u_fog_params",";"]}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["NUM_NORMALMAPS",0,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","sampler2D","u_normalmap0",";"]}]}}]},{a:"cond",d:[{a:"if",g:["REFRACTIVE"],h:{a:"grp",d:[{a:"txt",b:["uniform","sampler2D","u_refractmap",";"]}]}}]},{a:"cond",d:[{a:"if",g:["REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","sampler2D",
  1697. "u_plane_reflection",";"]}]}},{a:"elif",g:["REFLECTION_TYPE","REFL_MIRRORMAP",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","samplerCube","u_mirrormap",";"]}]}}]},{a:"cond",d:[{a:"if",g:["SHORE_SMOOTHING"],h:{a:"grp",d:[{a:"txt",b:["uniform","PRECISION","sampler2D","u_scene_depth",";"]}]}}]},{a:"cond",d:[{a:"if",g:["FOAM"],h:{a:"grp",d:[{a:"txt",b:["uniform","sampler2D","u_foam",";"]}]}}]},{a:"txt",b:"uniform vec4 u_diffuse_color ; uniform vec2 u_diffuse_params ; uniform float u_diffuse_intensity ; uniform float u_ambient ; uniform vec4 u_fresnel_params ; uniform vec3 u_specular_color ; uniform vec3 u_specular_params ; uniform vec3 u_shallow_water_col ; uniform vec3 u_shore_water_col ;".split(" ")},
  1698. {a:"cond",d:[{a:"if",g:["NUM_NORMALMAPS",0,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"uniform float u_water_norm_uv_velocity ; uniform vec2 u_normalmap0_scale ;".split(" ")},{a:"cond",d:[{a:"if",g:["NUM_NORMALMAPS",1,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","vec2","u_normalmap1_scale",";"]},{a:"cond",d:[{a:"if",g:["NUM_NORMALMAPS",2,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","vec2","u_normalmap2_scale",";"]},{a:"cond",d:[{a:"if",g:["NUM_NORMALMAPS",3,{a:"g_expr",i:2}],h:{a:"grp",
  1699. d:[{a:"txt",b:["uniform","vec2","u_normalmap3_scale",";"]}]}}]}]}}]}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["REFLECTION_TYPE","REFL_MIRRORMAP",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","float","u_mirror_factor",";"]}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:["uniform","float","u_reflect_factor",";"]}]}}]},{a:"cond",d:[{a:"if",g:["SHORE_SMOOTHING","DISABLE_FOG",{a:"logic_negative_expr",i:1},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","float","u_view_max_depth",";"]}]}}]},
  1700. {a:"cond",d:[{a:"if",g:["SHORE_PARAMS"],h:{a:"grp",d:[{a:"txt",b:"uniform float u_water_shallow_col_fac ; uniform float u_water_shore_col_fac ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["FOAM"],h:{a:"grp",d:[{a:"txt",b:"uniform float u_foam_factor ; uniform vec2 u_foam_uv_freq ; uniform vec2 u_foam_mag ; uniform vec2 u_foam_scale ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["REFRACTIVE"],h:{a:"grp",d:[{a:"txt",b:["uniform","float","u_refr_bump",";"]}]}}]},{a:"cond",d:[{a:"if",g:["DEBUG_WIREFRAME"],
  1701. h:{a:"grp",d:[{a:"txt",b:"const float au = 1.0 ; uniform vec3 u_wireframe_edge_color ;".split(" ")}]}}]},{a:"txt",b:"GLSL_IN vec3 bw ; GLSL_IN vec3 h ; GLSL_IN vec3 j ;".split(" ")},{a:"cond",d:[{a:"if",g:["NUM_NORMALMAPS",0,{a:"g_expr",i:2},"FOAM",{a:"logical_or_expr",i:2},"GENERATED_MESH",{a:"logic_negative_expr",i:1},{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec2","A",";"]}]}}]},{a:"cond",d:[{a:"if",g:["NUM_NORMALMAPS",0,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"GLSL_IN vec3 k ; GLSL_IN vec3 dR ;".split(" ")}]}}]},
  1702. {a:"cond",d:[{a:"if",g:["NUM_NORMALMAPS",0,{a:"g_expr",i:2},"FOAM",{a:"logical_or_expr",i:2},"GENERATED_MESH","DYNAMIC",{a:"logical_and_expr",i:3}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec3","dS",";"]}]}}]},{a:"cond",d:[{a:"if",g:["SHORE_PARAMS"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec3","dT",";"]}]}}]},{a:"cond",d:[{a:"if",g:["SHORE_SMOOTHING","REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2},"REFRACTIVE",{a:"logical_or_expr",i:3}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec3","l",";"]}]}}]},{a:"cond",
  1703. d:[{a:"if",g:["SHORE_SMOOTHING","REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2},"REFRACTIVE","DISABLE_FOG",{a:"logic_negative_expr",i:1},{a:"logical_or_expr",i:4}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","float","m",";"]}]}}]},{a:"cond",d:[{a:"if",g:["DEBUG_WIREFRAME"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec3","at",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_TBN_SHADING"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec3","B",";"]}]}}]},{a:"txt",b:["GLSL_OUT","vec4","GLSL_OUT_FRAG_COLOR",";"]},{a:"include",
  1704. o:"environment.glslf"},{a:"cond",d:[{a:"if",g:["REFRACTIVE","SHORE_SMOOTHING","USE_REFRACTION_CORRECTION",{a:"logical_and_expr",i:3}],h:{a:"grp",d:[{a:"include",o:"refraction.glslf"}]}}]},{a:"cond",d:[{a:"if",g:["DISABLE_FOG",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"include",o:"fog.glslf"}]}}]},{a:"txt",b:"vec3 ed ( in vec2 dU , in vec3 P , in vec3 C , in vec3 dV , out float dW ) { dW = 0.0 ; vec3 dX = reflect ( - C , P ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["REFLECTION_TYPE","REFL_PLANE",
  1705. {a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec2 dY = dU . xy + P . xy * REFL_BUMP / m ; dW = u_reflect_factor ; vec3 dZ ; if ( u_cam_water_depth < 0.0 ) {".split(" ")},{a:"cond",d:[{a:"if",g:["DISABLE_FOG",{a:"logic_negative_expr",i:1},"WATER_EFFECTS",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"dZ = u_underwater_fog_color_density . rgb ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"dZ = u_diffuse_color . rgb ;".split(" ")}]}}]},{a:"txt",b:"} else { dZ = GLSL_TEXTURE ( u_plane_reflection , dY ) . rgb ; bY ( dZ ) ; }".split(" ")}]}},
  1706. {a:"elif",g:["REFLECTION_TYPE","REFL_MIRRORMAP",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"dW = u_mirror_factor ; vec3 dZ = dV * GLSL_TEXTURE_CUBE ( u_mirrormap , dX ) . rgb ; bY ( dZ ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"dW = u_reflect_factor ; vec3 dZ = dV * vec3 ( 0.3 , 0.5 , 1.0 ) ; bY ( dZ ) ;".split(" ")}]}}]},{a:"txt",b:"vec3 d_ = normalize ( dX + C ) ; float ea = 1.0 - dot ( C , d_ ) ; float eb = u_fresnel_params [ 3 ] ; float ec = u_fresnel_params [ 2 ] ; float r = eb + ( 1.0 - eb ) * pow ( ea , ec ) ; dW = min ( dW * r , 1.0 ) ; return dZ ; }".split(" ")},
  1707. {a:"include",o:"lighting_nodes.glslf"},{a:"txt",b:["void","main","(",")","{"]},{a:"cond",d:[{a:"if",g:["NUM_NORMALMAPS",0,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"mat3 bG = mat3 ( k , dR , j ) ;".split(" ")}]}}]},{a:"txt",b:"vec3 P = normalize ( j ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["DYNAMIC","FOAM",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["WATER_EFFECTS"],h:{a:"grp",d:[{a:"txt",b:"float bq = h . z - WATER_LEVEL ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"float bq = h . z ;".split(" ")}]}}]}]}}]},
  1708. {a:"cond",d:[{a:"if",g:["NUM_NORMALMAPS",0,{a:"g_expr",i:2},"FOAM",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["GENERATED_MESH"],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["DYNAMIC"],h:{a:"grp",d:[{a:"txt",b:"vec2 bE = vec2 ( dS . x , - dS . y ) + 0.5 ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"vec2 bE = vec2 ( h . x , - h . y ) + 0.5 ;".split(" ")}]}}]}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:["vec2","bE","=","A",";"]}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["NUM_NORMALMAPS",0,
  1709. {a:"g_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec3 ee = vec3 ( 0.0 ) ; vec3 ef = GLSL_TEXTURE ( u_normalmap0 , bE * u_normalmap0_scale + vec2 ( 0.3 , 0.5 ) * u_water_norm_uv_velocity * u_time ) . xyz - 0.5 ; ee += ef ;".split(" ")},{a:"cond",d:[{a:"if",g:["FOAM"],h:{a:"grp",d:[{a:"txt",b:"vec3 eg = vec3 ( 0.0 ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["NORM_FOAM0"],h:{a:"grp",d:[{a:"txt",b:["eg","+=","ef",";"]}]}}]}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["NUM_NORMALMAPS",1,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"txt",
  1710. b:"ef = GLSL_TEXTURE ( u_normalmap0 , bE * u_normalmap1_scale + vec2 ( - 0.3 , 0.7 ) * u_water_norm_uv_velocity * u_time ) . xyz - 0.5 ; ee += ef ;".split(" ")},{a:"cond",d:[{a:"if",g:["FOAM"],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["NORM_FOAM1"],h:{a:"grp",d:[{a:"txt",b:["eg","+=","ef",";"]}]}}]}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["NUM_NORMALMAPS",2,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"ef = GLSL_TEXTURE ( u_normalmap0 , bE * u_normalmap2_scale + vec2 ( 0.0 , 1.1 ) * u_water_norm_uv_velocity * u_time ) . xyz - 0.5 ; ee += ef ;".split(" ")},
  1711. {a:"cond",d:[{a:"if",g:["FOAM"],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["NORM_FOAM2"],h:{a:"grp",d:[{a:"txt",b:["eg","+=","ef",";"]}]}}]}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["NUM_NORMALMAPS",3,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"ef = GLSL_TEXTURE ( u_normalmap0 , bE * u_normalmap3_scale + vec2 ( - 0.66 , - 0.3 ) * u_water_norm_uv_velocity * u_time ) . xyz - 0.5 ; ee += ef ;".split(" ")},{a:"cond",d:[{a:"if",g:["FOAM"],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["NORM_FOAM3"],h:{a:"grp",d:[{a:"txt",
  1712. b:["eg","+=","ef",";"]}]}}]}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["NUM_NORMALMAPS",0,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["FOAM"],h:{a:"grp",d:[{a:"txt",b:"vec3 eh = bG * eg ; if ( ! ei ( eh , vec3 ( 0.0 ) ) ) eh = normalize ( eh ) ; vec3 ej = mix ( P , eh , 0.2 ) ; ej = normalize ( ej ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["DYNAMIC"],h:{a:"grp",d:[{a:"txt",b:"P = mix ( P , normalize ( bG * ee ) , 0.3 ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"P = mix ( P , normalize ( bG * ee ) , 0.5 ) ;".split(" ")}]}}]},
  1713. {a:"txt",b:"P = normalize ( P ) ;".split(" ")}]}}]},{a:"txt",b:"vec3 C = normalize ( bw ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2},"REFRACTIVE",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec2 dU = l . xy / l . z ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["REFRACTIVE"],h:{a:"grp",d:[{a:"txt",b:"vec2 ek = dU + P . xy * u_refr_bump / m ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["SHORE_SMOOTHING"],h:{a:"grp",d:[{a:"txt",b:"float J = u_diffuse_color . a ; vec4 cu = GLSL_TEXTURE_PROJ ( u_scene_depth , l ) ; float cw = cv ( cu ) ; float cx = max ( cw - m , 0.0 ) ;".split(" ")},
  1714. {a:"cond",d:[{a:"if",g:["REFRACTIVE"],h:{a:"grp",d:[{a:"txt",b:"float em = el ( cw , ek , dU ) ; float en = max ( em - m , 0.0 ) ; float eo = u_view_max_depth / ABSORB * en ; float ep = min ( J * eo , 1.0 ) ; J = min ( 15.0 * J * u_view_max_depth * cx , 1.0 ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"float cy = u_view_max_depth / ABSORB * cx ; if ( u_cam_water_depth > 0.0 ) J = min ( J * cy , 1.0 ) ;".split(" ")}]}}]}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"float J = u_diffuse_color . a ;".split(" ")},
  1715. {a:"cond",d:[{a:"if",g:["REFRACTIVE"],h:{a:"grp",d:[{a:"txt",b:["float","ep","=","J",";"]}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["REFRACTIVE"],h:{a:"grp",d:[{a:"txt",b:"if ( u_cam_water_depth < 0.0 ) ep = 0.0 ; vec3 eq = GLSL_TEXTURE ( u_refractmap , ek ) . rgb ; bY ( eq ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["SHORE_PARAMS"],h:{a:"grp",d:[{a:"txt",b:"float er = pow ( min ( dT . b / u_water_shallow_col_fac , 1.0 ) , 0.3 ) ; vec3 bZ = mix ( u_shallow_water_col , u_diffuse_color . rgb , er ) ; er = pow ( min ( dT . b / u_water_shore_col_fac , 1.0 ) , 0.3 ) ; bZ = mix ( u_shore_water_col , bZ , er ) ;".split(" ")}]}},
  1716. {a:"else",h:{a:"grp",d:[{a:"txt",b:"vec3 bZ = u_diffuse_color . rgb ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["FOAM"],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["SHORE_SMOOTHING"],h:{a:"grp",d:[{a:"txt",b:"float es = max ( 1.0 - u_view_max_depth * cx , 0.0 ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"float es = 1.0 - J ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["DYNAMIC"],h:{a:"grp",d:[{a:"txt",b:"float et = max ( bq / WAVES_HEIGHT + 0.1 , 0.0 ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["SHORE_PARAMS"],
  1717. h:{a:"grp",d:[{a:"txt",b:"vec3 eu = normalize ( vec3 ( dT . rg , 0.0 ) ) ; vec3 ev = normalize ( mix ( UP_VECTOR , eu , 0.8 ) ) ; float ew = 1.25 * max ( dot ( ej , ev ) - 0.2 , 0.0 ) ; ew += max ( dot ( ej , - UP_VECTOR ) , 0.0 ) ; es += ew * ( 1.0 - dT . b ) ; et *= ( 1.0 - 0.95 * pow ( dT . b , 0.1 ) ) ;".split(" ")}]}}]},{a:"txt",b:"es += et ; es = min ( u_foam_factor * es , 1.0 ) ;".split(" ")}]}}]},{a:"txt",b:"vec4 ex = GLSL_TEXTURE ( u_foam , u_foam_mag * sin ( u_foam_uv_freq * u_time ) + bE * u_foam_scale ) ;".split(" ")}]}}]},
  1718. {a:"txt",b:"float cl = u_specular_params [ 0 ] ; vec2 cm = vec2 ( u_specular_params [ 1 ] , u_specular_params [ 2 ] ) ; vec3 cn = cl * u_specular_color ; vec3 cf = u_environment_energy * ce ( P ) ; vec3 cg = u_ambient * cf ; vec3 dV = cg + u_sun_intensity ; float dW ;".split(" ")},{a:"cond",d:[{a:"if",g:["REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec3 dZ = ed ( dU , P , C , dV , dW ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"vec3 dZ = ed ( vec2 ( 0.0 ) , P , C , dV , dW ) ;".split(" ")}]}}]},
  1719. {a:"txt",b:"vec3 cd = u_diffuse_intensity * bZ ; vec3 aG ; vec3 co ; cp ( vec3 ( 0.0 ) , vec3 ( 0.0 ) , cd , cn , h , P , C , cm , u_diffuse_params , vec4 ( 1.0 ) , 0.0 , vec4 ( 0.0 ) , aG , co ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["DYNAMIC"],h:{a:"grp",d:[{a:"txt",b:"float ey = max ( dot ( u_sun_direction , - j ) + SSS_WIDTH , 0.0 ) * max ( dot ( - C , u_sun_direction ) - 0.5 , 0.0 ) * max ( 0.0 , length ( u_sun_intensity ) - 0.1 ) ; ey = clamp ( SSS_STRENGTH * ey , 0.0 , 1.0 ) ; aG = mix ( aG , u_shallow_water_col , ey ) ; aG = mix ( aG , u_shore_water_col , ey ) ;".split(" ")}]}}]},
  1720. {a:"cond",d:[{a:"if",g:["REFRACTIVE"],h:{a:"grp",d:[{a:"txt",b:"aG = mix ( eq , aG , ep ) ;".split(" ")}]}}]},{a:"txt",b:"aG = mix ( aG , dZ , dW ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["FOAM"],h:{a:"grp",d:[{a:"txt",b:"float ez = mix ( ex . g , ex . r , max ( 4.0 * ( es - 0.75 ) , 0.0 ) ) ; ez = mix ( ex . b , ez , max ( 2.0 * es - 1.0 , 0.0 ) ) ; ez = mix ( 0.0 , ez , es ) ; aG = mix ( aG , dV , ez ) ;".split(" ")}]}}]},{a:"txt",b:["aG","+=","co",";"]},{a:"cond",d:[{a:"if",g:["WATER_EFFECTS","DISABLE_FOG",
  1721. {a:"logic_negative_expr",i:1},{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"float eA = m * u_view_max_depth ; float eB = 1.0 ; if ( u_cam_water_depth > 1.0 ) eB = 2.0 ; bu ( aG , eA , C , eB ) ;".split(" ")}]}}]},{a:"txt",b:["aM","(","aG",")",";"]},{a:"cond",d:[{a:"if",g:["REFRACTIVE",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"txt",b:"J = max ( J , co . r ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["FOAM"],h:{a:"grp",d:[{a:"txt",b:["J","+=","ez",";"]}]}}]}]}},{a:"elif",g:["SHORE_SMOOTHING",
  1722. {a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"txt",b:["J","=","1.0",";"]}]}}]},{a:"cond",d:[{a:"if",g:["ALPHA"],h:{a:"grp",d:[{a:"txt",b:"aN ( aG , J ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["DEBUG_WIREFRAME",1,{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["GLSL1"],h:{a:"grp",d:[{a:"extension",b:["GL_OES_standard_derivatives",":","enable"]}]}}]},{a:"txt",b:"vec3 aD = fwidth ( at ) ; vec3 aE = smoothstep ( vec3 ( 0.0 ) , aD * au , at ) ; float eC = min ( min ( aE . x , aE . y ) , aE . z ) ; eC = clamp ( eC , 0.0 , 1.0 ) ; aG = mix ( u_wireframe_edge_color , aG , eC ) ; J = mix ( 1.0 , J , eC ) ;".split(" ")}]}},
  1723. {a:"elif",g:["DEBUG_WIREFRAME",2,{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec3 aC = sign ( at - vec3 ( 0.02 * au ) ) ; float eC = 1.0 ; if ( aC . x < 0.0 || aC . y < 0.0 || aC . z < 0.0 ) eC = 0.0 ; aG = mix ( u_wireframe_edge_color , aG , eC ) ; J = mix ( 1.0 , J , eC ) ;".split(" ")}]}}]},{a:"txt",b:"GLSL_OUT_FRAG_COLOR = vec4 ( aG , J ) ; }".split(" ")}]};a["water.glslv"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"var",c:"PRECISION",b:["highp"]},{a:"var",c:"USE_TBN_SHADING",b:["0"]},
  1724. {a:"var",c:"DEBUG_WIREFRAME",b:["0"]},{a:"var",c:"NUM_NORMALMAPS",b:["0"]},{a:"var",c:"FOAM",b:["0"]},{a:"var",c:"SHORE_PARAMS",b:["0"]},{a:"var",c:"MAX_SHORE_DIST",b:["100.0"]},{a:"var",c:"SHORE_MAP_SIZE_X",b:["1.0"]},{a:"var",c:"SHORE_MAP_SIZE_Y",b:["1.0"]},{a:"var",c:"SHORE_MAP_CENTER_X",b:["0.0"]},{a:"var",c:"SHORE_MAP_CENTER_Y",b:["0.0"]},{a:"var",c:"GENERATED_MESH",b:["0"]},{a:"var",c:"DST_NOISE_SCALE_0",b:["0.05"]},{a:"var",c:"DST_NOISE_SCALE_1",b:["0.03"]},{a:"var",c:"DST_NOISE_FREQ_0",b:["1.3"]},
  1725. {a:"var",c:"DST_NOISE_FREQ_1",b:["1.0"]},{a:"var",c:"DIR_MIN_SHR_FAC",b:["0.4"]},{a:"var",c:"DIR_FREQ",b:["0.5"]},{a:"var",c:"DIR_NOISE_SCALE",b:["0.05"]},{a:"var",c:"DIR_NOISE_FREQ",b:["0.07"]},{a:"var",c:"DIR_MIN_NOISE_FAC",b:["0.5"]},{a:"var",c:"DST_MIN_FAC",b:["0.2"]},{a:"var",c:"WAVES_HOR_FAC",b:["5.0"]},{a:"var",c:"DISABLE_FOG",b:["0"]},{a:"var",c:"WAVES_HEIGHT",b:["1.0"]},{a:"var",c:"WAVES_LENGTH",b:["10.0"]},{a:"var",c:"WATER_LEVEL",b:["0.0"]},{a:"var",c:"SHORE_SMOOTHING",b:["0"]},{a:"var",
  1726. c:"DYNAMIC",b:["0"]},{a:"var",c:"REFLECTION_TYPE",b:["REFL_NONE"]},{a:"var",c:"REFRACTIVE",b:["0"]},{a:"var",c:"STATIC_BATCH",b:["0"]},{a:"var",c:"WATER_EFFECTS",b:["0"]},{a:"include",o:"std.glsl"},{a:"include",o:"math.glslv"},{a:"include",o:"to_world.glslv"},{a:"include",o:"procedural.glslf"},{a:"txt",b:["GLSL_IN","vec3","a_position",";"]},{a:"cond",d:[{a:"if",g:["GENERATED_MESH",{a:"logic_negative_expr",i:1},"DYNAMIC",{a:"logic_negative_expr",i:1},"NUM_NORMALMAPS",0,{a:"g_expr",i:2},{a:"logical_or_expr",
  1727. i:2},{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec4","a_tbn_quat",";"]}]}}]},{a:"cond",d:[{a:"if",g:["GENERATED_MESH",{a:"logic_negative_expr",i:1},"NUM_NORMALMAPS",0,{a:"g_expr",i:2},"FOAM",{a:"logical_or_expr",i:2},{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec2","a_texcoord",";"]}]}}]},{a:"cond",d:[{a:"if",g:["DEBUG_WIREFRAME"],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","float","a_polyindex",";"]}]}}]},{a:"txt",b:"GLSL_OUT vec3 bw ; GLSL_OUT vec3 h ; GLSL_OUT vec3 j ;".split(" ")},
  1728. {a:"cond",d:[{a:"if",g:["NUM_NORMALMAPS",0,{a:"g_expr",i:2},"FOAM",{a:"logical_or_expr",i:2},"GENERATED_MESH",{a:"logic_negative_expr",i:1},{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec2","A",";"]}]}}]},{a:"cond",d:[{a:"if",g:["NUM_NORMALMAPS",0,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"GLSL_OUT vec3 k ; GLSL_OUT vec3 dR ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["NUM_NORMALMAPS",0,{a:"g_expr",i:2},"FOAM",{a:"logical_or_expr",i:2},"GENERATED_MESH","DYNAMIC",{a:"logical_and_expr",
  1729. i:3}],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec3","dS",";"]}]}}]},{a:"cond",d:[{a:"if",g:["SHORE_PARAMS"],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec3","dT",";"]}]}}]},{a:"cond",d:[{a:"if",g:["SHORE_SMOOTHING","REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2},"REFRACTIVE",{a:"logical_or_expr",i:3}],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec3","l",";"]}]}}]},{a:"cond",d:[{a:"if",g:["SHORE_SMOOTHING","REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2},"REFRACTIVE","DISABLE_FOG",{a:"logic_negative_expr",
  1730. i:1},{a:"logical_or_expr",i:4}],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","float","m",";"]}]}}]},{a:"cond",d:[{a:"if",g:["DEBUG_WIREFRAME"],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec3","at",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_TBN_SHADING"],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec3","B",";"]}]}}]},{a:"cond",d:[{a:"if",g:["STATIC_BATCH"],h:{a:"grp",d:[{a:"txt",b:"const mat3 u_model_tsr = mat3 ( 0.0 , 0.0 , 0.0 , 1.0 , 0.0 , 0.0 , 0.0 , 1.0 , 0.0 ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:["uniform",
  1731. "mat3","u_model_tsr",";"]}]}}]},{a:"txt",b:"uniform mat3 u_view_tsr ; uniform mat4 u_proj_matrix ; uniform vec3 u_camera_eye ;".split(" ")},{a:"cond",d:[{a:"if",g:["DYNAMIC"],h:{a:"grp",d:[{a:"txt",b:"uniform PRECISION float u_time ; uniform vec3 u_wind ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["SHORE_SMOOTHING","REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2},"REFRACTIVE","DISABLE_FOG",{a:"logic_negative_expr",i:1},{a:"logical_or_expr",i:4}],h:{a:"grp",d:[{a:"txt",b:["uniform","PRECISION","float",
  1732. "u_view_max_depth",";"]}]}}]},{a:"cond",d:[{a:"if",g:["SHORE_PARAMS"],h:{a:"grp",d:[{a:"txt",b:["uniform","sampler2D","u_shore_dist_map",";"]}]}}]},{a:"cond",d:[{a:"if",g:["SHORE_PARAMS"],h:{a:"grp",d:[{a:"txt",b:"vec3 eJ ( in vec2 eD ) { vec2 eE = 0.5 + vec2 ( ( eD . x - SHORE_MAP_CENTER_X ) / SHORE_MAP_SIZE_X , ( eD . y - SHORE_MAP_CENTER_Y ) / SHORE_MAP_SIZE_Y ) ; vec4 eF = GLSL_TEXTURE ( u_shore_dist_map , eE ) ; const vec2 eG = vec2 ( 1.0 / 255.0 , 1.0 ) ; float eH = dot ( eF . ba , eG ) ; vec2 eI = normalize ( eF . rg * 2.0 - 1.0 ) ; return vec3 ( eI , eH ) ; }".split(" ")}]}}]},
  1733. {a:"cond",d:[{a:"if",g:["DYNAMIC"],h:{a:"grp",d:[{a:"define",c:"SMALL_WAVES_FAC",b:["0.2"]},{a:"txt",b:"void eY ( inout vec3 eD , in float eK , in vec3 eF ) { float eM = eL ( DST_NOISE_SCALE_0 * ( eD . xy + DST_NOISE_FREQ_0 * eK ) ) * eL ( DST_NOISE_SCALE_1 * ( eD . yx - DST_NOISE_FREQ_1 * eK ) ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["SHORE_PARAMS"],h:{a:"grp",d:[{a:"txt",b:"float eN = WAVES_LENGTH / MAX_SHORE_DIST / M_PI ; float eH = eF . b ; float eO = sqrt ( eH ) ; float eP = max ( eH , DIR_MIN_SHR_FAC ) * sin ( eO / eN + DIR_FREQ * eK ) ; float eQ = max ( eL ( DIR_NOISE_SCALE * ( eD . xy + DIR_NOISE_FREQ * eK ) ) , DIR_MIN_NOISE_FAC ) ; eP *= eQ ; float eR = WAVES_HEIGHT * mix ( eP , eM , max ( eO , DST_MIN_FAC ) ) ; vec2 eI = eF . rg ; float eS = WAVES_HOR_FAC * eP * max ( MAX_SHORE_DIST / 35.0 * ( 0.05 - eH ) , 0.0 ) ; vec2 eT = eS * eI ;".split(" ")}]}},
  1734. {a:"else",h:{a:"grp",d:[{a:"txt",b:"float eR = WAVES_HEIGHT * eM ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["GENERATED_MESH"],h:{a:"grp",d:[{a:"txt",b:"vec2 eU = 1.0 * ( eD . xy - 0.3 * eK ) ; vec2 eV = 0.7 * ( eD . yx + 0.07 * eK ) ; float eX = eW ( eU ) . x + eW ( eV ) . x - 1.0 ;".split(" ")},{a:"cond",d:[{a:"if",g:["SHORE_PARAMS"],h:{a:"grp",d:[{a:"txt",b:"eD . xy += eT ; eX *= eH ;".split(" ")}]}}]},{a:"txt",b:"eR += SMALL_WAVES_FAC * eX ;".split(" ")}]}}]},{a:"txt",b:"eD . z += eR ; }".split(" ")}]}}]},
  1735. {a:"txt",b:["void","main","(",")","{"]},{a:"cond",d:[{a:"if",g:["DEBUG_WIREFRAME"],h:{a:"grp",d:[{a:"txt",b:"if ( a_polyindex == 0.0 ) at = vec3 ( 1.0 , 0.0 , 0.0 ) ; else if ( a_polyindex == 1.0 ) at = vec3 ( 0.0 , 0.0 , 1.0 ) ; else at = vec3 ( 0.0 , 1.0 , 0.0 ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["GENERATED_MESH"],h:{a:"grp",d:[{a:"txt",b:"vec3 N = a_position ; float eZ = abs ( N . z ) ; vec2 e_ = u_camera_eye . xy - mod ( u_camera_eye . xy , eZ ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["WATER_EFFECTS"],
  1736. h:{a:"grp",d:[{a:"txt",b:"N . z = WATER_LEVEL ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"N . z = 0.0 ;".split(" ")}]}}]},{a:"txt",b:"N . xy += e_ ; vec3 bA = N ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["NUM_NORMALMAPS",0,{a:"g_expr",i:2},"FOAM",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["A","=","a_texcoord",";"]}]}}]},{a:"txt",b:"aj al = ak ( a_position , vec3 ( 0.0 ) , vec3 ( 0.0 ) , vec3 ( 0.0 ) , vec3 ( 0.0 ) , vec3 ( 0.0 ) , u_model_tsr ) ; vec3 bA = al . N ;".split(" ")}]}}]},
  1737. {a:"cond",d:[{a:"if",g:["SHORE_PARAMS"],h:{a:"grp",d:[{a:"txt",b:"dT = eJ ( bA . xy ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["DYNAMIC"],h:{a:"grp",d:[{a:"txt",b:"float fa = length ( u_wind ) ; if ( fa == 0.0 ) fa = 1.0 ; float fb = u_time ; fb *= fa ;".split(" ")},{a:"cond",d:[{a:"if",g:["GENERATED_MESH"],h:{a:"grp",d:[{a:"txt",b:"float fc = eZ ; vec3 fd = bA + vec3 ( fc , 0.0 , 0.0 ) ; vec3 fe = bA + vec3 ( 0.0 , fc , 0.0 ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["NUM_NORMALMAPS",0,{a:"g_expr",
  1738. i:2},"FOAM",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["dS","=","bA",";"]}]}}]}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"vec3 fd = bA + vec3 ( 0.05 , 0.0 , 0.0 ) ; vec3 fe = bA + vec3 ( 0.0 , 0.05 , 0.0 ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["SHORE_PARAMS"],h:{a:"grp",d:[{a:"txt",b:"vec3 ff = eJ ( fd . xy ) ; vec3 fg = eJ ( fe . xy ) ; eY ( fd , fb , ff ) ; eY ( fe , fb , fg ) ; eY ( bA , fb , dT ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"eY ( fd , fb , vec3 ( 0.0 ) ) ; eY ( fe , fb , vec3 ( 0.0 ) ) ; eY ( bA , fb , vec3 ( 0.0 ) ) ;".split(" ")}]}}]},
  1739. {a:"cond",d:[{a:"if",g:["GENERATED_MESH","WATER_EFFECTS",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"if ( a_position . z < 0.0 ) { bA . z = WATER_LEVEL - 1.0 ; fd . z = bA . z ; fe . z = bA . z ; }".split(" ")}]}}]},{a:"txt",b:"vec3 fh = normalize ( fd - bA ) ; vec3 Q = normalize ( fe - bA ) ; j = normalize ( cross ( fh , Q ) ) ; float fi = dot ( j , UP_VECTOR ) ; float aB = clamp ( 0.8 - fi , 0.0 , 1.0 ) ; j = mix ( j , UP_VECTOR , aB ) ;".split(" ")}]}},{a:"elif",g:["GENERATED_MESH",{a:"logic_negative_expr",
  1740. i:1}],h:{a:"grp",d:[{a:"txt",b:"j = O ( a_tbn_quat , vec3 ( 0.0 , 1.0 , 0.0 ) ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"j = vec3 ( 0.0 , 0.0 , 1.0 ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["NUM_NORMALMAPS",0,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["DYNAMIC",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["GENERATED_MESH",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"txt",b:"vec3 Q = O ( a_tbn_quat , vec3 ( 1.0 , 0.0 , 0.0 ) ) ;".split(" ")}]}},
  1741. {a:"elif",g:["DYNAMIC",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"txt",b:"vec3 Q = vec3 ( 1.0 , 0.0 , 0.0 ) ;".split(" ")}]}}]}]}}]},{a:"txt",b:"k = Q ; dR = cross ( j , k ) ;".split(" ")}]}}]},{a:"txt",b:"h = bA ; bw = u_camera_eye - bA ; vec4 bC = vec4 ( ad ( u_view_tsr , bA ) , 1.0 ) ; vec4 f = u_proj_matrix * bC ;".split(" ")},{a:"cond",d:[{a:"if",g:["SHORE_SMOOTHING","REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2},"REFRACTIVE",{a:"logical_or_expr",i:3}],h:{a:"grp",d:[{a:"txt",b:"float fj = f . x ; float fk = f . y ; float fl = f . w ; l . x = ( fj + fl ) / 2.0 ; l . y = ( fk + fl ) / 2.0 ; l . z = fl ;".split(" ")}]}}]},
  1742. {a:"cond",d:[{a:"if",g:["SHORE_SMOOTHING","REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2},"REFRACTIVE","DISABLE_FOG",{a:"logic_negative_expr",i:1},{a:"logical_or_expr",i:4}],h:{a:"grp",d:[{a:"txt",b:"m = - bC . z / u_view_max_depth ;".split(" ")}]}}]},{a:"txt",b:["gl_Position","=","f",";","}"]}]};a["postprocessing/antialiasing.glslf"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"var",c:"AA_METHOD",b:["AA_METHOD_FXAA_LIGHT"]},{a:"var",c:"AA_QUALITY",b:["AA_QUALITY_LOW"]},{a:"include",o:"precision_statement.glslf"},
  1743. {a:"include",o:"std.glsl"},{a:"include",o:"color_util.glslf"},{a:"txt",b:"uniform sampler2D u_color ; uniform vec2 u_texel_size ; GLSL_IN vec2 A ; GLSL_OUT vec4 GLSL_OUT_FRAG_COLOR ;".split(" ")},{a:"cond",d:[{a:"if",g:["AA_METHOD","AA_METHOD_FXAA_LIGHT",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"define",c:"FXAA_REDUCE_MIN",b:["(","1.0","/","128.0",")"]},{a:"define",c:"FXAA_REDUCE_MUL",b:["(","1.0","/","8.0",")"]},{a:"define",c:"FXAA_SPAN_MAX",b:["8.0"]},{a:"txt",b:"vec4 fn ( float x , float y ) { vec2 fm = A + vec2 ( x , y ) * u_texel_size ; return GLSL_TEXTURE ( u_color , fm ) ; } vec4 fG ( ) { vec4 fo = fn ( - 1.0 , - 1.0 ) ; vec4 fp = fn ( 1.0 , - 1.0 ) ; vec4 fq = fn ( - 1.0 , 1.0 ) ; vec4 fr = fn ( 1.0 , 1.0 ) ; vec4 fs = fn ( 0.0 , 0.0 ) ; float fu = ft ( fs ) ; float fv = ft ( fo ) ; float fw = ft ( fp ) ; float fx = ft ( fq ) ; float fy = ft ( fr ) ; float fz = min ( fu , min ( min ( fv , fw ) , min ( fx , fy ) ) ) ; float fA = max ( fu , max ( max ( fv , fw ) , max ( fx , fy ) ) ) ; vec2 be ; be . x = - ( ( fv + fw ) - ( fx + fy ) ) ; be . y = ( ( fv + fx ) - ( fw + fy ) ) ; float fB = max ( ( fv + fw + fx + fy ) * ( 0.25 * FXAA_REDUCE_MUL ) , FXAA_REDUCE_MIN ) ; float fC = 1.0 / ( min ( abs ( be . x ) , abs ( be . y ) ) + fB ) ; be = min ( vec2 ( FXAA_SPAN_MAX , FXAA_SPAN_MAX ) , max ( vec2 ( - FXAA_SPAN_MAX , - FXAA_SPAN_MAX ) , be * fC ) ) * u_texel_size ; vec4 fD = 0.5 * ( GLSL_TEXTURE ( u_color , A + be * ( 1.0 / 3.0 - 0.5 ) ) + GLSL_TEXTURE ( u_color , A + be * ( 2.0 / 3.0 - 0.5 ) ) ) ; vec4 fE = fD * 0.5 + 0.25 * ( GLSL_TEXTURE ( u_color , A + be * - 0.5 ) + GLSL_TEXTURE ( u_color , A + be * 0.5 ) ) ; float fF = ft ( fE ) ; if ( ( fF < fz ) || ( fF > fA ) ) return fD ; else return fE ; }".split(" ")}]}},
  1744. {a:"elif",g:["AA_METHOD","AA_METHOD_FXAA_QUALITY",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"define",c:"FXAA_GREEN_AS_LUMA",b:["1"]},{a:"include",o:"fxaa.glslf"},{a:"cond",d:[{a:"if",g:["AA_QUALITY","AA_QUALITY_HIGH",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"define",c:"FXAA_QUALITY_PRESET",b:["39"]},{a:"define",c:"FXAA_QUALITY_SUBPIX",b:["1.00"]},{a:"define",c:"FXAA_QUALITY_EDGE_THRESHOLD",b:["0.063"]},{a:"define",c:"FXAA_QUALITY_EDGE_THRESHOLD_MIN",b:["0.0312"]}]}},{a:"elif",g:["AA_QUALITY","AA_QUALITY_MEDIUM",
  1745. {a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"define",c:"FXAA_QUALITY_PRESET",b:["20"]},{a:"define",c:"FXAA_QUALITY_SUBPIX",b:["0.65"]},{a:"define",c:"FXAA_QUALITY_EDGE_THRESHOLD",b:["0.166"]},{a:"define",c:"FXAA_QUALITY_EDGE_THRESHOLD_MIN",b:["0.0625"]}]}},{a:"elif",g:["AA_QUALITY","AA_QUALITY_LOW",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"define",c:"FXAA_QUALITY_PRESET",b:["12"]},{a:"define",c:"FXAA_QUALITY_SUBPIX",b:["0.50"]},{a:"define",c:"FXAA_QUALITY_EDGE_THRESHOLD",b:["0.166"]},{a:"define",c:"FXAA_QUALITY_EDGE_THRESHOLD_MIN",
  1746. b:["0.0833"]}]}}]}]}}]},{a:"txt",b:["void","main","(",")","{"]},{a:"cond",d:[{a:"if",g:["AA_METHOD","AA_METHOD_FXAA_LIGHT",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"GLSL_OUT_FRAG_COLOR = fG ( ) ;".split(" ")}]}},{a:"elif",g:["AA_METHOD","AA_METHOD_FXAA_QUALITY",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec2 fH = u_texel_size ; GLSL_OUT_FRAG_COLOR = fI ( A , u_color , fH , FXAA_QUALITY_SUBPIX , FXAA_QUALITY_EDGE_THRESHOLD , FXAA_QUALITY_EDGE_THRESHOLD_MIN ) ;".split(" ")}]}}]},{a:"txt",
  1747. b:["}"]}]};a["postprocessing/bloom_blur.glslf"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"include",o:"precision_statement.glslf"},{a:"include",o:"std.glsl"},{a:"txt",b:"uniform vec2 u_texel_size ; uniform sampler2D u_color ; GLSL_IN vec2 A ; GLSL_OUT vec4 GLSL_OUT_FRAG_COLOR ; void main ( ) { vec2 eY = vec2 ( 0.0 , 0.0 ) ; vec2 cx = u_texel_size ; vec4 fJ = GLSL_TEXTURE ( u_color , A ) ; GLSL_OUT_FRAG_COLOR = fJ * 0.0875447373698 ; eY += cx ; GLSL_OUT_FRAG_COLOR += GLSL_TEXTURE ( u_color , A + eY ) * 0.0858112354248 ; GLSL_OUT_FRAG_COLOR += GLSL_TEXTURE ( u_color , A - eY ) * 0.0858112354248 ; eY += cx ; GLSL_OUT_FRAG_COLOR += GLSL_TEXTURE ( u_color , A + eY ) * 0.0808139781061 ; GLSL_OUT_FRAG_COLOR += GLSL_TEXTURE ( u_color , A - eY ) * 0.0808139781061 ; eY += cx ; GLSL_OUT_FRAG_COLOR += GLSL_TEXTURE ( u_color , A + eY ) * 0.0731235112908 ; GLSL_OUT_FRAG_COLOR += GLSL_TEXTURE ( u_color , A - eY ) * 0.0731235112908 ; eY += cx ; GLSL_OUT_FRAG_COLOR += GLSL_TEXTURE ( u_color , A + eY ) * 0.0635705267419 ; GLSL_OUT_FRAG_COLOR += GLSL_TEXTURE ( u_color , A - eY ) * 0.0635705267419 ; eY += cx ; GLSL_OUT_FRAG_COLOR += GLSL_TEXTURE ( u_color , A + eY ) * 0.0530985673112 ; GLSL_OUT_FRAG_COLOR += GLSL_TEXTURE ( u_color , A - eY ) * 0.0530985673112 ; eY += cx ; GLSL_OUT_FRAG_COLOR += GLSL_TEXTURE ( u_color , A + eY ) * 0.0426125984122 ; GLSL_OUT_FRAG_COLOR += GLSL_TEXTURE ( u_color , A - eY ) * 0.0426125984122 ; eY += cx ; GLSL_OUT_FRAG_COLOR += GLSL_TEXTURE ( u_color , A + eY ) * 0.0328565115809 ; GLSL_OUT_FRAG_COLOR += GLSL_TEXTURE ( u_color , A - eY ) * 0.0328565115809 ; eY += cx ; GLSL_OUT_FRAG_COLOR += GLSL_TEXTURE ( u_color , A + eY ) * 0.0243407024472 ; GLSL_OUT_FRAG_COLOR += GLSL_TEXTURE ( u_color , A - eY ) * 0.0243407024472 ; GLSL_OUT_FRAG_COLOR = max ( 0.7 * fJ , GLSL_OUT_FRAG_COLOR ) ; }".split(" ")}]};
  1748. a["postprocessing/bloom_combine.glslf"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"include",o:"precision_statement.glslf"},{a:"include",o:"std.glsl"},{a:"txt",b:"uniform sampler2D u_main ; uniform sampler2D u_bloom ; GLSL_IN vec2 A ; GLSL_OUT vec4 GLSL_OUT_FRAG_COLOR ; void main ( ) { vec4 fK = GLSL_TEXTURE ( u_main , A ) ; vec4 fL = GLSL_TEXTURE ( u_bloom , A ) ; GLSL_OUT_FRAG_COLOR = fK + fL ; }".split(" ")}]};a["postprocessing/coc.glslf"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"var",
  1749. c:"PRECISION",b:["highp"]},{a:"var",c:"COC_TYPE",b:["COC_ALL"]},{a:"txt",b:["precision","PRECISION","sampler2D",";"]},{a:"include",o:"precision_statement.glslf"},{a:"include",o:"std.glsl"},{a:"include",o:"depth_fetch.glslf"},{a:"txt",b:"uniform sampler2D u_color ; uniform sampler2D u_depth ;".split(" ")},{a:"cond",d:[{a:"if",g:["COC_TYPE","COC_COMBINE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","sampler2D","u_coc_fg",";"]}]}}]},{a:"txt",b:"uniform float u_view_max_depth ; uniform float u_dof_dist ; uniform float u_dof_front_start ; uniform float u_dof_front_end ; uniform float u_dof_rear_start ; uniform float u_dof_rear_end ; uniform vec2 u_camera_range ; GLSL_IN vec2 A ; GLSL_OUT vec4 GLSL_OUT_FRAG_COLOR ; void main ( ) { vec4 aG = GLSL_TEXTURE ( u_color , A ) ; if ( u_dof_dist > 0.0 ) { float fN = fM ( u_depth , A , u_camera_range ) ; fN *= u_view_max_depth ; float fO = 0.0 ;".split(" ")},
  1750. {a:"cond",d:[{a:"if",g:["COC_TYPE","COC_COMBINE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec4 fP = GLSL_TEXTURE ( u_coc_fg , A ) ; float fQ = fP . a ;".split(" ")}]}}]},{a:"txt",b:"if ( fN < u_dof_dist ) fO = ( u_dof_dist - fN - u_dof_front_start ) / ( u_dof_front_end - u_dof_front_start ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["COC_TYPE","COC_FOREGROUND",{a:"non_equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"else fO = ( fN - u_dof_dist - u_dof_rear_start ) / ( u_dof_rear_end - u_dof_rear_start ) ;".split(" ")}]}}]},
  1751. {a:"txt",b:"fO = clamp ( fO , 0.0 , 1.0 ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["COC_TYPE","COC_COMBINE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"fO = max ( fO , fQ ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["COC_TYPE","COC_FOREGROUND",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"GLSL_OUT_FRAG_COLOR = vec4 ( fO ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"GLSL_OUT_FRAG_COLOR = vec4 ( aG . xyz * fO , fO ) ;".split(" ")}]}}]},{a:"txt",b:"} else GLSL_OUT_FRAG_COLOR = vec4 ( aG . xyz , 0.0 ) ; }".split(" ")}]};
  1752. a["postprocessing/compositing.glslf"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"include",o:"precision_statement.glslf"},{a:"include",o:"std.glsl"},{a:"include",o:"color_util.glslf"},{a:"txt",b:"uniform sampler2D u_color ; uniform float u_brightness ; uniform float u_contrast ; uniform float u_exposure ; uniform float u_saturation ; GLSL_IN vec2 A ; GLSL_OUT vec4 GLSL_OUT_FRAG_COLOR ; void main ( ) { vec4 fR = GLSL_TEXTURE ( u_color , A ) ; vec3 aG = fR . rgb ; if ( u_brightness < 0.0 ) aG = aG * ( 1.0 + u_brightness ) ; else aG = aG + ( ( 1.0 - aG ) * u_brightness ) ; aG = ( aG - 0.5 ) * ( tan ( ( u_contrast + 1.0 ) * M_PI_4 ) ) + 0.5 ; aG *= u_exposure ; float cZ = ft ( vec4 ( aG , 0.0 ) ) ; aG = mix ( vec3 ( cZ ) , aG , u_saturation ) ; GLSL_OUT_FRAG_COLOR = vec4 ( aG , fR . a ) ; }".split(" ")}]};
  1753. a["postprocessing/depth_pack.glslf"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"var",c:"PRECISION",b:["highp"]},{a:"txt",b:["precision","PRECISION","sampler2D",";"]},{a:"include",o:"precision_statement.glslf"},{a:"include",o:"std.glsl"},{a:"include",o:"pack.glslf"},{a:"include",o:"depth_fetch.glslf"},{a:"txt",b:"uniform sampler2D u_depth ; uniform vec2 u_camera_range ; GLSL_IN vec2 A ; GLSL_OUT vec4 GLSL_OUT_FRAG_COLOR ; void main ( ) { GLSL_OUT_FRAG_COLOR = fS ( clamp ( fM ( u_depth , A , u_camera_range ) , 0.0 , 0.999999 ) ) ; }".split(" ")}]};
  1754. a["postprocessing/dof.glslf"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"var",c:"PRECISION",b:["highp"]},{a:"var",c:"DOF_TYPE",b:["DOF_SIMPLE"]},{a:"txt",b:["precision","PRECISION","sampler2D",";"]},{a:"include",o:"precision_statement.glslf"},{a:"include",o:"std.glsl"},{a:"cond",d:[{a:"if",g:["DOF_TYPE","DOF_BOKEH",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"uniform highp sampler2D u_sharp ; uniform highp sampler2D u_blurred1 ; uniform highp sampler2D u_blurred2 ; uniform float u_dof_dist ;".split(" ")}]}},
  1755. {a:"else",h:{a:"grp",d:[{a:"include",o:"depth_fetch.glslf"},{a:"txt",b:"uniform sampler2D u_sharp ; uniform sampler2D u_blurred ; uniform sampler2D u_depth ; uniform float u_view_max_depth ; uniform float u_dof_dist ; uniform float u_dof_front_end ; uniform float u_dof_rear_end ; uniform vec2 u_camera_range ;".split(" ")}]}}]},{a:"txt",b:"GLSL_IN vec2 A ; GLSL_OUT vec4 GLSL_OUT_FRAG_COLOR ; void main ( ) { vec4 fT = GLSL_TEXTURE ( u_sharp , A ) ; if ( u_dof_dist > 0.0 ) {".split(" ")},{a:"cond",d:[{a:"if",
  1756. g:["DOF_TYPE","DOF_BOKEH",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"float fO ; vec4 fU = GLSL_TEXTURE ( u_blurred1 , A ) ; vec4 fV = GLSL_TEXTURE ( u_blurred2 , A ) ; vec4 fW = min ( fU . rgba , fV . rgba ) ; fO = fW . a ; if ( fO > 0.0 ) { fW = vec4 ( fW . rgb / fO , fT . a ) ; GLSL_OUT_FRAG_COLOR = mix ( fT , fW , min ( fO * 5.0 , 1.0 ) ) ; } else GLSL_OUT_FRAG_COLOR = fT ;".split(" ")}]}},{a:"elif",g:["DOF_TYPE","DOF_SIMPLE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"float fN = fM ( u_depth , A , u_camera_range ) ; fN *= u_view_max_depth ; float fX ; if ( fN < u_dof_dist ) fX = ( u_dof_dist - fN ) / u_dof_front_end ; else fX = ( fN - u_dof_dist ) / u_dof_rear_end ; fX = clamp ( fX , 0.0 , 1.0 ) ; vec4 fY = GLSL_TEXTURE ( u_blurred , A ) ; GLSL_OUT_FRAG_COLOR = mix ( fT , fY , fX ) ;".split(" ")}]}},
  1757. {a:"else",h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT_FRAG_COLOR","=","fT",";"]}]}}]},{a:"txt",b:"} else GLSL_OUT_FRAG_COLOR = fT ; }".split(" ")}]};a["postprocessing/glow.glslf"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"include",o:"precision_statement.glslf"},{a:"include",o:"std.glsl"},{a:"txt",b:"uniform sampler2D u_src_color ; uniform sampler2D u_glow_mask_small ; uniform sampler2D u_glow_mask_large ; uniform float u_glow_mask_small_coeff ; uniform float u_glow_mask_large_coeff ; GLSL_IN vec2 A ; GLSL_OUT vec4 GLSL_OUT_FRAG_COLOR ; void main ( ) { vec4 fZ = GLSL_TEXTURE ( u_src_color , A ) ; vec4 f_ = GLSL_TEXTURE ( u_glow_mask_small , A ) ; vec4 gc = GLSL_TEXTURE ( u_glow_mask_large , A ) ; GLSL_OUT_FRAG_COLOR = fZ ; if ( gc . a != 0.0 ) { float gd = u_glow_mask_large_coeff * gc . a ; gd = clamp ( gd , 0.0 , 1.0 ) ; GLSL_OUT_FRAG_COLOR . rgb = mix ( GLSL_OUT_FRAG_COLOR . rgb , gc . rgb / gc . a , gd ) ; GLSL_OUT_FRAG_COLOR . a = mix ( GLSL_OUT_FRAG_COLOR . a , 1.0 , gd ) ; } if ( f_ . a != 0.0 ) { float ge = u_glow_mask_small_coeff * f_ . a ; ge = clamp ( ge , 0.0 , 1.0 ) ; GLSL_OUT_FRAG_COLOR . rgb = mix ( GLSL_OUT_FRAG_COLOR . rgb , f_ . rgb / f_ . a , ge ) ; GLSL_OUT_FRAG_COLOR . a = mix ( GLSL_OUT_FRAG_COLOR . a , 1.0 , ge ) ; } }".split(" ")}]};
  1758. a["postprocessing/god_rays.glslf"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"var",c:"PRECISION",b:["highp"]},{a:"var",c:"DEPTH_RGBA",b:["0"]},{a:"var",c:"WATER_EFFECTS",b:["0"]},{a:"var",c:"STEPS_PER_PASS",b:["10.0"]},{a:"txt",b:["precision","PRECISION","sampler2D",";"]},{a:"include",o:"precision_statement.glslf"},{a:"include",o:"std.glsl"},{a:"include",o:"depth_fetch.glslf"},{a:"include",o:"procedural.glslf"},{a:"include",o:"pack.glslf"},{a:"txt",b:"uniform float u_time ; uniform float u_radial_blur_step ; uniform sampler2D u_input ;".split(" ")},
  1759. {a:"cond",d:[{a:"if",g:["DEPTH_RGBA"],h:{a:"grp",d:[{a:"txt",b:["uniform","vec2","u_camera_range",";"]}]}}]},{a:"cond",d:[{a:"if",g:["DEPTH_RGBA","WATER_EFFECTS",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"GLSL_IN float gf ; GLSL_IN vec2 gh ;".split(" ")}]}}]},{a:"txt",b:"GLSL_IN vec2 A ; GLSL_IN vec4 gi ; GLSL_OUT vec4 GLSL_OUT_FRAG_COLOR ; void main ( ) { vec2 cx = ( gi . xy - A ) ; float aC = length ( cx ) ; vec2 gj = u_radial_blur_step * cx / aC ; float gk = aC / u_radial_blur_step ; gj *= min ( gk , STEPS_PER_PASS ) / STEPS_PER_PASS ; gk = max ( gk , STEPS_PER_PASS ) ; vec2 gl = A ; float gm = 0.0 ; const int gn = int ( STEPS_PER_PASS ) ; int go = int ( gk + 0.5 ) ; for ( int bQ = 0 ; bQ < gn ; bQ += 1 ) { if ( bQ <= go ) {".split(" ")},
  1760. {a:"cond",d:[{a:"if",g:["DEPTH_RGBA"],h:{a:"grp",d:[{a:"txt",b:"float fN = fM ( u_input , gl , u_camera_range ) ; gm += max ( ( 1.0 - pow ( aC , 0.3 ) ) * step ( 0.9 , fN ) , 0.0 ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"vec4 gp = GLSL_TEXTURE ( u_input , gl ) ; gm += cv ( gp ) ;".split(" ")}]}}]},{a:"txt",b:"} gl += gj ; }".split(" ")},{a:"cond",d:[{a:"if",g:["DEPTH_RGBA","WATER_EFFECTS",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec2 bE = A + gh ; float gq = eW ( vec2 ( 2.5 * ( bE . x ) , 2.5 * ( bE . y ) + 1.0 * u_time ) ) . x + 0.75 * eW ( vec2 ( 5.0 * ( bE . x ) - 0.66 * u_time , 5.0 * ( bE . y ) + 0.66 * u_time ) ) . x + 0.5 * eL ( vec2 ( 7.5 * ( bE . x ) + 0.33 * u_time , 7.5 * ( bE . y ) - 0.33 * u_time ) ) ; gq *= clamp ( 1.2 - sqrt ( 0.2 * aC ) , 0.0 , 1.0 ) * gf ; gm = max ( gq , gm ) ;".split(" ")}]}}]},
  1761. {a:"txt",b:"GLSL_OUT_FRAG_COLOR = fS ( gm / STEPS_PER_PASS ) ; }".split(" ")}]};a["postprocessing/god_rays.glslv"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"var",c:"DEPTH_RGBA",b:["0"]},{a:"var",c:"WATER_EFFECTS",b:["0"]},{a:"include",o:"std.glsl"},{a:"include",o:"math.glslv"},{a:"txt",b:"uniform mat4 u_view_proj_matrix ; uniform vec3 u_sun_direction ;".split(" ")},{a:"cond",d:[{a:"if",g:["DEPTH_RGBA","WATER_EFFECTS",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"uniform vec4 u_camera_quat ; uniform float u_cam_water_depth ;".split(" ")}]}}]},
  1762. {a:"txt",b:["GLSL_IN","vec2","a_bb_vertex",";"]},{a:"cond",d:[{a:"if",g:["DEPTH_RGBA","WATER_EFFECTS",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"GLSL_OUT float gf ; GLSL_OUT vec2 gh ;".split(" ")}]}}]},{a:"txt",b:"GLSL_OUT vec2 A ; GLSL_OUT vec4 gi ; void main ( ) { A = a_bb_vertex ; vec3 be = normalize ( u_sun_direction ) ; gi = u_view_proj_matrix * vec4 ( be , 0.0 ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["DEPTH_RGBA","WATER_EFFECTS",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",
  1763. b:"if ( u_cam_water_depth < 0.0 ) { gf = 1.0 ; vec3 gs = vec3 ( 0.0 , 1.0 , 0.0 ) ; vec3 gt = O ( u_camera_quat , gs ) ; gt = normalize ( gt ) ; float gu = dot ( gt , vec3 ( 0.0 , 1.0 , 0.0 ) ) ; float gv = atan ( gt . x , gt . z ) ; gh = vec2 ( - gv , acos ( gu ) ) ; } else { gf = 0.0 ; }".split(" ")}]}}]},{a:"txt",b:"gi . xy = 0.5 * ( gi . xy / gi . w + 1.0 ) ; gi += 99999.0 * step ( gi . z , 0.0 ) ; gl_Position = vec4 ( 2.0 * a_bb_vertex . xy - 1.0 , 0.0 , 1.0 ) ; }".split(" ")}]};a["postprocessing/god_rays_combine.glslf"]=
  1764. {a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"var",c:"SAFARI_CANVAS_ALPHA_HACK",b:["0"]},{a:"include",o:"precision_statement.glslf"},{a:"include",o:"std.glsl"},{a:"include",o:"color_util.glslf"},{a:"include",o:"pack.glslf"},{a:"txt",b:"uniform sampler2D u_main ; uniform sampler2D u_god_rays ; uniform float u_god_rays_intensity ; uniform vec3 u_sun_intensity ; GLSL_IN vec2 A ; GLSL_OUT vec4 GLSL_OUT_FRAG_COLOR ; void main ( ) { vec4 gw = GLSL_TEXTURE ( u_main , A ) ; vec3 gx = clamp ( u_sun_intensity , 0.4 , 0.8 ) ; bY ( gw . rgb ) ; float gy = cv ( GLSL_TEXTURE ( u_god_rays , A ) ) ; vec3 gz = gw . rgb + u_god_rays_intensity * vec3 ( gy ) * gx ; aM ( gz ) ;".split(" ")},
  1765. {a:"cond",d:[{a:"if",g:["SAFARI_CANVAS_ALPHA_HACK"],h:{a:"grp",d:[{a:"txt",b:"GLSL_OUT_FRAG_COLOR = vec4 ( gz , max ( 0.01 , gw . a ) ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"GLSL_OUT_FRAG_COLOR = vec4 ( gz , gw . a ) ;".split(" ")}]}}]},{a:"txt",b:["}"]}]};a["postprocessing/luminance.glslf"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"include",o:"precision_statement.glslf"},{a:"include",o:"std.glsl"},{a:"txt",b:"uniform sampler2D u_input ; GLSL_IN vec2 A ; GLSL_OUT vec4 GLSL_OUT_FRAG_COLOR ; void main ( ) { vec4 fK = GLSL_TEXTURE ( u_input , A ) ; float gA = dot ( fK . rgb , vec3 ( 0.2126 , 0.7152 , 0.0722 ) ) ; GLSL_OUT_FRAG_COLOR = vec4 ( vec3 ( gA ) , 1.0 ) ; }".split(" ")}]};
  1766. a["postprocessing/luminance_av.glslf"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"include",o:"precision_statement.glslf"},{a:"include",o:"std.glsl"},{a:"txt",b:"uniform sampler2D u_input ; GLSL_OUT vec4 GLSL_OUT_FRAG_COLOR ; void main ( ) { float gA ; float gB = 0.0 ; float w = 0.025 ; float bO = 0.025 ; for ( int bQ = 0 ; bQ < 20 ; bQ += 1 ) { bO = 0.025 ; for ( int gC = 0 ; gC < 20 ; gC += 1 ) { gA = max ( GLSL_TEXTURE ( u_input , vec2 ( w , bO ) ) . r , 0.01 ) ; gB += log ( gA ) ; bO += 0.05 ; } w += 0.05 ; } float gD = exp ( gB / 400.0 ) ; GLSL_OUT_FRAG_COLOR = vec4 ( vec3 ( gD ) , 1.0 ) ; }".split(" ")}]};
  1767. a["postprocessing/luminance_trunced.glslf"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"include",o:"precision_statement.glslf"},{a:"include",o:"std.glsl"},{a:"txt",b:"uniform sampler2D u_main ; uniform sampler2D u_luminance ; uniform sampler2D u_average_lum ; uniform float u_bloom_edge_lum ; GLSL_IN vec2 A ; GLSL_IN float gE ; GLSL_OUT vec4 GLSL_OUT_FRAG_COLOR ; void main ( ) { float gD = GLSL_TEXTURE ( u_average_lum , vec2 ( 0.5 ) ) . r ; float gF = GLSL_TEXTURE ( u_luminance , A ) . r ; vec4 aG = GLSL_TEXTURE ( u_main , A ) ; float gG = gF / gD ; float gH = u_bloom_edge_lum ; GLSL_OUT_FRAG_COLOR = aG * max ( gG - gH , 0.0 ) * gE ; }".split(" ")}]};
  1768. a["postprocessing/luminance_trunced.glslv"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"include",o:"std.glsl"},{a:"txt",b:"uniform vec4 u_camera_quat ; uniform vec3 u_sun_direction ; uniform float u_bloom_key ; GLSL_IN vec2 a_position ; GLSL_OUT vec2 A ; GLSL_OUT float gE ; void gP ( in vec4 gI , in vec3 gJ , out vec3 gK ) { float gL = gI . w * gJ . x + gI . y * gJ . z - gI . z * gJ . y ; float gM = gI . w * gJ . y + gI . z * gJ . x - gI . x * gJ . z ; float gN = gI . w * gJ . z + gI . x * gJ . y - gI . y * gJ . x ; float gO = - gI . x * gJ . x - gI . y * gJ . y - gI . z * gJ . z ; gK . x = gL * gI . w - gO * gI . x - gM * gI . z + gN * gI . y ; gK . y = gM * gI . w - gO * gI . y - gN * gI . x + gL * gI . z ; gK . z = gN * gI . w - gO * gI . z - gL * gI . y + gM * gI . x ; } void main ( ) { A = 2.0 * a_position ; vec3 gt ; gP ( u_camera_quat , UP_VECTOR , gt ) ; gE = dot ( - gt , u_sun_direction ) * u_bloom_key ; gE *= max ( sign ( u_sun_direction . z ) , 0.0 ) ; gl_Position = vec4 ( 4.0 * ( a_position . xy - 0.25 ) , 0.0 , 1.0 ) ; }".split(" ")}]};
  1769. a["postprocessing/motion_blur.glslf"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"include",o:"precision_statement.glslf"},{a:"include",o:"std.glsl"},{a:"txt",b:"uniform sampler2D u_mb_tex_curr ; uniform sampler2D u_mb_tex_accum ; uniform float u_motion_blur_exp ; uniform float u_motion_blur_decay_threshold ; float gQ = 0.0042 ; GLSL_IN vec2 A ; GLSL_OUT vec4 GLSL_OUT_FRAG_COLOR ; void main ( ) { vec4 gR = GLSL_TEXTURE ( u_mb_tex_curr , A ) ; vec4 gS = GLSL_TEXTURE ( u_mb_tex_accum , A ) ; if ( length ( gR - gS ) > u_motion_blur_decay_threshold ) { vec4 gT = ( 1.0 - u_motion_blur_exp ) * gR + u_motion_blur_exp * gS ; vec4 gU = gT - gS ; vec4 gV = gR - gS ; vec4 cx = min ( max ( abs ( gU ) , vec4 ( gQ ) ) , abs ( gV ) ) * sign ( gU ) ; GLSL_OUT_FRAG_COLOR = gS + cx ; } else { GLSL_OUT_FRAG_COLOR = gR ; } }".split(" ")}]};
  1770. a["postprocessing/outline.glslf"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"include",o:"precision_statement.glslf"},{a:"include",o:"std.glsl"},{a:"include",o:"color_util.glslf"},{a:"txt",b:"uniform sampler2D u_outline_src ; uniform sampler2D u_outline_mask ; uniform sampler2D u_outline_mask_blurred ; uniform vec3 u_outline_color ; uniform float u_draw_outline ; GLSL_IN vec2 A ; GLSL_OUT vec4 GLSL_OUT_FRAG_COLOR ; void main ( ) { vec4 gW = GLSL_TEXTURE ( u_outline_src , A ) ; GLSL_OUT_FRAG_COLOR = gW ; if ( u_draw_outline != 0.0 ) { vec4 gX = GLSL_TEXTURE ( u_outline_mask , A ) ; vec4 gY = GLSL_TEXTURE ( u_outline_mask_blurred , A ) ; float gZ = gY . a - gX . a ; if ( gZ != 0.0 ) { float g_ = smoothstep ( 0.0 , 1.0 , gY . a ) ; if ( gX . a == 0.0 ) { vec3 ha = u_outline_color ; aM ( ha ) ; vec4 hb = vec4 ( clamp ( ha , 0.0 , 1.0 ) , 1.0 ) ; GLSL_OUT_FRAG_COLOR = mix ( gW , hb , g_ ) ; } } } }".split(" ")}]};
  1771. a["postprocessing/performance.glslf"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"include",o:"precision_statement.glslf"},{a:"include",o:"std.glsl"},{a:"txt",b:"uniform sampler2D u_color ; GLSL_IN vec2 A ; GLSL_OUT vec4 GLSL_OUT_FRAG_COLOR ; void main ( ) { vec4 aG = vec4 ( 0.0 ) ; for ( int bQ = 0 ; bQ < 10 ; bQ ++ ) { vec2 hc = vec2 ( fract ( A * vec2 ( bQ ) * vec2 ( 1.431 , 3.921 ) ) ) ; aG += 0.01 * GLSL_TEXTURE ( u_color , hc ) ; } GLSL_OUT_FRAG_COLOR = aG ; }".split(" ")}]};a["postprocessing/postprocessing.glslf"]=
  1772. {a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"var",c:"POST_EFFECT",b:["POST_EFFECT_NONE"]},{a:"include",o:"precision_statement.glslf"},{a:"include",o:"std.glsl"},{a:"txt",b:"uniform vec2 u_texel_size ; uniform sampler2D u_color ;".split(" ")},{a:"cond",d:[{a:"if",g:["POST_EFFECT","FLIP_CUBEMAP_COORDS",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"uniform int u_tex_number ; uniform vec2 u_delta ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["POST_EFFECT","POST_EFFECT_DOF_BLUR",{a:"equal_expr",i:2}],
  1773. h:{a:"grp",d:[{a:"txt",b:["uniform","float","u_dof_bokeh_intensity",";"]}]}}]},{a:"txt",b:"GLSL_IN vec2 A ; GLSL_OUT vec4 GLSL_OUT_FRAG_COLOR ; void main ( ) {".split(" ")},{a:"cond",d:[{a:"if",g:["POST_EFFECT","POST_EFFECT_NONE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"GLSL_OUT_FRAG_COLOR = GLSL_TEXTURE ( u_color , A ) ;".split(" ")}]}},{a:"elif",g:["POST_EFFECT","POST_EFFECT_GRAYSCALE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec4 da = GLSL_TEXTURE ( u_color , A ) ; GLSL_OUT_FRAG_COLOR . rgb = vec3 ( ( da . r + da . g + da . b ) / 3.0 ) ; GLSL_OUT_FRAG_COLOR . a = 1.0 ;".split(" ")}]}},
  1774. {a:"elif",g:["POST_EFFECT","POST_EFFECT_BLUR",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec2 eY = vec2 ( 0.0 , 0.0 ) ; vec2 cx = u_texel_size ; vec4 aG ; aG = GLSL_TEXTURE ( u_color , A ) ; GLSL_OUT_FRAG_COLOR = aG * 0.2270270270 ; eY += cx ; aG = GLSL_TEXTURE ( u_color , A + eY ) ; GLSL_OUT_FRAG_COLOR += aG * 0.1945945946 ; aG = GLSL_TEXTURE ( u_color , A - eY ) ; GLSL_OUT_FRAG_COLOR += aG * 0.1945945946 ; eY += cx ; aG = GLSL_TEXTURE ( u_color , A + eY ) ; GLSL_OUT_FRAG_COLOR += aG * 0.1216216216 ; aG = GLSL_TEXTURE ( u_color , A - eY ) ; GLSL_OUT_FRAG_COLOR += aG * 0.1216216216 ; eY += cx ; aG = GLSL_TEXTURE ( u_color , A + eY ) ; GLSL_OUT_FRAG_COLOR += aG * 0.0540540541 ; aG = GLSL_TEXTURE ( u_color , A - eY ) ; GLSL_OUT_FRAG_COLOR += aG * 0.0540540541 ; eY += cx ; aG = GLSL_TEXTURE ( u_color , A + eY ) ; GLSL_OUT_FRAG_COLOR += aG * 0.0162162162 ; aG = GLSL_TEXTURE ( u_color , A - eY ) ; GLSL_OUT_FRAG_COLOR += aG * 0.0162162162 ;".split(" ")}]}},
  1775. {a:"elif",g:["POST_EFFECT","POST_EFFECT_GLOW_BLUR",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec2 eY = vec2 ( 0.0 , 0.0 ) ; vec2 cx = u_texel_size ; vec4 aG ; aG = GLSL_TEXTURE ( u_color , A ) ; GLSL_OUT_FRAG_COLOR = aG * ( 1.0 - step ( 0.0 , - aG . a ) ) * 0.152507 ; eY += cx ; aG = GLSL_TEXTURE ( u_color , A + eY ) ; GLSL_OUT_FRAG_COLOR += aG * ( 1.0 - step ( 0.0 , - aG . a ) ) * 0.141763 ; aG = GLSL_TEXTURE ( u_color , A - eY ) ; GLSL_OUT_FRAG_COLOR += aG * ( 1.0 - step ( 0.0 , - aG . a ) ) * 0.141763 ; eY += cx ; aG = GLSL_TEXTURE ( u_color , A + eY ) ; GLSL_OUT_FRAG_COLOR += aG * ( 1.0 - step ( 0.0 , - aG . a ) ) * 0.113861 ; aG = GLSL_TEXTURE ( u_color , A - eY ) ; GLSL_OUT_FRAG_COLOR += aG * ( 1.0 - step ( 0.0 , - aG . a ) ) * 0.113861 ; eY += cx ; aG = GLSL_TEXTURE ( u_color , A + eY ) ; GLSL_OUT_FRAG_COLOR += aG * ( 1.0 - step ( 0.0 , - aG . a ) ) * 0.079019 ; aG = GLSL_TEXTURE ( u_color , A - eY ) ; GLSL_OUT_FRAG_COLOR += aG * ( 1.0 - step ( 0.0 , - aG . a ) ) * 0.079019 ; eY += cx ; aG = GLSL_TEXTURE ( u_color , A + eY ) ; GLSL_OUT_FRAG_COLOR += aG * ( 1.0 - step ( 0.0 , - aG . a ) ) * 0.047383 ; aG = GLSL_TEXTURE ( u_color , A - eY ) ; GLSL_OUT_FRAG_COLOR += aG * ( 1.0 - step ( 0.0 , - aG . a ) ) * 0.047383 ; eY += cx ; aG = GLSL_TEXTURE ( u_color , A + eY ) ; GLSL_OUT_FRAG_COLOR += aG * ( 1.0 - step ( 0.0 , - aG . a ) ) * 0.024549 ; aG = GLSL_TEXTURE ( u_color , A - eY ) ; GLSL_OUT_FRAG_COLOR += aG * ( 1.0 - step ( 0.0 , - aG . a ) ) * 0.024549 ; eY += cx ; aG = GLSL_TEXTURE ( u_color , A + eY ) ; GLSL_OUT_FRAG_COLOR += aG * ( 1.0 - step ( 0.0 , - aG . a ) ) * 0.01099 ; aG = GLSL_TEXTURE ( u_color , A - eY ) ; GLSL_OUT_FRAG_COLOR += aG * ( 1.0 - step ( 0.0 , - aG . a ) ) * 0.01099 ; eY += cx ; aG = GLSL_TEXTURE ( u_color , A + eY ) ; GLSL_OUT_FRAG_COLOR += aG * ( 1.0 - step ( 0.0 , - aG . a ) ) * 0.00425 ; aG = GLSL_TEXTURE ( u_color , A - eY ) ; GLSL_OUT_FRAG_COLOR += aG * ( 1.0 - step ( 0.0 , - aG . a ) ) * 0.00425 ; eY += cx ; aG = GLSL_TEXTURE ( u_color , A + eY ) ; GLSL_OUT_FRAG_COLOR += aG * ( 1.0 - step ( 0.0 , - aG . a ) ) * 0.00142 ; aG = GLSL_TEXTURE ( u_color , A - eY ) ; GLSL_OUT_FRAG_COLOR += aG * ( 1.0 - step ( 0.0 , - aG . a ) ) * 0.00142 ; GLSL_OUT_FRAG_COLOR = clamp ( GLSL_OUT_FRAG_COLOR , 0.0 , 1.0 ) ;".split(" ")}]}},
  1776. {a:"elif",g:["POST_EFFECT","POST_EFFECT_DOF_BLUR",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec2 eY = vec2 ( 0.0 , 0.0 ) ; vec2 cx = u_texel_size ; vec4 aG ; vec4 hd ; vec4 he ; float fO ; float hf = u_dof_bokeh_intensity ; aG = GLSL_TEXTURE ( u_color , A ) ; hd = aG ; he = aG ; fO = aG . a ; cx = fO * cx ; for ( int bQ = 0 ; bQ < 12 ; bQ += 2 ) { eY += cx ; aG = GLSL_TEXTURE ( u_color , A + eY ) ; hd += aG ; he = max ( he , aG ) ; aG = GLSL_TEXTURE ( u_color , A - eY ) ; hd += aG ; he = max ( he , aG ) ; } hd /= 13.0 ; GLSL_OUT_FRAG_COLOR = mix ( hd , he , hf ) ;".split(" ")}]}},
  1777. {a:"elif",g:["POST_EFFECT","POST_EFFECT_ALPHA_BLUR",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec2 eY = vec2 ( 0.0 , 0.0 ) ; vec2 cx = u_texel_size ; vec4 aG ; vec4 hd ; vec4 he ; aG = GLSL_TEXTURE ( u_color , A ) ; he = max ( he , aG ) ; hd = aG ; hd . a = aG . a * 0.2270270270 ; eY += cx ; aG = GLSL_TEXTURE ( u_color , A + eY ) ; he . a = max ( he . a , aG . a ) ; hd . a += aG . a * 0.1945945946 ; aG = GLSL_TEXTURE ( u_color , A - eY ) ; he . a = max ( he . a , aG . a ) ; hd . a += aG . a * 0.1945945946 ; eY += cx ; aG = GLSL_TEXTURE ( u_color , A + eY ) ; he . a = max ( he . a , aG . a ) ; hd . a += aG . a * 0.1216216216 ; aG = GLSL_TEXTURE ( u_color , A - eY ) ; he . a = max ( he . a , aG . a ) ; hd . a += aG . a * 0.1216216216 ; eY += cx ; aG = GLSL_TEXTURE ( u_color , A + eY ) ; he . a = max ( he . a , aG . a ) ; hd . a += aG . a * 0.0540540541 ; aG = GLSL_TEXTURE ( u_color , A - eY ) ; he . a = max ( he . a , aG . a ) ; hd . a += aG . a * 0.0540540541 ; eY += cx ; aG = GLSL_TEXTURE ( u_color , A + eY ) ; he . a = max ( he . a , aG . a ) ; hd . a += aG . a * 0.0162162162 ; aG = GLSL_TEXTURE ( u_color , A - eY ) ; he . a = max ( he . a , aG . a ) ; hd . a += aG . a * 0.0162162162 ; GLSL_OUT_FRAG_COLOR = mix ( hd , he , 0.5 ) ;".split(" ")}]}},
  1778. {a:"elif",g:["POST_EFFECT","POST_EFFECT_EXTEND",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec2 cx = u_texel_size ; vec4 aG = GLSL_TEXTURE ( u_color , A ) ; GLSL_OUT_FRAG_COLOR = aG ; if ( aG . a == 0.0 ) { aG = GLSL_TEXTURE ( u_color , A + cx ) ; if ( aG . a > 0.0 ) GLSL_OUT_FRAG_COLOR = vec4 ( 1.0 , 1.0 , 1.0 , aG . a ) ; else { aG = GLSL_TEXTURE ( u_color , A - cx ) ; if ( aG . a > 0.0 ) GLSL_OUT_FRAG_COLOR = vec4 ( 1.0 , 1.0 , 1.0 , aG . a ) ; } }".split(" ")}]}},{a:"elif",g:["POST_EFFECT",
  1779. "FLIP_CUBEMAP_COORDS",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"float hg = u_delta [ 0 ] ; float hh = u_delta [ 1 ] ; float hi = 1.0 / 3.0 ; float hj = 0.5 ; vec2 hk = vec2 ( hi , hj ) ; if ( u_tex_number == 0 ) { vec2 bE = mat2 ( 0.0 , - 1.0 , 1.0 , 0.0 ) * A * hk + vec2 ( 2.0 * hi , hj ) ; bE [ 0 ] = max ( bE [ 0 ] , 2.0 * hi + hg ) ; bE [ 1 ] = max ( bE [ 1 ] , hh ) ; GLSL_OUT_FRAG_COLOR = GLSL_TEXTURE ( u_color , vec2 ( bE [ 0 ] , hj - bE [ 1 ] ) ) ; } else if ( u_tex_number == 1 ) { vec2 bE = mat2 ( 0.0 , - 1.0 , 1.0 , 0.0 ) * A * hk + vec2 ( 0.0 , hj ) ; bE [ 0 ] = max ( bE [ 0 ] , hg ) ; bE [ 1 ] = min ( bE [ 1 ] , hj - hh ) ; GLSL_OUT_FRAG_COLOR = GLSL_TEXTURE ( u_color , vec2 ( hi - bE [ 0 ] , bE [ 1 ] ) ) ; } else if ( u_tex_number == 2 ) { vec2 bE = A * hk + vec2 ( 2.0 * hi , hj ) ; bE [ 0 ] = max ( bE [ 0 ] , 2.0 * hi + hg ) ; bE [ 1 ] = min ( bE [ 1 ] , 1.0 - hh ) ; GLSL_OUT_FRAG_COLOR = GLSL_TEXTURE ( u_color , vec2 ( bE [ 0 ] , 1.5 - bE [ 1 ] ) ) ; } else if ( u_tex_number == 3 ) { vec2 bE = A * hk + vec2 ( hi , 0.0 ) ; bE [ 0 ] = max ( bE [ 0 ] , hi + hg ) ; bE [ 0 ] = min ( bE [ 0 ] , 2.0 * hi - hg ) ; bE [ 1 ] = min ( bE [ 1 ] , hj - hh ) ; GLSL_OUT_FRAG_COLOR = GLSL_TEXTURE ( u_color , vec2 ( 1.0 - bE [ 0 ] , bE [ 1 ] ) ) ; } else if ( u_tex_number == 4 ) { vec2 bE = A * hk + vec2 ( hi , hj ) ; bE [ 0 ] = max ( bE [ 0 ] , hi + hg ) ; bE [ 0 ] = min ( bE [ 0 ] , 2.0 * hi - hg ) ; bE [ 1 ] = min ( bE [ 1 ] , 1.0 - hh ) ; GLSL_OUT_FRAG_COLOR = GLSL_TEXTURE ( u_color , vec2 ( bE [ 0 ] , 3.0 * hj - bE [ 1 ] ) ) ; } else { vec2 bE = A * hk + vec2 ( 0.0 , hj ) ; bE [ 0 ] = max ( bE [ 0 ] , hg ) ; bE [ 1 ] = min ( bE [ 1 ] , 1.0 - hh ) ; bE [ 1 ] = max ( bE [ 1 ] , hj + hh ) ; GLSL_OUT_FRAG_COLOR = GLSL_TEXTURE ( u_color , vec2 ( hi - bE [ 0 ] , bE [ 1 ] ) ) ; }".split(" ")}]}}]},
  1780. {a:"txt",b:["}"]}]};a["postprocessing/postprocessing.glslv"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"include",o:"std.glsl"},{a:"txt",b:"GLSL_IN vec2 a_position ; GLSL_OUT vec2 A ; void main ( ) { A = 2.0 * a_position ; gl_Position = vec4 ( 4.0 * ( a_position . xy - 0.25 ) , 0.0 , 1.0 ) ; }".split(" ")}]};a["postprocessing/smaa.glslf"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"var",c:"SMAA_PASS",b:["SMAA_RESOLVE"]},{a:"var",c:"SMAA_REPROJECTION",b:["0"]},{a:"var",c:"SMAA_PREDICATION",
  1781. b:["0"]},{a:"var",c:"AA_METHOD",b:["AA_METHOD_SMAA_LOW"]},{a:"include",o:"precision_statement.glslf"},{a:"include",o:"std.glsl"},{a:"include",o:"pack.glslf"},{a:"txt",b:["uniform","sampler2D","u_color",";"]},{a:"cond",d:[{a:"if",g:["SMAA_PASS","SMAA_RESOLVE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","sampler2D","u_color_prev",";"]}]}}]},{a:"cond",d:[{a:"if",g:["SMAA_PASS","SMAA_NEIGHBORHOOD_BLENDING",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","sampler2D","u_blend",";"]}]}}]},
  1782. {a:"cond",d:[{a:"if",g:["SMAA_REPROJECTION"],h:{a:"grp",d:[{a:"txt",b:["uniform","sampler2D","u_velocity_tex",";"]}]}}]},{a:"cond",d:[{a:"if",g:["SMAA_PASS","SMAA_EDGE_DETECTION",{a:"equal_expr",i:2},"SMAA_PREDICATION",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["uniform","sampler2D","u_predication_tex",";"]}]}}]},{a:"cond",d:[{a:"if",g:["SMAA_PASS","SMAA_BLENDING_WEIGHT_CALCULATION",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"uniform sampler2D u_search_tex ; uniform sampler2D u_area_tex ; uniform vec4 u_subsample_indices ;".split(" ")}]}}]},
  1783. {a:"txt",b:"uniform vec2 u_texel_size ; GLSL_IN vec2 A ;".split(" ")},{a:"cond",d:[{a:"if",g:["SMAA_PASS","SMAA_NEIGHBORHOOD_BLENDING",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec4","hl",";"]}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"GLSL_IN vec4 hm ; GLSL_IN vec4 hn ; GLSL_IN vec4 ho ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["SMAA_PASS","SMAA_BLENDING_WEIGHT_CALCULATION",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec2","hp",";"]}]}}]},{a:"txt",b:["GLSL_OUT","vec4",
  1784. "GLSL_OUT_FRAG_COLOR",";"]},{a:"cond",d:[{a:"if",g:["AA_METHOD","AA_METHOD_SMAA_LOW",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"define",c:"SMAA_THRESHOLD",b:["0.15"]},{a:"define",c:"SMAA_DISABLE_DIAG_DETECTION",b:["1"]},{a:"define",c:"SMAA_DISABLE_CORNER_DETECTION",b:["1"]}]}},{a:"elif",g:["AA_METHOD","AA_METHOD_SMAA_MEDIUM",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"define",c:"SMAA_THRESHOLD",b:["0.1"]},{a:"define",c:"SMAA_DISABLE_DIAG_DETECTION",b:["1"]},{a:"define",c:"SMAA_DISABLE_CORNER_DETECTION",
  1785. b:["1"]}]}},{a:"elif",g:["AA_METHOD","AA_METHOD_SMAA_HIGH",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"define",c:"SMAA_THRESHOLD",b:["0.1"]},{a:"define",c:"SMAA_DISABLE_DIAG_DETECTION",b:["0"]},{a:"define",c:"SMAA_MAX_SEARCH_STEPS_DIAG",b:["8"]},{a:"define",c:"SMAA_CORNER_ROUNDING",b:["25"]}]}},{a:"elif",g:["AA_METHOD","AA_METHOD_SMAA_ULTRA",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"define",c:"SMAA_THRESHOLD",b:["0.05"]},{a:"define",c:"SMAA_DISABLE_DIAG_DETECTION",b:["0"]},{a:"define",c:"SMAA_MAX_SEARCH_STEPS_DIAG",
  1786. b:["16"]},{a:"define",c:"SMAA_CORNER_ROUNDING",b:["25"]}]}}]},{a:"cond",d:[{a:"ifndef",c:"SMAA_THRESHOLD",h:{a:"grp",d:[{a:"define",c:"SMAA_THRESHOLD",b:["0.1"]}]}}]},{a:"cond",d:[{a:"ifndef",c:"SMAA_DEPTH_THRESHOLD",h:{a:"grp",d:[{a:"define",c:"SMAA_DEPTH_THRESHOLD",b:["(","0.1","*","SMAA_THRESHOLD",")"]}]}}]},{a:"cond",d:[{a:"ifndef",c:"SMAA_MAX_SEARCH_STEPS_DIAG",h:{a:"grp",d:[{a:"define",c:"SMAA_MAX_SEARCH_STEPS_DIAG",b:["8"]}]}}]},{a:"cond",d:[{a:"ifndef",c:"SMAA_CORNER_ROUNDING",h:{a:"grp",
  1787. d:[{a:"define",c:"SMAA_CORNER_ROUNDING",b:["25"]}]}}]},{a:"cond",d:[{a:"ifndef",c:"SMAA_LOCAL_CONTRAST_ADAPTATION_FACTOR",h:{a:"grp",d:[{a:"define",c:"SMAA_LOCAL_CONTRAST_ADAPTATION_FACTOR",b:["2.0"]}]}}]},{a:"cond",d:[{a:"ifndef",c:"SMAA_PREDICATION",h:{a:"grp",d:[{a:"define",c:"SMAA_PREDICATION",b:["0"]}]}}]},{a:"cond",d:[{a:"ifndef",c:"SMAA_PREDICATION_THRESHOLD",h:{a:"grp",d:[{a:"define",c:"SMAA_PREDICATION_THRESHOLD",b:["0.01"]}]}}]},{a:"cond",d:[{a:"ifndef",c:"SMAA_PREDICATION_SCALE",h:{a:"grp",
  1788. d:[{a:"define",c:"SMAA_PREDICATION_SCALE",b:["2.0"]}]}}]},{a:"cond",d:[{a:"ifndef",c:"SMAA_PREDICATION_STRENGTH",h:{a:"grp",d:[{a:"define",c:"SMAA_PREDICATION_STRENGTH",b:["0.4"]}]}}]},{a:"cond",d:[{a:"ifndef",c:"SMAA_REPROJECTION",h:{a:"grp",d:[{a:"define",c:"SMAA_REPROJECTION",b:["0"]}]}}]},{a:"cond",d:[{a:"ifndef",c:"SMAA_REPROJECTION_WEIGHT_SCALE",h:{a:"grp",d:[{a:"define",c:"SMAA_REPROJECTION_WEIGHT_SCALE",b:["30.0"]}]}}]},{a:"cond",d:[{a:"ifndef",c:"SMAA_MAX_SEARCH_STEPS",h:{a:"grp",d:[{a:"define",
  1789. c:"SMAA_MAX_SEARCH_STEPS",b:["16"]}]}}]},{a:"define",c:"SMAA_AREATEX_MAX_DISTANCE",b:["16"]},{a:"define",c:"SMAA_AREATEX_MAX_DISTANCE_DIAG",b:["20"]},{a:"define",c:"SMAA_AREATEX_PIXEL_SIZE",b:"( 1.0 / vec2 ( 160.0 , 560.0 ) )".split(" ")},{a:"define",c:"SMAA_AREATEX_SUBTEX_SIZE",b:["(","1.0","/","7.0",")"]},{a:"define",c:"SMAA_SEARCHTEX_SIZE",b:"vec2 ( 66.0 , 33.0 )".split(" ")},{a:"define",c:"SMAA_SEARCHTEX_PACKED_SIZE",b:"vec2 ( 64.0 , 16.0 )".split(" ")},{a:"define",c:"SMAA_CORNER_ROUNDING_NORM",
  1790. b:"( float ( SMAA_CORNER_ROUNDING ) / 100.0 )".split(" ")},{a:"cond",d:[{a:"if",g:["SMAA_PASS","SMAA_EDGE_DETECTION",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec3 ht ( vec2 bE , sampler2D hq ) { float p = GLSL_TEXTURE ( hq , bE ) . r ; float hr = GLSL_TEXTURE ( hq , hm . xy ) . r ; float hs = GLSL_TEXTURE ( hq , hm . zw ) . r ; return vec3 ( p , hr , hs ) ; }".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["SMAA_PASS","SMAA_EDGE_DETECTION",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec2 hx ( vec2 bE , sampler2D hu ) { vec3 hv = ht ( bE , hu ) ; vec2 cx = abs ( hv . xx - hv . yz ) ; vec2 hw = step ( SMAA_PREDICATION_THRESHOLD , cx ) ; return SMAA_PREDICATION_SCALE * SMAA_THRESHOLD * ( 1.0 - SMAA_PREDICATION_STRENGTH * hw ) ; }".split(" ")}]}}]},
  1791. {a:"txt",b:"void hB ( bvec2 hy , inout vec2 hz , vec2 hA ) { if ( hy . x ) hz . x = hA . x ; if ( hy . y ) hz . y = hA . y ; } void hB ( bvec4 hy , inout vec4 hz , vec4 hA ) { hB ( hy . xy , hz . xy , hA . xy ) ; hB ( hy . zw , hz . zw , hA . zw ) ; } vec2 hC ( vec2 x ) { return sign ( x ) * floor ( abs ( x ) + .5 ) ; } vec4 hC ( vec4 x ) { return sign ( x ) * floor ( abs ( x ) + .5 ) ; }".split(" ")},{a:"cond",d:[{a:"if",g:["SMAA_PASS","SMAA_EDGE_DETECTION",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",
  1792. b:"vec2 hP ( vec2 bE , sampler2D hD".split(" ")},{a:"cond",d:[{a:"if",g:["SMAA_PREDICATION"],h:{a:"grp",d:[{a:"txt",b:[",","sampler2D","hu"]}]}}]},{a:"txt",b:[")","{"]},{a:"cond",d:[{a:"if",g:["SMAA_PREDICATION"],h:{a:"grp",d:[{a:"txt",b:"vec2 hE = hx ( bE , hu ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"vec2 hE = vec2 ( SMAA_THRESHOLD , SMAA_THRESHOLD ) ;".split(" ")}]}}]},{a:"txt",b:"vec3 hF = vec3 ( 0.2126 , 0.7152 , 0.0722 ) ; float hG = dot ( GLSL_TEXTURE ( hD , bE ) . rgb , hF ) ; float hH = dot ( GLSL_TEXTURE ( hD , hm . xy ) . rgb , hF ) ; float hI = dot ( GLSL_TEXTURE ( hD , hm . zw ) . rgb , hF ) ; vec4 cx ; cx . xy = abs ( hG - vec2 ( hH , hI ) ) ; vec2 hw = step ( hE , cx . xy ) ; if ( dot ( hw , vec2 ( 1.0 , 1.0 ) ) == 0.0 ) discard ; float hJ = dot ( GLSL_TEXTURE ( hD , hn . xy ) . rgb , hF ) ; float hK = dot ( GLSL_TEXTURE ( hD , hn . zw ) . rgb , hF ) ; cx . zw = abs ( hG - vec2 ( hJ , hK ) ) ; vec2 hL = max ( cx . xy , cx . zw ) ; float hM = dot ( GLSL_TEXTURE ( hD , ho . xy ) . rgb , hF ) ; float hN = dot ( GLSL_TEXTURE ( hD , ho . zw ) . rgb , hF ) ; cx . zw = abs ( vec2 ( hH , hI ) - vec2 ( hM , hN ) ) ; hL = max ( hL . xy , cx . zw ) ; float hO = max ( hL . x , hL . y ) ; hw . xy *= step ( hO , SMAA_LOCAL_CONTRAST_ADAPTATION_FACTOR * cx . xy ) ; return hw ; }".split(" ")}]}}]},
  1793. {a:"cond",d:[{a:"if",g:["SMAA_DISABLE_DIAG_DETECTION",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"txt",b:"vec2 hR ( vec2 hQ ) { hQ . r = hQ . r * abs ( 5.0 * hQ . r - 5.0 * 0.75 ) ; return hC ( hQ ) ; } vec4 hR ( vec4 hQ ) { hQ . rb = hQ . rb * abs ( 5.0 * hQ . rb - 5.0 * 0.75 ) ; return hC ( hQ ) ; } vec2 hT ( sampler2D hS , vec2 bE , vec2 be , out vec2 hQ ) { vec4 fm = vec4 ( bE , - 1.0 , 1.0 ) ; vec3 t = vec3 ( u_texel_size , 1.0 ) ; for ( int bQ = 0 ; bQ < SMAA_MAX_SEARCH_STEPS_DIAG ; bQ ++ ) { if ( fm . z < float ( SMAA_MAX_SEARCH_STEPS_DIAG - 1 ) && fm . w > 0.9 ) { fm . xyz += t * vec3 ( be , 1.0 ) ; hQ = GLSL_TEXTURE ( hS , fm . xy , 0.0 ) . rg ; fm . w = dot ( hQ , vec2 ( 0.5 , 0.5 ) ) ; } } return fm . zw ; } vec2 hU ( sampler2D hS , vec2 bE , vec2 be , out vec2 hQ ) { vec4 fm = vec4 ( bE , - 1.0 , 1.0 ) ; fm . x += 0.25 * u_texel_size . x ; vec3 t = vec3 ( u_texel_size , 1.0 ) ; for ( int bQ = 0 ; bQ < SMAA_MAX_SEARCH_STEPS_DIAG ; bQ ++ ) { if ( fm . z < float ( SMAA_MAX_SEARCH_STEPS_DIAG - 1 ) && fm . w > 0.9 ) { fm . xyz = t * vec3 ( be , 1.0 ) + fm . xyz ; hQ = GLSL_TEXTURE ( hS , fm . xy , 0.0 ) . rg ; hQ = hR ( hQ ) ; fm . w = dot ( hQ , vec2 ( 0.5 , 0.5 ) ) ; } } return fm . zw ; } vec2 hW ( sampler2D hV , vec2 aC , vec2 hQ , float eY ) { vec2 bE = vec2 ( SMAA_AREATEX_MAX_DISTANCE_DIAG , SMAA_AREATEX_MAX_DISTANCE_DIAG ) * hQ + aC ; bE = SMAA_AREATEX_PIXEL_SIZE * bE + 0.5 * SMAA_AREATEX_PIXEL_SIZE ; bE . x += 0.5 ; bE . y += SMAA_AREATEX_SUBTEX_SIZE * eY ; return GLSL_TEXTURE ( hV , bE , 0.0 ) . rg ; } vec2 ia ( sampler2D hS , sampler2D hV , vec2 bE , vec2 hQ , vec4 hX ) { vec2 hF = vec2 ( 0.0 , 0.0 ) ; vec4 df ; vec2 hY ; if ( hQ . r > 0.0 ) { df . xz = hT ( hS , bE , vec2 ( - 1.0 , 1.0 ) , hY ) ; df . x += float ( hY . y > 0.9 ) ; } else df . xz = vec2 ( 0.0 , 0.0 ) ; df . yw = hT ( hS , bE , vec2 ( 1.0 , - 1.0 ) , hY ) ; if ( df . x + df . y > 2.0 ) { vec4 hZ = vec4 ( - df . x + 0.25 , df . x , df . y , - df . y - 0.25 ) * u_texel_size . xyxy + bE . xyxy ; vec4 da ; da . xy = GLSL_TEXTURE ( hS , hZ . xy + u_texel_size * vec2 ( - 1 , 0 ) , 0.0 ) . rg ; da . zw = GLSL_TEXTURE ( hS , hZ . zw + u_texel_size * vec2 ( 1 , 0 ) , 0.0 ) . rg ; da . yxwz = hR ( da . xyzw ) ; vec2 h_ = vec2 ( 2.0 , 2.0 ) * da . xz + da . yw ; hB ( bvec2 ( step ( 0.9 , df . zw ) ) , h_ , vec2 ( 0.0 , 0.0 ) ) ; hF += hW ( hV , df . xy , h_ , hX . z ) ; } df . xz = hU ( hS , bE , vec2 ( - 1 , - 1 ) , hY ) ; if ( GLSL_TEXTURE ( hS , bE + u_texel_size * vec2 ( 1 , 0 ) , 0.0 ) . r > 0.0 ) { df . yw = hU ( hS , bE , vec2 ( 1 , 1 ) , hY ) ; df . y += float ( hY . y > 0.9 ) ; } else df . yw = vec2 ( 0.0 , 0.0 ) ; if ( df . x + df . y > 2.0 ) { vec4 hZ = vec4 ( - df . x , - df . x , df . y , df . y ) * u_texel_size . xyxy + bE . xyxy ; vec4 da ; da . x = GLSL_TEXTURE ( hS , hZ . xy + u_texel_size * vec2 ( - 1 , 0 ) , 0.0 ) . g ; da . y = GLSL_TEXTURE ( hS , hZ . xy + u_texel_size * vec2 ( 0 , - 1 ) , 0.0 ) . r ; da . zw = GLSL_TEXTURE ( hS , hZ . zw + u_texel_size * vec2 ( 1 , 0 ) , 0.0 ) . gr ; vec2 h_ = vec2 ( 2.0 , 2.0 ) * da . xz + da . yw ; hB ( bvec2 ( step ( 0.9 , df . zw ) ) , h_ , vec2 ( 0 , 0 ) ) ; hF += hW ( hV , df . xy , h_ , hX . w ) . gr ; } return hF ; }".split(" ")}]}}]},
  1794. {a:"txt",b:"float id ( sampler2D ib , vec2 hQ , float eY ) { vec2 hk = SMAA_SEARCHTEX_SIZE * vec2 ( 0.5 , - 1.0 ) ; vec2 ic = SMAA_SEARCHTEX_SIZE * vec2 ( eY , 1.0 ) ; hk += vec2 ( - 1.0 , 1.0 ) ; ic += vec2 ( 0.5 , - 0.5 ) ; hk *= 1.0 / SMAA_SEARCHTEX_PACKED_SIZE ; ic *= 1.0 / SMAA_SEARCHTEX_PACKED_SIZE ; return GLSL_TEXTURE ( ib , hk * hQ + ic , 0.0 ) . r ; } float ie ( sampler2D hS , sampler2D ib , vec2 bE , float hY ) { vec2 hQ = vec2 ( 0.0 , 1.0 ) ; for ( int bQ = 0 ; bQ < SMAA_MAX_SEARCH_STEPS ; bQ ++ ) { if ( bE . x > hY && hQ . g > 0.8281 && hQ . r == 0.0 ) { hQ = GLSL_TEXTURE ( hS , bE , 0.0 ) . rg ; bE = - vec2 ( 2.0 , 0.0 ) * u_texel_size + bE ; } } float eY = - ( 255.0 / 127.0 ) * id ( ib , hQ , 0.0 ) + 3.25 ; return u_texel_size . x * eY + bE . x ; } float ig ( sampler2D hS , sampler2D ib , vec2 bE , float hY ) { vec2 hQ = vec2 ( 0.0 , 1.0 ) ; for ( int bQ = 0 ; bQ < SMAA_MAX_SEARCH_STEPS ; bQ ++ ) { if ( bE . x < hY && hQ . g > 0.8281 && hQ . r == 0.0 ) { hQ = GLSL_TEXTURE ( hS , bE , 0.0 ) . rg ; bE = vec2 ( 2.0 , 0.0 ) * u_texel_size + bE ; } } float eY = - ( 255.0 / 127.0 ) * id ( ib , hQ , 0.5 ) + 3.25 ; return - u_texel_size . x * eY + bE . x ; } float ih ( sampler2D hS , sampler2D ib , vec2 bE , float hY ) { vec2 hQ = vec2 ( 1.0 , 0.0 ) ; for ( int bQ = 0 ; bQ < SMAA_MAX_SEARCH_STEPS ; bQ ++ ) { if ( bE . y > hY && hQ . r > 0.8281 && hQ . g == 0.0 ) { hQ = GLSL_TEXTURE ( hS , bE , 0.0 ) . rg ; bE = - vec2 ( 0.0 , 2.0 ) * u_texel_size + bE ; } } float eY = - ( 255.0 / 127.0 ) * id ( ib , hQ . gr , 0.0 ) + 3.25 ; return u_texel_size . y * eY + bE . y ; } float ii ( sampler2D hS , sampler2D ib , vec2 bE , float hY ) { vec2 hQ = vec2 ( 1.0 , 0.0 ) ; for ( int bQ = 0 ; bQ < SMAA_MAX_SEARCH_STEPS ; bQ ++ ) { if ( bE . y < hY && hQ . r > 0.8281 && hQ . g == 0.0 ) { hQ = GLSL_TEXTURE ( hS , bE , 0.0 ) . rg ; bE = vec2 ( 0.0 , 2.0 ) * u_texel_size + bE ; } } float eY = - ( 255.0 / 127.0 ) * id ( ib , hQ . gr , 0.5 ) + 3.25 ; return - u_texel_size . y * eY + bE . y ; } vec2 il ( sampler2D hV , vec2 aC , float ij , float ik , float eY ) { vec2 bE = vec2 ( SMAA_AREATEX_MAX_DISTANCE , SMAA_AREATEX_MAX_DISTANCE ) * hC ( 4.0 * vec2 ( ij , ik ) ) + aC ; bE = SMAA_AREATEX_PIXEL_SIZE * bE + 0.5 * SMAA_AREATEX_PIXEL_SIZE ; bE . y = SMAA_AREATEX_SUBTEX_SIZE * eY + bE . y ; return GLSL_TEXTURE ( hV , bE , 0.0 ) . rg ; } void ip ( sampler2D hS , inout vec2 hF , vec4 bE , vec2 df ) {".split(" ")},
  1795. {a:"cond",d:[{a:"if",g:["SMAA_DISABLE_CORNER_DETECTION",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"txt",b:"vec2 im = step ( df . xy , df . yx ) ; vec2 io = ( 1.0 - SMAA_CORNER_ROUNDING_NORM ) * im ; io /= im . x + im . y ; vec2 aB = vec2 ( 1.0 , 1.0 ) ; aB . x -= io . x * GLSL_TEXTURE ( hS , bE . xy + u_texel_size * vec2 ( 0 , 1 ) , 0.0 ) . r ; aB . x -= io . y * GLSL_TEXTURE ( hS , bE . zw + u_texel_size * vec2 ( 1 , 1 ) , 0.0 ) . r ; aB . y -= io . x * GLSL_TEXTURE ( hS , bE . xy + u_texel_size * vec2 ( 0 , - 2 ) , 0.0 ) . r ; aB . y -= io . y * GLSL_TEXTURE ( hS , bE . zw + u_texel_size * vec2 ( 1 , - 2 ) , 0.0 ) . r ; hF *= clamp ( aB , 0.0 , 1.0 ) ;".split(" ")}]}}]},
  1796. {a:"txt",b:"} void iq ( sampler2D hS , inout vec2 hF , vec4 bE , vec2 df ) {".split(" ")},{a:"cond",d:[{a:"if",g:["SMAA_DISABLE_CORNER_DETECTION",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"txt",b:"vec2 im = step ( df . xy , df . yx ) ; vec2 io = ( 1.0 - SMAA_CORNER_ROUNDING_NORM ) * im ; io /= im . x + im . y ; vec2 aB = vec2 ( 1.0 , 1.0 ) ; aB . x -= io . x * GLSL_TEXTURE ( hS , bE . xy + u_texel_size * vec2 ( 1 , 0 ) , 0.0 ) . g ; aB . x -= io . y * GLSL_TEXTURE ( hS , bE . zw + u_texel_size * vec2 ( 1 , 1 ) , 0.0 ) . g ; aB . y -= io . x * GLSL_TEXTURE ( hS , bE . xy + u_texel_size * vec2 ( - 2 , 0 ) , 0.0 ) . g ; aB . y -= io . y * GLSL_TEXTURE ( hS , bE . zw + u_texel_size * vec2 ( - 2 , 1 ) , 0.0 ) . g ; hF *= clamp ( aB , 0.0 , 1.0 ) ;".split(" ")}]}}]},
  1797. {a:"txt",b:["}"]},{a:"cond",d:[{a:"if",g:["SMAA_PASS","SMAA_BLENDING_WEIGHT_CALCULATION",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec4 it ( vec2 bE , vec2 ir , sampler2D hS , sampler2D hV , sampler2D ib , vec4 hX ) { vec4 hF = vec4 ( 0.0 , 0.0 , 0.0 , 0.0 ) ; vec2 hQ = GLSL_TEXTURE ( hS , bE ) . rg ; if ( hQ . g > 0.0 ) {".split(" ")},{a:"cond",d:[{a:"if",g:["SMAA_DISABLE_DIAG_DETECTION",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"txt",b:"hF . rg = ia ( hS , hV , bE , hQ , hX ) ; if ( hF . r == - hF . g ) {".split(" ")}]}}]},
  1798. {a:"txt",b:"vec2 df ; vec3 hZ ; hZ . x = ie ( hS , ib , hm . xy , ho . x ) ; hZ . y = hn . y ; df . x = hZ . x ; float ij = GLSL_TEXTURE ( hS , hZ . xy , 0.0 ) . r ; hZ . z = ig ( hS , ib , hm . zw , ho . y ) ; df . y = hZ . z ; df = abs ( hC ( df / u_texel_size . xx - ir . xx ) ) ; vec2 is = sqrt ( df ) ; float ik = GLSL_TEXTURE ( hS , hZ . zy + u_texel_size * vec2 ( 1 , 0 ) , 0.0 ) . r ; hF . rg = il ( hV , is , ij , ik , hX . y ) ; hZ . y = bE . y ; ip ( hS , hF . rg , hZ . xyzy , df ) ;".split(" ")},
  1799. {a:"cond",d:[{a:"if",g:["SMAA_DISABLE_DIAG_DETECTION",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"txt",b:"} else hQ . r = 0.0 ;".split(" ")}]}}]},{a:"txt",b:"} if ( hQ . r > 0.0 ) { vec2 df ; vec3 hZ ; hZ . y = ih ( hS , ib , hn . xy , ho . z ) ; hZ . x = hm . x ; df . x = hZ . y ; float ij = GLSL_TEXTURE ( hS , hZ . xy , 0.0 ) . g ; hZ . z = ii ( hS , ib , hn . zw , ho . w ) ; df . y = hZ . z ; df = abs ( hC ( df / u_texel_size . yy - ir . yy ) ) ; vec2 is = sqrt ( df ) ; float ik = GLSL_TEXTURE ( hS , hZ . xz + u_texel_size * vec2 ( 0 , 1 ) , 0.0 ) . g ; hF . ba = il ( hV , is , ij , ik , hX . x ) ; hZ . x = bE . x ; iq ( hS , hF . ba , hZ . xyxz , df ) ; } return hF ; }".split(" ")}]}}]},
  1800. {a:"cond",d:[{a:"if",g:["SMAA_PASS","SMAA_NEIGHBORHOOD_BLENDING",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec4 iC ( vec2 bE , sampler2D hD , sampler2D iu".split(" ")},{a:"cond",d:[{a:"if",g:["SMAA_REPROJECTION"],h:{a:"grp",d:[{a:"txt",b:[",","sampler2D","iv"]}]}}]},{a:"txt",b:") { vec4 a ; a . x = GLSL_TEXTURE ( iu , hl . xy ) . a ; a . y = GLSL_TEXTURE ( iu , hl . zw ) . g ; a . wz = GLSL_TEXTURE ( iu , bE ) . xz ; if ( dot ( a , vec4 ( 1.0 , 1.0 , 1.0 , 1.0 ) ) < 1e-5 ) { vec4 aG = GLSL_TEXTURE ( hD , bE , 0.0 ) ;".split(" ")},
  1801. {a:"cond",d:[{a:"if",g:["SMAA_REPROJECTION"],h:{a:"grp",d:[{a:"txt",b:"vec4 iw = GLSL_TEXTURE ( iv , A ) ; vec2 cS = 2.0 * ix ( iw ) - 1.0 ; aG . a = sqrt ( 2.0 * length ( cS ) ) ;".split(" ")}]}}]},{a:"txt",b:"return aG ; } else { bool bO = max ( a . x , a . z ) > max ( a . y , a . w ) ; vec4 iy = vec4 ( 0.0 , a . y , 0.0 , a . w ) ; vec2 iz = a . yw ; hB ( bvec4 ( bO , bO , bO , bO ) , iy , vec4 ( a . x , 0.0 , a . z , 0.0 ) ) ; hB ( bvec2 ( bO , bO ) , iz , a . xz ) ; iz /= dot ( iz , vec2 ( 1.0 , 1.0 ) ) ; vec4 iA = iy * vec4 ( u_texel_size , - u_texel_size ) + bE . xyxy ; vec4 aG = iz . x * GLSL_TEXTURE ( hD , iA . xy , 0.0 ) ; aG += iz . y * GLSL_TEXTURE ( hD , iA . zw , 0.0 ) ;".split(" ")},
  1802. {a:"cond",d:[{a:"if",g:["SMAA_REPROJECTION"],h:{a:"grp",d:[{a:"txt",b:"vec4 iw = GLSL_TEXTURE ( iv , iA . xy ) ; vec2 iB = 2.0 * ix ( iw ) - 1.0 ; vec2 cS = iz . x * iB ; iw = GLSL_TEXTURE ( iv , iA . zw ) ; iB = 2.0 * ix ( iw ) - 1.0 ; cS += iz . y * iB ; aG . a = sqrt ( 2.0 * length ( cS ) ) ;".split(" ")}]}}]},{a:"txt",b:["return","aG",";","}","}"]}]}}]},{a:"cond",d:[{a:"if",g:["SMAA_PASS","SMAA_RESOLVE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec4 iH ( vec2 bE , sampler2D iD , sampler2D iE".split(" ")},
  1803. {a:"cond",d:[{a:"if",g:["SMAA_REPROJECTION"],h:{a:"grp",d:[{a:"txt",b:[",","sampler2D","iv"]}]}}]},{a:"txt",b:[")","{"]},{a:"cond",d:[{a:"if",g:["SMAA_REPROJECTION"],h:{a:"grp",d:[{a:"txt",b:"vec4 iw = GLSL_TEXTURE ( iv , A ) ; vec2 cS ; cS = 2.0 * ix ( iw ) - 1.0 ; vec4 iF = GLSL_TEXTURE ( iD , bE ) ; vec4 iG = GLSL_TEXTURE ( iE , bE - cS ) ; float cx = abs ( iF . a * iF . a - iG . a * iG . a ) / 2.0 ; float bU = 0.5 * clamp ( 1.0 - sqrt ( cx ) * SMAA_REPROJECTION_WEIGHT_SCALE , 0.0 , 1.0 ) ; vec4 aG = mix ( iF , iG , bU ) ; aG . a = 1.0 ; return aG ;".split(" ")}]}},
  1804. {a:"else",h:{a:"grp",d:[{a:"txt",b:"vec4 iF = GLSL_TEXTURE ( iD , bE ) ; vec4 iG = GLSL_TEXTURE ( iE , bE ) ; return mix ( iF , iG , 0.5 ) ;".split(" ")}]}}]},{a:"txt",b:["}"]}]}}]},{a:"txt",b:["void","main","(",")","{"]},{a:"cond",d:[{a:"if",g:["SMAA_PASS","SMAA_EDGE_DETECTION",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec4 aG = vec4 ( hP ( A , u_color".split(" ")},{a:"cond",d:[{a:"if",g:["SMAA_PREDICATION"],h:{a:"grp",d:[{a:"txt",b:[",","u_predication_tex"]}]}}]},{a:"txt",b:") , 0.0 , 0.0 ) ;".split(" ")}]}},
  1805. {a:"elif",g:["SMAA_PASS","SMAA_BLENDING_WEIGHT_CALCULATION",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec4 aG = it ( A , hp , u_color , u_area_tex , u_search_tex , u_subsample_indices ) ;".split(" ")}]}},{a:"elif",g:["SMAA_PASS","SMAA_NEIGHBORHOOD_BLENDING",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec4 aG = iC ( A , u_color , u_blend".split(" ")},{a:"cond",d:[{a:"if",g:["SMAA_REPROJECTION"],h:{a:"grp",d:[{a:"txt",b:[",","u_velocity_tex"]}]}}]},{a:"txt",b:[")",";"]}]}},{a:"elif",g:["SMAA_PASS",
  1806. "SMAA_RESOLVE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec4 aG = vec4 ( iH ( A , u_color , u_color_prev".split(" ")},{a:"cond",d:[{a:"if",g:["SMAA_REPROJECTION"],h:{a:"grp",d:[{a:"txt",b:[",","u_velocity_tex"]}]}}]},{a:"txt",b:[")",")",";"]}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"vec4 aG = GLSL_TEXTURE ( u_color , A ) ;".split(" ")}]}}]},{a:"txt",b:["GLSL_OUT_FRAG_COLOR","=","aG",";","}"]}]};a["postprocessing/smaa.glslv"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"var",c:"SMAA_PASS",
  1807. b:["SMAA_RESOLVE"]},{a:"var",c:"AA_METHOD",b:["AA_METHOD_SMAA_LOW"]},{a:"include",o:"std.glsl"},{a:"txt",b:"uniform vec2 u_texel_size ; GLSL_IN vec2 a_position ; GLSL_OUT vec2 A ;".split(" ")},{a:"cond",d:[{a:"if",g:["SMAA_PASS","SMAA_NEIGHBORHOOD_BLENDING",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec4","hl",";"]}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"GLSL_OUT vec4 hm ; GLSL_OUT vec4 hn ; GLSL_OUT vec4 ho ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["SMAA_PASS","SMAA_BLENDING_WEIGHT_CALCULATION",
  1808. {a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_OUT","vec2","hp",";"]}]}}]},{a:"cond",d:[{a:"if",g:["AA_METHOD","AA_METHOD_SMAA_LOW",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"define",c:"SMAA_MAX_SEARCH_STEPS",b:["4"]}]}},{a:"elif",g:["AA_METHOD","AA_METHOD_SMAA_MEDIUM",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"define",c:"SMAA_MAX_SEARCH_STEPS",b:["8"]}]}},{a:"elif",g:["AA_METHOD","AA_METHOD_SMAA_HIGH",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"define",c:"SMAA_MAX_SEARCH_STEPS",b:["16"]}]}},{a:"elif",
  1809. g:["AA_METHOD","AA_METHOD_SMAA_ULTRA",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"define",c:"SMAA_MAX_SEARCH_STEPS",b:["32"]}]}}]},{a:"cond",d:[{a:"ifndef",c:"SMAA_MAX_SEARCH_STEPS",h:{a:"grp",d:[{a:"define",c:"SMAA_MAX_SEARCH_STEPS",b:["16"]}]}}]},{a:"cond",d:[{a:"if",g:["SMAA_PASS","SMAA_EDGE_DETECTION",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"void iI ( vec2 bE ) { hm = u_texel_size . xyxy * vec4 ( - 1.0 , 0.0 , 0.0 , - 1.0 ) + bE . xyxy ; hn = u_texel_size . xyxy * vec4 ( 1.0 , 0.0 , 0.0 , 1.0 ) + bE . xyxy ; ho = u_texel_size . xyxy * vec4 ( - 2.0 , 0.0 , 0.0 , - 2.0 ) + bE . xyxy ; }".split(" ")}]}},
  1810. {a:"elif",g:["SMAA_PASS","SMAA_BLENDING_WEIGHT_CALCULATION",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"void iJ ( vec2 bE , out vec2 ir ) { ir = bE / u_texel_size ; hm = u_texel_size . xyxy * vec4 ( - 0.25 , - 0.125 , 1.25 , - 0.125 ) + bE . xyxy ; hn = u_texel_size . xyxy * vec4 ( - 0.125 , - 0.25 , - 0.125 , 1.25 ) + bE . xyxy ; ho = u_texel_size . xxyy * vec4 ( - 2.0 , 2.0 , - 2.0 , 2.0 ) * float ( SMAA_MAX_SEARCH_STEPS ) + vec4 ( hm . xz , hn . yw ) ; }".split(" ")}]}},{a:"elif",g:["SMAA_PASS",
  1811. "SMAA_NEIGHBORHOOD_BLENDING",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"void iK ( vec2 bE ) { hl = u_texel_size . xyxy * vec4 ( 1.0 , 0.0 , 0.0 , 1.0 ) + bE . xyxy ; }".split(" ")}]}}]},{a:"txt",b:"void main ( ) { A = 2.0 * a_position ;".split(" ")},{a:"cond",d:[{a:"if",g:["SMAA_PASS","SMAA_EDGE_DETECTION",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["iI","(","A",")",";"]}]}},{a:"elif",g:["SMAA_PASS","SMAA_BLENDING_WEIGHT_CALCULATION",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"iJ ( A , hp ) ;".split(" ")}]}},
  1812. {a:"elif",g:["SMAA_PASS","SMAA_NEIGHBORHOOD_BLENDING",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["iK","(","A",")",";"]}]}}]},{a:"txt",b:"gl_Position = vec4 ( 4.0 * ( a_position . xy - 0.25 ) , 0.0 , 1.0 ) ; }".split(" ")}]};a["postprocessing/ssao.glslf"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"var",c:"PRECISION",b:["highp"]},{a:"var",c:"SSAO_WHITE",b:["0"]},{a:"var",c:"SSAO_QUALITY",b:["SSAO_QUALITY_8"]},{a:"var",c:"SSAO_HEMISPHERE",b:["0"]},{a:"txt",b:["precision","PRECISION","sampler2D",
  1813. ";"]},{a:"include",o:"precision_statement.glslf"},{a:"include",o:"std.glsl"},{a:"include",o:"depth_fetch.glslf"},{a:"txt",b:"uniform sampler2D u_color ; uniform sampler2D u_depth ; uniform sampler2D u_ssao_special_tex ; uniform vec2 u_camera_range ; uniform vec2 u_texel_size ; uniform float u_ssao_radius_increase ; uniform float u_ssao_influence ; uniform float u_ssao_dist_factor ; GLSL_IN vec2 A ; GLSL_OUT vec4 GLSL_OUT_FRAG_COLOR ; float iL ( in vec2 fm ) { return fM ( u_depth , fm , u_camera_range ) ; } void main ( ) { vec3 fR = GLSL_TEXTURE ( u_color , A ) . rgb ;".split(" ")},
  1814. {a:"cond",d:[{a:"if",g:["SSAO_WHITE"],h:{a:"grp",d:[{a:"txt",b:"GLSL_OUT_FRAG_COLOR = vec4 ( fR , 1.0 ) ; return ;".split(" ")}]}}]},{a:"txt",b:"vec3 iM = normalize ( 2.0 * GLSL_TEXTURE ( u_ssao_special_tex , A * 0.25 / u_texel_size ) . rgb - 1.0 ) ; float fN = iL ( A ) ; float iN = fN * ( u_camera_range . y - u_camera_range . x ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["SSAO_QUALITY","SSAO_QUALITY_8",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"const float iO = 8.0 ; const int iP = 1 ;".split(" ")}]}},
  1815. {a:"elif",g:["SSAO_QUALITY","SSAO_QUALITY_16",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"const float iO = 16.0 ; const int iP = 2 ;".split(" ")}]}},{a:"elif",g:["SSAO_QUALITY","SSAO_QUALITY_24",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"const float iO = 24.0 ; const int iP = 3 ;".split(" ")}]}},{a:"elif",g:["SSAO_QUALITY","SSAO_QUALITY_32",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"const float iO = 32.0 ; const int iP = 4 ;".split(" ")}]}}]},{a:"txt",b:"float iQ = u_ssao_radius_increase * 0.001 ; const float iR = 1.0 + 2.4 / iO ; float iS = 0.0 ; for ( int bQ = 0 ; bQ < iP ; bQ ++ ) for ( int x = - 1 ; x <= 1 ; x += 2 ) for ( int y = - 1 ; y <= 1 ; y += 2 ) for ( int z = - 1 ; z <= 1 ; z += 2 ) { vec3 iT = reflect ( normalize ( vec3 ( x , y , z ) ) , iM ) * ( iQ *= iR ) ; vec3 iU = vec3 ( A , iN ) ; iU += vec3 ( iT . xy , iT . z * iN * 2.0 ) ;".split(" ")},
  1816. {a:"cond",d:[{a:"if",g:["SSAO_HEMISPHERE"],h:{a:"grp",d:[{a:"txt",b:"iU . z -= 1.4 * ( iU . z - iN ) * step ( iN , iU . z ) ;".split(" ")}]}}]},{a:"txt",b:"float iV = iL ( iU . xy ) * ( u_camera_range . y - u_camera_range . x ) ; float iW = clamp ( ( iN - iV ) / iV , 0.0 , 1.0 ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["SSAO_HEMISPHERE"],h:{a:"grp",d:[{a:"txt",b:"iS += mix ( 1.0 , iW , step ( iV , iU . z ) ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"iS += mix ( step ( iU . z , iV ) , 0.5 , iW ) ;".split(" ")}]}}]},
  1817. {a:"txt",b:"} iS = iS / iO ;".split(" ")},{a:"cond",d:[{a:"if",g:["SSAO_HEMISPHERE"],h:{a:"grp",d:[{a:"txt",b:"iS = clamp ( iS * iS + 0.6 * iS , 0.0 , 1.0 ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"iS = clamp ( iS * iS + iS , 0.0 , 1.0 ) ;".split(" ")}]}}]},{a:"txt",b:"float iX = u_ssao_influence * ( 1.0 - u_ssao_dist_factor * fN ) ; iS = mix ( 1.0 , iS , iX ) ; GLSL_OUT_FRAG_COLOR = vec4 ( fR , iS ) ; }".split(" ")}]};a["postprocessing/ssao_blur.glslf"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},
  1818. {a:"var",c:"PRECISION",b:["highp"]},{a:"var",c:"SSAO_BLUR_DEPTH",b:["0"]},{a:"txt",b:["precision","PRECISION","sampler2D",";"]},{a:"include",o:"precision_statement.glslf"},{a:"include",o:"std.glsl"},{a:"cond",d:[{a:"if",g:["SSAO_BLUR_DEPTH"],h:{a:"grp",d:[{a:"include",o:"depth_fetch.glslf"}]}}]},{a:"txt",b:"uniform sampler2D u_ssao_mask ; uniform vec2 u_texel_size ; GLSL_IN vec2 A ; GLSL_OUT vec4 GLSL_OUT_FRAG_COLOR ;".split(" ")},{a:"cond",d:[{a:"if",g:["SSAO_BLUR_DEPTH"],h:{a:"grp",d:[{a:"txt",
  1819. b:"uniform sampler2D u_depth ; uniform vec2 u_camera_range ; uniform float u_ssao_blur_discard_value ; float iL ( in vec2 fm ) { return fM ( u_depth , fm , u_camera_range ) ; }".split(" ")}]}}]},{a:"txt",b:"void main ( ) { float iY = 0.0 ;".split(" ")},{a:"cond",d:[{a:"if",g:["SSAO_BLUR_DEPTH"],h:{a:"grp",d:[{a:"txt",b:"float iZ = iL ( A ) ; float bU = 0.0 ; float i_ = u_ssao_blur_discard_value * 100.0 ;".split(" ")}]}}]},{a:"txt",b:"vec2 ja = vec2 ( - 2.0 ) ; for ( int bQ = 0 ; bQ < 4 ; ++ bQ ) { for ( int gC = 0 ; gC < 4 ; ++ gC ) { vec2 eY = ( ja + vec2 ( float ( bQ ) , float ( gC ) ) ) * u_texel_size ; float jb = GLSL_TEXTURE ( u_ssao_mask , A + eY ) . a ;".split(" ")},
  1820. {a:"cond",d:[{a:"if",g:["SSAO_BLUR_DEPTH"],h:{a:"grp",d:[{a:"txt",b:"float jc = iL ( A + eY ) ; float jd = 1.0 - clamp ( abs ( jc - iZ ) * i_ , 0.0 , 1.0 ) ; iY += jb * jd ; bU += jd ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:["iY","+=","jb",";"]}]}}]},{a:"txt",b:["}","}"]},{a:"cond",d:[{a:"if",g:["SSAO_BLUR_DEPTH"],h:{a:"grp",d:[{a:"txt",b:"GLSL_OUT_FRAG_COLOR = vec4 ( GLSL_TEXTURE ( u_ssao_mask , A ) . rgb , iY / bU ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"GLSL_OUT_FRAG_COLOR = vec4 ( GLSL_TEXTURE ( u_ssao_mask , A ) . rgb , iY / 16.0 ) ;".split(" ")}]}}]},
  1821. {a:"txt",b:["}"]}]};a["postprocessing/stereo.glslf"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"var",c:"ANAGLYPH",b:["0"]},{a:"include",o:"precision_statement.glslf"},{a:"include",o:"std.glsl"},{a:"include",o:"color_util.glslf"},{a:"txt",b:"uniform sampler2D u_sampler_left ; uniform sampler2D u_sampler_right ; GLSL_IN vec2 A ; GLSL_OUT vec4 GLSL_OUT_FRAG_COLOR ;".split(" ")},{a:"cond",d:[{a:"if",g:["ANAGLYPH",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"txt",b:"uniform int u_enable_hmd_stereo ; uniform vec4 u_distortion_params ; uniform vec4 u_chromatic_aberration_coefs ; void jn ( vec2 bE , vec2 ac , float cM , sampler2D je ) { vec2 jf = ( bE - ac ) * 2.0 ; jf /= cM ; float jg = jf . x * jf . x + jf . y * jf . y ; vec2 jh = jf * ( 1.0 + u_distortion_params [ 0 ] * jg + u_distortion_params [ 1 ] * jg * jg ) ; vec2 ji = jh * 0.5 / ( 1.0 + u_distortion_params [ 0 ] + u_distortion_params [ 1 ] ) ; if ( length ( u_chromatic_aberration_coefs ) > 0.0 ) { vec2 jj = ji * ( 1.0 + u_chromatic_aberration_coefs [ 0 ] + jg * u_chromatic_aberration_coefs [ 1 ] ) + ac ; vec2 jk = ji + ac ; vec2 jl = ji * ( 1.0 + u_chromatic_aberration_coefs [ 2 ] + jg * u_chromatic_aberration_coefs [ 3 ] ) + ac ; if ( clamp ( jl , 0.0 , 1.0 ) != jl ) { GLSL_OUT_FRAG_COLOR = vec4 ( 0.0 ) ; } else { vec4 jm = GLSL_TEXTURE ( je , jk ) ; GLSL_OUT_FRAG_COLOR [ 0 ] = GLSL_TEXTURE ( je , jj ) . x ; GLSL_OUT_FRAG_COLOR [ 1 ] = jm . y ; GLSL_OUT_FRAG_COLOR [ 2 ] = GLSL_TEXTURE ( je , jl ) . z ; GLSL_OUT_FRAG_COLOR [ 3 ] = jm . w ; } } else { ji = ji * cM + ac ; if ( clamp ( ji , 0.0 , 1.0 ) != ji ) { GLSL_OUT_FRAG_COLOR = vec4 ( 0.0 ) ; } else { GLSL_OUT_FRAG_COLOR = GLSL_TEXTURE ( je , ji ) ; } } }".split(" ")}]}}]},
  1822. {a:"txt",b:["void","main","(",")","{"]},{a:"cond",d:[{a:"if",g:["ANAGLYPH"],h:{a:"grp",d:[{a:"txt",b:"vec4 jo = GLSL_TEXTURE ( u_sampler_left , A ) ; vec4 jp = GLSL_TEXTURE ( u_sampler_right , A ) ; vec3 jq = vec3 ( jo [ 0 ] , jo [ 1 ] , jo [ 2 ] ) ; bY ( jq ) ; vec3 jr = vec3 ( jp [ 0 ] , jp [ 1 ] , jp [ 2 ] ) ; bY ( jr ) ; mat3 js = mat3 ( 0.437 , - 0.062 , - 0.048 , 0.449 , - 0.062 , - 0.050 , 0.164 , - 0.024 , - 0.017 ) ; mat3 jt = mat3 ( - 0.011 , 0.377 , - 0.026 , - 0.032 , 0.761 , - 0.093 , - 0.007 , 0.009 , 1.234 ) ; vec3 aG = clamp ( js * jq , 0.0 , 1.0 ) + clamp ( jt * jr , 0.0 , 1.0 ) ; aM ( aG ) ; GLSL_OUT_FRAG_COLOR = vec4 ( aG , jo [ 3 ] + jp [ 3 ] ) ;".split(" ")}]}},
  1823. {a:"else",h:{a:"grp",d:[{a:"txt",b:"if ( u_enable_hmd_stereo != 0 ) { if ( A [ 0 ] < 0.5 ) { vec2 bE = vec2 ( 2.0 * A [ 0 ] , A [ 1 ] ) ; vec2 ac = vec2 ( 0.5 - ( u_distortion_params [ 3 ] - 0.5 ) / 2.0 , u_distortion_params [ 2 ] ) ; float cM = 2.0 * u_distortion_params [ 3 ] ; jn ( bE , ac , cM , u_sampler_left ) ; } else { vec2 bE = vec2 ( 2.0 * ( A [ 0 ] - 0.5 ) , A [ 1 ] ) ; vec2 ac = vec2 ( 0.5 + ( u_distortion_params [ 3 ] - 0.5 ) / 2.0 , u_distortion_params [ 2 ] ) ; float cM = 2.0 * u_distortion_params [ 3 ] ; jn ( bE , ac , cM , u_sampler_right ) ; } } else { GLSL_OUT_FRAG_COLOR = GLSL_TEXTURE ( u_sampler_left , A ) ; }".split(" ")}]}}]},
  1824. {a:"txt",b:["}"]}]};a["postprocessing/velocity.glslf"]={a:"grp",d:[{a:"version",b:["GLSL_VERSION"]},{a:"include",o:"precision_statement.glslf"},{a:"include",o:"std.glsl"},{a:"include",o:"pack.glslf"},{a:"txt",b:"uniform sampler2D u_depth ; uniform mat4 u_view_proj_inverse ; uniform mat4 u_view_proj_prev ; GLSL_IN vec2 A ; GLSL_OUT vec4 GLSL_OUT_FRAG_COLOR ; void main ( ) { float fN = GLSL_TEXTURE ( u_depth , A ) . x ; vec4 ju = vec4 ( A * 2.0 - 1.0 , 2.0 * fN - 1.0 , 1.0 ) ; vec4 cd = u_view_proj_inverse * ju ; vec4 jv = cd / cd . w ; vec4 jw = u_view_proj_prev * jv ; jw /= jw . w ; vec2 cS = ( ju . xy - jw . xy ) / 4.0 + 0.5 ; cS = clamp ( cS , 0.0 , 1.0 ) ; GLSL_OUT_FRAG_COLOR = fS ( cS ) ; }".split(" ")}]};
  1825. a["include/blending.glslf"]={a:"grp",d:[{a:"cond",d:[{a:"ifndef",c:"BLENDING_GLSLF",h:{a:"grp",d:[{a:"define",c:"BLENDING_GLSLF",b:[""]},{a:"txt",b:"vec3 jy ( vec3 rgb ) { vec4 jx = vec4 ( _0_0 , - _1_0 / 3.0 , 2.0 / 3.0 , - _1_0 ) ; vec4 p = mix ( vec4 ( rgb . bg , jx . wz ) , vec4 ( rgb . gb , jx . xy ) , step ( rgb . b , rgb . g ) ) ; vec4 q = mix ( vec4 ( p . xyw , rgb . r ) , vec4 ( rgb . r , p . yzx ) , step ( p . x , rgb . r ) ) ; float df = q . x - min ( q . w , q . y ) ; float hQ = 1.0e-10 ; return vec3 ( abs ( q . z + ( q . w - q . y ) / ( 6.0 * df + hQ ) ) , df / ( q . x + hQ ) , q . x ) ; } vec3 jA ( vec3 jz ) { vec4 jx = vec4 ( _1_0 , 2.0 / 3.0 , _1_0 / 3.0 , 3.0 ) ; vec3 p = abs ( fract ( vec3 ( jz . r , jz . r , jz . r ) + jx . xyz ) * 6.0 - jx . www ) ; return jz . b * mix ( jx . xxx , clamp ( p - jx . xxx , _0_0 , _1_0 ) , jz . g ) ; } vec3 jE ( vec3 jB , vec3 jC , float jD ) { return mix ( jB , jC , jD ) ; } vec3 jF ( vec3 jB , vec3 jC , float jD ) { return jD * jB + jC ; } vec3 jG ( vec3 jB , vec3 jC , float jD ) { return jC - jD * jB ; } vec3 jI ( vec3 jB , vec3 jC , float jD ) { float jH = _1_0 - jD ; return ( vec3 ( jH ) + jD * jB ) * jC ; } vec3 jJ ( vec3 jB , vec3 jC , float jD ) { vec3 jH = vec3 ( _1_0 - jD ) ; return vec3 ( _1_0 ) - ( jH + jD * ( vec3 ( _1_0 ) - jB ) ) * ( vec3 ( _1_0 ) - jC ) ; } vec3 jK ( vec3 jB , vec3 jC , float jD ) { vec3 jH = vec3 ( _1_0 - jD ) ; return mix ( jC * ( jH + 2.0 * jD * jB ) , vec3 ( _1_0 ) - ( jH + 2.0 * jD * ( vec3 ( _1_0 ) - jB ) ) * ( vec3 ( _1_0 ) - jC ) , step ( 0.5 , jC ) ) ; } vec3 jL ( vec3 jB , vec3 jC , float jD ) { return mix ( jC , abs ( jB - jC ) , jD ) ; } vec3 jM ( vec3 jB , vec3 jC , float jD ) { return mix ( jC , jC / ( jB + step ( jB , vec3 ( _0_0 ) ) ) , jD ) ; } vec3 jN ( vec3 jB , vec3 jC , float jD ) { return mix ( jC , min ( jB , jC ) , jD ) ; } vec3 jO ( vec3 jB , vec3 jC , float jD ) { return max ( jD * jB , jC ) ; } vec3 jS ( vec3 jB , vec3 jC , float jD ) { vec3 jP = jy ( jC ) ; if ( jP . y != _0_0 ) { vec3 jQ = jy ( jB ) ; vec3 jR = jA ( vec3 ( jP . x , jQ . yz ) ) ; return mix ( jB , jR , jD ) ; } return jB ; } vec3 jT ( vec3 jB , vec3 jC , float jD ) { vec3 jP = jy ( jB ) ; if ( jP . y != _0_0 ) { vec3 jQ = jy ( jC ) ; return jA ( vec3 ( jP . x , mix ( jP . y , jQ . y , jD ) , jP . z ) ) ; } return jB ; } vec3 jU ( vec3 jB , vec3 jC , float jD ) { vec3 jP = jy ( jB ) ; vec3 jQ = jy ( jC ) ; return jA ( vec3 ( jP . xy , mix ( jP . z , jQ . z , jD ) ) ) ; } vec3 jV ( vec3 jB , vec3 jC , float jD ) { vec3 jP = jy ( jC ) ; if ( jP . y != _0_0 ) { vec3 jQ = jy ( jB ) ; vec3 jR = jA ( vec3 ( jP . xy , jQ . z ) ) ; return mix ( jB , jR , jD ) ; } return jB ; } vec3 jX ( vec3 jB , vec3 jC , float jD ) { vec3 jW = vec3 ( _1_0 ) - ( vec3 ( _1_0 ) - jC ) * ( vec3 ( _1_0 ) - jB ) ; return mix ( jB , ( ( vec3 ( _1_0 ) - jB ) * jC * jB ) + jB * jW , jD ) ; } vec3 jY ( vec3 jB , vec3 jC , float jD ) { return jB + jD * ( 2.0 * jC - _1_0 ) ; } float kb ( float jZ , float j_ , float jD , float ka ) { float jH = _1_0 - ka ; return ( jH + jD * jZ ) * j_ ; } float kc ( float jZ , float j_ , float jD , float ka ) { float jH = _1_0 - ka ; return _1_0 - ( jH + jD * ( _1_0 - jZ ) ) * ( _1_0 - j_ ) ; } float kd ( float jZ , float j_ , float jD , float ka ) { float jH = _1_0 - ka ; return mix ( j_ * ( jH + 2.0 * jD * jZ ) , _1_0 - ( jH + 2.0 * jD * ( _1_0 - jZ ) ) * ( _1_0 - j_ ) , step ( 0.5 , j_ ) ) ; }".split(" ")}]}}]}]};
  1826. a["include/caustics.glslf"]={a:"grp",d:[{a:"cond",d:[{a:"ifndef",c:"CAUSTICS_GLSLF",h:{a:"grp",d:[{a:"define",c:"CAUSTICS_GLSLF",b:[""]},{a:"var",c:"SUN_NUM",b:["0"]},{a:"var",c:"CAUST_SCALE",b:["0.25"]},{a:"var",c:"CAUST_SPEED",b:["vec2","(","0.0",")"]},{a:"var",c:"CAUST_BRIGHT",b:["0.5"]},{a:"include",o:"procedural.glslf"},{a:"include",o:"math.glslv"},{a:"define",c:"CAUSTICS_VIEW_DISTANCE",b:["100.0"]},{a:"txt",b:"void bt ( inout vec3 aG , float ke , float eK , vec4 bs , vec3 P , vec3 kf , vec3 kg , vec4 kh , vec3 bd , float bp ) { if ( bp > CAUSTICS_VIEW_DISTANCE ) return ; vec3 ki = bd + P ; ki . xz = 10.0 * sin ( 0.1 * ki . xz ) ; vec3 kk = O ( kj ( kh ) , ki ) ; vec2 bE = kk . xz ; vec3 kl = kf ; float km = max ( dot ( P , kl ) , 0.0 ) ; float kn = 0.025 ; vec2 ko = CAUST_SPEED * eK ; bE . s += 0.25 * sin ( dot ( bd + eK , vec3 ( 1.0 ) ) ) ; bE . t += 0.35 * ( - sin ( dot ( bd - eK , vec3 ( - 0.7 ) ) ) ) ; bE . st += 0.15 * cos ( 4.0 * ke - ko . x ) + 1.5 * sin ( ke - 0.3 * ko . y ) ; float hk = CAUST_SCALE * ( 1.0 + max ( 0.1 * ke , 0.0 ) ) ; vec3 kq = kp ( ( bE / hk ) , kn ) ; kq *= CAUST_BRIGHT ; kq *= kq ; float kr = min ( 0.25 * ke , - ke ) + 1.0 ; kr = max ( kr , 0.0 ) ; float ks = bs [ SUN_NUM ] * km ; float kt = max ( sign ( ke ) , 0.0 ) ; ks = ks + max ( 0.5 * sign ( - P . y ) * kt , 0.0 ) ; ks = min ( ks , 1.0 ) ; aG += kg * kq * kr * ks ; }".split(" ")}]}}]}]};
  1827. a["include/color_util.glslf"]={a:"grp",d:[{a:"cond",d:[{a:"ifndef",c:"COLOR_UTIL_GLSLF",h:{a:"grp",d:[{a:"define",c:"COLOR_UTIL_GLSLF",b:[""]},{a:"define",c:"PREMULTIPLY_ALPHA",b:["1"]},{a:"var",c:"SRGB",b:["SRGB_NONE"]},{a:"include",o:"std.glsl"},{a:"txt",b:"void bY ( inout float aG ) {".split(" ")},{a:"cond",d:[{a:"if",g:["SRGB","SRGB_SIMPLE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"aG = pow ( aG , 2.2 ) ;".split(" ")}]}},{a:"elif",g:["SRGB","SRGB_PROPER",{a:"equal_expr",i:2}],h:{a:"grp",
  1828. d:[{a:"txt",b:"if ( aG <= 0.04045 ) aG = aG / 12.92 ; else aG = pow ( aG + 0.055 / 1.055 , 2.4 ) ;".split(" ")}]}}]},{a:"txt",b:"} void aM ( inout float aG ) {".split(" ")},{a:"cond",d:[{a:"if",g:["SRGB","SRGB_SIMPLE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"aG = pow ( aG , 2.2 ) ;".split(" ")}]}},{a:"elif",g:["SRGB","SRGB_PROPER",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"if ( aG <= 0.00031308 ) aG = aG * 12.92 ; else aG = 1.055 * pow ( aG , 1.0 / 2.4 ) - 0.055 ;".split(" ")}]}}]},{a:"txt",
  1829. b:"} void bY ( inout vec3 aG ) {".split(" ")},{a:"cond",d:[{a:"if",g:["SRGB","SRGB_SIMPLE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"aG = pow ( aG , vec3 ( 2.2 ) ) ;".split(" ")}]}},{a:"elif",g:["SRGB","SRGB_PROPER",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"bY ( aG . r ) ; bY ( aG . g ) ; bY ( aG . b ) ;".split(" ")}]}}]},{a:"txt",b:"} void aM ( inout vec3 aG ) {".split(" ")},{a:"cond",d:[{a:"if",g:["SRGB","SRGB_SIMPLE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"aG = pow ( aG , vec3 ( 1.0 / 2.2 ) ) ;".split(" ")}]}},
  1830. {a:"elif",g:["SRGB","SRGB_PROPER",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"aM ( aG . r ) ; aM ( aG . g ) ; aM ( aG . b ) ;".split(" ")}]}}]},{a:"txt",b:"} void aN ( inout vec3 aG , in float J ) {".split(" ")},{a:"cond",d:[{a:"if",g:["PREMULTIPLY_ALPHA"],h:{a:"grp",d:[{a:"txt",b:"aG = aG * J ;".split(" ")}]}}]},{a:"txt",b:"} float ft ( vec4 aG ) { vec3 ku = vec3 ( 0.299 , 0.587 , 0.114 ) ; float kv = dot ( aG . rgb , ku ) ; return kv ; }".split(" ")}]}}]}]};a["include/depth_fetch.glslf"]={a:"grp",
  1831. d:[{a:"cond",d:[{a:"ifndef",c:"DEPTH_FETCH_GLSLF",h:{a:"grp",d:[{a:"define",c:"DEPTH_FETCH_GLSLF",b:[""]},{a:"txt",b:"float fM ( in sampler2D kw , in vec2 fm , in vec2 kx ) { float fN = GLSL_TEXTURE ( kw , fm ) . r ; float dj = kx . x ; float ky = kx . y ; float kz = 2.0 * dj / ( dj + ky - ( 2.0 * fN - 1.0 ) * ( ky - dj ) ) ; return kz ; }".split(" ")}]}}]}]};a["include/dynamic_grass.glslv"]={a:"grp",d:[{a:"cond",d:[{a:"ifndef",c:"DYNAMIC_GRASS_GLSLV",h:{a:"grp",d:[{a:"define",c:"DYNAMIC_GRASS_GLSLV",
  1832. b:[""]},{a:"var",c:"PRECISION",b:["highp"]},{a:"var",c:"DYNAMIC_GRASS",b:["0"]},{a:"var",c:"BILLBOARD",b:["0"]},{a:"var",c:"GRASS_TEXTURE_SIZE",b:["1024.0"]},{a:"cond",d:[{a:"if",g:["DYNAMIC_GRASS"],h:{a:"grp",d:[{a:"include",o:"math.glslv"},{a:"include",o:"to_world.glslv"},{a:"txt",b:"vec2 kD ( vec3 N , float kA , vec2 kB ) { vec2 kC = vec2 ( ( N . x - kB . x ) / kA , ( N . y - kB . y ) / kA ) ; return fract ( kC ) ; } vec2 kE ( vec2 gl , float kA , vec2 kB ) { return vec2 ( gl . x * kA , gl . y * kA ) + kB ; } aj kF ( ) { return aj ( vec3 ( - 10000.0 ) , vec3 ( 0.0 ) , vec3 ( 0.0 ) , vec3 ( 0.0 ) , vec3 ( 0.0 ) , vec3 ( 0.0 ) , vec3 ( 0.0 ) ) ; }".split(" ")},
  1833. {a:"cond",d:[{a:"if",g:["GLSL3"],h:{a:"grp",d:[{a:"txt",b:"vec4 kP ( sampler2D kG , vec2 kH ) { float kI = 1.0 / GRASS_TEXTURE_SIZE ; vec4 kJ = GLSL_TEXTURE ( kG , kH ) ; vec4 kK = GLSL_TEXTURE ( kG , kH + vec2 ( kI , 0.0 ) ) ; vec4 kL = GLSL_TEXTURE ( kG , kH + vec2 ( 0.0 , kI ) ) ; vec4 kM = GLSL_TEXTURE ( kG , kH + vec2 ( kI , kI ) ) ; float a = fract ( kH . x * GRASS_TEXTURE_SIZE ) ; vec4 kN = mix ( kJ , kK , a ) ; vec4 kO = mix ( kL , kM , a ) ; float b = fract ( kH . y * GRASS_TEXTURE_SIZE ) ; return mix ( kN , kO , b ) ; }".split(" ")}]}}]},
  1834. {a:"txt",b:"aj aP ( vec3 N , vec3 Q , vec3 kQ , vec3 R , vec3 P , vec3 ac , PRECISION sampler2D kR , sampler2D kS , vec3 kT , float kU , vec3 kV , vec4 kW , mat3 M ) { vec3 kX = O ( kW , vec3 ( 0.0 , 0.0 , - 1.0 ) ) ; float kY = - kX . x ; float kZ = kX . y ; vec2 kB = vec2 ( kV . x - kU * ( 1.0 + kY ) / 2.0 , kV . y - kU * ( 1.0 - kZ ) / 2.0 ) ; vec2 k_ = kD ( ac , kU , kB ) ; float la = kU / 2.0 ; vec2 lb = abs ( kE ( k_ - vec2 ( 0.5 ) , kU , vec2 ( 0.0 ) ) ) ; float lc = la * ( 1.0 + sqrt ( 2.0 ) ) / 2.0 ; if ( length ( lb ) > lc ) return kF ( ) ; float ld = kU / kT . z ; vec2 le = ( k_ - vec2 ( 0.5 ) ) * ld + vec2 ( 0.5 ) ; vec3 lf = kX * ( kU / kT . z - 1.0 ) / 2.0 ; le . x += lf . x ; le . y += lf . y ; vec4 lg = GLSL_TEXTURE ( kS , le ) ; float hk = lg . r ; if ( hk < u_scale_threshold ) return kF ( ) ; float lh = kT . y - kT . x ;".split(" ")},
  1835. {a:"cond",d:[{a:"if",g:["GLSL3"],h:{a:"grp",d:[{a:"txt",b:"float bN = kT . y - ( kP ( kR , le ) ) . r * lh ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"float bN = kT . y - ( GLSL_TEXTURE ( kR , le ) ) . r * lh ;".split(" ")}]}}]},{a:"txt",b:"vec2 li = N . xy - ac . xy ; ac . xy = kE ( k_ , kU , kB ) ; ac . z = bN ; N . xy = ac . xy + li ; N . z *= hk ; N . z += bN ; vec3 aG = lg . gba ;".split(" ")},{a:"cond",d:[{a:"if",g:["BILLBOARD"],h:{a:"grp",d:[{a:"txt",b:"N -= ac ; mat3 lj = ah ( kV , ac , M ) ; aj al = ak ( N , ac , Q , kQ , R , P , lj ) ; al . ac = ac ; al . aG = aG ; return lk ( al ) ;".split(" ")}]}},
  1836. {a:"else",h:{a:"grp",d:[{a:"txt",b:"return lk ( aj ( N , ac , Q , kQ , R , P , aG ) ) ;".split(" ")}]}}]},{a:"txt",b:["}"]}]}}]}]}}]}]};a["include/environment.glslf"]={a:"grp",d:[{a:"cond",d:[{a:"ifndef",c:"ENVIRONMENT_GLSLF",h:{a:"grp",d:[{a:"define",c:"ENVIRONMENT_GLSLF",b:[""]},{a:"var",c:"USE_ENVIRONMENT_LIGHT",b:["0"]},{a:"var",c:"SKY_COLOR",b:["0"]},{a:"var",c:"SKY_TEXTURE",b:["0"]},{a:"txt",b:"vec3 ce ( vec3 P ) {".split(" ")},{a:"cond",d:[{a:"if",g:["USE_ENVIRONMENT_LIGHT"],h:{a:"grp",d:[{a:"cond",
  1837. d:[{a:"if",g:["SKY_TEXTURE"],h:{a:"grp",d:[{a:"txt",b:"return GLSL_TEXTURE_CUBE ( u_sky_texture , P ) . rgb ;".split(" ")}]}},{a:"elif",g:["SKY_COLOR"],h:{a:"grp",d:[{a:"txt",b:"float ll = 0.5 * P . z + 0.5 ; return mix ( u_horizon_color , u_zenith_color , ll ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"return vec3 ( 1.0 ) ;".split(" ")}]}}]}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"return vec3 ( 0.0 ) ;".split(" ")}]}}]},{a:"txt",b:["}"]}]}}]}]};a["include/fog.glslf"]={a:"grp",d:[{a:"cond",
  1838. d:[{a:"ifndef",c:"FOG_GLSLF",h:{a:"grp",d:[{a:"define",c:"FOG_GLSLF",b:[""]},{a:"var",c:"USE_FOG",b:["0"]},{a:"var",c:"WATER_EFFECTS",b:["0"]},{a:"var",c:"FOG_TYPE",b:["QUADRATIC"]},{a:"var",c:"PROCEDURAL_FOG",b:["0"]},{a:"include",o:"std.glsl"},{a:"include",o:"color_util.glslf"},{a:"cond",d:[{a:"if",g:["USE_FOG"],h:{a:"grp",d:[{a:"txt",b:"void lq ( inout vec3 aG , in float lm , in float bN , in vec4 ln ) { float lo = clamp ( ( lm - u_fog_params . z ) / u_fog_params . y , 0.0 , 1.0 ) ;".split(" ")},
  1839. {a:"cond",d:[{a:"if",g:["FOG_TYPE","QUADRATIC",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["lo","*=","lo",";"]}]}},{a:"elif",g:["FOG_TYPE","LINEAR",{a:"equal_expr",i:2}],h:{a:"grp",d:[]}},{a:"elif",g:["FOG_TYPE","INVERSE_QUADRATIC",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"lo = sqrt ( lo ) ;".split(" ")}]}}]},{a:"txt",b:"if ( u_fog_params . w > 0.0 ) { if ( bN > u_fog_params . w ) lo = 0.0 ; else { float lp = ( u_fog_params . w - max ( bN , 0.0 ) ) / u_fog_params . w ; lo *= lp * lp ; } } ln . a = 1.0 - ( 1.0 - lo ) * ( 1.0 - u_fog_params . x ) ; aG = mix ( aG , ln . rgb , ln . a ) ; }".split(" ")}]}}]},
  1840. {a:"cond",d:[{a:"if",g:["PROCEDURAL_FOG"],h:{a:"grp",d:[{a:"txt",b:"vec3 lv ( in mat4 lr , in vec3 C ) { vec3 ls = mix ( lr [ 0 ] . rgb , lr [ 1 ] . rgb , max ( sign ( C . x ) , 0.0 ) ) ; vec3 lt = mix ( lr [ 2 ] . rgb , lr [ 3 ] . rgb , max ( sign ( C . z ) , 0.0 ) ) ; vec3 lu = vec3 ( lr [ 0 ] . a , lr [ 1 ] . a , lr [ 2 ] . a ) ; vec3 aG = mix ( ls , lt , abs ( C . z ) ) ; aG = mix ( aG , lu , abs ( C . y ) ) ; bY ( aG ) ; return aG ; }".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["WATER_EFFECTS"],
  1841. h:{a:"grp",d:[{a:"txt",b:"void lx ( inout float lw ) { lw -= 0.5 ; lw = 4.0 * ( lw * lw * lw ) + 0.5 ; } void lD ( inout vec3 aG , in float lm , in vec3 C , in float dO , in vec4 ly , in float eB ) { float lz = max ( C . z , 0.0 ) ; float lA = max ( lm - max ( dO / lz , 0.0 ) , 0.0 ) ; float lB = ly . w * lA ; vec3 dP = vec3 ( 0.0 , 0.02 , 0.05 ) ; vec3 lC = ly . rgb ; lB = min ( lB , 1.0 ) ; lx ( lB ) ; lB *= clamp ( 2.0 - eB , 0.0 , 1.0 ) ; vec3 dQ = mix ( lC , dP , min ( lz , 1.0 ) ) ; dO = clamp ( - dO * 0.03 , 0.0 , 0.8 ) ; dQ *= 1.0 - dO ; aG = mix ( aG , dQ , lB ) ; }".split(" ")}]}}]},
  1842. {a:"txt",b:"void bu ( inout vec3 aG , float lm , vec3 C , float bq ) {".split(" ")},{a:"cond",d:[{a:"if",g:["USE_FOG"],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["PROCEDURAL_FOG"],h:{a:"grp",d:[{a:"txt",b:"vec3 lr = lv ( u_cube_fog , C ) ; vec4 dQ = vec4 ( lr , u_fog_color_density . a ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:["vec4","dQ","=","u_fog_color_density",";"]}]}}]},{a:"txt",b:"lq ( aG , lm , h . z , dQ ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["WATER_EFFECTS"],h:{a:"grp",d:[{a:"txt",
  1843. b:"lD ( aG , lm , C , u_cam_water_depth , u_underwater_fog_color_density , bq ) ;".split(" ")}]}}]},{a:"txt",b:["}"]}]}}]}]};a["include/fxaa.glslf"]={a:"grp",d:[{a:"cond",d:[{a:"ifndef",c:"FXAA_GLSLF",h:{a:"grp",d:[{a:"define",c:"FXAA_GLSLF",b:[""]},{a:"var",c:"FXAA_BLEND4WEB",b:["1"]},{a:"var",c:"FXAA_QUALITY_P12",b:["0.0"]},{a:"cond",d:[{a:"ifndef",c:"FXAA_PS3",h:{a:"grp",d:[{a:"define",c:"FXAA_PS3",b:["0"]}]}}]},{a:"cond",d:[{a:"ifndef",c:"FXAA_360",h:{a:"grp",d:[{a:"define",c:"FXAA_360",b:["0"]}]}}]},
  1844. {a:"cond",d:[{a:"ifndef",c:"FXAA_360_OPT",h:{a:"grp",d:[{a:"define",c:"FXAA_360_OPT",b:["0"]}]}}]},{a:"cond",d:[{a:"ifndef",c:"FXAA_PC",h:{a:"grp",d:[{a:"define",c:"FXAA_PC",b:["0"]}]}}]},{a:"cond",d:[{a:"ifndef",c:"FXAA_PC_CONSOLE",h:{a:"grp",d:[{a:"define",c:"FXAA_PC_CONSOLE",b:["0"]}]}}]},{a:"cond",d:[{a:"ifndef",c:"FXAA_GLSL_120",h:{a:"grp",d:[{a:"define",c:"FXAA_GLSL_120",b:["0"]}]}}]},{a:"cond",d:[{a:"ifndef",c:"FXAA_GLSL_130",h:{a:"grp",d:[{a:"define",c:"FXAA_GLSL_130",b:["0"]}]}}]},{a:"cond",
  1845. d:[{a:"ifndef",c:"FXAA_HLSL_3",h:{a:"grp",d:[{a:"define",c:"FXAA_HLSL_3",b:["0"]}]}}]},{a:"cond",d:[{a:"ifndef",c:"FXAA_HLSL_4",h:{a:"grp",d:[{a:"define",c:"FXAA_HLSL_4",b:["0"]}]}}]},{a:"cond",d:[{a:"ifndef",c:"FXAA_HLSL_5",h:{a:"grp",d:[{a:"define",c:"FXAA_HLSL_5",b:["0"]}]}}]},{a:"cond",d:[{a:"ifndef",c:"FXAA_GREEN_AS_LUMA",h:{a:"grp",d:[{a:"define",c:"FXAA_GREEN_AS_LUMA",b:["0"]}]}}]},{a:"cond",d:[{a:"ifndef",c:"FXAA_EARLY_EXIT",h:{a:"grp",d:[{a:"define",c:"FXAA_EARLY_EXIT",b:["1"]}]}}]},{a:"cond",
  1846. d:[{a:"ifndef",c:"FXAA_DISCARD",h:{a:"grp",d:[{a:"define",c:"FXAA_DISCARD",b:["0"]}]}}]},{a:"cond",d:[{a:"ifndef",c:"FXAA_FAST_PIXEL_OFFSET",h:{a:"grp",d:[{a:"cond",d:[{a:"ifdef",c:"GL_EXT_gpu_shader4",h:{a:"grp",d:[{a:"define",c:"FXAA_FAST_PIXEL_OFFSET",b:["1"]}]}}]},{a:"cond",d:[{a:"ifdef",c:"GL_NV_gpu_shader5",h:{a:"grp",d:[{a:"define",c:"FXAA_FAST_PIXEL_OFFSET",b:["1"]}]}}]},{a:"cond",d:[{a:"ifdef",c:"GL_ARB_gpu_shader5",h:{a:"grp",d:[{a:"define",c:"FXAA_FAST_PIXEL_OFFSET",b:["1"]}]}}]},{a:"cond",
  1847. d:[{a:"ifndef",c:"FXAA_FAST_PIXEL_OFFSET",h:{a:"grp",d:[{a:"define",c:"FXAA_FAST_PIXEL_OFFSET",b:["0"]}]}}]}]}}]},{a:"cond",d:[{a:"ifndef",c:"FXAA_GATHER4_ALPHA",h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["FXAA_HLSL_5",1,{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"define",c:"FXAA_GATHER4_ALPHA",b:["1"]}]}}]},{a:"cond",d:[{a:"ifdef",c:"GL_ARB_gpu_shader5",h:{a:"grp",d:[{a:"define",c:"FXAA_GATHER4_ALPHA",b:["1"]}]}}]},{a:"cond",d:[{a:"ifdef",c:"GL_NV_gpu_shader5",h:{a:"grp",d:[{a:"define",c:"FXAA_GATHER4_ALPHA",
  1848. b:["1"]}]}}]},{a:"cond",d:[{a:"ifndef",c:"FXAA_GATHER4_ALPHA",h:{a:"grp",d:[{a:"define",c:"FXAA_GATHER4_ALPHA",b:["0"]}]}}]}]}}]},{a:"cond",d:[{a:"ifndef",c:"FXAA_CONSOLE_PS3_EDGE_SHARPNESS",h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:[1],h:{a:"grp",d:[{a:"define",c:"FXAA_CONSOLE_PS3_EDGE_SHARPNESS",b:["8.0"]}]}}]},{a:"cond",d:[{a:"if",g:[0],h:{a:"grp",d:[{a:"define",c:"FXAA_CONSOLE_PS3_EDGE_SHARPNESS",b:["4.0"]}]}}]},{a:"cond",d:[{a:"if",g:[0],h:{a:"grp",d:[{a:"define",c:"FXAA_CONSOLE_PS3_EDGE_SHARPNESS",
  1849. b:["2.0"]}]}}]}]}}]},{a:"cond",d:[{a:"ifndef",c:"FXAA_CONSOLE_PS3_EDGE_THRESHOLD",h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:[1],h:{a:"grp",d:[{a:"define",c:"FXAA_CONSOLE_PS3_EDGE_THRESHOLD",b:["0.125"]}]}},{a:"else",h:{a:"grp",d:[{a:"define",c:"FXAA_CONSOLE_PS3_EDGE_THRESHOLD",b:["0.25"]}]}}]}]}}]},{a:"cond",d:[{a:"ifndef",c:"FXAA_QUALITY_PRESET",h:{a:"grp",d:[{a:"define",c:"FXAA_QUALITY_PRESET",b:["12"]}]}}]},{a:"cond",d:[{a:"if",g:["FXAA_QUALITY_PRESET",10,{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"define",
  1850. c:"FXAA_QUALITY_PS",b:["3"]},{a:"define",c:"FXAA_QUALITY_P0",b:["1.5"]},{a:"define",c:"FXAA_QUALITY_P1",b:["3.0"]},{a:"define",c:"FXAA_QUALITY_P2",b:["12.0"]}]}}]},{a:"cond",d:[{a:"if",g:["FXAA_QUALITY_PRESET",11,{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"define",c:"FXAA_QUALITY_PS",b:["4"]},{a:"define",c:"FXAA_QUALITY_P0",b:["1.0"]},{a:"define",c:"FXAA_QUALITY_P1",b:["1.5"]},{a:"define",c:"FXAA_QUALITY_P2",b:["3.0"]},{a:"define",c:"FXAA_QUALITY_P3",b:["12.0"]}]}}]},{a:"cond",d:[{a:"if",g:["FXAA_QUALITY_PRESET",
  1851. 12,{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"define",c:"FXAA_QUALITY_PS",b:["5"]},{a:"define",c:"FXAA_QUALITY_P0",b:["1.0"]},{a:"define",c:"FXAA_QUALITY_P1",b:["1.5"]},{a:"define",c:"FXAA_QUALITY_P2",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P3",b:["4.0"]},{a:"define",c:"FXAA_QUALITY_P4",b:["12.0"]}]}}]},{a:"cond",d:[{a:"if",g:["FXAA_QUALITY_PRESET",13,{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"define",c:"FXAA_QUALITY_PS",b:["6"]},{a:"define",c:"FXAA_QUALITY_P0",b:["1.0"]},{a:"define",c:"FXAA_QUALITY_P1",
  1852. b:["1.5"]},{a:"define",c:"FXAA_QUALITY_P2",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P3",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P4",b:["4.0"]},{a:"define",c:"FXAA_QUALITY_P5",b:["12.0"]}]}}]},{a:"cond",d:[{a:"if",g:["FXAA_QUALITY_PRESET",14,{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"define",c:"FXAA_QUALITY_PS",b:["7"]},{a:"define",c:"FXAA_QUALITY_P0",b:["1.0"]},{a:"define",c:"FXAA_QUALITY_P1",b:["1.5"]},{a:"define",c:"FXAA_QUALITY_P2",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P3",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P4",
  1853. b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P5",b:["4.0"]},{a:"define",c:"FXAA_QUALITY_P6",b:["12.0"]}]}}]},{a:"cond",d:[{a:"if",g:["FXAA_QUALITY_PRESET",15,{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"define",c:"FXAA_QUALITY_PS",b:["8"]},{a:"define",c:"FXAA_QUALITY_P0",b:["1.0"]},{a:"define",c:"FXAA_QUALITY_P1",b:["1.5"]},{a:"define",c:"FXAA_QUALITY_P2",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P3",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P4",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P5",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P6",
  1854. b:["4.0"]},{a:"define",c:"FXAA_QUALITY_P7",b:["12.0"]}]}}]},{a:"cond",d:[{a:"if",g:["FXAA_QUALITY_PRESET",20,{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"define",c:"FXAA_QUALITY_PS",b:["3"]},{a:"define",c:"FXAA_QUALITY_P0",b:["1.5"]},{a:"define",c:"FXAA_QUALITY_P1",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P2",b:["8.0"]}]}}]},{a:"cond",d:[{a:"if",g:["FXAA_QUALITY_PRESET",21,{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"define",c:"FXAA_QUALITY_PS",b:["4"]},{a:"define",c:"FXAA_QUALITY_P0",b:["1.0"]},{a:"define",
  1855. c:"FXAA_QUALITY_P1",b:["1.5"]},{a:"define",c:"FXAA_QUALITY_P2",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P3",b:["8.0"]}]}}]},{a:"cond",d:[{a:"if",g:["FXAA_QUALITY_PRESET",22,{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"define",c:"FXAA_QUALITY_PS",b:["5"]},{a:"define",c:"FXAA_QUALITY_P0",b:["1.0"]},{a:"define",c:"FXAA_QUALITY_P1",b:["1.5"]},{a:"define",c:"FXAA_QUALITY_P2",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P3",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P4",b:["8.0"]}]}}]},{a:"cond",d:[{a:"if",g:["FXAA_QUALITY_PRESET",
  1856. 23,{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"define",c:"FXAA_QUALITY_PS",b:["6"]},{a:"define",c:"FXAA_QUALITY_P0",b:["1.0"]},{a:"define",c:"FXAA_QUALITY_P1",b:["1.5"]},{a:"define",c:"FXAA_QUALITY_P2",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P3",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P4",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P5",b:["8.0"]}]}}]},{a:"cond",d:[{a:"if",g:["FXAA_QUALITY_PRESET",24,{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"define",c:"FXAA_QUALITY_PS",b:["7"]},{a:"define",c:"FXAA_QUALITY_P0",
  1857. b:["1.0"]},{a:"define",c:"FXAA_QUALITY_P1",b:["1.5"]},{a:"define",c:"FXAA_QUALITY_P2",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P3",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P4",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P5",b:["3.0"]},{a:"define",c:"FXAA_QUALITY_P6",b:["8.0"]}]}}]},{a:"cond",d:[{a:"if",g:["FXAA_QUALITY_PRESET",25,{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"define",c:"FXAA_QUALITY_PS",b:["8"]},{a:"define",c:"FXAA_QUALITY_P0",b:["1.0"]},{a:"define",c:"FXAA_QUALITY_P1",b:["1.5"]},{a:"define",c:"FXAA_QUALITY_P2",
  1858. b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P3",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P4",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P5",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P6",b:["4.0"]},{a:"define",c:"FXAA_QUALITY_P7",b:["8.0"]}]}}]},{a:"cond",d:[{a:"if",g:["FXAA_QUALITY_PRESET",26,{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"define",c:"FXAA_QUALITY_PS",b:["9"]},{a:"define",c:"FXAA_QUALITY_P0",b:["1.0"]},{a:"define",c:"FXAA_QUALITY_P1",b:["1.5"]},{a:"define",c:"FXAA_QUALITY_P2",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P3",
  1859. b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P4",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P5",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P6",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P7",b:["4.0"]},{a:"define",c:"FXAA_QUALITY_P8",b:["8.0"]}]}}]},{a:"cond",d:[{a:"if",g:["FXAA_QUALITY_PRESET",27,{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"define",c:"FXAA_QUALITY_PS",b:["10"]},{a:"define",c:"FXAA_QUALITY_P0",b:["1.0"]},{a:"define",c:"FXAA_QUALITY_P1",b:["1.5"]},{a:"define",c:"FXAA_QUALITY_P2",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P3",
  1860. b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P4",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P5",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P6",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P7",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P8",b:["4.0"]},{a:"define",c:"FXAA_QUALITY_P9",b:["8.0"]}]}}]},{a:"cond",d:[{a:"if",g:["FXAA_QUALITY_PRESET",28,{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"define",c:"FXAA_QUALITY_PS",b:["11"]},{a:"define",c:"FXAA_QUALITY_P0",b:["1.0"]},{a:"define",c:"FXAA_QUALITY_P1",b:["1.5"]},{a:"define",c:"FXAA_QUALITY_P2",
  1861. b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P3",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P4",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P5",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P6",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P7",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P8",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P9",b:["4.0"]},{a:"define",c:"FXAA_QUALITY_P10",b:["8.0"]}]}}]},{a:"cond",d:[{a:"if",g:["FXAA_QUALITY_PRESET",29,{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"define",c:"FXAA_QUALITY_PS",b:["12"]},{a:"define",c:"FXAA_QUALITY_P0",
  1862. b:["1.0"]},{a:"define",c:"FXAA_QUALITY_P1",b:["1.5"]},{a:"define",c:"FXAA_QUALITY_P2",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P3",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P4",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P5",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P6",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P7",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P8",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P9",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P10",b:["4.0"]},{a:"define",c:"FXAA_QUALITY_P11",b:["8.0"]}]}}]},{a:"cond",
  1863. d:[{a:"if",g:["FXAA_QUALITY_PRESET",39,{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"define",c:"FXAA_QUALITY_PS",b:["12"]},{a:"define",c:"FXAA_QUALITY_P0",b:["1.0"]},{a:"define",c:"FXAA_QUALITY_P1",b:["1.0"]},{a:"define",c:"FXAA_QUALITY_P2",b:["1.0"]},{a:"define",c:"FXAA_QUALITY_P3",b:["1.0"]},{a:"define",c:"FXAA_QUALITY_P4",b:["1.0"]},{a:"define",c:"FXAA_QUALITY_P5",b:["1.5"]},{a:"define",c:"FXAA_QUALITY_P6",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P7",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P8",b:["2.0"]},
  1864. {a:"define",c:"FXAA_QUALITY_P9",b:["2.0"]},{a:"define",c:"FXAA_QUALITY_P10",b:["4.0"]},{a:"define",c:"FXAA_QUALITY_P11",b:["8.0"]}]}}]},{a:"include",o:"color_util.glslf"},{a:"txt",b:"float lE ( float x ) { return clamp ( x , 0.0 , 1.0 ) ; }".split(" ")},{a:"cond",d:[{a:"if",g:["FXAA_BLEND4WEB",1,{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec4 lF ( sampler2D t , vec2 p ) { return GLSL_TEXTURE ( t , p ) ; } vec4 lH ( sampler2D t , vec2 p , vec2 lG , vec2 r ) { return GLSL_TEXTURE ( t , p + ( lG * r ) ) ; }".split(" ")}]}}]},
  1865. {a:"txt",b:"vec4 fI ( vec2 eD , sampler2D hq , vec2 lI , float lJ , float lK , float lL ) { vec2 lM ; lM . x = eD . x ; lM . y = eD . y ;".split(" ")},{a:"cond",d:[{a:"if",g:["FXAA_GATHER4_ALPHA",1,{a:"equal_expr",i:2}],h:{a:"grp",d:[]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"vec4 lN = lF ( hq , lM ) ; float fu = ft ( lN ) ; float lO = ft ( lH ( hq , lM , vec2 ( 0 , 1 ) , lI . xy ) ) ; float lP = ft ( lH ( hq , lM , vec2 ( 1 , 0 ) , lI . xy ) ) ; float lQ = ft ( lH ( hq , lM , vec2 ( 0 , - 1 ) , lI . xy ) ) ; float lR = ft ( lH ( hq , lM , vec2 ( - 1 , 0 ) , lI . xy ) ) ;".split(" ")}]}}]},
  1866. {a:"txt",b:"float lS = max ( lO , fu ) ; float lT = min ( lO , fu ) ; float lU = max ( lP , lS ) ; float lV = min ( lP , lT ) ; float lW = max ( lQ , lR ) ; float lX = min ( lQ , lR ) ; float lY = max ( lW , lU ) ; float lZ = min ( lX , lV ) ; float l_ = lY * lK ; float ma = lY - lZ ; float mb = max ( lL , l_ ) ; bool mc = ma < mb ; if ( mc ) return lN ;".split(" ")},{a:"cond",d:[{a:"if",g:["FXAA_GATHER4_ALPHA",0,{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"float fv = ft ( lH ( hq , lM , vec2 ( - 1 , - 1 ) , lI . xy ) ) ; float fy = ft ( lH ( hq , lM , vec2 ( 1 , 1 ) , lI . xy ) ) ; float fw = ft ( lH ( hq , lM , vec2 ( 1 , - 1 ) , lI . xy ) ) ; float fx = ft ( lH ( hq , lM , vec2 ( - 1 , 1 ) , lI . xy ) ) ;".split(" ")}]}},
  1867. {a:"else",h:{a:"grp",d:[]}}]},{a:"txt",b:"float md = lQ + lO ; float me = lR + lP ; float mf = 1.0 / ma ; float mg = md + me ; float mh = ( - 2.0 * fu ) + md ; float mi = ( - 2.0 * fu ) + me ; float mj = fw + fy ; float mk = fv + fw ; float ml = ( - 2.0 * lP ) + mj ; float mm = ( - 2.0 * lQ ) + mk ; float mn = fv + fx ; float mo = fx + fy ; float mp = ( abs ( mh ) * 2.0 ) + abs ( ml ) ; float mq = ( abs ( mi ) * 2.0 ) + abs ( mm ) ; float mr = ( - 2.0 * lR ) + mn ; float ms = ( - 2.0 * lO ) + mo ; float mt = abs ( mr ) + mp ; float mu = abs ( ms ) + mq ; float mv = mn + mj ; float mw = lI . x ; bool mx = mt >= mu ; float my = mg * 2.0 + mv ; if ( ! mx ) lQ = lR ; if ( ! mx ) lO = lP ; if ( mx ) mw = lI . y ; float mz = ( my * ( 1.0 / 12.0 ) ) - fu ; float mA = lQ - fu ; float mB = lO - fu ; float mC = lQ + fu ; float mD = lO + fu ; bool mE = abs ( mA ) >= abs ( mB ) ; float mF = max ( abs ( mA ) , abs ( mB ) ) ; if ( mE ) mw = - mw ; float mG = lE ( abs ( mz ) * mf ) ; vec2 mH ; mH . x = lM . x ; mH . y = lM . y ; vec2 mI ; mI . x = ( ! mx ) ? 0.0 : lI . x ; mI . y = ( mx ) ? 0.0 : lI . y ; if ( ! mx ) mH . x += mw * 0.5 ; if ( mx ) mH . y += mw * 0.5 ; vec2 mJ ; mJ . x = mH . x - mI . x * FXAA_QUALITY_P0 ; mJ . y = mH . y - mI . y * FXAA_QUALITY_P0 ; vec2 mK ; mK . x = mH . x + mI . x * FXAA_QUALITY_P0 ; mK . y = mH . y + mI . y * FXAA_QUALITY_P0 ; float mL = ( ( - 2.0 ) * mG ) + 3.0 ; float mM = ft ( lF ( hq , mJ ) ) ; float mN = mG * mG ; float mO = ft ( lF ( hq , mK ) ) ; if ( ! mE ) mC = mD ; float mP = mF * 1.0 / 4.0 ; float mQ = fu - mC * 0.5 ; float mR = mL * mN ; bool mS = mQ < 0.0 ; mM -= mC * 0.5 ; mO -= mC * 0.5 ; bool mT = abs ( mM ) >= mP ; bool mU = abs ( mO ) >= mP ; if ( ! mT ) mJ . x -= mI . x * FXAA_QUALITY_P1 ; if ( ! mT ) mJ . y -= mI . y * FXAA_QUALITY_P1 ; bool mV = ( ! mT ) || ( ! mU ) ; if ( ! mU ) mK . x += mI . x * FXAA_QUALITY_P1 ; if ( ! mU ) mK . y += mI . y * FXAA_QUALITY_P1 ; if ( mV ) { if ( ! mT ) mM = ft ( lF ( hq , mJ . xy ) ) ; if ( ! mU ) mO = ft ( lF ( hq , mK . xy ) ) ; if ( ! mT ) mM = mM - mC * 0.5 ; if ( ! mU ) mO = mO - mC * 0.5 ; mT = abs ( mM ) >= mP ; mU = abs ( mO ) >= mP ; if ( ! mT ) mJ . x -= mI . x * FXAA_QUALITY_P2 ; if ( ! mT ) mJ . y -= mI . y * FXAA_QUALITY_P2 ; mV = ( ! mT ) || ( ! mU ) ; if ( ! mU ) mK . x += mI . x * FXAA_QUALITY_P2 ; if ( ! mU ) mK . y += mI . y * FXAA_QUALITY_P2 ;".split(" ")},
  1868. {a:"cond",d:[{a:"if",g:["FXAA_QUALITY_PS",3,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"if ( mV ) { if ( ! mT ) mM = ft ( lF ( hq , mJ . xy ) ) ; if ( ! mU ) mO = ft ( lF ( hq , mK . xy ) ) ; if ( ! mT ) mM = mM - mC * 0.5 ; if ( ! mU ) mO = mO - mC * 0.5 ; mT = abs ( mM ) >= mP ; mU = abs ( mO ) >= mP ; if ( ! mT ) mJ . x -= mI . x * FXAA_QUALITY_P3 ; if ( ! mT ) mJ . y -= mI . y * FXAA_QUALITY_P3 ; mV = ( ! mT ) || ( ! mU ) ; if ( ! mU ) mK . x += mI . x * FXAA_QUALITY_P3 ; if ( ! mU ) mK . y += mI . y * FXAA_QUALITY_P3 ;".split(" ")},
  1869. {a:"cond",d:[{a:"if",g:["FXAA_QUALITY_PS",4,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"if ( mV ) { if ( ! mT ) mM = ft ( lF ( hq , mJ . xy ) ) ; if ( ! mU ) mO = ft ( lF ( hq , mK . xy ) ) ; if ( ! mT ) mM = mM - mC * 0.5 ; if ( ! mU ) mO = mO - mC * 0.5 ; mT = abs ( mM ) >= mP ; mU = abs ( mO ) >= mP ; if ( ! mT ) mJ . x -= mI . x * FXAA_QUALITY_P4 ; if ( ! mT ) mJ . y -= mI . y * FXAA_QUALITY_P4 ; mV = ( ! mT ) || ( ! mU ) ; if ( ! mU ) mK . x += mI . x * FXAA_QUALITY_P4 ; if ( ! mU ) mK . y += mI . y * FXAA_QUALITY_P4 ;".split(" ")},
  1870. {a:"cond",d:[{a:"if",g:["FXAA_QUALITY_PS",5,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"if ( mV ) { if ( ! mT ) mM = ft ( lF ( hq , mJ . xy ) ) ; if ( ! mU ) mO = ft ( lF ( hq , mK . xy ) ) ; if ( ! mT ) mM = mM - mC * 0.5 ; if ( ! mU ) mO = mO - mC * 0.5 ; mT = abs ( mM ) >= mP ; mU = abs ( mO ) >= mP ; if ( ! mT ) mJ . x -= mI . x * FXAA_QUALITY_P5 ; if ( ! mT ) mJ . y -= mI . y * FXAA_QUALITY_P5 ; mV = ( ! mT ) || ( ! mU ) ; if ( ! mU ) mK . x += mI . x * FXAA_QUALITY_P5 ; if ( ! mU ) mK . y += mI . y * FXAA_QUALITY_P5 ;".split(" ")},
  1871. {a:"cond",d:[{a:"if",g:["FXAA_QUALITY_PS",6,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"if ( mV ) { if ( ! mT ) mM = ft ( lF ( hq , mJ . xy ) ) ; if ( ! mU ) mO = ft ( lF ( hq , mK . xy ) ) ; if ( ! mT ) mM = mM - mC * 0.5 ; if ( ! mU ) mO = mO - mC * 0.5 ; mT = abs ( mM ) >= mP ; mU = abs ( mO ) >= mP ; if ( ! mT ) mJ . x -= mI . x * FXAA_QUALITY_P6 ; if ( ! mT ) mJ . y -= mI . y * FXAA_QUALITY_P6 ; mV = ( ! mT ) || ( ! mU ) ; if ( ! mU ) mK . x += mI . x * FXAA_QUALITY_P6 ; if ( ! mU ) mK . y += mI . y * FXAA_QUALITY_P6 ;".split(" ")},
  1872. {a:"cond",d:[{a:"if",g:["FXAA_QUALITY_PS",7,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"if ( mV ) { if ( ! mT ) mM = ft ( lF ( hq , mJ . xy ) ) ; if ( ! mU ) mO = ft ( lF ( hq , mK . xy ) ) ; if ( ! mT ) mM = mM - mC * 0.5 ; if ( ! mU ) mO = mO - mC * 0.5 ; mT = abs ( mM ) >= mP ; mU = abs ( mO ) >= mP ; if ( ! mT ) mJ . x -= mI . x * FXAA_QUALITY_P7 ; if ( ! mT ) mJ . y -= mI . y * FXAA_QUALITY_P7 ; mV = ( ! mT ) || ( ! mU ) ; if ( ! mU ) mK . x += mI . x * FXAA_QUALITY_P7 ; if ( ! mU ) mK . y += mI . y * FXAA_QUALITY_P7 ;".split(" ")},
  1873. {a:"cond",d:[{a:"if",g:["FXAA_QUALITY_PS",8,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"if ( mV ) { if ( ! mT ) mM = ft ( lF ( hq , mJ . xy ) ) ; if ( ! mU ) mO = ft ( lF ( hq , mK . xy ) ) ; if ( ! mT ) mM = mM - mC * 0.5 ; if ( ! mU ) mO = mO - mC * 0.5 ; mT = abs ( mM ) >= mP ; mU = abs ( mO ) >= mP ; if ( ! mT ) mJ . x -= mI . x * FXAA_QUALITY_P8 ; if ( ! mT ) mJ . y -= mI . y * FXAA_QUALITY_P8 ; mV = ( ! mT ) || ( ! mU ) ; if ( ! mU ) mK . x += mI . x * FXAA_QUALITY_P8 ; if ( ! mU ) mK . y += mI . y * FXAA_QUALITY_P8 ;".split(" ")},
  1874. {a:"cond",d:[{a:"if",g:["FXAA_QUALITY_PS",9,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"if ( mV ) { if ( ! mT ) mM = ft ( lF ( hq , mJ . xy ) ) ; if ( ! mU ) mO = ft ( lF ( hq , mK . xy ) ) ; if ( ! mT ) mM = mM - mC * 0.5 ; if ( ! mU ) mO = mO - mC * 0.5 ; mT = abs ( mM ) >= mP ; mU = abs ( mO ) >= mP ; if ( ! mT ) mJ . x -= mI . x * FXAA_QUALITY_P9 ; if ( ! mT ) mJ . y -= mI . y * FXAA_QUALITY_P9 ; mV = ( ! mT ) || ( ! mU ) ; if ( ! mU ) mK . x += mI . x * FXAA_QUALITY_P9 ; if ( ! mU ) mK . y += mI . y * FXAA_QUALITY_P9 ;".split(" ")},
  1875. {a:"cond",d:[{a:"if",g:["FXAA_QUALITY_PS",10,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"if ( mV ) { if ( ! mT ) mM = ft ( lF ( hq , mJ . xy ) ) ; if ( ! mU ) mO = ft ( lF ( hq , mK . xy ) ) ; if ( ! mT ) mM = mM - mC * 0.5 ; if ( ! mU ) mO = mO - mC * 0.5 ; mT = abs ( mM ) >= mP ; mU = abs ( mO ) >= mP ; if ( ! mT ) mJ . x -= mI . x * FXAA_QUALITY_P10 ; if ( ! mT ) mJ . y -= mI . y * FXAA_QUALITY_P10 ; mV = ( ! mT ) || ( ! mU ) ; if ( ! mU ) mK . x += mI . x * FXAA_QUALITY_P10 ; if ( ! mU ) mK . y += mI . y * FXAA_QUALITY_P10 ;".split(" ")},
  1876. {a:"cond",d:[{a:"if",g:["FXAA_QUALITY_PS",11,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"if ( mV ) { if ( ! mT ) mM = ft ( lF ( hq , mJ . xy ) ) ; if ( ! mU ) mO = ft ( lF ( hq , mK . xy ) ) ; if ( ! mT ) mM = mM - mC * 0.5 ; if ( ! mU ) mO = mO - mC * 0.5 ; mT = abs ( mM ) >= mP ; mU = abs ( mO ) >= mP ; if ( ! mT ) mJ . x -= mI . x * FXAA_QUALITY_P11 ; if ( ! mT ) mJ . y -= mI . y * FXAA_QUALITY_P11 ; mV = ( ! mT ) || ( ! mU ) ; if ( ! mU ) mK . x += mI . x * FXAA_QUALITY_P11 ; if ( ! mU ) mK . y += mI . y * FXAA_QUALITY_P11 ;".split(" ")},
  1877. {a:"cond",d:[{a:"if",g:["FXAA_QUALITY_PS",12,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"if ( mV ) { if ( ! mT ) mM = ft ( lF ( hq , mJ . xy ) ) ; if ( ! mU ) mO = ft ( lF ( hq , mK . xy ) ) ; if ( ! mT ) mM = mM - mC * 0.5 ; if ( ! mU ) mO = mO - mC * 0.5 ; mT = abs ( mM ) >= mP ; mU = abs ( mO ) >= mP ; if ( ! mT ) mJ . x -= mI . x * FXAA_QUALITY_P12 ; if ( ! mT ) mJ . y -= mI . y * FXAA_QUALITY_P12 ; mV = ( ! mT ) || ( ! mU ) ; if ( ! mU ) mK . x += mI . x * FXAA_QUALITY_P12 ; if ( ! mU ) mK . y += mI . y * FXAA_QUALITY_P12 ; }".split(" ")}]}}]},
  1878. {a:"txt",b:["}"]}]}}]},{a:"txt",b:["}"]}]}}]},{a:"txt",b:["}"]}]}}]},{a:"txt",b:["}"]}]}}]},{a:"txt",b:["}"]}]}}]},{a:"txt",b:["}"]}]}}]},{a:"txt",b:["}"]}]}}]},{a:"txt",b:["}"]}]}}]},{a:"txt",b:["}"]}]}}]},{a:"txt",b:"} float mW = lM . x - mJ . x ; float mX = mK . x - lM . x ; if ( ! mx ) mW = lM . y - mJ . y ; if ( ! mx ) mX = mK . y - lM . y ; bool mY = ( mM < 0.0 ) != mS ; float mZ = ( mX + mW ) ; bool m_ = ( mO < 0.0 ) != mS ; float na = 1.0 / mZ ; bool nb = mW < mX ; float nc = min ( mW , mX ) ; bool nd = nb ? mY : m_ ; float ne = mR * mR ; float nf = ( nc * ( - na ) ) + 0.5 ; float ng = ne * lJ ; float nh = nd ? nf : 0.0 ; float ni = max ( nh , ng ) ; if ( ! mx ) lM . x += ni * mw ; if ( mx ) lM . y += ni * mw ;".split(" ")},
  1879. {a:"cond",d:[{a:"if",g:["FXAA_DISCARD",1,{a:"equal_expr",i:2},"FXAA_BLEND4WEB",1,{a:"equal_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"return lF ( hq , lM ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"return vec4 ( lF ( hq , lM ) . xyz , fu ) ;".split(" ")}]}}]},{a:"txt",b:["}"]}]}}]}]};a["include/halo_color.glslf"]={a:"grp",d:[{a:"cond",d:[{a:"ifndef",c:"HALO_COLOR_GLSLF",h:{a:"grp",d:[{a:"define",c:"HALO_COLOR_GLSLF",b:[""]},{a:"var",c:"NUM_RINGS",b:["0"]},{a:"var",
  1880. c:"NUM_LINES",b:["0"]},{a:"var",c:"NUM_STARS",b:["0"]},{a:"var",c:"SKY_STARS",b:["0"]},{a:"var",c:"WAVES_HEIGHT",b:["1.0"]},{a:"var",c:"WATER_EFFECTS",b:["0"]},{a:"var",c:"DISABLE_FOG",b:["0"]},{a:"cond",d:[{a:"if",g:["NUM_RINGS","NUM_LINES",{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"const int nj = NUM_RINGS ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"const int nj = NUM_LINES ;".split(" ")}]}}]},{a:"txt",b:"float nk ( float x ) { return x - floor ( x * ( 1.0 / 0.01 ) ) * 0.01 ; }".split(" ")},
  1881. {a:"cond",d:[{a:"if",g:["NUM_RINGS"],h:{a:"grp",d:[{a:"txt",b:"void nr ( inout float nl , in float nm [ nj ] , in float nn ) { for ( int a = 0 ; a < NUM_RINGS ; a ++ ) { float no = 40.0 * nm [ a ] ; float np = 300.0 * ( nk ( no ) - 0.005 ) ; float nq = no ; float lo = abs ( nq * ( u_halo_size * np - nn ) ) ; nl += 1.0 - min ( lo , 1.0 ) ; } }".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["NUM_LINES"],h:{a:"grp",d:[{a:"txt",b:"void nw ( inout float ns , in float nm [ nj ] , in float aC ) { for ( int a = 0 ; a < NUM_LINES ; a ++ ) { float nt = nm [ a ] ; float nu = nt ; float nv = 1000.0 * ( nk ( nt ) - 0.005 ) ; float lo = 20.0 * abs ( nu * A . x + nv * A . y ) ; ns += 1.0 - min ( lo , 1.0 ) ; } ns *= aC ; }".split(" ")}]}}]},
  1882. {a:"txt",b:"void nA ( inout float aC , in vec2 bE ) { float nx , bm ; bm = atan ( bE . y , bE . x ) ; bm *= ( 1.0 + 0.25 * float ( NUM_STARS ) ) ; float ny = cos ( bm ) ; float nz = sin ( bm ) ; bm = ( ny * bE . x + nz * bE . y ) * ( ny * bE . y - nz * bE . x ) ; nx = abs ( bm ) ; if ( nx < 1.0 ) { nx = ( 0.01 * u_halo_size ) / ( nx ) ; aC *= sqrt ( min ( nx , 1.0 ) ) ; } } vec4 aV ( ) { float aC = ( A . x * A . x + A . y * A . y ) ; float nn = sqrt ( aC ) ; aC = max ( 1.0 - aC , 0.0 ) ; aC = pow ( aC , u_halo_hardness ) ; float J = u_diffuse_color . a ;".split(" ")},
  1883. {a:"cond",d:[{a:"if",g:["NUM_RINGS","NUM_LINES",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"float nm [ nj ] ; for ( int bQ = 0 ; bQ < nj ; bQ ++ ) { nm [ bQ ] = fract ( aU / float ( bQ + 1 ) ) - 1.0 ; }".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["NUM_RINGS"],h:{a:"grp",d:[{a:"txt",b:"float nl = 0.0 ; nr ( nl , nm , nn ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["NUM_LINES"],h:{a:"grp",d:[{a:"txt",b:"float ns = 0.0 ; nw ( ns , nm , aC ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["NUM_STARS"],
  1884. h:{a:"grp",d:[{a:"txt",b:"nA ( aC , A ) ;".split(" ")}]}}]},{a:"txt",b:"aC *= J ; vec3 aG = u_diffuse_color . rgb ;".split(" ")},{a:"cond",d:[{a:"if",g:["NUM_RINGS"],h:{a:"grp",d:[{a:"txt",b:"nl *= aC ; aG += u_halo_rings_color * nl ; aC += nl ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["NUM_LINES"],h:{a:"grp",d:[{a:"txt",b:"ns *= J ; aG += u_halo_lines_color * ns ; aC += ns ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["SKY_STARS"],h:{a:"grp",d:[{a:"txt",b:"aC *= max ( 1.0 - 2.0 * u_sun_intensity . x , 0.0 ) ;".split(" ")},
  1885. {a:"cond",d:[{a:"if",g:["WATER_EFFECTS","DISABLE_FOG",{a:"logic_negative_expr",i:1},{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"float kr = u_halo_stars_blend * ( aT . y - u_halo_stars_height ) ; aC *= clamp ( kr , 0.0 , 1.0 ) ; aC *= min ( u_cam_water_depth + 2.0 * WAVES_HEIGHT , 1.0 ) ;".split(" ")}]}}]}]}}]},{a:"txt",b:"vec4 nB = vec4 ( aG , aC ) ; return nB ; }".split(" ")}]}}]}]};a["include/lighting_nodes.glslf"]={a:"grp",d:[{a:"cond",d:[{a:"ifndef",c:"LIGHTING_NODES_GLSLF",h:{a:"grp",
  1886. d:[{a:"define",c:"LIGHTING_NODES_GLSLF",b:[""]},{a:"include",o:"std.glsl"},{a:"node",c:"LIGHTING_BEGIN",m:[],l:[{a:"node_out",c:"nP",f:["vec3"],e:!1},{a:"node_out",c:"nQ",f:["vec3"],e:!1},{a:"node_out",c:"nR",f:["vec3"],e:!1},{a:"node_out",c:"nS",f:["vec3"],e:!0},{a:"node_out",c:"nT",f:["vec3"],e:!0},{a:"node_out",c:"nU",f:["vec2"],e:!0},{a:"node_out",c:"nV",f:["vec2"],e:!0},{a:"node_out",c:"nW",f:["vec4"],e:!0},{a:"node_out",c:"nX",f:["float"],e:!0},{a:"node_out",c:"nY",f:["vec4"],e:!0}],j:[{a:"txt",
  1887. b:"nP = nC ; nQ = nD ; nR = nE ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_nS"],j:[{a:"txt",b:["nS","=","nF",";"]}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_nT"],j:[{a:"txt",b:["nT","=","nH",";"]}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_nV"],j:[{a:"txt",b:["nV","=","nJ",";"]}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_nU"],j:[{a:"txt",b:["nU","=","nK",";"]}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_nW"],j:[{a:"txt",b:["nW","=","nL",";"]}]}]},{a:"node_cond",d:[{a:"node_if",
  1888. g:["USE_OUT_nX"],j:[{a:"txt",b:["nX","=","nM",";"]}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_nY"],j:[{a:"txt",b:["nY","=","nN",";"]}]}]}]},{a:"node",c:"LIGHTING_AMBIENT",m:[],l:[{a:"node_in",c:"nZ",f:["vec3"],e:!1},{a:"node_in",c:"n_",f:["vec3"],e:!1},{a:"node_in",c:"oa",f:["vec3"],e:!1},{a:"node_out",c:"ob",f:["vec4"],e:!1},{a:"node_out",c:"oc",f:["vec3"],e:!1}],j:[{a:"txt",b:"ob = vec4 ( nZ + oa * n_ , _0_0 ) ; oc = vec3 ( _0_0 ) ;".split(" ")}]},{a:"node",c:"LIGHTING_LAMP",m:[{a:"node_var",
  1889. c:"LAMP_TYPE",b:["HEMI"]},{a:"node_var",c:"LAMP_IND",b:["0"]},{a:"node_var",c:"LAMP_SPOT_SIZE",b:["0.8"]},{a:"node_var",c:"LAMP_SPOT_BLEND",b:["0.03"]},{a:"node_var",c:"LAMP_LIGHT_DIST",b:["30.0"]},{a:"node_var",c:"LAMP_SHADOW_MAP_IND",b:["-","1"]},{a:"node_var",c:"LAMP_USE_SPHERE",b:["0"]}],l:[{a:"node_in",c:"od",f:["vec4"],e:!1},{a:"node_out",c:"oe",f:["vec3"],e:!1},{a:"node_out",c:"of",f:["vec2"],e:!1},{a:"node_out",c:"og",f:["vec3"],e:!1},{a:"node_out",c:"oh",f:["float"],e:!1}],j:[{a:"txt",b:"of = vec2 ( u_light_positions [ LAMP_IND ] . w , u_light_color_intensities [ LAMP_IND ] . w ) ;".split(" ")},
  1890. {a:"node_cond",d:[{a:"node_if",g:["LAMP_TYPE","HEMI",{a:"equal_expr",i:2}],j:[{a:"txt",b:["oh","=","_0_5",";"]}]},{a:"node_else",j:[{a:"txt",b:["oh","=","_0_0",";"]}]}]},{a:"txt",b:"og = u_light_color_intensities [ LAMP_IND ] . xyz ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["LAMP_SHADOW_MAP_IND",1,{a:"negative_expr",i:1},{a:"non_equal_expr",i:2}],j:[{a:"txt",b:"og *= od [ LAMP_SHADOW_MAP_IND ] ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["LAMP_TYPE","SPOT",{a:"equal_expr",i:2},"LAMP_TYPE",
  1891. "POINT",{a:"equal_expr",i:2},{a:"logical_or_expr",i:2}],j:[{a:"txt",b:"vec3 oi = u_light_positions [ LAMP_IND ] . xyz ; oe = oi - nG ; float aC = length ( oe ) ; float oj = LAMP_LIGHT_DIST / ( LAMP_LIGHT_DIST + aC * aC ) ; oe = normalize ( oe ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["LAMP_TYPE","SPOT",{a:"equal_expr",i:2}],j:[{a:"txt",b:"vec3 ok = u_light_directions [ LAMP_IND ] ; float ol = dot ( oe , ok ) ; ol *= smoothstep ( _0_0 , _1_0 , ( ol - LAMP_SPOT_SIZE ) / LAMP_SPOT_BLEND ) ; oj *= ol ;".split(" ")}]}]},
  1892. {a:"node_cond",d:[{a:"node_if",g:["LAMP_USE_SPHERE"],j:[{a:"txt",b:"oj *= max ( LAMP_LIGHT_DIST - aC , _0_0 ) / LAMP_LIGHT_DIST ;".split(" ")}]}]},{a:"txt",b:["og","*=","oj",";"]}]},{a:"node_else",j:[{a:"txt",b:"oe = u_light_directions [ LAMP_IND ] ;".split(" ")}]}]}]},{a:"node",c:"DIFFUSE_FRESNEL",m:[{a:"node_var",c:"MAT_USE_TBN_SHADING",b:["0"]}],l:[{a:"node_in",c:"om",f:["vec3"],e:!1},{a:"node_in",c:"on",f:["vec2"],e:!1},{a:"node_in",c:"oo",f:["vec3"],e:!1},{a:"node_in",c:"op",f:["float"],e:!1},
  1893. {a:"node_in",c:"oq",f:["vec2"],e:!1},{a:"node_out",c:"or",f:["float"],e:!1}],j:[{a:"node_cond",d:[{a:"node_if",g:["MAT_USE_TBN_SHADING"],j:[{a:"txt",b:"vec3 os = cross ( om , B . xyz ) ; oo = cross ( os , B . xyz ) ; oo = - normalize ( oo ) ;".split(" ")}]}]},{a:"txt",b:"or = _0_0 ; if ( on . r != _0_0 ) { float ot = ( _1_0 - op ) * dot ( oo , om ) + op ; if ( oq [ 0 ] == _0_0 ) { or = _1_0 ; } else { float t = _1_0 + abs ( ot ) ; t = oq [ 1 ] + ( _1_0 - oq [ 1 ] ) * pow ( t , oq [ 0 ] ) ; or = clamp ( t , _0_0 , _1_0 ) ; } or = max ( or , _0_0 ) ; }".split(" ")}]},
  1894. {a:"node",c:"DIFFUSE_LAMBERT",m:[{a:"node_var",c:"MAT_USE_TBN_SHADING",b:["0"]}],l:[{a:"node_in",c:"ou",f:["vec3"],e:!1},{a:"node_in",c:"ov",f:["vec2"],e:!1},{a:"node_in",c:"ow",f:["vec3"],e:!1},{a:"node_in",c:"ox",f:["float"],e:!1},{a:"node_out",c:"oy",f:["float"],e:!1}],j:[{a:"node_cond",d:[{a:"node_if",g:["MAT_USE_TBN_SHADING"],j:[{a:"txt",b:"vec3 os = cross ( ou , B . xyz ) ; ow = cross ( os , B . xyz ) ; ow = - normalize ( ow ) ;".split(" ")}]}]},{a:"txt",b:"oy = _0_0 ; if ( ov . r != _0_0 ) { float ot = ( _1_0 - ox ) * dot ( ow , ou ) + ox ; oy = max ( ot , _0_0 ) ; }".split(" ")}]},
  1895. {a:"node",c:"DIFFUSE_OREN_NAYAR",m:[{a:"node_var",c:"MAT_USE_TBN_SHADING",b:["0"]}],l:[{a:"node_in",c:"oz",f:["vec3"],e:!1},{a:"node_in",c:"oA",f:["vec2"],e:!1},{a:"node_in",c:"oB",f:["vec3"],e:!1},{a:"node_in",c:"oC",f:["float"],e:!1},{a:"node_in",c:"oD",f:["vec2"],e:!1},{a:"node_out",c:"oE",f:["float"],e:!1}],j:[{a:"node_cond",d:[{a:"node_if",g:["MAT_USE_TBN_SHADING"],j:[{a:"txt",b:"vec3 os = cross ( oz , B . xyz ) ; oB = cross ( os , B . xyz ) ; oB = - normalize ( oB ) ;".split(" ")}]}]},{a:"txt",
  1896. b:"oE = _0_0 ; if ( oA . r != _0_0 ) { float ot = ( _1_0 - oC ) * dot ( oB , oz ) + oC ; if ( oD [ 0 ] > _0_0 ) { float oF = max ( dot ( oB , nI ) , _0_0 ) ; float oG = oD [ 0 ] * oD [ 0 ] ; float cg = _1_0 - _0_5 * ( oG / ( oG + 0.33 ) ) ; vec3 oH = oz - ot * oB ; vec3 oI = nI - oF * oB ; if ( length ( oH ) == _0_0 || length ( oI ) == _0_0 || abs ( ot ) > _1_0 || abs ( oF ) > _1_0 ) oE = ot * cg ; else { float oJ = acos ( ot ) ; float oK = acos ( oF ) ; vec3 oL = normalize ( oH ) ; vec3 oM = normalize ( oI ) ; float a , b ; a = max ( oJ , oK ) ; b = min ( oJ , oK ) ; b *= 0.95 ; float t = max ( dot ( oL , oM ) , _0_0 ) ; float oN = 0.45 * ( oG / ( oG + 0.09 ) ) ; oE = ot * ( cg + ( oN * t * sin ( a ) * tan ( b ) ) ) ; } } else oE = ot ; oE = max ( oE , _0_0 ) ; }".split(" ")}]},
  1897. {a:"node",c:"DIFFUSE_MINNAERT",m:[{a:"node_var",c:"MAT_USE_TBN_SHADING",b:["0"]}],l:[{a:"node_in",c:"oO",f:["vec3"],e:!1},{a:"node_in",c:"oP",f:["vec2"],e:!1},{a:"node_in",c:"oQ",f:["vec3"],e:!1},{a:"node_in",c:"oR",f:["float"],e:!1},{a:"node_in",c:"oS",f:["vec2"],e:!1},{a:"node_out",c:"oT",f:["float"],e:!1}],j:[{a:"node_cond",d:[{a:"node_if",g:["MAT_USE_TBN_SHADING"],j:[{a:"txt",b:"vec3 os = cross ( oO , B . xyz ) ; oQ = cross ( os , B . xyz ) ; oQ = - normalize ( oQ ) ;".split(" ")}]}]},{a:"txt",
  1898. b:"oT = _0_0 ; if ( oP . r != _0_0 ) { float ot = ( _1_0 - oR ) * dot ( oQ , oO ) + oR ; float oF = max ( dot ( oQ , nI ) , _0_0 ) ; if ( oS [ 0 ] <= _1_0 ) oT = ot * pow ( max ( oF * ot , 0.1 ) , oS [ 0 ] - _1_0 ) ; else oT = ot * pow ( 1.0001 - oF , oS [ 0 ] - _1_0 ) ; oT = max ( oT , _0_0 ) ; }".split(" ")}]},{a:"node",c:"DIFFUSE_TOON",m:[{a:"node_var",c:"MAT_USE_TBN_SHADING",b:["0"]}],l:[{a:"node_in",c:"oU",f:["vec3"],e:!1},{a:"node_in",c:"oV",f:["vec2"],e:!1},{a:"node_in",c:"oW",f:["vec3"],e:!1},
  1899. {a:"node_in",c:"oX",f:["float"],e:!1},{a:"node_in",c:"oY",f:["vec2"],e:!1},{a:"node_out",c:"oZ",f:["float"],e:!1}],j:[{a:"node_cond",d:[{a:"node_if",g:["MAT_USE_TBN_SHADING"],j:[{a:"txt",b:"vec3 os = cross ( oU , B . xyz ) ; oW = cross ( os , B . xyz ) ; oW = - normalize ( oW ) ;".split(" ")}]}]},{a:"txt",b:"oZ = _0_0 ; if ( oV . r != _0_0 ) { float ot = ( _1_0 - oX ) * dot ( oW , oU ) + oX ; float o_ = acos ( ot ) ; if ( o_ < oY [ 0 ] ) oZ = _1_0 ; else if ( o_ > ( oY [ 0 ] + oY [ 1 ] ) || oY [ 1 ] == _0_0 ) oZ = _0_0 ; else oZ = _1_0 - ( ( o_ - oY [ 0 ] ) / oY [ 1 ] ) ; oZ = max ( oZ , _0_0 ) ; }".split(" ")}]},
  1900. {a:"node",c:"SPECULAR_PHONG",m:[{a:"node_var",c:"MAT_USE_TBN_SHADING",b:["0"]}],l:[{a:"node_in",c:"pa",f:["vec3"],e:!1},{a:"node_in",c:"pb",f:["vec2"],e:!1},{a:"node_in",c:"pc",f:["vec3"],e:!1},{a:"node_in",c:"pd",f:["float"],e:!1},{a:"node_in",c:"pe",f:["vec2"],e:!1},{a:"node_out",c:"pf",f:["float"],e:!1}],j:[{a:"txt",b:"pf = _0_0 ; if ( pb . g != _0_0 ) { vec3 pg = normalize ( pa + nI ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MAT_USE_TBN_SHADING"],j:[{a:"txt",b:"if ( pd == _0_0 ) { pf = dot ( B . xyz , pg ) ; pf = sqrt ( _1_0 - pf * pf ) ; }".split(" ")}]},
  1901. {a:"node_else",j:[{a:"txt",b:"pf = ( _1_0 - pd ) * max ( dot ( pc , pg ) , _0_0 ) + pd ;".split(" ")}]}]},{a:"txt",b:"pf = pow ( pf , pe [ 0 ] ) ; }".split(" ")}]},{a:"node",c:"SPECULAR_COOKTORR",m:[{a:"node_var",c:"MAT_USE_TBN_SHADING",b:["0"]}],l:[{a:"node_in",c:"ph",f:["vec3"],e:!1},{a:"node_in",c:"pi",f:["vec2"],e:!1},{a:"node_in",c:"pj",f:["vec3"],e:!1},{a:"node_in",c:"pk",f:["float"],e:!1},{a:"node_in",c:"pl",f:["vec2"],e:!1},{a:"node_out",c:"pm",f:["float"],e:!1}],j:[{a:"txt",b:"pm = _0_0 ; if ( pi . g != _0_0 ) { vec3 pg = normalize ( ph + nI ) ;".split(" ")},
  1902. {a:"node_cond",d:[{a:"node_if",g:["MAT_USE_TBN_SHADING"],j:[{a:"txt",b:"if ( pk == _0_0 ) { pm = dot ( B . xyz , pg ) ; pm = sqrt ( _1_0 - pm * pm ) ; }".split(" ")}]},{a:"node_else",j:[{a:"txt",b:"pm = max ( dot ( pj , pg ) , _0_0 ) ; pm = ( _1_0 - pk ) * pm + pk ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["MAT_USE_TBN_SHADING"],j:[{a:"txt",b:"float oF = max ( dot ( B . xyz , nI ) , _0_0 ) ; oF = sqrt ( _1_0 - oF * oF ) ;".split(" ")}]},{a:"node_else",j:[{a:"txt",b:"float oF = max ( dot ( pj , nI ) , _0_0 ) ;".split(" ")}]}]},
  1903. {a:"txt",b:"pm = pow ( pm , pl [ 0 ] ) ; pm = pm / ( 0.1 + oF ) ; }".split(" ")}]},{a:"node",c:"SPECULAR_WARDISO",m:[{a:"node_var",c:"MAT_USE_TBN_SHADING",b:["0"]}],l:[{a:"node_in",c:"pn",f:["vec3"],e:!1},{a:"node_in",c:"po",f:["vec2"],e:!1},{a:"node_in",c:"pr",f:["vec3"],e:!1},{a:"node_in",c:"pu",f:["float"],e:!1},{a:"node_in",c:"pv",f:["vec2"],e:!1},{a:"node_out",c:"pw",f:["float"],e:!1}],j:[{a:"txt",b:"pw = _0_0 ; if ( po . g != _0_0 ) { vec3 pg = normalize ( pn + nI ) ;".split(" ")},{a:"node_cond",
  1904. d:[{a:"node_if",g:["MAT_USE_TBN_SHADING"],j:[{a:"txt",b:"float px = _0_0 ; float oF = _0_0 ; float py = _0_0 ; if ( pu == _0_0 ) { px = dot ( B . xyz , pg ) ; oF = dot ( B . xyz , nI ) ; py = dot ( B . xyz , pn ) ; px = sqrt ( _1_0 - px * px ) ; oF = sqrt ( _1_0 - oF * oF ) ; py = sqrt ( _1_0 - py * py ) ; }".split(" ")}]},{a:"node_else",j:[{a:"txt",b:"float px = max ( dot ( pr , pg ) , 0.01 ) ; float oF = max ( dot ( pr , nI ) , 0.01 ) ; float py = max ( dot ( pr , pn ) , 0.01 ) ;".split(" ")}]}]},
  1905. {a:"txt",b:"float bm = tan ( acos ( px ) ) ; float J = max ( pv [ 0 ] , 0.01 ) ; pw = py * ( _1_0 / ( 4.0 * M_PI * J * J ) ) * ( exp ( - ( bm * bm ) / ( J * J ) ) / ( sqrt ( oF * py ) ) ) ; }".split(" ")}]},{a:"node",c:"SPECULAR_TOON",m:[{a:"node_var",c:"MAT_USE_TBN_SHADING",b:["0"]}],l:[{a:"node_in",c:"pz",f:["vec3"],e:!1},{a:"node_in",c:"pA",f:["vec2"],e:!1},{a:"node_in",c:"pB",f:["vec3"],e:!1},{a:"node_in",c:"pC",f:["float"],e:!1},{a:"node_in",c:"pD",f:["vec2"],e:!1},{a:"node_out",c:"pE",f:["float"],
  1906. e:!1}],j:[{a:"txt",b:"pE = _0_0 ; if ( pA . g != _0_0 ) { vec3 bO = normalize ( pz + nI ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MAT_USE_TBN_SHADING"],j:[{a:"txt",b:"float pF = dot ( bO , B . xyz ) ; float bm = pD [ 0 ] + pD [ 1 ] ; if ( pC == _0_0 ) bm = acos ( sqrt ( _1_0 - pF * pF ) ) ;".split(" ")}]},{a:"node_else",j:[{a:"txt",b:"float bm = acos ( dot ( bO , pB ) ) ;".split(" ")}]}]},{a:"txt",b:"if ( bm < pD [ 0 ] ) pE = _1_0 ; else if ( bm >= pD [ 0 ] + pD [ 1 ] || pD [ 1 ] == _0_0 ) pE = _0_0 ; else pE = _1_0 - ( bm - pD [ 0 ] ) / pD [ 1 ] ; }".split(" ")}]},
  1907. {a:"node",c:"SPECULAR_BLINN",m:[{a:"node_var",c:"MAT_USE_TBN_SHADING",b:["0"]}],l:[{a:"node_in",c:"pG",f:["vec3"],e:!1},{a:"node_in",c:"pH",f:["vec2"],e:!1},{a:"node_in",c:"pI",f:["vec3"],e:!1},{a:"node_in",c:"pJ",f:["float"],e:!1},{a:"node_in",c:"pK",f:["vec2"],e:!1},{a:"node_out",c:"pL",f:["float"],e:!1}],j:[{a:"txt",b:"float pM = pK [ 0 ] ; float pN = pK [ 1 ] ; pL = _0_0 ; if ( pH . g != _0_0 ) { if ( pM < 1.0 || pN == _0_0 ) pL = _0_0 ; else { if ( pN < 100.0 ) pN = sqrt ( 1.0 / pN ) ; else pN = 10.0 / pN ; vec3 pg = normalize ( nI + pG ) ;".split(" ")},
  1908. {a:"node_cond",d:[{a:"node_if",g:["MAT_USE_TBN_SHADING"],j:[{a:"txt",b:"float px = 0.0 ; if ( pJ == _0_0 ) { float pO = dot ( B . xyz , pg ) ; px = sqrt ( _1_0 - pO * pO ) ; }".split(" ")}]},{a:"node_else",j:[{a:"txt",b:"float px = ( _1_0 - pJ ) * max ( dot ( pI , pg ) , _0_0 ) + pJ ;".split(" ")}]}]},{a:"txt",b:"if ( px < _0_0 ) pL = _0_0 ; else { float oF = max ( dot ( pI , nI ) , 0.01 ) ; float py = dot ( pI , pG ) ; if ( py <= 0.01 ) pL = _0_0 ; else { float pP = max ( dot ( nI , pg ) , 0.01 ) ; float a = _1_0 ; float b = ( 2.0 * px * oF ) / pP ; float da = ( 2.0 * px * py ) / pP ; float g = min ( min ( a , b ) , da ) ; float p = sqrt ( pow ( pM , 2.0 ) + pow ( pP , 2.0 ) - _1_0 ) ; float lw = pow ( p - pP , 2.0 ) / pow ( p + pP , 2.0 ) * ( _1_0 + pow ( pP * ( p + pP ) - _1_0 , 2.0 ) / pow ( pP * ( p - pP ) + _1_0 , 2.0 ) ) ; float o_ = acos ( px ) ; pL = max ( lw * g * exp ( - pow ( o_ , 2.0 ) / ( 2.0 * pow ( pN , 2.0 ) ) ) , _0_0 ) ; } } } }".split(" ")}]},
  1909. {a:"node",c:"LIGHTING_APPLY",m:[],l:[{a:"node_in",c:"pQ",f:["vec4"],e:!1},{a:"node_in",c:"pR",f:["vec3"],e:!1},{a:"node_in",c:"pS",f:["float"],e:!1},{a:"node_in",c:"pT",f:["float"],e:!1},{a:"node_in",c:"pU",f:["vec3"],e:!1},{a:"node_in",c:"pV",f:["vec3"],e:!1},{a:"node_in",c:"pW",f:["vec4"],e:!1},{a:"node_in",c:"pX",f:["vec3"],e:!1},{a:"node_in",c:"pY",f:["vec3"],e:!1},{a:"node_in",c:"pZ",f:["vec3"],e:!1},{a:"node_in",c:"p_",f:["float"],e:!1},{a:"node_out",c:"qa",f:["vec4"],e:!1},{a:"node_out",c:"qb",
  1910. f:["vec3"],e:!1}],j:[{a:"txt",b:"qb = pR + pZ * pY * pT ; qa = pQ + vec4 ( pZ * pX * pS , pT ) ;".split(" ")}]},{a:"node",c:"LIGHTING_END",m:[],l:[{a:"node_in",c:"qc",f:["vec4"],e:!1},{a:"node_in",c:"qd",f:["vec3"],e:!1}],j:[{a:"txt",b:"D = qc . rgb ; nO = qd ;".split(" ")}]},{a:"nodes_global"},{a:"txt",b:"void cp ( vec3 nC , vec3 nD , vec3 nE , vec3 nF , vec3 nG , vec3 nH , vec3 nI , vec2 nJ , vec2 nK , vec4 nL , float nM , vec4 nN , out vec3 D , out vec3 nO ) {".split(" ")},{a:"nodes_main"},{a:"txt",
  1911. b:["}"]}]}}]}]};a["include/math.glslv"]={a:"grp",d:[{a:"cond",d:[{a:"ifndef",c:"MATH_GLSLV",h:{a:"grp",d:[{a:"define",c:"MATH_GLSLV",b:[""]},{a:"var",c:"EPSILON",b:["0.000001"]},{a:"var",c:"REFLECTION_TYPE",b:["REFL_NONE"]},{a:"var",c:"REFRACTIVE",b:["0"]},{a:"var",c:"SHADOW_USAGE",b:["NO_SHADOWS"]},{a:"var",c:"USE_POSITION_CLIP",b:["0"]},{a:"var",c:"SOFT_PARTICLES",b:["0"]},{a:"include",o:"std.glsl"},{a:"txt",b:"struct aj { vec3 N ; vec3 ac ; vec3 Q ; vec3 aq ; vec3 R ; vec3 P ; vec3 aG ; } ; bool ei ( vec3 a , vec3 b ) { return any ( lessThan ( abs ( a - b ) , vec3 ( EPSILON ) ) ) ; } vec3 O ( in vec4 q , in vec3 ki ) { return ki + 2.0 * cross ( q . xyz , cross ( q . xyz , ki ) + q . w * ki ) ; } vec4 kj ( in vec4 gI ) { return vec4 ( - gI . xyz , gI . w ) ; } vec4 qe ( in vec4 a , in vec4 b ) { vec4 gK ; gK . x = a . x * b . w + a . w * b . x + a . y * b . z - a . z * b . y ; gK . y = a . y * b . w + a . w * b . y + a . z * b . x - a . x * b . z ; gK . z = a . z * b . w + a . w * b . z + a . x * b . y - a . y * b . x ; gK . w = a . w * b . w - a . x * b . x - a . y * b . y - a . z * b . z ; return gK ; } vec4 cI ( in vec3 qf , in float qg ) { vec4 gK ; qg = qg * 0.5 ; float s = sin ( qg ) ; gK . x = s * qf [ 0 ] ; gK . y = s * qf [ 1 ] ; gK . z = s * qf [ 2 ] ; gK . w = cos ( qg ) ; return gK ; } vec4 qj ( in vec3 be , in vec3 qh ) { vec4 gK ; float df = dot ( qh , be ) ; vec3 qi = cross ( qh , be ) ; gK . xyz = qi . xyz ; gK . w = 1.0 + df ; return normalize ( gK ) ; } vec3 ql ( vec4 qk , vec4 gI , vec3 gJ ) { vec3 gK = gJ * qk . w ; gK = O ( gI , gK ) ; gK += qk . xyz ; return gK ; } vec3 ad ( mat3 qm , vec3 gJ ) { vec3 gK = gJ * qm [ 1 ] [ 0 ] ; vec4 gI = vec4 ( qm [ 1 ] [ 1 ] , qm [ 1 ] [ 2 ] , qm [ 2 ] [ 0 ] , qm [ 2 ] [ 1 ] ) ; gK = O ( gI , gK ) ; gK += qm [ 0 ] ; return gK ; } vec3 qn ( vec4 qk , vec4 gI , vec3 be ) { vec3 gK = be * qk . w ; gK = O ( gI , gK ) ; return gK ; } vec3 T ( mat3 qm , vec3 be ) { vec3 gK = be * qm [ 1 ] [ 0 ] ; vec4 gI = vec4 ( qm [ 1 ] [ 1 ] , qm [ 1 ] [ 2 ] , qm [ 2 ] [ 0 ] , qm [ 2 ] [ 1 ] ) ; gK = O ( gI , gK ) ; return gK ; } vec3 qo ( vec4 qk , vec4 gI , vec3 gJ ) { vec3 gK = gJ - qk . xyz ; gK = O ( kj ( gI ) , gK ) ; gK /= qk . w ; return gK ; } vec3 qr ( vec4 qk , vec4 gI , vec3 be ) { return O ( kj ( gI ) , be ) / qk . w ; } mat4 qu ( ) { return mat4 ( _1_0 , _0_0 , _0_0 , _0_0 , _0_0 , _1_0 , _0_0 , _0_0 , _0_0 , _0_0 , _1_0 , _0_0 , _0_0 , _0_0 , _0_0 , _1_0 ) ; } mat4 qv ( float bm ) { return mat4 ( _1_0 , _0_0 , _0_0 , _0_0 , _0_0 , cos ( bm ) , sin ( bm ) , _0_0 , _0_0 , - sin ( bm ) , cos ( bm ) , _0_0 , _0_0 , _0_0 , _0_0 , _1_0 ) ; } mat4 qw ( float bm ) { return mat4 ( cos ( bm ) , _0_0 , - sin ( bm ) , _0_0 , _0_0 , _1_0 , _0_0 , _0_0 , sin ( bm ) , _0_0 , cos ( bm ) , _0_0 , _0_0 , _0_0 , _0_0 , _1_0 ) ; } mat4 qx ( float bm ) { return mat4 ( cos ( bm ) , sin ( bm ) , _0_0 , _0_0 , - sin ( bm ) , cos ( bm ) , _0_0 , _0_0 , _0_0 , _0_0 , _1_0 , _0_0 , _0_0 , _0_0 , _0_0 , _1_0 ) ; } aj lk ( in aj ki ) { return aj ( ki . N , ki . ac , normalize ( ki . Q ) , normalize ( ki . aq ) , normalize ( ki . R ) , normalize ( ki . P ) , ki . aG ) ; }".split(" ")},
  1912. {a:"cond",d:[{a:"if",g:["SOFT_PARTICLES","REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2},"SHADOW_USAGE","SHADOW_MAPPING_OPAQUE",{a:"equal_expr",i:2},"REFRACTIVE","USE_POSITION_CLIP",{a:"logical_or_expr",i:5}],h:{a:"grp",d:[{a:"txt",b:"vec3 as ( vec4 f ) { float fj = f . x ; float fk = f . y ; float fl = f . w ; vec3 qy ; qy . x = ( fj + fl ) / 2.0 ; qy . y = ( fk + fl ) / 2.0 ; qy . z = fl ; return qy ; }".split(" ")}]}}]},{a:"txt",b:"mat3 cG ( ) { return mat3 ( _0_0 , _0_0 , _0_0 , _1_0 , _0_0 , _0_0 , _0_0 , _1_0 , _0_0 ) ; } mat4 aR ( mat3 t ) { mat4 qz ; qz [ 0 ] [ 0 ] = ( _1_0 - ( t [ 1 ] [ 2 ] * ( t [ 1 ] [ 2 ] + t [ 1 ] [ 2 ] ) + t [ 2 ] [ 0 ] * ( t [ 2 ] [ 0 ] + t [ 2 ] [ 0 ] ) ) ) * t [ 1 ] [ 0 ] ; qz [ 0 ] [ 1 ] = ( t [ 1 ] [ 1 ] * ( t [ 1 ] [ 2 ] + t [ 1 ] [ 2 ] ) + t [ 2 ] [ 1 ] * ( t [ 2 ] [ 0 ] + t [ 2 ] [ 0 ] ) ) * t [ 1 ] [ 0 ] ; qz [ 0 ] [ 2 ] = ( t [ 1 ] [ 1 ] * ( t [ 2 ] [ 0 ] + t [ 2 ] [ 0 ] ) - t [ 2 ] [ 1 ] * ( t [ 1 ] [ 2 ] + t [ 1 ] [ 2 ] ) ) * t [ 1 ] [ 0 ] ; qz [ 0 ] [ 3 ] = _0_0 ; qz [ 1 ] [ 0 ] = ( t [ 1 ] [ 1 ] * ( t [ 1 ] [ 2 ] + t [ 1 ] [ 2 ] ) - t [ 2 ] [ 1 ] * ( t [ 2 ] [ 0 ] + t [ 2 ] [ 0 ] ) ) * t [ 1 ] [ 0 ] ; qz [ 1 ] [ 1 ] = ( _1_0 - ( t [ 1 ] [ 1 ] * ( t [ 1 ] [ 1 ] + t [ 1 ] [ 1 ] ) + t [ 2 ] [ 0 ] * ( t [ 2 ] [ 0 ] + t [ 2 ] [ 0 ] ) ) ) * t [ 1 ] [ 0 ] ; qz [ 1 ] [ 2 ] = ( t [ 1 ] [ 2 ] * ( t [ 2 ] [ 0 ] + t [ 2 ] [ 0 ] ) + t [ 2 ] [ 1 ] * ( t [ 1 ] [ 1 ] + t [ 1 ] [ 1 ] ) ) * t [ 1 ] [ 0 ] ; qz [ 1 ] [ 3 ] = _0_0 ; qz [ 2 ] [ 0 ] = ( t [ 1 ] [ 1 ] * ( t [ 2 ] [ 0 ] + t [ 2 ] [ 0 ] ) + t [ 2 ] [ 1 ] * ( t [ 1 ] [ 2 ] + t [ 1 ] [ 2 ] ) ) * t [ 1 ] [ 0 ] ; qz [ 2 ] [ 1 ] = ( t [ 1 ] [ 2 ] * ( t [ 2 ] [ 0 ] + t [ 2 ] [ 0 ] ) - t [ 2 ] [ 1 ] * ( t [ 1 ] [ 1 ] + t [ 1 ] [ 1 ] ) ) * t [ 1 ] [ 0 ] ; qz [ 2 ] [ 2 ] = ( _1_0 - ( t [ 1 ] [ 1 ] * ( t [ 1 ] [ 1 ] + t [ 1 ] [ 1 ] ) + t [ 1 ] [ 2 ] * ( t [ 1 ] [ 2 ] + t [ 1 ] [ 2 ] ) ) ) * t [ 1 ] [ 0 ] ; qz [ 2 ] [ 3 ] = _0_0 ; qz [ 3 ] [ 0 ] = t [ 0 ] [ 0 ] ; qz [ 3 ] [ 1 ] = t [ 0 ] [ 1 ] ; qz [ 3 ] [ 2 ] = t [ 0 ] [ 2 ] ; qz [ 3 ] [ 3 ] = 1.0 ; return qz ; } mat3 aO ( in mat3 qm , in mat3 qA ) { mat3 gK ; vec3 gJ = qA [ 0 ] ; vec4 qk = vec4 ( qm [ 0 ] , qm [ 1 ] [ 0 ] ) ; vec4 gI = vec4 ( qm [ 1 ] [ 1 ] , qm [ 1 ] [ 2 ] , qm [ 2 ] [ 0 ] , qm [ 2 ] [ 1 ] ) ; gK [ 0 ] = ql ( qk , gI , gJ ) ; gK [ 1 ] [ 0 ] = qm [ 1 ] [ 0 ] * qA [ 1 ] [ 0 ] ; gK [ 1 ] [ 1 ] = qm [ 1 ] [ 1 ] * qA [ 2 ] [ 1 ] + qm [ 2 ] [ 1 ] * qA [ 1 ] [ 1 ] + qm [ 1 ] [ 2 ] * qA [ 2 ] [ 0 ] - qm [ 2 ] [ 0 ] * qA [ 1 ] [ 2 ] ; gK [ 1 ] [ 2 ] = qm [ 1 ] [ 2 ] * qA [ 2 ] [ 1 ] + qm [ 2 ] [ 1 ] * qA [ 1 ] [ 2 ] + qm [ 2 ] [ 0 ] * qA [ 1 ] [ 1 ] - qm [ 1 ] [ 1 ] * qA [ 2 ] [ 0 ] ; gK [ 2 ] [ 0 ] = qm [ 2 ] [ 0 ] * qA [ 2 ] [ 1 ] + qm [ 2 ] [ 1 ] * qA [ 2 ] [ 0 ] + qm [ 1 ] [ 1 ] * qA [ 1 ] [ 2 ] - qm [ 1 ] [ 2 ] * qA [ 1 ] [ 1 ] ; gK [ 2 ] [ 1 ] = qm [ 2 ] [ 1 ] * qA [ 2 ] [ 1 ] - qm [ 1 ] [ 1 ] * qA [ 1 ] [ 1 ] - qm [ 1 ] [ 2 ] * qA [ 1 ] [ 2 ] - qm [ 2 ] [ 0 ] * qA [ 2 ] [ 0 ] ; return gK ; } mat3 cK ( in vec4 gI , in mat3 qm ) { mat3 gK ; gK [ 0 ] = qm [ 0 ] ; gK [ 1 ] [ 0 ] = qm [ 1 ] [ 0 ] ; gK [ 1 ] [ 1 ] = gI [ 0 ] ; gK [ 1 ] [ 2 ] = gI [ 1 ] ; gK [ 2 ] [ 0 ] = gI [ 2 ] ; gK [ 2 ] [ 1 ] = gI [ 3 ] ; return gK ; }".split(" ")}]}}]}]};
  1913. a["include/mirror.glslf"]={a:"grp",d:[{a:"cond",d:[{a:"ifndef",c:"MIRROR_GLSLF",h:{a:"grp",d:[{a:"define",c:"MIRROR_GLSLF",b:[""]},{a:"var",c:"REFLECTION_TYPE",b:["REFL_NONE"]},{a:"var",c:"REFLECTION_PASS",b:["REFL_PASS_NONE"]},{a:"include",o:"std.glsl"},{a:"cond",d:[{a:"if",g:["REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2},"REFLECTION_TYPE","REFL_CUBE",{a:"equal_expr",i:2},"REFLECTION_TYPE","REFL_MIRRORMAP",{a:"equal_expr",i:2},{a:"logical_or_expr",i:3}],h:{a:"grp",d:[{a:"include",o:"color_util.glslf"},
  1914. {a:"include",o:"math.glslv"},{a:"define",c:"REFL_BUMP",b:["0.1"]},{a:"txt",b:"float qB ( in vec3 C , vec3 dX , float ec , float eb ) { vec3 d_ = normalize ( dX + C ) ; float ea = 1.0 - dot ( C , d_ ) ; float r = eb + ( 1.0 - eb ) * pow ( ea , ec ) ; return r ; } void cq ( inout vec3 qC , vec3 C , vec3 P , float qD , mat3 M ) { vec3 dX = reflect ( - C , P ) ; float ec = u_fresnel_params [ 2 ] ; float eb = u_fresnel_params [ 3 ] ; float r = 1.0 ; if ( ec != 0.0 ) r = qB ( C , dX , ec , eb ) ;".split(" ")},
  1915. {a:"cond",d:[{a:"if",g:["REFLECTION_TYPE","REFL_CUBE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec3 dZ = GLSL_TEXTURE_CUBE ( u_cube_reflection , dX ) . xyz ;".split(" ")}]}},{a:"elif",g:["REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["REFLECTION_PASS","REFL_PASS_NONE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec3 qE = u_refl_plane . xyz * dot ( P , u_refl_plane . xyz ) ; vec3 qF = P - qE ; vec2 qG = T ( M , qF ) . xy ; vec2 qH = l . xy / l . z ; qH += qG * REFL_BUMP ; vec3 dZ = GLSL_TEXTURE ( u_plane_reflection , qH ) . rgb ;".split(" ")}]}},
  1916. {a:"else",h:{a:"grp",d:[{a:"txt",b:"vec3 dZ = vec3 ( 1.0 ) ; qD = 0.0 ;".split(" ")}]}}]}]}},{a:"elif",g:["REFLECTION_TYPE","REFL_MIRRORMAP",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec3 dZ = GLSL_TEXTURE_CUBE ( u_mirrormap , dX ) . xyz ;".split(" ")}]}}]},{a:"txt",b:"bY ( dZ . rgb ) ; qC = mix ( qC , dZ , qD * r ) ; } vec3 qK ( vec3 qC , vec3 qI , vec3 C , vec3 P , float qJ , mat3 M ) {".split(" ")},{a:"cond",d:[{a:"if",g:["REFLECTION_TYPE","REFL_CUBE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",
  1917. b:"vec3 dX = reflect ( - C , P ) ; vec3 dZ = GLSL_TEXTURE_CUBE ( u_cube_reflection , dX ) . xyz ; bY ( dZ ) ; dZ *= qI ;".split(" ")}]}},{a:"elif",g:["REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2},"REFLECTION_PASS","REFL_PASS_NONE",{a:"equal_expr",i:2},{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec3 qE = u_refl_plane . xyz * dot ( P , u_refl_plane . xyz ) ; vec3 qF = P - qE ; vec2 qG = T ( M , qF ) . xy ; vec2 qH = l . xy / l . z ; qH += qG * REFL_BUMP ; vec3 dZ = GLSL_TEXTURE ( u_plane_reflection , qH ) . rgb ; bY ( dZ ) ; dZ *= qI ;".split(" ")}]}},
  1918. {a:"else",h:{a:"grp",d:[{a:"txt",b:["vec3","dZ","=","qI",";"]}]}}]},{a:"txt",b:"return mix ( qC , dZ , qJ ) ; }".split(" ")}]}}]}]}}]}]};a["include/nodes.glslf"]={a:"grp",d:[{a:"cond",d:[{a:"ifndef",c:"NODES_GLSLF",h:{a:"grp",d:[{a:"define",c:"NODES_GLSLF",b:[""]},{a:"var",c:"CAUSTICS",b:["0"]},{a:"var",c:"CALC_TBN_SPACE",b:["0"]},{a:"var",c:"DOUBLE_SIDED_LIGHTING",b:["0"]},{a:"var",c:"REFLECTION_PASS",b:["REFL_PASS_NONE"]},{a:"var",c:"USE_REFRACTION",b:["0"]},{a:"var",c:"HAS_REFRACT_TEXTURE",b:["0"]},
  1919. {a:"var",c:"NUM_LIGHTS",b:["0"]},{a:"var",c:"REFLECTION_TYPE",b:["REFL_NONE"]},{a:"var",c:"USE_DERIVATIVES_EXT",b:["0"]},{a:"var",c:"CAMERA_TYPE",b:["CAM_TYPE_PERSP"]},{a:"cond",d:[{a:"if",g:["USE_NODE_MATERIAL_BEGIN","USE_NODE_BSDF_BEGIN",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"include",o:"mirror.glslf"},{a:"include",o:"shadow.glslf"},{a:"include",o:"environment.glslf"}]}}]},{a:"cond",d:[{a:"if",g:["USE_NODE_B4W_REFRACTION","USE_REFRACTION",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"include",
  1920. o:"refraction.glslf"}]}}]},{a:"include",o:"color_util.glslf"},{a:"include",o:"math.glslv"},{a:"cond",d:[{a:"if",g:["USE_NODE_GEOMETRY_OR","USE_NODE_TEX_COORD_GE",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["GLSL_IN","vec3","qL",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_NODE_B4W_REFRACTION"],h:{a:"grp",d:[{a:"txt",b:"vec3 qO ( in vec3 qM , in float qN ) { vec3 eq = vec3 ( _0_0 ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["USE_REFRACTION"],h:{a:"grp",d:[{a:"txt",b:"eq = cs ( l , qM . xy * qN ) ;".split(" ")}]}},
  1921. {a:"elif",g:["HAS_REFRACT_TEXTURE"],h:{a:"grp",d:[{a:"txt",b:"eq = GLSL_TEXTURE ( u_refractmap , l . xy / l . z ) . rgb ; bY ( eq ) ;".split(" ")}]}}]},{a:"txt",b:["return","eq",";","}"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_NODE_HUE_SAT","USE_NODE_MIX_RGB_HUE","USE_NODE_MIX_RGB_SATURATION","USE_NODE_MIX_RGB_VALUE","USE_NODE_MIX_RGB_COLOR","USE_NODE_SEPHSV",{a:"logical_or_expr",i:6}],h:{a:"grp",d:[{a:"txt",b:"vec3 jy ( vec3 rgb ) { vec4 jx = vec4 ( _0_0 , - _1_0 / 3.0 , 2.0 / 3.0 , - _1_0 ) ; vec4 p = mix ( vec4 ( rgb . bg , jx . wz ) , vec4 ( rgb . gb , jx . xy ) , step ( rgb . b , rgb . g ) ) ; vec4 q = mix ( vec4 ( p . xyw , rgb . r ) , vec4 ( rgb . r , p . yzx ) , step ( p . x , rgb . r ) ) ; float df = q . x - min ( q . w , q . y ) ; float hQ = 1.0e-10 ; return vec3 ( abs ( q . z + ( q . w - q . y ) / ( 6.0 * df + hQ ) ) , df / ( q . x + hQ ) , q . x ) ; }".split(" ")}]}}]},
  1922. {a:"cond",d:[{a:"if",g:["USE_NODE_HUE_SAT","USE_NODE_MIX_RGB_HUE","USE_NODE_MIX_RGB_SATURATION","USE_NODE_MIX_RGB_VALUE","USE_NODE_MIX_RGB_COLOR","USE_NODE_COMBHSV",{a:"logical_or_expr",i:6}],h:{a:"grp",d:[{a:"txt",b:"vec3 jA ( vec3 jz ) { vec4 jx = vec4 ( _1_0 , 2.0 / 3.0 , _1_0 / 3.0 , 3.0 ) ; vec3 p = abs ( fract ( vec3 ( jz . r , jz . r , jz . r ) + jx . xyz ) * 6.0 - jx . www ) ; return jz . b * mix ( jx . xxx , clamp ( p - jx . xxx , _0_0 , _1_0 ) , jz . g ) ; }".split(" ")}]}}]},{a:"cond",
  1923. d:[{a:"if",g:["USE_NODE_GEOMETRY_UV","USE_NODE_B4W_PARALLAX","USE_NODE_UV_MERGED","USE_NODE_TEX_COORD_UV","USE_NODE_UVMAP",{a:"logical_or_expr",i:5}],h:{a:"grp",d:[{a:"txt",b:"vec3 qP ( vec2 gl ) { return vec3 ( gl * 2.0 - vec2 ( _1_0 , _1_0 ) , _0_0 ) ; }".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["USE_NODE_TEXTURE_COLOR","USE_NODE_TEXTURE_NORMAL","USE_NODE_B4W_PARALLAX",{a:"logical_or_expr",i:3}],h:{a:"grp",d:[{a:"txt",b:"vec2 qQ ( vec3 gJ ) { return vec2 ( gJ . xy * _0_5 + vec2 ( _0_5 , _0_5 ) ) ; }".split(" ")}]}}]},
  1924. {a:"cond",d:[{a:"if",g:["USE_NODE_FRESNEL","USE_NODE_LAYER_WEIGHT",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"float qV ( vec3 qR , vec3 qS , float qT ) { float da = abs ( dot ( qR , qS ) ) ; float g = qT * qT - 1.0 + da * da ; float qU ; if ( g > 0.0 ) { g = sqrt ( g ) ; float cg = ( g - da ) / ( g + da ) ; float oN = ( da * ( g + da ) - 1.0 ) / ( da * ( g - da ) + 1.0 ) ; qU = 0.5 * cg * cg * ( 1.0 + oN * oN ) ; } else { qU = 1.0 ; } return qU ; }".split(" ")}]}}]},{a:"node",c:"CAMERA",
  1925. m:[],l:[{a:"node_out",c:"rq",f:["vec3"],e:!0},{a:"node_out",c:"rs",f:["float"],e:!0},{a:"node_out",c:"rt",f:["float"],e:!0}],j:[{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_rq"],j:[{a:"txt",b:"rq = normalize ( rn . xyz ) ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_rs"],j:[{a:"txt",b:"rs = abs ( rn . z ) ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_rt"],j:[{a:"txt",b:"rt = length ( rn . xyz ) ;".split(" ")}]}]}]},{a:"node",c:"COMBRGB",m:[],l:[{a:"node_in",c:"ru",f:["float"],
  1926. e:!1},{a:"node_in",c:"rv",f:["float"],e:!1},{a:"node_in",c:"rw",f:["float"],e:!1},{a:"node_out",c:"rx",f:["vec3"],e:!1}],j:[{a:"txt",b:"rx = vec3 ( ru , rv , rw ) ;".split(" ")}]},{a:"node",c:"COMBHSV",m:[],l:[{a:"node_in",c:"ry",f:["float"],e:!1},{a:"node_in",c:"rz",f:["float"],e:!1},{a:"node_in",c:"rA",f:["float"],e:!1},{a:"node_out",c:"rB",f:["vec3"],e:!1}],j:[{a:"txt",b:"rB = jA ( vec3 ( ry , rz , rA ) ) ;".split(" ")}]},{a:"node",c:"EMPTY_UV",m:[],l:[{a:"node_out",c:"rC",f:["vec3"],e:!1}],j:[{a:"txt",
  1927. b:"rC = vec3 ( - _1_0 , - _1_0 , _0_0 ) ;".split(" ")}]},{a:"node",c:"EMPTY_VC",m:[],l:[{a:"node_out",c:"rD",f:["vec3"],e:!1}],j:[{a:"txt",b:"rD = vec3 ( _0_0 ) ;".split(" ")}]},{a:"node",c:"GEOMETRY_UV",m:[],l:[{a:"node_out",c:"rE",f:["vec3"],e:!1},{a:"node_param",c:"qW",f:["GLSL_IN","vec2"],e:!1}],j:[{a:"txt",b:"rE = qP ( qW ) ;".split(" ")}]},{a:"node",c:"GEOMETRY_OR",m:[],l:[{a:"node_out",c:"rF",f:["vec3"],e:!1}],j:[{a:"txt",b:"rF = 2.0 * qL - vec3 ( _1_0 ) ;".split(" ")}]},{a:"node",c:"GEOMETRY_VC",
  1928. m:[],l:[{a:"node_out",c:"rG",f:["vec3"],e:!1},{a:"node_param",c:"qX",f:["GLSL_IN","vec3"],e:!1}],j:[{a:"txt",b:"rG = max ( vec3 ( _0_0 ) , qX ) ; bY ( rG ) ;".split(" ")}]},{a:"node",c:"GEOMETRY_VC1",m:[],l:[{a:"node_out",c:"rH",f:["float"],e:!1},{a:"node_param",c:"qY",f:["GLSL_IN","float"],e:!1}],j:[{a:"txt",b:"rH = max ( _0_0 , qY ) ; bY ( rH ) ;".split(" ")}]},{a:"node",c:"GEOMETRY_VC2",m:[],l:[{a:"node_out",c:"rI",f:["float"],e:!1},{a:"node_out",c:"rJ",f:["float"],e:!1},{a:"node_param",c:"qZ",
  1929. f:["GLSL_IN","vec2"],e:!1}],j:[{a:"txt",b:"rI = max ( _0_0 , qZ [ 0 ] ) ; rJ = max ( _0_0 , qZ [ 1 ] ) ; bY ( rI ) ; bY ( rJ ) ;".split(" ")}]},{a:"node",c:"GEOMETRY_VC3",m:[],l:[{a:"node_out",c:"rK",f:["float"],e:!1},{a:"node_out",c:"rL",f:["float"],e:!1},{a:"node_out",c:"rM",f:["float"],e:!1},{a:"node_param",c:"q_",f:["GLSL_IN","vec3"],e:!1}],j:[{a:"txt",b:"rK = max ( _0_0 , q_ [ 0 ] ) ; rL = max ( _0_0 , q_ [ 1 ] ) ; rM = max ( _0_0 , q_ [ 2 ] ) ; bY ( rK ) ; bY ( rL ) ; bY ( rM ) ;".split(" ")}]},
  1930. {a:"node",c:"GEOMETRY_NO",m:[],l:[{a:"node_out",c:"rN",f:["vec3"],e:!1}],j:[{a:"txt",b:"rN = rl . xyz ;".split(" ")}]},{a:"node",c:"GEOMETRY_FB",m:[],l:[{a:"node_out",c:"rO",f:["float"],e:!1}],j:[{a:"node_cond",d:[{a:"node_if",g:["REFLECTION_PASS","REFL_PASS_PLANE",{a:"equal_expr",i:2}],j:[{a:"txt",b:"rO = ( gl_FrontFacing ) ? _0_0 : _1_0 ;".split(" ")}]},{a:"node_else",j:[{a:"txt",b:"rO = ( gl_FrontFacing ) ? _1_0 : _0_0 ;".split(" ")}]}]}]},{a:"node",c:"GEOMETRY_BF",m:[],l:[{a:"node_out",c:"rP",
  1931. f:["float"],e:!1}],j:[{a:"node_cond",d:[{a:"node_if",g:["REFLECTION_PASS","REFL_PASS_PLANE",{a:"equal_expr",i:2}],j:[{a:"txt",b:"rP = ( gl_FrontFacing ) ? _1_0 : _0_0 ;".split(" ")}]},{a:"node_else",j:[{a:"txt",b:"rP = ( gl_FrontFacing ) ? _0_0 : _1_0 ;".split(" ")}]}]}]},{a:"node",c:"GEOMETRY_VW",m:[],l:[{a:"node_out",c:"rQ",f:["vec3"],e:!1}],j:[{a:"txt",b:"rQ = - T ( u_view_tsr_frag , nI ) ;".split(" ")}]},{a:"node",c:"GEOMETRY_LO",m:[],l:[{a:"node_out",c:"rR",f:["vec3"],e:!1}],j:[{a:"txt",b:"rR = rn . xyz ;".split(" ")}]},
  1932. {a:"node",c:"GEOMETRY_GL",m:[],l:[{a:"node_out",c:"rS",f:["vec3"],e:!1}],j:[{a:"txt",b:["rS","=","nG",";"]}]},{a:"node",c:"GEOMETRY_IN",m:[],l:[{a:"node_out",c:"rT",f:["vec3"],e:!1}],j:[{a:"txt",b:["rT","=","nI",";"]}]},{a:"node",c:"NEW_GEOMETRY",m:[],l:[{a:"node_out",c:"rU",f:["vec3"],e:!1},{a:"node_out",c:"rV",f:["vec3"],e:!1},{a:"node_out",c:"rW",f:["vec3"],e:!1},{a:"node_out",c:"rX",f:["vec3"],e:!1},{a:"node_out",c:"rY",f:["vec3"],e:!1},{a:"node_out",c:"rZ",f:["vec3"],e:!1},{a:"node_out",c:"r_",
  1933. f:["float"],e:!1},{a:"node_out",c:"sa",f:["float"],e:!1}],j:[{a:"txt",b:"rU = vec3 ( _0_0 ) ; rV = vec3 ( _0_0 ) ; rW = vec3 ( _0_0 ) ; rX = vec3 ( _0_0 ) ; rY = vec3 ( _0_0 ) ; rZ = vec3 ( _0_0 ) ; r_ = _0_0 ; sa = _0_0 ;".split(" ")}]},{a:"node",c:"HUE_SAT",m:[],l:[{a:"node_in",c:"sb",f:["float"],e:!1},{a:"node_in",c:"sc",f:["float"],e:!1},{a:"node_in",c:"sd",f:["float"],e:!1},{a:"node_in",c:"se",f:["float"],e:!1},{a:"node_in",c:"sf",f:["vec3"],e:!1},{a:"node_out",c:"sg",f:["vec3"],e:!1}],j:[{a:"txt",
  1934. b:"vec3 jz = jy ( sf ) ; jz [ 0 ] += ( sb - _0_5 ) ; if ( jz [ 0 ] > _1_0 ) jz [ 0 ] -= _1_0 ; else if ( jz [ 0 ] < _0_0 ) jz [ 0 ] += _1_0 ; jz *= vec3 ( _1_0 , sc , sd ) ; jz = mix ( vec3 ( _1_0 ) , mix ( vec3 ( _0_0 ) , jz , step ( vec3 ( _0_0 ) , jz ) ) , step ( jz , vec3 ( _1_0 ) ) ) ; sg = mix ( sf , jA ( jz ) , se ) ;".split(" ")}]},{a:"node",c:"INVERT",m:[],l:[{a:"node_in",c:"sh",f:["float"],e:!1},{a:"node_in",c:"si",f:["vec3"],e:!1},{a:"node_out",c:"sj",f:["vec3"],e:!1}],j:[{a:"txt",b:"sj = mix ( si , vec3 ( _1_0 ) - si , sh ) ;".split(" ")}]},
  1935. {a:"node",c:"LAMP",m:[{a:"node_var",c:"LAMP_TYPE",b:["HEMI"]},{a:"node_var",c:"LAMP_INDEX",b:["0"]},{a:"node_var",c:"LAMP_USE_SPHERE",b:["0"]},{a:"node_var",c:"LAMP_SPOT_SIZE",b:["0.8"]},{a:"node_var",c:"LAMP_SPOT_BLEND",b:["0.03"]},{a:"node_var",c:"LAMP_LIGHT_DIST",b:["30.0"]}],l:[{a:"node_out",c:"sk",f:["vec3"],e:!0},{a:"node_out",c:"sl",f:["vec3"],e:!1},{a:"node_out",c:"sm",f:["float"],e:!1},{a:"node_out",c:"sn",f:["float"],e:!0}],j:[{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_sk"],j:[{a:"txt",
  1936. b:"sk = u_lamp_light_color_intensities [ LAMP_INDEX ] ;".split(" ")}]}]},{a:"txt",b:"vec3 so = u_lamp_light_directions [ LAMP_INDEX ] ; vec3 sr = u_lamp_light_positions [ LAMP_INDEX ] ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["LAMP_TYPE","SPOT",{a:"equal_expr",i:2},"LAMP_TYPE","POINT",{a:"equal_expr",i:2},{a:"logical_or_expr",i:2}],j:[{a:"txt",b:"sl = - h + sr ; sm = length ( sl ) ; sl = normalize ( sl ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_sn"],j:[{a:"txt",b:"sn = LAMP_LIGHT_DIST / ( LAMP_LIGHT_DIST + sm * sm ) ;".split(" ")},
  1937. {a:"node_cond",d:[{a:"node_if",g:["LAMP_TYPE","SPOT",{a:"equal_expr",i:2}],j:[{a:"txt",b:"float ol = dot ( sl , so ) ; ol *= smoothstep ( _0_0 , _1_0 , ( ol - LAMP_SPOT_SIZE ) / LAMP_SPOT_BLEND ) ; sn *= ol ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["LAMP_USE_SPHERE"],j:[{a:"txt",b:"sn *= max ( LAMP_LIGHT_DIST - sm , _0_0 ) / LAMP_LIGHT_DIST ;".split(" ")}]}]}]}]}]},{a:"node_else",j:[{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_sl"],j:[{a:"txt",b:["sl","=","so",";"]}]}]},{a:"node_cond",d:[{a:"node_if",
  1938. g:["USE_OUT_sm"],j:[{a:"txt",b:"sm = length ( sr - h ) ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_sn"],j:[{a:"txt",b:["sn","=","_1_0",";"]}]}]}]}]}]},{a:"node",c:"NORMAL",m:[],l:[{a:"node_in",c:"su",f:["vec3"],e:!1},{a:"node_out",c:"sv",f:["vec3"],e:!0},{a:"node_out",c:"sw",f:["float"],e:!0},{a:"node_param",c:"rc",f:["vec3"],e:!1}],j:[{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_sv"],j:[{a:"txt",b:["sv","=","rc",";"]}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_sw"],j:[{a:"txt",
  1939. b:"sw = - dot ( su , rc ) ;".split(" ")}]}]}]},{a:"node",c:"B4W_VECTOR_VIEW",m:[],l:[{a:"node_in",c:"sx",f:["vec3"],e:!1},{a:"node_out",c:"sy",f:["vec3"],e:!1}],j:[{a:"txt",b:"sy = - T ( u_view_tsr_frag , sx ) ;".split(" ")}]},{a:"node",c:"BSDF_BEGIN",m:[],l:[{a:"node_in",c:"sz",f:["vec3"],e:!1},{a:"node_in",c:"sA",f:["vec3"],e:!1},{a:"node_in",c:"sB",f:["float"],e:!1},{a:"node_in",c:"sC",f:["vec3"],e:!1},{a:"node_in",c:"sD",f:["float"],e:!1},{a:"node_in",c:"sE",f:["float"],e:!1},{a:"node_in",c:"sF",
  1940. f:["vec3"],e:!1},{a:"node_in",c:"sG",f:["vec3"],e:!1},{a:"node_in",c:"sH",f:["float"],e:!1},{a:"node_out",c:"sI",f:["vec3"],e:!1},{a:"node_out",c:"sJ",f:["vec3"],e:!1},{a:"node_out",c:"sK",f:["vec3"],e:!1},{a:"node_out",c:"sL",f:["vec3"],e:!1},{a:"node_out",c:"sM",f:["vec3"],e:!1},{a:"node_out",c:"sN",f:["vec4"],e:!1},{a:"node_out",c:"sO",f:["vec4"],e:!1},{a:"node_out",c:"sP",f:["vec3"],e:!1},{a:"node_out",c:"sQ",f:["float"],e:!1},{a:"node_out",c:"sR",f:["vec3"],e:!1},{a:"node_out",c:"sS",f:["float"],
  1941. e:!1}],j:[{a:"txt",b:"sK = sA ; sL = sC ; sM = sF ; sP = sC ; sQ = sE ; sR = sG ; sS = sH ; sI = ro * sK ; sJ = rp * u_environment_energy * ce ( sM ) ; sO = ch ( sK ) ; G = sO ; sN [ 0 ] = sB ; sN [ 1 ] = sD ; sN [ 2 ] = sE ;".split(" ")}]},{a:"node",c:"BSDF_END",m:[],l:[{a:"node_in",c:"sT",f:["vec4"],e:!1},{a:"node_in",c:"sU",f:["vec3"],e:!1},{a:"node_in",c:"sV",f:["vec3"],e:!1},{a:"node_in",c:"sW",f:["vec3"],e:!1},{a:"node_in",c:"sX",f:["float"],e:!1},{a:"node_in",c:"sY",f:["vec3"],e:!1},{a:"node_in",
  1942. c:"sZ",f:["float"],e:!1}],j:[{a:"node_cond",d:[{a:"node_if",g:["REFLECTION_TYPE","REFL_CUBE",{a:"equal_expr",i:2}],j:[{a:"txt",b:"D = qK ( sT . rgb , sW , nI , sV , sX , mat3 ( _0_0 ) ) ;".split(" ")}]},{a:"node_elif",g:["REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2}],j:[{a:"txt",b:"D = qK ( sT . rgb , sW , nI , sV , sX , u_view_tsr_frag ) ;".split(" ")}]},{a:"node_else",j:[{a:"txt",b:"D = sT . rgb ;".split(" ")}]}]},{a:"txt",b:"D += sU ; D = mix ( D , sY , sZ ) ; sV ;".split(" ")}]},{a:"node",
  1943. c:"BSDF_COMPUTE",m:[{a:"node_var",c:"MAT_USE_TBN_SHADING",b:["0"]}],l:[{a:"node_in",c:"s_",f:["vec3"],e:!1},{a:"node_in",c:"ta",f:["vec2"],e:!1},{a:"node_in",c:"tb",f:["vec3"],e:!1},{a:"node_in",c:"tc",f:["float"],e:!1},{a:"node_in",c:"td",f:["vec4"],e:!1},{a:"node_out",c:"te",f:["float"],e:!1},{a:"node_out",c:"tf",f:["float"],e:!1}],j:[{a:"txt",b:"vec3 qS = tb ; float tg = clamp ( td [ 0 ] , _0_0 , _1_0 ) ; float th = clamp ( td [ 1 ] , _0_0 , _1_0 ) ; float qJ = td [ 2 ] ; vec3 pg = normalize ( nI + s_ ) ; float ot = ( _1_0 - tc ) * dot ( qS , s_ ) + tc ; float ti = ( _1_0 - tc ) * max ( dot ( s_ , pg ) , _0_0 ) + tc ; float tj = ( _1_0 - tc ) * max ( dot ( tb , pg ) , _0_0 ) + tc ; te = _0_0 ; if ( ta . r != _0_0 ) { if ( tg > _0_0 ) { float oF = max ( dot ( qS , nI ) , _0_0 ) ; float oG = tg * tg ; float cg = _1_0 - _0_5 * ( oG / ( oG + 0.33 ) ) ; vec3 oH = s_ - ot * qS ; vec3 oI = nI - oF * qS ; if ( length ( oH ) == _0_0 || length ( oI ) == _0_0 || abs ( ot ) > _1_0 || abs ( oF ) > _1_0 ) te = ot * cg ; else { float oJ = acos ( ot ) ; float oK = acos ( oF ) ; vec3 oL = normalize ( oH ) ; vec3 oM = normalize ( oI ) ; float a , b ; a = max ( oJ , oK ) ; b = min ( oJ , oK ) ; b *= 0.95 ; float t = max ( dot ( oL , oM ) , _0_0 ) ; float oN = 0.45 * ( oG / ( oG + 0.09 ) ) ; te = ot * ( cg + ( oN * t * sin ( a ) * tan ( b ) ) ) ; } } else te = ot ; te = max ( te , _0_0 ) ; } float J = th ; float tk = J * J ; float tl = ( tj * tk - tj ) * tj + _1_0 ; float cd = tk / ( M_PI * tl * tl ) ; float tm ; float tn ; float to = pow ( _1_0 - ti , 5.0 ) ; tm = _1_0 ; tn = to ; float jx = J / 2.0 ; float tr = jx * jx ; float tu = _1_0 - tr ; float tv = _1_0 / ( ti * ti * tu + tr ) ; tm *= tv ; tn *= tv ; float tw = mix ( 0.04 , _1_0 , qJ ) ; float tx = mix ( tn , tm , tw ) ; tf = max ( ot * cd * tx , _0_0 ) ;".split(" ")}]},
  1944. {a:"node",c:"BSDF_ANISOTROPIC",m:[],l:[{a:"node_in",c:"ty",f:["vec3"],e:!1},{a:"node_in",c:"tz",f:["float"],e:!1},{a:"node_in",c:"tA",f:["float"],e:!1},{a:"node_in",c:"tB",f:["float"],e:!1},{a:"node_in",c:"tC",f:["vec3"],e:!1},{a:"node_in",c:"tD",f:["vec3"],e:!1},{a:"node_out",c:"tE",f:["vec3"],e:!1}],j:[{a:"txt",b:"tE = ty ; tz ; tA ; tB ; tC ; tD ;".split(" ")}]},{a:"node",c:"BSDF_DIFFUSE",m:[{a:"node_var",c:"USE_NORMAL_IN",b:["0"]}],l:[{a:"node_in",c:"tF",f:["vec3"],e:!1},{a:"node_in",c:"tG",f:["float"],
  1945. e:!1},{a:"node_in",c:"tH",f:["vec3"],e:!1},{a:"node_out",c:"tI",f:["vec3"],e:!1},{a:"node_out",c:"tJ",f:["vec3"],e:!1},{a:"node_out",c:"tK",f:["float"],e:!1},{a:"node_out",c:"tL",f:["vec3"],e:!1},{a:"node_out",c:"tM",f:["float"],e:!1},{a:"node_out",c:"tN",f:["float"],e:!1},{a:"node_out",c:"tO",f:["vec3"],e:!1},{a:"node_out",c:"tP",f:["vec3"],e:!1},{a:"node_out",c:"tQ",f:["float"],e:!1}],j:[{a:"txt",b:"tJ = tF ; tK = tG ; tN = _0_0 ; tQ = _0_0 ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["USE_NORMAL_IN"],
  1946. j:[{a:"txt",b:["tO","=","tH",";"]}]},{a:"node_else",j:[{a:"txt",b:["tO","=","nH",";"]}]}]},{a:"txt",b:"tI ; tL ; tM ; tP ;".split(" ")}]},{a:"node",c:"BSDF_GLASS",m:[],l:[{a:"node_in",c:"tR",f:["vec3"],e:!1},{a:"node_in",c:"tS",f:["float"],e:!1},{a:"node_in",c:"tT",f:["float"],e:!1},{a:"node_in",c:"tU",f:["vec3"],e:!1},{a:"node_out",c:"tV",f:["vec3"],e:!1}],j:[{a:"txt",b:"tV = tR ; tS ; tT ; tU ;".split(" ")}]},{a:"node",c:"BSDF_GLOSSY",m:[{a:"node_var",c:"USE_NORMAL_IN",b:["0"]}],l:[{a:"node_in",
  1947. c:"tW",f:["vec3"],e:!1},{a:"node_in",c:"tX",f:["float"],e:!1},{a:"node_in",c:"tY",f:["vec3"],e:!1},{a:"node_out",c:"tZ",f:["vec3"],e:!1},{a:"node_out",c:"t_",f:["vec3"],e:!1},{a:"node_out",c:"ua",f:["float"],e:!1},{a:"node_out",c:"ub",f:["vec3"],e:!1},{a:"node_out",c:"uc",f:["float"],e:!1},{a:"node_out",c:"ud",f:["float"],e:!1},{a:"node_out",c:"ue",f:["vec3"],e:!1},{a:"node_out",c:"uf",f:["vec3"],e:!1},{a:"node_out",c:"ug",f:["float"],e:!1}],j:[{a:"txt",b:"ub = tW ; uc = tX ; ud = _1_0 ; ug = _0_0 ;".split(" ")},
  1948. {a:"node_cond",d:[{a:"node_if",g:["USE_NORMAL_IN"],j:[{a:"txt",b:["ue","=","tY",";"]}]},{a:"node_else",j:[{a:"txt",b:["ue","=","nH",";"]}]}]},{a:"txt",b:"tZ ; t_ ; ua ; uf ;".split(" ")}]},{a:"node",c:"BSDF_HAIR",m:[],l:[{a:"node_in",c:"uh",f:["vec3"],e:!1},{a:"node_in",c:"ui",f:["float"],e:!1},{a:"node_in",c:"uj",f:["float"],e:!1},{a:"node_in",c:"uk",f:["float"],e:!1},{a:"node_out",c:"ul",f:["vec3"],e:!1}],j:[{a:"txt",b:"ul = uh ; ui ; uj ; uk ;".split(" ")}]},{a:"node",c:"BSDF_TRANSPARENT",m:[],
  1949. l:[{a:"node_in",c:"um",f:["vec3"],e:!1},{a:"node_out",c:"un",f:["vec3"],e:!1}],j:[{a:"txt",b:["un","=","um",";"]}]},{a:"node",c:"BSDF_TRANSLUCENT",m:[],l:[{a:"node_in",c:"uo",f:["vec3"],e:!1},{a:"node_in",c:"up",f:["vec3"],e:!1},{a:"node_out",c:"uq",f:["vec3"],e:!1}],j:[{a:"txt",b:"uq = uo ; up ;".split(" ")}]},{a:"node",c:"BSDF_REFRACTION",m:[],l:[{a:"node_in",c:"ur",f:["vec3"],e:!1},{a:"node_in",c:"us",f:["float"],e:!1},{a:"node_in",c:"ut",f:["float"],e:!1},{a:"node_in",c:"uu",f:["vec3"],e:!1},
  1950. {a:"node_out",c:"uv",f:["vec3"],e:!1}],j:[{a:"txt",b:"uv [ 0 ] = uv [ 1 ] = uv [ 2 ] = _0_0 ; ur ; us ; ut ; uu ;".split(" ")}]},{a:"node",c:"BSDF_TOON",m:[],l:[{a:"node_in",c:"uw",f:["vec3"],e:!1},{a:"node_in",c:"ux",f:["float"],e:!1},{a:"node_in",c:"uy",f:["float"],e:!1},{a:"node_in",c:"uz",f:["vec3"],e:!1},{a:"node_out",c:"uA",f:["vec3"],e:!1}],j:[{a:"txt",b:"uA = uw ; ux ; uy ; uz ;".split(" ")}]},{a:"node",c:"BSDF_VELVET",m:[],l:[{a:"node_in",c:"uB",f:["vec3"],e:!1},{a:"node_in",c:"uC",f:["float"],
  1951. e:!1},{a:"node_in",c:"uD",f:["vec3"],e:!1},{a:"node_out",c:"uE",f:["vec3"],e:!1}],j:[{a:"txt",b:"uE = uB ; uC ; uD ;".split(" ")}]},{a:"node",c:"SUBSURFACE_SCATTERING",m:[],l:[{a:"node_in",c:"uF",f:["vec3"],e:!1},{a:"node_in",c:"uG",f:["float"],e:!1},{a:"node_in",c:"uH",f:["vec3"],e:!1},{a:"node_in",c:"uI",f:["float"],e:!1},{a:"node_in",c:"uJ",f:["float"],e:!1},{a:"node_in",c:"uK",f:["vec3"],e:!1},{a:"node_out",c:"uL",f:["vec3"],e:!1}],j:[{a:"txt",b:"uL [ 0 ] = uL [ 1 ] = uL [ 2 ] = _0_0 ; uF ; uH ; uI ; uJ ; uK ; uG ;".split(" ")}]},
  1952. {a:"node",c:"EMISSION",m:[],l:[{a:"node_in",c:"uM",f:["vec3"],e:!1},{a:"node_in",c:"uN",f:["float"],e:!1},{a:"node_out",c:"uO",f:["vec3"],e:!1},{a:"node_out",c:"uP",f:["vec3"],e:!1},{a:"node_out",c:"uQ",f:["float"],e:!1},{a:"node_out",c:"uR",f:["vec3"],e:!1},{a:"node_out",c:"uS",f:["float"],e:!1},{a:"node_out",c:"uT",f:["float"],e:!1},{a:"node_out",c:"uU",f:["vec3"],e:!1},{a:"node_out",c:"uV",f:["vec3"],e:!1},{a:"node_out",c:"uW",f:["float"],e:!1}],j:[{a:"txt",b:"uV = uN * uM ; uT = _0_0 ; uW = _1_0 ; uU = nH ; uO ; uP ; uQ ; uR ; uS ;".split(" ")}]},
  1953. {a:"node",c:"AMBIENT_OCCLUSION",m:[],l:[{a:"node_in",c:"uX",f:["vec3"],e:!1},{a:"node_out",c:"uY",f:["vec3"],e:!1}],j:[{a:"txt",b:"uY [ 0 ] = uY [ 1 ] = uY [ 2 ] = _0_0 ; uX ;".split(" ")}]},{a:"node",c:"HOLDOUT",m:[],l:[{a:"node_out",c:"uZ",f:["vec3"],e:!1}],j:[{a:"txt",b:"uZ [ 0 ] = uZ [ 1 ] = uZ [ 2 ] = _0_0 ;".split(" ")}]},{a:"node",c:"VOLUME_ABSORPTION",m:[],l:[{a:"node_in",c:"u_",f:["vec3"],e:!1},{a:"node_in",c:"va",f:["float"],e:!1},{a:"node_out",c:"vb",f:["vec3"],e:!1}],j:[{a:"txt",b:"vb [ 0 ] = vb [ 1 ] = vb [ 2 ] = _0_0 ; u_ ; va ;".split(" ")}]},
  1954. {a:"node",c:"VOLUME_SCATTER",m:[],l:[{a:"node_in",c:"vc",f:["vec3"],e:!1},{a:"node_in",c:"vd",f:["float"],e:!1},{a:"node_in",c:"ve",f:["float"],e:!1},{a:"node_out",c:"vf",f:["vec3"],e:!1}],j:[{a:"txt",b:"vf [ 0 ] = vf [ 1 ] = vf [ 2 ] = _0_0 ; vc ; vd ; ve ;".split(" ")}]},{a:"node",c:"BUMP",m:[{a:"node_var",c:"INVERT",b:["0"]},{a:"node_var",c:"USE_NORMAL_IN",b:["0"]}],l:[{a:"node_in",c:"vg",f:["float"],e:!1},{a:"node_in",c:"vh",f:["float"],e:!1},{a:"node_in",c:"vi",f:["float"],e:!1},{a:"node_in",
  1955. c:"vj",f:["vec3"],e:!1},{a:"node_out",c:"vk",f:["vec3"],e:!1}],j:[{a:"txt",b:"float aC = vh ; float fX = vg ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["INVERT"],j:[{a:"txt",b:["aC","=","-","1.0",";"]}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_NORMAL_IN"],j:[{a:"txt",b:["vec3","P","=","vj",";"]}]},{a:"node_else",j:[{a:"txt",b:["vec3","P","=","nH",";"]}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_DERIVATIVES_EXT"],j:[{a:"txt",b:"vec3 vl = dFdx ( nG ) ; vec3 vm = dFdy ( nG ) ; vec3 vn = cross ( vm , P ) ; vec3 vo = cross ( P , vl ) ; float db = dot ( vl , vn ) ; float vp = abs ( db ) ; vec3 vq = dFdx ( vi ) * vn + dFdy ( vi ) * vo ; fX = max ( fX , 0.0 ) ; vk = normalize ( vp * P - aC * sign ( db ) * vq ) ; vk = normalize ( fX * vk + ( 1.0 - fX ) * P ) ;".split(" ")}]},
  1956. {a:"node_else",j:[{a:"txt",b:["vk","=","P",";"]}]}]}]},{a:"node",c:"NORMAL_MAP",m:[{a:"node_var",c:"SPACE",b:["NM_TANGENT"]}],l:[{a:"node_in",c:"vr",f:["float"],e:!1},{a:"node_in",c:"vs",f:["vec4"],e:!1},{a:"node_out",c:"vt",f:["vec3"],e:!1}],j:[{a:"txt",b:["vec3","vu","=","nH",";"]},{a:"node_cond",d:[{a:"node_if",g:["SPACE","NM_TANGENT",{a:"equal_expr",i:2}],j:[{a:"txt",b:"vt = 2.0 * vs . xyz - _1_0 ; vt = rm * vt ;".split(" ")}]},{a:"node_elif",g:["SPACE","NM_OBJECT",{a:"equal_expr",i:2},"SPACE",
  1957. "NM_FDAGE_OBJECT",{a:"equal_expr",i:2},{a:"logical_or_expr",i:2}],j:[{a:"txt",b:"vt = 2.0 * vs . xyz - _1_0 ; vt . yz *= - 1.0 ; vt = T ( u_model_tsr , vt ) ;".split(" ")}]},{a:"node_elif",g:["SPACE","NM_WORLD",{a:"equal_expr",i:2},"SPACE","NM_FDAGE_WORLD",{a:"equal_expr",i:2},{a:"logical_or_expr",i:2}],j:[{a:"txt",b:"vt = 2.0 * vs . xyz - _1_0 ; vt . yz *= - 1.0 ;".split(" ")}]}]},{a:"txt",b:"vt = normalize ( mix ( vu , vt , vr ) ) ;".split(" ")}]},{a:"node",c:"VECT_TRANSFORM",m:[{a:"node_var",
  1958. c:"CONVERT_TYPE",b:["VT_WORLD_TO_OBJECT"]},{a:"node_var",c:"VECTOR_TYPE",b:["VT_VECTOR"]}],l:[{a:"node_in",c:"vv",f:["vec3"],e:!1},{a:"node_out",c:"vw",f:["vec3"],e:!1}],j:[{a:"node_cond",d:[{a:"node_if",g:["CONVERT_TYPE","VT_WORLD_TO_WORLD",{a:"equal_expr",i:2},"CONVERT_TYPE","VT_OBJECT_TO_OBJECT",{a:"equal_expr",i:2},"CONVERT_TYPE","VT_CAMERA_TO_CAMERA",{a:"equal_expr",i:2},{a:"logical_or_expr",i:3}],j:[{a:"txt",b:["vw","=","vv",";"]}]},{a:"node_else",j:[{a:"node_cond",d:[{a:"node_if",g:["VECTOR_TYPE",
  1959. "VT_POINT",{a:"equal_expr",i:2}],j:[{a:"node_cond",d:[{a:"node_if",g:["CONVERT_TYPE","VT_WORLD_TO_CAMERA",{a:"equal_expr",i:2}],j:[{a:"txt",b:"vw = ad ( u_view_tsr_frag , vv ) ;".split(" ")}]},{a:"node_elif",g:["CONVERT_TYPE","VT_WORLD_TO_OBJECT",{a:"equal_expr",i:2}],j:[{a:"txt",b:"vw = ad ( u_model_tsr_inverse , vv ) ;".split(" ")}]},{a:"node_elif",g:["CONVERT_TYPE","VT_OBJECT_TO_WORLD",{a:"equal_expr",i:2}],j:[{a:"txt",b:"vw = ad ( u_model_tsr , vv ) ;".split(" ")}]},{a:"node_elif",g:["CONVERT_TYPE",
  1960. "VT_OBJECT_TO_CAMERA",{a:"equal_expr",i:2}],j:[{a:"txt",b:"vw = ad ( u_model_tsr , vv ) ; vw = ad ( u_view_tsr_frag , vw ) ;".split(" ")}]},{a:"node_elif",g:["CONVERT_TYPE","VT_CAMERA_TO_WORLD",{a:"equal_expr",i:2}],j:[{a:"txt",b:"vw = ad ( u_view_tsr_inverse , vv ) ;".split(" ")}]},{a:"node_elif",g:["CONVERT_TYPE","VT_CAMERA_TO_OBJECT",{a:"equal_expr",i:2}],j:[{a:"txt",b:"vw = ad ( u_view_tsr_inverse , vv ) ; vw = ad ( u_model_tsr_inverse , vw ) ;".split(" ")}]}]}]},{a:"node_else",j:[{a:"node_cond",
  1961. d:[{a:"node_if",g:["CONVERT_TYPE","VT_WORLD_TO_CAMERA",{a:"equal_expr",i:2}],j:[{a:"txt",b:"vw = T ( u_view_tsr_frag , vv ) ;".split(" ")}]},{a:"node_elif",g:["CONVERT_TYPE","VT_WORLD_TO_OBJECT",{a:"equal_expr",i:2}],j:[{a:"txt",b:"vw = T ( u_model_tsr_inverse , vv ) ;".split(" ")}]},{a:"node_elif",g:["CONVERT_TYPE","VT_OBJECT_TO_WORLD",{a:"equal_expr",i:2}],j:[{a:"txt",b:"vw = T ( u_model_tsr , vv ) ;".split(" ")}]},{a:"node_elif",g:["CONVERT_TYPE","VT_OBJECT_TO_CAMERA",{a:"equal_expr",i:2}],j:[{a:"txt",
  1962. b:"vw = T ( u_model_tsr , vv ) ; vw = T ( u_view_tsr_frag , vw ) ;".split(" ")}]},{a:"node_elif",g:["CONVERT_TYPE","VT_CAMERA_TO_WORLD",{a:"equal_expr",i:2}],j:[{a:"txt",b:"vw = T ( u_view_tsr_inverse , vv ) ;".split(" ")}]},{a:"node_elif",g:["CONVERT_TYPE","VT_CAMERA_TO_OBJECT",{a:"equal_expr",i:2}],j:[{a:"txt",b:"vw = T ( u_view_tsr_inverse , vv ) ; vw = T ( u_model_tsr_inverse , vw ) ;".split(" ")}]}]}]}]},{a:"node_cond",d:[{a:"node_if",g:["VECTOR_TYPE","VT_NORMAL",{a:"equal_expr",i:2}],j:[{a:"txt",
  1963. b:"vw = normalize ( vw ) ;".split(" ")}]}]}]}]}]},{a:"node",c:"BLACKBODY",m:[],l:[{a:"node_in",c:"vx",f:["float"],e:!1},{a:"node_out",c:"vy",f:["vec3"],e:!1}],j:[{a:"txt",b:"vy [ 0 ] = vy [ 1 ] = vy [ 2 ] = _0_0 ; vx ;".split(" ")}]},{a:"node",c:"WAVELENGTH",m:[],l:[{a:"node_in",c:"vz",f:["float"],e:!1},{a:"node_out",c:"vA",f:["vec3"],e:!1}],j:[{a:"txt",b:"vA [ 0 ] = vA [ 1 ] = vA [ 2 ] = _0_0 ; vz ;".split(" ")}]},{a:"node",c:"SEPXYZ",m:[],l:[{a:"node_in",c:"vB",f:["vec3"],e:!1},{a:"node_out",c:"vC",
  1964. f:["float"],e:!1},{a:"node_out",c:"vD",f:["float"],e:!1},{a:"node_out",c:"vE",f:["float"],e:!1}],j:[{a:"txt",b:"vC = vB [ 0 ] ; vD = vB [ 1 ] ; vE = vB [ 2 ] ;".split(" ")}]},{a:"node",c:"COMBXYZ",m:[],l:[{a:"node_in",c:"vF",f:["float"],e:!1},{a:"node_in",c:"vG",f:["float"],e:!1},{a:"node_in",c:"vH",f:["float"],e:!1},{a:"node_out",c:"vI",f:["vec3"],e:!1}],j:[{a:"txt",b:"vI [ 0 ] = vF ; vI [ 1 ] = vG ; vI [ 2 ] = vH ;".split(" ")}]},{a:"node",c:"BRIGHTCONTRAST",m:[],l:[{a:"node_in",c:"vJ",f:["vec3"],
  1965. e:!1},{a:"node_in",c:"vK",f:["float"],e:!1},{a:"node_in",c:"vL",f:["float"],e:!1},{a:"node_out",c:"vM",f:["vec3"],e:!1}],j:[{a:"txt",b:"float b = vK - vL * _0_5 ; vM = max ( ( _1_0 + vL ) * vJ + b , vec3 ( _0_0 ) ) ;".split(" ")}]},{a:"node",c:"LIGHT_FALLOFF",m:[],l:[{a:"node_in",c:"vN",f:["float"],e:!1},{a:"node_in",c:"vO",f:["float"],e:!1},{a:"node_out",c:"vP",f:["float"],e:!1},{a:"node_out",c:"vQ",f:["float"],e:!1},{a:"node_out",c:"vR",f:["float"],e:!1}],j:[{a:"txt",b:"vP = vQ = vR = _0_0 ; vN ; vO ;".split(" ")}]},
  1966. {a:"node",c:"TEX_SKY",m:[],l:[{a:"node_in",c:"vS",f:["vec3"],e:!1},{a:"node_out",c:"vT",f:["vec3"],e:!1}],j:[{a:"txt",b:"vT [ 0 ] = vT [ 1 ] = vT [ 2 ] = _0_0 ; vS ;".split(" ")}]},{a:"node",c:"TEX_NOISE",m:[],l:[{a:"node_in",c:"vU",f:["vec3"],e:!1},{a:"node_in",c:"vV",f:["float"],e:!1},{a:"node_in",c:"vW",f:["float"],e:!1},{a:"node_in",c:"vX",f:["float"],e:!1},{a:"node_out",c:"vY",f:["vec3"],e:!1},{a:"node_out",c:"vZ",f:["float"],e:!1}],j:[{a:"txt",b:"vY [ 0 ] = vY [ 1 ] = vY [ 2 ] = _0_0 ; vZ = _1_0 ; vU ; vV ; vW ; vX ;".split(" ")}]},
  1967. {a:"node",c:"TEX_WAVE",m:[],l:[{a:"node_in",c:"v_",f:["vec3"],e:!1},{a:"node_in",c:"wa",f:["float"],e:!1},{a:"node_in",c:"wb",f:["float"],e:!1},{a:"node_in",c:"wc",f:["float"],e:!1},{a:"node_in",c:"wd",f:["float"],e:!1},{a:"node_out",c:"we",f:["vec3"],e:!1},{a:"node_out",c:"wf",f:["float"],e:!1}],j:[{a:"txt",b:"we [ 0 ] = we [ 1 ] = we [ 2 ] = _0_0 ; wf = _1_0 ; v_ ; wa ; wb ; wc ; wd ;".split(" ")}]},{a:"node",c:"TEX_VORONOI",m:[],l:[{a:"node_in",c:"wg",f:["vec3"],e:!1},{a:"node_in",c:"wh",f:["float"],
  1968. e:!1},{a:"node_out",c:"wi",f:["vec3"],e:!1},{a:"node_out",c:"wj",f:["float"],e:!1}],j:[{a:"txt",b:"wi [ 0 ] = wi [ 1 ] = wi [ 2 ] = _0_0 ; wj = _1_0 ; wg ; wh ;".split(" ")}]},{a:"node",c:"TEX_MUSGRAVE",m:[],l:[{a:"node_in",c:"wk",f:["vec3"],e:!1},{a:"node_in",c:"wl",f:["float"],e:!1},{a:"node_in",c:"wm",f:["float"],e:!1},{a:"node_in",c:"wn",f:["float"],e:!1},{a:"node_in",c:"wo",f:["float"],e:!1},{a:"node_in",c:"wp",f:["float"],e:!1},{a:"node_in",c:"wq",f:["float"],e:!1},{a:"node_out",c:"wr",f:["vec3"],
  1969. e:!1},{a:"node_out",c:"ws",f:["float"],e:!1}],j:[{a:"txt",b:"wr [ 0 ] = wr [ 1 ] = wr [ 2 ] = _0_0 ; ws = _1_0 ; wk ; wl ; wm ; wn ; wo ; wp ; wq ;".split(" ")}]},{a:"node",c:"TEX_GRADIENT",m:[],l:[{a:"node_in",c:"wt",f:["vec3"],e:!1},{a:"node_out",c:"wu",f:["vec3"],e:!1},{a:"node_out",c:"wv",f:["float"],e:!1}],j:[{a:"txt",b:"wu [ 0 ] = wu [ 1 ] = wu [ 2 ] = _0_0 ; wv = _1_0 ; wt ;".split(" ")}]},{a:"node",c:"TEX_MAGIC",m:[],l:[{a:"node_in",c:"wA",f:["vec3"],e:!1},{a:"node_in",c:"wB",f:["float"],
  1970. e:!1},{a:"node_in",c:"wC",f:["float"],e:!1},{a:"node_out",c:"wD",f:["vec3"],e:!1},{a:"node_out",c:"wE",f:["float"],e:!1}],j:[{a:"txt",b:"wD [ 0 ] = wD [ 1 ] = wD [ 2 ] = _0_0 ; wE = _1_0 ; wA ; wB ; wC ;".split(" ")}]},{a:"node",c:"TEX_CHECKER",m:[],l:[{a:"node_in",c:"wF",f:["vec3"],e:!1},{a:"node_in",c:"wG",f:["vec3"],e:!1},{a:"node_in",c:"wH",f:["vec3"],e:!1},{a:"node_in",c:"wI",f:["float"],e:!1},{a:"node_out",c:"wJ",f:["vec3"],e:!1},{a:"node_out",c:"wK",f:["float"],e:!1}],j:[{a:"txt",b:"wJ [ 0 ] = wJ [ 1 ] = wJ [ 2 ] = _0_0 ; wK = _1_0 ; wF ; wG ; wH ; wI ;".split(" ")}]},
  1971. {a:"node",c:"TEX_BRICK",m:[],l:[{a:"node_in",c:"wL",f:["vec3"],e:!1},{a:"node_in",c:"wM",f:["vec3"],e:!1},{a:"node_in",c:"wN",f:["vec3"],e:!1},{a:"node_in",c:"wO",f:["vec3"],e:!1},{a:"node_in",c:"wP",f:["float"],e:!1},{a:"node_in",c:"wQ",f:["float"],e:!1},{a:"node_in",c:"wR",f:["float"],e:!1},{a:"node_in",c:"wS",f:["float"],e:!1},{a:"node_in",c:"wT",f:["float"],e:!1},{a:"node_out",c:"wU",f:["vec3"],e:!1},{a:"node_out",c:"wV",f:["float"],e:!1}],j:[{a:"txt",b:"wU [ 0 ] = wU [ 1 ] = wU [ 2 ] = _0_0 ; wV = _1_0 ; wL ; wM ; wN ; wO ; wP ; wQ ; wR ; wS ; wT ;".split(" ")}]},
  1972. {a:"node",c:"ADD_SHADER",m:[],l:[{a:"node_in",c:"wW",f:["vec3"],e:!1},{a:"node_in",c:"wX",f:["vec3"],e:!1},{a:"node_out",c:"wY",f:["vec3"],e:!1}],j:[{a:"txt",b:"wY = clamp ( wW + wX , vec3 ( _0_0 ) , vec3 ( _1_0 ) ) ;".split(" ")}]},{a:"node",c:"MIX_SHADER",m:[],l:[{a:"node_in",c:"wZ",f:["float"],e:!1},{a:"node_in",c:"w_",f:["vec3"],e:!1},{a:"node_in",c:"xa",f:["vec3"],e:!1},{a:"node_in",c:"xb",f:["vec3"],e:!1},{a:"node_in",c:"xc",f:["float"],e:!1},{a:"node_in",c:"xd",f:["vec3"],e:!1},{a:"node_in",
  1973. c:"xe",f:["float"],e:!1},{a:"node_in",c:"xf",f:["float"],e:!1},{a:"node_in",c:"xg",f:["vec3"],e:!1},{a:"node_in",c:"xh",f:["vec3"],e:!1},{a:"node_in",c:"xi",f:["float"],e:!1},{a:"node_in",c:"xj",f:["vec3"],e:!1},{a:"node_in",c:"xk",f:["float"],e:!1},{a:"node_in",c:"xl",f:["vec3"],e:!1},{a:"node_in",c:"xm",f:["float"],e:!1},{a:"node_in",c:"xn",f:["float"],e:!1},{a:"node_in",c:"xo",f:["vec3"],e:!1},{a:"node_in",c:"xp",f:["vec3"],e:!1},{a:"node_in",c:"xq",f:["float"],e:!1},{a:"node_out",c:"xr",f:["vec3"],
  1974. e:!1},{a:"node_out",c:"xs",f:["vec3"],e:!1},{a:"node_out",c:"xt",f:["float"],e:!1},{a:"node_out",c:"xu",f:["vec3"],e:!1},{a:"node_out",c:"xv",f:["float"],e:!1},{a:"node_out",c:"xA",f:["float"],e:!1},{a:"node_out",c:"xB",f:["vec3"],e:!1},{a:"node_out",c:"xC",f:["vec3"],e:!1},{a:"node_out",c:"xD",f:["float"],e:!1}],j:[{a:"txt",b:"float xE = clamp ( wZ , _0_0 , _1_0 ) ; xs = mix ( xb , xj , xE ) ; xt = mix ( xc , xk , xE ) ; if ( xf > _0_0 ) { if ( xn > _0_0 ) { xu = mix ( xd , xl , xE ) ; xv = mix ( xe , xm , xE ) ; } else { xu = xd ; xv = xe ; } } else { xu = xl ; xv = xm ; } if ( xi > _0_0 ) { if ( xq > _0_0 ) { xC = mix ( xh , xp , xE ) ; } else { xC = xh ; } } else { xC = xp ; } xA = mix ( xf , xn , xE ) ; xB = mix ( xg , xo , xE ) ; xD = mix ( xi , xq , xE ) ;".split(" ")}]},
  1975. {a:"node",c:"UV_MERGED",m:[],l:[{a:"node_out",c:"xF",f:["vec3"],e:!1},{a:"node_out",c:"xG",f:["vec3"],e:!1},{a:"node_param",c:"rd",f:["GLSL_IN","vec2"],e:!1}],j:[{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_xF"],j:[{a:"txt",b:"xF = qP ( rd ) ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_xG"],j:[{a:"txt",b:"xG = vec3 ( rd , _0_0 ) ;".split(" ")}]}]}]},{a:"node",c:"TEX_COORD_UV",m:[],l:[{a:"node_out",c:"xH",f:["vec3"],e:!1},{a:"node_param",c:"re",f:["GLSL_IN","vec2"],e:!1}],j:[{a:"txt",
  1976. b:"xH = vec3 ( re , _0_0 ) ;".split(" ")}]},{a:"node",c:"TEX_COORD_NO",m:[],l:[{a:"node_out",c:"xI",f:["vec3"],e:!1}],j:[{a:"txt",b:["xI","=","nH",";"]}]},{a:"node",c:"TEX_COORD_GE",m:[],l:[{a:"node_out",c:"xJ",f:["vec3"],e:!1}],j:[{a:"txt",b:["xJ","=","qL",";"]}]},{a:"node",c:"TEX_COORD_OB",m:[],l:[{a:"node_out",c:"xK",f:["vec3"],e:!1}],j:[{a:"txt",b:"xK = ad ( u_model_tsr_inverse , nG ) ;".split(" ")}]},{a:"node",c:"TEX_COORD_CA",m:[],l:[{a:"node_out",c:"xL",f:["vec3"],e:!1}],j:[{a:"txt",b:"xL . xy = rn . xy ; xL . z = _1_0 ;".split(" ")}]},
  1977. {a:"node",c:"TEX_COORD_WI",m:[],l:[{a:"node_out",c:"xM",f:["vec3"],e:!1}],j:[{a:"txt",b:"xM . xy = l . xy / l . z ; xM . z = _0_0 ;".split(" ")}]},{a:"node",c:"TEX_COORD_RE",m:[],l:[{a:"node_out",c:"xN",f:["vec3"],e:!1}],j:[{a:"txt",b:"xN = reflect ( - nI , nH ) ;".split(" ")}]},{a:"node",c:"UVMAP",m:[],l:[{a:"node_out",c:"xO",f:["vec3"],e:!1},{a:"node_param",c:"rf",f:["GLSL_IN","vec2"],e:!1}],j:[{a:"txt",b:"xO = vec3 ( rf , _0_0 ) ;".split(" ")}]},{a:"node",c:"PARTICLE_INFO",m:[],l:[{a:"node_out",
  1978. c:"xP",f:["float"],e:!1},{a:"node_out",c:"xQ",f:["float"],e:!1},{a:"node_out",c:"xR",f:["float"],e:!1},{a:"node_out",c:"xS",f:["vec3"],e:!1},{a:"node_out",c:"xT",f:["float"],e:!1},{a:"node_out",c:"xU",f:["vec3"],e:!1},{a:"node_out",c:"xV",f:["vec3"],e:!1}],j:[{a:"txt",b:"xP = _0_0 ; xQ = _0_0 ; xR = _0_0 ; xS = vec3 ( _0_0 ) ; xT = _0_0 ; xU = xS ; xV = xS ;".split(" ")}]},{a:"node",c:"HAIR_INFO",m:[],l:[{a:"node_out",c:"xW",f:["float"],e:!1},{a:"node_out",c:"xX",f:["float"],e:!1},{a:"node_out",c:"xY",
  1979. f:["float"],e:!1},{a:"node_out",c:"xZ",f:["vec3"],e:!1}],j:[{a:"txt",b:"xW = _0_0 ; xX = _0_0 ; xY = _0_0 ; xZ = vec3 ( _0_0 ) ;".split(" ")}]},{a:"node",c:"OBJECT_INFO",m:[{a:"node_var",c:"USE_LOCATION_OUT",b:["0"]},{a:"node_var",c:"USE_OBJ_IND_OUT",b:["0"]},{a:"node_var",c:"USE_MAT_IND_OUT",b:["0"]},{a:"node_var",c:"USE_RANDOM_OUT",b:["0"]}],l:[{a:"node_out",c:"x_",f:["vec3"],e:!1},{a:"node_out",c:"ya",f:["float"],e:!1},{a:"node_out",c:"yb",f:["float"],e:!1},{a:"node_out",c:"yc",f:["float"],e:!1}],
  1980. j:[{a:"node_cond",d:[{a:"node_if",g:["USE_LOCATION_OUT"],j:[{a:"txt",b:"x_ = u_model_tsr [ 0 ] . xyz ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OBJ_IND_OUT"],j:[{a:"txt",b:"ya = u_obj_info . r ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_MAT_IND_OUT"],j:[{a:"txt",b:"yb = u_obj_info . g ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_RANDOM_OUT"],j:[{a:"txt",b:"yc = u_obj_info . b ;".split(" ")}]}]}]},{a:"node",c:"WIREFRAME",m:[],l:[{a:"node_in",c:"yd",f:["float"],
  1981. e:!1},{a:"node_out",c:"ye",f:["float"],e:!1}],j:[{a:"txt",b:["ye","=","yd",";"]}]},{a:"node",c:"TANGENT",m:[],l:[{a:"node_out",c:"yf",f:["vec3"],e:!1}],j:[{a:"txt",b:"yf = vec3 ( _0_0 ) ;".split(" ")}]},{a:"node",c:"LAYER_WEIGHT",m:[{a:"node_var",c:"USE_NORMAL_IN",b:["0"]}],l:[{a:"node_in",c:"yg",f:["float"],e:!1},{a:"node_in",c:"yh",f:["vec3"],e:!1},{a:"node_out",c:"yi",f:["float"],e:!1},{a:"node_out",c:"yj",f:["float"],e:!1}],j:[{a:"node_cond",d:[{a:"node_if",g:["USE_NORMAL_IN"],j:[{a:"txt",b:"vec3 bW = normalize ( yh ) ;".split(" ")}]},
  1982. {a:"node_else",j:[{a:"txt",b:["vec3","bW","=","nH",";"]}]}]},{a:"node_cond",d:[{a:"node_if",g:["CAMERA_TYPE","CAM_TYPE_PERSP",{a:"equal_expr",i:2}],j:[{a:"txt",b:"vec3 yk = normalize ( nI ) ;".split(" ")}]},{a:"node_else",j:[{a:"txt",b:["vec3","yk","=","u_camera_direction",";"]}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_yi"],j:[{a:"txt",b:"float qT = max ( _1_0 - yg , 0.00001 ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["REFLECTION_PASS","REFL_PASS_PLANE",{a:"non_equal_expr",i:2}],j:[{a:"txt",
  1983. b:"qT = gl_FrontFacing == false ? qT : _1_0 / qT ;".split(" ")}]},{a:"node_else",j:[{a:"txt",b:"qT = gl_FrontFacing ? qT : _1_0 / qT ;".split(" ")}]}]},{a:"txt",b:"yi = qV ( yk , bW , qT ) ;".split(" ")}]},{a:"node_else",j:[{a:"txt",b:["yi","=","_0_0",";"]}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_yj"],j:[{a:"txt",b:"yj = abs ( dot ( yk , bW ) ) ; float dI = yg ; if ( dI != _0_5 ) { dI = clamp ( dI , _0_0 , 0.99999 ) ; dI = ( dI < _0_5 ) ? 2.0 * dI : _0_5 / ( _1_0 - dI ) ; yj = pow ( yj , dI ) ; } yj = _1_0 - yj ;".split(" ")}]},
  1984. {a:"node_else",j:[{a:"txt",b:["yj","=","_0_0",";"]}]}]}]},{a:"node",c:"LIGHT_PATH",m:[],l:[{a:"node_out",c:"yl",f:["float"],e:!1},{a:"node_out",c:"ym",f:["float"],e:!1},{a:"node_out",c:"yn",f:["float"],e:!1},{a:"node_out",c:"yo",f:["float"],e:!1},{a:"node_out",c:"yp",f:["float"],e:!1},{a:"node_out",c:"yq",f:["float"],e:!1},{a:"node_out",c:"yr",f:["float"],e:!1},{a:"node_out",c:"ys",f:["float"],e:!1},{a:"node_out",c:"yt",f:["float"],e:!1},{a:"node_out",c:"yu",f:["float"],e:!1},{a:"node_out",c:"yv",
  1985. f:["float"],e:!1}],j:[{a:"txt",b:"yl = ym = yn = _0_0 ; yo = yp = yq = _0_0 ; yr = yv = yt = yu = _0_0 ; ys = _0_0 ;".split(" ")}]},{a:"node",c:"ATTRIBUTE",m:[],l:[{a:"node_out",c:"yA",f:["vec3"],e:!1},{a:"node_out",c:"yB",f:["vec3"],e:!1},{a:"node_out",c:"yC",f:["float"],e:!1}],j:[{a:"txt",b:"yA = yB = vec3 ( _0_0 ) ; yC = _0_0 ;".split(" ")}]},{a:"node",c:"SCRIPT",m:[],l:[],j:[]},{a:"node",c:"CURVE_VEC",m:[{a:"node_var",c:"READ_R",b:["0"]},{a:"node_var",c:"READ_G",b:["0"]},{a:"node_var",c:"READ_B",
  1986. b:["0"]},{a:"node_var",c:"NODE_TEX_ROW",b:["0.0"]}],l:[{a:"node_in",c:"yD",f:["float"],e:!1},{a:"node_in",c:"yE",f:["vec3"],e:!1},{a:"node_out",c:"yF",f:["vec3"],e:!1}],j:[{a:"txt",b:["yF","=","yE",";"]},{a:"node_cond",d:[{a:"node_if",g:["READ_R"],j:[{a:"txt",b:"yF . r = ( GLSL_TEXTURE ( u_nodes_texture , vec2 ( 0.5 * yE . r + 0.5 , NODE_TEX_ROW ) ) . r - 0.5 ) * 2.0 ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["READ_G"],j:[{a:"txt",b:"yF . g = ( GLSL_TEXTURE ( u_nodes_texture , vec2 ( 0.5 * yE . g + 0.5 , NODE_TEX_ROW ) ) . g - 0.5 ) * 2.0 ;".split(" ")}]}]},
  1987. {a:"node_cond",d:[{a:"node_if",g:["READ_B"],j:[{a:"txt",b:"yF . b = ( GLSL_TEXTURE ( u_nodes_texture , vec2 ( 0.5 * yE . b + 0.5 , NODE_TEX_ROW ) ) . b - 0.5 ) * 2.0 ;".split(" ")}]}]},{a:"txt",b:"yF = mix ( yE , yF , yD ) ;".split(" ")}]},{a:"node",c:"CURVE_RGB",m:[{a:"node_var",c:"READ_A",b:["0"]},{a:"node_var",c:"READ_R",b:["0"]},{a:"node_var",c:"READ_G",b:["0"]},{a:"node_var",c:"READ_B",b:["0"]},{a:"node_var",c:"NODE_TEX_ROW",b:["0.0"]}],l:[{a:"node_in",c:"yG",f:["float"],e:!1},{a:"node_in",c:"yH",
  1988. f:["vec3"],e:!1},{a:"node_out",c:"yI",f:["vec3"],e:!1}],j:[{a:"node_cond",d:[{a:"node_if",g:["READ_A"],j:[{a:"txt",b:"float r = GLSL_TEXTURE ( u_nodes_texture , vec2 ( yH . r , NODE_TEX_ROW ) ) . a ; float g = GLSL_TEXTURE ( u_nodes_texture , vec2 ( yH . g , NODE_TEX_ROW ) ) . a ; float b = GLSL_TEXTURE ( u_nodes_texture , vec2 ( yH . b , NODE_TEX_ROW ) ) . a ;".split(" ")}]},{a:"node_else",j:[{a:"txt",b:"float r = yH . r ; float g = yH . g ; float b = yH . b ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",
  1989. g:["READ_R"],j:[{a:"txt",b:"yI . r = GLSL_TEXTURE ( u_nodes_texture , vec2 ( r , NODE_TEX_ROW ) ) . r ;".split(" ")}]},{a:"node_else",j:[{a:"txt",b:"yI . r = r ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["READ_G"],j:[{a:"txt",b:"yI . g = GLSL_TEXTURE ( u_nodes_texture , vec2 ( g , NODE_TEX_ROW ) ) . g ;".split(" ")}]},{a:"node_else",j:[{a:"txt",b:"yI . g = g ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["READ_B"],j:[{a:"txt",b:"yI . b = GLSL_TEXTURE ( u_nodes_texture , vec2 ( b , NODE_TEX_ROW ) ) . b ;".split(" ")}]},
  1990. {a:"node_else",j:[{a:"txt",b:"yI . b = b ;".split(" ")}]}]},{a:"txt",b:"yI = mix ( yH , yI , yG ) ;".split(" ")}]},{a:"node",c:"VALTORGB",m:[{a:"node_var",c:"NODE_TEX_ROW",b:["0.0"]}],l:[{a:"node_in",c:"yJ",f:["float"],e:!1},{a:"node_out",c:"yK",f:["vec3"],e:!1},{a:"node_out",c:"yL",f:["float"],e:!1}],j:[{a:"txt",b:"vec4 yM = GLSL_TEXTURE ( u_nodes_texture , vec2 ( yJ , NODE_TEX_ROW ) ) ; yK = yM . rgb ; yL = yM . a ;".split(" ")}]},{a:"node",c:"MAPPING",m:[{a:"node_var",c:"MAPPING_SCALE_DEF",b:["0"]},
  1991. {a:"node_var",c:"MAPPING_SCALE",b:["vec3","(","1.0",")"]},{a:"node_var",c:"MAPPING_TRANS_DEF",b:["0"]},{a:"node_var",c:"MAPPING_TRANS",b:["vec3","(","0.0",")"]},{a:"node_var",c:"MAPPING_TRS_MATRIX_DEF",b:["0"]},{a:"node_var",c:"MAPPING_TRS_MATRIX",b:["mat4","(","1.0",")"]},{a:"node_var",c:"MAPPING_MIN_CLIP_DEF",b:["0"]},{a:"node_var",c:"MAPPING_MIN_CLIP",b:["vec3","(","0.0",")"]},{a:"node_var",c:"MAPPING_MAX_CLIP_DEF",b:["0"]},{a:"node_var",c:"MAPPING_MAX_CLIP",b:["vec3","(","1.0",")"]},{a:"node_var",
  1992. c:"MAPPING_IS_NORMAL",b:["0"]}],l:[{a:"node_in",c:"yN",f:["vec3"],e:!1},{a:"node_out",c:"yO",f:["vec3"],e:!1}],j:[{a:"txt",b:["yO","=","yN",";"]},{a:"node_cond",d:[{a:"node_if",g:["MAPPING_SCALE_DEF"],j:[{a:"txt",b:"yO = yO * MAPPING_SCALE ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["MAPPING_TRANS_DEF"],j:[{a:"txt",b:"yO = yO + MAPPING_TRANS ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["MAPPING_TRS_MATRIX_DEF"],j:[{a:"txt",b:"yO = ( MAPPING_TRS_MATRIX * vec4 ( yO , _1_0 ) ) . xyz ;".split(" ")}]}]},
  1993. {a:"node_cond",d:[{a:"node_if",g:["MAPPING_MIN_CLIP_DEF"],j:[{a:"txt",b:"yO = max ( yO , MAPPING_MIN_CLIP ) ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["MAPPING_MAX_CLIP_DEF"],j:[{a:"txt",b:"yO = min ( yO , MAPPING_MAX_CLIP ) ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["MAPPING_IS_NORMAL"],j:[{a:"txt",b:"yO = normalize ( yO ) ;".split(" ")}]}]}]},{a:"node",c:"MATH_ADD",m:[{a:"node_var",c:"MATH_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"yP",f:["float"],e:!1},{a:"node_in",c:"yQ",f:["float"],
  1994. e:!1},{a:"node_out",c:"yR",f:["float"],e:!1}],j:[{a:"txt",b:"yR = yP + yQ ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MATH_USE_CLAMP"],j:[{a:"txt",b:"yR = clamp ( yR , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MATH_SUBTRACT",m:[{a:"node_var",c:"MATH_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"yS",f:["float"],e:!1},{a:"node_in",c:"yT",f:["float"],e:!1},{a:"node_out",c:"yU",f:["float"],e:!1}],j:[{a:"txt",b:"yU = yS - yT ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MATH_USE_CLAMP"],j:[{a:"txt",
  1995. b:"yU = clamp ( yU , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MATH_MULTIPLY",m:[{a:"node_var",c:"MATH_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"yV",f:["float"],e:!1},{a:"node_in",c:"yW",f:["float"],e:!1},{a:"node_out",c:"yX",f:["float"],e:!1}],j:[{a:"txt",b:"yX = yV * yW ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MATH_USE_CLAMP"],j:[{a:"txt",b:"yX = clamp ( yX , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MATH_DIVIDE",m:[{a:"node_var",c:"MATH_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"yY",
  1996. f:["float"],e:!1},{a:"node_in",c:"yZ",f:["float"],e:!1},{a:"node_out",c:"y_",f:["float"],e:!1}],j:[{a:"txt",b:"y_ = ( yZ != _0_0 ) ? yY / yZ : _0_0 ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MATH_USE_CLAMP"],j:[{a:"txt",b:"y_ = clamp ( y_ , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MATH_SINE",m:[{a:"node_var",c:"MATH_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"za",f:["float"],e:!1},{a:"node_in",c:"zb",f:["float"],e:!1},{a:"node_out",c:"zc",f:["float"],e:!1}],j:[{a:"txt",b:"zc = sin ( za ) ;".split(" ")},
  1997. {a:"node_cond",d:[{a:"node_if",g:["MATH_USE_CLAMP"],j:[{a:"txt",b:"zc = clamp ( zc , _0_0 , _1_0 ) ;".split(" ")}]}]},{a:"txt",b:["zb",";"]}]},{a:"node",c:"MATH_COSINE",m:[{a:"node_var",c:"MATH_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"zd",f:["float"],e:!1},{a:"node_in",c:"ze",f:["float"],e:!1},{a:"node_out",c:"zf",f:["float"],e:!1}],j:[{a:"txt",b:"zf = cos ( zd ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MATH_USE_CLAMP"],j:[{a:"txt",b:"zf = clamp ( zf , _0_0 , _1_0 ) ;".split(" ")}]}]},{a:"txt",
  1998. b:["ze",";"]}]},{a:"node",c:"MATH_TANGENT",m:[{a:"node_var",c:"MATH_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"zg",f:["float"],e:!1},{a:"node_in",c:"zh",f:["float"],e:!1},{a:"node_out",c:"zi",f:["float"],e:!1}],j:[{a:"txt",b:"zi = tan ( zg ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MATH_USE_CLAMP"],j:[{a:"txt",b:"zi = clamp ( zi , _0_0 , _1_0 ) ;".split(" ")}]}]},{a:"txt",b:["zh",";"]}]},{a:"node",c:"MATH_ARCSINE",m:[{a:"node_var",c:"MATH_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"zj",f:["float"],
  1999. e:!1},{a:"node_in",c:"zk",f:["float"],e:!1},{a:"node_out",c:"zl",f:["float"],e:!1}],j:[{a:"txt",b:"zl = ( zj <= _1_0 && zj >= - _1_0 ) ? asin ( zj ) : _0_0 ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MATH_USE_CLAMP"],j:[{a:"txt",b:"zl = clamp ( zl , _0_0 , _1_0 ) ;".split(" ")}]}]},{a:"txt",b:["zk",";"]}]},{a:"node",c:"MATH_ARCCOSINE",m:[{a:"node_var",c:"MATH_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"zm",f:["float"],e:!1},{a:"node_in",c:"zn",f:["float"],e:!1},{a:"node_out",c:"zo",f:["float"],
  2000. e:!1}],j:[{a:"txt",b:"zo = ( zm <= _1_0 && zm >= - _1_0 ) ? acos ( zm ) : _0_0 ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MATH_USE_CLAMP"],j:[{a:"txt",b:"zo = clamp ( zo , _0_0 , _1_0 ) ;".split(" ")}]}]},{a:"txt",b:["zn",";"]}]},{a:"node",c:"MATH_ARCTANGENT",m:[{a:"node_var",c:"MATH_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"zp",f:["float"],e:!1},{a:"node_in",c:"zq",f:["float"],e:!1},{a:"node_out",c:"zr",f:["float"],e:!1}],j:[{a:"txt",b:"zr = atan ( zp ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",
  2001. g:["MATH_USE_CLAMP"],j:[{a:"txt",b:"zr = clamp ( zr , _0_0 , _1_0 ) ;".split(" ")}]}]},{a:"txt",b:["zq",";"]}]},{a:"node",c:"MATH_POWER",m:[{a:"node_var",c:"MATH_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"zs",f:["float"],e:!1},{a:"node_in",c:"zt",f:["float"],e:!1},{a:"node_out",c:"zu",f:["float"],e:!1}],j:[{a:"txt",b:"if ( zs < _0_0 && zt != floor ( zt ) ) zu = _0_0 ; else if ( zt == _0_0 ) zu = _1_0 ; else if ( zs < _0_0 ) zu = mix ( _1_0 , - _1_0 , sign ( mod ( - zt , 2.0 ) ) ) * pow ( - zs , zt ) ; else if ( zs == _0_0 ) zu = _0_0 ; else zu = pow ( zs , zt ) ;".split(" ")},
  2002. {a:"node_cond",d:[{a:"node_if",g:["MATH_USE_CLAMP"],j:[{a:"txt",b:"zu = clamp ( zu , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MATH_LOGARITHM",m:[{a:"node_var",c:"MATH_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"zv",f:["float"],e:!1},{a:"node_in",c:"zA",f:["float"],e:!1},{a:"node_out",c:"zB",f:["float"],e:!1}],j:[{a:"txt",b:"zB = ( zv > _0_0 && zA > _0_0 ) ? log2 ( zv ) / log2 ( zA ) : _0_0 ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MATH_USE_CLAMP"],j:[{a:"txt",b:"zB = clamp ( zB , _0_0 , _1_0 ) ;".split(" ")}]}]}]},
  2003. {a:"node",c:"MATH_MINIMUM",m:[{a:"node_var",c:"MATH_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"zC",f:["float"],e:!1},{a:"node_in",c:"zD",f:["float"],e:!1},{a:"node_out",c:"zE",f:["float"],e:!1}],j:[{a:"txt",b:"zE = min ( zC , zD ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MATH_USE_CLAMP"],j:[{a:"txt",b:"zE = clamp ( zE , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MATH_MAXIMUM",m:[{a:"node_var",c:"MATH_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"zF",f:["float"],e:!1},{a:"node_in",c:"zG",f:["float"],
  2004. e:!1},{a:"node_out",c:"zH",f:["float"],e:!1}],j:[{a:"txt",b:"zH = max ( zF , zG ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MATH_USE_CLAMP"],j:[{a:"txt",b:"zH = clamp ( zH , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MATH_ROUND",m:[{a:"node_var",c:"MATH_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"zI",f:["float"],e:!1},{a:"node_in",c:"zJ",f:["float"],e:!1},{a:"node_out",c:"zK",f:["float"],e:!1}],j:[{a:"txt",b:"zK = floor ( zI + _0_5 ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MATH_USE_CLAMP"],
  2005. j:[{a:"txt",b:"zK = clamp ( zK , _0_0 , _1_0 ) ;".split(" ")}]}]},{a:"txt",b:["zJ",";"]}]},{a:"node",c:"MATH_LESS_THAN",m:[{a:"node_var",c:"MATH_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"zL",f:["float"],e:!1},{a:"node_in",c:"zM",f:["float"],e:!1},{a:"node_out",c:"zN",f:["float"],e:!1}],j:[{a:"txt",b:"zN = ( zL < zM ) ? _1_0 : _0_0 ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MATH_USE_CLAMP"],j:[{a:"txt",b:"zN = clamp ( zN , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MATH_GREATER_THAN",m:[{a:"node_var",
  2006. c:"MATH_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"zO",f:["float"],e:!1},{a:"node_in",c:"zP",f:["float"],e:!1},{a:"node_out",c:"zQ",f:["float"],e:!1}],j:[{a:"txt",b:"zQ = ( zO > zP ) ? _1_0 : _0_0 ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MATH_USE_CLAMP"],j:[{a:"txt",b:"zQ = clamp ( zQ , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MATH_MODULO",m:[{a:"node_var",c:"MATH_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"zR",f:["float"],e:!1},{a:"node_in",c:"zS",f:["float"],e:!1},{a:"node_out",c:"zT",
  2007. f:["float"],e:!1}],j:[{a:"txt",b:"zT = abs ( zS ) > 0.000001 ? mod ( zR , zS ) : _0_0 ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MATH_USE_CLAMP"],j:[{a:"txt",b:"zT = clamp ( zT , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MATH_ABSOLUTE",m:[{a:"node_var",c:"MATH_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"zU",f:["float"],e:!1},{a:"node_in",c:"zV",f:["float"],e:!1},{a:"node_out",c:"zW",f:["float"],e:!1}],j:[{a:"txt",b:"zW = abs ( zU ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MATH_USE_CLAMP"],
  2008. j:[{a:"txt",b:"zW = clamp ( zW , _0_0 , _1_0 ) ;".split(" ")}]}]},{a:"txt",b:["zV",";"]}]},{a:"node",c:"MIX_RGB_MIX",m:[{a:"node_var",c:"MIX_RGB_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"zX",f:["float"],e:!1},{a:"node_in",c:"zY",f:["vec3"],e:!1},{a:"node_in",c:"zZ",f:["vec3"],e:!1},{a:"node_out",c:"z_",f:["vec3"],e:!1}],j:[{a:"txt",b:"float xE = clamp ( zX , _0_0 , _1_0 ) ; z_ = mix ( zY , zZ , xE ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MIX_RGB_USE_CLAMP"],j:[{a:"txt",b:"z_ = clamp ( z_ , _0_0 , _1_0 ) ;".split(" ")}]}]}]},
  2009. {a:"node",c:"MIX_RGB_ADD",m:[{a:"node_var",c:"MIX_RGB_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"Aa",f:["float"],e:!1},{a:"node_in",c:"Ab",f:["vec3"],e:!1},{a:"node_in",c:"Ac",f:["vec3"],e:!1},{a:"node_out",c:"Ad",f:["vec3"],e:!1}],j:[{a:"txt",b:"float xE = clamp ( Aa , _0_0 , _1_0 ) ; Ad = mix ( Ab , Ab + Ac , xE ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MIX_RGB_USE_CLAMP"],j:[{a:"txt",b:"Ad = clamp ( Ad , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MIX_RGB_MULTIPLY",m:[{a:"node_var",
  2010. c:"MIX_RGB_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"Ae",f:["float"],e:!1},{a:"node_in",c:"Af",f:["vec3"],e:!1},{a:"node_in",c:"Ag",f:["vec3"],e:!1},{a:"node_out",c:"Ah",f:["vec3"],e:!1}],j:[{a:"txt",b:"float xE = clamp ( Ae , _0_0 , _1_0 ) ; Ah = mix ( Af , Af * Ag , xE ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MIX_RGB_USE_CLAMP"],j:[{a:"txt",b:"Ah = clamp ( Ah , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MIX_RGB_SUBTRACT",m:[{a:"node_var",c:"MIX_RGB_USE_CLAMP",b:["0"]}],l:[{a:"node_in",
  2011. c:"Ai",f:["float"],e:!1},{a:"node_in",c:"Aj",f:["vec3"],e:!1},{a:"node_in",c:"Ak",f:["vec3"],e:!1},{a:"node_out",c:"Al",f:["vec3"],e:!1}],j:[{a:"txt",b:"float xE = clamp ( Ai , _0_0 , _1_0 ) ; Al = mix ( Aj , Aj - Ak , xE ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MIX_RGB_USE_CLAMP"],j:[{a:"txt",b:"Al = clamp ( Al , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MIX_RGB_SCREEN",m:[{a:"node_var",c:"MIX_RGB_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"Am",f:["float"],e:!1},{a:"node_in",c:"An",
  2012. f:["vec3"],e:!1},{a:"node_in",c:"Ao",f:["vec3"],e:!1},{a:"node_out",c:"Ap",f:["vec3"],e:!1}],j:[{a:"txt",b:"float xE = clamp ( Am , _0_0 , _1_0 ) ; float Aq = _1_0 - xE ; Ap = vec3 ( _1_0 ) - ( vec3 ( Aq ) + xE * ( vec3 ( _1_0 ) - Ao ) ) * ( vec3 ( _1_0 ) - An ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MIX_RGB_USE_CLAMP"],j:[{a:"txt",b:"Ap = clamp ( Ap , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MIX_RGB_DIVIDE",m:[{a:"node_var",c:"MIX_RGB_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"Ar",
  2013. f:["float"],e:!1},{a:"node_in",c:"As",f:["vec3"],e:!1},{a:"node_in",c:"At",f:["vec3"],e:!1},{a:"node_out",c:"Au",f:["vec3"],e:!1}],j:[{a:"txt",b:"float xE = clamp ( Ar , _0_0 , _1_0 ) ; float Aq = _1_0 - xE ; At += step ( At , vec3 ( _0_0 ) ) ; Au = Aq * As + xE * As / At ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MIX_RGB_USE_CLAMP"],j:[{a:"txt",b:"Au = clamp ( Au , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MIX_RGB_DIFFERENCE",m:[{a:"node_var",c:"MIX_RGB_USE_CLAMP",b:["0"]}],l:[{a:"node_in",
  2014. c:"Av",f:["float"],e:!1},{a:"node_in",c:"Aw",f:["vec3"],e:!1},{a:"node_in",c:"Ax",f:["vec3"],e:!1},{a:"node_out",c:"Ay",f:["vec3"],e:!1}],j:[{a:"txt",b:"float xE = clamp ( Av , _0_0 , _1_0 ) ; Ay = mix ( Aw , abs ( Aw - Ax ) , xE ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MIX_RGB_USE_CLAMP"],j:[{a:"txt",b:"Ay = clamp ( Ay , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MIX_RGB_DARKEN",m:[{a:"node_var",c:"MIX_RGB_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"Az",f:["float"],e:!1},{a:"node_in",
  2015. c:"AA",f:["vec3"],e:!1},{a:"node_in",c:"AB",f:["vec3"],e:!1},{a:"node_out",c:"AC",f:["vec3"],e:!1}],j:[{a:"txt",b:"float xE = clamp ( Az , _0_0 , _1_0 ) ; AC = min ( AA . rgb , AB . rgb * xE ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MIX_RGB_USE_CLAMP"],j:[{a:"txt",b:"AC = clamp ( AC , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MIX_RGB_LIGHTEN",m:[{a:"node_var",c:"MIX_RGB_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"AD",f:["float"],e:!1},{a:"node_in",c:"AE",f:["vec3"],e:!1},{a:"node_in",
  2016. c:"AF",f:["vec3"],e:!1},{a:"node_out",c:"AG",f:["vec3"],e:!1}],j:[{a:"txt",b:"float xE = clamp ( AD , _0_0 , _1_0 ) ; AG = max ( AE . rgb , AF . rgb * xE ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MIX_RGB_USE_CLAMP"],j:[{a:"txt",b:"AG = clamp ( AG , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MIX_RGB_OVERLAY",m:[{a:"node_var",c:"MIX_RGB_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"AH",f:["float"],e:!1},{a:"node_in",c:"AI",f:["vec3"],e:!1},{a:"node_in",c:"AJ",f:["vec3"],e:!1},{a:"node_out",
  2017. c:"AK",f:["vec3"],e:!1}],j:[{a:"txt",b:"float xE = clamp ( AH , _0_0 , _1_0 ) ; vec3 AL = vec3 ( _1_0 - xE ) ; AK = mix ( AI * ( AL + 2.0 * xE * AJ ) , vec3 ( _1_0 ) - ( AL + 2.0 * xE * ( vec3 ( _1_0 ) - AJ ) ) * ( vec3 ( _1_0 ) - AI ) , step ( _0_5 , AI ) ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MIX_RGB_USE_CLAMP"],j:[{a:"txt",b:"AK = clamp ( AK , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MIX_RGB_DODGE",m:[{a:"node_var",c:"MIX_RGB_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"AM",f:["float"],
  2018. e:!1},{a:"node_in",c:"AN",f:["vec3"],e:!1},{a:"node_in",c:"AO",f:["vec3"],e:!1},{a:"node_out",c:"AP",f:["vec3"],e:!1}],j:[{a:"txt",b:"float xE = clamp ( AM , _0_0 , _1_0 ) ; vec3 AQ = vec3 ( _1_0 ) - xE * AO ; vec3 AR = clamp ( AN / AQ , _0_0 , _1_0 ) ; AP = mix ( mix ( AR , vec3 ( _1_0 ) , step ( AQ , vec3 ( _0_0 ) ) ) , AN , step ( AN , vec3 ( _0_0 ) ) ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MIX_RGB_USE_CLAMP"],j:[{a:"txt",b:"AP = clamp ( AP , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",
  2019. c:"MIX_RGB_BURN",m:[{a:"node_var",c:"MIX_RGB_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"AS",f:["float"],e:!1},{a:"node_in",c:"AT",f:["vec3"],e:!1},{a:"node_in",c:"AU",f:["vec3"],e:!1},{a:"node_out",c:"AV",f:["vec3"],e:!1}],j:[{a:"txt",b:"float xE = clamp ( AS , _0_0 , _1_0 ) ; vec3 jH = vec3 ( _1_0 - xE ) ; vec3 AQ = jH + xE * AU ; vec3 AR = clamp ( vec3 ( _1_0 ) - ( vec3 ( _1_0 ) - AT ) / AQ , _0_0 , _1_0 ) ; AV = mix ( AR , vec3 ( _0_0 ) , step ( AQ , vec3 ( _0_0 ) ) ) ;".split(" ")},{a:"node_cond",
  2020. d:[{a:"node_if",g:["MIX_RGB_USE_CLAMP"],j:[{a:"txt",b:"AV = clamp ( AV , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MIX_RGB_HUE",m:[{a:"node_var",c:"MIX_RGB_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"AW",f:["float"],e:!1},{a:"node_in",c:"AX",f:["vec3"],e:!1},{a:"node_in",c:"AY",f:["vec3"],e:!1},{a:"node_out",c:"AZ",f:["vec3"],e:!1}],j:[{a:"txt",b:"float xE = clamp ( AW , _0_0 , _1_0 ) ; vec3 jz , A_ , AQ ; AZ = AX ; A_ = jy ( AY ) ; if ( A_ . y != _0_0 ) { jz = jy ( AZ ) ; jz . x = A_ . x ; AQ = jA ( jz ) ; AZ = mix ( AZ , AQ , xE ) ; }".split(" ")},
  2021. {a:"node_cond",d:[{a:"node_if",g:["MIX_RGB_USE_CLAMP"],j:[{a:"txt",b:"AZ = clamp ( AZ , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MIX_RGB_SATURATION",m:[{a:"node_var",c:"MIX_RGB_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"Ba",f:["float"],e:!1},{a:"node_in",c:"Bb",f:["vec3"],e:!1},{a:"node_in",c:"Bc",f:["vec3"],e:!1},{a:"node_out",c:"Bd",f:["vec3"],e:!1}],j:[{a:"txt",b:"float xE = clamp ( Ba , _0_0 , _1_0 ) ; float Aq = _1_0 - xE ; Bd = Bb ; vec3 jz , A_ ; jz = jy ( Bd ) ; if ( jz . y != _0_0 ) { A_ = jy ( Bc ) ; jz . y = Aq * jz . y + xE * A_ . y ; Bd = jA ( jz ) ; }".split(" ")},
  2022. {a:"node_cond",d:[{a:"node_if",g:["MIX_RGB_USE_CLAMP"],j:[{a:"txt",b:"Bd = clamp ( Bd , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MIX_RGB_VALUE",m:[{a:"node_var",c:"MIX_RGB_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"Be",f:["float"],e:!1},{a:"node_in",c:"Bf",f:["vec3"],e:!1},{a:"node_in",c:"Bg",f:["vec3"],e:!1},{a:"node_out",c:"Bh",f:["vec3"],e:!1}],j:[{a:"txt",b:"float xE = clamp ( Be , _0_0 , _1_0 ) ; float Aq = _1_0 - xE ; vec3 jz , A_ ; jz = jy ( Bf ) ; A_ = jy ( Bg ) ; jz . z = Aq * jz . z + xE * A_ . z ; Bh = jA ( jz ) ;".split(" ")},
  2023. {a:"node_cond",d:[{a:"node_if",g:["MIX_RGB_USE_CLAMP"],j:[{a:"txt",b:"Bh = clamp ( Bh , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MIX_RGB_COLOR",m:[{a:"node_var",c:"MIX_RGB_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"Bi",f:["float"],e:!1},{a:"node_in",c:"Bj",f:["vec3"],e:!1},{a:"node_in",c:"Bk",f:["vec3"],e:!1},{a:"node_out",c:"Bl",f:["vec3"],e:!1}],j:[{a:"txt",b:"float xE = clamp ( Bi , _0_0 , _1_0 ) ; vec3 jz , A_ , AQ ; Bl = Bj ; A_ = jy ( Bk ) ; if ( A_ . y != _0_0 ) { jz = jy ( Bl ) ; jz . x = A_ . x ; jz . y = A_ . y ; AQ = jA ( jz ) ; Bl = mix ( Bl , AQ , xE ) ; }".split(" ")},
  2024. {a:"node_cond",d:[{a:"node_if",g:["MIX_RGB_USE_CLAMP"],j:[{a:"txt",b:"Bl = clamp ( Bl , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MIX_RGB_SOFT_LIGHT",m:[{a:"node_var",c:"MIX_RGB_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"Bm",f:["float"],e:!1},{a:"node_in",c:"Bn",f:["vec3"],e:!1},{a:"node_in",c:"Bo",f:["vec3"],e:!1},{a:"node_out",c:"Bp",f:["vec3"],e:!1}],j:[{a:"txt",b:"float xE = clamp ( Bm , _0_0 , _1_0 ) ; float Aq = _1_0 - xE ; vec3 Bq = Bo + Bn - Bo * Bn ; Bp = Bn * ( vec3 ( Aq ) + vec3 ( xE ) * ( ( vec3 ( _1_0 ) - Bn ) * Bo + Bq ) ) ;".split(" ")},
  2025. {a:"node_cond",d:[{a:"node_if",g:["MIX_RGB_USE_CLAMP"],j:[{a:"txt",b:"Bp = clamp ( Bp , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MIX_RGB_LINEAR_LIGHT",m:[{a:"node_var",c:"MIX_RGB_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"Br",f:["float"],e:!1},{a:"node_in",c:"Bs",f:["vec3"],e:!1},{a:"node_in",c:"Bt",f:["vec3"],e:!1},{a:"node_out",c:"Bu",f:["vec3"],e:!1}],j:[{a:"txt",b:"float xE = clamp ( Br , _0_0 , _1_0 ) ; Bu = Bs + xE * ( 2.0 * Bt - vec3 ( _1_0 ) ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",
  2026. g:["MIX_RGB_USE_CLAMP"],j:[{a:"txt",b:"Bu = clamp ( Bu , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"OUTPUT",m:[],l:[{a:"node_in",c:"Bv",f:["vec3"],e:!1},{a:"node_in",c:"Bw",f:["float"],e:!1}],j:[{a:"txt",b:"D = Bv ; H = Bw ;".split(" ")}]},{a:"node",c:"OUTPUT_MATERIAL",m:[],l:[{a:"node_in",c:"Bx",f:["vec3"],e:!1},{a:"node_in",c:"By",f:["vec3"],e:!1},{a:"node_in",c:"Bz",f:["float"],e:!1}],j:[{a:"txt",b:["D","=","Bx",";"]}]},{a:"node",c:"MATERIAL_BEGIN",m:[{a:"node_var",c:"MATERIAL_EXT",b:["0"]},
  2027. {a:"node_var",c:"USE_MATERIAL_NORMAL",b:["0"]},{a:"node_var",c:"USE_MATERIAL_DIFFUSE",b:["0"]},{a:"node_var",c:"SHADELESS_MAT",b:["0"]}],l:[{a:"node_in",c:"BA",f:["vec3"],e:!1},{a:"node_in",c:"BB",f:["vec3"],e:!1},{a:"node_in",c:"BC",f:["float"],e:!1},{a:"node_in",c:"BD",f:["vec3"],e:!0},{a:"node_in",c:"BE",f:["float"],e:!0},{a:"node_out",c:"BF",f:["vec3"],e:!1},{a:"node_out",c:"BG",f:["vec3"],e:!1},{a:"node_out",c:"BH",f:["vec3"],e:!1},{a:"node_out",c:"BI",f:["vec3"],e:!1},{a:"node_out",c:"BJ",f:["vec3"],
  2028. e:!1},{a:"node_out",c:"BK",f:["vec2"],e:!1},{a:"node_out",c:"BL",f:["vec2"],e:!1},{a:"node_out",c:"BM",f:["vec4"],e:!1},{a:"node_param",c:"rh",f:["const","vec2"],e:!1},{a:"node_param",c:"ri",f:["const","vec3"],e:!1}],j:[{a:"txt",b:"BH = clamp ( BA , _0_0 , _1_0 ) ; BI = ri [ 0 ] * clamp ( BB , _0_0 , _1_0 ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["USE_MATERIAL_NORMAL"],j:[{a:"txt",b:"BJ = normalize ( BD ) ;".split(" ")}]},{a:"node_else",j:[{a:"txt",b:["BJ","=","nH",";"]}]}]},{a:"node_cond",
  2029. d:[{a:"node_if",g:["SHADELESS_MAT",{a:"logic_negative_expr",i:1}],j:[{a:"node_cond",d:[{a:"node_if",g:["MATERIAL_EXT"],j:[{a:"txt",b:"BF = BE * BH ;".split(" ")}]},{a:"node_else",j:[{a:"txt",b:"BF = ro * BH ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_MATERIAL_DIFFUSE"],j:[{a:"txt",b:["BH","*=","BC",";"]}]}]},{a:"txt",b:"BG = rp * u_environment_energy * ce ( BJ ) ; BM = ch ( BH ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["NUM_LIGHTS",0,{a:"g_expr",i:2}],j:[{a:"txt",b:"BK = vec2 ( rh [ 0 ] , rh [ 1 ] ) ; BL = vec2 ( ri [ 1 ] , ri [ 2 ] ) ;".split(" ")}]}]},
  2030. {a:"txt",b:["G","=","BM",";"]}]},{a:"node_else",j:[{a:"txt",b:"BF = vec3 ( _0_0 ) ; BG = vec3 ( _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MATERIAL_END",m:[{a:"node_var",c:"MATERIAL_EXT",b:["0"]},{a:"node_var",c:"USE_MATERIAL_DIFFUSE",b:["0"]},{a:"node_var",c:"USE_MATERIAL_SPECULAR",b:["0"]}],l:[{a:"node_in",c:"BN",f:["vec4"],e:!1},{a:"node_in",c:"BO",f:["vec3"],e:!1},{a:"node_in",c:"BP",f:["vec3"],e:!1},{a:"node_in",c:"BQ",f:["float"],e:!0},{a:"node_in",c:"BR",f:["float"],e:!0},{a:"node_in",c:"BS",
  2031. f:["float"],e:!0},{a:"node_out",c:"BT",f:["vec3"],e:!0},{a:"node_out",c:"BU",f:["float"],e:!0},{a:"node_out",c:"BV",f:["vec3"],e:!0},{a:"node_out",c:"BW",f:["vec3"],e:!0},{a:"node_out",c:"BX",f:["vec3"],e:!0},{a:"node_param",c:"rj",f:["float"],e:!1},{a:"node_param",c:"rk",f:["float"],e:!1}],j:[{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_BT"],j:[{a:"node_cond",d:[{a:"node_if",g:["USE_MATERIAL_DIFFUSE"],j:[{a:"txt",b:"BT = BN . rgb ;".split(" ")}]},{a:"node_else",j:[{a:"txt",b:"BT = vec3 ( _0_0 ) ;".split(" ")}]}]},
  2032. {a:"node_cond",d:[{a:"node_if",g:["MATERIAL_EXT","REFLECTION_TYPE","REFL_NONE",{a:"non_equal_expr",i:2},{a:"logical_and_expr",i:2}],j:[{a:"node_cond",d:[{a:"node_if",g:["REFLECTION_TYPE","REFL_PLANE",{a:"equal_expr",i:2}],j:[{a:"txt",b:"cq ( BT , nI , BP , BQ , u_view_tsr_frag ) ;".split(" ")}]},{a:"node_else",j:[{a:"txt",b:"cq ( BT , nI , BP , BQ , mat3 ( _0_0 ) ) ;".split(" ")}]}]}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_MATERIAL_SPECULAR"],j:[{a:"txt",b:["BT","+=","BO",";"]}]}]}]}]},{a:"node_cond",
  2033. d:[{a:"node_if",g:["USE_OUT_BV"],j:[{a:"txt",b:["BV","=","BP",";"]}]}]},{a:"node_cond",d:[{a:"node_if",g:["MATERIAL_EXT"],j:[{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_BW"],j:[{a:"txt",b:"BW = BN . rgb ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_BX"],j:[{a:"txt",b:["BX","=","BO",";"]}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_BU"],j:[{a:"txt",b:"BU = clamp ( BS , _0_0 , _1_0 ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["USE_MATERIAL_SPECULAR"],j:[{a:"txt",b:"float t = max ( max ( BO . r , BO . g ) , BO . b ) * BR ; BU = clamp ( BS * ( _1_0 - t ) + t , _0_0 , _1_0 ) ;".split(" ")}]}]}]}]}]},
  2034. {a:"node_else",j:[{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_BU"],j:[{a:"txt",b:"BU = clamp ( rj , _0_0 , _1_0 ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["USE_MATERIAL_SPECULAR"],j:[{a:"txt",b:"float t = max ( max ( BO . r , BO . g ) , BO . b ) * rk ; BU = rj * ( _1_0 - t ) + t ;".split(" ")}]}]}]}]}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_MATERIAL_SPECULAR"],j:[{a:"txt",b:["E","=","BO",";"]}]},{a:"node_else",j:[{a:"txt",b:"E = vec3 ( _0_0 ) ;".split(" ")}]}]},{a:"txt",b:["F","=","BP",
  2035. ";"]}]},{a:"node",c:"LIGHTING_AMBIENT",m:[],l:[{a:"node_in",c:"nZ",f:["vec3"],e:!1},{a:"node_in",c:"n_",f:["vec3"],e:!1},{a:"node_in",c:"oa",f:["vec3"],e:!1},{a:"node_out",c:"ob",f:["vec4"],e:!1},{a:"node_out",c:"oc",f:["vec3"],e:!1}],j:[{a:"txt",b:"ob = vec4 ( nZ + oa * n_ , _0_0 ) ; oc = vec3 ( _0_0 ) ;".split(" ")}]},{a:"node",c:"LIGHTING_LAMP",m:[{a:"node_var",c:"LAMP_TYPE",b:["HEMI"]},{a:"node_var",c:"LAMP_IND",b:["0"]},{a:"node_var",c:"LAMP_SPOT_SIZE",b:["0.8"]},{a:"node_var",c:"LAMP_SPOT_BLEND",
  2036. b:["0.03"]},{a:"node_var",c:"LAMP_LIGHT_DIST",b:["30.0"]},{a:"node_var",c:"LAMP_SHADOW_MAP_IND",b:["-","1"]},{a:"node_var",c:"LAMP_USE_SPHERE",b:["0"]}],l:[{a:"node_in",c:"od",f:["vec4"],e:!1},{a:"node_out",c:"oe",f:["vec3"],e:!1},{a:"node_out",c:"of",f:["vec2"],e:!1},{a:"node_out",c:"og",f:["vec3"],e:!1},{a:"node_out",c:"oh",f:["float"],e:!1}],j:[{a:"txt",b:"of = vec2 ( u_light_positions [ LAMP_IND ] . w , u_light_color_intensities [ LAMP_IND ] . w ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",
  2037. g:["LAMP_TYPE","HEMI",{a:"equal_expr",i:2}],j:[{a:"txt",b:["oh","=","_0_5",";"]}]},{a:"node_else",j:[{a:"txt",b:["oh","=","_0_0",";"]}]}]},{a:"txt",b:"og = u_light_color_intensities [ LAMP_IND ] . xyz ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["LAMP_SHADOW_MAP_IND",1,{a:"negative_expr",i:1},{a:"non_equal_expr",i:2}],j:[{a:"txt",b:"og *= od [ LAMP_SHADOW_MAP_IND ] ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["LAMP_TYPE","SPOT",{a:"equal_expr",i:2},"LAMP_TYPE","POINT",{a:"equal_expr",
  2038. i:2},{a:"logical_or_expr",i:2}],j:[{a:"txt",b:"vec3 oi = u_light_positions [ LAMP_IND ] . xyz ; oe = oi - nG ; float aC = length ( oe ) ; og *= LAMP_LIGHT_DIST / ( LAMP_LIGHT_DIST + aC * aC ) ; oe = normalize ( oe ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["LAMP_TYPE","SPOT",{a:"equal_expr",i:2}],j:[{a:"txt",b:"vec3 ok = u_light_directions [ LAMP_IND ] ; float ol = dot ( oe , ok ) ; ol *= smoothstep ( _0_0 , _1_0 , ( ol - LAMP_SPOT_SIZE ) / LAMP_SPOT_BLEND ) ; og *= ol ;".split(" ")}]}]},
  2039. {a:"node_cond",d:[{a:"node_if",g:["LAMP_USE_SPHERE"],j:[{a:"txt",b:"og *= max ( LAMP_LIGHT_DIST - aC , _0_0 ) / LAMP_LIGHT_DIST ;".split(" ")}]}]}]},{a:"node_else",j:[{a:"txt",b:"oe = u_light_directions [ LAMP_IND ] ;".split(" ")}]}]}]},{a:"node",c:"DIFFUSE_FRESNEL",m:[{a:"node_var",c:"MAT_USE_TBN_SHADING",b:["0"]}],l:[{a:"node_in",c:"om",f:["vec3"],e:!1},{a:"node_in",c:"on",f:["vec2"],e:!1},{a:"node_in",c:"oo",f:["vec3"],e:!1},{a:"node_in",c:"op",f:["float"],e:!1},{a:"node_in",c:"oq",f:["vec2"],
  2040. e:!1},{a:"node_out",c:"or",f:["float"],e:!1}],j:[{a:"txt",b:["vec3","qS","=","oo",";"]},{a:"node_cond",d:[{a:"node_if",g:["MAT_USE_TBN_SHADING"],j:[{a:"txt",b:"vec3 os = cross ( om , B . xyz ) ; qS = cross ( os , B . xyz ) ; qS = - normalize ( qS ) ;".split(" ")}]}]},{a:"txt",b:"or = _0_0 ; if ( on . r != _0_0 ) { float ot = ( _1_0 - op ) * dot ( qS , om ) + op ; if ( oq [ 0 ] == _0_0 ) { or = _1_0 ; } else { float t = _1_0 + abs ( ot ) ; t = oq [ 1 ] + ( _1_0 - oq [ 1 ] ) * pow ( t , oq [ 0 ] ) ; or = clamp ( t , _0_0 , _1_0 ) ; } or = max ( or , _0_0 ) ; }".split(" ")}]},
  2041. {a:"node",c:"DIFFUSE_LAMBERT",m:[{a:"node_var",c:"MAT_USE_TBN_SHADING",b:["0"]}],l:[{a:"node_in",c:"ou",f:["vec3"],e:!1},{a:"node_in",c:"ov",f:["vec2"],e:!1},{a:"node_in",c:"ow",f:["vec3"],e:!1},{a:"node_in",c:"ox",f:["float"],e:!1},{a:"node_out",c:"oy",f:["float"],e:!1}],j:[{a:"txt",b:["vec3","qS","=","ow",";"]},{a:"node_cond",d:[{a:"node_if",g:["MAT_USE_TBN_SHADING"],j:[{a:"txt",b:"vec3 os = cross ( ou , B . xyz ) ; qS = cross ( os , B . xyz ) ; qS = - normalize ( qS ) ;".split(" ")}]}]},{a:"txt",
  2042. b:"oy = _0_0 ; if ( ov . r != _0_0 ) { float ot = ( _1_0 - ox ) * dot ( qS , ou ) + ox ; oy = max ( ot , _0_0 ) ; }".split(" ")}]},{a:"node",c:"DIFFUSE_OREN_NAYAR",m:[{a:"node_var",c:"MAT_USE_TBN_SHADING",b:["0"]}],l:[{a:"node_in",c:"oz",f:["vec3"],e:!1},{a:"node_in",c:"oA",f:["vec2"],e:!1},{a:"node_in",c:"oB",f:["vec3"],e:!1},{a:"node_in",c:"oC",f:["float"],e:!1},{a:"node_in",c:"oD",f:["vec2"],e:!1},{a:"node_out",c:"oE",f:["float"],e:!1}],j:[{a:"txt",b:["vec3","qS","=","oB",";"]},{a:"node_cond",
  2043. d:[{a:"node_if",g:["MAT_USE_TBN_SHADING"],j:[{a:"txt",b:"vec3 os = cross ( oz , B . xyz ) ; qS = cross ( os , B . xyz ) ; qS = - normalize ( qS ) ;".split(" ")}]}]},{a:"txt",b:"oE = _0_0 ; if ( oA . r != _0_0 ) { float ot = ( _1_0 - oC ) * dot ( qS , oz ) + oC ; if ( oD [ 0 ] > _0_0 ) { float oF = max ( dot ( qS , nI ) , _0_0 ) ; float oG = oD [ 0 ] * oD [ 0 ] ; float cg = _1_0 - _0_5 * ( oG / ( oG + 0.33 ) ) ; vec3 oH = oz - ot * qS ; vec3 oI = nI - oF * qS ; if ( length ( oH ) == _0_0 || length ( oI ) == _0_0 || abs ( ot ) > _1_0 || abs ( oF ) > _1_0 ) oE = ot * cg ; else { float oJ = acos ( ot ) ; float oK = acos ( oF ) ; vec3 oL = normalize ( oH ) ; vec3 oM = normalize ( oI ) ; float a , b ; a = max ( oJ , oK ) ; b = min ( oJ , oK ) ; b *= 0.95 ; float t = max ( dot ( oL , oM ) , _0_0 ) ; float oN = 0.45 * ( oG / ( oG + 0.09 ) ) ; oE = ot * ( cg + ( oN * t * sin ( a ) * tan ( b ) ) ) ; } } else oE = ot ; oE = max ( oE , _0_0 ) ; }".split(" ")}]},
  2044. {a:"node",c:"DIFFUSE_MINNAERT",m:[{a:"node_var",c:"MAT_USE_TBN_SHADING",b:["0"]}],l:[{a:"node_in",c:"oO",f:["vec3"],e:!1},{a:"node_in",c:"oP",f:["vec2"],e:!1},{a:"node_in",c:"oQ",f:["vec3"],e:!1},{a:"node_in",c:"oR",f:["float"],e:!1},{a:"node_in",c:"oS",f:["vec2"],e:!1},{a:"node_out",c:"oT",f:["float"],e:!1}],j:[{a:"txt",b:["vec3","qS","=","oQ",";"]},{a:"node_cond",d:[{a:"node_if",g:["MAT_USE_TBN_SHADING"],j:[{a:"txt",b:"vec3 os = cross ( oO , B . xyz ) ; qS = cross ( os , B . xyz ) ; qS = - normalize ( qS ) ;".split(" ")}]}]},
  2045. {a:"txt",b:"oT = _0_0 ; if ( oP . r != _0_0 ) { float ot = ( _1_0 - oR ) * dot ( qS , oO ) + oR ; float oF = max ( dot ( qS , nI ) , _0_0 ) ; if ( oS [ 0 ] <= _1_0 ) oT = ot * pow ( max ( oF * ot , 0.1 ) , oS [ 0 ] - _1_0 ) ; else oT = ot * pow ( 1.0001 - oF , oS [ 0 ] - _1_0 ) ; oT = max ( oT , _0_0 ) ; }".split(" ")}]},{a:"node",c:"DIFFUSE_TOON",m:[{a:"node_var",c:"MAT_USE_TBN_SHADING",b:["0"]}],l:[{a:"node_in",c:"oU",f:["vec3"],e:!1},{a:"node_in",c:"oV",f:["vec2"],e:!1},{a:"node_in",c:"oW",f:["vec3"],
  2046. e:!1},{a:"node_in",c:"oX",f:["float"],e:!1},{a:"node_in",c:"oY",f:["vec2"],e:!1},{a:"node_out",c:"oZ",f:["float"],e:!1}],j:[{a:"txt",b:["vec3","qS","=","oW",";"]},{a:"node_cond",d:[{a:"node_if",g:["MAT_USE_TBN_SHADING"],j:[{a:"txt",b:"vec3 os = cross ( oU , B . xyz ) ; qS = cross ( os , B . xyz ) ; qS = - normalize ( qS ) ;".split(" ")}]}]},{a:"txt",b:"oZ = _0_0 ; if ( oV . r != _0_0 ) { float ot = ( _1_0 - oX ) * dot ( qS , oU ) + oX ; float o_ = acos ( ot ) ; if ( o_ < oY [ 0 ] ) oZ = _1_0 ; else if ( o_ > ( oY [ 0 ] + oY [ 1 ] ) || oY [ 1 ] == _0_0 ) oZ = _0_0 ; else oZ = _1_0 - ( ( o_ - oY [ 0 ] ) / oY [ 1 ] ) ; oZ = max ( oZ , _0_0 ) ; }".split(" ")}]},
  2047. {a:"node",c:"SPECULAR_PHONG",m:[{a:"node_var",c:"MAT_USE_TBN_SHADING",b:["0"]}],l:[{a:"node_in",c:"pa",f:["vec3"],e:!1},{a:"node_in",c:"pb",f:["vec2"],e:!1},{a:"node_in",c:"pc",f:["vec3"],e:!1},{a:"node_in",c:"pd",f:["float"],e:!1},{a:"node_in",c:"pe",f:["vec2"],e:!1},{a:"node_out",c:"pf",f:["float"],e:!1}],j:[{a:"txt",b:"pf = _0_0 ; if ( pb . g == _1_0 ) { vec3 pg = normalize ( pa + nI ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MAT_USE_TBN_SHADING"],j:[{a:"txt",b:"if ( pd == _0_0 ) { pf = dot ( B . xyz , pg ) ; pf = sqrt ( _1_0 - pf * pf ) ; }".split(" ")}]},
  2048. {a:"node_else",j:[{a:"txt",b:"pf = ( _1_0 - pd ) * max ( dot ( pc , pg ) , _0_0 ) + pd ;".split(" ")}]}]},{a:"txt",b:"pf = pow ( pf , pe [ 0 ] ) ; }".split(" ")}]},{a:"node",c:"SPECULAR_COOKTORR",m:[{a:"node_var",c:"MAT_USE_TBN_SHADING",b:["0"]}],l:[{a:"node_in",c:"ph",f:["vec3"],e:!1},{a:"node_in",c:"pi",f:["vec2"],e:!1},{a:"node_in",c:"pj",f:["vec3"],e:!1},{a:"node_in",c:"pk",f:["float"],e:!1},{a:"node_in",c:"pl",f:["vec2"],e:!1},{a:"node_out",c:"pm",f:["float"],e:!1}],j:[{a:"txt",b:"pm = _0_0 ; if ( pi . g != _0_0 ) { vec3 pg = normalize ( ph + nI ) ;".split(" ")},
  2049. {a:"node_cond",d:[{a:"node_if",g:["MAT_USE_TBN_SHADING"],j:[{a:"txt",b:"if ( pk == _0_0 ) { pm = dot ( B . xyz , pg ) ; pm = sqrt ( _1_0 - pm * pm ) ; }".split(" ")}]},{a:"node_else",j:[{a:"txt",b:"pm = max ( dot ( pj , pg ) , _0_0 ) ; pm = ( _1_0 - pk ) * pm + pk ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["MAT_USE_TBN_SHADING"],j:[{a:"txt",b:"float oF = max ( dot ( B . xyz , nI ) , _0_0 ) ; oF = sqrt ( _1_0 - oF * oF ) ;".split(" ")}]},{a:"node_else",j:[{a:"txt",b:"float oF = max ( dot ( pj , nI ) , _0_0 ) ;".split(" ")}]}]},
  2050. {a:"txt",b:"pm = pow ( pm , pl [ 0 ] ) ; pm = pm / ( 0.1 + oF ) ; }".split(" ")}]},{a:"node",c:"SPECULAR_WARDISO",m:[{a:"node_var",c:"MAT_USE_TBN_SHADING",b:["0"]}],l:[{a:"node_in",c:"pn",f:["vec3"],e:!1},{a:"node_in",c:"po",f:["vec2"],e:!1},{a:"node_in",c:"pr",f:["vec3"],e:!1},{a:"node_in",c:"pu",f:["float"],e:!1},{a:"node_in",c:"pv",f:["vec2"],e:!1},{a:"node_out",c:"pw",f:["float"],e:!1}],j:[{a:"txt",b:"pw = _0_0 ; if ( po . g == _1_0 ) { vec3 pg = normalize ( pn + nI ) ;".split(" ")},{a:"node_cond",
  2051. d:[{a:"node_if",g:["MAT_USE_TBN_SHADING"],j:[{a:"txt",b:"float px = _0_0 ; float oF = _0_0 ; float py = _0_0 ; if ( pu == _0_0 ) { px = dot ( B . xyz , pg ) ; oF = dot ( B . xyz , nI ) ; py = dot ( B . xyz , pn ) ; px = sqrt ( _1_0 - px * px ) ; oF = sqrt ( _1_0 - oF * oF ) ; py = sqrt ( _1_0 - py * py ) ; }".split(" ")}]},{a:"node_else",j:[{a:"txt",b:"float px = max ( dot ( pr , pg ) , 0.01 ) ; float oF = max ( dot ( pr , nI ) , 0.01 ) ; float py = max ( dot ( pr , pn ) , 0.01 ) ;".split(" ")}]}]},
  2052. {a:"txt",b:"float bm = tan ( acos ( px ) ) ; float J = max ( pv [ 0 ] , 0.01 ) ; pw = py * ( _1_0 / ( 4.0 * M_PI * J * J ) ) * ( exp ( - ( bm * bm ) / ( J * J ) ) / ( sqrt ( oF * py ) ) ) ; }".split(" ")}]},{a:"node",c:"SPECULAR_TOON",m:[{a:"node_var",c:"MAT_USE_TBN_SHADING",b:["0"]}],l:[{a:"node_in",c:"pz",f:["vec3"],e:!1},{a:"node_in",c:"pA",f:["vec2"],e:!1},{a:"node_in",c:"pB",f:["vec3"],e:!1},{a:"node_in",c:"pC",f:["float"],e:!1},{a:"node_in",c:"pD",f:["vec2"],e:!1},{a:"node_out",c:"pE",f:["float"],
  2053. e:!1}],j:[{a:"txt",b:"pE = _0_0 ; if ( pA . g == _1_0 ) { vec3 bO = normalize ( pz + nI ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MAT_USE_TBN_SHADING"],j:[{a:"txt",b:"float pF = dot ( bO , B . xyz ) ; float bm = pD [ 0 ] + pD [ 1 ] ; if ( pC == _0_0 ) bm = acos ( sqrt ( _1_0 - pF * pF ) ) ;".split(" ")}]},{a:"node_else",j:[{a:"txt",b:"float bm = acos ( dot ( bO , pB ) ) ;".split(" ")}]}]},{a:"txt",b:"if ( bm < pD [ 0 ] ) pE = _1_0 ; else if ( bm >= pD [ 0 ] + pD [ 1 ] || pD [ 1 ] == _0_0 ) pE = _0_0 ; else pE = _1_0 - ( bm - pD [ 0 ] ) / pD [ 1 ] ; }".split(" ")}]},
  2054. {a:"node",c:"SPECULAR_BLINN",m:[{a:"node_var",c:"MAT_USE_TBN_SHADING",b:["0"]}],l:[{a:"node_in",c:"pG",f:["vec3"],e:!1},{a:"node_in",c:"pH",f:["vec2"],e:!1},{a:"node_in",c:"pI",f:["vec3"],e:!1},{a:"node_in",c:"pJ",f:["float"],e:!1},{a:"node_in",c:"pK",f:["vec2"],e:!1},{a:"node_out",c:"pL",f:["float"],e:!1}],j:[{a:"txt",b:"float pM = pK [ 0 ] ; float pN = pK [ 1 ] ; pL = _0_0 ; if ( pH . g == _1_0 ) { if ( pM < 1.0 || pN == _0_0 ) pL = _0_0 ; else { if ( pN < 100.0 ) pN = sqrt ( 1.0 / pN ) ; else pN = 10.0 / pN ; vec3 pg = normalize ( nI + pG ) ;".split(" ")},
  2055. {a:"node_cond",d:[{a:"node_if",g:["MAT_USE_TBN_SHADING"],j:[{a:"txt",b:"float px = 0.0 ; if ( pJ == _0_0 ) { float pO = dot ( B . xyz , pg ) ; px = sqrt ( _1_0 - pO * pO ) ; }".split(" ")}]},{a:"node_else",j:[{a:"txt",b:"float px = ( _1_0 - pJ ) * max ( dot ( pI , pg ) , _0_0 ) + pJ ;".split(" ")}]}]},{a:"txt",b:"if ( px < _0_0 ) pL = _0_0 ; else { float oF = max ( dot ( pI , nI ) , 0.01 ) ; float py = dot ( pI , pG ) ; if ( py <= 0.01 ) pL = _0_0 ; else { float pP = max ( dot ( nI , pg ) , 0.01 ) ; float a = _1_0 ; float b = ( 2.0 * px * oF ) / pP ; float da = ( 2.0 * px * py ) / pP ; float g = min ( min ( a , b ) , da ) ; float p = sqrt ( pow ( pM , 2.0 ) + pow ( pP , 2.0 ) - _1_0 ) ; float lw = pow ( p - pP , 2.0 ) / pow ( p + pP , 2.0 ) * ( _1_0 + pow ( pP * ( p + pP ) - _1_0 , 2.0 ) / pow ( pP * ( p - pP ) + _1_0 , 2.0 ) ) ; float o_ = acos ( px ) ; pL = max ( lw * g * exp ( - pow ( o_ , 2.0 ) / ( 2.0 * pow ( pN , 2.0 ) ) ) , _0_0 ) ; } } } }".split(" ")}]},
  2056. {a:"node",c:"LIGHTING_APPLY",m:[],l:[{a:"node_in",c:"pQ",f:["vec4"],e:!1},{a:"node_in",c:"pR",f:["vec3"],e:!1},{a:"node_in",c:"pS",f:["float"],e:!1},{a:"node_in",c:"pT",f:["float"],e:!1},{a:"node_in",c:"pU",f:["vec3"],e:!1},{a:"node_in",c:"pV",f:["vec3"],e:!1},{a:"node_in",c:"pW",f:["vec4"],e:!1},{a:"node_in",c:"pX",f:["vec3"],e:!1},{a:"node_in",c:"pY",f:["vec3"],e:!1},{a:"node_in",c:"pZ",f:["vec3"],e:!1},{a:"node_in",c:"p_",f:["float"],e:!1},{a:"node_out",c:"qa",f:["vec4"],e:!1},{a:"node_out",c:"qb",
  2057. f:["vec3"],e:!1}],j:[{a:"node_cond",d:[{a:"node_if",g:["USE_NODE_B4W_TRANSLUCENCY"],j:[{a:"txt",b:"if ( dot ( pU , pV ) * dot ( nI , pV ) < _0_0 ) { float BY = pW . x ; float BZ = pW . y ; float B_ = pW . z ; float Ca = pW . w ; float Cb = clamp ( abs ( dot ( pU , pV ) ) , _0_0 , _1_0 ) ; float Cc = clamp ( dot ( nI , - pU ) , _0_0 , _1_0 ) ; float Cd = pow ( Cc , BZ ) ; qa = pQ + p_ * vec4 ( pZ * Cb * pow ( pX , vec3 ( BY ) ) , _1_0 ) ; qa += B_ * mix ( vec4 ( pX , _1_0 ) , vec4 ( _1_0 ) , Ca ) * p_ * vec4 ( pZ * Cb * vec3 ( Cd ) , _1_0 ) ; qb = pR ; } else { qb = pR + pZ * pY * pT ; qa = pQ + vec4 ( pZ * pX * pS , pT ) ; }".split(" ")}]},
  2058. {a:"node_else",j:[{a:"txt",b:"qb = pR + pZ * pY * pT ; qa = pQ + vec4 ( pZ * pX * pS , pT ) ;".split(" ")}]}]}]},{a:"node",c:"RGB",m:[{a:"node_var",c:"RGB_IND",b:["0"]}],l:[{a:"node_out",c:"Ce",f:["vec3"],e:!1}],j:[{a:"txt",b:"Ce = u_node_rgbs [ RGB_IND ] ;".split(" ")}]},{a:"node",c:"RGBTOBW",m:[],l:[{a:"node_in",c:"Cf",f:["vec3"],e:!1},{a:"node_out",c:"Cg",f:["float"],e:!1}],j:[{a:"txt",b:"Cg = dot ( Cf , vec3 ( 0.35 , 0.45 , 0.2 ) ) ;".split(" ")}]},{a:"node",c:"SEPRGB",m:[],l:[{a:"node_in",c:"Ch",
  2059. f:["vec3"],e:!1},{a:"node_out",c:"Ci",f:["float"],e:!0},{a:"node_out",c:"Cj",f:["float"],e:!0},{a:"node_out",c:"Ck",f:["float"],e:!0}],j:[{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_Ci"],j:[{a:"txt",b:"Ci = Ch . r ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_Cj"],j:[{a:"txt",b:"Cj = Ch . g ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_Ck"],j:[{a:"txt",b:"Ck = Ch . b ;".split(" ")}]}]}]},{a:"node",c:"SEPHSV",m:[],l:[{a:"node_in",c:"Cl",f:["vec3"],e:!1},{a:"node_out",
  2060. c:"Cm",f:["float"],e:!0},{a:"node_out",c:"Cn",f:["float"],e:!0},{a:"node_out",c:"Co",f:["float"],e:!0}],j:[{a:"txt",b:"vec3 Cp = jy ( Cl ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_Cm"],j:[{a:"txt",b:"Cm = Cp . r ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_Cn"],j:[{a:"txt",b:"Cn = Cp . g ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_Co"],j:[{a:"txt",b:"Co = Cp . b ;".split(" ")}]}]}]},{a:"node",c:"SQUEEZE",m:[],l:[{a:"node_in",c:"Cq",f:["float"],e:!1},
  2061. {a:"node_in",c:"Cr",f:["float"],e:!1},{a:"node_in",c:"Cs",f:["float"],e:!1},{a:"node_out",c:"Ct",f:["float"],e:!1}],j:[{a:"txt",b:"Ct = _1_0 / ( _1_0 + pow ( 2.71828183 , - ( Cq - Cs ) * Cr ) ) ;".split(" ")}]},{a:"node",c:"GAMMA",m:[],l:[{a:"node_in",c:"Cu",f:["vec3"],e:!1},{a:"node_in",c:"Cv",f:["float"],e:!1},{a:"node_out",c:"Cw",f:["vec3"],e:!1}],j:[{a:"txt",b:"Cw = Cu ; if ( Cw . x > _0_0 ) Cw . x = pow ( Cu . x , Cv ) ; if ( Cw . y > _0_0 ) Cw . y = pow ( Cu . y , Cv ) ; if ( Cw . z > _0_0 ) Cw . z = pow ( Cu . z , Cv ) ;".split(" ")}]},
  2062. {a:"node",c:"B4W_SRGB_TO_LINEAR",m:[],l:[{a:"node_in",c:"Cx",f:["vec3"],e:!1},{a:"node_out",c:"Cy",f:["vec3"],e:!1}],j:[{a:"txt",b:"Cy = max ( vec3 ( _0_0 ) , Cx ) ; Cy = pow ( Cy , vec3 ( 2.2 ) ) ;".split(" ")}]},{a:"node",c:"B4W_LINEAR_TO_SRGB",m:[],l:[{a:"node_in",c:"Cz",f:["vec3"],e:!1},{a:"node_out",c:"CA",f:["vec3"],e:!1}],j:[{a:"txt",b:"CA = max ( vec3 ( _0_0 ) , Cz ) ; CA = pow ( CA , vec3 ( _1_0 / 2.2 ) ) ;".split(" ")}]},{a:"node",c:"TEXTURE_EMPTY",m:[],l:[{a:"node_out",c:"CB",f:["vec3"],
  2063. e:!1},{a:"node_out",c:"CC",f:["vec3"],e:!1},{a:"node_out",c:"CD",f:["float"],e:!1}],j:[{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_CB"],j:[{a:"txt",b:"CB [ 2 ] = CB [ 1 ] = CB [ 0 ] = _0_0 ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_CC"],j:[{a:"txt",b:"CC [ 2 ] = CC [ 1 ] = CC [ 0 ] = _0_0 ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_CD"],j:[{a:"txt",b:["CD","=","_0_0",";"]}]}]}]},{a:"node",c:"TEXTURE_ENVIRONMENT",m:[],l:[{a:"node_in",c:"CE",f:["vec3"],e:!1},{a:"node_out",
  2064. c:"CF",f:["vec3"],e:!0},{a:"node_out",c:"CG",f:["float"],e:!0},{a:"node_param",c:"node_TEXTURE_ENVIRONMENT_var_texture",f:["uniform","samplerCube"],e:!1}],j:[{a:"txt",b:"vec3 CH = vec3 ( CE . x , CE . y , CE . z ) ; vec4 yM = GLSL_TEXTURE_CUBE ( node_TEXTURE_ENVIRONMENT_var_texture , CH ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_CF"],j:[{a:"txt",b:"CF = yM . xyz ; bY ( CF ) ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_CG"],j:[{a:"txt",b:"CG = yM . w ;".split(" ")}]}]}]},
  2065. {a:"node",c:"TEXTURE_COLOR",m:[{a:"node_var",c:"NON_COLOR",b:["0"]},{a:"node_var",c:"CONVERT_UV",b:["0"]},{a:"node_var",c:"USE_uv2",b:["0"]},{a:"node_var",c:"USE_uv3",b:["0"]},{a:"node_var",c:"USE_uv4",b:["0"]}],l:[{a:"node_in",c:"CI",f:["vec3"],e:!0},{a:"node_in",c:"CJ",f:["vec3"],e:!0},{a:"node_in",c:"CK",f:["vec3"],e:!0},{a:"node_in",c:"CL",f:["vec3"],e:!0},{a:"node_out",c:"CM",f:["vec3"],e:!0},{a:"node_out",c:"CN",f:["float"],e:!0},{a:"node_out",c:"CO",f:["vec3"],e:!0},{a:"node_out",c:"CP",f:["float"],
  2066. e:!0},{a:"node_out",c:"CQ",f:["vec3"],e:!0},{a:"node_out",c:"CR",f:["float"],e:!0},{a:"node_out",c:"CS",f:["vec3"],e:!0},{a:"node_out",c:"CT",f:["float"],e:!0},{a:"node_param",c:"node_TEXTURE_COLOR_var_texture",f:["uniform","sampler2D"],e:!1}],j:[{a:"node_cond",d:[{a:"node_if",g:["CONVERT_UV"],j:[{a:"txt",b:"vec4 yM = GLSL_TEXTURE ( node_TEXTURE_COLOR_var_texture , qQ ( CI ) ) ;".split(" ")}]},{a:"node_else",j:[{a:"txt",b:"vec4 yM = GLSL_TEXTURE ( node_TEXTURE_COLOR_var_texture , CI . xy ) ;".split(" ")}]}]},
  2067. {a:"node_cond",d:[{a:"node_if",g:["USE_OUT_CM"],j:[{a:"txt",b:"CM = yM . xyz ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["NON_COLOR",{a:"logic_negative_expr",i:1}],j:[{a:"txt",b:["bY","(","CM",")",";"]}]}]}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_CN"],j:[{a:"txt",b:"CN = yM . w ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_uv2"],j:[{a:"node_cond",d:[{a:"node_if",g:["CONVERT_UV"],j:[{a:"txt",b:"yM = GLSL_TEXTURE ( node_TEXTURE_COLOR_var_texture , qQ ( CJ ) ) ;".split(" ")}]},
  2068. {a:"node_else",j:[{a:"txt",b:"yM = GLSL_TEXTURE ( node_TEXTURE_COLOR_var_texture , CJ . xy ) ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_CO"],j:[{a:"txt",b:"CO = yM . xyz ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["NON_COLOR",{a:"logic_negative_expr",i:1}],j:[{a:"txt",b:["bY","(","CO",")",";"]}]}]}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_CP"],j:[{a:"txt",b:"CP = yM . w ;".split(" ")}]}]}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_uv3"],j:[{a:"node_cond",d:[{a:"node_if",
  2069. g:["CONVERT_UV"],j:[{a:"txt",b:"yM = GLSL_TEXTURE ( node_TEXTURE_COLOR_var_texture , qQ ( CK ) ) ;".split(" ")}]},{a:"node_else",j:[{a:"txt",b:"yM = GLSL_TEXTURE ( node_TEXTURE_COLOR_var_texture , CK . xy ) ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_CQ"],j:[{a:"txt",b:"CQ = yM . xyz ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["NON_COLOR",{a:"logic_negative_expr",i:1}],j:[{a:"txt",b:["bY","(","CQ",")",";"]}]}]}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_CR"],j:[{a:"txt",
  2070. b:"CR = yM . w ;".split(" ")}]}]}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_uv4"],j:[{a:"node_cond",d:[{a:"node_if",g:["CONVERT_UV"],j:[{a:"txt",b:"yM = GLSL_TEXTURE ( node_TEXTURE_COLOR_var_texture , qQ ( CL ) ) ;".split(" ")}]},{a:"node_else",j:[{a:"txt",b:"yM = GLSL_TEXTURE ( node_TEXTURE_COLOR_var_texture , CL . xy ) ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_CS"],j:[{a:"txt",b:"CS = yM . xyz ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["NON_COLOR",{a:"logic_negative_expr",
  2071. i:1}],j:[{a:"txt",b:["bY","(","CS",")",";"]}]}]}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_CT"],j:[{a:"txt",b:"CT = yM . w ;".split(" ")}]}]}]}]}]},{a:"node",c:"TEXTURE_NORMAL",m:[{a:"node_var",c:"USE_uv2",b:["0"]},{a:"node_var",c:"USE_uv3",b:["0"]},{a:"node_var",c:"USE_uv4",b:["0"]}],l:[{a:"node_in",c:"CU",f:["vec3"],e:!0},{a:"node_in",c:"CV",f:["vec3"],e:!0},{a:"node_in",c:"CW",f:["vec3"],e:!0},{a:"node_in",c:"CX",f:["vec3"],e:!0},{a:"node_out",c:"CY",f:["vec3"],e:!0},{a:"node_out",c:"CZ",
  2072. f:["float"],e:!0},{a:"node_out",c:"C_",f:["vec3"],e:!0},{a:"node_out",c:"Da",f:["float"],e:!0},{a:"node_out",c:"Db",f:["vec3"],e:!0},{a:"node_out",c:"Dc",f:["float"],e:!0},{a:"node_out",c:"Dd",f:["vec3"],e:!0},{a:"node_out",c:"De",f:["float"],e:!0},{a:"node_param",c:"node_TEXTURE_NORMAL_var_texture",f:["uniform","sampler2D"],e:!1}],j:[{a:"txt",b:"vec4 yM = GLSL_TEXTURE ( node_TEXTURE_NORMAL_var_texture , qQ ( CU ) ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_CY"],j:[{a:"txt",b:"CY = normalize ( rm * ( yM . xyz - _0_5 ) ) ;".split(" ")}]}]},
  2073. {a:"node_cond",d:[{a:"node_if",g:["USE_OUT_CZ"],j:[{a:"txt",b:"CZ = yM . w ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_uv2"],j:[{a:"txt",b:"yM = GLSL_TEXTURE ( node_TEXTURE_NORMAL_var_texture , qQ ( CV ) ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_C_"],j:[{a:"txt",b:"C_ = normalize ( rm * ( yM . xyz - _0_5 ) ) ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_Da"],j:[{a:"txt",b:"Da = yM . w ;".split(" ")}]}]}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_uv3"],
  2074. j:[{a:"txt",b:"yM = GLSL_TEXTURE ( node_TEXTURE_NORMAL_var_texture , qQ ( CW ) ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_Db"],j:[{a:"txt",b:"Db = normalize ( rm * ( yM . xyz - _0_5 ) ) ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_Dc"],j:[{a:"txt",b:"Dc = yM . w ;".split(" ")}]}]}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_uv4"],j:[{a:"txt",b:"yM = GLSL_TEXTURE ( node_TEXTURE_NORMAL_var_texture , qQ ( CX ) ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_Dd"],
  2075. j:[{a:"txt",b:"Dd = normalize ( rm * ( yM . xyz - _0_5 ) ) ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_De"],j:[{a:"txt",b:"De = yM . w ;".split(" ")}]}]}]}]}]},{a:"node",c:"VALUE",m:[{a:"node_var",c:"VALUE_IND",b:["0"]}],l:[{a:"node_out",c:"Df",f:["float"],e:!1}],j:[{a:"txt",b:"Df = u_node_values [ VALUE_IND ] ;".split(" ")}]},{a:"node",c:"VECT_MATH_ADD",m:[],l:[{a:"node_in",c:"Dg",f:["vec3"],e:!1},{a:"node_in",c:"Dh",f:["vec3"],e:!1},{a:"node_out",c:"Di",f:["vec3"],e:!1},{a:"node_out",
  2076. c:"Dj",f:["float"],e:!0}],j:[{a:"txt",b:"Di = Dg + Dh ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_Dj"],j:[{a:"txt",b:"Dj = ( abs ( Di [ 0 ] ) + abs ( Di [ 1 ] ) + abs ( Di [ 2 ] ) ) / 3.0 ;".split(" ")}]}]}]},{a:"node",c:"VECT_MATH_SUBTRACT",m:[],l:[{a:"node_in",c:"Dk",f:["vec3"],e:!1},{a:"node_in",c:"Dl",f:["vec3"],e:!1},{a:"node_out",c:"Dm",f:["vec3"],e:!1},{a:"node_out",c:"Dn",f:["float"],e:!0}],j:[{a:"txt",b:"Dm = Dk - Dl ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_Dn"],
  2077. j:[{a:"txt",b:"Dn = ( abs ( Dm [ 0 ] ) + abs ( Dm [ 1 ] ) + abs ( Dm [ 2 ] ) ) / 3.0 ;".split(" ")}]}]}]},{a:"node",c:"VECT_MATH_AVERAGE",m:[],l:[{a:"node_in",c:"Do",f:["vec3"],e:!1},{a:"node_in",c:"Dp",f:["vec3"],e:!1},{a:"node_out",c:"Dq",f:["vec3"],e:!1},{a:"node_out",c:"Dr",f:["float"],e:!0}],j:[{a:"txt",b:"Dq = Do + Dp ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_Dr"],j:[{a:"txt",b:"Dr = length ( Dq ) ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_Dq"],j:[{a:"txt",
  2078. b:"Dq = normalize ( Dq ) ;".split(" ")}]}]}]},{a:"node",c:"VECT_MATH_DOT_PRODUCT",m:[],l:[{a:"node_in",c:"Ds",f:["vec3"],e:!1},{a:"node_in",c:"Dt",f:["vec3"],e:!1},{a:"node_out",c:"Du",f:["vec3"],e:!1},{a:"node_out",c:"Dv",f:["float"],e:!0}],j:[{a:"txt",b:"Du = vec3 ( _0_0 ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_Dv"],j:[{a:"txt",b:"Dv = dot ( Ds , Dt ) ;".split(" ")}]}]}]},{a:"node",c:"VECT_MATH_CROSS_PRODUCT",m:[],l:[{a:"node_in",c:"Dw",f:["vec3"],e:!1},{a:"node_in",c:"Dx",f:["vec3"],
  2079. e:!1},{a:"node_out",c:"Dy",f:["vec3"],e:!1},{a:"node_out",c:"Dz",f:["float"],e:!0}],j:[{a:"txt",b:"Dy = cross ( Dw , Dx ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_Dz"],j:[{a:"txt",b:"Dz = length ( Dy ) ; Dy /= Dz ;".split(" ")}]},{a:"node_else",j:[{a:"txt",b:"Dy = normalize ( Dy ) ;".split(" ")}]}]}]},{a:"node",c:"VECT_MATH_NORMALIZE",m:[],l:[{a:"node_in",c:"DA",f:["vec3"],e:!1},{a:"node_in",c:"DB",f:["vec3"],e:!1},{a:"node_out",c:"DC",f:["vec3"],e:!1},{a:"node_out",c:"DD",f:["float"],
  2080. e:!0}],j:[{a:"txt",b:"DC = normalize ( DA ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_DD"],j:[{a:"txt",b:"DD = length ( DA ) ;".split(" ")}]}]},{a:"txt",b:["DB",";"]}]},{a:"node",c:"FRESNEL",m:[{a:"node_var",c:"USE_FRESNEL_NORMAL",b:["0"]}],l:[{a:"node_in",c:"DE",f:["float"],e:!1},{a:"node_in",c:"DF",f:["vec3"],e:!1},{a:"node_out",c:"DG",f:["float"],e:!1}],j:[{a:"node_cond",d:[{a:"node_if",g:["USE_FRESNEL_NORMAL"],j:[{a:"txt",b:"vec3 bW = normalize ( DF ) ;".split(" ")}]},{a:"node_else",
  2081. j:[{a:"txt",b:["vec3","bW","=","nH",";"]}]}]},{a:"node_cond",d:[{a:"node_if",g:["CAMERA_TYPE","CAM_TYPE_PERSP",{a:"equal_expr",i:2}],j:[{a:"txt",b:"vec3 yk = normalize ( nI ) ;".split(" ")}]},{a:"node_else",j:[{a:"txt",b:["vec3","yk","=","u_camera_direction",";"]}]}]},{a:"txt",b:"float qT = max ( DE , 0.00001 ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["REFLECTION_PASS","REFL_PASS_PLANE",{a:"equal_expr",i:2}],j:[{a:"txt",b:"qT = gl_FrontFacing == false ? qT : _1_0 / qT ;".split(" ")}]},{a:"node_else",
  2082. j:[{a:"txt",b:"qT = gl_FrontFacing ? qT : _1_0 / qT ;".split(" ")}]}]},{a:"txt",b:"DG = qV ( yk , bW , qT ) ;".split(" ")}]},{a:"node",c:"B4W_REFLECT",m:[],l:[{a:"node_in",c:"DH",f:["vec3"],e:!1},{a:"node_in",c:"DI",f:["vec3"],e:!1},{a:"node_out",c:"DJ",f:["vec3"],e:!1}],j:[{a:"txt",b:"DJ = reflect ( T ( u_view_tsr_inverse , DH ) , DI ) ;".split(" ")}]},{a:"node",c:"B4W_REFLECT_WORLD",m:[],l:[{a:"node_in",c:"DK",f:["vec3"],e:!1},{a:"node_out",c:"DL",f:["vec3"],e:!1}],j:[{a:"txt",b:"DL = reflect ( - nI . xyz , DK ) ;".split(" ")}]},
  2083. {a:"node",c:"B4W_PARALLAX",m:[],l:[{a:"node_in",c:"DM",f:["vec3"],e:!1},{a:"node_in",c:"DN",f:["float"],e:!1},{a:"node_in",c:"DO",f:["const","float"],e:!1},{a:"node_in",c:"DP",f:["const","float"],e:!1},{a:"node_out",c:"DQ",f:["vec3"],e:!1},{a:"node_param",c:"node_B4W_PARALLAX_var_texture",f:["uniform","sampler2D"],e:!1}],j:[{a:"txt",b:"float bp = length ( rn ) ; if ( bp < DP ) { vec2 bE = qQ ( DM ) ; float bI = clamp ( _0_5 * ( DP - bp ) , _0_0 , _1_0 ) ; float hk = DN * bI ; vec3 bK = normalize ( nI * rm ) ; float bL = _1_0 / DO ; vec2 bM = bK . xy * hk / ( DO * bK . z ) ; float bN = _1_0 ; float bO = GLSL_TEXTURE ( node_B4W_PARALLAX_var_texture , bE ) . a ; for ( float bQ = 1.0 ; bQ <= DO ; bQ ++ ) { if ( bO < bN ) { bN -= bL ; bE -= bM ; bO = GLSL_TEXTURE ( node_B4W_PARALLAX_var_texture , bE ) . a ; } } vec2 bR = bE + bM ; float bS = GLSL_TEXTURE ( node_B4W_PARALLAX_var_texture , bR ) . a - ( bN + bL ) ; float bT = bO - bN ; float bU = bT / ( bT - bS ) ; bE = bU * bR + ( _1_0 - bU ) * bE ; DQ = qP ( bE ) ; } else DQ = DM ;".split(" ")}]},
  2084. {a:"node",c:"B4W_CLAMP",m:[],l:[{a:"node_in",c:"DR",f:["vec3"],e:!1},{a:"node_out",c:"DS",f:["vec3"],e:!1}],j:[{a:"txt",b:"DS = clamp ( DR , _0_0 , _1_0 ) ;".split(" ")}]},{a:"node",c:"B4W_REFRACTION",m:[],l:[{a:"node_in",c:"DT",f:["vec3"],e:!1},{a:"node_in",c:"DU",f:["float"],e:!1},{a:"node_out",c:"DV",f:["vec3"],e:!1}],j:[{a:"txt",b:"DV = qO ( DT , DU ) ;".split(" ")}]},{a:"node",c:"B4W_TRANSLUCENCY",m:[],l:[{a:"node_in",c:"DW",f:["float"],e:!1},{a:"node_in",c:"DX",f:["float"],e:!1},{a:"node_in",
  2085. c:"DY",f:["float"],e:!1},{a:"node_in",c:"DZ",f:["float"],e:!1},{a:"node_in",c:"D_",f:["float"],e:!1},{a:"node_out",c:"Ea",f:["float"],e:!0},{a:"node_out",c:"Eb",f:["vec4"],e:!0}],j:[{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_Ea"],j:[{a:"txt",b:["Ea","=","DW",";"]}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_Eb"],j:[{a:"txt",b:"Eb = vec4 ( DX , DY , DZ , D_ ) ;".split(" ")}]}]}]},{a:"node",c:"B4W_TIME",m:[],l:[{a:"node_out",c:"Ec",f:["float"],e:!1}],j:[{a:"txt",b:["Ec","=","u_time",";"]}]},{a:"node",
  2086. c:"B4W_SMOOTHSTEP",m:[],l:[{a:"node_in",c:"Ed",f:["float"],e:!1},{a:"node_in",c:"Ee",f:["float"],e:!1},{a:"node_in",c:"Ef",f:["float"],e:!1},{a:"node_out",c:"Eg",f:["float"],e:!1}],j:[{a:"txt",b:"Eg = smoothstep ( Ee , Ef , Ed ) ;".split(" ")}]},{a:"node",c:"B4W_GLOW_OUTPUT",m:[],l:[{a:"node_in",c:"Eh",f:["vec3"],e:!1},{a:"node_in",c:"Ei",f:["float"],e:!1}],j:[{a:"txt",b:"D = Eh ; H = Ei ;".split(" ")}]},{a:"node",c:"B4W_VECTOSCAL",m:[],l:[{a:"node_in",c:"Ej",f:["vec3"],e:!1},{a:"node_out",c:"Ek",
  2087. f:["float"],e:!1}],j:[{a:"txt",b:"Ek = ( Ej . r + Ej . g + Ej . b ) / 3.0 ;".split(" ")}]},{a:"node",c:"B4W_SCALTOVEC",m:[],l:[{a:"node_in",c:"El",f:["float"],e:!1},{a:"node_out",c:"Em",f:["vec3"],e:!1}],j:[{a:"txt",b:"Em [ 0 ] = El ; Em [ 1 ] = El ; Em [ 2 ] = El ;".split(" ")}]},{a:"nodes_global"},{a:"txt",b:"void I ( in vec3 nI , out vec3 D , out vec3 E , out vec3 F , out vec4 G , out float H ) { D = vec3 ( _0_0 ) ; E = vec3 ( _0_0 ) ; F = vec3 ( _0_0 ) ; G = vec4 ( _0_0 ) ; H = _0_0 ;".split(" ")},
  2088. {a:"cond",d:[{a:"if",g:["USE_NODE_MATERIAL_BEGIN","USE_NODE_GEOMETRY_NO","CAUSTICS","CALC_TBN_SPACE","USE_NODE_TEX_COORD_NO","USE_NODE_NORMAL_MAP","USE_NODE_BSDF_BEGIN","USE_NODE_FRESNEL","USE_NODE_TEX_COORD_RE","USE_NODE_LAYER_WEIGHT","USE_NODE_BUMP",{a:"logical_or_expr",i:11}],h:{a:"grp",d:[{a:"txt",b:"vec3 P = normalize ( j ) ; vec3 bF = P ;".split(" ")},{a:"cond",d:[{a:"if",g:["DOUBLE_SIDED_LIGHTING","USE_NODE_GEOMETRY_NO",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["REFLECTION_PASS",
  2089. "REFL_PASS_PLANE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"if ( gl_FrontFacing == false )".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:["if","(","gl_FrontFacing",")"]}]}}]},{a:"txt",b:"bF = bF ; else bF = - bF ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["DOUBLE_SIDED_LIGHTING"],h:{a:"grp",d:[{a:"txt",b:["vec3","nH","=","bF",";"]}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:["vec3","nH","=","P",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_NODE_GEOMETRY_NO"],h:{a:"grp",d:[{a:"txt",b:["vec3","rl",
  2090. "=","bF",";"]}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["CALC_TBN_SPACE"],h:{a:"grp",d:[{a:"txt",b:"vec3 R = cross ( bF , k . xyz ) * k . w ; R = normalize ( R ) ; vec3 Q = cross ( R , bF ) * k . w ; mat3 rm = mat3 ( Q , R , bF ) ;".split(" ")}]}}]},{a:"txt",b:"vec3 nG = h ; vec4 rn = i ; float ro = u_emit ; float rp = u_ambient ;".split(" ")},{a:"nodes_main"},{a:"txt",b:["}"]}]}}]}]};a["include/nodes.glslv"]={a:"grp",d:[{a:"cond",d:[{a:"ifndef",c:"NODES_GLSLV",h:{a:"grp",d:[{a:"define",c:"NODES_GLSLV",
  2091. b:[""]},{a:"var",c:"PARTICLE_BATCH",b:["0"]},{a:"cond",d:[{a:"if",g:["USE_NODE_GEOMETRY_OR","USE_NODE_TEX_COORD_GE",{a:"logical_or_expr",i:2},"PARTICLE_BATCH",{a:"logic_negative_expr",i:1},{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"GLSL_IN vec3 a_orco_tex_coord ; GLSL_OUT vec3 qL ;".split(" ")}]}}]},{a:"node",c:"TEX_COORD_UV",m:[],l:[{a:"node_param",c:"node_TEX_COORD_UV_var_a_uv",f:["GLSL_IN","vec2"],e:!1},{a:"node_param",c:"re",f:["GLSL_OUT","vec2"],e:!1}],j:[{a:"txt",b:["re","=","node_TEX_COORD_UV_var_a_uv",
  2092. ";"]}]},{a:"node",c:"UV_MERGED",m:[],l:[{a:"node_param",c:"node_UV_MERGED_var_a_uv",f:["GLSL_IN","vec2"],e:!1},{a:"node_param",c:"rd",f:["GLSL_OUT","vec2"],e:!1}],j:[{a:"txt",b:["rd","=","node_UV_MERGED_var_a_uv",";"]}]},{a:"node",c:"UVMAP",m:[],l:[{a:"node_param",c:"node_UVMAP_var_a_uv",f:["GLSL_IN","vec2"],e:!1},{a:"node_param",c:"rf",f:["GLSL_OUT","vec2"],e:!1}],j:[{a:"txt",b:["rf","=","node_UVMAP_var_a_uv",";"]}]},{a:"node",c:"GEOMETRY_UV",m:[],l:[{a:"node_param",c:"node_GEOMETRY_UV_var_a_uv",
  2093. f:["GLSL_IN","vec2"],e:!1},{a:"node_param",c:"qW",f:["GLSL_OUT","vec2"],e:!1}],j:[{a:"txt",b:["qW","=","node_GEOMETRY_UV_var_a_uv",";"]}]},{a:"node",c:"GEOMETRY_VC",m:[],l:[{a:"node_param",c:"node_GEOMETRY_VC_var_a_vertex_color",f:["GLSL_IN","vec3"],e:!1},{a:"node_param",c:"En",f:["GLSL_OUT","vec3"],e:!1}],j:[{a:"txt",b:["En","=","node_GEOMETRY_VC_var_a_vertex_color",";"]}]},{a:"node",c:"GEOMETRY_VC1",m:[],l:[{a:"node_param",c:"node_GEOMETRY_VC1_var_a_vertex_color",f:["GLSL_IN","float"],e:!1},{a:"node_param",
  2094. c:"Eo",f:["GLSL_OUT","float"],e:!1}],j:[{a:"txt",b:["Eo","=","node_GEOMETRY_VC1_var_a_vertex_color",";"]}]},{a:"node",c:"GEOMETRY_VC2",m:[],l:[{a:"node_param",c:"node_GEOMETRY_VC2_var_a_vertex_color",f:["GLSL_IN","vec2"],e:!1},{a:"node_param",c:"Ep",f:["GLSL_OUT","vec2"],e:!1}],j:[{a:"txt",b:["Ep","=","node_GEOMETRY_VC2_var_a_vertex_color",";"]}]},{a:"node",c:"GEOMETRY_VC3",m:[],l:[{a:"node_param",c:"node_GEOMETRY_VC3_var_a_vertex_color",f:["GLSL_IN","vec3"],e:!1},{a:"node_param",c:"Eq",f:["GLSL_OUT",
  2095. "vec3"],e:!1}],j:[{a:"txt",b:["Eq","=","node_GEOMETRY_VC3_var_a_vertex_color",";"]}]},{a:"nodes_global"},{a:"txt",b:["void","I","(",")","{"]},{a:"cond",d:[{a:"if",g:["USE_NODE_GEOMETRY_OR","USE_NODE_TEX_COORD_GE",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["qL","=","a_orco_tex_coord",";"]}]}}]},{a:"nodes_main"},{a:"txt",b:["}"]}]}}]}]};a["include/pack.glslf"]={a:"grp",d:[{a:"cond",d:[{a:"ifndef",c:"PACK_GLSLF",h:{a:"grp",d:[{a:"define",c:"PACK_GLSLF",b:[""]},{a:"txt",b:"vec4 fS ( const in float hA ) { vec4 eG = vec4 ( _255_0 * _255_0 * _255_0 , _255_0 * _255_0 , _255_0 , _1_0 ) ; vec4 Er = vec4 ( _0_0 , _1_0 / _255_0 , _1_0 / _255_0 , _1_0 / _255_0 ) ; vec4 iS = fract ( hA * eG ) ; iS -= iS . xxyz * Er ; return iS ; } float cv ( const in vec4 Es ) { float fN ; vec4 eG = vec4 ( _1_0 / ( _255_0 * _255_0 * _255_0 ) , _1_0 / ( _255_0 * _255_0 ) , _1_0 / _255_0 , _1_0 ) ; fN = dot ( Es , eG ) ; return fN ; } vec4 fS ( const in vec2 gJ ) { vec2 eG = vec2 ( _255_0 , _1_0 ) ; vec2 Er = vec2 ( _0_0 , _1_0 / _255_0 ) ; vec4 iS = fract ( gJ . xxyy * eG . xyxy ) ; iS -= iS . xxzz * Er . xyxy ; if ( gJ . r == _1_0 ) iS . rg = vec2 ( _0_0 , _1_0 ) ; if ( gJ . g == _1_0 ) iS . ba = vec2 ( _0_0 , _1_0 ) ; return iS ; } vec2 ix ( const in vec4 Et ) { vec2 gJ ; vec2 eG = vec2 ( _1_0 / _255_0 , _1_0 ) ; gJ . r = dot ( Et . rg , eG ) ; gJ . g = dot ( Et . ba , eG ) ; return gJ ; }".split(" ")}]}}]}]};
  2096. a["include/particles.glslv"]={a:"grp",d:[{a:"cond",d:[{a:"ifndef",c:"PARTICLES_GLSLV",h:{a:"grp",d:[{a:"define",c:"PARTICLES_GLSLV",b:[""]},{a:"var",c:"EPSILON",b:["0.000001"]},{a:"var",c:"COLOR_RAMP_LENGTH",b:["0"]},{a:"var",c:"WORLD_SPACE",b:["0"]},{a:"var",c:"USE_COLOR_RAMP",b:["0"]},{a:"include",o:"math.glslv"},{a:"txt",b:"struct cD { float cM ; vec3 N ; float J ; vec3 aG ; float bm ; vec3 cS ; vec3 cT ; float cU ; } ;".split(" ")},{a:"cond",d:[{a:"if",g:["COLOR_RAMP_LENGTH",0,{a:"g_expr",i:2}],
  2097. h:{a:"grp",d:[{a:"txt",b:"void Ex ( inout vec3 aG , float Eu , vec4 js , vec4 jt ) { float Ev = jt . x - js . x ; float Ew = ( Eu - js . x ) / Ev ; aG = mix ( aG , jt . yzw , clamp ( Ew , 0.0 , 1.0 ) ) ; }".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["COLOR_RAMP_LENGTH",0,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec3 EA ( float t , float Ey , vec4 Ez [ COLOR_RAMP_LENGTH ] ) { float Eu = t / Ey ; vec3 aG = Ez [ 0 ] . yzw ;".split(" ")},{a:"cond",d:[{a:"if",g:["COLOR_RAMP_LENGTH",1,{a:"g_expr",i:2}],
  2098. h:{a:"grp",d:[{a:"txt",b:"Ex ( aG , Eu , Ez [ 0 ] , Ez [ 1 ] ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["COLOR_RAMP_LENGTH",2,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"Ex ( aG , Eu , Ez [ 1 ] , Ez [ 2 ] ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["COLOR_RAMP_LENGTH",3,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"Ex ( aG , Eu , Ez [ 2 ] , Ez [ 3 ] ) ;".split(" ")}]}}]},{a:"txt",b:["return","aG",";","}"]}]}}]},{a:"txt",b:"float EG ( float t , float Ey , float EB , float EC ) { float ED = max ( 0.01 , min ( Ey , EB ) ) ; float EE = max ( 0.01 , min ( Ey , EC ) ) ; float EF = Ey - EE ; float J = clamp ( t / ED , 0.0 , 1.0 ) - step ( EF , t ) * ( t - EF ) / EE ; return J ; } cD cE ( ) { cD sp ; float t ; float Ey = a_p_data [ 0 ] ; float EH = a_p_data [ 1 ] ; if ( u_p_cyclic == 1 ) { t = mod ( u_p_time , u_p_length ) - EH ; if ( t < 0.0 ) t += u_p_length ; } if ( u_p_cyclic != 1 ) { t = u_p_time - EH ; } if ( t < 0.0 || t >= Ey ) { sp . cM = 0.0001 ; sp . N = vec3 ( 99999.0 , 0.0 , 0.0 ) ; } if ( ! ( t < 0.0 || t >= Ey ) ) { vec3 bz = O ( a_tbn_quat , vec3 ( 0.0 , 1.0 , 0.0 ) ) ;".split(" ")},
  2099. {a:"cond",d:[{a:"if",g:["WORLD_SPACE"],h:{a:"grp",d:[{a:"txt",b:"vec3 eD = a_position ; vec3 qS = bz ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"vec3 eD = ad ( u_model_tsr , a_position ) ; vec3 qS = T ( u_model_tsr , bz ) ;".split(" ")}]}}]},{a:"txt",b:"vec3 EI = u_p_nfactor * qS ; EI += a_p_vels . xyz ; EI . z -= u_p_gravity * t / 2.0 ; float EJ = max ( u_p_mass , EPSILON ) ; EI += ( u_p_wind_fac * u_wind / EJ ) * t / 2.0 ; sp . cU = t ; sp . cS = EI ; sp . cT = bz * a_p_vels . w ; sp . N = eD + EI * t ; sp . bm = a_p_vels . w * t ;".split(" ")},
  2100. {a:"cond",d:[{a:"if",g:["USE_COLOR_RAMP"],h:{a:"grp",d:[{a:"txt",b:"sp . cM = GLSL_TEXTURE ( u_color_ramp_tex , vec2 ( t / u_p_max_lifetime , 0.5 ) ) . g ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"sp . cM = 1.0 ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["COLOR_RAMP_LENGTH",0,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"sp . aG = EA ( t , u_p_max_lifetime , u_p_color_ramp ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"sp . aG = vec3 ( 1.0 ) ;".split(" ")}]}}]},{a:"txt",b:"sp . J = EG ( t , a_p_data [ 0 ] , u_p_fade_in , u_p_fade_out ) ; } return sp ; }".split(" ")}]}}]}]};
  2101. a["include/particles_nodes.glslf"]={a:"grp",d:[{a:"cond",d:[{a:"ifndef",c:"PARTICLES_NODES_GLSLF",h:{a:"grp",d:[{a:"define",c:"PARTICLES_NODES_GLSLF",b:[""]},{a:"var",c:"CAUSTICS",b:["0"]},{a:"var",c:"DOUBLE_SIDED_LIGHTING",b:["0"]},{a:"var",c:"REFLECTION_PASS",b:["REFL_PASS_NONE"]},{a:"var",c:"PARTICLE_BATCH",b:["0"]},{a:"var",c:"NUM_LIGHTS",b:["0"]},{a:"var",c:"CALC_TBN_SPACE",b:["0"]},{a:"cond",d:[{a:"if",g:["USE_NODE_MATERIAL_BEGIN","USE_NODE_BSDF_BEGIN",{a:"logical_or_expr",i:2}],h:{a:"grp",
  2102. d:[{a:"include",o:"environment.glslf"}]}}]},{a:"include",o:"color_util.glslf"},{a:"include",o:"math.glslv"},{a:"cond",d:[{a:"if",g:["USE_NODE_HUE_SAT","USE_NODE_MIX_RGB_HUE","USE_NODE_MIX_RGB_SATURATION","USE_NODE_MIX_RGB_VALUE","USE_NODE_MIX_RGB_COLOR","USE_NODE_SEPHSV",{a:"logical_or_expr",i:6}],h:{a:"grp",d:[{a:"txt",b:"vec3 jy ( vec3 rgb ) { vec4 jx = vec4 ( _0_0 , - _1_0 / 3.0 , 2.0 / 3.0 , - _1_0 ) ; vec4 p = mix ( vec4 ( rgb . bg , jx . wz ) , vec4 ( rgb . gb , jx . xy ) , step ( rgb . b , rgb . g ) ) ; vec4 q = mix ( vec4 ( p . xyw , rgb . r ) , vec4 ( rgb . r , p . yzx ) , step ( p . x , rgb . r ) ) ; float df = q . x - min ( q . w , q . y ) ; float hQ = 1.0e-10 ; return vec3 ( abs ( q . z + ( q . w - q . y ) / ( 6.0 * df + hQ ) ) , df / ( q . x + hQ ) , q . x ) ; }".split(" ")}]}}]},
  2103. {a:"cond",d:[{a:"if",g:["USE_NODE_HUE_SAT","USE_NODE_MIX_RGB_HUE","USE_NODE_MIX_RGB_SATURATION","USE_NODE_MIX_RGB_VALUE","USE_NODE_MIX_RGB_COLOR","USE_NODE_COMBHSV",{a:"logical_or_expr",i:6}],h:{a:"grp",d:[{a:"txt",b:"vec3 jA ( vec3 jz ) { vec4 jx = vec4 ( _1_0 , 2.0 / 3.0 , _1_0 / 3.0 , 3.0 ) ; vec3 p = abs ( fract ( vec3 ( jz . r , jz . r , jz . r ) + jx . xyz ) * 6.0 - jx . www ) ; return jz . b * mix ( jx . xxx , clamp ( p - jx . xxx , _0_0 , _1_0 ) , jz . g ) ; }".split(" ")}]}}]},{a:"cond",
  2104. d:[{a:"if",g:["USE_NODE_GEOMETRY_UV","USE_NODE_B4W_PARALLAX","USE_NODE_UV_MERGED",{a:"logical_or_expr",i:3}],h:{a:"grp",d:[{a:"txt",b:"vec3 qP ( vec2 gl ) { return vec3 ( gl * 2.0 - vec2 ( _1_0 , _1_0 ) , _0_0 ) ; }".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["USE_NODE_TEXTURE_COLOR","USE_NODE_TEXTURE_NORMAL","USE_NODE_B4W_PARALLAX",{a:"logical_or_expr",i:3}],h:{a:"grp",d:[{a:"txt",b:"vec2 qQ ( vec3 gJ ) { return vec2 ( gJ . xy * _0_5 + vec2 ( _0_5 , _0_5 ) ) ; }".split(" ")}]}}]},{a:"node",c:"CAMERA",
  2105. m:[],l:[{a:"node_out",c:"rq",f:["vec3"],e:!0},{a:"node_out",c:"rs",f:["float"],e:!0},{a:"node_out",c:"rt",f:["float"],e:!0}],j:[{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_rq"],j:[{a:"txt",b:"rq = normalize ( rn . xyz ) ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_rs"],j:[{a:"txt",b:"rs = abs ( rn . z ) ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_rt"],j:[{a:"txt",b:"rt = length ( rn . xyz ) ;".split(" ")}]}]}]},{a:"node",c:"COMBRGB",m:[],l:[{a:"node_in",c:"ru",f:["float"],
  2106. e:!1},{a:"node_in",c:"rv",f:["float"],e:!1},{a:"node_in",c:"rw",f:["float"],e:!1},{a:"node_out",c:"rx",f:["vec3"],e:!1}],j:[{a:"txt",b:"rx = vec3 ( ru , rv , rw ) ;".split(" ")}]},{a:"node",c:"COMBHSV",m:[],l:[{a:"node_in",c:"ry",f:["float"],e:!1},{a:"node_in",c:"rz",f:["float"],e:!1},{a:"node_in",c:"rA",f:["float"],e:!1},{a:"node_out",c:"rB",f:["vec3"],e:!1}],j:[{a:"txt",b:"rB = jA ( vec3 ( ry , rz , rA ) ) ;".split(" ")}]},{a:"node",c:"EMPTY_UV",m:[],l:[{a:"node_out",c:"rC",f:["vec3"],e:!1}],j:[{a:"txt",
  2107. b:"rC = vec3 ( - _1_0 , - _1_0 , _0_0 ) ;".split(" ")}]},{a:"node",c:"EMPTY_VC",m:[],l:[{a:"node_out",c:"rD",f:["vec3"],e:!1}],j:[{a:"txt",b:"rD = vec3 ( _0_0 ) ;".split(" ")}]},{a:"node",c:"GEOMETRY_UV",m:[],l:[{a:"node_out",c:"rE",f:["vec3"],e:!1}],j:[{a:"txt",b:"rE = qP ( A ) ;".split(" ")}]},{a:"node",c:"GEOMETRY_OR",m:[],l:[{a:"node_out",c:"rF",f:["vec3"],e:!1}],j:[{a:"txt",b:"rF = 2.0 * vec3 ( A , _0_0 ) - vec3 ( _1_0 ) ;".split(" ")}]},{a:"node",c:"GEOMETRY_VC",m:[],l:[{a:"node_out",c:"rG",
  2108. f:["vec3"],e:!1}],j:[{a:"txt",b:"rG = vec3 ( _1_0 ) ;".split(" ")}]},{a:"node",c:"GEOMETRY_VC1",m:[],l:[{a:"node_out",c:"rH",f:["float"],e:!1}],j:[{a:"txt",b:["rH","=","_1_0",";"]}]},{a:"node",c:"GEOMETRY_VC2",m:[],l:[{a:"node_out",c:"rI",f:["float"],e:!1},{a:"node_out",c:"rJ",f:["float"],e:!1}],j:[{a:"txt",b:"rI = _1_0 ; rJ = _1_0 ;".split(" ")}]},{a:"node",c:"GEOMETRY_VC3",m:[],l:[{a:"node_out",c:"rK",f:["float"],e:!1},{a:"node_out",c:"rL",f:["float"],e:!1},{a:"node_out",c:"rM",f:["float"],e:!1}],
  2109. j:[{a:"txt",b:"rK = _1_0 ; rL = _1_0 ; rM = _1_0 ;".split(" ")}]},{a:"node",c:"GEOMETRY_NO",m:[],l:[{a:"node_out",c:"rN",f:["vec3"],e:!1}],j:[{a:"txt",b:"rN = rl . xyz ;".split(" ")}]},{a:"node",c:"GEOMETRY_FB",m:[],l:[{a:"node_out",c:"rO",f:["float"],e:!1}],j:[{a:"node_cond",d:[{a:"node_if",g:["REFLECTION_PASS","REFL_PASS_PLANE",{a:"equal_expr",i:2}],j:[{a:"txt",b:"rO = ( gl_FrontFacing ) ? _0_0 : _1_0 ;".split(" ")}]},{a:"node_else",j:[{a:"txt",b:"rO = ( gl_FrontFacing ) ? _1_0 : _0_0 ;".split(" ")}]}]}]},
  2110. {a:"node",c:"GEOMETRY_VW",m:[],l:[{a:"node_out",c:"rQ",f:["vec3"],e:!1}],j:[{a:"txt",b:"rQ = - T ( u_view_tsr_frag , nI ) ;".split(" ")}]},{a:"node",c:"GEOMETRY_LO",m:[],l:[{a:"node_out",c:"rR",f:["vec3"],e:!1}],j:[{a:"txt",b:"rR [ 0 ] = rn [ 0 ] ; rR [ 1 ] = rn [ 1 ] ; rR [ 2 ] = rn [ 2 ] ;".split(" ")}]},{a:"node",c:"GEOMETRY_GL",m:[],l:[{a:"node_out",c:"rS",f:["vec3"],e:!1}],j:[{a:"txt",b:"rS = vec3 ( nG . r , nG . g , nG . b ) ;".split(" ")}]},{a:"node",c:"NEW_GEOMETRY",m:[],l:[{a:"node_out",
  2111. c:"rU",f:["vec3"],e:!1},{a:"node_out",c:"rV",f:["vec3"],e:!1},{a:"node_out",c:"rW",f:["vec3"],e:!1},{a:"node_out",c:"rX",f:["vec3"],e:!1},{a:"node_out",c:"rY",f:["vec3"],e:!1},{a:"node_out",c:"rZ",f:["vec3"],e:!1},{a:"node_out",c:"r_",f:["float"],e:!1},{a:"node_out",c:"sa",f:["float"],e:!1}],j:[{a:"txt",b:"rU = vec3 ( _0_0 ) ; rV = vec3 ( _0_0 ) ; rW = vec3 ( _0_0 ) ; rX = vec3 ( _0_0 ) ; rY = vec3 ( _0_0 ) ; rZ = vec3 ( _0_0 ) ; r_ = _0_0 ; sa = _0_0 ;".split(" ")}]},{a:"node",c:"HUE_SAT",m:[],l:[{a:"node_in",
  2112. c:"sb",f:["float"],e:!1},{a:"node_in",c:"sc",f:["float"],e:!1},{a:"node_in",c:"sd",f:["float"],e:!1},{a:"node_in",c:"se",f:["float"],e:!1},{a:"node_in",c:"sf",f:["vec3"],e:!1},{a:"node_out",c:"sg",f:["vec3"],e:!1}],j:[{a:"txt",b:"vec3 jz = jy ( sf ) ; jz [ 0 ] += ( sb - _0_5 ) ; if ( jz [ 0 ] > _1_0 ) jz [ 0 ] -= _1_0 ; else if ( jz [ 0 ] < _0_0 ) jz [ 0 ] += _1_0 ; jz *= vec3 ( _1_0 , sc , sd ) ; jz = mix ( vec3 ( _1_0 ) , mix ( vec3 ( _0_0 ) , jz , step ( vec3 ( _0_0 ) , jz ) ) , step ( jz , vec3 ( _1_0 ) ) ) ; sg = mix ( sf , jA ( jz ) , se ) ;".split(" ")}]},
  2113. {a:"node",c:"INVERT",m:[],l:[{a:"node_in",c:"sh",f:["float"],e:!1},{a:"node_in",c:"si",f:["vec3"],e:!1},{a:"node_out",c:"sj",f:["vec3"],e:!1}],j:[{a:"txt",b:"sj = mix ( si , vec3 ( _1_0 ) - si , sh ) ;".split(" ")}]},{a:"node",c:"LAMP",m:[{a:"node_var",c:"LAMP_TYPE",b:["HEMI"]},{a:"node_var",c:"LAMP_INDEX",b:["0"]},{a:"node_var",c:"LAMP_USE_SPHERE",b:["0"]},{a:"node_var",c:"LAMP_SPOT_SIZE",b:["0.8"]},{a:"node_var",c:"LAMP_SPOT_BLEND",b:["0.03"]},{a:"node_var",c:"LAMP_LIGHT_DIST",b:["30.0"]}],l:[{a:"node_out",
  2114. c:"sk",f:["vec3"],e:!0},{a:"node_out",c:"sl",f:["vec3"],e:!1},{a:"node_out",c:"sm",f:["float"],e:!1},{a:"node_out",c:"sn",f:["float"],e:!0}],j:[{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_sk"],j:[{a:"txt",b:"sk = u_lamp_light_color_intensities [ LAMP_INDEX ] ;".split(" ")}]}]},{a:"txt",b:"vec3 so = u_lamp_light_directions [ LAMP_INDEX ] ; vec3 sr = u_lamp_light_positions [ LAMP_INDEX ] ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["LAMP_TYPE","SPOT",{a:"equal_expr",i:2},"LAMP_TYPE","POINT",{a:"equal_expr",
  2115. i:2},{a:"logical_or_expr",i:2}],j:[{a:"txt",b:"sl = - h + sr ; sm = length ( sl ) ; sl = normalize ( sl ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_sn"],j:[{a:"txt",b:"sn = LAMP_LIGHT_DIST / ( LAMP_LIGHT_DIST + sm * sm ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["LAMP_TYPE","SPOT",{a:"equal_expr",i:2}],j:[{a:"txt",b:"float ol = dot ( sl , so ) ; ol *= smoothstep ( _0_0 , _1_0 , ( ol - LAMP_SPOT_SIZE ) / LAMP_SPOT_BLEND ) ; sn *= ol ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",
  2116. g:["LAMP_USE_SPHERE"],j:[{a:"txt",b:"sn *= max ( LAMP_LIGHT_DIST - sm , _0_0 ) / LAMP_LIGHT_DIST ;".split(" ")}]}]}]}]}]},{a:"node_else",j:[{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_sl"],j:[{a:"txt",b:["sl","=","so",";"]}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_sm"],j:[{a:"txt",b:"sm = length ( sr - h ) ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_sn"],j:[{a:"txt",b:["sn","=","_1_0",";"]}]}]}]}]}]},{a:"node",c:"NORMAL",m:[],l:[{a:"node_in",c:"su",f:["vec3"],e:!1},{a:"node_out",
  2117. c:"sv",f:["vec3"],e:!0},{a:"node_out",c:"sw",f:["float"],e:!0},{a:"node_param",c:"rc",f:["vec3"],e:!1}],j:[{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_sv"],j:[{a:"txt",b:["sv","=","rc",";"]}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_sw"],j:[{a:"txt",b:"sw = - dot ( su , rc ) ;".split(" ")}]}]}]},{a:"node",c:"B4W_VECTOR_VIEW",m:[],l:[{a:"node_in",c:"sx",f:["vec3"],e:!1},{a:"node_out",c:"sy",f:["vec3"],e:!1}],j:[{a:"txt",b:"sy = - T ( u_view_tsr_frag , sx ) ;".split(" ")}]},{a:"node",c:"BSDF_BEGIN",
  2118. m:[],l:[{a:"node_in",c:"sz",f:["vec3"],e:!1},{a:"node_in",c:"sA",f:["vec3"],e:!1},{a:"node_in",c:"sB",f:["float"],e:!1},{a:"node_in",c:"sC",f:["vec3"],e:!1},{a:"node_in",c:"sD",f:["float"],e:!1},{a:"node_in",c:"sE",f:["float"],e:!1},{a:"node_in",c:"sF",f:["vec3"],e:!1},{a:"node_in",c:"sG",f:["vec3"],e:!1},{a:"node_in",c:"sH",f:["float"],e:!1},{a:"node_out",c:"sI",f:["vec3"],e:!1},{a:"node_out",c:"sJ",f:["vec3"],e:!1},{a:"node_out",c:"sK",f:["vec3"],e:!1},{a:"node_out",c:"sL",f:["vec3"],e:!1},{a:"node_out",
  2119. c:"sM",f:["vec3"],e:!1},{a:"node_out",c:"sN",f:["vec4"],e:!1},{a:"node_out",c:"sO",f:["vec4"],e:!1},{a:"node_out",c:"sP",f:["vec3"],e:!1},{a:"node_out",c:"sQ",f:["float"],e:!1},{a:"node_out",c:"sR",f:["vec3"],e:!1},{a:"node_out",c:"sS",f:["float"],e:!1}],j:[{a:"txt",b:"sK = sA ; sL = sC ; sM = sF ; sP = sC ; sQ = sE ; sR = sG ; sS = sH ; sI = ro * sK ; sJ = rp * u_environment_energy * ce ( sM ) ; sO = ch ( sK ) ; G = sO ; sN [ 0 ] = sB ; sN [ 1 ] = sD ; sN [ 2 ] = sE ;".split(" ")}]},{a:"node",c:"BSDF_END",
  2120. m:[],l:[{a:"node_in",c:"sT",f:["vec4"],e:!1},{a:"node_in",c:"sU",f:["vec3"],e:!1},{a:"node_in",c:"sV",f:["vec3"],e:!1},{a:"node_in",c:"sW",f:["vec3"],e:!1},{a:"node_in",c:"sX",f:["float"],e:!1},{a:"node_in",c:"sY",f:["vec3"],e:!1},{a:"node_in",c:"sZ",f:["float"],e:!1}],j:[{a:"txt",b:"D = sT . rgb + sU ; D = mix ( D , sY , sZ ) ; sV ;".split(" ")}]},{a:"node",c:"BSDF_COMPUTE",m:[{a:"node_var",c:"MAT_USE_TBN_SHADING",b:["0"]}],l:[{a:"node_in",c:"s_",f:["vec3"],e:!1},{a:"node_in",c:"ta",f:["vec2"],e:!1},
  2121. {a:"node_in",c:"tb",f:["vec3"],e:!1},{a:"node_in",c:"tc",f:["float"],e:!1},{a:"node_in",c:"td",f:["vec4"],e:!1},{a:"node_out",c:"te",f:["float"],e:!1},{a:"node_out",c:"tf",f:["float"],e:!1}],j:[{a:"txt",b:"vec3 qS = tb ; float tg = clamp ( td [ 0 ] , _0_0 , _1_0 ) ; float th = clamp ( td [ 1 ] , _0_0 , _1_0 ) ; float qJ = td [ 2 ] ; vec3 pg = normalize ( nI + s_ ) ; float ot = ( _1_0 - tc ) * dot ( qS , s_ ) + tc ; float ti = ( _1_0 - tc ) * max ( dot ( s_ , pg ) , _0_0 ) + tc ; float tj = ( _1_0 - tc ) * max ( dot ( tb , pg ) , _0_0 ) + tc ; te = _0_0 ; if ( ta . r != _0_0 ) { if ( tg > _0_0 ) { float oF = max ( dot ( qS , nI ) , _0_0 ) ; float oG = tg * tg ; float cg = _1_0 - _0_5 * ( oG / ( oG + 0.33 ) ) ; vec3 oH = s_ - ot * qS ; vec3 oI = nI - oF * qS ; if ( length ( oH ) == _0_0 || length ( oI ) == _0_0 || abs ( ot ) > _1_0 || abs ( oF ) > _1_0 ) te = ot * cg ; else { float oJ = acos ( ot ) ; float oK = acos ( oF ) ; vec3 oL = normalize ( oH ) ; vec3 oM = normalize ( oI ) ; float a , b ; a = max ( oJ , oK ) ; b = min ( oJ , oK ) ; b *= 0.95 ; float t = max ( dot ( oL , oM ) , _0_0 ) ; float oN = 0.45 * ( oG / ( oG + 0.09 ) ) ; te = ot * ( cg + ( oN * t * sin ( a ) * tan ( b ) ) ) ; } } else te = ot ; te = max ( te , _0_0 ) ; } float J = th ; float tk = J * J ; float tl = ( tj * tk - tj ) * tj + _1_0 ; float cd = tk / ( M_PI * tl * tl ) ; float tm ; float tn ; float to = pow ( _1_0 - ti , 5.0 ) ; tm = _1_0 ; tn = to ; float jx = J / 2.0 ; float tr = jx * jx ; float tu = _1_0 - tr ; float tv = _1_0 / ( ti * ti * tu + tr ) ; tm *= tv ; tn *= tv ; float tw = mix ( 0.04 , _1_0 , qJ ) ; float tx = mix ( tn , tm , tw ) ; tf = max ( ot * cd * tx , _0_0 ) ;".split(" ")}]},
  2122. {a:"node",c:"BSDF_ANISOTROPIC",m:[],l:[{a:"node_in",c:"ty",f:["vec3"],e:!1},{a:"node_in",c:"tz",f:["float"],e:!1},{a:"node_in",c:"tA",f:["float"],e:!1},{a:"node_in",c:"tB",f:["float"],e:!1},{a:"node_in",c:"tC",f:["vec3"],e:!1},{a:"node_in",c:"tD",f:["vec3"],e:!1},{a:"node_out",c:"tE",f:["vec3"],e:!1}],j:[{a:"txt",b:"tE = ty ; tz ; tA ; tB ; tC ; tD ;".split(" ")}]},{a:"node",c:"BSDF_DIFFUSE",m:[{a:"node_var",c:"USE_NORMAL_IN",b:["0"]}],l:[{a:"node_in",c:"tF",f:["vec3"],e:!1},{a:"node_in",c:"tG",f:["float"],
  2123. e:!1},{a:"node_in",c:"tH",f:["vec3"],e:!1},{a:"node_out",c:"tI",f:["vec3"],e:!1},{a:"node_out",c:"tJ",f:["vec3"],e:!1},{a:"node_out",c:"tK",f:["float"],e:!1},{a:"node_out",c:"tL",f:["vec3"],e:!1},{a:"node_out",c:"tM",f:["float"],e:!1},{a:"node_out",c:"tN",f:["float"],e:!1},{a:"node_out",c:"tO",f:["vec3"],e:!1},{a:"node_out",c:"tP",f:["vec3"],e:!1},{a:"node_out",c:"tQ",f:["float"],e:!1}],j:[{a:"txt",b:"tJ = tF ; tK = tG ; tN = _0_0 ; tQ = _0_0 ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["USE_NORMAL_IN"],
  2124. j:[{a:"txt",b:["tO","=","tH",";"]}]},{a:"node_else",j:[{a:"txt",b:["tO","=","nH",";"]}]}]},{a:"txt",b:"tI ; tL ; tM ; tP ;".split(" ")}]},{a:"node",c:"BSDF_GLASS",m:[],l:[{a:"node_in",c:"tR",f:["vec3"],e:!1},{a:"node_in",c:"tS",f:["float"],e:!1},{a:"node_in",c:"tT",f:["float"],e:!1},{a:"node_in",c:"tU",f:["vec3"],e:!1},{a:"node_out",c:"tV",f:["vec3"],e:!1}],j:[{a:"txt",b:"tV = tR ; tS ; tT ; tU ;".split(" ")}]},{a:"node",c:"BSDF_GLOSSY",m:[{a:"node_var",c:"USE_NORMAL_IN",b:["0"]}],l:[{a:"node_in",
  2125. c:"tW",f:["vec3"],e:!1},{a:"node_in",c:"tX",f:["float"],e:!1},{a:"node_in",c:"tY",f:["vec3"],e:!1},{a:"node_out",c:"tZ",f:["vec3"],e:!1},{a:"node_out",c:"t_",f:["vec3"],e:!1},{a:"node_out",c:"ua",f:["float"],e:!1},{a:"node_out",c:"ub",f:["vec3"],e:!1},{a:"node_out",c:"uc",f:["float"],e:!1},{a:"node_out",c:"ud",f:["float"],e:!1},{a:"node_out",c:"ue",f:["vec3"],e:!1},{a:"node_out",c:"uf",f:["vec3"],e:!1},{a:"node_out",c:"ug",f:["float"],e:!1}],j:[{a:"txt",b:"ub = tW ; uc = tX ; ud = _1_0 ; ug = _0_0 ;".split(" ")},
  2126. {a:"node_cond",d:[{a:"node_if",g:["USE_NORMAL_IN"],j:[{a:"txt",b:["ue","=","tY",";"]}]},{a:"node_else",j:[{a:"txt",b:["ue","=","nH",";"]}]}]},{a:"txt",b:"tZ ; t_ ; ua ;".split(" ")}]},{a:"node",c:"BSDF_HAIR",m:[],l:[{a:"node_in",c:"uh",f:["vec3"],e:!1},{a:"node_in",c:"ui",f:["float"],e:!1},{a:"node_in",c:"uj",f:["float"],e:!1},{a:"node_in",c:"uk",f:["float"],e:!1},{a:"node_out",c:"ul",f:["vec3"],e:!1}],j:[{a:"txt",b:"ul = uh ; ui ; uj ; uk ;".split(" ")}]},{a:"node",c:"BSDF_TRANSPARENT",m:[],l:[{a:"node_in",
  2127. c:"um",f:["vec3"],e:!1},{a:"node_out",c:"un",f:["vec3"],e:!1}],j:[{a:"txt",b:["un","=","um",";"]}]},{a:"node",c:"BSDF_TRANSLUCENT",m:[],l:[{a:"node_in",c:"uo",f:["vec3"],e:!1},{a:"node_in",c:"up",f:["vec3"],e:!1},{a:"node_out",c:"uq",f:["vec3"],e:!1}],j:[{a:"txt",b:"uq = uo ; up ;".split(" ")}]},{a:"node",c:"BSDF_REFRACTION",m:[],l:[{a:"node_in",c:"ur",f:["vec3"],e:!1},{a:"node_in",c:"us",f:["float"],e:!1},{a:"node_in",c:"ut",f:["float"],e:!1},{a:"node_in",c:"uu",f:["vec3"],e:!1},{a:"node_out",c:"uv",
  2128. f:["vec3"],e:!1}],j:[{a:"txt",b:"uv [ 0 ] = uv [ 1 ] = uv [ 2 ] = _0_0 ; ur ; us ; ut ; uu ;".split(" ")}]},{a:"node",c:"BSDF_TOON",m:[],l:[{a:"node_in",c:"uw",f:["vec3"],e:!1},{a:"node_in",c:"ux",f:["float"],e:!1},{a:"node_in",c:"uy",f:["float"],e:!1},{a:"node_in",c:"uz",f:["vec3"],e:!1},{a:"node_out",c:"uA",f:["vec3"],e:!1}],j:[{a:"txt",b:"uA = uw ; ux ; uy ; uz ;".split(" ")}]},{a:"node",c:"BSDF_VELVET",m:[],l:[{a:"node_in",c:"uB",f:["vec3"],e:!1},{a:"node_in",c:"uC",f:["float"],e:!1},{a:"node_in",
  2129. c:"uD",f:["vec3"],e:!1},{a:"node_out",c:"uE",f:["vec3"],e:!1}],j:[{a:"txt",b:"uE = uB ; uC ; uD ;".split(" ")}]},{a:"node",c:"SUBSURFACE_SCATTERING",m:[],l:[{a:"node_in",c:"uF",f:["vec3"],e:!1},{a:"node_in",c:"uG",f:["float"],e:!1},{a:"node_in",c:"uH",f:["vec3"],e:!1},{a:"node_in",c:"uI",f:["float"],e:!1},{a:"node_in",c:"uJ",f:["float"],e:!1},{a:"node_in",c:"uK",f:["vec3"],e:!1},{a:"node_out",c:"uL",f:["vec3"],e:!1}],j:[{a:"txt",b:"uL [ 0 ] = uL [ 1 ] = uL [ 2 ] = _0_0 ; uF ; uH ; uI ; uJ ; uK ; uG ;".split(" ")}]},
  2130. {a:"node",c:"EMISSION",m:[],l:[{a:"node_in",c:"uM",f:["vec3"],e:!1},{a:"node_in",c:"uN",f:["float"],e:!1},{a:"node_out",c:"uO",f:["vec3"],e:!1},{a:"node_out",c:"uP",f:["vec3"],e:!1},{a:"node_out",c:"uQ",f:["float"],e:!1},{a:"node_out",c:"uR",f:["vec3"],e:!1},{a:"node_out",c:"uS",f:["float"],e:!1},{a:"node_out",c:"uT",f:["float"],e:!1},{a:"node_out",c:"uU",f:["vec3"],e:!1},{a:"node_out",c:"uV",f:["vec3"],e:!1},{a:"node_out",c:"uW",f:["float"],e:!1}],j:[{a:"txt",b:"uV = uN * uM ; uT = _0_0 ; uW = _1_0 ; uU = nH ; uO ; uP ; uQ ; uR ; uS ;".split(" ")}]},
  2131. {a:"node",c:"AMBIENT_OCCLUSION",m:[],l:[{a:"node_in",c:"uX",f:["vec3"],e:!1},{a:"node_out",c:"uY",f:["vec3"],e:!1}],j:[{a:"txt",b:"uY [ 0 ] = uY [ 1 ] = uY [ 2 ] = _0_0 ; uX ;".split(" ")}]},{a:"node",c:"HOLDOUT",m:[],l:[{a:"node_out",c:"uZ",f:["vec3"],e:!1}],j:[{a:"txt",b:"uZ [ 0 ] = uZ [ 1 ] = uZ [ 2 ] = _0_0 ;".split(" ")}]},{a:"node",c:"VOLUME_ABSORPTION",m:[],l:[{a:"node_in",c:"u_",f:["vec3"],e:!1},{a:"node_in",c:"va",f:["float"],e:!1},{a:"node_out",c:"vb",f:["vec3"],e:!1}],j:[{a:"txt",b:"vb [ 0 ] = vb [ 1 ] = vb [ 2 ] = _0_0 ; u_ ; va ;".split(" ")}]},
  2132. {a:"node",c:"VOLUME_SCATTER",m:[],l:[{a:"node_in",c:"vc",f:["vec3"],e:!1},{a:"node_in",c:"vd",f:["float"],e:!1},{a:"node_in",c:"ve",f:["float"],e:!1},{a:"node_out",c:"vf",f:["vec3"],e:!1}],j:[{a:"txt",b:"vf [ 0 ] = vf [ 1 ] = vf [ 2 ] = _0_0 ; vc ; vd ; ve ;".split(" ")}]},{a:"node",c:"BUMP",m:[],l:[{a:"node_in",c:"EO",f:["float"],e:!1},{a:"node_in",c:"EP",f:["float"],e:!1},{a:"node_in",c:"vi",f:["float"],e:!1},{a:"node_in",c:"EQ",f:["vec3"],e:!1},{a:"node_out",c:"vk",f:["vec3"],e:!1}],j:[{a:"txt",
  2133. b:"vk = EQ ; EO ; EP ; vi ;".split(" ")}]},{a:"node",c:"NORMAL_MAP",m:[{a:"node_var",c:"SPACE",b:["NM_TANGENT"]}],l:[{a:"node_in",c:"vr",f:["float"],e:!1},{a:"node_in",c:"vs",f:["vec3"],e:!1},{a:"node_out",c:"vt",f:["vec3"],e:!1}],j:[{a:"txt",b:["vec3","vu","=","nH",";"]},{a:"node_cond",d:[{a:"node_if",g:["SPACE","NM_TANGENT",{a:"equal_expr",i:2}],j:[{a:"txt",b:"vt = rm * ( vs . xyz - _0_5 ) ;".split(" ")}]},{a:"node_elif",g:["SPACE","NM_OBJECT",{a:"equal_expr",i:2},"SPACE","NM_FDAGE_OBJECT",{a:"equal_expr",
  2134. i:2},{a:"logical_or_expr",i:2}],j:[{a:"txt",b:"vt = vs . xyz - _0_5 ; vt . yz *= - 1.0 ; vt = T ( u_model_tsr , vt ) ;".split(" ")}]},{a:"node_elif",g:["SPACE","NM_WORLD",{a:"equal_expr",i:2},"SPACE","NM_FDAGE_WORLD",{a:"equal_expr",i:2},{a:"logical_or_expr",i:2}],j:[{a:"txt",b:"vt = vs . xyz - _0_5 ; vt . yz *= - 1.0 ;".split(" ")}]}]},{a:"txt",b:"vt = normalize ( mix ( vu , vt , vr ) ) ;".split(" ")}]},{a:"node",c:"VECT_TRANSFORM",m:[{a:"node_var",c:"CONVERT_TYPE",b:["VT_WORLD_TO_OBJECT"]},{a:"node_var",
  2135. c:"VECTOR_TYPE",b:["VT_VECTOR"]}],l:[{a:"node_in",c:"vv",f:["vec3"],e:!1},{a:"node_out",c:"vw",f:["vec3"],e:!1}],j:[{a:"node_cond",d:[{a:"node_if",g:["CONVERT_TYPE","VT_WORLD_TO_WORLD",{a:"equal_expr",i:2},"CONVERT_TYPE","VT_OBJECT_TO_OBJECT",{a:"equal_expr",i:2},"CONVERT_TYPE","VT_CAMERA_TO_CAMERA",{a:"equal_expr",i:2},{a:"logical_or_expr",i:3}],j:[{a:"txt",b:["vw","=","vv",";"]}]},{a:"node_else",j:[{a:"node_cond",d:[{a:"node_if",g:["VECTOR_TYPE","VT_POINT",{a:"equal_expr",i:2}],j:[{a:"node_cond",
  2136. d:[{a:"node_if",g:["CONVERT_TYPE","VT_WORLD_TO_CAMERA",{a:"equal_expr",i:2}],j:[{a:"txt",b:"vw = ad ( u_view_tsr_frag , vv ) ;".split(" ")}]},{a:"node_elif",g:["CONVERT_TYPE","VT_WORLD_TO_OBJECT",{a:"equal_expr",i:2}],j:[{a:"txt",b:"vw = ad ( u_model_tsr_inverse , vv ) ;".split(" ")}]},{a:"node_elif",g:["CONVERT_TYPE","VT_OBJECT_TO_WORLD",{a:"equal_expr",i:2}],j:[{a:"txt",b:"vw = ad ( u_model_tsr , vv ) ;".split(" ")}]},{a:"node_elif",g:["CONVERT_TYPE","VT_OBJECT_TO_CAMERA",{a:"equal_expr",i:2}],
  2137. j:[{a:"txt",b:"vw = ad ( u_model_tsr , vv ) ; vw = ad ( u_view_tsr_frag , vw ) ;".split(" ")}]},{a:"node_elif",g:["CONVERT_TYPE","VT_CAMERA_TO_WORLD",{a:"equal_expr",i:2}],j:[{a:"txt",b:"vw = ad ( u_view_tsr_inverse , vv ) ;".split(" ")}]},{a:"node_elif",g:["CONVERT_TYPE","VT_CAMERA_TO_OBJECT",{a:"equal_expr",i:2}],j:[{a:"txt",b:"vw = ad ( u_view_tsr_inverse , vv ) ; vw = ad ( u_model_tsr_inverse , vw ) ;".split(" ")}]}]}]},{a:"node_else",j:[{a:"node_cond",d:[{a:"node_if",g:["CONVERT_TYPE","VT_WORLD_TO_CAMERA",
  2138. {a:"equal_expr",i:2}],j:[{a:"txt",b:"vw = T ( u_view_tsr_frag , vv ) ;".split(" ")}]},{a:"node_elif",g:["CONVERT_TYPE","VT_WORLD_TO_OBJECT",{a:"equal_expr",i:2}],j:[{a:"txt",b:"vw = T ( u_model_tsr_inverse , vv ) ;".split(" ")}]},{a:"node_elif",g:["CONVERT_TYPE","VT_OBJECT_TO_WORLD",{a:"equal_expr",i:2}],j:[{a:"txt",b:"vw = T ( u_model_tsr , vv ) ;".split(" ")}]},{a:"node_elif",g:["CONVERT_TYPE","VT_OBJECT_TO_CAMERA",{a:"equal_expr",i:2}],j:[{a:"txt",b:"vw = T ( u_model_tsr , vv ) ; vw = T ( u_view_tsr_frag , vw ) ;".split(" ")}]},
  2139. {a:"node_elif",g:["CONVERT_TYPE","VT_CAMERA_TO_WORLD",{a:"equal_expr",i:2}],j:[{a:"txt",b:"vw = T ( u_view_tsr_inverse , vv ) ;".split(" ")}]},{a:"node_elif",g:["CONVERT_TYPE","VT_CAMERA_TO_OBJECT",{a:"equal_expr",i:2}],j:[{a:"txt",b:"vw = T ( u_view_tsr_inverse , vv ) ; vw = T ( u_model_tsr_inverse , vw ) ;".split(" ")}]}]}]}]},{a:"node_cond",d:[{a:"node_if",g:["VECTOR_TYPE","VT_NORMAL",{a:"equal_expr",i:2}],j:[{a:"txt",b:"vw = normalize ( vw ) ;".split(" ")}]}]}]}]}]},{a:"node",c:"BLACKBODY",m:[],
  2140. l:[{a:"node_in",c:"vx",f:["float"],e:!1},{a:"node_out",c:"vy",f:["vec3"],e:!1}],j:[{a:"txt",b:"vy [ 0 ] = vy [ 1 ] = vy [ 2 ] = _0_0 ; vx ;".split(" ")}]},{a:"node",c:"WAVELENGTH",m:[],l:[{a:"node_in",c:"vz",f:["float"],e:!1},{a:"node_out",c:"vA",f:["vec3"],e:!1}],j:[{a:"txt",b:"vA [ 0 ] = vA [ 1 ] = vA [ 2 ] = _0_0 ; vz ;".split(" ")}]},{a:"node",c:"SEPXYZ",m:[],l:[{a:"node_in",c:"vB",f:["vec3"],e:!1},{a:"node_out",c:"vC",f:["float"],e:!1},{a:"node_out",c:"vD",f:["float"],e:!1},{a:"node_out",c:"vE",
  2141. f:["float"],e:!1}],j:[{a:"txt",b:"vC = vB [ 0 ] ; vD = vB [ 1 ] ; vE = vB [ 2 ] ;".split(" ")}]},{a:"node",c:"COMBXYZ",m:[],l:[{a:"node_in",c:"vF",f:["float"],e:!1},{a:"node_in",c:"vG",f:["float"],e:!1},{a:"node_in",c:"vH",f:["float"],e:!1},{a:"node_out",c:"vI",f:["vec3"],e:!1}],j:[{a:"txt",b:"vI [ 0 ] = vF ; vI [ 1 ] = vG ; vI [ 2 ] = vH ;".split(" ")}]},{a:"node",c:"BRIGHTCONTRAST",m:[],l:[{a:"node_in",c:"vJ",f:["vec3"],e:!1},{a:"node_in",c:"vK",f:["float"],e:!1},{a:"node_in",c:"vL",f:["float"],
  2142. e:!1},{a:"node_out",c:"vM",f:["vec3"],e:!1}],j:[{a:"txt",b:"float b = vK - vL * _0_5 ; vM = max ( ( _1_0 + vL ) * vJ + b , vec3 ( _0_0 ) ) ;".split(" ")}]},{a:"node",c:"LIGHT_FALLOFF",m:[],l:[{a:"node_in",c:"vN",f:["float"],e:!1},{a:"node_in",c:"vO",f:["float"],e:!1},{a:"node_out",c:"vP",f:["float"],e:!1},{a:"node_out",c:"vQ",f:["float"],e:!1},{a:"node_out",c:"vR",f:["float"],e:!1}],j:[{a:"txt",b:"vP = vQ = vR = _0_0 ; vN ; vO ;".split(" ")}]},{a:"node",c:"TEX_IMAGE",m:[],l:[{a:"node_in",c:"ER",f:["vec3"],
  2143. e:!1},{a:"node_out",c:"ES",f:["vec3"],e:!1},{a:"node_out",c:"ET",f:["float"],e:!1}],j:[{a:"txt",b:"ES [ 0 ] = ES [ 1 ] = ES [ 2 ] = _0_0 ; ET = _1_0 ; ER ;".split(" ")}]},{a:"node",c:"TEX_ENVIRONMENT",m:[],l:[{a:"node_in",c:"EU",f:["vec3"],e:!1},{a:"node_out",c:"EV",f:["vec3"],e:!1}],j:[{a:"txt",b:"EV [ 0 ] = EV [ 1 ] = EV [ 2 ] = _0_0 ; EU ;".split(" ")}]},{a:"node",c:"TEX_SKY",m:[],l:[{a:"node_in",c:"vS",f:["vec3"],e:!1},{a:"node_out",c:"vT",f:["vec3"],e:!1}],j:[{a:"txt",b:"vT [ 0 ] = vT [ 1 ] = vT [ 2 ] = _0_0 ; vS ;".split(" ")}]},
  2144. {a:"node",c:"TEX_NOISE",m:[],l:[{a:"node_in",c:"vU",f:["vec3"],e:!1},{a:"node_in",c:"vV",f:["float"],e:!1},{a:"node_in",c:"vW",f:["float"],e:!1},{a:"node_in",c:"vX",f:["float"],e:!1},{a:"node_out",c:"vY",f:["vec3"],e:!1},{a:"node_out",c:"vZ",f:["float"],e:!1}],j:[{a:"txt",b:"vY [ 0 ] = vY [ 1 ] = vY [ 2 ] = _0_0 ; vZ = _1_0 ; vU ; vV ; vW ; vX ;".split(" ")}]},{a:"node",c:"TEX_WAVE",m:[],l:[{a:"node_in",c:"v_",f:["vec3"],e:!1},{a:"node_in",c:"wa",f:["float"],e:!1},{a:"node_in",c:"wb",f:["float"],
  2145. e:!1},{a:"node_in",c:"wc",f:["float"],e:!1},{a:"node_in",c:"wd",f:["float"],e:!1},{a:"node_out",c:"we",f:["vec3"],e:!1},{a:"node_out",c:"wf",f:["float"],e:!1}],j:[{a:"txt",b:"we [ 0 ] = we [ 1 ] = we [ 2 ] = _0_0 ; wf = _1_0 ; v_ ; wa ; wb ; wc ; wd ;".split(" ")}]},{a:"node",c:"TEX_VORONOI",m:[],l:[{a:"node_in",c:"wg",f:["vec3"],e:!1},{a:"node_in",c:"wh",f:["float"],e:!1},{a:"node_out",c:"wi",f:["vec3"],e:!1},{a:"node_out",c:"wj",f:["float"],e:!1}],j:[{a:"txt",b:"wi [ 0 ] = wi [ 1 ] = wi [ 2 ] = _0_0 ; wj = _1_0 ; wg ; wh ;".split(" ")}]},
  2146. {a:"node",c:"TEX_MUSGRAVE",m:[],l:[{a:"node_in",c:"wk",f:["vec3"],e:!1},{a:"node_in",c:"wl",f:["float"],e:!1},{a:"node_in",c:"wm",f:["float"],e:!1},{a:"node_in",c:"wn",f:["float"],e:!1},{a:"node_in",c:"wo",f:["float"],e:!1},{a:"node_in",c:"wp",f:["float"],e:!1},{a:"node_in",c:"wq",f:["float"],e:!1},{a:"node_out",c:"wr",f:["vec3"],e:!1},{a:"node_out",c:"ws",f:["float"],e:!1}],j:[{a:"txt",b:"wr [ 0 ] = wr [ 1 ] = wr [ 2 ] = _0_0 ; ws = _1_0 ; wk ; wl ; wm ; wn ; wo ; wp ; wq ;".split(" ")}]},{a:"node",
  2147. c:"TEX_GRADIENT",m:[],l:[{a:"node_in",c:"wt",f:["vec3"],e:!1},{a:"node_out",c:"wu",f:["vec3"],e:!1},{a:"node_out",c:"wv",f:["float"],e:!1}],j:[{a:"txt",b:"wu [ 0 ] = wu [ 1 ] = wu [ 2 ] = _0_0 ; wv = _1_0 ; wt ;".split(" ")}]},{a:"node",c:"TEX_MAGIC",m:[],l:[{a:"node_in",c:"wA",f:["vec3"],e:!1},{a:"node_in",c:"wB",f:["float"],e:!1},{a:"node_in",c:"wC",f:["float"],e:!1},{a:"node_out",c:"wD",f:["vec3"],e:!1},{a:"node_out",c:"wE",f:["float"],e:!1}],j:[{a:"txt",b:"wD [ 0 ] = wD [ 1 ] = wD [ 2 ] = _0_0 ; wE = _1_0 ; wA ; wB ; wC ;".split(" ")}]},
  2148. {a:"node",c:"TEX_CHECKER",m:[],l:[{a:"node_in",c:"wF",f:["vec3"],e:!1},{a:"node_in",c:"wG",f:["vec3"],e:!1},{a:"node_in",c:"wH",f:["vec3"],e:!1},{a:"node_in",c:"wI",f:["float"],e:!1},{a:"node_out",c:"wJ",f:["vec3"],e:!1},{a:"node_out",c:"wK",f:["float"],e:!1}],j:[{a:"txt",b:"wJ [ 0 ] = wJ [ 1 ] = wJ [ 2 ] = _0_0 ; wK = _1_0 ; wF ; wG ; wH ; wI ;".split(" ")}]},{a:"node",c:"TEX_BRICK",m:[],l:[{a:"node_in",c:"wL",f:["vec3"],e:!1},{a:"node_in",c:"wM",f:["vec3"],e:!1},{a:"node_in",c:"wN",f:["vec3"],e:!1},
  2149. {a:"node_in",c:"wO",f:["vec3"],e:!1},{a:"node_in",c:"wP",f:["float"],e:!1},{a:"node_in",c:"wQ",f:["float"],e:!1},{a:"node_in",c:"wR",f:["float"],e:!1},{a:"node_in",c:"wS",f:["float"],e:!1},{a:"node_in",c:"wT",f:["float"],e:!1},{a:"node_out",c:"wU",f:["vec3"],e:!1},{a:"node_out",c:"wV",f:["float"],e:!1}],j:[{a:"txt",b:"wU [ 0 ] = wU [ 1 ] = wU [ 2 ] = _0_0 ; wV = _1_0 ; wL ; wM ; wN ; wO ; wP ; wQ ; wR ; wS ; wT ;".split(" ")}]},{a:"node",c:"ADD_SHADER",m:[],l:[{a:"node_in",c:"wW",f:["vec3"],e:!1},
  2150. {a:"node_in",c:"wX",f:["vec3"],e:!1},{a:"node_out",c:"wY",f:["vec3"],e:!1}],j:[{a:"txt",b:"wY = clamp ( wW + wX , vec3 ( _0_0 ) , vec3 ( _1_0 ) ) ;".split(" ")}]},{a:"node",c:"MIX_SHADER",m:[],l:[{a:"node_in",c:"wZ",f:["float"],e:!1},{a:"node_in",c:"w_",f:["vec3"],e:!1},{a:"node_in",c:"xa",f:["vec3"],e:!1},{a:"node_in",c:"xb",f:["vec3"],e:!1},{a:"node_in",c:"xc",f:["float"],e:!1},{a:"node_in",c:"xd",f:["vec3"],e:!1},{a:"node_in",c:"xe",f:["float"],e:!1},{a:"node_in",c:"xf",f:["float"],e:!1},{a:"node_in",
  2151. c:"xg",f:["vec3"],e:!1},{a:"node_in",c:"xh",f:["vec3"],e:!1},{a:"node_in",c:"xi",f:["float"],e:!1},{a:"node_in",c:"xj",f:["vec3"],e:!1},{a:"node_in",c:"xk",f:["float"],e:!1},{a:"node_in",c:"xl",f:["vec3"],e:!1},{a:"node_in",c:"xm",f:["float"],e:!1},{a:"node_in",c:"xn",f:["float"],e:!1},{a:"node_in",c:"xo",f:["vec3"],e:!1},{a:"node_in",c:"xp",f:["vec3"],e:!1},{a:"node_in",c:"xq",f:["float"],e:!1},{a:"node_out",c:"xr",f:["vec3"],e:!1},{a:"node_out",c:"xs",f:["vec3"],e:!1},{a:"node_out",c:"xt",f:["float"],
  2152. e:!1},{a:"node_out",c:"xu",f:["vec3"],e:!1},{a:"node_out",c:"xv",f:["float"],e:!1},{a:"node_out",c:"xA",f:["float"],e:!1},{a:"node_out",c:"xB",f:["vec3"],e:!1},{a:"node_out",c:"xC",f:["vec3"],e:!1},{a:"node_out",c:"xD",f:["float"],e:!1}],j:[{a:"txt",b:"float xE = clamp ( wZ , _0_0 , _1_0 ) ; xs = mix ( xb , xj , xE ) ; xt = mix ( xc , xk , xE ) ; if ( xf > _0_0 ) { if ( xn > _0_0 ) { xu = mix ( xd , xl , xE ) ; xv = mix ( xe , xm , xE ) ; } else { xu = xd ; xv = xe ; } } else { xu = xl ; xv = xm ; } if ( xi > _0_0 ) { if ( xq > _0_0 ) { xC = mix ( xh , xp , xE ) ; } else { xC = xh ; } } else { xC = xp ; } xA = mix ( xf , xn , xE ) ; xB = mix ( xg , xo , xE ) ; xD = mix ( xi , xq , xE ) ;".split(" ")}]},
  2153. {a:"node",c:"UV_MERGED",m:[],l:[{a:"node_out",c:"xF",f:["vec3"],e:!1},{a:"node_out",c:"xG",f:["vec3"],e:!1}],j:[{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_xF"],j:[{a:"txt",b:"xF = qP ( A ) ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_xG"],j:[{a:"txt",b:"xG = vec3 ( A , _0_0 ) ;".split(" ")}]}]}]},{a:"node",c:"TEX_COORD_UV",m:[],l:[{a:"node_out",c:"xH",f:["vec3"],e:!1}],j:[{a:"txt",b:"xH = vec3 ( A , _0_0 ) ;".split(" ")}]},{a:"node",c:"TEX_COORD_NO",m:[],l:[{a:"node_out",c:"xI",f:["vec3"],
  2154. e:!1}],j:[{a:"txt",b:["xI","=","nH",";"]}]},{a:"node",c:"TEX_COORD_GE",m:[],l:[{a:"node_out",c:"xJ",f:["vec3"],e:!1}],j:[{a:"txt",b:"xJ = vec3 ( A , _0_0 ) ;".split(" ")}]},{a:"node",c:"TEX_COORD_OB",m:[],l:[{a:"node_out",c:"xK",f:["vec3"],e:!1}],j:[{a:"txt",b:"xK [ 0 ] = xK [ 1 ] = xK [ 2 ] = _1_0 ;".split(" ")}]},{a:"node",c:"TEX_COORD_CA",m:[],l:[{a:"node_out",c:"xL",f:["vec3"],e:!1}],j:[{a:"txt",b:"xL [ 0 ] = rn [ 0 ] ; xL [ 1 ] = rn [ 1 ] ; xL [ 2 ] = _1_0 ;".split(" ")}]},{a:"node",c:"TEX_COORD_WI",
  2155. m:[],l:[{a:"node_out",c:"xM",f:["vec3"],e:!1}],j:[{a:"txt",b:"xM [ 0 ] = xM [ 1 ] = xM [ 2 ] = _1_0 ;".split(" ")}]},{a:"node",c:"TEX_COORD_RE",m:[],l:[{a:"node_out",c:"xN",f:["vec3"],e:!1}],j:[{a:"txt",b:"xN [ 0 ] = xN [ 1 ] = xN [ 2 ] = _1_0 ;".split(" ")}]},{a:"node",c:"UVMAP",m:[],l:[{a:"node_out",c:"xO",f:["vec3"],e:!1}],j:[{a:"txt",b:"xO = vec3 ( A , _0_0 ) ;".split(" ")}]},{a:"node",c:"PARTICLE_INFO",m:[],l:[{a:"node_out",c:"xP",f:["float"],e:!1},{a:"node_out",c:"xQ",f:["float"],e:!1},{a:"node_out",
  2156. c:"xR",f:["float"],e:!1},{a:"node_out",c:"xS",f:["vec3"],e:!1},{a:"node_out",c:"xT",f:["float"],e:!1},{a:"node_out",c:"xU",f:["vec3"],e:!1},{a:"node_out",c:"xV",f:["vec3"],e:!1},{a:"node_param",c:"EK",f:["GLSL_IN","vec4"],e:!0},{a:"node_param",c:"EL",f:["GLSL_IN","vec3"],e:!0},{a:"node_param",c:"EM",f:["GLSL_IN","vec3"],e:!0},{a:"node_param",c:"EN",f:["GLSL_IN","vec3"],e:!0}],j:[{a:"node_cond",d:[{a:"node_if",g:["PARTICLE_BATCH"],j:[{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_xP"],j:[{a:"txt",b:"xP = EK [ 0 ] ;".split(" ")}]}]},
  2157. {a:"node_cond",d:[{a:"node_if",g:["USE_OUT_xQ"],j:[{a:"txt",b:"xQ = EK [ 1 ] ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_xR"],j:[{a:"txt",b:"xR = EK [ 2 ] ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_xS"],j:[{a:"txt",b:["xS","=","EL",";"]}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_xT"],j:[{a:"txt",b:"xT = EK [ 3 ] ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_xU"],j:[{a:"txt",b:["xU","=","EM",";"]}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_xV"],
  2158. j:[{a:"txt",b:["xV","=","EN",";"]}]}]}]},{a:"node_else",j:[{a:"txt",b:"xP = _0_0 ; xQ = _0_0 ; xR = _0_0 ; xS = vec3 ( _0_0 ) ; xT = _0_0 ; xU = xS ; xV = xS ;".split(" ")}]}]}]},{a:"node",c:"HAIR_INFO",m:[],l:[{a:"node_out",c:"xW",f:["float"],e:!1},{a:"node_out",c:"xX",f:["float"],e:!1},{a:"node_out",c:"xY",f:["float"],e:!1},{a:"node_out",c:"xZ",f:["vec3"],e:!1}],j:[{a:"txt",b:"xW = _0_0 ; xX = _0_0 ; xY = _0_0 ; xZ = vec3 ( _0_0 ) ;".split(" ")}]},{a:"node",c:"OBJECT_INFO",m:[],l:[{a:"node_out",
  2159. c:"x_",f:["vec3"],e:!1},{a:"node_out",c:"ya",f:["float"],e:!1},{a:"node_out",c:"yb",f:["float"],e:!1},{a:"node_out",c:"yc",f:["float"],e:!1}],j:[{a:"txt",b:"ya = _0_0 ; yb = _0_0 ; yc = _0_0 ; x_ = vec3 ( _0_0 ) ;".split(" ")}]},{a:"node",c:"WIREFRAME",m:[],l:[{a:"node_in",c:"yd",f:["float"],e:!1},{a:"node_out",c:"ye",f:["float"],e:!1}],j:[{a:"txt",b:["ye","=","yd",";"]}]},{a:"node",c:"TANGENT",m:[],l:[{a:"node_out",c:"yf",f:["vec3"],e:!1}],j:[{a:"txt",b:"yf = vec3 ( _0_0 ) ;".split(" ")}]},{a:"node",
  2160. c:"LAYER_WEIGHT",m:[],l:[{a:"node_in",c:"EW",f:["float"],e:!1},{a:"node_in",c:"EX",f:["vec3"],e:!1},{a:"node_out",c:"yi",f:["float"],e:!1},{a:"node_out",c:"yj",f:["float"],e:!1}],j:[{a:"txt",b:"yi = yj = _0_0 ; EX ; EW ;".split(" ")}]},{a:"node",c:"LIGHT_PATH",m:[],l:[{a:"node_out",c:"yl",f:["float"],e:!1},{a:"node_out",c:"ym",f:["float"],e:!1},{a:"node_out",c:"yn",f:["float"],e:!1},{a:"node_out",c:"yo",f:["float"],e:!1},{a:"node_out",c:"yp",f:["float"],e:!1},{a:"node_out",c:"yq",f:["float"],e:!1},
  2161. {a:"node_out",c:"yr",f:["float"],e:!1},{a:"node_out",c:"ys",f:["float"],e:!1},{a:"node_out",c:"yt",f:["float"],e:!1},{a:"node_out",c:"yu",f:["float"],e:!1}],j:[{a:"txt",b:"yl = ym = yn = _0_0 ; yo = yp = yq = _0_0 ; yr = yr = yt = yu = _0_0 ; ys = _0_0 ;".split(" ")}]},{a:"node",c:"ATTRIBUTE",m:[],l:[{a:"node_out",c:"yA",f:["vec3"],e:!1},{a:"node_out",c:"yB",f:["vec3"],e:!1},{a:"node_out",c:"yC",f:["float"],e:!1}],j:[{a:"txt",b:"yA = yB = vec3 ( _0_0 ) ; yC = _0_0 ;".split(" ")}]},{a:"node",c:"SCRIPT",
  2162. m:[],l:[],j:[]},{a:"node",c:"CURVE_VEC",m:[{a:"node_var",c:"READ_R",b:["0"]},{a:"node_var",c:"READ_G",b:["0"]},{a:"node_var",c:"READ_B",b:["0"]},{a:"node_var",c:"NODE_TEX_ROW",b:["0.0"]}],l:[{a:"node_in",c:"yD",f:["float"],e:!1},{a:"node_in",c:"yE",f:["vec3"],e:!1},{a:"node_out",c:"yF",f:["vec3"],e:!1}],j:[{a:"txt",b:["yF","=","yE",";"]},{a:"node_cond",d:[{a:"node_if",g:["READ_R"],j:[{a:"txt",b:"yF . r = ( GLSL_TEXTURE ( u_nodes_texture , vec2 ( 0.5 * yE . r + 0.5 , NODE_TEX_ROW ) ) . r - 0.5 ) * 2.0 ;".split(" ")}]}]},
  2163. {a:"node_cond",d:[{a:"node_if",g:["READ_G"],j:[{a:"txt",b:"yF . g = ( GLSL_TEXTURE ( u_nodes_texture , vec2 ( 0.5 * yE . g + 0.5 , NODE_TEX_ROW ) ) . g - 0.5 ) * 2.0 ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["READ_B"],j:[{a:"txt",b:"yF . b = ( GLSL_TEXTURE ( u_nodes_texture , vec2 ( 0.5 * yE . b + 0.5 , NODE_TEX_ROW ) ) . b - 0.5 ) * 2.0 ;".split(" ")}]}]},{a:"txt",b:"yF = mix ( yE , yF , yD ) ;".split(" ")}]},{a:"node",c:"CURVE_RGB",m:[{a:"node_var",c:"READ_A",b:["0"]},{a:"node_var",c:"READ_R",
  2164. b:["0"]},{a:"node_var",c:"READ_G",b:["0"]},{a:"node_var",c:"READ_B",b:["0"]},{a:"node_var",c:"NODE_TEX_ROW",b:["0.0"]}],l:[{a:"node_in",c:"yG",f:["float"],e:!1},{a:"node_in",c:"yH",f:["vec3"],e:!1},{a:"node_out",c:"yI",f:["vec3"],e:!1}],j:[{a:"node_cond",d:[{a:"node_if",g:["READ_A"],j:[{a:"txt",b:"float r = GLSL_TEXTURE ( u_nodes_texture , vec2 ( yH . r , NODE_TEX_ROW ) ) . a ; float g = GLSL_TEXTURE ( u_nodes_texture , vec2 ( yH . g , NODE_TEX_ROW ) ) . a ; float b = GLSL_TEXTURE ( u_nodes_texture , vec2 ( yH . b , NODE_TEX_ROW ) ) . a ;".split(" ")}]},
  2165. {a:"node_else",j:[{a:"txt",b:"float r = yH . r ; float g = yH . g ; float b = yH . b ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["READ_R"],j:[{a:"txt",b:"yI . r = GLSL_TEXTURE ( u_nodes_texture , vec2 ( r , NODE_TEX_ROW ) ) . r ;".split(" ")}]},{a:"node_else",j:[{a:"txt",b:"yI . r = r ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["READ_G"],j:[{a:"txt",b:"yI . g = GLSL_TEXTURE ( u_nodes_texture , vec2 ( g , NODE_TEX_ROW ) ) . g ;".split(" ")}]},{a:"node_else",j:[{a:"txt",b:"yI . g = g ;".split(" ")}]}]},
  2166. {a:"node_cond",d:[{a:"node_if",g:["READ_B"],j:[{a:"txt",b:"yI . b = GLSL_TEXTURE ( u_nodes_texture , vec2 ( b , NODE_TEX_ROW ) ) . b ;".split(" ")}]},{a:"node_else",j:[{a:"txt",b:"yI . b = b ;".split(" ")}]}]},{a:"txt",b:"yI = mix ( yH , yI , yG ) ;".split(" ")}]},{a:"node",c:"VALTORGB",m:[{a:"node_var",c:"NODE_TEX_ROW",b:["0.0"]}],l:[{a:"node_in",c:"yJ",f:["float"],e:!1},{a:"node_out",c:"yK",f:["vec3"],e:!1},{a:"node_out",c:"yL",f:["float"],e:!1}],j:[{a:"txt",b:"vec4 yM = GLSL_TEXTURE ( u_nodes_texture , vec2 ( yJ , NODE_TEX_ROW ) ) ; yK = yM . rgb ; yL = yM . a ;".split(" ")}]},
  2167. {a:"node",c:"MAPPING",m:[{a:"node_var",c:"MAPPING_SCALE_DEF",b:["0"]},{a:"node_var",c:"MAPPING_SCALE",b:["vec3","(","1.0",")"]},{a:"node_var",c:"MAPPING_TRANS_DEF",b:["0"]},{a:"node_var",c:"MAPPING_TRANS",b:["vec3","(","0.0",")"]},{a:"node_var",c:"MAPPING_TRS_MATRIX_DEF",b:["0"]},{a:"node_var",c:"MAPPING_TRS_MATRIX",b:["mat4","(","1.0",")"]},{a:"node_var",c:"MAPPING_MIN_CLIP_DEF",b:["0"]},{a:"node_var",c:"MAPPING_MIN_CLIP",b:["vec3","(","0.0",")"]},{a:"node_var",c:"MAPPING_MAX_CLIP_DEF",b:["0"]},
  2168. {a:"node_var",c:"MAPPING_MAX_CLIP",b:["vec3","(","1.0",")"]},{a:"node_var",c:"MAPPING_IS_NORMAL",b:["0"]}],l:[{a:"node_in",c:"yN",f:["vec3"],e:!1},{a:"node_out",c:"yO",f:["vec3"],e:!1}],j:[{a:"txt",b:["yO","=","yN",";"]},{a:"node_cond",d:[{a:"node_if",g:["MAPPING_SCALE_DEF"],j:[{a:"txt",b:"yO = yO * MAPPING_SCALE ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["MAPPING_TRANS_DEF"],j:[{a:"txt",b:"yO = yO + MAPPING_TRANS ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["MAPPING_TRS_MATRIX_DEF"],
  2169. j:[{a:"txt",b:"yO = ( MAPPING_TRS_MATRIX * vec4 ( yO , _1_0 ) ) . xyz ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["MAPPING_MIN_CLIP_DEF"],j:[{a:"txt",b:"yO = max ( yO , MAPPING_MIN_CLIP ) ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["MAPPING_MAX_CLIP_DEF"],j:[{a:"txt",b:"yO = min ( yO , MAPPING_MAX_CLIP ) ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["MAPPING_IS_NORMAL"],j:[{a:"txt",b:"yO = normalize ( yO ) ;".split(" ")}]}]}]},{a:"node",c:"MATH_ADD",m:[{a:"node_var",c:"MATH_USE_CLAMP",
  2170. b:["0"]}],l:[{a:"node_in",c:"yP",f:["float"],e:!1},{a:"node_in",c:"yQ",f:["float"],e:!1},{a:"node_out",c:"yR",f:["float"],e:!1}],j:[{a:"txt",b:"yR = yP + yQ ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MATH_USE_CLAMP"],j:[{a:"txt",b:"yR = clamp ( yR , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MATH_SUBTRACT",m:[{a:"node_var",c:"MATH_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"yS",f:["float"],e:!1},{a:"node_in",c:"yT",f:["float"],e:!1},{a:"node_out",c:"yU",f:["float"],e:!1}],j:[{a:"txt",b:"yU = yS - yT ;".split(" ")},
  2171. {a:"node_cond",d:[{a:"node_if",g:["MATH_USE_CLAMP"],j:[{a:"txt",b:"yU = clamp ( yU , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MATH_MULTIPLY",m:[{a:"node_var",c:"MATH_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"yV",f:["float"],e:!1},{a:"node_in",c:"yW",f:["float"],e:!1},{a:"node_out",c:"yX",f:["float"],e:!1}],j:[{a:"txt",b:"yX = yV * yW ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MATH_USE_CLAMP"],j:[{a:"txt",b:"yX = clamp ( yX , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MATH_DIVIDE",
  2172. m:[{a:"node_var",c:"MATH_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"yY",f:["float"],e:!1},{a:"node_in",c:"yZ",f:["float"],e:!1},{a:"node_out",c:"y_",f:["float"],e:!1}],j:[{a:"txt",b:"y_ = ( yZ != _0_0 ) ? yY / yZ : _0_0 ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MATH_USE_CLAMP"],j:[{a:"txt",b:"y_ = clamp ( y_ , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MATH_SINE",m:[{a:"node_var",c:"MATH_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"za",f:["float"],e:!1},{a:"node_in",c:"zb",f:["float"],e:!1},
  2173. {a:"node_out",c:"zc",f:["float"],e:!1}],j:[{a:"txt",b:"zc = sin ( za ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MATH_USE_CLAMP"],j:[{a:"txt",b:"zc = clamp ( zc , _0_0 , _1_0 ) ;".split(" ")}]}]},{a:"txt",b:["zb",";"]}]},{a:"node",c:"MATH_COSINE",m:[{a:"node_var",c:"MATH_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"zd",f:["float"],e:!1},{a:"node_in",c:"ze",f:["float"],e:!1},{a:"node_out",c:"zf",f:["float"],e:!1}],j:[{a:"txt",b:"zf = cos ( zd ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MATH_USE_CLAMP"],
  2174. j:[{a:"txt",b:"zf = clamp ( zf , _0_0 , _1_0 ) ;".split(" ")}]}]},{a:"txt",b:["ze",";"]}]},{a:"node",c:"MATH_TANGENT",m:[{a:"node_var",c:"MATH_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"zg",f:["float"],e:!1},{a:"node_in",c:"zh",f:["float"],e:!1},{a:"node_out",c:"zi",f:["float"],e:!1}],j:[{a:"txt",b:"zi = tan ( zg ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MATH_USE_CLAMP"],j:[{a:"txt",b:"zi = clamp ( zi , _0_0 , _1_0 ) ;".split(" ")}]}]},{a:"txt",b:["zh",";"]}]},{a:"node",c:"MATH_ARCSINE",m:[{a:"node_var",
  2175. c:"MATH_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"zj",f:["float"],e:!1},{a:"node_in",c:"zk",f:["float"],e:!1},{a:"node_out",c:"zl",f:["float"],e:!1}],j:[{a:"txt",b:"zl = ( zj <= _1_0 && zj >= - _1_0 ) ? asin ( zj ) : _0_0 ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MATH_USE_CLAMP"],j:[{a:"txt",b:"zl = clamp ( zl , _0_0 , _1_0 ) ;".split(" ")}]}]},{a:"txt",b:["zk",";"]}]},{a:"node",c:"MATH_ARCCOSINE",m:[{a:"node_var",c:"MATH_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"zm",f:["float"],e:!1},{a:"node_in",
  2176. c:"zn",f:["float"],e:!1},{a:"node_out",c:"zo",f:["float"],e:!1}],j:[{a:"txt",b:"zo = ( zm <= _1_0 && zm >= - _1_0 ) ? acos ( zm ) : _0_0 ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MATH_USE_CLAMP"],j:[{a:"txt",b:"zo = clamp ( zo , _0_0 , _1_0 ) ;".split(" ")}]}]},{a:"txt",b:["zn",";"]}]},{a:"node",c:"MATH_ARCTANGENT",m:[{a:"node_var",c:"MATH_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"zp",f:["float"],e:!1},{a:"node_in",c:"zq",f:["float"],e:!1},{a:"node_out",c:"zr",f:["float"],e:!1}],j:[{a:"txt",
  2177. b:"zr = atan ( zp ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MATH_USE_CLAMP"],j:[{a:"txt",b:"zr = clamp ( zr , _0_0 , _1_0 ) ;".split(" ")}]}]},{a:"txt",b:["zq",";"]}]},{a:"node",c:"MATH_POWER",m:[{a:"node_var",c:"MATH_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"zs",f:["float"],e:!1},{a:"node_in",c:"zt",f:["float"],e:!1},{a:"node_out",c:"zu",f:["float"],e:!1}],j:[{a:"txt",b:"if ( zs < _0_0 && zt != floor ( zt ) ) zu = _0_0 ; else if ( zt == _0_0 ) zu = _1_0 ; else if ( zs < _0_0 ) zu = mix ( _1_0 , - _1_0 , sign ( mod ( - zt , 2.0 ) ) ) * pow ( - zs , zt ) ; else if ( zs == _0_0 ) zu = _0_0 ; else zu = pow ( zs , zt ) ;".split(" ")},
  2178. {a:"node_cond",d:[{a:"node_if",g:["MATH_USE_CLAMP"],j:[{a:"txt",b:"zu = clamp ( zu , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MATH_LOGARITHM",m:[{a:"node_var",c:"MATH_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"zv",f:["float"],e:!1},{a:"node_in",c:"zA",f:["float"],e:!1},{a:"node_out",c:"zB",f:["float"],e:!1}],j:[{a:"txt",b:"zB = ( zv > _0_0 && zA > _0_0 ) ? log2 ( zv ) / log2 ( zA ) : _0_0 ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MATH_USE_CLAMP"],j:[{a:"txt",b:"zB = clamp ( zB , _0_0 , _1_0 ) ;".split(" ")}]}]}]},
  2179. {a:"node",c:"MATH_MINIMUM",m:[{a:"node_var",c:"MATH_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"zC",f:["float"],e:!1},{a:"node_in",c:"zD",f:["float"],e:!1},{a:"node_out",c:"zE",f:["float"],e:!1}],j:[{a:"txt",b:"zE = min ( zC , zD ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MATH_USE_CLAMP"],j:[{a:"txt",b:"zE = clamp ( zE , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MATH_MAXIMUM",m:[{a:"node_var",c:"MATH_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"zF",f:["float"],e:!1},{a:"node_in",c:"zG",f:["float"],
  2180. e:!1},{a:"node_out",c:"zH",f:["float"],e:!1}],j:[{a:"txt",b:"zH = max ( zF , zG ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MATH_USE_CLAMP"],j:[{a:"txt",b:"zH = clamp ( zH , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MATH_ROUND",m:[{a:"node_var",c:"MATH_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"zI",f:["float"],e:!1},{a:"node_in",c:"zJ",f:["float"],e:!1},{a:"node_out",c:"zK",f:["float"],e:!1}],j:[{a:"txt",b:"zK = floor ( zI + _0_5 ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MATH_USE_CLAMP"],
  2181. j:[{a:"txt",b:"zK = clamp ( zK , _0_0 , _1_0 ) ;".split(" ")}]}]},{a:"txt",b:["zJ",";"]}]},{a:"node",c:"MATH_LESS_THAN",m:[{a:"node_var",c:"MATH_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"zL",f:["float"],e:!1},{a:"node_in",c:"zM",f:["float"],e:!1},{a:"node_out",c:"zN",f:["float"],e:!1}],j:[{a:"txt",b:"zN = ( zL < zM ) ? _1_0 : _0_0 ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MATH_USE_CLAMP"],j:[{a:"txt",b:"zN = clamp ( zN , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MATH_GREATER_THAN",m:[{a:"node_var",
  2182. c:"MATH_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"zO",f:["float"],e:!1},{a:"node_in",c:"zP",f:["float"],e:!1},{a:"node_out",c:"zQ",f:["float"],e:!1}],j:[{a:"txt",b:"zQ = ( zO > zP ) ? _1_0 : _0_0 ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MATH_USE_CLAMP"],j:[{a:"txt",b:"zQ = clamp ( zQ , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MATH_MODULO",m:[{a:"node_var",c:"MATH_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"zR",f:["float"],e:!1},{a:"node_in",c:"zS",f:["float"],e:!1},{a:"node_out",c:"zT",
  2183. f:["float"],e:!1}],j:[{a:"txt",b:"zT = abs ( zS ) > 0.000001 ? mod ( zR , zS ) : _0_0 ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MATH_USE_CLAMP"],j:[{a:"txt",b:"zT = clamp ( zT , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MATH_ABSOLUTE",m:[{a:"node_var",c:"MATH_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"zU",f:["float"],e:!1},{a:"node_in",c:"zV",f:["float"],e:!1},{a:"node_out",c:"zW",f:["float"],e:!1}],j:[{a:"txt",b:"zW = abs ( zU ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MATH_USE_CLAMP"],
  2184. j:[{a:"txt",b:"zW = clamp ( zW , _0_0 , _1_0 ) ;".split(" ")}]}]},{a:"txt",b:["zV",";"]}]},{a:"node",c:"MIX_RGB_MIX",m:[{a:"node_var",c:"MIX_RGB_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"zX",f:["float"],e:!1},{a:"node_in",c:"zY",f:["vec3"],e:!1},{a:"node_in",c:"zZ",f:["vec3"],e:!1},{a:"node_out",c:"z_",f:["vec3"],e:!1}],j:[{a:"txt",b:"float xE = clamp ( zX , _0_0 , _1_0 ) ; z_ = mix ( zY , zZ , xE ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MIX_RGB_USE_CLAMP"],j:[{a:"txt",b:"z_ = clamp ( z_ , _0_0 , _1_0 ) ;".split(" ")}]}]}]},
  2185. {a:"node",c:"MIX_RGB_ADD",m:[{a:"node_var",c:"MIX_RGB_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"Aa",f:["float"],e:!1},{a:"node_in",c:"Ab",f:["vec3"],e:!1},{a:"node_in",c:"Ac",f:["vec3"],e:!1},{a:"node_out",c:"Ad",f:["vec3"],e:!1}],j:[{a:"txt",b:"float xE = clamp ( Aa , _0_0 , _1_0 ) ; Ad = mix ( Ab , Ab + Ac , xE ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MIX_RGB_USE_CLAMP"],j:[{a:"txt",b:"Ad = clamp ( Ad , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MIX_RGB_MULTIPLY",m:[{a:"node_var",
  2186. c:"MIX_RGB_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"Ae",f:["float"],e:!1},{a:"node_in",c:"Af",f:["vec3"],e:!1},{a:"node_in",c:"Ag",f:["vec3"],e:!1},{a:"node_out",c:"Ah",f:["vec3"],e:!1}],j:[{a:"txt",b:"float xE = clamp ( Ae , _0_0 , _1_0 ) ; Ah = mix ( Af , Af * Ag , xE ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MIX_RGB_USE_CLAMP"],j:[{a:"txt",b:"Ah = clamp ( Ah , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MIX_RGB_SUBTRACT",m:[{a:"node_var",c:"MIX_RGB_USE_CLAMP",b:["0"]}],l:[{a:"node_in",
  2187. c:"Ai",f:["float"],e:!1},{a:"node_in",c:"Aj",f:["vec3"],e:!1},{a:"node_in",c:"Ak",f:["vec3"],e:!1},{a:"node_out",c:"Al",f:["vec3"],e:!1}],j:[{a:"txt",b:"float xE = clamp ( Ai , _0_0 , _1_0 ) ; Al = mix ( Aj , Aj - Ak , xE ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MIX_RGB_USE_CLAMP"],j:[{a:"txt",b:"Al = clamp ( Al , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MIX_RGB_SCREEN",m:[{a:"node_var",c:"MIX_RGB_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"Am",f:["float"],e:!1},{a:"node_in",c:"An",
  2188. f:["vec3"],e:!1},{a:"node_in",c:"Ao",f:["vec3"],e:!1},{a:"node_out",c:"Ap",f:["vec3"],e:!1}],j:[{a:"txt",b:"float xE = clamp ( Am , _0_0 , _1_0 ) ; float Aq = _1_0 - xE ; Ap = vec3 ( _1_0 ) - ( vec3 ( Aq ) + xE * ( vec3 ( _1_0 ) - Ao ) ) * ( vec3 ( _1_0 ) - An ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MIX_RGB_USE_CLAMP"],j:[{a:"txt",b:"Ap = clamp ( Ap , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MIX_RGB_DIVIDE",m:[{a:"node_var",c:"MIX_RGB_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"Ar",
  2189. f:["float"],e:!1},{a:"node_in",c:"As",f:["vec3"],e:!1},{a:"node_in",c:"At",f:["vec3"],e:!1},{a:"node_out",c:"Au",f:["vec3"],e:!1}],j:[{a:"txt",b:"float xE = clamp ( Ar , _0_0 , _1_0 ) ; float Aq = _1_0 - xE ; At += step ( At , vec3 ( _0_0 ) ) ; Au = Aq * As + xE * As / At ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MIX_RGB_USE_CLAMP"],j:[{a:"txt",b:"Au = clamp ( Au , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MIX_RGB_DIFFERENCE",m:[{a:"node_var",c:"MIX_RGB_USE_CLAMP",b:["0"]}],l:[{a:"node_in",
  2190. c:"Av",f:["float"],e:!1},{a:"node_in",c:"Aw",f:["vec3"],e:!1},{a:"node_in",c:"Ax",f:["vec3"],e:!1},{a:"node_out",c:"Ay",f:["vec3"],e:!1}],j:[{a:"txt",b:"float xE = clamp ( Av , _0_0 , _1_0 ) ; Ay = mix ( Aw , abs ( Aw - Ax ) , xE ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MIX_RGB_USE_CLAMP"],j:[{a:"txt",b:"Ay = clamp ( Ay , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MIX_RGB_DARKEN",m:[{a:"node_var",c:"MIX_RGB_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"Az",f:["float"],e:!1},{a:"node_in",
  2191. c:"AA",f:["vec3"],e:!1},{a:"node_in",c:"AB",f:["vec3"],e:!1},{a:"node_out",c:"AC",f:["vec3"],e:!1}],j:[{a:"txt",b:"float xE = clamp ( Az , _0_0 , _1_0 ) ; AC = min ( AA . rgb , AB . rgb * xE ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MIX_RGB_USE_CLAMP"],j:[{a:"txt",b:"AC = clamp ( AC , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MIX_RGB_LIGHTEN",m:[{a:"node_var",c:"MIX_RGB_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"AD",f:["float"],e:!1},{a:"node_in",c:"AE",f:["vec3"],e:!1},{a:"node_in",
  2192. c:"AF",f:["vec3"],e:!1},{a:"node_out",c:"AG",f:["vec3"],e:!1}],j:[{a:"txt",b:"float xE = clamp ( AD , _0_0 , _1_0 ) ; AG = max ( AE . rgb , AF . rgb * xE ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MIX_RGB_USE_CLAMP"],j:[{a:"txt",b:"AG = clamp ( AG , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MIX_RGB_OVERLAY",m:[{a:"node_var",c:"MIX_RGB_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"AH",f:["float"],e:!1},{a:"node_in",c:"AI",f:["vec3"],e:!1},{a:"node_in",c:"AJ",f:["vec3"],e:!1},{a:"node_out",
  2193. c:"AK",f:["vec3"],e:!1}],j:[{a:"txt",b:"float xE = clamp ( AH , _0_0 , _1_0 ) ; vec3 AL = vec3 ( _1_0 - xE ) ; AK = mix ( AI * ( AL + 2.0 * xE * AJ ) , vec3 ( _1_0 ) - ( AL + 2.0 * xE * ( vec3 ( _1_0 ) - AJ ) ) * ( vec3 ( _1_0 ) - AI ) , step ( _0_5 , AI ) ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MIX_RGB_USE_CLAMP"],j:[{a:"txt",b:"AK = clamp ( AK , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MIX_RGB_DODGE",m:[{a:"node_var",c:"MIX_RGB_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"AM",f:["float"],
  2194. e:!1},{a:"node_in",c:"AN",f:["vec3"],e:!1},{a:"node_in",c:"AO",f:["vec3"],e:!1},{a:"node_out",c:"AP",f:["vec3"],e:!1}],j:[{a:"txt",b:"float xE = clamp ( AM , _0_0 , _1_0 ) ; vec3 AQ = vec3 ( _1_0 ) - xE * AO ; vec3 AR = clamp ( AN / AQ , _0_0 , _1_0 ) ; AP = mix ( mix ( AR , vec3 ( _1_0 ) , step ( AQ , vec3 ( _0_0 ) ) ) , AN , step ( AN , vec3 ( _0_0 ) ) ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MIX_RGB_USE_CLAMP"],j:[{a:"txt",b:"AP = clamp ( AP , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",
  2195. c:"MIX_RGB_BURN",m:[{a:"node_var",c:"MIX_RGB_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"AS",f:["float"],e:!1},{a:"node_in",c:"AT",f:["vec3"],e:!1},{a:"node_in",c:"AU",f:["vec3"],e:!1},{a:"node_out",c:"AV",f:["vec3"],e:!1}],j:[{a:"txt",b:"float xE = clamp ( AS , _0_0 , _1_0 ) ; vec3 jH = vec3 ( _1_0 - xE ) ; vec3 AQ = jH + xE * AU ; vec3 AR = clamp ( vec3 ( _1_0 ) - ( vec3 ( _1_0 ) - AT ) / AQ , _0_0 , _1_0 ) ; AV = mix ( AR , vec3 ( _0_0 ) , step ( AQ , vec3 ( _0_0 ) ) ) ;".split(" ")},{a:"node_cond",
  2196. d:[{a:"node_if",g:["MIX_RGB_USE_CLAMP"],j:[{a:"txt",b:"AV = clamp ( AV , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MIX_RGB_HUE",m:[{a:"node_var",c:"MIX_RGB_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"AW",f:["float"],e:!1},{a:"node_in",c:"AX",f:["vec3"],e:!1},{a:"node_in",c:"AY",f:["vec3"],e:!1},{a:"node_out",c:"AZ",f:["vec3"],e:!1}],j:[{a:"txt",b:"float xE = clamp ( AW , _0_0 , _1_0 ) ; vec3 jz , A_ , AQ ; AZ = AX ; A_ = jy ( AY ) ; if ( A_ . y != _0_0 ) { jz = jy ( AZ ) ; jz . x = A_ . x ; AQ = jA ( jz ) ; AZ = mix ( AZ , AQ , xE ) ; }".split(" ")},
  2197. {a:"node_cond",d:[{a:"node_if",g:["MIX_RGB_USE_CLAMP"],j:[{a:"txt",b:"AZ = clamp ( AZ , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MIX_RGB_SATURATION",m:[{a:"node_var",c:"MIX_RGB_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"Ba",f:["float"],e:!1},{a:"node_in",c:"Bb",f:["vec3"],e:!1},{a:"node_in",c:"Bc",f:["vec3"],e:!1},{a:"node_out",c:"Bd",f:["vec3"],e:!1}],j:[{a:"txt",b:"float xE = clamp ( Ba , _0_0 , _1_0 ) ; float Aq = _1_0 - xE ; Bd = Bb ; vec3 jz , A_ ; jz = jy ( Bd ) ; if ( jz . y != _0_0 ) { A_ = jy ( Bc ) ; jz . y = Aq * jz . y + xE * A_ . y ; Bd = jA ( jz ) ; }".split(" ")},
  2198. {a:"node_cond",d:[{a:"node_if",g:["MIX_RGB_USE_CLAMP"],j:[{a:"txt",b:"Bd = clamp ( Bd , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MIX_RGB_VALUE",m:[{a:"node_var",c:"MIX_RGB_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"Be",f:["float"],e:!1},{a:"node_in",c:"Bf",f:["vec3"],e:!1},{a:"node_in",c:"Bg",f:["vec3"],e:!1},{a:"node_out",c:"Bh",f:["vec3"],e:!1}],j:[{a:"txt",b:"float xE = clamp ( Be , _0_0 , _1_0 ) ; float Aq = _1_0 - xE ; vec3 jz , A_ ; jz = jy ( Bf ) ; A_ = jy ( Bg ) ; jz . z = Aq * jz . z + xE * A_ . z ; Bh = jA ( jz ) ;".split(" ")},
  2199. {a:"node_cond",d:[{a:"node_if",g:["MIX_RGB_USE_CLAMP"],j:[{a:"txt",b:"Bh = clamp ( Bh , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MIX_RGB_COLOR",m:[{a:"node_var",c:"MIX_RGB_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"Bi",f:["float"],e:!1},{a:"node_in",c:"Bj",f:["vec3"],e:!1},{a:"node_in",c:"Bk",f:["vec3"],e:!1},{a:"node_out",c:"Bl",f:["vec3"],e:!1}],j:[{a:"txt",b:"float xE = clamp ( Bi , _0_0 , _1_0 ) ; vec3 jz , A_ , AQ ; Bl = Bj ; A_ = jy ( Bk ) ; if ( A_ . y != _0_0 ) { jz = jy ( Bl ) ; jz . x = A_ . x ; jz . y = A_ . y ; AQ = jA ( jz ) ; Bl = mix ( Bl , AQ , xE ) ; }".split(" ")},
  2200. {a:"node_cond",d:[{a:"node_if",g:["MIX_RGB_USE_CLAMP"],j:[{a:"txt",b:"Bl = clamp ( Bl , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MIX_RGB_SOFT_LIGHT",m:[{a:"node_var",c:"MIX_RGB_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"Bm",f:["float"],e:!1},{a:"node_in",c:"Bn",f:["vec3"],e:!1},{a:"node_in",c:"Bo",f:["vec3"],e:!1},{a:"node_out",c:"Bp",f:["vec3"],e:!1}],j:[{a:"txt",b:"float xE = clamp ( Bm , _0_0 , _1_0 ) ; float Aq = _1_0 - xE ; vec3 Bq = Bo + Bn - Bo * Bn ; Bp = Bn * ( vec3 ( Aq ) + vec3 ( xE ) * ( ( vec3 ( _1_0 ) - Bn ) * Bo + Bq ) ) ;".split(" ")},
  2201. {a:"node_cond",d:[{a:"node_if",g:["MIX_RGB_USE_CLAMP"],j:[{a:"txt",b:"Bp = clamp ( Bp , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"MIX_RGB_LINEAR_LIGHT",m:[{a:"node_var",c:"MIX_RGB_USE_CLAMP",b:["0"]}],l:[{a:"node_in",c:"Br",f:["float"],e:!1},{a:"node_in",c:"Bs",f:["vec3"],e:!1},{a:"node_in",c:"Bt",f:["vec3"],e:!1},{a:"node_out",c:"Bu",f:["vec3"],e:!1}],j:[{a:"txt",b:"float xE = clamp ( Br , _0_0 , _1_0 ) ; Bu = Bs + xE * ( 2.0 * Bt - vec3 ( _1_0 ) ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",
  2202. g:["MIX_RGB_USE_CLAMP"],j:[{a:"txt",b:"Bu = clamp ( Bu , _0_0 , _1_0 ) ;".split(" ")}]}]}]},{a:"node",c:"OUTPUT",m:[],l:[{a:"node_in",c:"Bv",f:["vec3"],e:!1},{a:"node_in",c:"Bw",f:["float"],e:!1}],j:[{a:"txt",b:"D = Bv ; H = Bw ;".split(" ")}]},{a:"node",c:"MATERIAL_BEGIN",m:[{a:"node_var",c:"MATERIAL_EXT",b:["0"]},{a:"node_var",c:"USE_MATERIAL_NORMAL",b:["0"]},{a:"node_var",c:"USE_MATERIAL_DIFFUSE",b:["0"]},{a:"node_var",c:"SHADELESS_MAT",b:["0"]}],l:[{a:"node_in",c:"BA",f:["vec3"],e:!1},{a:"node_in",
  2203. c:"BB",f:["vec3"],e:!1},{a:"node_in",c:"BC",f:["float"],e:!1},{a:"node_in",c:"BD",f:["vec3"],e:!0},{a:"node_in",c:"BE",f:["float"],e:!0},{a:"node_out",c:"BF",f:["vec3"],e:!1},{a:"node_out",c:"BG",f:["vec3"],e:!1},{a:"node_out",c:"BH",f:["vec3"],e:!1},{a:"node_out",c:"BI",f:["vec3"],e:!1},{a:"node_out",c:"BJ",f:["vec3"],e:!1},{a:"node_out",c:"BK",f:["vec2"],e:!1},{a:"node_out",c:"BL",f:["vec2"],e:!1},{a:"node_out",c:"BM",f:["vec4"],e:!1},{a:"node_param",c:"rh",f:["const","vec2"],e:!0},{a:"node_param",
  2204. c:"ri",f:["const","vec3"],e:!1}],j:[{a:"txt",b:"BH = clamp ( BA , _0_0 , _1_0 ) ; BI = ri [ 0 ] * clamp ( BB , _0_0 , _1_0 ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["USE_MATERIAL_NORMAL"],j:[{a:"txt",b:"BJ = normalize ( BD ) ;".split(" ")}]},{a:"node_else",j:[{a:"txt",b:["BJ","=","nH",";"]}]}]},{a:"node_cond",d:[{a:"node_if",g:["SHADELESS_MAT",{a:"logic_negative_expr",i:1}],j:[{a:"node_cond",d:[{a:"node_if",g:["MATERIAL_EXT"],j:[{a:"txt",b:"BF = BE * BH ;".split(" ")}]},{a:"node_else",j:[{a:"txt",
  2205. b:"BF = ro * BH ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_MATERIAL_DIFFUSE"],j:[{a:"txt",b:["BH","*=","BC",";"]}]}]},{a:"txt",b:"BG = rp * u_environment_energy * ce ( BJ ) ; BM = vec4 ( 1.0 ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["NUM_LIGHTS",0,{a:"g_expr",i:2}],j:[{a:"txt",b:"BK = vec2 ( rh [ 0 ] , rh [ 1 ] ) ; BL = vec2 ( ri [ 1 ] , ri [ 2 ] ) ;".split(" ")}]}]},{a:"txt",b:["G","=","BM",";"]}]},{a:"node_else",j:[{a:"txt",b:"BF = vec3 ( _0_0 ) ; BG = vec3 ( _1_0 ) ;".split(" ")}]}]}]},
  2206. {a:"node",c:"MATERIAL_END",m:[{a:"node_var",c:"MATERIAL_EXT",b:["0"]},{a:"node_var",c:"USE_MATERIAL_DIFFUSE",b:["0"]},{a:"node_var",c:"USE_MATERIAL_SPECULAR",b:["0"]}],l:[{a:"node_in",c:"BN",f:["vec4"],e:!1},{a:"node_in",c:"BO",f:["vec3"],e:!1},{a:"node_in",c:"BP",f:["vec3"],e:!1},{a:"node_in",c:"BQ",f:["float"],e:!0},{a:"node_in",c:"BR",f:["float"],e:!0},{a:"node_in",c:"BS",f:["float"],e:!0},{a:"node_out",c:"BT",f:["vec3"],e:!0},{a:"node_out",c:"BU",f:["float"],e:!0},{a:"node_out",c:"BV",f:["vec3"],
  2207. e:!0},{a:"node_out",c:"BW",f:["vec3"],e:!0},{a:"node_out",c:"BX",f:["vec3"],e:!0},{a:"node_param",c:"rj",f:["float"],e:!1},{a:"node_param",c:"rk",f:["float"],e:!1}],j:[{a:"txt",b:["BQ",";"]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_BT"],j:[{a:"node_cond",d:[{a:"node_if",g:["USE_MATERIAL_DIFFUSE"],j:[{a:"txt",b:"BT = BN . rgb ;".split(" ")}]},{a:"node_else",j:[{a:"txt",b:"BT = vec3 ( _0_0 ) ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_MATERIAL_SPECULAR"],j:[{a:"txt",b:["BT","+=","BO",
  2208. ";"]}]}]}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_BV"],j:[{a:"txt",b:["BV","=","BP",";"]}]}]},{a:"node_cond",d:[{a:"node_if",g:["MATERIAL_EXT"],j:[{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_BW"],j:[{a:"txt",b:"BW = BN . rgb ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_BX"],j:[{a:"txt",b:["BX","=","BO",";"]}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_BU"],j:[{a:"txt",b:"BU = clamp ( BS , _0_0 , _1_0 ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["USE_MATERIAL_SPECULAR"],
  2209. j:[{a:"txt",b:"float t = max ( max ( BO . r , BO . g ) , BO . b ) * BR ; BU = clamp ( BS * ( _1_0 - t ) + t , _0_0 , _1_0 ) ;".split(" ")}]}]}]}]}]},{a:"node_else",j:[{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_BU"],j:[{a:"txt",b:"BU = clamp ( rj , _0_0 , _1_0 ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["USE_MATERIAL_SPECULAR"],j:[{a:"txt",b:"float t = max ( max ( BO . r , BO . g ) , BO . b ) * rk ; BU = rj * ( _1_0 - t ) + t ;".split(" ")}]}]}]}]}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_MATERIAL_SPECULAR"],
  2210. j:[{a:"txt",b:["E","=","BO",";"]}]},{a:"node_else",j:[{a:"txt",b:"E = vec3 ( _0_0 ) ;".split(" ")}]}]},{a:"txt",b:["F","=","BP",";"]}]},{a:"node",c:"LIGHTING_AMBIENT",m:[],l:[{a:"node_in",c:"nZ",f:["vec3"],e:!1},{a:"node_in",c:"n_",f:["vec3"],e:!1},{a:"node_in",c:"oa",f:["vec3"],e:!1},{a:"node_out",c:"ob",f:["vec4"],e:!1},{a:"node_out",c:"oc",f:["vec3"],e:!1}],j:[{a:"txt",b:"ob = vec4 ( nZ + oa * n_ , _0_0 ) ; oc = vec3 ( _0_0 ) ;".split(" ")}]},{a:"node",c:"LIGHTING_LAMP",m:[{a:"node_var",c:"LAMP_TYPE",
  2211. b:["HEMI"]},{a:"node_var",c:"LAMP_IND",b:["0"]},{a:"node_var",c:"LAMP_SPOT_SIZE",b:["0.8"]},{a:"node_var",c:"LAMP_SPOT_BLEND",b:["0.03"]},{a:"node_var",c:"LAMP_LIGHT_DIST",b:["30.0"]},{a:"node_var",c:"LAMP_SHADOW_MAP_IND",b:["-","1"]}],l:[{a:"node_in",c:"od",f:["vec4"],e:!1},{a:"node_out",c:"oe",f:["vec3"],e:!1},{a:"node_out",c:"of",f:["vec2"],e:!1},{a:"node_out",c:"og",f:["vec3"],e:!1},{a:"node_out",c:"oh",f:["float"],e:!1}],j:[{a:"txt",b:"of = vec2 ( u_light_positions [ LAMP_IND ] . w , u_light_color_intensities [ LAMP_IND ] . w ) ;".split(" ")},
  2212. {a:"node_cond",d:[{a:"node_if",g:["LAMP_TYPE","HEMI",{a:"equal_expr",i:2}],j:[{a:"txt",b:["oh","=","_0_5",";"]}]},{a:"node_else",j:[{a:"txt",b:["oh","=","_0_0",";"]}]}]},{a:"txt",b:"og = u_light_color_intensities [ LAMP_IND ] . xyz ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["LAMP_SHADOW_MAP_IND",1,{a:"negative_expr",i:1},{a:"non_equal_expr",i:2}],j:[{a:"txt",b:"og *= od [ LAMP_SHADOW_MAP_IND ] ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["LAMP_TYPE","SPOT",{a:"equal_expr",i:2},"LAMP_TYPE",
  2213. "POINT",{a:"equal_expr",i:2},{a:"logical_or_expr",i:2}],j:[{a:"txt",b:"vec3 oi = u_light_positions [ LAMP_IND ] . xyz ; oe = oi - nG ; float aC = length ( oe ) ; og *= LAMP_LIGHT_DIST / ( LAMP_LIGHT_DIST + aC * aC ) ; oe = normalize ( oe ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["LAMP_TYPE","SPOT",{a:"equal_expr",i:2}],j:[{a:"txt",b:"vec3 ok = u_light_directions [ LAMP_IND ] ; float ol = dot ( oe , ok ) ; ol *= smoothstep ( _0_0 , _1_0 , ( ol - LAMP_SPOT_SIZE ) / LAMP_SPOT_BLEND ) ; og *= ol ;".split(" ")}]}]}]},
  2214. {a:"node_else",j:[{a:"txt",b:"oe = u_light_directions [ LAMP_IND ] ;".split(" ")}]}]}]},{a:"node",c:"DIFFUSE_FRESNEL",m:[{a:"node_var",c:"MAT_USE_TBN_SHADING",b:["0"]}],l:[{a:"node_in",c:"om",f:["vec3"],e:!1},{a:"node_in",c:"on",f:["vec2"],e:!1},{a:"node_in",c:"oo",f:["vec3"],e:!1},{a:"node_in",c:"op",f:["float"],e:!1},{a:"node_in",c:"oq",f:["vec2"],e:!1},{a:"node_out",c:"or",f:["float"],e:!1}],j:[{a:"node_cond",d:[{a:"node_if",g:["MAT_USE_TBN_SHADING"],j:[{a:"txt",b:"vec3 os = cross ( om , k . xyz ) ; oo = cross ( os , k . xyz ) ; oo = - normalize ( oo ) ;".split(" ")}]}]},
  2215. {a:"txt",b:"or = _0_0 ; if ( on . r != _0_0 ) { float ot = ( _1_0 - op ) * dot ( oo , om ) + op ; if ( oq [ 0 ] == _0_0 ) { or = _1_0 ; } else { float t = _1_0 + abs ( ot ) ; t = oq [ 1 ] + ( _1_0 - oq [ 1 ] ) * pow ( t , oq [ 0 ] ) ; or = clamp ( t , _0_0 , _1_0 ) ; } or = max ( or , _0_0 ) ; }".split(" ")}]},{a:"node",c:"DIFFUSE_LAMBERT",m:[{a:"node_var",c:"MAT_USE_TBN_SHADING",b:["0"]}],l:[{a:"node_in",c:"ou",f:["vec3"],e:!1},{a:"node_in",c:"ov",f:["vec2"],e:!1},{a:"node_in",c:"ow",f:["vec3"],
  2216. e:!1},{a:"node_in",c:"ox",f:["float"],e:!1},{a:"node_out",c:"oy",f:["float"],e:!1}],j:[{a:"node_cond",d:[{a:"node_if",g:["MAT_USE_TBN_SHADING"],j:[{a:"txt",b:"vec3 os = cross ( ou , k . xyz ) ; ow = cross ( os , k . xyz ) ; ow = - normalize ( ow ) ;".split(" ")}]}]},{a:"txt",b:"oy = _0_0 ; if ( ov . r != _0_0 ) { float ot = ( _1_0 - ox ) * dot ( ow , ou ) + ox ; oy = max ( ot , _0_0 ) ; }".split(" ")}]},{a:"node",c:"DIFFUSE_OREN_NAYAR",m:[{a:"node_var",c:"MAT_USE_TBN_SHADING",b:["0"]}],l:[{a:"node_in",
  2217. c:"oz",f:["vec3"],e:!1},{a:"node_in",c:"oA",f:["vec2"],e:!1},{a:"node_in",c:"oB",f:["vec3"],e:!1},{a:"node_in",c:"oC",f:["float"],e:!1},{a:"node_in",c:"oD",f:["vec2"],e:!1},{a:"node_out",c:"oE",f:["float"],e:!1}],j:[{a:"node_cond",d:[{a:"node_if",g:["MAT_USE_TBN_SHADING"],j:[{a:"txt",b:"vec3 os = cross ( oz , k . xyz ) ; oB = cross ( os , k . xyz ) ; oB = - normalize ( oB ) ;".split(" ")}]}]},{a:"txt",b:"oE = _0_0 ; if ( oA . r != _0_0 ) { float ot = ( _1_0 - oC ) * dot ( oB , oz ) + oC ; if ( oD [ 0 ] > _0_0 ) { float oF = max ( dot ( oB , nI ) , _0_0 ) ; float oG = oD [ 0 ] * oD [ 0 ] ; float cg = _1_0 - _0_5 * ( oG / ( oG + 0.33 ) ) ; vec3 oH = oz - ot * oB ; vec3 oI = nI - oF * oB ; if ( length ( oH ) == _0_0 || length ( oI ) == _0_0 || abs ( ot ) > _1_0 || abs ( oF ) > _1_0 ) oE = ot * cg ; else { float oJ = acos ( ot ) ; float oK = acos ( oF ) ; vec3 oL = normalize ( oH ) ; vec3 oM = normalize ( oI ) ; float a , b ; a = max ( oJ , oK ) ; b = min ( oJ , oK ) ; b *= 0.95 ; float t = max ( dot ( oL , oM ) , _0_0 ) ; float oN = 0.45 * ( oG / ( oG + 0.09 ) ) ; oE = ot * ( cg + ( oN * t * sin ( a ) * tan ( b ) ) ) ; } } else oE = ot ; oE = max ( oE , _0_0 ) ; }".split(" ")}]},
  2218. {a:"node",c:"DIFFUSE_MINNAERT",m:[{a:"node_var",c:"MAT_USE_TBN_SHADING",b:["0"]}],l:[{a:"node_in",c:"oO",f:["vec3"],e:!1},{a:"node_in",c:"oP",f:["vec2"],e:!1},{a:"node_in",c:"oQ",f:["vec3"],e:!1},{a:"node_in",c:"oR",f:["float"],e:!1},{a:"node_in",c:"oS",f:["vec2"],e:!1},{a:"node_out",c:"oT",f:["float"],e:!1}],j:[{a:"node_cond",d:[{a:"node_if",g:["MAT_USE_TBN_SHADING"],j:[{a:"txt",b:"vec3 os = cross ( oO , k . xyz ) ; oQ = cross ( os , k . xyz ) ; oQ = - normalize ( oQ ) ;".split(" ")}]}]},{a:"txt",
  2219. b:"oT = _0_0 ; if ( oP . r != _0_0 ) { float ot = ( _1_0 - oR ) * dot ( oQ , oO ) + oR ; float oF = max ( dot ( oQ , nI ) , _0_0 ) ; if ( oS [ 0 ] <= _1_0 ) oT = ot * pow ( max ( oF * ot , 0.1 ) , oS [ 0 ] - _1_0 ) ; else oT = ot * pow ( 1.0001 - oF , oS [ 0 ] - _1_0 ) ; oT = max ( oT , _0_0 ) ; }".split(" ")}]},{a:"node",c:"DIFFUSE_TOON",m:[{a:"node_var",c:"MAT_USE_TBN_SHADING",b:["0"]}],l:[{a:"node_in",c:"oU",f:["vec3"],e:!1},{a:"node_in",c:"oV",f:["vec2"],e:!1},{a:"node_in",c:"oW",f:["vec3"],e:!1},
  2220. {a:"node_in",c:"oX",f:["float"],e:!1},{a:"node_in",c:"oY",f:["vec2"],e:!1},{a:"node_out",c:"oZ",f:["float"],e:!1}],j:[{a:"node_cond",d:[{a:"node_if",g:["MAT_USE_TBN_SHADING"],j:[{a:"txt",b:"vec3 os = cross ( oU , k . xyz ) ; oW = cross ( os , k . xyz ) ; oW = - normalize ( oW ) ;".split(" ")}]}]},{a:"txt",b:"oZ = _0_0 ; if ( oV . r != _0_0 ) { float ot = ( _1_0 - oX ) * dot ( oW , oU ) + oX ; float o_ = acos ( ot ) ; if ( o_ < oY [ 0 ] ) oZ = _1_0 ; else if ( o_ > ( oY [ 0 ] + oY [ 1 ] ) || oY [ 1 ] == _0_0 ) oZ = _0_0 ; else oZ = _1_0 - ( ( o_ - oY [ 0 ] ) / oY [ 1 ] ) ; oZ = max ( oZ , _0_0 ) ; }".split(" ")}]},
  2221. {a:"node",c:"SPECULAR_PHONG",m:[{a:"node_var",c:"MAT_USE_TBN_SHADING",b:["0"]}],l:[{a:"node_in",c:"pa",f:["vec3"],e:!1},{a:"node_in",c:"pb",f:["vec2"],e:!1},{a:"node_in",c:"pc",f:["vec3"],e:!1},{a:"node_in",c:"pd",f:["float"],e:!1},{a:"node_in",c:"pe",f:["vec2"],e:!1},{a:"node_out",c:"pf",f:["float"],e:!1}],j:[{a:"txt",b:"pf = _0_0 ; if ( pb . g == _1_0 ) { vec3 pg = normalize ( pa + nI ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MAT_USE_TBN_SHADING"],j:[{a:"txt",b:"if ( pd == _0_0 ) { pf = dot ( k . xyz , pg ) ; pf = sqrt ( _1_0 - pf * pf ) ; }".split(" ")}]},
  2222. {a:"node_else",j:[{a:"txt",b:"pf = ( _1_0 - pd ) * max ( dot ( pc , pg ) , _0_0 ) + pd ;".split(" ")}]}]},{a:"txt",b:"pf = pow ( pf , pe [ 0 ] ) ; }".split(" ")}]},{a:"node",c:"SPECULAR_COOKTORR",m:[{a:"node_var",c:"MAT_USE_TBN_SHADING",b:["0"]}],l:[{a:"node_in",c:"ph",f:["vec3"],e:!1},{a:"node_in",c:"pi",f:["vec2"],e:!1},{a:"node_in",c:"pj",f:["vec3"],e:!1},{a:"node_in",c:"pk",f:["float"],e:!1},{a:"node_in",c:"pl",f:["vec2"],e:!1},{a:"node_out",c:"pm",f:["float"],e:!1}],j:[{a:"txt",b:"pm = _0_0 ; if ( pi . g != _0_0 ) { vec3 pg = normalize ( ph + nI ) ;".split(" ")},
  2223. {a:"node_cond",d:[{a:"node_if",g:["MAT_USE_TBN_SHADING"],j:[{a:"txt",b:"if ( pk == _0_0 ) { pm = dot ( B . xyz , pg ) ; pm = sqrt ( _1_0 - pm * pm ) ; }".split(" ")}]},{a:"node_else",j:[{a:"txt",b:"pm = max ( dot ( pj , pg ) , _0_0 ) ; pm = ( _1_0 - pk ) * pm + pk ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["MAT_USE_TBN_SHADING"],j:[{a:"txt",b:"float oF = max ( dot ( B . xyz , nI ) , _0_0 ) ; oF = sqrt ( _1_0 - oF * oF ) ;".split(" ")}]},{a:"node_else",j:[{a:"txt",b:"float oF = max ( dot ( pj , nI ) , _0_0 ) ;".split(" ")}]}]},
  2224. {a:"txt",b:"pm = pow ( pm , pl [ 0 ] ) ; pm = pm / ( 0.1 + oF ) ; }".split(" ")}]},{a:"node",c:"SPECULAR_WARDISO",m:[{a:"node_var",c:"MAT_USE_TBN_SHADING",b:["0"]}],l:[{a:"node_in",c:"pn",f:["vec3"],e:!1},{a:"node_in",c:"po",f:["vec2"],e:!1},{a:"node_in",c:"pr",f:["vec3"],e:!1},{a:"node_in",c:"pu",f:["float"],e:!1},{a:"node_in",c:"pv",f:["vec2"],e:!1},{a:"node_out",c:"pw",f:["float"],e:!1}],j:[{a:"txt",b:"pw = _0_0 ; if ( po . g == _1_0 ) { vec3 pg = normalize ( pn + nI ) ;".split(" ")},{a:"node_cond",
  2225. d:[{a:"node_if",g:["MAT_USE_TBN_SHADING"],j:[{a:"txt",b:"float px = _0_0 ; float oF = _0_0 ; float py = _0_0 ; if ( pu == _0_0 ) { px = dot ( k . xyz , pg ) ; oF = dot ( k . xyz , nI ) ; py = dot ( k . xyz , pn ) ; px = sqrt ( _1_0 - px * px ) ; oF = sqrt ( _1_0 - oF * oF ) ; py = sqrt ( _1_0 - py * py ) ; }".split(" ")}]},{a:"node_else",j:[{a:"txt",b:"float px = max ( dot ( pr , pg ) , 0.01 ) ; float oF = max ( dot ( pr , nI ) , 0.01 ) ; float py = max ( dot ( pr , pn ) , 0.01 ) ;".split(" ")}]}]},
  2226. {a:"txt",b:"float bm = tan ( acos ( px ) ) ; float J = max ( pv [ 0 ] , 0.01 ) ; pw = py * ( _1_0 / ( 4.0 * M_PI * J * J ) ) * ( exp ( - ( bm * bm ) / ( J * J ) ) / ( sqrt ( oF * py ) ) ) ; }".split(" ")}]},{a:"node",c:"SPECULAR_TOON",m:[{a:"node_var",c:"MAT_USE_TBN_SHADING",b:["0"]}],l:[{a:"node_in",c:"pz",f:["vec3"],e:!1},{a:"node_in",c:"pA",f:["vec2"],e:!1},{a:"node_in",c:"pB",f:["vec3"],e:!1},{a:"node_in",c:"pC",f:["float"],e:!1},{a:"node_in",c:"pD",f:["vec2"],e:!1},{a:"node_out",c:"pE",f:["float"],
  2227. e:!1}],j:[{a:"txt",b:"pE = _0_0 ; if ( pA . g == _1_0 ) { vec3 bO = normalize ( pz + nI ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["MAT_USE_TBN_SHADING"],j:[{a:"txt",b:"float pF = dot ( bO , k . xyz ) ; float bm = pD [ 0 ] + pD [ 1 ] ; if ( pC == _0_0 ) bm = acos ( sqrt ( _1_0 - pF * pF ) ) ;".split(" ")}]},{a:"node_else",j:[{a:"txt",b:"float bm = acos ( dot ( bO , pB ) ) ;".split(" ")}]}]},{a:"txt",b:"if ( bm < pD [ 0 ] ) pE = _1_0 ; else if ( bm >= pD [ 0 ] + pD [ 1 ] || pD [ 1 ] == _0_0 ) pE = _0_0 ; else pE = _1_0 - ( bm - pD [ 0 ] ) / pD [ 1 ] ; }".split(" ")}]},
  2228. {a:"node",c:"SPECULAR_BLINN",m:[{a:"node_var",c:"MAT_USE_TBN_SHADING",b:["0"]}],l:[{a:"node_in",c:"pG",f:["vec3"],e:!1},{a:"node_in",c:"pH",f:["vec2"],e:!1},{a:"node_in",c:"pI",f:["vec3"],e:!1},{a:"node_in",c:"pJ",f:["float"],e:!1},{a:"node_in",c:"pK",f:["vec2"],e:!1},{a:"node_out",c:"pL",f:["float"],e:!1}],j:[{a:"txt",b:"pL = _0_0 ; if ( pH . g == _1_0 ) { if ( pK [ 0 ] < 1.0 || pK [ 1 ] == _0_0 ) pL = _0_0 ; else { if ( pK [ 1 ] < 100.0 ) pK [ 1 ] = sqrt ( 1.0 / pK [ 1 ] ) ; else pK [ 1 ] = 10.0 / pK [ 1 ] ; vec3 pg = normalize ( nI + pG ) ;".split(" ")},
  2229. {a:"node_cond",d:[{a:"node_if",g:["MAT_USE_TBN_SHADING"],j:[{a:"txt",b:"float px = 0.0 ; if ( pJ == _0_0 ) { float pO = dot ( k . xyz , pg ) ; px = sqrt ( _1_0 - pO * pO ) ; }".split(" ")}]},{a:"node_else",j:[{a:"txt",b:"float px = ( _1_0 - pJ ) * max ( dot ( pI , pg ) , _0_0 ) + pJ ;".split(" ")}]}]},{a:"txt",b:"if ( px < _0_0 ) pL = _0_0 ; else { float oF = max ( dot ( pI , nI ) , 0.01 ) ; float py = dot ( pI , pG ) ; if ( py <= 0.01 ) pL = _0_0 ; else { float pP = max ( dot ( nI , pg ) , 0.01 ) ; float a = _1_0 ; float b = ( 2.0 * px * oF ) / pP ; float da = ( 2.0 * px * py ) / pP ; float g = min ( min ( a , b ) , da ) ; float p = sqrt ( pow ( pK [ 0 ] , 2.0 ) + pow ( pP , 2.0 ) - _1_0 ) ; float lw = pow ( p - pP , 2.0 ) / pow ( p + pP , 2.0 ) * ( _1_0 + pow ( pP * ( p + pP ) - _1_0 , 2.0 ) / pow ( pP * ( p - pP ) + _1_0 , 2.0 ) ) ; float o_ = acos ( px ) ; pL = max ( lw * g * exp ( - pow ( o_ , 2.0 ) / ( 2.0 * pow ( pK [ 1 ] , 2.0 ) ) ) , _0_0 ) ; } } } }".split(" ")}]},
  2230. {a:"node",c:"LIGHTING_APPLY",m:[],l:[{a:"node_in",c:"pQ",f:["vec4"],e:!1},{a:"node_in",c:"pR",f:["vec3"],e:!1},{a:"node_in",c:"pS",f:["float"],e:!1},{a:"node_in",c:"pT",f:["float"],e:!1},{a:"node_in",c:"pU",f:["vec3"],e:!1},{a:"node_in",c:"pV",f:["vec3"],e:!1},{a:"node_in",c:"pW",f:["vec4"],e:!1},{a:"node_in",c:"pX",f:["vec3"],e:!1},{a:"node_in",c:"pY",f:["vec3"],e:!1},{a:"node_in",c:"pZ",f:["vec3"],e:!1},{a:"node_in",c:"p_",f:["float"],e:!1},{a:"node_out",c:"qa",f:["vec4"],e:!1},{a:"node_out",c:"qb",
  2231. f:["vec3"],e:!1}],j:[{a:"node_cond",d:[{a:"node_if",g:["USE_NODE_B4W_TRANSLUCENCY"],j:[{a:"txt",b:"if ( dot ( pU , pV ) * dot ( nI , pV ) < _0_0 ) { float BY = pW . x ; float BZ = pW . y ; float B_ = pW . z ; float Ca = pW . w ; float Cb = clamp ( abs ( dot ( pU , pV ) ) , _0_0 , _1_0 ) ; float Cc = clamp ( dot ( nI , - pU ) , _0_0 , _1_0 ) ; float Cd = pow ( Cc , BZ ) ; qa = pQ + p_ * vec4 ( pZ * Cb * pow ( pX , vec3 ( BY ) ) , _1_0 ) ; qa += B_ * mix ( vec4 ( pX , _1_0 ) , vec4 ( _1_0 ) , Ca ) * p_ * vec4 ( pZ * Cb * vec3 ( Cd ) , _1_0 ) ; qb = pR ; } else { qb = pR + pZ * pY * pT ; qa = pQ + vec4 ( pZ * pX * pS , pT ) ; }".split(" ")}]},
  2232. {a:"node_else",j:[{a:"txt",b:"qb = pR + pZ * pY * pT ; qa = pQ + vec4 ( pZ * pX * pS , pT ) ;".split(" ")}]}]}]},{a:"node",c:"RGB",m:[{a:"node_var",c:"RGB_IND",b:["0"]}],l:[{a:"node_out",c:"Ce",f:["vec3"],e:!1}],j:[{a:"txt",b:"Ce = u_node_rgbs [ RGB_IND ] ;".split(" ")}]},{a:"node",c:"RGBTOBW",m:[],l:[{a:"node_in",c:"Cf",f:["vec3"],e:!1},{a:"node_out",c:"Cg",f:["float"],e:!1}],j:[{a:"txt",b:"Cg = dot ( Cf , vec3 ( 0.35 , 0.45 , 0.2 ) ) ;".split(" ")}]},{a:"node",c:"SEPRGB",m:[],l:[{a:"node_in",c:"Ch",
  2233. f:["vec3"],e:!1},{a:"node_out",c:"Ci",f:["float"],e:!0},{a:"node_out",c:"Cj",f:["float"],e:!0},{a:"node_out",c:"Ck",f:["float"],e:!0}],j:[{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_Ci"],j:[{a:"txt",b:"Ci = Ch . r ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_Cj"],j:[{a:"txt",b:"Cj = Ch . g ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_Ck"],j:[{a:"txt",b:"Ck = Ch . b ;".split(" ")}]}]}]},{a:"node",c:"SEPHSV",m:[],l:[{a:"node_in",c:"Cl",f:["vec3"],e:!1},{a:"node_out",
  2234. c:"Cm",f:["float"],e:!0},{a:"node_out",c:"Cn",f:["float"],e:!0},{a:"node_out",c:"Co",f:["float"],e:!0}],j:[{a:"txt",b:"vec3 Cp = jy ( Cl ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_Cm"],j:[{a:"txt",b:"Cm = Cp . r ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_Cn"],j:[{a:"txt",b:"Cn = Cp . g ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_Co"],j:[{a:"txt",b:"Co = Cp . b ;".split(" ")}]}]}]},{a:"node",c:"SQUEEZE",m:[],l:[{a:"node_in",c:"Cq",f:["float"],e:!1},
  2235. {a:"node_in",c:"Cr",f:["float"],e:!1},{a:"node_in",c:"Cs",f:["float"],e:!1},{a:"node_out",c:"Ct",f:["float"],e:!1}],j:[{a:"txt",b:"Ct = _1_0 / ( _1_0 + pow ( 2.71828183 , - ( Cq - Cs ) * Cr ) ) ;".split(" ")}]},{a:"node",c:"GAMMA",m:[],l:[{a:"node_in",c:"Cu",f:["vec3"],e:!1},{a:"node_in",c:"Cv",f:["float"],e:!1},{a:"node_out",c:"Cw",f:["vec3"],e:!1}],j:[{a:"txt",b:"Cw = Cu ; if ( Cw . x > _0_0 ) Cw . x = pow ( Cu . x , Cv ) ; if ( Cw . y > _0_0 ) Cw . y = pow ( Cu . y , Cv ) ; if ( Cw . z > _0_0 ) Cw . z = pow ( Cu . z , Cv ) ;".split(" ")}]},
  2236. {a:"node",c:"B4W_SRGB_TO_LINEAR",m:[],l:[{a:"node_in",c:"Cx",f:["vec3"],e:!1},{a:"node_out",c:"Cy",f:["vec3"],e:!1}],j:[{a:"txt",b:"Cy = max ( vec3 ( _0_0 ) , Cx ) ; Cy = pow ( Cy , vec3 ( 2.2 ) ) ;".split(" ")}]},{a:"node",c:"B4W_LINEAR_TO_SRGB",m:[],l:[{a:"node_in",c:"Cz",f:["vec3"],e:!1},{a:"node_out",c:"CA",f:["vec3"],e:!1}],j:[{a:"txt",b:"CA = max ( vec3 ( _0_0 ) , Cz ) ; CA = pow ( CA , vec3 ( _1_0 / 2.2 ) ) ;".split(" ")}]},{a:"node",c:"TEXTURE_EMPTY",m:[],l:[{a:"node_out",c:"CB",f:["vec3"],
  2237. e:!1},{a:"node_out",c:"CC",f:["vec3"],e:!1},{a:"node_out",c:"CD",f:["float"],e:!1}],j:[{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_CB"],j:[{a:"txt",b:"CB [ 2 ] = CB [ 1 ] = CB [ 0 ] = _0_0 ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_CC"],j:[{a:"txt",b:"CC [ 2 ] = CC [ 1 ] = CC [ 0 ] = _0_0 ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_CD"],j:[{a:"txt",b:["CD","=","_0_0",";"]}]}]}]},{a:"node",c:"TEXTURE_ENVIRONMENT",m:[],l:[{a:"node_in",c:"CE",f:["vec3"],e:!1},{a:"node_out",
  2238. c:"CF",f:["vec3"],e:!0},{a:"node_out",c:"CG",f:["float"],e:!0},{a:"node_param",c:"node_TEXTURE_ENVIRONMENT_var_texture",f:["uniform","samplerCube"],e:!1}],j:[{a:"txt",b:"vec4 yM = GLSL_TEXTURE_CUBE ( node_TEXTURE_ENVIRONMENT_var_texture , CE ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_CF"],j:[{a:"txt",b:"CF = yM . xyz ; bY ( CF ) ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_CG"],j:[{a:"txt",b:"CG = yM . w ;".split(" ")}]}]}]},{a:"node",c:"TEXTURE_COLOR",m:[{a:"node_var",
  2239. c:"NON_COLOR",b:["0"]},{a:"node_var",c:"USE_uv2",b:["0"]},{a:"node_var",c:"USE_uv3",b:["0"]},{a:"node_var",c:"USE_uv4",b:["0"]}],l:[{a:"node_in",c:"CI",f:["vec3"],e:!0},{a:"node_in",c:"CJ",f:["vec3"],e:!0},{a:"node_in",c:"CK",f:["vec3"],e:!0},{a:"node_in",c:"CL",f:["vec3"],e:!0},{a:"node_out",c:"CM",f:["vec3"],e:!0},{a:"node_out",c:"CN",f:["float"],e:!0},{a:"node_out",c:"CO",f:["vec3"],e:!0},{a:"node_out",c:"CP",f:["float"],e:!0},{a:"node_out",c:"CQ",f:["vec3"],e:!0},{a:"node_out",c:"CR",f:["float"],
  2240. e:!0},{a:"node_out",c:"CS",f:["vec3"],e:!0},{a:"node_out",c:"CT",f:["float"],e:!0},{a:"node_param",c:"node_TEXTURE_COLOR_var_texture",f:["uniform","sampler2D"],e:!1}],j:[{a:"txt",b:"vec4 yM = GLSL_TEXTURE ( node_TEXTURE_COLOR_var_texture , qQ ( CI ) ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_CM"],j:[{a:"txt",b:"CM = yM . xyz ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["NON_COLOR",{a:"logic_negative_expr",i:1}],j:[{a:"txt",b:["bY","(","CM",")",";"]}]}]}]}]},{a:"node_cond",d:[{a:"node_if",
  2241. g:["USE_OUT_CN"],j:[{a:"txt",b:"CN = yM . w ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_uv2"],j:[{a:"txt",b:"yM = GLSL_TEXTURE ( node_TEXTURE_COLOR_var_texture , qQ ( CJ ) ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_CO"],j:[{a:"txt",b:"CO = yM . xyz ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["NON_COLOR",{a:"logic_negative_expr",i:1}],j:[{a:"txt",b:["bY","(","CO",")",";"]}]}]}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_CP"],j:[{a:"txt",b:"CP = yM . w ;".split(" ")}]}]}]}]},
  2242. {a:"node_cond",d:[{a:"node_if",g:["USE_uv3"],j:[{a:"txt",b:"yM = GLSL_TEXTURE ( node_TEXTURE_COLOR_var_texture , qQ ( CK ) ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_CQ"],j:[{a:"txt",b:"CQ = yM . xyz ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["NON_COLOR",{a:"logic_negative_expr",i:1}],j:[{a:"txt",b:["bY","(","CQ",")",";"]}]}]}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_CR"],j:[{a:"txt",b:"CR = yM . w ;".split(" ")}]}]}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_uv4"],j:[{a:"txt",
  2243. b:"yM = GLSL_TEXTURE ( node_TEXTURE_COLOR_var_texture , qQ ( CL ) ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_CS"],j:[{a:"txt",b:"CS = yM . xyz ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["NON_COLOR",{a:"logic_negative_expr",i:1}],j:[{a:"txt",b:["bY","(","CS",")",";"]}]}]}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_CT"],j:[{a:"txt",b:"CT = yM . w ;".split(" ")}]}]}]}]}]},{a:"node",c:"TEXTURE_NORMAL",m:[{a:"node_var",c:"USE_uv2",b:["0"]},{a:"node_var",c:"USE_uv3",b:["0"]},
  2244. {a:"node_var",c:"USE_uv4",b:["0"]}],l:[{a:"node_in",c:"CU",f:["vec3"],e:!0},{a:"node_in",c:"CV",f:["vec3"],e:!0},{a:"node_in",c:"CW",f:["vec3"],e:!0},{a:"node_in",c:"CX",f:["vec3"],e:!0},{a:"node_out",c:"CY",f:["vec3"],e:!0},{a:"node_out",c:"CZ",f:["float"],e:!0},{a:"node_out",c:"C_",f:["vec3"],e:!0},{a:"node_out",c:"Da",f:["float"],e:!0},{a:"node_out",c:"Db",f:["vec3"],e:!0},{a:"node_out",c:"Dc",f:["float"],e:!0},{a:"node_out",c:"Dd",f:["vec3"],e:!0},{a:"node_out",c:"De",f:["float"],e:!0},{a:"node_param",
  2245. c:"node_TEXTURE_NORMAL_var_texture",f:["uniform","sampler2D"],e:!1}],j:[{a:"txt",b:"vec4 yM = GLSL_TEXTURE ( node_TEXTURE_NORMAL_var_texture , qQ ( CU ) ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_CY"],j:[{a:"txt",b:"CY = normalize ( rm * ( yM . xyz - _0_5 ) ) ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_CZ"],j:[{a:"txt",b:"CZ = yM . w ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_uv2"],j:[{a:"txt",b:"yM = GLSL_TEXTURE ( node_TEXTURE_NORMAL_var_texture , qQ ( CV ) ) ;".split(" ")},
  2246. {a:"node_cond",d:[{a:"node_if",g:["USE_OUT_C_"],j:[{a:"txt",b:"C_ = normalize ( rm * ( yM . xyz - _0_5 ) ) ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_Da"],j:[{a:"txt",b:"Da = yM . w ;".split(" ")}]}]}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_uv3"],j:[{a:"txt",b:"yM = GLSL_TEXTURE ( node_TEXTURE_NORMAL_var_texture , qQ ( CW ) ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_Db"],j:[{a:"txt",b:"Db = normalize ( rm * ( yM . xyz - _0_5 ) ) ;".split(" ")}]}]},{a:"node_cond",
  2247. d:[{a:"node_if",g:["USE_OUT_Dc"],j:[{a:"txt",b:"Dc = yM . w ;".split(" ")}]}]}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_uv4"],j:[{a:"txt",b:"yM = GLSL_TEXTURE ( node_TEXTURE_NORMAL_var_texture , qQ ( CX ) ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_Dd"],j:[{a:"txt",b:"Dd = normalize ( rm * ( yM . xyz - _0_5 ) ) ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_De"],j:[{a:"txt",b:"De = yM . w ;".split(" ")}]}]}]}]}]},{a:"node",c:"VALUE",m:[{a:"node_var",c:"VALUE_IND",
  2248. b:["0"]}],l:[{a:"node_out",c:"Df",f:["float"],e:!1}],j:[{a:"txt",b:"Df = u_node_values [ VALUE_IND ] ;".split(" ")}]},{a:"node",c:"VECT_MATH_ADD",m:[],l:[{a:"node_in",c:"Dg",f:["vec3"],e:!1},{a:"node_in",c:"Dh",f:["vec3"],e:!1},{a:"node_out",c:"Di",f:["vec3"],e:!1},{a:"node_out",c:"Dj",f:["float"],e:!0}],j:[{a:"txt",b:"Di = Dg + Dh ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_Dj"],j:[{a:"txt",b:"Dj = ( abs ( Di [ 0 ] ) + abs ( Di [ 1 ] ) + abs ( Di [ 2 ] ) ) / 3.0 ;".split(" ")}]}]}]},
  2249. {a:"node",c:"VECT_MATH_SUBTRACT",m:[],l:[{a:"node_in",c:"Dk",f:["vec3"],e:!1},{a:"node_in",c:"Dl",f:["vec3"],e:!1},{a:"node_out",c:"Dm",f:["vec3"],e:!1},{a:"node_out",c:"Dn",f:["float"],e:!0}],j:[{a:"txt",b:"Dm = Dk - Dl ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_Dn"],j:[{a:"txt",b:"Dn = ( abs ( Dm [ 0 ] ) + abs ( Dm [ 1 ] ) + abs ( Dm [ 2 ] ) ) / 3.0 ;".split(" ")}]}]}]},{a:"node",c:"VECT_MATH_AVERAGE",m:[],l:[{a:"node_in",c:"Do",f:["vec3"],e:!1},{a:"node_in",c:"Dp",f:["vec3"],e:!1},
  2250. {a:"node_out",c:"Dq",f:["vec3"],e:!1},{a:"node_out",c:"Dr",f:["float"],e:!0}],j:[{a:"txt",b:"Dq = Do + Dp ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_Dr"],j:[{a:"txt",b:"Dr = length ( Dq ) ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_Dq"],j:[{a:"txt",b:"Dq = normalize ( Dq ) ;".split(" ")}]}]}]},{a:"node",c:"VECT_MATH_DOT_PRODUCT",m:[],l:[{a:"node_in",c:"Ds",f:["vec3"],e:!1},{a:"node_in",c:"Dt",f:["vec3"],e:!1},{a:"node_out",c:"Du",f:["vec3"],e:!1},{a:"node_out",c:"Dv",
  2251. f:["float"],e:!0}],j:[{a:"txt",b:"Du = vec3 ( _0_0 ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_Dv"],j:[{a:"txt",b:"Dv = dot ( Ds , Dt ) ;".split(" ")}]}]}]},{a:"node",c:"VECT_MATH_CROSS_PRODUCT",m:[],l:[{a:"node_in",c:"Dw",f:["vec3"],e:!1},{a:"node_in",c:"Dx",f:["vec3"],e:!1},{a:"node_out",c:"Dy",f:["vec3"],e:!1},{a:"node_out",c:"Dz",f:["float"],e:!0}],j:[{a:"txt",b:"Dy = cross ( Dw , Dx ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_Dz"],j:[{a:"txt",b:"Dz = length ( Dy ) ;".split(" ")}]}]}]},
  2252. {a:"node",c:"VECT_MATH_NORMALIZE",m:[],l:[{a:"node_in",c:"DA",f:["vec3"],e:!1},{a:"node_in",c:"DB",f:["vec3"],e:!1},{a:"node_out",c:"DC",f:["vec3"],e:!1},{a:"node_out",c:"DD",f:["float"],e:!0}],j:[{a:"txt",b:"DC = normalize ( DA ) ;".split(" ")},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_DD"],j:[{a:"txt",b:"DD = length ( DA ) ;".split(" ")}]}]},{a:"txt",b:["DB",";"]}]},{a:"node",c:"B4W_REFLECT",m:[],l:[{a:"node_in",c:"DH",f:["vec3"],e:!1},{a:"node_in",c:"DI",f:["vec3"],e:!1},{a:"node_out",c:"DJ",
  2253. f:["vec3"],e:!1}],j:[{a:"txt",b:"DJ = reflect ( T ( u_view_tsr_inverse , DH ) , DI ) ;".split(" ")}]},{a:"node",c:"B4W_REFLECT_WORLD",m:[],l:[{a:"node_in",c:"DK",f:["vec3"],e:!1},{a:"node_out",c:"DL",f:["vec3"],e:!1}],j:[{a:"txt",b:"vec3 EY = - nI . xyz ; DL = reflect ( EY , DK ) ;".split(" ")}]},{a:"node",c:"B4W_PARALLAX",m:[],l:[{a:"node_in",c:"DM",f:["vec3"],e:!1},{a:"node_in",c:"DN",f:["float"],e:!1},{a:"node_in",c:"DO",f:["const","float"],e:!1},{a:"node_in",c:"DP",f:["const","float"],e:!1},{a:"node_out",
  2254. c:"DQ",f:["vec3"],e:!1},{a:"node_param",c:"node_B4W_PARALLAX_var_texture",f:["uniform","sampler2D"],e:!1}],j:[{a:"txt",b:"float bp = length ( rn ) ; if ( bp < DP ) { vec2 bE = qQ ( DM ) ; float bI = clamp ( _0_5 * ( DP - bp ) , _0_0 , _1_0 ) ; float hk = DN * bI ; vec3 bK = normalize ( nI * rm ) ; float bL = _1_0 / DO ; vec2 bM = bK . xy * hk / ( DO * bK . z ) ; float bN = _1_0 ; float bO = GLSL_TEXTURE ( node_B4W_PARALLAX_var_texture , bE ) . a ; for ( float bQ = 1.0 ; bQ <= DO ; bQ ++ ) { if ( bO < bN ) { bN -= bL ; bE -= bM ; bO = GLSL_TEXTURE ( node_B4W_PARALLAX_var_texture , bE ) . a ; } } vec2 bR = bE + bM ; float bS = GLSL_TEXTURE ( node_B4W_PARALLAX_var_texture , bR ) . a - ( bN + bL ) ; float bT = bO - bN ; float bU = bT / ( bT - bS ) ; bE = bU * bR + ( _1_0 - bU ) * bE ; DQ = qP ( bE ) ; } else DQ = DM ;".split(" ")}]},
  2255. {a:"node",c:"B4W_CLAMP",m:[],l:[{a:"node_in",c:"DR",f:["vec3"],e:!1},{a:"node_out",c:"DS",f:["vec3"],e:!1}],j:[{a:"txt",b:"DS = clamp ( DR , _0_0 , _1_0 ) ;".split(" ")}]},{a:"node",c:"B4W_REFRACTION",m:[],l:[{a:"node_in",c:"DT",f:["vec3"],e:!1},{a:"node_in",c:"DU",f:["float"],e:!1},{a:"node_out",c:"DV",f:["vec3"],e:!1}],j:[{a:"txt",b:["DV","=","DT",";"]}]},{a:"node",c:"B4W_TRANSLUCENCY",m:[],l:[{a:"node_in",c:"DW",f:["float"],e:!1},{a:"node_in",c:"DX",f:["float"],e:!1},{a:"node_in",c:"DY",f:["float"],
  2256. e:!1},{a:"node_in",c:"DZ",f:["float"],e:!1},{a:"node_in",c:"D_",f:["float"],e:!1},{a:"node_out",c:"Ea",f:["float"],e:!0},{a:"node_out",c:"Eb",f:["vec4"],e:!0}],j:[{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_Ea"],j:[{a:"txt",b:["Ea","=","DW",";"]}]}]},{a:"node_cond",d:[{a:"node_if",g:["USE_OUT_Eb"],j:[{a:"txt",b:"Eb = vec4 ( DX , DY , DZ , D_ ) ;".split(" ")}]}]}]},{a:"node",c:"B4W_TIME",m:[],l:[{a:"node_out",c:"Ec",f:["float"],e:!1}],j:[{a:"txt",b:["Ec","=","u_time",";"]}]},{a:"node",c:"B4W_SMOOTHSTEP",
  2257. m:[],l:[{a:"node_in",c:"Ed",f:["float"],e:!1},{a:"node_in",c:"Ee",f:["float"],e:!1},{a:"node_in",c:"Ef",f:["float"],e:!1},{a:"node_out",c:"Eg",f:["float"],e:!1}],j:[{a:"txt",b:"Eg = smoothstep ( Ee , Ef , Ed ) ;".split(" ")}]},{a:"node",c:"B4W_GLOW_OUTPUT",m:[],l:[{a:"node_in",c:"Eh",f:["vec3"],e:!1},{a:"node_in",c:"Ei",f:["float"],e:!1}],j:[{a:"txt",b:"D = Eh ; H = Ei ;".split(" ")}]},{a:"node",c:"B4W_VECTOSCAL",m:[],l:[{a:"node_in",c:"Ej",f:["vec3"],e:!1},{a:"node_out",c:"Ek",f:["float"],e:!1}],
  2258. j:[{a:"txt",b:"Ek = ( Ej . r + Ej . g + Ej . b ) / 3.0 ;".split(" ")}]},{a:"node",c:"B4W_SCALTOVEC",m:[],l:[{a:"node_in",c:"El",f:["float"],e:!1},{a:"node_out",c:"Em",f:["vec3"],e:!1}],j:[{a:"txt",b:"Em [ 0 ] = El ; Em [ 1 ] = El ; Em [ 2 ] = El ;".split(" ")}]},{a:"nodes_global"},{a:"txt",b:"void I ( in vec3 nI , out vec3 D , out vec3 E , out vec3 F , out vec4 G , out float H ) { D = vec3 ( _0_0 ) ; E = vec3 ( _0_0 ) ; F = vec3 ( _0_0 ) ; G = vec4 ( _0_0 ) ; H = _0_0 ;".split(" ")},{a:"cond",d:[{a:"if",
  2259. g:["USE_NODE_MATERIAL_BEGIN","USE_NODE_GEOMETRY_NO","CAUSTICS","CALC_TBN_SPACE","USE_NODE_TEX_COORD_NO","USE_NODE_NORMAL_MAP","USE_NODE_BSDF_BEGIN","USE_NODE_FRESNEL","USE_NODE_TEX_COORD_RE","USE_NODE_LAYER_WEIGHT","USE_NODE_BUMP",{a:"logical_or_expr",i:11}],h:{a:"grp",d:[{a:"txt",b:"vec3 P = normalize ( j ) ; vec3 bF = P ;".split(" ")},{a:"cond",d:[{a:"if",g:["DOUBLE_SIDED_LIGHTING","USE_NODE_GEOMETRY_NO",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["REFLECTION_PASS","REFL_PASS_PLANE",
  2260. {a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"if ( gl_FrontFacing == false )".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:["if","(","gl_FrontFacing",")"]}]}}]},{a:"txt",b:"bF = bF ; else bF = - bF ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["DOUBLE_SIDED_LIGHTING"],h:{a:"grp",d:[{a:"txt",b:["vec3","nH","=","bF",";"]}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:["vec3","nH","=","P",";"]}]}}]},{a:"cond",d:[{a:"if",g:["USE_NODE_GEOMETRY_NO"],h:{a:"grp",d:[{a:"txt",b:["vec3","rl","=","bF",";"]}]}}]}]}}]},
  2261. {a:"cond",d:[{a:"if",g:["CALC_TBN_SPACE"],h:{a:"grp",d:[{a:"txt",b:"vec3 R = cross ( bF , k . xyz ) * k . w ; R = normalize ( R ) ; vec3 Q = cross ( R , bF ) * k . w ; mat3 rm = mat3 ( Q , R , bF ) ;".split(" ")}]}}]},{a:"txt",b:"vec3 nG = h ; vec4 rn = i ; float ro = u_emit ; float rp = u_ambient ;".split(" ")},{a:"nodes_main"},{a:"txt",b:["}"]}]}}]}]};a["include/particles_nodes.glslv"]={a:"grp",d:[{a:"cond",d:[{a:"ifndef",c:"PARTICLES_NODES_GLSLV",h:{a:"grp",d:[{a:"define",c:"PARTICLES_NODES_GLSLV",
  2262. b:[""]},{a:"node",c:"TEX_COORD_UV",m:[],l:[],j:[{a:"txt",b:["A","=","Fd",";"]}]},{a:"node",c:"UV_MERGED",m:[],l:[],j:[{a:"txt",b:["A","=","Fd",";"]}]},{a:"node",c:"UVMAP",m:[],l:[],j:[{a:"txt",b:["A","=","Fd",";"]}]},{a:"node",c:"GEOMETRY_UV",m:[],l:[],j:[{a:"txt",b:["A","=","Fd",";"]}]},{a:"node",c:"PARTICLE_INFO",m:[{a:"node_var",c:"PART_INFO_SIZE",b:["0"]},{a:"node_var",c:"PART_INFO_AGE",b:["0"]},{a:"node_var",c:"PART_INFO_LT",b:["0"]},{a:"node_var",c:"PART_INFO_LOC",b:["0"]},{a:"node_var",c:"PART_INFO_IND",
  2263. b:["0"]},{a:"node_var",c:"PART_INFO_VEL",b:["0"]},{a:"node_var",c:"PART_INFO_A_VEL",b:["0"]}],l:[{a:"node_param",c:"EK",f:["GLSL_OUT","vec4"],e:!0},{a:"node_param",c:"EL",f:["GLSL_OUT","vec3"],e:!0},{a:"node_param",c:"EM",f:["GLSL_OUT","vec3"],e:!0},{a:"node_param",c:"EN",f:["GLSL_OUT","vec3"],e:!0},{a:"node_param",c:"node_PARTICLE_INFO_var_a_p_indices",f:["GLSL_IN","float"],e:!0}],j:[{a:"node_cond",d:[{a:"node_if",g:["PART_INFO_SIZE"],j:[{a:"txt",b:"EK [ 3 ] = Fc ;".split(" ")}]}]},{a:"node_cond",
  2264. d:[{a:"node_if",g:["PART_INFO_AGE"],j:[{a:"txt",b:"EK [ 1 ] = Fb ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["PART_INFO_LT"],j:[{a:"txt",b:"EK [ 2 ] = Fe ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["PART_INFO_LOC"],j:[{a:"txt",b:["EL","=","EZ",";"]}]}]},{a:"node_cond",d:[{a:"node_if",g:["PART_INFO_IND"],j:[{a:"txt",b:"EK [ 0 ] = node_PARTICLE_INFO_var_a_p_indices ;".split(" ")}]}]},{a:"node_cond",d:[{a:"node_if",g:["PART_INFO_VEL"],j:[{a:"txt",b:["EM","=","E_",";"]}]}]},{a:"node_cond",
  2265. d:[{a:"node_if",g:["PART_INFO_A_VEL"],j:[{a:"txt",b:["EN","=","Fa",";"]}]}]}]},{a:"nodes_global"},{a:"txt",b:"void I ( in vec3 EZ , in vec3 E_ , in vec3 Fa , in float Fb , in float Fc , in vec2 Fd , in float Fe ) {".split(" ")},{a:"cond",d:[{a:"if",g:["USE_NODE_GEOMETRY_OR","USE_NODE_TEX_COORD_GE",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["A","=","Fd",";"]}]}}]},{a:"nodes_main"},{a:"txt",b:["}"]}]}}]}]};a["include/precision_statement.glslf"]={a:"grp",d:[{a:"cond",d:[{a:"ifndef",c:"PRECISION_STATEMENT_GLSLF",
  2266. h:{a:"grp",d:[{a:"define",c:"PRECISION_STATEMENT_GLSLF",b:[""]},{a:"var",c:"PRECISION",b:["highp"]},{a:"txt",b:["precision","PRECISION","float",";"]}]}}]}]};a["include/procedural.glslf"]={a:"grp",d:[{a:"cond",d:[{a:"ifndef",c:"PROCEDURAL_GLSLF",h:{a:"grp",d:[{a:"define",c:"PROCEDURAL_GLSLF",b:[""]},{a:"txt",b:"vec4 Ff ( vec4 x ) { return x - floor ( x * ( _1_0 / 289.0 ) ) * 289.0 ; } vec3 Ff ( vec3 x ) { return x - floor ( x * ( _1_0 / 289.0 ) ) * 289.0 ; } vec2 Ff ( vec2 x ) { return x - floor ( x * ( _1_0 / 289.0 ) ) * 289.0 ; } vec4 Fg ( vec4 x ) { return x - floor ( x * ( _1_0 / 7.0 ) ) * 7.0 ; } vec4 Fh ( vec4 x ) { return Ff ( ( 34.0 * x + 5.0 ) * x ) ; }".split(" ")},
  2267. {a:"define",c:"K",b:["0.142857142857"]},{a:"define",c:"K2",b:["0.0714285714285"]},{a:"define",c:"JITTER",b:["0.7"]},{a:"txt",b:"vec2 eW ( vec2 Fi ) { vec2 Fj = Ff ( floor ( Fi ) ) ; vec2 Fk = fract ( Fi ) ; vec4 Fl = Fk . x + vec4 ( - 0.5 , - 1.5 , - 0.5 , - 1.5 ) ; vec4 Fm = Fk . y + vec4 ( - 0.5 , - 0.5 , - 1.5 , - 1.5 ) ; vec4 p = Fh ( Fj . x + vec4 ( _0_0 , _1_0 , _0_0 , _1_0 ) ) ; p = Fh ( p + Fj . y + vec4 ( _0_0 , _0_0 , _1_0 , _1_0 ) ) ; vec4 Fn = Fg ( p ) * K + K2 ; vec4 Fo = Fg ( floor ( p * K ) ) * K + K2 ; vec4 Fp = Fl + JITTER * Fn ; vec4 Fq = Fm + JITTER * Fo ; vec4 df = Fp * Fp + Fq * Fq ;".split(" ")},
  2268. {a:"cond",d:[{a:"if",g:[1],h:{a:"grp",d:[{a:"txt",b:"df . xy = min ( df . xy , df . zw ) ; df . x = min ( df . x , df . y ) ; return df . xx ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"df . xy = ( df . x < df . y ) ? df . xy : df . yx ; df . xz = ( df . x < df . z ) ? df . xz : df . zx ; df . xw = ( df . x < df . w ) ? df . xw : df . wx ; df . y = min ( df . y , df . z ) ; df . y = min ( df . y , df . w ) ; return sqrt ( df . xy ) ;".split(" ")}]}}]},{a:"txt",b:"} vec3 kp ( vec2 Fi , float Fr ) { vec2 Fj = Ff ( floor ( Fi ) ) ; vec2 Fk = fract ( Fi ) ; vec4 Fl = Fk . x + vec4 ( - 0.5 , - 1.5 , - 0.5 , - 1.5 ) ; vec4 Fm = Fk . y + vec4 ( - 0.5 , - 0.5 , - 1.5 , - 1.5 ) ; vec4 p = Fh ( Fj . x + vec4 ( _0_0 , _1_0 , _0_0 , _1_0 ) ) ; p = Fh ( p + Fj . y + vec4 ( _0_0 , _0_0 , _1_0 , _1_0 ) ) ; vec4 Fn = Fg ( p ) * K + K2 ; vec4 Fo = Fg ( floor ( p * K ) ) * K + K2 ; vec4 Fp = Fl + JITTER * Fn ; vec4 Fq = Fm + JITTER * Fo ; vec4 Fs = Fp * Fp + Fq * Fq ; Fp += Fr ; Fq += Fr ; vec4 Ft = Fp * Fp + Fq * Fq ; Fp += Fr ; Fq += Fr ; vec4 Fu = Fp * Fp + Fq * Fq ; Fs . xy = min ( Fs . xy , Fs . zw ) ; Fs . x = min ( Fs . x , Fs . y ) ; Ft . xy = min ( Ft . xy , Ft . zw ) ; Ft . x = min ( Ft . x , Ft . y ) ; Fu . xy = min ( Fu . xy , Fu . zw ) ; Fu . x = min ( Fu . x , Fu . y ) ; return vec3 ( Fs . x , Ft . x , Fu . x ) ; } vec3 Fv ( vec3 x ) { return Ff ( ( ( x * 34.0 ) + _1_0 ) * x ) ; } float eL ( vec2 ki ) { const vec4 Fw = vec4 ( 0.211324865405187 , 0.366025403784439 , - 0.577350269189626 , 0.024390243902439 ) ; vec2 bQ = floor ( ki + dot ( ki , Fw . yy ) ) ; vec2 Fx = ki - bQ + dot ( bQ , Fw . xx ) ; vec2 Fy ; Fy = ( Fx . x > Fx . y ) ? vec2 ( _1_0 , _0_0 ) : vec2 ( _0_0 , _1_0 ) ; vec4 Fz = Fx . xyxy + Fw . xxzz ; Fz . xy -= Fy ; bQ = Ff ( bQ ) ; vec3 p = Fv ( Fv ( bQ . y + vec3 ( _0_0 , Fy . y , _1_0 ) ) + bQ . x + vec3 ( _0_0 , Fy . x , _1_0 ) ) ; vec3 ap = max ( 0.5 - vec3 ( dot ( Fx , Fx ) , dot ( Fz . xy , Fz . xy ) , dot ( Fz . zw , Fz . zw ) ) , _0_0 ) ; ap = ap * ap ; ap = ap * ap ; vec3 x = 2.0 * fract ( p * Fw . www ) - _1_0 ; vec3 bO = abs ( x ) - 0.5 ; vec3 Fn = floor ( x + 0.5 ) ; vec3 FA = x - Fn ; ap *= 1.79284291400159 - 0.85373472095314 * ( FA * FA + bO * bO ) ; vec3 g ; g . x = FA . x * Fx . x + bO . x * Fx . y ; g . yz = FA . yz * Fz . xz + bO . yz * Fz . yw ; return 130.0 * dot ( ap , g ) ; } vec2 FD ( vec2 fm ) { float Fs = dot ( fm , vec2 ( 12.9898 , 78.233 ) ) ; float Ft = dot ( fm , vec2 ( 12.9898 , 78.233 ) * 2.0 ) ; float FB = fract ( sin ( Fs ) * 43758.5453 ) * 2.0 - _1_0 ; float FC = fract ( sin ( Ft ) * 43758.5453 ) * 2.0 - _1_0 ; return vec2 ( FB , FC ) ; }".split(" ")}]}}]}]};
  2269. a["include/refraction.glslf"]={a:"grp",d:[{a:"cond",d:[{a:"ifndef",c:"REFRACTION_GLSLF",h:{a:"grp",d:[{a:"define",c:"REFRACTION_GLSLF",b:[""]},{a:"var",c:"REFRACTIVE",b:["0"]},{a:"var",c:"USE_REFRACTION_CORRECTION",b:["0"]},{a:"cond",d:[{a:"if",g:["REFRACTIVE"],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["USE_REFRACTION_CORRECTION"],h:{a:"grp",d:[{a:"include",o:"pack.glslf"}]}}]},{a:"include",o:"color_util.glslf"},{a:"cond",d:[{a:"if",g:["USE_REFRACTION_CORRECTION"],h:{a:"grp",d:[{a:"txt",b:"float el ( in float cw , inout vec2 ek , in vec2 dU ) { vec4 FE = GLSL_TEXTURE ( u_scene_depth , ek ) ; float em = cv ( FE ) ; if ( em < m ) { ek = dU ; return cw ; } else { return em ; } return cw ; }".split(" ")}]}}]},
  2270. {a:"txt",b:"vec3 cs ( in vec3 qy , in vec2 FF ) { vec2 dU = qy . xy / qy . z ; vec2 ek = dU + FF ;".split(" ")},{a:"cond",d:[{a:"if",g:["USE_REFRACTION_CORRECTION"],h:{a:"grp",d:[{a:"txt",b:"vec4 cu = GLSL_TEXTURE_PROJ ( u_scene_depth , qy ) ; float cw = cv ( cu ) ; el ( cw , ek , dU ) ;".split(" ")}]}}]},{a:"txt",b:"vec3 eq = GLSL_TEXTURE ( u_refractmap , ek ) . rgb ; bY ( eq ) ; return eq ; }".split(" ")}]}}]}]}}]}]};a["include/scale_texcoord.glslv"]={a:"grp",d:[{a:"cond",d:[{a:"ifndef",c:"SCALE_TEXCOORD_GLSLV",
  2271. h:{a:"grp",d:[{a:"define",c:"SCALE_TEXCOORD_GLSLV",b:[""]},{a:"txt",b:"vec2 ao ( vec2 bE , vec3 FG ) { return ( bE + 0.5 ) * FG . xy - 0.5 ; }".split(" ")}]}}]}]};a["include/shadow.glslf"]={a:"grp",d:[{a:"cond",d:[{a:"ifndef",c:"SHADOW_GLSLF",h:{a:"grp",d:[{a:"define",c:"SHADOW_GLSLF",b:[""]},{a:"var",c:"PRECISION",b:["highp"]},{a:"var",c:"SHADOW_TEX_RES",b:["2048.0"]},{a:"var",c:"CSM_FADE_LAST_CASCADE",b:["0"]},{a:"var",c:"CSM_BLEND_BETWEEN_CASCADES",b:["0"]},{a:"var",c:"SHADOW_USAGE",b:["NO_SHADOWS"]},
  2272. {a:"var",c:"NUM_CAST_LAMPS",b:["0"]},{a:"var",c:"CSM_SECTION1",b:["0"]},{a:"var",c:"CSM_SECTION2",b:["0"]},{a:"var",c:"CSM_SECTION3",b:["0"]},{a:"var",c:"COMPARED_MODE",b:["0"]},{a:"var",c:"POISSON_DISK_NUM",b:["NO_SOFT_SHADOWS"]},{a:"include",o:"std.glsl"},{a:"cond",d:[{a:"if",g:["SHADOW_USAGE","SHADOW_MASK_GENERATION",{a:"equal_expr",i:2},"SHADOW_USAGE","SHADOW_MAPPING_BLEND",{a:"equal_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"include",o:"procedural.glslf"}]}}]},{a:"cond",d:[{a:"if",
  2273. g:["SHADOW_USAGE","SHADOW_MASK_GENERATION",{a:"equal_expr",i:2},"SHADOW_USAGE","SHADOW_MAPPING_BLEND",{a:"equal_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"const float FH = 0.1 ; const float FI = 0.1 ; const float FJ = - 0.01 ; const float FK = 0.05 ;".split(" ")},{a:"cond",d:[{a:"if",g:["POISSON_DISK_NUM","POISSON_X_16",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec4 FL = vec4 ( 0.14383161 , 0.34495938 , - 0.38277543 , - 0.26496911 ) ; vec4 FM = vec4 ( 0.53742981 , 0.19984126 , 0.79197514 , - 0.094184101 ) ; vec4 FN = vec4 ( - 0.94201624 , - 0.91588581 , - 0.2418884 , 0.44323325 ) ; vec4 FO = vec4 ( - 0.81544232 , 0.94558609 , - 0.81409955 , 0.97484398 ) ; vec4 FP = vec4 ( - 0.1410079 , 0.2938776 , 0.27676845 , - 0.41893023 ) ; vec4 FQ = vec4 ( - 0.4737342 , 0.78641367 , 0.19090188 , - 0.9293887 ) ; vec4 FR = vec4 ( - 0.39906216 , 0.45771432 , 0.99706507 , - 0.97511554 ) ; vec4 FS = vec4 ( - 0.87912464 , - 0.76890725 , 0.9143759 , 0.7564837 ) ;".split(" ")}]}},
  2274. {a:"elif",g:["POISSON_DISK_NUM","POISSON_X_8",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec2 FL = vec2 ( - 0.37192261 , 0.47109537 ) ; vec2 FM = vec2 ( - 0.6807477 , 0.69048062 ) ; vec2 FN = vec2 ( 0.11615683 , - 0.91318524 ) ; vec2 FO = vec2 ( 0.93688596 , - 0.16948928 ) ; vec2 FP = vec2 ( - 0.89699117 , 0.74092316 ) ; vec2 FQ = vec2 ( 0.38263656 , - 0.66119884 ) ; vec2 FR = vec2 ( - 0.08193062 , - 0.21275223 ) ; vec2 FS = vec2 ( 0.05578877 , 0.84225623 ) ;".split(" ")}]}},{a:"elif",g:["POISSON_DISK_NUM",
  2275. "POISSON_X_4",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec2 FL = vec2 ( - 0.51808083 , 0.0 ) ; vec2 FM = vec2 ( 0.5741194 , 0.0 ) ; vec2 FN = vec2 ( - 0.68048857 , 0.0 ) ; vec2 FO = vec2 ( 0.82934988 , 0.0 ) ; vec2 FP = vec2 ( 0.70009436 , 0.0 ) ; vec2 FQ = vec2 ( - 0.78790467 , 0.0 ) ; vec2 FR = vec2 ( - 0.58619489 , 0.0 ) ; vec2 FS = vec2 ( 0.41902178 , 0.0 ) ;".split(" ")}]}}]},{a:"txt",b:"bool FU ( vec2 hZ , float FT ) { return all ( lessThanEqual ( hZ , vec2 ( 1.0 + FT ) ) ) && all ( greaterThanEqual ( hZ , vec2 ( 0.0 - FT ) ) ) ; } float Ga ( float FV , float FW , mat2 FX , vec3 FY , float FZ , PRECISION GLSL_SMPLR2D_SHDW F_ ) {".split(" ")},
  2276. {a:"cond",d:[{a:"if",g:["POISSON_DISK_NUM","NO_SOFT_SHADOWS",{a:"non_equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec2 hZ , eY ; eY . x = FV ; eY . y = FW ; eY = FX * eY ; hZ = FY . xy + eY * FZ / SHADOW_TEX_RES ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"vec2 hZ = FY . xy ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["CSM_SECTION1",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"txt",b:"if ( ! FU ( hZ , FJ ) ) return 1.0 ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["COMPARED_MODE"],h:{a:"grp",
  2277. d:[{a:"txt",b:"return GLSL_TEXTURE ( F_ , vec3 ( hZ , FY . z ) ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"return step ( FY . z , GLSL_TEXTURE ( F_ , hZ ) . r ) ;".split(" ")}]}}]},{a:"txt",b:"} float Gf ( vec3 FY , PRECISION GLSL_SMPLR2D_SHDW F_ , float FZ ) { float Gb = 0.0 ; FY . z = clamp ( FY . z , 0.0 , 1.0 ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["POISSON_DISK_NUM","NO_SOFT_SHADOWS",{a:"non_equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"float Gc = FD ( FY . xy ) . x * M_PI ; float Gd = cos ( Gc ) ; float Ge = sin ( Gc ) ; mat2 FX = mat2 ( Gd , Ge , - Ge , Gd ) ; for ( int bQ = 0 ; bQ < POISSON_DISK_NUM ; bQ ++ ) { Gb += Ga ( FL [ bQ ] , FP [ bQ ] , FX , FY , FZ , F_ ) ; Gb += Ga ( FM [ bQ ] , FQ [ bQ ] , FX , FY , FZ , F_ ) ; Gb += Ga ( FN [ bQ ] , FR [ bQ ] , FX , FY , FZ , F_ ) ; Gb += Ga ( FO [ bQ ] , FS [ bQ ] , FX , FY , FZ , F_ ) ; } return clamp ( Gb / ( float ( POISSON_DISK_NUM ) * 4.0 ) , 0.0 , 1.0 ) ;".split(" ")}]}},
  2278. {a:"else",h:{a:"grp",d:[{a:"txt",b:"return Ga ( 0.0 , 0.0 , mat2 ( 0.0 ) , FY , FZ , F_ ) ;".split(" ")}]}}]},{a:"txt",b:"} float Go ( vec3 Gg , PRECISION GLSL_SMPLR2D_SHDW Gh , vec3 Gi , PRECISION GLSL_SMPLR2D_SHDW Gj , float Gk , float Gl , float aB ) { float Gm , Gn ; Gg . z = clamp ( Gg . z , 0.0 , 1.0 ) ; Gi . z = clamp ( Gi . z , 0.0 , 1.0 ) ; Gm = 0.0 ; Gn = 0.0 ;".split(" ")},{a:"cond",d:[{a:"if",g:["POISSON_DISK_NUM","NO_SOFT_SHADOWS",{a:"non_equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"float Gc = FD ( Gg . xy ) . x * M_PI ; float Gd = cos ( Gc ) ; float Ge = sin ( Gc ) ; mat2 FX = mat2 ( Gd , Ge , - Ge , Gd ) ; for ( int bQ = 0 ; bQ < POISSON_DISK_NUM ; bQ ++ ) { Gm += Ga ( FL [ bQ ] , FP [ bQ ] , FX , Gg , Gk , Gh ) ; Gm += Ga ( FM [ bQ ] , FQ [ bQ ] , FX , Gg , Gk , Gh ) ; Gm += Ga ( FN [ bQ ] , FR [ bQ ] , FX , Gg , Gk , Gh ) ; Gm += Ga ( FO [ bQ ] , FS [ bQ ] , FX , Gg , Gk , Gh ) ; } for ( int bQ = 0 ; bQ < POISSON_DISK_NUM ; bQ ++ ) { Gn += Ga ( FL [ bQ ] , FP [ bQ ] , FX , Gi , Gl , Gj ) ; Gn += Ga ( FM [ bQ ] , FQ [ bQ ] , FX , Gi , Gl , Gj ) ; Gn += Ga ( FN [ bQ ] , FR [ bQ ] , FX , Gi , Gl , Gj ) ; Gn += Ga ( FO [ bQ ] , FS [ bQ ] , FX , Gi , Gl , Gj ) ; } Gm = mix ( Gm , Gn , aB ) ; Gm /= ( float ( POISSON_DISK_NUM ) * 4.0 ) ;".split(" ")}]}},
  2279. {a:"else",h:{a:"grp",d:[{a:"txt",b:"Gm += Ga ( 0.0 , 0.0 , mat2 ( 0.0 ) , Gg , Gk , Gh ) ; Gn += Ga ( 0.0 , 0.0 , mat2 ( 0.0 ) , Gi , Gl , Gj ) ; Gm = mix ( Gm , Gn , aB ) ;".split(" ")}]}}]},{a:"txt",b:"return clamp ( Gm , 0.0 , 1.0 ) ; } float Gp ( vec2 hZ ) { float a = min ( hZ . x , hZ . y ) ; float b = min ( 1.0 - hZ . x , 1.0 - hZ . y ) ; return min ( a , b ) ; } float Gr ( float tv , float Gq ) { if ( Gq >= 0.0 && Gq <= FI ) tv = ( tv - 1.0 ) / FI * Gq + 1.0 ; return tv ; } float Gw ( vec3 Gs , vec3 Gt , PRECISION GLSL_SMPLR2D_SHDW Gh , PRECISION GLSL_SMPLR2D_SHDW Gj , float Gk , float Gl , float Gu , float fN ) { float tv ;".split(" ")},
  2280. {a:"cond",d:[{a:"if",g:["CSM_BLEND_BETWEEN_CASCADES"],h:{a:"grp",d:[{a:"txt",b:"float Gq = Gp ( Gs . xy ) ; if ( - fN > Gu && Gq >= 0.0 && Gq <= FH && FU ( Gt . xy , 0.0 ) ) { float Gv = 1.0 - Gq / FH ; tv = Go ( Gs , Gh , Gt , Gj , Gk , Gl , Gv ) ; } else".split(" ")}]}}]},{a:"txt",b:"tv = Gf ( Gs , Gh , Gk ) ; return tv ; } float Gy ( vec3 Gx , PRECISION GLSL_SMPLR2D_SHDW F_ , float FZ , float Gu , float fN ) { float tv = Gf ( Gx , F_ , FZ ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["CSM_FADE_LAST_CASCADE"],
  2281. h:{a:"grp",d:[{a:"txt",b:"if ( - fN > Gu ) { float Gq = Gp ( Gx . xy ) ; tv = Gr ( tv , Gq ) ; }".split(" ")}]}}]},{a:"txt",b:"return tv ; } vec4 dD ( float fN ) { float tv = 1.0 ;".split(" ")},{a:"cond",d:[{a:"if",g:["POISSON_DISK_NUM","NO_SOFT_SHADOWS",{a:"non_equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["vec4","Gz","=","u_pcf_blur_radii",";"]}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"vec4 Gz = vec4 ( 0.0 ) ;".split(" ")}]}}]},{a:"txt",b:"vec3 Gg = n . xyz / n . w ; if ( n . w < 0.0 ) Gg . z = 0.0 ;".split(" ")},
  2282. {a:"cond",d:[{a:"if",g:["CSM_SECTION1","NUM_CAST_LAMPS",1,{a:"g_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec3 Gi = o . xyz / o . w ; if ( o . w < 0.0 ) Gi . z = 0.0 ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["CSM_SECTION2","NUM_CAST_LAMPS",2,{a:"g_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec3 GA = u . xyz / u . w ; if ( u . w < 0.0 ) GA . z = 0.0 ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["CSM_SECTION3","NUM_CAST_LAMPS",3,{a:"g_expr",i:2},{a:"logical_or_expr",
  2283. i:2}],h:{a:"grp",d:[{a:"txt",b:"vec3 GB = v . xyz / v . w ; if ( v . w < 0.0 ) GB . z = 0.0 ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["CSM_SECTION1"],h:{a:"grp",d:[{a:"txt",b:"if ( FU ( Gg . xy , 0.0 ) ) { tv = Gw ( Gg , Gi , u_shadow_map0 , u_shadow_map1 , Gz [ 0 ] , Gz [ 1 ] , u_csm_center_dists [ 0 ] , fN ) ; }".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"if ( FU ( Gg . xy , FK ) ) { tv = Gy ( Gg , u_shadow_map0 , Gz [ 0 ] , u_csm_center_dists [ 0 ] , fN ) ; }".split(" ")}]}}]},{a:"cond",
  2284. d:[{a:"if",g:["CSM_SECTION1"],h:{a:"grp",d:[{a:"txt",b:"else { if ( FU ( Gi . xy , 0.0 ) ) {".split(" ")},{a:"cond",d:[{a:"if",g:["CSM_SECTION2"],h:{a:"grp",d:[{a:"txt",b:"tv = Gw ( Gi , GA , u_shadow_map1 , u_shadow_map2 , Gz [ 1 ] , Gz [ 2 ] , u_csm_center_dists [ 1 ] , fN ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"tv = Gy ( Gi , u_shadow_map1 , Gz [ 1 ] , u_csm_center_dists [ 1 ] , fN ) ;".split(" ")}]}}]},{a:"txt",b:["}"]},{a:"cond",d:[{a:"if",g:["CSM_SECTION2"],h:{a:"grp",d:[{a:"txt",
  2285. b:"else { if ( FU ( GA . xy , 0.0 ) ) {".split(" ")},{a:"cond",d:[{a:"if",g:["CSM_SECTION3"],h:{a:"grp",d:[{a:"txt",b:"tv = Gw ( GA , GB , u_shadow_map2 , u_shadow_map3 , Gz [ 2 ] , Gz [ 3 ] , u_csm_center_dists [ 2 ] , fN ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"tv = Gy ( GA , u_shadow_map2 , Gz [ 2 ] , u_csm_center_dists [ 2 ] , fN ) ;".split(" ")}]}}]},{a:"txt",b:["}"]},{a:"cond",d:[{a:"if",g:["CSM_SECTION3"],h:{a:"grp",d:[{a:"txt",b:"else { if ( FU ( GB . xy , 0.0 ) ) tv = Gy ( GB , u_shadow_map3 , Gz [ 3 ] , u_csm_center_dists [ 3 ] , fN ) ; }".split(" ")}]}}]},
  2286. {a:"txt",b:["}"]}]}}]},{a:"txt",b:["}"]}]}}]},{a:"cond",d:[{a:"if",g:["NUM_CAST_LAMPS",1,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"float GC = Gf ( Gi , u_shadow_map1 , Gz [ 0 ] ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:["float","GC","=","0.0",";"]}]}}]},{a:"cond",d:[{a:"if",g:["NUM_CAST_LAMPS",2,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"float GD = Gf ( GA , u_shadow_map2 , Gz [ 0 ] ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:["float","GD","=","0.0",";"]}]}}]},{a:"cond",
  2287. d:[{a:"if",g:["NUM_CAST_LAMPS",3,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"float GE = Gf ( GB , u_shadow_map3 , Gz [ 0 ] ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:["float","GE","=","1.0",";"]}]}}]},{a:"txt",b:"return vec4 ( tv , GC , GD , GE ) ; }".split(" ")}]}}]},{a:"txt",b:"vec4 ch ( inout vec3 cd ) {".split(" ")},{a:"cond",d:[{a:"if",g:["SHADOW_USAGE","SHADOW_MAPPING_OPAQUE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec4 Gb = GLSL_TEXTURE ( u_shadow_mask , l . xy / l . z ) ;".split(" ")},
  2288. {a:"cond",d:[{a:"if",g:["NUM_CAST_LAMPS",3,{a:"l_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"cd *= Gb . a ;".split(" ")}]}}]},{a:"txt",b:["return","Gb",";"]}]}},{a:"elif",g:["SHADOW_USAGE","SHADOW_MASK_GENERATION",{a:"equal_expr",i:2},"SHADOW_USAGE","SHADOW_MAPPING_BLEND",{a:"equal_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec4 Gb = dD ( i . z ) ; return Gb ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"return vec4 ( 1.0 ) ;".split(" ")}]}}]},{a:"txt",b:["}"]}]}}]}]};a["include/shadow.glslv"]=
  2289. {a:"grp",d:[{a:"cond",d:[{a:"ifndef",c:"SHADOW_GLSLV",h:{a:"grp",d:[{a:"define",c:"SHADOW_GLSLV",b:[""]},{a:"var",c:"MAC_OS_SHADOW_HACK",b:["0"]},{a:"var",c:"SHADOW_TEX_RES",b:["2048.0"]},{a:"var",c:"SHADOW_USAGE",b:["NO_SHADOWS"]},{a:"var",c:"NUM_CAST_LAMPS",b:["0"]},{a:"var",c:"CSM_SECTION1",b:["0"]},{a:"var",c:"CSM_SECTION2",b:["0"]},{a:"var",c:"CSM_SECTION3",b:["0"]},{a:"include",o:"std.glsl"},{a:"cond",d:[{a:"if",g:["SHADOW_USAGE","SHADOW_MASK_GENERATION",{a:"equal_expr",i:2},"SHADOW_USAGE",
  2290. "SHADOW_MAPPING_BLEND",{a:"equal_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"include",o:"math.glslv"},{a:"txt",b:"vec4 GI ( mat4 GF , vec4 GG , mat4 GH ) { vec2 dF = ( GF * GH [ 3 ] ) . xy ; float dG = SHADOW_TEX_RES / 2.0 ; dF = floor ( dF * dG + 0.5 ) / dG - dF ; vec4 FY = GF * GG ; FY . xy += dF ; FY . xyz = 0.5 * ( FY . xyz + FY . w ) ; return FY ; } void bD ( vec3 eD , vec3 GJ ) {".split(" ")},{a:"cond",d:[{a:"if",g:["MAC_OS_SHADOW_HACK"],h:{a:"grp",d:[{a:"txt",b:"mat4 GH = aR ( u_v_light_tsr [ 0 ] ) ;".split(" ")}]}},
  2291. {a:"else",h:{a:"grp",d:[{a:"txt",b:"mat4 GH = aR ( mat3 ( u_v_light_ts [ 0 ] , u_v_light_r [ 0 ] , 0.0 ) ) ;".split(" ")}]}}]},{a:"txt",b:"vec4 GK = GH * vec4 ( eD + u_normal_offset * GJ , 1.0 ) ; n = GI ( u_p_light_matrix0 , GK , GH ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["NUM_CAST_LAMPS",1,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["MAC_OS_SHADOW_HACK"],h:{a:"grp",d:[{a:"txt",b:"GH = aR ( u_v_light_tsr [ 1 ] ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"GH = aR ( mat3 ( u_v_light_ts [ 1 ] , u_v_light_r [ 1 ] , 0.0 ) ) ;".split(" ")}]}}]},
  2292. {a:"txt",b:"GK = GH * vec4 ( eD + u_normal_offset * GJ , 1.0 ) ; o = GI ( u_p_light_matrix1 , GK , GH ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["NUM_CAST_LAMPS",2,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["MAC_OS_SHADOW_HACK"],h:{a:"grp",d:[{a:"txt",b:"GH = aR ( u_v_light_tsr [ 2 ] ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"GH = aR ( mat3 ( u_v_light_ts [ 2 ] , u_v_light_r [ 2 ] , 0.0 ) ) ;".split(" ")}]}}]},{a:"txt",b:"GK = GH * vec4 ( eD + u_normal_offset * GJ , 1.0 ) ; u = GI ( u_p_light_matrix2 , GK , GH ) ;".split(" ")}]}}]},
  2293. {a:"cond",d:[{a:"if",g:["NUM_CAST_LAMPS",3,{a:"g_expr",i:2}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["MAC_OS_SHADOW_HACK"],h:{a:"grp",d:[{a:"txt",b:"GH = aR ( u_v_light_tsr [ 3 ] ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"GH = aR ( mat3 ( u_v_light_ts [ 3 ] , u_v_light_r [ 3 ] , 0.0 ) ) ;".split(" ")}]}}]},{a:"txt",b:"GK = GH * vec4 ( eD + u_normal_offset * GJ , 1.0 ) ; v = GI ( u_p_light_matrix3 , GK , GH ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["CSM_SECTION1"],h:{a:"grp",d:[{a:"txt",
  2294. b:"o = GI ( u_p_light_matrix1 , GK , GH ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["CSM_SECTION2"],h:{a:"grp",d:[{a:"txt",b:"u = GI ( u_p_light_matrix2 , GK , GH ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["CSM_SECTION3"],h:{a:"grp",d:[{a:"txt",b:"v = GI ( u_p_light_matrix3 , GK , GH ) ;".split(" ")}]}}]},{a:"txt",b:["}"]}]}}]}]}}]}]};a["include/skin.glslv"]={a:"grp",d:[{a:"cond",d:[{a:"ifndef",c:"SKIN_GLSLV",h:{a:"grp",d:[{a:"define",c:"SKIN_GLSLV",b:[""]},{a:"var",c:"DISABLE_TANGENT_SKINNING",
  2295. b:["0"]},{a:"var",c:"SKINNED",b:["0"]},{a:"var",c:"FRAMES_BLENDING",b:["0"]},{a:"cond",d:[{a:"if",g:["SKINNED"],h:{a:"grp",d:[{a:"include",o:"math.glslv"},{a:"define",c:"SKIN_SLERP",b:["0"]},{a:"cond",d:[{a:"if",g:["SKIN_SLERP"],h:{a:"grp",d:[{a:"txt",b:"vec4 GS ( in vec4 gI , in vec4 GL , in float GM ) { float GN = gI [ 0 ] * GL [ 0 ] + gI [ 1 ] * GL [ 1 ] + gI [ 2 ] * GL [ 2 ] + gI [ 3 ] * GL [ 3 ] ; if ( GN < 0.0 ) { GL *= - 1.0 ; GN = - GN ; } if ( abs ( GN ) >= 1.0 ) return gI ; float GO = acos ( GN ) ; float GP = sqrt ( 1.0 - GN * GN ) ; if ( abs ( GP ) < 0.001 ) return vec4 ( gI * 0.5 + GL * 0.5 ) ; float GQ = sin ( ( 1.0 - GM ) * GO ) / GP ; float GR = sin ( GM * GO ) / GP ; return gI * GQ + GL * GR ; }".split(" ")}]}}]},
  2296. {a:"cond",d:[{a:"if",g:["FRAMES_BLENDING"],h:{a:"grp",d:[{a:"txt",b:"vec3 Hf ( in vec3 N , in vec4 GT , in vec4 GU , in vec4 GV , in vec4 GW , in float GX ) { vec3 GY = ql ( u_arm_rel_trans , u_arm_rel_quat , N ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["SKIN_SLERP"],h:{a:"grp",d:[{a:"txt",b:"vec4 gI = GS ( GT , GU , GX ) ; vec4 GZ = mix ( GV , GW , GX ) ; vec3 G_ = O ( gI , GY ) ; vec3 Ha = G_ * GZ . w + GZ . xyz ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"vec3 Hb = O ( GT , GY ) ; vec3 Hc = O ( GU , GY ) ; vec3 Hd = Hb * GV . w + GV . xyz ; vec3 He = Hc * GW . w + GW . xyz ; vec3 Ha = mix ( Hd , He , GX ) ;".split(" ")}]}}]},
  2297. {a:"txt",b:"return qo ( u_arm_rel_trans , u_arm_rel_quat , Ha ) ; } vec3 Hl ( in vec3 Hg , in vec4 GT , in vec4 GU , in float GX ) { vec3 Hh = qn ( u_arm_rel_trans , u_arm_rel_quat , Hg ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["SKIN_SLERP"],h:{a:"grp",d:[{a:"txt",b:"vec4 gI = GS ( GT , GU , GX ) ; vec3 Hi = O ( gI , Hh ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"vec3 Hj = O ( GT , Hh ) ; vec3 Hk = O ( GU , Hh ) ; vec3 Hi = mix ( Hj , Hk , GX ) ;".split(" ")}]}}]},{a:"txt",b:"return qr ( u_arm_rel_trans , u_arm_rel_quat , Hi ) ; }".split(" ")}]}},
  2298. {a:"else",h:{a:"grp",d:[{a:"txt",b:"vec3 Hf ( in vec3 N , in vec4 GT , in vec4 GV ) { vec3 GY = ql ( u_arm_rel_trans , u_arm_rel_quat , N ) ; vec3 G_ = O ( GT , GY ) ; vec3 Ha = G_ * GV . w + GV . xyz ; return qo ( u_arm_rel_trans , u_arm_rel_quat , Ha ) ; } vec3 Hl ( in vec3 Hg , in vec4 GT ) { vec3 Hh = qn ( u_arm_rel_trans , u_arm_rel_quat , Hg ) ; vec3 Hi = O ( GT , Hh ) ; return qr ( u_arm_rel_trans , u_arm_rel_quat , Hi ) ; }".split(" ")}]}}]},{a:"txt",b:"void _ ( inout vec3 N , inout vec3 Q , inout vec3 R , inout vec3 P ) {".split(" ")},
  2299. {a:"cond",d:[{a:"if",g:["FRAMES_BLENDING"],h:{a:"grp",d:[{a:"txt",b:["float","Hm","=","u_frame_factor",";"]}]}}]},{a:"txt",b:"if ( a_influence . y > 0.0 ) { vec3 iU = vec3 ( 0.0 , 0.0 , 0.0 ) ; vec3 Hn = vec3 ( 0.0 , 0.0 , 0.0 ) ; vec3 Ho = vec3 ( 0.0 , 0.0 , 0.0 ) ; vec3 Hp = vec3 ( 0.0 , 0.0 , 0.0 ) ; vec4 Hq = a_influence ; for ( int bQ = 0 ; bQ < 4 ; bQ ++ ) { int Hr = int ( Hq [ bQ ] ) ; float Hs = fract ( Hq [ bQ ] ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["FRAMES_BLENDING"],h:{a:"grp",d:[{a:"txt",
  2300. b:"Hn += Hs * Hl ( Q , u_quatsb [ Hr ] , u_quatsa [ Hr ] , Hm ) ; Ho += Hs * Hl ( R , u_quatsb [ Hr ] , u_quatsa [ Hr ] , Hm ) ; Hp += Hs * Hl ( P , u_quatsb [ Hr ] , u_quatsa [ Hr ] , Hm ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"iU += Hs * Hf ( N , u_quatsb [ Hr ] , u_transb [ Hr ] ) ; Hp += Hs * Hl ( P , u_quatsb [ Hr ] ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["DISABLE_TANGENT_SKINNING",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"txt",b:"Hn += Hs * Hl ( Q , u_quatsb [ Hr ] ) ; Ho += Hs * Hl ( R , u_quatsb [ Hr ] ) ;".split(" ")}]}}]}]}}]},
  2301. {a:"txt",b:["}"]},{a:"cond",d:[{a:"if",g:["FRAMES_BLENDING"],h:{a:"grp",d:[{a:"txt",b:"int Hr = int ( Hq [ 0 ] ) ; float Hs = fract ( Hq [ 0 ] ) ; iU += Hs * Hf ( N , u_quatsb [ Hr ] , u_quatsa [ Hr ] , u_transb [ Hr ] , u_transa [ Hr ] , Hm ) ; Hr = int ( Hq [ 1 ] ) ; Hs = fract ( Hq [ 1 ] ) ; iU += Hs * Hf ( N , u_quatsb [ Hr ] , u_quatsa [ Hr ] , u_transb [ Hr ] , u_transa [ Hr ] , Hm ) ; Hr = int ( Hq [ 2 ] ) ; Hs = fract ( Hq [ 2 ] ) ; iU += Hs * Hf ( N , u_quatsb [ Hr ] , u_quatsa [ Hr ] , u_transb [ Hr ] , u_transa [ Hr ] , Hm ) ; Hr = int ( Hq [ 3 ] ) ; Hs = fract ( Hq [ 3 ] ) ; iU += Hs * Hf ( N , u_quatsb [ Hr ] , u_quatsa [ Hr ] , u_transb [ Hr ] , u_transa [ Hr ] , Hm ) ;".split(" ")}]}}]},
  2302. {a:"txt",b:"N = iU ; P = Hp ;".split(" ")},{a:"cond",d:[{a:"if",g:["DISABLE_TANGENT_SKINNING",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"txt",b:"Q = Hn ; R = Ho ;".split(" ")}]}}]},{a:"txt",b:"} if ( ! ( a_influence . y > 0.0 ) ) { int Ht = int ( a_influence [ 0 ] - 1.0 ) ; if ( Ht > - 1 ) {".split(" ")},{a:"cond",d:[{a:"if",g:["FRAMES_BLENDING"],h:{a:"grp",d:[{a:"txt",b:"N = Hf ( N , u_quatsb [ Ht ] , u_quatsa [ Ht ] , u_transb [ Ht ] , u_transa [ Ht ] , Hm ) ; Q = Hl ( Q , u_quatsb [ Ht ] , u_quatsa [ Ht ] , Hm ) ; R = Hl ( R , u_quatsb [ Ht ] , u_quatsa [ Ht ] , Hm ) ; P = Hl ( P , u_quatsb [ Ht ] , u_quatsa [ Ht ] , Hm ) ;".split(" ")}]}},
  2303. {a:"else",h:{a:"grp",d:[{a:"txt",b:"N = Hf ( N , u_quatsb [ Ht ] , u_transb [ Ht ] ) ; P = Hl ( P , u_quatsb [ Ht ] ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["DISABLE_TANGENT_SKINNING",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"txt",b:"Q = Hl ( Q , u_quatsb [ Ht ] ) ; R = Hl ( R , u_quatsb [ Ht ] ) ;".split(" ")}]}}]}]}}]},{a:"txt",b:["}","}","}"]}]}}]}]}}]}]};a["include/sky_blending.glslf"]={a:"grp",d:[{a:"cond",d:[{a:"ifndef",c:"SKY_BLENDING_GLSLF",h:{a:"grp",d:[{a:"define",c:"SKY_BLENDING_GLSLF",
  2304. b:[""]},{a:"include",o:"std.glsl"},{a:"include",o:"blending.glslf"},{a:"var",c:"WO_SKYREAL",b:["0"]},{a:"var",c:"WO_SKYBLEND",b:["0"]},{a:"var",c:"BLENDTYPE",b:["MIX"]},{a:"var",c:"MTEX_RGBTOINT",b:["0"]},{a:"var",c:"WOMAP_HORIZ",b:["0"]},{a:"var",c:"WOMAP_ZENUP",b:["0"]},{a:"var",c:"WOMAP_ZENDOWN",b:["0"]},{a:"var",c:"WOMAP_BLEND",b:["0"]},{a:"var",c:"MTEX_NEGATIVE",b:["0"]},{a:"txt",b:"vec3 Hu ( vec3 jB , vec3 jC , float aB , float ka ) { float jD = aB * ka ;".split(" ")},{a:"cond",d:[{a:"if",g:["BLENDTYPE",
  2305. "MIX",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"return jE ( jC , jB , jD ) ;".split(" ")}]}},{a:"elif",g:["BLENDTYPE","ADD",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"return jF ( jB , jC , jD ) ;".split(" ")}]}},{a:"elif",g:["BLENDTYPE","SUBTRACT",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"return jG ( jB , jC , jD ) ;".split(" ")}]}},{a:"elif",g:["BLENDTYPE","MULTIPLY",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"return jI ( jB , jC , jD ) ;".split(" ")}]}},{a:"elif",g:["BLENDTYPE",
  2306. "SCREEN",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"return jJ ( jB , jC , jD ) ;".split(" ")}]}},{a:"elif",g:["BLENDTYPE","OVERLAY",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"return jK ( jB , jC , jD ) ;".split(" ")}]}},{a:"elif",g:["BLENDTYPE","DIFFERENCE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"return jL ( jB , jC , jD ) ;".split(" ")}]}},{a:"elif",g:["BLENDTYPE","DIVIDE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"return jM ( jB , jC , jD ) ;".split(" ")}]}},{a:"elif",g:["BLENDTYPE",
  2307. "DARKEN",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"return jN ( jB , jC , jD ) ;".split(" ")}]}},{a:"elif",g:["BLENDTYPE","LIGHTEN",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"return jO ( jB , jC , jD ) ;".split(" ")}]}},{a:"elif",g:["BLENDTYPE","HUE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"return jS ( jC , jB , jD ) ;".split(" ")}]}},{a:"elif",g:["BLENDTYPE","SATURATION",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"return jT ( jC , jB , jD ) ;".split(" ")}]}},{a:"elif",g:["BLENDTYPE",
  2308. "VALUE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"return jU ( jC , jB , jD ) ;".split(" ")}]}},{a:"elif",g:["BLENDTYPE","COLOR",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"return jV ( jC , jB , jD ) ;".split(" ")}]}},{a:"elif",g:["BLENDTYPE","SOFT_LIGHT",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"return jX ( jC , jB , jD ) ;".split(" ")}]}},{a:"elif",g:["BLENDTYPE","LINEAR_LIGHT",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"return jY ( jC , jB , jD ) ;".split(" ")}]}}]},{a:"txt",
  2309. b:"return vec3 ( 1.0 , 0.0 , 1.0 ) ; } float Hv ( float jZ , float j_ , float aB , float ka ) { vec3 jB = vec3 ( jZ ) , jC = vec3 ( j_ ) ; float jD = aB * ka ;".split(" ")},{a:"cond",d:[{a:"if",g:["BLENDTYPE","MIX",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"return jE ( jC , jB , jD ) . x ;".split(" ")}]}},{a:"elif",g:["BLENDTYPE","ADD",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"return jF ( jB , jC , jD ) . x ;".split(" ")}]}},{a:"elif",g:["BLENDTYPE","SUBTRACT",{a:"equal_expr",i:2}],h:{a:"grp",
  2310. d:[{a:"txt",b:"return jG ( jB , jC , jD ) . x ;".split(" ")}]}},{a:"elif",g:["BLENDTYPE","MULTIPLY",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"return kb ( jZ , j_ , jD , ka ) ;".split(" ")}]}},{a:"elif",g:["BLENDTYPE","SCREEN",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"return kc ( jZ , j_ , jD , ka ) ;".split(" ")}]}},{a:"elif",g:["BLENDTYPE","OVERLAY",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"return kd ( jZ , j_ , jD , ka ) ;".split(" ")}]}},{a:"elif",g:["BLENDTYPE","DIFFERENCE",
  2311. {a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"return jL ( jB , jC , jD ) . x ;".split(" ")}]}},{a:"elif",g:["BLENDTYPE","DIVIDE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"return jM ( jB , jC , jD ) . x ;".split(" ")}]}},{a:"elif",g:["BLENDTYPE","DARKEN",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"return jN ( jB , jC , jD ) . x ;".split(" ")}]}},{a:"elif",g:["BLENDTYPE","LIGHTEN",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"return jO ( jB , jC , jD ) . x ;".split(" ")}]}},{a:"elif",
  2312. g:["BLENDTYPE","SOFT_LIGHT",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"return jX ( jC , jB , jD ) . x ;".split(" ")}]}},{a:"elif",g:["BLENDTYPE","LINEAR_LIGHT",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"return jY ( jC , jB , jD ) . x ;".split(" ")}]}}]},{a:"txt",b:"return 0.0 ; } vec3 dN ( vec3 dJ , vec3 dK , vec4 dM , float dI , vec3 dL ) { float Hw = 1.0 ; Hw = dM . a ;".split(" ")},{a:"cond",d:[{a:"if",g:["MTEX_RGBTOINT"],h:{a:"grp",d:[{a:"txt",b:"Hw = ft ( dM ) ;".split(" ")}]}}]},{a:"cond",
  2313. d:[{a:"if",g:["MTEX_NEGATIVE"],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["MTEX_RGBTOINT",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"txt",b:"dM = vec4 ( vec3 ( 1.0 ) - dM . rgb , dM . a ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"Hw = 1.0 - Hw ;".split(" ")}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["WOMAP_HORIZ","WOMAP_ZENUP","WOMAP_ZENDOWN",{a:"logical_or_expr",i:3}],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["MTEX_RGBTOINT"],h:{a:"grp",d:[{a:"txt",b:"dM = vec4 ( u_sky_tex_color , 1.0 ) ;".split(" ")}]}},
  2314. {a:"else",h:{a:"grp",d:[{a:"txt",b:"Hw = dM . a ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["WOMAP_HORIZ"],h:{a:"grp",d:[{a:"txt",b:"dJ = Hu ( dM . rgb , dJ , Hw , u_sky_tex_fac [ 1 ] ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["WOMAP_ZENUP","WOMAP_ZENDOWN",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:["float","Hx","=","0.0",";"]},{a:"cond",d:[{a:"if",g:["WO_SKYREAL"],h:{a:"grp",d:[{a:"txt",b:"if ( dot ( dL , vec3 ( 0.0 , 0.0 , 1.0 ) ) >= 0.0 ) {".split(" ")},{a:"cond",d:[{a:"if",g:["WOMAP_ZENUP"],
  2315. h:{a:"grp",d:[{a:"txt",b:"Hx = u_sky_tex_fac [ 2 ] ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:[";"]}]}}]},{a:"txt",b:["}"]},{a:"cond",d:[{a:"if",g:["WOMAP_ZENDOWN"],h:{a:"grp",d:[{a:"txt",b:"else Hx = u_sky_tex_fac [ 3 ] ;".split(" ")}]}}]}]}},{a:"else",h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["WOMAP_ZENUP"],h:{a:"grp",d:[{a:"txt",b:"Hx = u_sky_tex_fac [ 2 ] ;".split(" ")}]}},{a:"elif",g:["WOMAP_ZENDOWN"],h:{a:"grp",d:[{a:"txt",b:"Hx = u_sky_tex_fac [ 3 ] ;".split(" ")}]}}]}]}}]},{a:"txt",
  2316. b:"if ( Hx != 0.0 ) dK = Hu ( dM . rgb , dK , Hw , Hx ) ;".split(" ")}]}}]}]}}]},{a:"cond",d:[{a:"if",g:["WOMAP_BLEND"],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["MTEX_RGBTOINT",{a:"logic_negative_expr",i:1}],h:{a:"grp",d:[{a:"txt",b:"Hw = dot ( dM . rgb , vec3 ( 0.2126 , 0.7152 , 0.0722 ) ) ;".split(" ")}]}}]},{a:"txt",b:"dI = Hv ( u_sky_tex_dvar , dI , Hw , u_sky_tex_fac [ 0 ] ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["WO_SKYBLEND"],h:{a:"grp",d:[{a:"txt",b:"vec3 dH = mix ( dJ , dK , dI ) ;".split(" ")}]}},
  2317. {a:"else",h:{a:"grp",d:[{a:"txt",b:["vec3","dH","=","dJ",";"]}]}}]},{a:"txt",b:["return","dH",";","}"]}]}}]}]};a["include/std.glsl"]={a:"grp",d:[{a:"cond",d:[{a:"ifndef",c:"STD_ENUMS_GLSL",h:{a:"grp",d:[{a:"define",c:"STD_ENUMS_GLSL",b:[""]},{a:"var",c:"CONSTANTS_HACK",b:["0"]},{a:"define",c:"TEXTURE_COORDS_NONE",b:["0"]},{a:"define",c:"TEXTURE_COORDS_UV_ORCO",b:["1"]},{a:"define",c:"TEXTURE_COORDS_NORMAL",b:["2"]},{a:"define",c:"TEXTURE_BLEND_TYPE_MIX",b:["1"]},{a:"define",c:"TEXTURE_BLEND_TYPE_MULTIPLY",
  2318. b:["2"]},{a:"define",c:"SHADOW_SRC_NONE",b:["1"]},{a:"define",c:"SHADOW_SRC_DEPTH",b:["2"]},{a:"define",c:"SHADOW_SRC_MASK",b:["3"]},{a:"define",c:"SHADOW_DST_NONE",b:["1"]},{a:"define",c:"SHADOW_DST_DEPTH",b:["2"]},{a:"define",c:"SHADOW_DST_MASK",b:["3"]},{a:"define",c:"NO_SHADOWS",b:["1"]},{a:"define",c:"SHADOW_CASTING",b:["2"]},{a:"define",c:"SHADOW_MASK_GENERATION",b:["3"]},{a:"define",c:"SHADOW_MAPPING_OPAQUE",b:["4"]},{a:"define",c:"SHADOW_MAPPING_BLEND",b:["5"]},{a:"define",c:"POISSON_X_16",
  2319. b:["4"]},{a:"define",c:"POISSON_X_8",b:["2"]},{a:"define",c:"POISSON_X_4",b:["1"]},{a:"define",c:"NO_SOFT_SHADOWS",b:["0"]},{a:"define",c:"SPECULAR_PHONG",b:["1"]},{a:"define",c:"SPECULAR_COOKTORR",b:["2"]},{a:"define",c:"SPECULAR_WARDISO",b:["3"]},{a:"define",c:"SPECULAR_BLINN",b:["4"]},{a:"define",c:"SPECULAR_TOON",b:["5"]},{a:"define",c:"DIFFUSE_LAMBERT",b:["1"]},{a:"define",c:"DIFFUSE_OREN_NAYAR",b:["2"]},{a:"define",c:"DIFFUSE_FRESNEL",b:["3"]},{a:"define",c:"DIFFUSE_MINNAERT",b:["4"]},{a:"define",
  2320. c:"DIFFUSE_TOON",b:["5"]},{a:"define",c:"MIX",b:["0"]},{a:"define",c:"ADD",b:["1"]},{a:"define",c:"SUBTRACT",b:["2"]},{a:"define",c:"MULTIPLY",b:["3"]},{a:"define",c:"SCREEN",b:["4"]},{a:"define",c:"OVERLAY",b:["5"]},{a:"define",c:"DIFFERENCE",b:["6"]},{a:"define",c:"DIVIDE",b:["7"]},{a:"define",c:"DARKEN",b:["8"]},{a:"define",c:"LIGHTEN",b:["9"]},{a:"define",c:"HUE",b:["10"]},{a:"define",c:"SATURATION",b:["11"]},{a:"define",c:"VALUE",b:["12"]},{a:"define",c:"COLOR",b:["13"]},{a:"define",c:"SOFT_LIGHT",
  2321. b:["14"]},{a:"define",c:"LINEAR_LIGHT",b:["15"]},{a:"define",c:"REFL_NONE",b:["0"]},{a:"define",c:"REFL_MIRRORMAP",b:["1"]},{a:"define",c:"REFL_PLANE",b:["2"]},{a:"define",c:"REFL_CUBE",b:["3"]},{a:"define",c:"INVERSE_QUADRATIC",b:["0"]},{a:"define",c:"LINEAR",b:["1"]},{a:"define",c:"QUADRATIC",b:["2"]},{a:"define",c:"HEMI",b:["1"]},{a:"define",c:"SPOT",b:["2"]},{a:"define",c:"POINT",b:["3"]},{a:"define",c:"SUN",b:["4"]},{a:"define",c:"DOF_SIMPLE",b:["0"]},{a:"define",c:"DOF_BOKEH",b:["1"]},{a:"define",
  2322. c:"COC_ALL",b:["0"]},{a:"define",c:"COC_FOREGROUND",b:["1"]},{a:"define",c:"COC_COMBINE",b:["2"]},{a:"define",c:"VT_WORLD_TO_WORLD",b:["0"]},{a:"define",c:"VT_WORLD_TO_OBJECT",b:["1"]},{a:"define",c:"VT_WORLD_TO_CAMERA",b:["2"]},{a:"define",c:"VT_OBJECT_TO_WORLD",b:["3"]},{a:"define",c:"VT_OBJECT_TO_OBJECT",b:["4"]},{a:"define",c:"VT_OBJECT_TO_CAMERA",b:["5"]},{a:"define",c:"VT_CAMERA_TO_WORLD",b:["6"]},{a:"define",c:"VT_CAMERA_TO_OBJECT",b:["7"]},{a:"define",c:"VT_CAMERA_TO_CAMERA",b:["8"]},{a:"define",
  2323. c:"VT_POINT",b:["0"]},{a:"define",c:"VT_VECTOR",b:["1"]},{a:"define",c:"VT_NORMAL",b:["2"]},{a:"define",c:"NM_TANGENT",b:["0"]},{a:"define",c:"NM_OBJECT",b:["1"]},{a:"define",c:"NM_WORLD",b:["2"]},{a:"define",c:"NM_FDAGE_OBJECT",b:["3"]},{a:"define",c:"NM_FDAGE_WORLD",b:["4"]},{a:"define",c:"BILLBOARD_ALIGN_VIEW",b:["1"]},{a:"define",c:"BILLBOARD_ALIGN_XY",b:["2"]},{a:"define",c:"BILLBOARD_ALIGN_YZ",b:["3"]},{a:"define",c:"BILLBOARD_ALIGN_ZX",b:["4"]},{a:"define",c:"POST_EFFECT_NONE",b:["1"]},
  2324. {a:"define",c:"POST_EFFECT_GRAYSCALE",b:["2"]},{a:"define",c:"POST_EFFECT_BLUR",b:["3"]},{a:"define",c:"POST_EFFECT_GLOW_BLUR",b:["4"]},{a:"define",c:"POST_EFFECT_DOF_BLUR",b:["5"]},{a:"define",c:"POST_EFFECT_ALPHA_BLUR",b:["6"]},{a:"define",c:"POST_EFFECT_EXTEND",b:["7"]},{a:"define",c:"FLIP_CUBEMAP_COORDS",b:["8"]},{a:"define",c:"DV_NONE",b:["0"]},{a:"define",c:"DV_OPAQUE_WIREFRAME",b:["1"]},{a:"define",c:"DV_TRANSPARENT_WIREFRAME",b:["2"]},{a:"define",c:"DV_FRONT_BACK_VIEW",b:["3"]},{a:"define",
  2325. c:"DV_BOUNDINGS",b:["4"]},{a:"define",c:"DV_CLUSTERS_VIEW",b:["5"]},{a:"define",c:"DV_BATCHES_VIEW",b:["6"]},{a:"define",c:"DV_RENDER_TIME",b:["7"]},{a:"define",c:"SSAO_QUALITY_8",b:["1"]},{a:"define",c:"SSAO_QUALITY_16",b:["2"]},{a:"define",c:"SSAO_QUALITY_24",b:["3"]},{a:"define",c:"SSAO_QUALITY_32",b:["4"]},{a:"define",c:"AA_METHOD_FXAA_LIGHT",b:["1"]},{a:"define",c:"AA_METHOD_FXAA_QUALITY",b:["2"]},{a:"define",c:"AA_QUALITY_LOW",b:["0"]},{a:"define",c:"AA_QUALITY_MEDIUM",b:["1"]},{a:"define",
  2326. c:"AA_QUALITY_HIGH",b:["2"]},{a:"define",c:"SMAA_RESOLVE",b:["1"]},{a:"define",c:"SMAA_EDGE_DETECTION",b:["2"]},{a:"define",c:"SMAA_BLENDING_WEIGHT_CALCULATION",b:["3"]},{a:"define",c:"SMAA_NEIGHBORHOOD_BLENDING",b:["4"]},{a:"define",c:"AA_METHOD_SMAA_LOW",b:["1"]},{a:"define",c:"AA_METHOD_SMAA_MEDIUM",b:["2"]},{a:"define",c:"AA_METHOD_SMAA_HIGH",b:["3"]},{a:"define",c:"AA_METHOD_SMAA_ULTRA",b:["4"]},{a:"define",c:"REFL_PASS_NONE",b:["0"]},{a:"define",c:"REFL_PASS_PLANE",b:["1"]},{a:"define",c:"REFL_PASS_CUBE",
  2327. b:["2"]},{a:"define",c:"SRGB_NONE",b:["0"]},{a:"define",c:"SRGB_SIMPLE",b:["1"]},{a:"define",c:"SRGB_PROPER",b:["2"]},{a:"define",c:"CAM_TYPE_ORTHO",b:["0"]},{a:"define",c:"CAM_TYPE_PERSP",b:["1"]},{a:"define",c:"M_PI",b:["3.14159265359"]},{a:"define",c:"M_PI_4",b:["0.785398163"]},{a:"define",c:"INV_PI",b:["0.318309886"]},{a:"define",c:"UP_VECTOR",b:"vec3 ( 0.0 , 0.0 , 1.0 )".split(" ")},{a:"define",c:"RIGHT_VECTOR",b:"vec3 ( 1.0 , 0.0 , 0.0 )".split(" ")},{a:"define",c:"TOWARD_VECTOR",b:"vec3 ( 0.0 , - 1.0 , 0.0 )".split(" ")},
  2328. {a:"cond",d:[{a:"if",g:["CONSTANTS_HACK"],h:{a:"grp",d:[{a:"txt",b:"float _0_0 = 0.0 ; float _0_5 = 0.5 ; float _1_0 = 1.0 ; float _255_0 = 255.0 ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"define",c:"_0_0",b:["0.0"]},{a:"define",c:"_0_5",b:["0.5"]},{a:"define",c:"_1_0",b:["1.0"]},{a:"define",c:"_255_0",b:["255.0"]}]}}]}]}}]}]};a["include/to_world.glslv"]={a:"grp",d:[{a:"cond",d:[{a:"ifndef",c:"TO_WORLD_GLSLV",h:{a:"grp",d:[{a:"define",c:"TO_WORLD_GLSLV",b:[""]},{a:"include",o:"math.glslv"},{a:"var",
  2329. c:"BILLBOARD_ALIGN",b:["BILLBOARD_ALIGN_VIEW"]},{a:"var",c:"USE_INSTANCED_PARTCLS",b:["0"]},{a:"var",c:"BILLBOARD_SPHERICAL",b:["0"]},{a:"var",c:"BILLBOARD_RANDOM",b:["0"]},{a:"var",c:"BILLBOARD",b:["0"]},{a:"var",c:"BILLBOARD_JITTERED",b:["0"]},{a:"var",c:"BILLBOARD_PRES_GLOB_ORIENTATION",b:["0"]},{a:"var",c:"STATIC_BATCH",b:["0"]},{a:"var",c:"REFLECTION_PASS",b:["REFL_PASS_NONE"]},{a:"define",c:"MAX_BILLBOARD_ANGLE",b:["M_PI_4"]},{a:"cond",d:[{a:"if",g:["BILLBOARD_SPHERICAL","BILLBOARD",{a:"logic_negative_expr",
  2330. i:1},"BILLBOARD_ALIGN","BILLBOARD_ALIGN_VIEW",{a:"equal_expr",i:2},{a:"logical_and_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"mat3 aX ( vec3 Hy , mat3 M ) { vec4 Hz = vec4 ( M [ 1 ] [ 1 ] , M [ 1 ] [ 2 ] , M [ 2 ] [ 0 ] , M [ 2 ] [ 1 ] ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["REFLECTION_PASS","REFL_PASS_PLANE",{a:"equal_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec4 HA = cI ( RIGHT_VECTOR , - M_PI / 2.0 ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"vec4 HA = cI ( RIGHT_VECTOR , M_PI / 2.0 ) ;".split(" ")}]}}]},
  2331. {a:"txt",b:"Hz = qe ( HA , Hz ) ; Hz = kj ( Hz ) ; mat3 aY = cG ( ) ; aY [ 0 ] = Hy ; aY = cK ( Hz , aY ) ; return aY ; }".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"mat3 HC ( vec3 kV , vec3 Hy ) { vec3 HB = kV - Hy ; HB . z = 0.0 ; HB = normalize ( HB ) ; vec4 Hz = qj ( HB , TOWARD_VECTOR ) ; mat3 aY = cG ( ) ; aY [ 0 ] = Hy ; aY = cK ( Hz , aY ) ; return aY ; }".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["BILLBOARD_JITTERED"],h:{a:"grp",d:[{a:"txt",b:"mat3 ai ( in vec3 HD , float HE , float HF , float HG , vec3 aQ , mat3 S ) { float HH = fract ( length ( aQ ) / 0.17 ) ; float HI = HG + HH / 10.0 ; float HJ = HH ; if ( HG != 0.0 ) HJ /= HG ; HD *= 1.0 + 0.5 * sin ( HE ) ; float HK = length ( HD ) * HF * sin ( 2.0 * 3.14 * HE * HI + HJ ) ; vec4 HL = cI ( TOWARD_VECTOR , HK ) ; vec4 HM = vec4 ( S [ 1 ] [ 1 ] , S [ 1 ] [ 2 ] , S [ 2 ] [ 0 ] , S [ 2 ] [ 1 ] ) ; HM = qe ( HM , HL ) ; S = cK ( HM , S ) ; return S ; }".split(" ")}]}}]},
  2332. {a:"txt",b:"mat3 ah ( in vec3 kV , in vec3 ae , in mat3 M ) {".split(" ")},{a:"cond",d:[{a:"if",g:["BILLBOARD_SPHERICAL","BILLBOARD",{a:"logic_negative_expr",i:1},"BILLBOARD_ALIGN","BILLBOARD_ALIGN_VIEW",{a:"equal_expr",i:2},{a:"logical_and_expr",i:2},{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"mat3 lj = aX ( ae , M ) ;".split(" ")}]}},{a:"elif",g:["BILLBOARD_RANDOM"],h:{a:"grp",d:[{a:"txt",b:"float HH = fract ( ( ae . x * 1.43 - ae . z * 0.123 + ae . y * 6.1 ) ) ; float HN = 2.0 * M_PI * HH ; vec4 HO = vec4 ( M [ 1 ] [ 1 ] , M [ 1 ] [ 2 ] , M [ 2 ] [ 0 ] , M [ 2 ] [ 1 ] ) ; float HP = asin ( 2.0 * ( HO . x * HO . y - HO . z * HO . w ) ) ; float gZ = HP - HN ; if ( gZ < 0.0 ) gZ = 2.0 * M_PI + gZ ; float HQ = HN ; if ( gZ <= MAX_BILLBOARD_ANGLE ) HQ += gZ ; else if ( gZ <= M_PI - MAX_BILLBOARD_ANGLE ) HQ += MAX_BILLBOARD_ANGLE * ( 2.0 * gZ - M_PI ) / ( 2.0 * MAX_BILLBOARD_ANGLE - M_PI ) ; else if ( gZ <= M_PI + MAX_BILLBOARD_ANGLE ) HQ += gZ - M_PI ; else if ( gZ <= 2.0 * M_PI - MAX_BILLBOARD_ANGLE ) HQ += MAX_BILLBOARD_ANGLE * ( 2.0 * gZ - M_PI ) / ( 2.0 * MAX_BILLBOARD_ANGLE - M_PI ) + M_PI ; else HQ += gZ - 2.0 * M_PI ; vec4 HR = cI ( UP_VECTOR , HQ ) ; mat3 lj ; lj [ 0 ] = ae ; lj [ 1 ] [ 0 ] = 1.0 ; lj = cK ( HR , lj ) ;".split(" ")}]}},
  2333. {a:"else",h:{a:"grp",d:[{a:"txt",b:"mat3 lj = HC ( kV , ae ) ;".split(" ")}]}}]},{a:"txt",b:["return","lj",";","}"]},{a:"cond",d:[{a:"if",g:["BILLBOARD_PRES_GLOB_ORIENTATION","STATIC_BATCH",{a:"logic_negative_expr",i:1},{a:"logical_and_expr",i:2},"USE_INSTANCED_PARTCLS",{a:"logical_or_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"mat3 af ( in vec3 kV , in vec3 ae , in mat3 M , in mat3 S ) { mat3 lj = ah ( kV , ae , M ) ; S [ 0 ] = vec3 ( 0.0 , 0.0 , 0.0 ) ; lj = aO ( lj , S ) ; return lj ; }".split(" ")}]}}]},
  2334. {a:"txt",b:"aj ak ( in vec3 eD , in vec3 HS , in vec3 HT , in vec3 HU , in vec3 HV , in vec3 HW , in mat3 S ) { eD = ad ( S , eD ) ; HS = ad ( S , HS ) ; HT = T ( S , HT ) ; HU = T ( S , HU ) ; HV = T ( S , HV ) ; HW = T ( S , HW ) ; return lk ( aj ( eD , HS , HT , HU , HV , HW , vec3 ( 0.0 ) ) ) ; }".split(" ")}]}}]}]};a["include/wind_bending.glslv"]={a:"grp",d:[{a:"cond",d:[{a:"ifndef",c:"WIND_BENDING_GLSLV",h:{a:"grp",d:[{a:"define",c:"WIND_BENDING_GLSLV",b:[""]},{a:"var",c:"WIND_BEND",b:["0"]},
  2335. {a:"var",c:"MAIN_BEND_COL",b:["0"]},{a:"var",c:"DETAIL_BEND",b:["0"]},{a:"var",c:"BEND_CENTER_ONLY",b:["0"]},{a:"var",c:"REFLECTION_PASS",b:["REFL_PASS_NONE"]},{a:"var",c:"BILLBOARD",b:["0"]},{a:"include",o:"std.glsl"},{a:"cond",d:[{a:"if",g:["WIND_BEND"],h:{a:"grp",d:[{a:"txt",b:"void Ii ( inout vec3 bd , in vec3 HX , in float HY , in float HZ , in float eK , in vec3 HD , in float H_ , in mat4 by ) {".split(" ")},{a:"cond",d:[{a:"if",g:["REFLECTION_PASS","REFL_PASS_PLANE",{a:"equal_expr",i:2},"BILLBOARD",
  2336. {a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec3 Ia = ( by * vec4 ( bd , 1.0 ) ) . xyz ; vec3 Ib = ( by * vec4 ( HX , 1.0 ) ) . xyz ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"vec3 Ia = bd ; vec3 Ib = HX ;".split(" ")}]}}]},{a:"txt",b:"float dg = length ( Ib ) ; float Ic = HZ * ( 1.0 + 0.1 * fract ( dg ) ) ; float Id = HY * H_ * ( 1.0 + sin ( 2.0 * 3.14 * eK * Ic + dg ) ) ; float Ie = ( Ia . z - Ib . z ) * abs ( Id ) ; Ie += 1.0 ; Ie *= Ie ; Ie = Ie * Ie - Ie ; vec3 If = Ia ; If . xy += HD . xy * Ie * sign ( Id ) ; vec3 Ig = If - Ib ; if ( all ( equal ( Ig , vec3 ( 0.0 ) ) ) ) bd = HX ; else {".split(" ")},
  2337. {a:"cond",d:[{a:"if",g:["REFLECTION_PASS","REFL_PASS_PLANE",{a:"equal_expr",i:2},"BILLBOARD",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"Ig = ( by * vec4 ( Ig , 0.0 ) ) . xyz ;".split(" ")}]}}]},{a:"txt",b:"float Ih = length ( Ia - Ib ) ; bd = HX + normalize ( Ig ) * Ih ; } }".split(" ")},{a:"cond",d:[{a:"if",g:["DETAIL_BEND"],h:{a:"grp",d:[{a:"txt",b:"vec4 Ij ( vec4 x ) { return x * x * ( 3.0 - 2.0 * x ) ; } vec4 Ik ( vec4 x ) { return abs ( fract ( x + 0.5 ) * 2.0 - 1.0 ) ; } vec4 Il ( vec4 x ) { return Ij ( Ik ( x ) ) ; } void Ix ( inout vec3 bd , in float eK , in vec3 P , in vec3 HD , in vec3 HX , in float Im , in float In , in float Io , in vec3 Ip , in mat4 by ) { float Iq ; float Ir ; float Is ; vec2 It ; vec4 Iu ; vec2 Iv ; vec3 Iw ;".split(" ")},
  2338. {a:"cond",d:[{a:"if",g:["REFLECTION_PASS","REFL_PASS_PLANE",{a:"equal_expr",i:2},"BILLBOARD",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"vec3 Ia = ( by * vec4 ( bd , 1.0 ) ) . xyz ; vec3 Ib = ( by * vec4 ( HX , 1.0 ) ) . xyz ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"vec3 Ia = bd ; vec3 Ib = HX ;".split(" ")}]}}]},{a:"txt",b:"Iq = dot ( Ib , vec3 ( 1.0 ) ) ; Ir = Iq + Ip . g ; Is = dot ( Ia , vec3 ( Ip . g ) ) ; It = ( eK + vec2 ( Is , Ir ) ) ; Iu = ( ( fract ( ( It . xxyy * vec4 ( 1.975 , 0.793 , 0.375 , 0.193 ) ) ) * 2.0 ) - 1.0 ) * length ( HD ) * Im ; Iu = Il ( Iu ) ; Iv = Iu . xz + Iu . yw ; Iv . y = 0.5 - Iv . y ; Iw = Iv . xxy * Ip . rrb * vec3 ( In * P . x , In * P . y , Io ) ;".split(" ")},
  2339. {a:"cond",d:[{a:"if",g:["REFLECTION_PASS","REFL_PASS_PLANE",{a:"equal_expr",i:2},"BILLBOARD",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"Iw = ( by * vec4 ( Iw , 0.0 ) ) . xyz ;".split(" ")}]}}]},{a:"txt",b:["bd","+=","Iw",";","}"]}]}}]},{a:"txt",b:"void am ( inout vec3 N , inout vec3 ac , in vec3 P , in mat4 by ) { vec3 Iy = u_wind * 1.0 + 0.7 * sin ( u_time ) ;".split(" ")},{a:"cond",d:[{a:"if",g:["BEND_CENTER_ONLY"],h:{a:"grp",d:[{a:"txt",b:"vec3 Iz = ac ; vec3 IA = a_emitter_center ;".split(" ")},
  2340. {a:"cond",d:[{a:"if",g:["REFLECTION_PASS","REFL_PASS_PLANE",{a:"equal_expr",i:2},"BILLBOARD",{a:"logical_and_expr",i:2}],h:{a:"grp",d:[{a:"txt",b:"IA = ( by * vec4 ( IA , 1.0 ) ) . xyz ;".split(" ")}]}}]}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"vec3 Iz = N ; vec3 IA = ac ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["MAIN_BEND_COL"],h:{a:"grp",d:[{a:"cond",d:[{a:"if",g:["DETAIL_BEND"],h:{a:"grp",d:[{a:"txt",b:"Ix ( Iz , u_time , P , Iy , IA , au_detail_bending_freq , au_detail_bending_amp , au_branch_bending_amp , a_bending_col_detail , by ) ;".split(" ")}]}}]},
  2341. {a:"txt",b:"Ii ( Iz , IA , au_wind_bending_amp , au_wind_bending_freq , u_time , Iy , a_bending_col_main , by ) ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"Ii ( Iz , IA , au_wind_bending_amp , au_wind_bending_freq , u_time , Iy , 1.0 , by ) ;".split(" ")}]}}]},{a:"cond",d:[{a:"if",g:["BEND_CENTER_ONLY"],h:{a:"grp",d:[{a:"txt",b:"N += Iz - ac ; ac = Iz ;".split(" ")}]}},{a:"else",h:{a:"grp",d:[{a:"txt",b:"N = Iz ; ac = IA ;".split(" ")}]}}]},{a:"txt",b:["}"]}]}}]}]}}]}]}};fdage.module.animation=function(a,q){var f=q("__animation"),c=q("__armature"),b=q("__obj_util"),g=q("__print"),p=q("__tsr");a.SLOT_0=f.SLOT_0;a.SLOT_1=f.SLOT_1;a.SLOT_2=f.SLOT_2;a.SLOT_3=f.SLOT_3;a.SLOT_4=f.SLOT_4;a.SLOT_5=f.SLOT_5;a.SLOT_6=f.SLOT_6;a.SLOT_7=f.SLOT_7;a.SLOT_ALL=f.SLOT_ALL;a.OBJ_ANIM_TYPE_NONE=f.OBJ_ANIM_TYPE_NONE;a.OBJ_ANIM_TYPE_ARMATURE=f.OBJ_ANIM_TYPE_ARMATURE;a.OBJ_ANIM_TYPE_OBJECT=f.OBJ_ANIM_TYPE_OBJECT;a.OBJ_ANIM_TYPE_VERTEX=f.OBJ_ANIM_TYPE_VERTEX;a.OBJ_ANIM_TYPE_SOUND=f.OBJ_ANIM_TYPE_SOUND;
  2342. a.OBJ_ANIM_TYPE_PARTICLES=f.OBJ_ANIM_TYPE_PARTICLES;a.OBJ_ANIM_TYPE_MATERIAL=f.OBJ_ANIM_TYPE_MATERIAL;a.AB_CYCLIC=f.AB_CYCLIC;a.AB_FINISH_RESET=f.AB_FINISH_RESET;a.AB_FINISH_STOP=f.AB_FINISH_STOP;var D=p.create();a.is_animated=function(a){return f.is_animated(a)};a.get_anim_names=function(a){return f.FC(a)?f.get_anim_names(a):[]};a.get_current_anim_name=function(a,b){if(!f.is_animated(a))return null;b=b||f.SLOT_0;return f.GL(a,b)};a.apply=function(a,b,c){if(c>f.SLOT_7)g.error("Can't apply animation to slot "+
  2343. c+' for object "'+a.name+'". Object can have maximum of 8 animation slots');else{c=c||f.SLOT_0;if(f.is_animated(a)){var p=f.get_slot_num_by_anim(a,b);if(-1!=p&&p!=c){g.error('Animation "'+b+'" is already applied to object "'+a.name+'" (slot "'+p+'").');return}}f.RE(a,b)?f.apply(a,null,b,c):g.error('No fcurves in action "'+b+'"')}};a.apply_ext=function(a,b,c){if(c>f.SLOT_7)g.error("Can't apply animation to slot "+c+' for object "'+a.name+'". Object can have maximum of 8 animation slots');else{c=c||
  2344. f.SLOT_0;var p=b[0];if(f.is_animated(a)){var m=f.get_slot_num_by_anim(a,p);if(-1!=m&&m!=c){g.error('Animation "'+p+'" is already applied to object "'+a.name+'" (slot "'+m+'").');return}}f.RE(a,p)?f.apply(a,b.slice(1),p,c):g.error('No fcurves in action "'+p+'"')}};a.remove=function(a){f.remove(a)};a.remove_slot_animation=function(a,b){f.is_animated(a)&&(b=b||f.SLOT_0,f.remove_slot_animation(a,b))};a.apply_def=function(a){f.apply_def(a)};a.play=function(a,b,c){f.is_animated(a)?(c=c||f.SLOT_0,f.play(a,
  2345. b,c),f.DQ(a,0,c,!0)):g.error('Object "'+a.name+'" has no applied animation')};a.stop=function(a,b){f.is_animated(a)&&(b=b||f.SLOT_0,f.stop(a,b))};a.is_play=function(a,b){if(!f.is_animated(a))return!1;b=b||f.SLOT_0;return f.is_play(a,b)};a.set_frame=function(a,b,c){f.is_animated(a)&&(c=c||f.SLOT_0,f.set_frame(a,b,c))};a.set_first_frame=function(a,b){f.is_animated(a)&&f.set_first_frame(a,b)};a.set_last_frame=function(a,b){if(f.is_animated(a)){b=b||f.SLOT_0;var c=f.get_anim_start_frame(a,b),g=f.get_anim_length(a,
  2346. b);f.set_frame(a,c+g-f.LF,b)}};a.get_frame=function(a,b){if(!f.is_animated(a))return 0;b=b||f.SLOT_0;return f.oB(a,b)};a.set_speed=function(a,b,c){f.is_animated(a)&&(c=c||f.SLOT_0,f.set_speed(a,b||1,c))};a.get_speed=function(a,b){if(!f.is_animated(a))return 0;b=b||f.SLOT_0;return a.ba[b]?f.get_speed(a,b):0};a.get_anim_start_frame=function(a,b){return f.is_animated(a)&&(b=b||f.SLOT_0,a.ba[b])?f.get_anim_start_frame(a,b):-1};a.get_anim_length=function(a,b){return f.is_animated(a)&&(b=b||f.SLOT_0,a.ba[b])?
  2347. f.get_anim_length(a,b):-1};a.set_behavior=function(a,b,c){f.is_animated(a)&&(c=c||f.SLOT_0,f.set_behavior(a,b,c))};a.get_behavior=function(a,b){if(!f.is_animated(a))return null;b=b||f.SLOT_0;return f.get_behavior(a,b)};a.apply_smoothing=function(a,b,c,g){g=g||f.SLOT_0;f.is_animated(a)&&f.apply_smoothing(a,b,c,g)};a.frame_to_sec=function(a){return f.frame_to_sec(a)};a.get_bone_translation=function(a,f,n){g.lb("get_bone_translation","armature.get_bone_tsr");if(!b.is_armature(a))return null;if(!c.Un(a,
  2348. f))return g.error('There is no bone: "',f,'" in "',a.name,'".'),null;n||(n=new Float32Array(3));c.get_bone_tsr(a,f,!1,!1,D);n[0]=D[0];n[1]=D[1];n[2]=D[2];return n};a.get_first_armature_object=function(){g.L("get_first_armature_object() deprecated");return null};a.get_slot_num_by_anim=function(a,b){return f.is_animated(a)&&b?f.get_slot_num_by_anim(a,b):-1};a.get_anim_type=function(a,b){return f.is_animated(a)?f.get_anim_type(a,b):null};a.apply_to_first_empty_slot=function(a,b){return f.apply_to_first_empty_slot(a,
  2349. b)};a.get_skel_mix_factor=function(a){return a.k.Jg};a.set_skel_mix_factor=function(a,c,n){b.is_armature(a)?(c=Math.min(Math.max(c,0),1),a.k.Jg!=c&&f.set_skel_mix_factor(a,c,n||0)):g.error("Can't blend animation. Object \""+a.name+'" is not armature')}};fdage.module.anchors=function(a,q){var f=q("__anchors");q("__print");a.attach_move_cb=f.attach_move_cb;a.detach_move_cb=f.detach_move_cb;a.is_anchor=f.is_anchor;a.get_element_id=f.get_element_id;a.update=function(){f.update(!0)}};fdage.module.armature=function(a,q){var f=q("__armature"),c=q("__obj_util"),b=q("__transform"),g=q("__print");a.get_bone_tsr=function(a,b,e){if(!c.is_armature(a))return null;if(!f.Un(a,b))return g.error('There is no bone: "',b,'" in "',a.name,'".'),null;e||(e=new Float32Array(8));f.get_bone_tsr(a,b,!1,!1,e);return e};a.get_bone_tsr_rel=function(a,b,e){if(!c.is_armature(a))return null;if(!f.Un(a,b))return g.error('There is no bone: "',b,'" in "',a.name,'".'),null;e||(e=new Float32Array(8));f.get_bone_tsr(a,
  2350. b,!1,!0,e);return e};a.set_bone_tsr=function(a,q,e){c.is_armature(a)&&(f.Un(a,q)?(f.set_bone_tsr(a,q,e,!1),b.B(a)):g.error('There is no bone: "',q,'" in "',a.name,'".'))};a.set_bone_tsr_rel=function(a,q,e){c.is_armature(a)&&(f.Un(a,q)?(f.set_bone_tsr(a,q,e,!0),b.B(a)):g.error('There is no bone: "',q,'" in "',a.name,'".'))}};fdage.module.assets=function(a,q){var f=q("__assets");a.AT_ARRAYBUFFER=f.AT_ARRAYBUFFER;a.AT_JSON=f.AT_JSON;a.AT_TEXT=f.AT_TEXT;a.AT_AUDIOBUFFER=f.AT_AUDIOBUFFER;a.AT_IMAGE_ELEMENT=f.AT_IMAGE_ELEMENT;a.AT_AUDIO_ELEMENT=f.AT_AUDIO_ELEMENT;a.enqueue=function(a,b,g,p){if(a.length)if(a.id)f.enqueue(a,b,g,p);else{for(var q=[],e=0;e<a.length;e++){var u=a[e];q.push({id:u[0],type:u[1],url:u[2],ve:u.ve?u.ve:"GET",Yk:null,ij:null,tb:u[3]})}f.enqueue(q,b,g,p)}}};fdage.module.camera=function(a,q){function f(a,b){n.lb("camera.set_pivot","camera.target_set_trans_pivot");c.is_target_camera(a)?(y.copy(b,a.k.pivot),m.B(a),u.sync_transform(a)):n.error("set_pivot(): Wrong object or camera move style")}var c=q("__camera");q("__config");var b=q("__constraints"),g=q("__container"),p=q("__mat4"),D=q("__math"),e=q("__obj_util"),u=q("__physics"),n=q("__print"),t=q("__scenes"),m=q("__transform"),k=q("__tsr"),d=q("__util"),y=q("__vec3"),H=q("__vec4"),v=q("__quat"),z=new Float32Array(2),
  2351. x=new Float32Array(3),M=new Float32Array(3),F=new Float32Array(4),E=v.create();new Float32Array(9);var A={},K={};a.MS_STATIC=c.MS_STATIC;a.MS_TARGET_CONTROLS=c.MS_TARGET_CONTROLS;a.MS_EYE_CONTROLS=c.MS_EYE_CONTROLS;a.MS_HOVER_CONTROLS=c.MS_HOVER_CONTROLS;a.static_setup=function(a,b){if(e.is_camera(a)){c.nq(a);a.k.jb=c.MS_STATIC;if(b){var d=b.pos||k.get_trans_view(a.k.n);b.look_at?c.set_look_at(a,d,b.look_at):m.set_translation(a,d)}m.B(a);u.sync_transform(a);c.em(a)}else n.error("static_setup(): Wrong camera object")};
  2352. a.static_set_look_at=function(a,b,d){c.is_static_camera(a)?(b=b||k.get_trans_view(a.k.n),d?c.set_look_at(a,b,d):m.set_translation(a,b),m.B(a),u.sync_transform(a)):n.error("static_set_look_at(): Wrong camera object or camera move style")};a.static_set_rotation=function(a,b){c.is_static_camera(a)?(m.set_rotation(a,b),m.B(a),u.sync_transform(a)):n.error("static_set_rotation(): Wrong camera object or camera move style")};a.static_get_rotation=function(a,b){if(!c.is_static_camera(a))return n.error("static_get_rotation(): Wrong camera object or camera move style"),
  2353. null;b=b||new Float32Array(4);return m.get_rotation(a,b)};a.eye_setup=function(a,b){if(e.is_camera(a))if(b&&b.horiz_rot_lim&&("number"!=typeof b.horiz_rot_lim.left||"number"!=typeof b.horiz_rot_lim.right))n.error("eye_setup(): Wrong horizontal limits object.");else if(b&&b.vert_rot_lim&&("number"!=typeof b.vert_rot_lim.down||"number"!=typeof b.vert_rot_lim.up))n.error("eye_setup(): Wrong vertical limits object.");else{c.nq(a);a.k.jb=c.MS_EYE_CONTROLS;if(b){var d=b.pos||k.get_trans_view(a.k.n);c.yD(a,
  2354. d,b.look_at,b.horiz_rot_lim,b.vert_rot_lim)}m.B(a);u.sync_transform(a);c.em(a)}else n.error("eye_setup(): Wrong camera object")};a.eye_set_look_at=function(a,d,e){c.is_eye_camera(a)?(d=d||k.get_trans_view(a.k.n),e?c.cP(a,d,e):m.set_translation(a,d),b.correct_up(a,a.k.Ae,!0),m.B(a),u.sync_transform(a)):n.error("eye_set_look_at(): Wrong camera object or camera move style")};a.eye_rotate=function(a,b,d,e,f){c.is_eye_camera(a)?(c.rotate_eye_camera(a,b,d,e||!1,f||!1),m.B(a),u.sync_transform(a)):n.error("eye_rotate(): Wrong camera object or camera move style")};
  2355. a.eye_set_vertical_limits=function(a,b){c.is_eye_camera(a)?!b||"number"==typeof b.down&&"number"==typeof b.up?(c.wD(a,b),m.B(a),u.sync_transform(a)):n.error("eye_set_vertical_limits(): Incorrect limits object."):n.error("eye_set_vertical_limits(): Wrong camera object or camera move style")};a.eye_get_vertical_limits=function(a,b,d){if(!c.is_eye_camera(a))return n.error("eye_get_vertical_limits(): Wrong camera object or camera move style"),null;a=a.k;return a.ea?(b=b||{},d?(b.down=a.ea.Ol,b.up=a.ea.Zm):
  2356. (b.down=a.ea.down,b.up=a.ea.up),b.camera_space=d||!1,b):null};a.eye_set_horizontal_limits=function(a,b){c.is_eye_camera(a)?!b||"number"==typeof b.left&&"number"==typeof b.right?(c.tD(a,b),m.B(a),u.sync_transform(a)):n.error("eye_set_horizontal_limits(): Incorrect limits object."):n.error("eye_set_horizontal_limits(): Wrong camera object or camera move style")};a.eye_get_horizontal_limits=function(a,b,d){if(!c.is_eye_camera(a))return n.error("eye_get_horizontal_limits(): Wrong camera object or camera move style"),
  2357. null;a=a.k;return a.Za?(b=b||{},d?(b.left=a.Za.km,b.right=a.Za.Cm):(b.left=a.Za.left,b.right=a.Za.right),b.camera_space=d||!1,b):null};a.target_setup=function(a,b){if(e.is_camera(a))if(!b.horiz_rot_lim||"number"==typeof b.horiz_rot_lim.left&&"number"==typeof b.horiz_rot_lim.right)if(!b.vert_rot_lim||"number"==typeof b.vert_rot_lim.down&&"number"==typeof b.vert_rot_lim.up){if(b.dist_lim){if("number"!=typeof b.dist_lim.min||"number"!=typeof b.dist_lim.max||b.dist_lim.min>b.dist_lim.max){n.error("target_setup(): Wrong distance limits object");
  2358. return}b.dist_lim.min=Math.max(b.dist_lim.min,0);b.dist_lim.max=Math.max(b.dist_lim.max,0)}if(b.tp&&("number"!=typeof b.tp.min_y||"number"!=typeof b.tp.max_y||b.tp.min_y>b.tp.max_y))n.error("target_setup(): Wrong pivot limits object");else{c.nq(a);a.k.jb=c.MS_TARGET_CONTROLS;var d=b.pos||k.get_trans_view(a.k.n);c.AD(a,d,b.pivot,b.horiz_rot_lim,b.vert_rot_lim,b.dist_lim,b.tp,b.use_panning||!1);m.B(a);u.sync_transform(a);c.em(a)}}else n.error("target_setup(): Wrong vertical limits object");else n.error("target_setup(): Wrong horizontal limits object");
  2359. else n.error("target_setup(): Wrong camera object")};a.target_rotate=function(a,b,d,e,f){c.is_target_camera(a)?(c.rotate_target_camera(a,b,d,e||!1,f||!1),m.B(a),u.sync_transform(a)):n.error("target_rotate(): Wrong camera object or camera move style")};a.target_set_trans_pivot=function(a,b,d){c.is_target_camera(a)?(b=b||k.get_trans_view(a.k.n),d=d||a.k.pivot,c.set_trans_pivot(a,b,d),m.B(a),u.sync_transform(a)):n.error("target_set_trans_pivot(): Wrong camera object or camera move style")};a.target_set_pivot_translation=
  2360. function(a,b){c.is_target_camera(a)?(c.jP(a,b),m.B(a),u.sync_transform(a)):n.error("target_set_pivot_translation(): Wrong camera object or camera move style")};a.target_set_distance=function(a,b){if(c.is_target_camera(a)){var d=m.um(a,a.k.pivot),e=Math.max(0,b);m.move_local(a,0,0,e-d);m.B(a);u.sync_transform(a)}else n.error("target_set_distance(): Wrong camera object or camera move style")};a.target_get_distance=function(a){return c.is_target_camera(a)?m.um(a,a.k.pivot):(n.error("target_get_distance(): Wrong camera object or camera move style"),
  2361. 0)};a.target_zoom_object=function(a,b){if(c.is_target_camera(a)){var d=m.get_object_center(b,!1,x),f=m.get_object_size(b),g=t.get_active(),g=e.da(a,g).W[0],g=c.iB(g)/2,f=f/Math.sin(g),g=m.um(a,d);c.set_trans_pivot(a,k.get_trans_view(a.k.n),d);m.B(a);m.move_local(a,0,0,f-g);m.B(a);u.sync_transform(a)}else n.error("target_zoom_object(): Wrong camera object or camera move style")};a.target_get_pivot=function(a,b){if(!c.is_target_camera(a))return n.error("target_get_pivot(): Wrong camera object or camera move style"),
  2362. null;b=b||new Float32Array(3);y.copy(a.k.pivot,b);return b};a.target_set_distance_limits=function(a,b){if(c.is_target_camera(a)){if(b){if("number"!=typeof b.min||"number"!=typeof b.max||b.min>b.max){n.error("target_set_distance_limits(): Wrong limits object");return}b.min=Math.max(b.min,0);b.max=Math.max(b.max,0)}c.SO(a,b);m.B(a);u.sync_transform(a)}else n.error("target_set_distance_limits(): Wrong camera object or camera move style")};a.target_get_distance_limits=function(a,b){if(!c.is_target_camera(a))return n.error("target_get_distance_limits(): Wrong camera object or camera move style"),
  2363. null;var d=a.k;return d.hb?(b=b||{},b.min=d.hb.min,b.max=d.hb.max,b):null};a.target_set_vertical_limits=function(a,b){c.is_target_camera(a)?!b||"number"==typeof b.down&&"number"==typeof b.up?(c.wD(a,b),m.B(a),u.sync_transform(a)):n.error("target_set_vertical_limits(): Wrong limits object"):n.error("target_set_vertical_limits(): Wrong camera object or camera move style")};a.target_get_vertical_limits=function(a,b,d){if(!c.is_target_camera(a))return n.error("target_get_vertical_limits(): Wrong camera object or camera move style"),
  2364. null;a=a.k;return a.ea?(b=b||{},d?(b.down=a.ea.Ol,b.up=a.ea.Zm):(b.down=a.ea.down,b.up=a.ea.up),b.camera_space=d||!1,b):null};a.target_set_horizontal_limits=function(a,b){c.is_target_camera(a)?!b||"number"==typeof b.left&&"number"==typeof b.right?(c.tD(a,b),m.B(a),u.sync_transform(a)):n.error("target_set_horizontal_limits(): Wrong limits object"):n.error("target_set_horizontal_limits(): Wrong camera object or camera move style")};a.target_get_horizontal_limits=function(a,b,d){if(!c.is_target_camera(a))return n.error("target_get_horizontal_limits(): Wrong camera object or camera move style"),
  2365. null;a=a.k;return a.Za?(b=b||{},d?(b.left=a.Za.km,b.right=a.Za.Cm):(b.left=a.Za.left,b.right=a.Za.right),b.camera_space=d||!1,b):null};a.target_set_pivot_limits=function(a,b){c.is_target_camera(a)?b&&("number"!=typeof b.min_z||"number"!=typeof b.max_z||b.min_z>b.max_z)?n.error("target_set_pivot_limits(): Wrong limits object"):(c.fP(a,b),m.B(a),u.sync_transform(a)):n.error("target_set_pivot_limits(): Wrong camera object or camera move style")};a.target_get_pivot_limits=function(a,b){if(!c.is_target_camera(a))return n.error("target_get_pivot_limits(): Wrong camera object or camera move style"),
  2366. null;var d=a.k;return d.xd?(b=b||{},b.min_z=d.xd.min_z,b.max_z=d.xd.max_z,b):null};a.target_pan_pivot=function(a,b,d){if(c.is_target_camera(a)){var e=a.k;e.use_panning&&(x[0]=b,x[1]=-d,x[2]=0,k.transform_dir_vec3(x,e.n,x),y.add(e.pivot,x,e.pivot),b=k.get_trans_view(e.n),y.add(b,x,b),m.B(a),u.sync_transform(a))}else n.error("target_pan_pivot(): wrong object")};a.target_switch_panning=function(a,b){if(!c.is_target_camera(a))return n.error("target_switch_panning(): Wrong camera object or camera move style"),
  2367. null;a.k.use_panning=b};a.hover_setup_rel=function(b,e){a.hover_setup(b,{pos:e.pos,pivot:e.pivot});var f="undefined"==typeof e.dist_interval?0:Math.max(e.dist_interval,0),g="undefined"==typeof e.angle_interval?0:Math.max(e.angle_interval,0),k="undefined"==typeof e.t?.5:d.clamp(e.t,0,1),n=a.hover_get_distance_limits(b,A);n.min=Math.max(n.min-k*f,0);n.max+=(1-k)*f;f=a.hover_get_vertical_limits(b,K);f.down=d.clamp(f.down+k*g,-Math.PI/2,0);f.up=d.clamp(f.up-(1-k)*g,-Math.PI/2,0);c.hover_set_distance_limits(b,
  2368. n);c.hover_set_vertical_limits(b,f);m.B(b);u.sync_transform(b);c.em(b)};a.hover_setup=function(a,b){if(e.is_camera(a)){if(b.dist_lim){if("number"!=typeof b.dist_lim.min||"number"!=typeof b.dist_lim.max||b.dist_lim.min>b.dist_lim.max){n.error("hover_setup(): Wrong distance limits object");return}b.dist_lim.min=Math.max(b.dist_lim.min,0);b.dist_lim.max=Math.max(b.dist_lim.max,0)}if(b.hover_angle_lim&&("number"!=typeof b.hover_angle_lim.down||"number"!=typeof b.hover_angle_lim.up||b.hover_angle_lim.down<
  2369. b.hover_angle_lim.up))n.error("hover_setup(): Wrong hover angle limits object");else if(b.horiz_trans_lim&&("number"!=typeof b.horiz_trans_lim.min||"number"!=typeof b.horiz_trans_lim.max||b.horiz_trans_lim.min>b.horiz_trans_lim.max))n.error("hover_setup(): Wrong horizontal translation limits object");else if(b.vert_trans_lim&&("number"!=typeof b.vert_trans_lim.min||"number"!=typeof b.vert_trans_lim.max||b.vert_trans_lim.min>b.vert_trans_lim.max))n.error("hover_setup(): Wrong vertical translation limits object");
  2370. else{c.nq(a);a.k.jb=c.MS_HOVER_CONTROLS;var d=b.pos||k.get_trans_view(a.k.n);c.zD(a,d,b.pivot,b.dist_lim,b.hover_angle_lim,b.horiz_trans_lim,b.vert_trans_lim,b.enable_horiz_rot||!1);m.B(a);u.sync_transform(a);c.em(a)}}else n.error("hover_setup(): Wrong camera object")};a.hover_rotate=function(a,b,d,e,f){c.is_hover_camera(a)?(c.rotate_hover_camera(a,b,d,e||!1,f||!1),m.B(a),u.sync_transform(a)):n.error("hover_rotate(): Wrong camera object or camera move style")};a.hover_set_pivot_translation=function(a,
  2371. b){c.is_hover_camera(a)?(c.set_hover_pivot(a,b),m.B(a),u.sync_transform(a)):n.error("hover_set_pivot_translation(): Wrong camera object or camera move style")};a.hover_get_pivot=function(a,b){if(!c.is_hover_camera(a))return n.error("hover_get_pivot(): Wrong camera object or camera move style"),null;b=b||new Float32Array(3);y.copy(a.k.Kb,b);return b};a.hover_get_distance=function(a){return c.is_hover_camera(a)?m.um(a,a.k.Kb):(n.error("hover_get_distance(): Wrong camera object or camera move style"),
  2372. 0)};a.hover_set_vertical_limits=function(a,b){c.is_hover_camera(a)?"number"!=typeof b.down||"number"!=typeof b.up||b.down<b.up?n.error("hover_set_vertical_limits(): Wrong limits object"):(c.hover_set_vertical_limits(a,b),m.B(a),u.sync_transform(a)):n.error("hover_set_vertical_limits(): Wrong camera object or camera move style")};a.hover_get_vertical_limits=function(a,b){if(!c.is_hover_camera(a))return n.error("hover_get_vertical_limits(): Wrong camera object or camera move style"),null;var d=a.k;
  2373. b=b||{};b.down=d.ea.down;b.up=d.ea.up;return b};a.hover_set_distance_limits=function(a,b){c.is_hover_camera(a)?"number"!=typeof b.min||"number"!=typeof b.max||b.min>b.max?n.error("hover_set_distance_limits(): Wrong limits object"):(b.min=Math.max(b.min,0),b.max=Math.max(b.max,0),c.hover_set_distance_limits(a,b),m.B(a),u.sync_transform(a)):n.error("hover_set_distance_limits(): Wrong camera object or camera move style")};a.hover_get_distance_limits=function(a,b){if(!c.is_hover_camera(a))return n.error("hover_get_distance_limits(): Wrong camera object or camera move style"),
  2374. null;var d=a.k;b=b||{};b.min=d.hb.min;b.max=d.hb.max;return b};a.hover_set_vert_trans_limits=function(a,b){c.is_hover_camera(a)?b&&("number"!=typeof b.min||"number"!=typeof b.max||b.min>b.max)?n.error("hover_set_vert_trans_limits(): Wrong limits object"):(c.mP(a,b),m.B(a),u.sync_transform(a)):n.error("hover_set_vert_trans_limits(): Wrong camera object or camera move style")};a.hover_get_vert_trans_limits=function(a,b){if(!c.is_hover_camera(a))return n.error("hover_get_vert_trans_limits(): Wrong camera object or camera move style"),
  2375. null;var d=a.k;return d.mc?(b=b||{},b.min=d.mc.min,b.max=d.mc.max,b):null};a.hover_set_horiz_trans_limits=function(a,b){c.is_hover_camera(a)?b&&("number"!=typeof b.min||"number"!=typeof b.max||b.min>b.max)?n.error("hover_set_horiz_trans_limits(): Wrong limits object"):(c.XO(a,b),m.B(a),u.sync_transform(a)):n.error("hover_set_horiz_trans_limits(): Wrong camera object or camera move style")};a.hover_get_horiz_trans_limits=function(a,b){if(!c.is_hover_camera(a))return n.error("hover_get_horiz_trans_limits(): Wrong camera object or camera move style"),
  2376. null;var d=a.k;return d.lc?(b=b||{},b.min=d.lc.min,b.max=d.lc.max,b):null};a.hover_switch_horiz_rotation=function(a,b){if(!c.is_hover_camera(a))return n.error("hover_switch_horiz_rotation(): Wrong camera object or camera move style"),null;a.k.Sg=b};a.is_static_camera=c.is_static_camera;a.is_target_camera=c.is_target_camera;a.is_eye_camera=c.is_eye_camera;a.is_hover_camera=c.is_hover_camera;a.set_move_style=function(a,b){if(!e.is_camera(a))return n.error("set_move_style(): Wrong camera object"),!1;
  2377. if(b!=c.MS_STATIC&&b!=c.MS_EYE_CONTROLS&&b!=c.MS_TARGET_CONTROLS&&b!=c.MS_HOVER_CONTROLS)return n.error("set_move_style(): Wrong move style"),!1;c.set_move_style(a,b);m.B(a);u.sync_transform(a);return!0};a.get_move_style=function(a){return e.is_camera(a)?c.get_move_style(a):(n.error("get_move_style(): Wrong camera object"),null)};a.set_translation=function(a,b){if(e.is_camera(a)){var d=a.k;if(c.is_target_camera(a)){var f=k.get_trans_view(d.n),f=y.subtract(b,f,x);y.add(f,d.pivot,d.pivot)}else c.is_hover_camera(a)&&
  2378. (f=k.get_trans_view(d.n),f=y.subtract(b,f,x),y.add(f,d.Kb,d.Kb));m.set_translation(a,b);m.B(a);u.sync_transform(a)}else n.error("set_translation(): Wrong camera object")};a.get_translation=function(a,b){if(!e.is_camera(a))return n.error("get_translation(): Wrong camera object"),null;b=b||new Float32Array(3);return m.get_translation(a,b)};a.rotate_camera=function(a,b,d,f,g){e.is_camera(a)?(f=f||!1,g=g||!1,c.is_target_camera(a)?c.rotate_target_camera(a,b,d,f,g):c.is_eye_camera(a)?c.rotate_eye_camera(a,
  2379. b,d,f,g):c.is_hover_camera(a)?c.rotate_hover_camera(a,b,d,f,g):c.is_static_camera(a)?n.warn("rotate_camera(): not supported for STATIC cameras"):n.error("rotate_camera(): Wrong camera move style"),m.B(a),u.sync_transform(a)):n.error("rotate_camera(): Wrong camera object")};a.set_velocities=function(a,b){if(e.is_camera(a)){var c=a.k;"number"==typeof b.trans&&(c.Gj=d.clamp(b.trans,0,Infinity));"number"==typeof b.rot&&(c.Fj=d.clamp(b.rot,0,Infinity));"number"==typeof b.zoom&&(c.Hj=d.clamp(b.zoom,0,.99))}else n.error("set_velocities(): Wrong camera object")};
  2380. a.get_velocities=function(a,b){if(!e.is_camera(a))return n.error("get_velocities(): Wrong camera object"),null;var c=a.k;b=b||{};b.trans=c.Gj;b.rot=c.Fj;b.zoom=c.Hj;return b};a.is_look_up=function(a){if(!e.is_camera(a))return n.error("is_look_up(): Wrong camera object"),!1;a=k.get_quat_view(a.k.n);return 0<=d.quat_to_dir(a,d.AXIS_MZ,x)[1]};a.get_camera_angles=function(a,b){if(!e.is_camera(a))return n.error("get_camera_angles(): Wrong camera object"),null;b=b||new Float32Array(2);c.get_camera_angles(a,
  2381. b);return b};a.get_camera_angles_char=function(a,b){if(!e.is_camera(a))return n.error("get_camera_angles_char(): Wrong camera object"),null;b=b||new Float32Array(2);c.get_camera_angles_char(a,b);return b};a.get_camera_angles_dir=function(a,b){b=b||new Float32Array(2);var e=y.normalize(a,x),e=d.wx(d.AXIS_MZ,e,E);d.correct_cam_quat_up(e,!0);c.Kv(e,b);return b};a.set_stereo_distance=function(a,b){if(e.is_camera(a))for(var d=t.get_active(),d=e.da(a,d).W,f=0;f<d.length;f++){var g=d[f];g.type!=c.zc&&g.type!=
  2382. c.Ic&&g.type!=c.fe&&g.type!=c.ge||c.iP(g,b,g.xe)}else n.error("set_stereo_distance(): Wrong camera object")};a.get_stereo_distance=function(a){if(!e.is_camera(a))return n.error("get_stereo_distance(): Wrong camera object"),0;var b=t.get_active();a=e.da(a,b).W;for(b=0;b<a.length;b++){var d=a[b];if(d.type==c.zc||d.type==c.Ic)return d.uj}return 0};a.set_eye_distance=function(a,b){if(e.is_camera(a)){var d=t.get_active(),d=e.da(a,d).W;c.set_eye_distance(d,b)}else n.error("set_eye_distance(): Wrong camera object")};
  2383. a.get_eye_distance=function(a){if(!e.is_camera(a))return n.error("get_eye_distance(): Wrong camera object"),0;var b=t.get_active();a=e.da(a,b).W;for(b=0;b<a.length;b++){var d=a[b];if(d.type==c.zc||d.type==c.Ic||d.type==c.fe||d.type==c.ge)return d.xe}return 0};a.set_vertical_axis=function(a,b){e.is_camera(a)?(y.copy(b,a.k.Ae),m.B(a),u.sync_transform(a)):n.error("set_vertical_axis(): Wrong camera object")};a.get_vertical_axis=function(a,b){if(e.is_camera(a))return b||(b=y.create()),y.copy(a.k.Ae,b),
  2384. b;n.error("get_vertical_axis(): Wrong camera object")};a.translate_view=function(a,b,d,f){if(e.is_camera(a)){var g=t.get_active();a=e.da(a,g).W;for(g=0;g<a.length;g++){var k=a[g];k.dc||c.rj(k,k.qb);var m=x;m[0]=-b;m[1]=-d;m[2]=0;p.translate(k.mb,m,k.mb);p.rotateZ(k.mb,f,k.mb);c.Oz(k);c.Ju(k)}}else n.error("translate_view(): Wrong camera object")};a.get_view_vector=function(a,b){if(!e.is_camera(a))return n.error("get_view_vector(): Wrong camera object"),null;b=b||new Float32Array(3);var c=k.get_quat_view(a.k.n);
  2385. d.quat_to_dir(c,d.AXIS_MZ,b);return b};a.get_fov=function(a){if(!e.is_camera(a))return n.error("get_fov(): Wrong camera object"),0;var b=t.get_active();a=e.da(a,b).W;return d.deg_to_rad(a[0].qd)};a.set_fov=function(a,b){if(e.is_camera(a))for(var f=t.get_active(),f=e.da(a,f).W,g=0;g<f.length;g++){var k=f[g];k.qd=d.rad_to_deg(b);k.dc||c.rj(k,k.qb);c.Oz(k);c.Ju(k)}else n.error("set_fov(): Wrong camera object")};a.set_hmd_fov=function(a,b,d){var f;if(!(f=e.is_camera(a)))a:{if(e.is_camera(a)){f=t.get_active();
  2386. f=e.da(a,f).W;for(var g=0;g<f.length;g++){var k=f[g];if(k.type==c.fe||k.type==c.ge){f=!0;break a}}}else n.error("is_hmd_camera(): Wrong camera object");f=!1}f?b&&d&&c.set_hmd_fov(a,b,d):n.error("set_hmd_fov(): Wrong camera object")};a.correct_up=function(a,c,d){e.is_camera(a)?(c=c||a.k.Ae,b.correct_up(a,c,d||!1),m.B(a),u.sync_transform(a)):n.error("correct_up(): Wrong camera object")};a.set_ortho_scale=function(a,b){if(e.is_camera(a)&&c.is_ortho_camera(a)){var d=a.k;if(c.is_target_camera(a)){var f=
  2387. k.get_trans_view(d.n),f=y.dist(f,d.pivot);d.Qi=b/2*d.Pi/f}else c.is_hover_camera(a)?(f=k.get_trans_view(d.n),f=y.distance(f,d.Kb),d.Qi=b/2*d.Pi/f):(d=t.get_active(),e.da(a,d).W[0].top=b/2);c.GQ(a)}else n.error("set_ortho_scale(): Wrong camera object")};a.get_ortho_scale=function(a){if(!e.is_camera(a)||!c.is_ortho_camera(a))return n.error("get_ortho_scale(): Wrong camera object"),0;var b=t.get_active();return 2*e.da(a,b).W[0].top};a.is_ortho_camera=function(a){return e.is_camera(a)?c.is_ortho_camera(a):
  2388. (n.error("is_ortho_camera(): Wrong camera object"),!1)};a.calc_ray=function(a,b,f,p){if(!e.is_camera(a))return n.error("calc_ray(): Wrong camera object"),null;var q=t.get_active(),u=e.da(a,q).W[0];p&&3==p.length?n.L('dest parameter in the function "calc_ray" should be type of parametric line.'):p=p||new Float32Array(6);switch(u.type){case c.jd:case c.Fg:case c.zc:case c.Ic:var v=Math.tan(u.qd*Math.PI/360),A=v*u.qb,q=x;b=g.Vq(b,f,z,u);q[0]=(2*b[0]/u.width-1)*A;q[1]=(1-2*b[1]/u.height)*v;q[2]=-1;k.transform_dir_vec3(q,
  2389. a.k.n,q);y.normalize(q,q);3==p.length?y.copy(q,p):(a=m.get_translation(a,M),D.set_pline_initial_point(p,a),D.set_pline_directional_vec(p,q));return p;case c.Od:return q=x,b=g.Vq(b,f,z,u),q[0]=(2*b[0]/u.width-1)*u.top*u.qb,q[1]=(1-2*b[1]/u.height)*u.top,q[2]=0,k.transform_vec3(q,a.k.n,q),y.copy(q,p),a=k.get_quat_view(a.k.n,F),y.transformQuat(d.AXIS_MZ,a,q),D.set_pline_directional_vec(p,q),p;default:return n.error("calc_ray(): Non-compatible camera"),p}};a.project_point=function(a,b,d){if(!e.is_camera(a))return n.error("project_point(): Wrong camera object"),
  2390. null;d=d||new Float32Array(2);return c.project_point(a,b,d)};a.has_distance_limits=function(a){return(c.is_target_camera(a)||c.is_hover_camera(a))&&null!==a.k.hb};a.has_vertical_rot_limits=function(a){return(c.is_eye_camera(a)||c.is_target_camera(a)||c.is_hover_camera(a))&&null!==a.k.ea};a.has_vertical_limits=function(a){n.lb("has_vertical_limits","has_vertical_rot_limits");return c.is_target_camera(a)||c.is_eye_camera(a)?null!==a.k.ea:(n.error("has_vertical_limits(): Wrong camera object"),!1)};a.has_horizontal_rot_limits=
  2391. function(a){return(c.is_target_camera(a)||c.is_eye_camera(a))&&null!==a.k.Za};a.has_horizontal_limits=function(a){n.lb("has_horizontal_limits","has_horizontal_rot_limits");return c.is_target_camera(a)||c.is_eye_camera(a)?null!==a.k.Za:(n.error("has_horizontal_limits(): Wrong camera object"),!1)};a.has_vertical_trans_limits=function(a){return c.is_hover_camera(a)&&null!==a.k.mc};a.has_horizontal_trans_limits=function(a){return c.is_hover_camera(a)&&null!==a.k.lc};a.move_pivot=function(a,b,d){n.lb("move_pivot",
  2392. "target_pan_pivot");if(c.is_target_camera(a)){var e=a.k;if(e.use_panning){var f=k.get_trans_view(e.n),g=y.subtract(f,e.pivot,M);x[0]=b;x[1]=0;x[2]=d;y.scale(x,y.len(g),x);k.transform_dir_vec3(x,e.n,x);y.add(e.pivot,x,e.pivot);y.add(f,x,f);m.B(a);u.sync_transform(a)}}else n.error("move_pivot(): wrong object")};a.set_velocity_params=function(a,b){n.lb("set_velocity_params","set_velocities");if(e.is_camera(a)){var c=a.k;c.Gj=d.clamp(b[0],0,Infinity);c.Fj=d.clamp(b[1],0,Infinity);c.Hj=d.clamp(b[2],0,
  2393. .99)}else n.error("set_velocity_params(): Wrong camera object")};a.get_velocity_params=function(a,b){n.lb("get_velocity_params","get_velocities");if(!e.is_camera(a))return n.error("get_velocity_params(): Wrong camera object"),null;b=b||new Float32Array(3);var c=a.k;b[0]=c.Gj;b[1]=c.Fj;b[2]=c.Hj;return b};a.clear_horizontal_limits=function(a){n.L('camera.clear_horizontal_limits() deprecated, use camera.target_set_horizontal_limits(), camera.eye_set_horizontal_limits() or camera.hover_set_horiz_trans_limits() with passing null as the "limits" argument.');
  2394. e.is_camera(a)?c.is_target_camera(a)||c.is_eye_camera(a)?a.k.Za=null:c.is_hover_camera(a)&&(a.k.lc=null):n.error("clear_horizontal_limits(): Wrong camera object")};a.clear_vertical_limits=function(a){n.L('camera.clear_vertical_limits() deprecated, use camera.target_set_vertical_limits(), camera.eye_set_vertical_limits() or camera.hover_set_vert_trans_limits() with passing null as the "limits" argument.');e.is_camera(a)?c.is_target_camera(a)||c.is_eye_camera(a)?a.k.ea=null:c.is_hover_camera(a)&&(a.k.mc=
  2395. null):n.error("clear_vertical_limits(): Wrong camera object")};a.clear_hover_angle_limits=function(){n.L("camera.clear_hover_angle_limits() deprecated, HOVER camera always has hover angle limits")};a.set_look_at=function(a,d,e,f){n.Tg("camera.set_look_at",["camera.static_set_look_at","camera.eye_set_look_at"]);f=f||a.k.Ae;c.set_look_at(a,d,e);b.correct_up(a,f,!0);m.B(a);u.sync_transform(a)};a.rotate_eye_camera=function(a,b,d,e,f){n.Tg("camera.rotate_eye_camera",["camera.eye_rotate","camera.rotate_camera"]);
  2396. c.is_eye_camera(a)?(c.rotate_eye_camera(a,b,d,e,f),m.B(a),u.sync_transform(a)):n.error("rotate_eye_camera(): wrong object")};a.rotate_target_camera=function(a,b,d,e,f){n.Tg("camera.rotate_target_camera",["camera.target_rotate","camera.rotate_camera"]);c.is_target_camera(a)?(c.rotate_target_camera(a,b,d,e,f),m.B(a),u.sync_transform(a)):n.error("rotate_target_camera(): wrong object")};a.set_trans_pivot=function(a,b,d){n.lb("camera.set_trans_pivot","camera.target_set_trans_pivot");c.is_target_camera(a)?
  2397. (c.set_trans_pivot(a,b,d),m.B(a),u.sync_transform(a)):n.error("set_trans_pivot(): Wrong object or camera move style")};a.zoom_object=function(a,b){n.lb("camera.zoom_object","camera.target_zoom_object");if(c.is_target_camera(a)){m.get_object_center(b,!1,x);f(a,x);m.B(a);var d=m.get_object_size(b),g=t.get_active(),g=e.da(a,g).W[0],g=c.iB(g)/2,d=d/Math.sin(g),g=m.um(a,x);m.move_local(a,0,0,d-g);m.B(a);u.sync_transform(a)}else n.error("zoom_object(): wrong object")};a.set_pivot=f;a.rotate_hover_camera=
  2398. function(a,b,d,e,f){n.lb("camera.rotate_hover_camera","camera.hover_rotate");c.is_hover_camera(a)?(c.rotate_hover_camera(a,b,d,e,f),m.B(a),u.sync_transform(a)):n.error("rotate_hover_camera(): wrong object")};a.get_hover_cam_pivot=function(a,b){n.lb("camera.get_hover_cam_pivot","camera.hover_get_pivot");if(!c.is_hover_camera(a))return n.error("get_hover_cam_pivot(): wrong object"),null;b||(b=new Float32Array(3));y.copy(a.k.Kb,b);return b};a.get_eye=function(a,b){n.lb("camera.get_eye","camera.get_translation");
  2399. return e.is_camera(a)?c.get_eye(a,b):(n.error("get_eye(): Wrong object"),null)};a.get_pivot=function(a,b){n.lb("camera.get_pivot","camera.target_get_pivot");if(!c.is_target_camera(a))return n.error("get_pivot(): Wrong object or camera move style"),null;b||(b=new Float32Array(3));y.copy(a.k.pivot,b);return b};a.hover_cam_set_translation=function(a,b){n.lb("camera.hover_cam_set_translation","camera.set_translation");if(c.is_hover_camera(a)){var d=a.k,e=k.get_trans_view(d.n),e=y.subtract(b,e,x);y.add(e,
  2400. d.Kb,d.Kb);m.set_translation(a,b);m.B(a);u.sync_transform(a)}else n.error("hover_cam_set_translation(): wrong object")};a.set_hover_pivot=function(a,b){n.lb("camera.set_hover_pivot","camera.hover_set_pivot_translation");c.is_hover_camera(a)?(c.set_hover_pivot(a,b),m.B(a),u.sync_transform(a)):n.error("set_hover_pivot(): Wrong object or camera move style")};a.get_hover_angle_limits=function(a,b){n.lb("camera.get_hover_angle_limits","camera.hover_get_vertical_limits");if(!c.is_hover_camera(a))return n.error("get_hover_angle_limits(): wrong object"),
  2401. null;b=b||new Float32Array(2);b[0]=a.k.ea.down;b[1]=a.k.ea.up;return b};a.get_cam_dist_limits=function(a,b){n.Tg("camera.get_cam_dist_limits",["camera.hover_get_distance_limits","camera.target_get_distance_limits"]);if(!c.is_hover_camera(a)&&!c.is_target_camera(a))return n.error("get_cam_dist_limits(): wrong object"),null;if(a.k.hb)b=b||new Float32Array(2),b[0]=a.k.hb.max,b[1]=a.k.hb.min;else return null;return b};a.apply_vertical_limits=function(b,d,e,f){n.Tg("camera.apply_vertical_limits",["camera.eye_set_vertical_limits",
  2402. "camera.target_set_vertical_limits","camera.hover_set_vert_trans_limits"]);if(c.is_target_camera(b)){var g=A;g.down=d;g.up=e;g.camera_space=f==m.SPACE_LOCAL;a.target_set_vertical_limits(b,g)}else c.is_eye_camera(b)?(g=A,g.down=d,g.up=e,g.camera_space=f==m.SPACE_LOCAL,a.eye_set_vertical_limits(b,g)):c.is_hover_camera(b)?(g=A,g.min=d,g.max=e,a.hover_set_vert_trans_limits(b,g)):n.error("apply_vertical_limits(): wrong object")};a.apply_hover_angle_limits=function(b,c,d){n.lb("camera.apply_hover_angle_limits",
  2403. "camera.hover_set_vertical_limits");A.down=c;A.up=d;a.hover_set_vertical_limits(b,A)};a.apply_distance_limits=function(b,d,e){n.Tg("camera.apply_distance_limits",["camera.target_set_distance_limits","camera.hover_set_distance_limits"]);if(c.is_target_camera(b)){var f=A;f.min=d;f.max=e;a.target_set_distance_limits(b,f)}else c.is_hover_camera(b)?(f=A,f.min=d,f.max=e,a.hover_set_distance_limits(b,f)):n.error("apply_distance_limits(): wrong object")};a.clear_distance_limits=function(b){n.lb("camera.clear_distance_limits",
  2404. "camera.target_set_distance_limits");a.target_set_distance_limits(b,null)};a.get_vertical_limits=function(a,b){n.Tg("camera.get_vertical_limits",["camera.eye_get_vertical_limits","camera.target_get_vertical_limits","camera.hover_get_vert_trans_limits"]);if(!c.is_target_camera(a)&&!c.is_eye_camera(a)&&!c.is_hover_camera(a))return n.error("get_vertical_limits(): wrong object"),null;var d=a.k;b=b||new Float32Array(2);if(c.is_eye_camera(a)||c.is_target_camera(a)){if(d.ea)return b[0]=d.ea.down,b[1]=d.ea.up,
  2405. b}else if(c.is_hover_camera(a)&&d.mc)return b[0]=d.mc.min,b[1]=d.mc.max,b;return null};a.apply_horizontal_limits=function(b,d,e,f){n.Tg("camera.apply_horizontal_limits",["camera.eye_set_horizontal_limits","camera.target_set_horizontal_limits","camera.hover_set_horiz_trans_limits"]);if(c.is_target_camera(b)){var g=A;g.left=d;g.right=e;g.camera_space=f==m.SPACE_LOCAL;a.target_set_horizontal_limits(b,g)}else c.is_eye_camera(b)?(g=A,g.left=d,g.right=e,g.camera_space=f==m.SPACE_LOCAL,a.eye_set_horizontal_limits(b,
  2406. g)):c.is_hover_camera(b)?(g=A,g.min=d,g.max=e,a.hover_set_horiz_trans_limits(b,g)):n.error("apply_horizontal_limits(): wrong object")};a.get_horizontal_limits=function(a,b){n.Tg("camera.get_horizontal_limits",["camera.eye_get_horizontal_limits","camera.target_get_horizontal_limits","camera.hover_get_horiz_trans_limits"]);if(!c.is_target_camera(a)&&!c.is_eye_camera(a)&&!c.is_hover_camera(a))return n.error("get_horizontal_limits(): wrong object"),null;var d=a.k;b=b||new Float32Array(2);if(c.is_eye_camera(a)||
  2407. c.is_target_camera(a)){if(d.Za)return b[0]=d.Za.left,b[1]=d.Za.right,b}else if(c.is_hover_camera(a)&&d.lc)return b[0]=d.lc.min,b[1]=d.lc.max,b;return null};a.get_frustum_planes=function(a,b){if(!e.is_camera(a))return n.error("get_frustum_planes(): Wrong camera object"),null;var c=t.get_active(),c=e.da(a,c).W[0].Ug;H.copy(c.left,b.left);H.copy(c.right,b.right);H.copy(c.top,b.top);H.copy(c.bottom,b.bottom);H.copy(c.near,b.near);H.copy(c.far,b.far);return b}};fdage.module.config=function(a,q){var f=q("__config"),c=q("__compat"),b=q("__debug"),g=q("__data"),p=q("__print");a.P_LOW=f.P_LOW;a.P_HIGH=f.P_HIGH;a.P_ULTRA=f.P_ULTRA;a.P_CUSTOM=f.P_CUSTOM;a.P_AUTO=f.P_AUTO;a.set=f.set;a.get=f.get;a.reset=f.reset;a.reset_limits=f.reset_limits;a.get_std_assets_path=f.get_assets_path;a.get_assets_path=f.get_assets_path;a.apply_quality=function(a){g.is_primary_loaded()?p.error("Cannot change quality profile after a scene is loaded."):(f.set("quality",a),b.Dr()&&(f.apply_quality(),
  2408. c.sD(b.Dr(),!1)))}};fdage.module.controls=function(a,q){var f=q("__controls"),c=q("__print");a.CT_POSITIVE=f.CT_POSITIVE;a.CT_CONTINUOUS=f.CT_CONTINUOUS;a.CT_TRIGGER=f.CT_TRIGGER;a.CT_SHOT=f.CT_SHOT;a.CT_LEVEL=f.CT_LEVEL;a.CT_CHANGE=f.CT_CHANGE;a.KEY_BACKSPACE=8;a.KEY_TAB=9;a.KEY_ENTER=13;a.KEY_SHIFT=16;a.KEY_CTRL=17;a.KEY_ALT=18;a.KEY_PAUSE=19;a.KEY_CAPSLOCK=20;a.KEY_ESC=27;a.KEY_SPACE=32;a.KEY_LEFT=37;a.KEY_UP=38;a.KEY_RIGHT=39;a.KEY_DOWN=40;a.KEY_1=49;a.KEY_2=50;a.KEY_3=51;a.KEY_4=52;a.KEY_5=53;a.KEY_6=54;a.KEY_7=55;
  2409. a.KEY_8=56;a.KEY_9=57;a.KEY_A=65;a.KEY_B=66;a.KEY_C=67;a.KEY_D=68;a.KEY_E=69;a.KEY_F=70;a.KEY_G=71;a.KEY_H=72;a.KEY_I=73;a.KEY_J=74;a.KEY_K=75;a.KEY_L=76;a.KEY_M=77;a.KEY_N=78;a.KEY_O=79;a.KEY_P=80;a.KEY_Q=81;a.KEY_R=82;a.KEY_S=83;a.KEY_T=84;a.KEY_U=85;a.KEY_V=86;a.KEY_W=87;a.KEY_X=88;a.KEY_Y=89;a.KEY_Z=90;a.KEY_NUM0=96;a.KEY_NUM1=97;a.KEY_NUM2=98;a.KEY_NUM3=99;a.KEY_NUM4=100;a.KEY_NUM5=101;a.KEY_NUM6=102;a.KEY_NUM7=103;a.KEY_NUM8=104;a.KEY_NUM9=105;a.KEY_MULT=106;a.KEY_ADD=107;a.KEY_SUB=109;a.KEY_DEC_POINT=
  2410. 110;a.KEY_DIV=111;a.KEY_SEMI_COLON=186;a.KEY_EQUAL_SIGN=187;a.KEY_COMMA=188;a.KEY_DASH=189;a.KEY_PERIOD=190;a.KEY_FORWARD_SLASH=191;a.KEY_GRAVE_ACCENT=192;a.KEY_LEFT_SQ_BRACKET=219;a.KEY_BACK_SLASH=220;a.KEY_RIGHT_SQ_BRACKET=221;a.KEY_SINGLE_QUOTE=222;a.PL_SINGLE_TOUCH_MOVE=f.PL_SINGLE_TOUCH_MOVE;a.PL_MULTITOUCH_MOVE_ZOOM=f.PL_MULTITOUCH_MOVE_ZOOM;a.PL_MULTITOUCH_MOVE_PAN=f.PL_MULTITOUCH_MOVE_PAN;a.PL_MULTITOUCH_MOVE_ROTATE=f.PL_MULTITOUCH_MOVE_ROTATE;a.default_AND_logic_fun=f.default_AND_logic_fun;
  2411. a.default_OR_logic_fun=f.default_OR_logic_fun;a.create_gamepad_btn_sensor=f.create_gamepad_btn_sensor;a.create_gamepad_axis_sensor=f.create_gamepad_axis_sensor;a.create_custom_sensor=f.create_custom_sensor;a.create_keyboard_sensor=f.create_keyboard_sensor;a.create_collision_sensor=function(a,c,p){return f.create_collision_sensor(a,c||"ANY",p||!1)};a.create_collision_impulse_sensor=f.create_collision_impulse_sensor;a.create_ray_sensor=function(a,c,p,q,e,u,n){return f.create_ray_sensor(a,c,p,q||"ANY",
  2412. e||!1,u||!1,n||!1)};a.create_mouse_click_sensor=f.create_mouse_click_sensor;a.create_mouse_wheel_sensor=f.create_mouse_wheel_sensor;a.create_mouse_move_sensor=f.create_mouse_move_sensor;a.create_plock_mouse_sensor=f.create_plock_mouse_sensor;a.create_plock_sensor=f.create_plock_sensor;a.create_touch_move_sensor=f.create_touch_move_sensor;a.create_touch_zoom_sensor=f.create_touch_zoom_sensor;a.create_touch_rotate_sensor=f.create_touch_rotate_sensor;a.create_touch_click_sensor=f.create_touch_click_sensor;
  2413. a.create_motion_sensor=f.create_motion_sensor;a.create_vertical_velocity_sensor=f.create_vertical_velocity_sensor;a.create_gyro_angles_sensor=f.create_gyro_angles_sensor;a.create_gyro_quat_sensor=f.create_gyro_quat_sensor;a.create_gyro_delta_sensor=f.create_gyro_delta_sensor;a.create_hmd_quat_sensor=f.create_hmd_quat_sensor;a.create_hmd_position_sensor=f.create_hmd_position_sensor;a.create_timer_sensor=function(a,c){return f.create_timer_sensor(a,c||!1)};a.reset_timer_sensor=f.reset_timer_sensor;
  2414. a.create_elapsed_sensor=f.create_elapsed_sensor;a.create_timeline_sensor=f.create_timeline_sensor;a.create_selection_sensor=function(a,c){return f.create_selection_sensor(a,c||!1)};a.create_callback_sensor=function(a,c){return f.create_callback_sensor(a,c||0)};a.set_custom_sensor=function(a,c){f.KO(a,c)};a.get_custom_sensor=function(a){return a.value};a.get_sensor_value=f.get_sensor_value;a.get_sensor_payload=f.get_sensor_payload;a.create_sensor_manifold=function(a,c,p,q,e,u,n){e=e||f.default_AND_logic_fun;
  2415. f.create_sensor_manifold(a,c,p,q,e,u,void 0===n?null:n)};a.create_kb_sensor_manifold=function(a,c,p,q,e,u){q=f.create_keyboard_sensor(q);f.create_sensor_manifold(a,c,p,[q],f.default_AND_logic_fun,e,void 0===u?null:u)};a.check_sensor_manifolds=function(a){return f.check_sensor_manifold(a,null)};a.check_sensor_manifold=f.check_sensor_manifold;a.remove_sensor_manifold=f.remove_sensor_manifold;a.reset=f.reset;a.register_keyboard_events=function(){c.L("controls.register_keyboard_events() deprecated")};
  2416. a.register_mouse_events=function(){c.L("controls.register_mouse_events() deprecated")};a.register_wheel_events=function(){c.L("controls.register_wheel_events() deprecated")};a.register_touch_events=function(){c.L("controls.register_touch_events() deprecated")};a.register_device_orientation=function(){c.L("controls.register_device_orientation() deprecated")};a.unregister_keyboard_events=function(){c.L("controls.unregister_keyboard_events() deprecated")};a.unregister_mouse_events=function(){c.L("controls.unregister_mouse_events() deprecated")};
  2417. a.unregister_wheel_events=function(){c.L("controls.unregister_wheel_events() deprecated")};a.unregister_touch_events=function(){c.L("controls.unregister_touch_events() deprecated")};a.unregister_device_orientation=function(){c.L("controls.unregister_device_orientation() deprecated")};a.set_plock_smooth_factor=f.set_plock_smooth_factor};fdage.module.constraints=function(a,q){var f=q("__camera"),c=q("__constraints"),b=q("__obj_util"),g=q("__physics"),p=q("__print"),D=q("__transform");a.append_stiff=function(a,b,f,p,m){m=m||1;b instanceof Array&&2==b.length?c.IH(a,b[0],b[1],f,p,m):c.kz(a,b,f,p,m);D.B(a);g.sync_transform(a)};a.append_semi_stiff=function(a,b,f,p){c.GH(a,b,f,p);D.B(a);g.sync_transform(a)};a.append_semi_stiff_cam=function(a,b,n,q,m,k,d,y){f.is_eye_camera(a)?(m=m||-Math.PI/2,k=k||Math.PI/2,d=d||Math.PI/2,y=y||-Math.PI/2,
  2418. c.FH(a,b,n,q,m,k,d,y),D.B(a),g.sync_transform(a)):p.error("append_semi_stiff_cam(): wrong object type, only EYE camera objects can be parented.")};a.append_semi_soft_cam=function(a,b,n,q){if(f.is_eye_camera(a)){if(!q||0>q)q=.25;c.EH(a,b,n,q);D.B(a);g.sync_transform(a)}else p.error("append_semi_soft_cam(): wrong object type, only EYE camera objects can be parented.")};a.append_stiff_trans=function(a,b,f){c.KH(a,b,f);D.B(a);g.sync_transform(a)};a.append_copy_trans=function(a,b,f){c.xH(a,b,f);D.B(a);
  2419. g.sync_transform(a)};a.append_stiff_trans_rot=function(a,b,f,p){c.LH(a,b,f,p);D.B(a);g.sync_transform(a)};a.append_track=function(a,b){3==b.length?c.OH(a,b):c.NH(a,b);D.B(a);g.sync_transform(a)};a.append_follow=function(a,b,f,p){3==b.length?c.BH(a,b,f,p):c.AH(a,b,f,p);D.B(a);g.sync_transform(a)};a.append_stiff_viewport=function(a,b,f){c.append_stiff_viewport(a,b,f);D.B(a);g.sync_transform(a)};a.remove=function(a){a.bc&&c.remove(a)};a.get_parent=function(a){p.lb("constraints.get_parent","objects.get_parent");
  2420. return b.get_parent(a)}};fdage.module.container=function(a,q){var f=q("__container"),c=q("__print");a.get_canvas=f.get_canvas;a.get_canvas_hud=f.get_canvas_hud;a.get_container=f.get_container;a.insert_to_container=function(a,g){2!=arguments.length?c.error("insert_to_container(): two arguments required"):a&&g&&f.insert_to_container(a,g)};a.set_canvas_offsets=f.set_canvas_offsets;a.update_canvas_offsets=f.update_canvas_offsets;a.client_to_canvas_coords=f.client_to_canvas_coords;a.force_offsets_updating=f.force_offsets_updating;
  2421. a.resize=function(a,g,p){a&&g||c.warn("Wrong canvas container dimensions: "+a+"x"+g+". Zero dimensions aren't allowed. Resized to: "+f.au+"x"+f.$t+".");f.resize(a,g,p)};a.resize_to_container=function(a){f.resize_to_container(a||!1)}};fdage.module.data=function(a,q){var f=q("__data"),c=q("__loader");q("__print");a.load=f.load;a.unload=function(a){f.unload(a|0)};a.set_debug_resources_root=f.set_debug_resources_root;a.is_primary_loaded=f.is_primary_loaded;a.is_idle=c.Gk;a.load_and_add_new=f.load;a.cleanup=a.unload;a.activate_media=f.activate_media;a.prefetch=f.prefetch;a.unfetch=f.unfetch};fdage.module.debug=function(a,q){function f(a){var b={};if(!a)return b;a=a.split("\n");for(var c=0;c<a.length;c++){var d=a[c];if(-1!=d.search(new RegExp(/^[A-Z.]+ ?/))){var e=d.split(" ")[0];e in b||(b[e]=0);b[e]++}}d=c=a=0;for(e in b)switch(e){case "KIL":case "TEX":case "TXB":case "TXP":case "KIL.F":case "TEX.F":case "TXB.F":case "TXD.F":case "TXL.F":case "TXQ.F":case "TXP.F":c+=b[e];a+=b[e];break;case "ATTRIB":d+=b[e];break;case "ADDRESS":case "PARAM":case "TEMP":case "ALIAS":case "OUTPUT":break;
  2422. case "END":break;default:a+=b[e]}b.ALL_OPS=a;b.TEX_OPS=c;b.ATTRIBS=d;return b}function c(a,b){var c=new XMLHttpRequest;c.open("POST",a,!1);c.send(b);if(200==c.status)return c.responseText;z.error(c.responseText);throw"Error POST XHR: "+c.status;}function b(a){a.sort(function(a,b){return b.Gv.ALL_OPS-a.Gv.ALL_OPS});for(var b=0;b<a.length;b++){var c=a[b],d=c.Gv,e=c.kR,f=g(c.qK),f=f.length?"\t\t("+f.join(", ")+")":"\t\t(NA)";z.groupCollapsed("VERT ->","OPS",e.ALL_OPS,"ATT",e.ATTRIBS,"TEX",e.TEX_OPS,
  2423. "\t\tFRAG ->","OPS",d.ALL_OPS,"TEX",d.TEX_OPS,f);z.groupCollapsed("directives");for(var h=c.Va.Jh.slice().sort(),f=0;f<h.length;f++){var k=h[f];z.ud(k[0],k[1])}z.groupEnd();z.groupCollapsed("node elements");h=c.Va.yf;for(f=0;f<h.length;f++)z.ud(h[f]);z.groupEnd();z.groupCollapsed("vert source");z.ud(c.iR);z.groupEnd();z.groupCollapsed("vert translated source");z.ud(c.jR);z.groupEnd();f=["ALL_OPS","TEX_OPS","ATTRIBS"];z.groupCollapsed("vert ops stats");for(var l in e)-1==f.indexOf(l)&&z.ud(l,e[l]);
  2424. z.groupEnd();z.groupCollapsed("vert assembly");z.ud(c.hR);z.groupEnd();z.groupCollapsed("frag source");z.ud(c.rL);z.groupEnd();z.groupCollapsed("frag translated source");z.ud(c.sL);z.groupEnd();z.groupCollapsed("frag ops stats");for(l in d)-1==f.indexOf(l)&&z.ud(l,d[l]);z.groupEnd();z.groupCollapsed("frag assembly");z.ud(c.iL);z.groupEnd();z.groupEnd()}}function g(a){for(var b=[],c=M.No(),d=0;d<c.length;d++)for(var e=c[d],f=y.Eb(e,"MESH",y.DATA_ID_ALL),h=0;h<f.length;h++){var g=H.da(f[h],e);if(g&&
  2425. g.M.length)for(var g=g.M,k=0;k<g.length;k++){var l=g[k];if(l.pb==a)for(var m=0;m<l.nc.length;m++){var n=l.nc[m];-1==b.indexOf(n)&&b.push(n)}}}return b}function p(a,b){function c(){J.push(c);B=b;return a.apply(a,arguments)}return c}function D(a,b,c){if(typeof b!=typeof a)throw"Wrong expected data type.";if(a.length!=b.length)throw"Wrong expected vector length.";c=c?c:1E-6;for(var d=0;d<a.length;d++)if(b[d]>a[d]+c||b[d]<a[d]-c)throw"Wrong result.";}var e=q("__config"),u=q("__compat"),n=q("__controls"),
  2426. t=q("__container"),m=q("__debug"),k=q("__extensions"),d=q("__loader"),y=q("__objects"),H=q("__obj_util"),v=q("__physics"),z=q("__print"),x=q("__renderer"),M=q("__scenes"),F=q("__scenegraph"),E=q("__sfx"),A=q("__shaders"),K=q("__subscene"),h=q("__textures"),l=q("__util"),w=q("__vec3"),r=e.A,J=[],B="",Z=!0,I=new Float32Array(2);a.DV_NONE=m.DV_NONE;a.DV_OPAQUE_WIREFRAME=m.DV_OPAQUE_WIREFRAME;a.DV_TRANSPARENT_WIREFRAME=m.DV_TRANSPARENT_WIREFRAME;a.DV_FRONT_BACK_VIEW=m.DV_FRONT_BACK_VIEW;a.DV_BOUNDINGS=
  2427. m.DV_BOUNDINGS;a.DV_CLUSTERS_VIEW=m.DV_CLUSTERS_VIEW;a.DV_BATCHES_VIEW=m.DV_BATCHES_VIEW;a.DV_RENDER_TIME=m.DV_RENDER_TIME;a.physics_stats=function(){v.yK()};a.physics_id=function(a){z.log("O",v.eL(a));for(var b=v.EL().jc.ma,c=0;c<b.length;c++){var d=b[c];d.C.X==a&&z.log("B",d)}};a.visible_objects=function(){for(var a=M.get_active(),b=y.Eb(a,"MESH",y.DATA_ID_ALL),a=[M.Ca(a,K.Db),M.Ca(a,K.yc),M.Ca(a,K.Ad)],c=0;c<a.length;c++){var d=a[c],e=subs.Ha;if(e.length){z.group(d.type,"DYNAMIC");for(var f=0;f<
  2428. b.length;f++){var h=b[f],g=h.k;if("DYNAMIC"==g.type)for(var k=!1,l=0;l<e.length;l++){for(var m=e[l].ma,n=0;n<m.length;n++){var p=m[n];if(p.Sb&&p.te==g){z.ud(h.name,h);k=!0;break}}if(k)break}}z.groupEnd();z.groupCollapsed(d.type,"STATIC");for(f=0;f<b.length;f++)if(h=b[f],g=h.k,"DYNAMIC"!=g.type)for(k=!1,l=0;l<e.length;l++){m=e[l].ma;for(n=0;n<m.length;n++)if(p=m[n],p.Sb&&p.te==g){z.ud(h.name,h);k=!0;break}if(k)break}z.groupEnd()}}};a.object_info=function(a){for(var b=M.get_active(),c=y.Eb(b,"MESH",
  2429. y.DATA_ID_ALL),d=0;d<c.length;d++){var e=c[d];if(e.name==a){z.log("Object",e);for(var f=M.Jv(b),h=0;h<f.length;h++){for(var g=f[h],k=[],l=g.Ha,m=0;m<l.length;m++)for(var n=l[m].ma,p=0;p<n.length;p++)n[p].te==e.k&&k.push(n[p]);z.log("Subscene "+g.type,k)}}}};a.objects_stat=function(){var a=M.get_active();console.log("Armatures: "+y.Eb(a,"ARMATURE",y.DATA_ID_ALL).length);console.log("Cameras: "+y.Eb(a,"CAMERA",y.DATA_ID_ALL).length);console.log("Curves: "+y.Eb(a,"CURVE",y.DATA_ID_ALL).length);console.log("Empties: "+
  2430. y.Eb(a,"EMPTY",y.DATA_ID_ALL).length);console.log("Lamps: "+y.Eb(a,"LAMP",y.DATA_ID_ALL).length);console.log("Meshes: "+y.Eb(a,"MESH",y.DATA_ID_ALL).length);console.log("Speakers: "+y.Eb(a,"SPEAKER",y.DATA_ID_ALL).length)};a.num_vertices=function(){for(var a=0,b=M.get_active(),b=[M.Ca(b,K.Db),M.Ca(b,K.yc),M.Ca(b,K.Ad)],c=0;c<b.length;c++){var d=b[c];if(d)for(var d=d.Ha,e=0;e<d.length;e++)for(var f=d[e].ma,h=0;h<f.length;h++){var g=f[h].pa;g&&(a+=g.num_vertices)}}return a};a.num_triangles=function(){for(var a=
  2431. 0,b=M.get_active(),b=[M.Ca(b,K.Db),M.Ca(b,K.yc),M.Ca(b,K.Ad)],c=0;c<b.length;c++){var d=b[c];if(d)for(var d=d.Ha,e=0;e<d.length;e++)for(var f=d[e].ma,h=0;h<f.length;h++){var g=f[h].pa;g&&(a+=g.num_triangles)}}return a};a.num_draw_calls=function(){for(var a=M.get_active(),b=M.Px(a,[K.Db,K.yc,K.Ad,K.hd,K.Ge]),c=0,d=0;d<b.length;d++)for(var e=b[d],e=e.Ha,f=0;f<e.length;f++)c+=e[f].ma.length;a=M.Px(a,[K.Pc,K.ee]);for(d=0;d<a.length;d++)for(e=a[d],e=e.Ha,f=0;f<e.length;f++)c+=6*e[f].ma.length;return c};
  2432. a.num_shaders=function(){return l.Oo(A.mB())};a.geometry_stats=function(){for(var a=M.get_active(),b=M.Jv(a),a={},c=0;c<b.length;c++){var d=b[c];if(d.type!=K.Cl&&d.type!=K.Fe)for(var e=d.Ha,f=0;f<e.length;f++)for(var h=e[f].ma,g=0;g<h.length;g++){var k=h[g].pa,l=h[g].te;k&&(d.type!=K.Ee&&d.type!=K.Lf||l.Is||l.Hs)&&(a[k.id]=k)}}var c=b=0,m;for(m in a)d=a[m].fa,d.Jl&&(c+=d.Jl/1048576),b+=d.Ll/1048576;return{vbo_memory:b,ibo_memory:c}};a.num_textures=function(){for(var a=[],b=0,c=M.get_active(),c=[M.Ca(c,
  2433. K.Db),M.Ca(c,K.yc),M.Ca(c,K.Ad)],d=0;d<c.length;d++){var e=c[d];if(e)for(var e=e.Ha,f=0;f<e.length;f++)for(var h=e[f].ma,g=0;g<h.length;g++){var k=h[g].pa;if(k)for(var k=k.ra,l=0;l<k.length;l++){var m=k[l];if("IMAGE"===m.source||"ENVIRONMENT_MAP"===m.source){var n=m.gb;-1===a.indexOf(n)&&(a.push(n),m=m.width*m.height*4/1048576/m.jo,m*=1.3333,b+=m)}}}}return{number:a.length,memory:b}};a.num_render_targets=function(){for(var a=[],b=0,c=M.get_active(),c=M.Jv(c),d=0;d<c.length;d++){var e=c[d];if(e.type!=
  2434. K.Cl){var f=e.p,g=[f.gc,f.le];g.push.apply(g,e.mh);for(e=0;e<g.length;e++){var k=g[e];h.im(k)&&-1==a.indexOf(k)&&(a.push(k),b+=f.width*f.height*h.kM(k))}}}return{number:a.length,memory:b/1024/1024}};a.make_camera_frustum_shot=function(){var a=M.get_active();(a=M.Ca(a,K.Db))&&M.nC(a.p,a,[1,1,0])};a.make_light_frustum_shot=function(){var a=M.get_active(),b=M.Ca(a,K.Db),a=M.Px(a,[K.Hc]);if(b)for(var c=0;c<a.length;c++){var d=a[c],e;switch(c){case 0:e=[1,0,0];break;case 1:e=[0,1,0];break;case 2:e=[0,
  2435. 0,1];break;default:e=[1,0,1]}M.nC(d.p,b,e)}};a.scenegraph_to_dot=function(){for(var a=M.No(),b=0;b<a.length;b++)z.log("\n"+F.vK(M.Pv(a[b])))};a.scenes_to_dot=function(){};a.loading_graph_to_dot=function(){z.log("\n"+d.oM())};a.controls_info=n.debug;a.object_distance=function(a,b){var c=m_tsr.get_trans_view(a.k.n),d=m_tsr.get_trans_view(b.k.n);return w.dist(c,d)};a.msg=m.msg;a.fbmsg=m.fbmsg;a.print_telemetry=m.print_telemetry;a.plot_telemetry=m.plot_telemetry;a.fbres=function(a,b){function c(){m.fbmsg("FBRES",
  2436. a());setTimeout(c,b)}b||(b=16);c()};a.assert_constants=function(){var a=new Float32Array(3),b=new Float32Array([0,0,0,1]),c=new Float32Array([1,0,0]),d=new Float32Array([0,1,0]),e=new Float32Array([0,0,1]),f=new Float32Array([-1,0,0]),h=new Float32Array([0,-1,0]),g=new Float32Array([0,0,-1]);if(!l.Bi(a,l.Yy))throw"Wrong VEC3_IDENT";if(!l.Bi(b,l.Al))throw"Wrong QUAT4_IDENT";if(!l.Bi(c,l.AXIS_X))throw"Wrong AXIS_X";if(!l.Bi(d,l.AXIS_Y))throw"Wrong AXIS_Y";if(!l.Bi(e,l.AXIS_Z))throw"Wrong AXIS_Z";if(!l.Bi(f,
  2437. l.AXIS_MX))throw"Wrong AXIS_MX";if(!l.Bi(h,l.AXIS_MY))throw"Wrong AXIS_MY";if(!l.Bi(g,l.AXIS_MZ))throw"Wrong AXIS_MZ";};a.mute_music=function(){for(var a=E.get_speaker_objects(),b=0;b<a.length;b++){var c=a[b];"BACKGROUND_MUSIC"==E.Tv(c)&&E.mute(c,!0)}};a.check_finite=function(a){m.check_finite(a)};a.set_debug_params=function(a){var b=M.get_active();if(b=M.Ca(b,K.Fe)){if("number"==typeof a.debug_view_mode)switch(a.debug_view_mode){case m.DV_NONE:case m.DV_OPAQUE_WIREFRAME:case m.DV_TRANSPARENT_WIREFRAME:case m.DV_FRONT_BACK_VIEW:case m.DV_BOUNDINGS:case m.DV_CLUSTERS_VIEW:case m.DV_BATCHES_VIEW:case m.DV_RENDER_TIME:M.PO(b,
  2438. a.debug_view_mode);break;default:z.error("set_debug_params(): Wrong debug view mode")}"number"==typeof a.debug_colors_seed&&M.OO(b,a.debug_colors_seed);"number"==typeof a.uO&&M.hP(b,a.uO);"object"==typeof a.wireframe_edge_color&&M.oP(b,l.f32(a.wireframe_edge_color))}else z.error("Debugging is not available on the scene.")};a.get_error_quantity=function(){return z.QL()};a.get_warning_quantity=function(){return z.mM()};a.clear_errors_warnings=function(){return z.clear_errors_warnings()};a.analyze_shaders=
  2439. function(a){var d=A.mB(),e=0,h;for(h in d)a&&-1===h.indexOf(a)||e++;var e="of "+e+" analyzing...",g={};for(h in d)if(!a||-1!==h.indexOf(a)){var l=d[h],n;var p=l.Ot;n=l.zr;var r=k.NL();if(r){var q=r.getTranslatedShaderSource(p),r=r.getTranslatedShaderSource(n);if(u.detect_mobile())var q=q.replace("#version","#version 300 //"),r=r.replace("#version","#version 300 //"),t=c("/analyze_shader/vert_gles",q),v=c("/analyze_shader/frag_gles",r);else q=q.replace("#version","#version 400 //"),r=r.replace("#version",
  2440. "#version 400 //"),t=c("/analyze_shader/vert",q),v=c("/analyze_shader/frag",r);var y=f(t),w=f(v);n={iR:m.Dr().getShaderSource(p),jR:q,hR:t,kR:y,rL:m.Dr().getShaderSource(n),sL:r,iL:v,Gv:w}}else z.error("WEBGL_debug_shaders extension not found"),n=void 0;q=l.Va;p=q.Jf+" + "+q.ne;n.qK=l;n.Va=q;l=g[p]=g[p]||[];l.push(n);z.ud(e)}for(p in g)z.group("%c"+p,"color: #800"),l=g[p],b(l),z.groupEnd()};a.fake_load=m.fake_load;a.test_performance=function(b){if(A.aA())if(k.Mv()){var c=r.gl_debug;r.gl_debug=!0;
  2441. var d=F.IJ();M.cB(null,d);for(var e=F.Xb(d,K.pn),f=e.p,d=0;5>d;d++)x.Pl(e);r.gl_debug=c;window.setTimeout(function(){m.gO(e);var a=e.Le;b(a,f.width*f.height*40/(a/1E3)/Math.pow(10,9))},100)}else b(0,0);else window.setTimeout(function(){a.test_performance(b)},100)};a.calc_vbo_garbage_byte_size=m.calc_vbo_garbage_byte_size;a.show_vbo_garbage_info=m.show_vbo_garbage_info;a.print_batches_stat=m.print_batches_stat;a.start_debug=function(a){J=[];Z=!0;a=q(a);for(var b in a)"function"===typeof a[b]&&(a[b]=
  2442. p(a[b],b))};a.check_debug_result=function(){return Z};a.test=function(a,b){try{return b(),!0}catch(c){return Z=!1,console.error(a+" test was failed. ",c),!1}};a.pix=function(a){var b=t.BB(),c=t.AB(),d=b/2,e=c/2;t.resize(b,c,!1);b=M.get_active().s.Na;(c=F.fL(b))||l.q("Couldn't find onscreen subscene");b=c.p;d=t.Vq(d,e,I,c.p);d[1]=b.height-d[1];d=x.mx(b.pe,d[0],d[1]);D(a,d,1)};a.eqs=function(a,b){if(JSON.stringify(a)!=JSON.stringify(b))throw"Wrong result. Function: "+B;};a.eqv=D;a.eqf=function(a,b,
  2443. c){if("number"!=typeof b)throw"Wrong expected data type.";c=c?c:1E-6;if(b>a+c||b<a-c)throw"Wrong result.";};a.eq=function(a,b){if(a!==b)throw"Wrong result.";};a.stat=function(a){a=q(a);for(var b in a)-1==J.indexOf(a[b])&&console.warn(b+" function wasn't called.")};a.ok=function(a){if(!Boolean(a))throw"Wrong result. Function: "+B;}};fdage.module.geometry=function(a,q){var f=q("__batch"),c=q("__geometry"),b=q("__print"),g=q("__renderer"),p=q("__util");a.extract_vertex_array=function(a,e,g){if(!c.Zl(a))return b.error("Wrong object:",a.name),null;if(a=f.La(a,e,"MAIN")){if((e=a.fa)&&e.Fb&&e.Fb[g])return c.VK(e,g);b.error("Attribute not found:"+g);return null}b.error("Wrong material:",e);return null};a.extract_index_array=function(a,e){if(!c.Zl(a))return b.error("Wrong object:",a.name),null;var g=f.La(a,e,"MAIN");if(g){if((g=g.fa)&&
  2444. g.Fb)return g.td;b.error("Buffer data not found");return null}b.error("Wrong material:",e);return null};a.update_vertex_array=function(a,e,g,n){if(c.Zl(a)){var p=c.Li(g),p=c.nB(p);if(p!=n.constructor)b.error("Wrong input array type '"+n.constructor.name+"' for the given attribute. Should be '"+p.name+"'.");else for(var p=["MAIN","SHADOW","COLOR_ID"],m=0;m<p.length;m++){var k=f.La(a,e,p[m]);k&&(k=k.fa)&&k.Fb&&k.Fb[g]&&c.yE(k,g,0,n)}}else b.error("Wrong object:",a.name)};a.override_geometry=function(a,
  2445. e,q,n,t){if(c.Zl(a))if(q instanceof Uint16Array||q instanceof Uint32Array)if(n instanceof Float32Array)for(var m=["MAIN","SHADOW","COLOR_ID"],k=0;k<m.length;k++){var d=m[k],y=f.La(a,e,d);if(y){var H=y.fa;if(H){c.zE(H,y.Zf,q);var v={},z;for(z in H.Fb){var x=H.Fb[z],x=n.length/3*x.cc,d=c.Li(z);v[d]||(v[d]=0);v[d]+=x}d=c.yM(v);H.Gb=d;v={};for(z in H.Fb)switch(x=H.Fb[z],d=c.Li(z),v[d]||(v[d]=0),z){case "a_position":c.jq(H.Gb,"a_position",n,v[d]);x.offset=v[d];x.length=n.length;v[d]+=x.length;break;case "a_tbn_quat":var M;
  2446. t&&(M=c.Mz(q,n,n));var F=c.Lz(q,n,M);x.length=n.length/3*x.cc;for(var E=new Float32Array(x.length),A=0;A<E.length;A+=4)E[A]=1,E[A+3]=1;F=p.gen_tbn_quats(F,E);c.jq(H.Gb,"a_tbn_quat",F,v[d]);x.offset=v[d];v[d]+=x.length;break;default:x.offset=v[d],x.length=n.length/3*x.cc,F=new (c.nB(d))(x.length),c.jq(H.Gb,z,F,v[d]),v[d]+=x.length}c.oy(H);g.tu(y);(y=f.Oe(a,y))&&y.fa&&(y.fa=H)}}}else b.error("Wrong positions_array type");else b.error("Wrong ibo_array type");else b.error("Wrong object:",a.name)};a.set_shape_key_value=
  2447. function(a,e,f){c.check_shape_keys(a)?c.cw(a,e)?c.lz(a,e,parseFloat(f)):b.error("Wrong key name:",e):b.error("Wrong object:",a.name)};a.check_shape_keys=function(a){return c.check_shape_keys(a)};a.get_shape_keys_names=function(a){return c.check_shape_keys(a)?c.get_shape_keys_names(a):(b.error("Wrong object:",a.name),null)};a.get_shape_key_value=function(a,e){return c.check_shape_keys(a)?c.cw(a,e)?c.get_shape_key_value(a,e):(b.error("Wrong key name:",e),null):(b.error("Wrong object:",a.name),null)};
  2448. a.draw_line=function(a,e,p){p=p||!1;if(e instanceof Float32Array){if(a=f.Ov(a))c.draw_line(a,e,p),g.tu(a)}else b.error("Wrong positions type")}};fdage.module.hud=function(a,q){var f=q("__hud");q("__print");a.draw_mixer_strip=f.draw_mixer_strip;a.plot_array=f.plot_array};fdage.module.input=function(a,q){function f(a){var c=b.get_device_by_type_element(b.DEVICE_HMD);if(!c||!c.sg)return!1;if(d)return!0;var f=b.get_vector_param(c,b.nF,m),h=b.get_vector_param(c,b.oF,k);g.set_hmd_fov(a,f,h);if(f=b.get_value_param(c,v))h=n.get_active(),a=e.da(a,h).W,g.set_eye_distance(a,f);a={base_line_factor:.5,inter_lens_factor:.5,enable_hmd_stereo:!0};b.get_value_param(b.HMD_WEBVR_TYPE)!==b.HMD_WEBVR1&&(a.distortion_coefs=[c.distortion_coefs[0],c.distortion_coefs[1]],a.chromatic_aberration_coefs=
  2449. [c.chromatic_aberration_coefs[0],c.chromatic_aberration_coefs[1],c.chromatic_aberration_coefs[2],c.chromatic_aberration_coefs[3]],c.gn||(c.wi&&c.Oi&&c.xi?a.base_line_factor=(c.wi-c.xi)/c.Oi:c.xi||(a.base_line_factor=c.wi/c.Oi)),c.Oh&&c.vl&&!c.gn&&(a.inter_lens_factor=c.Oh/c.vl),y.enabled||(f=1+c.distortion_coefs[0]+c.distortion_coefs[1],n.uC(f,f)));n.set_hmd_params(a);D.resize_to_container(!0);b.reset_device(c);return d=!0}function c(){for(var a=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?
  2450. navigator.webkitGetGamepads:[],b=[],c=0;c<a.length;c++)a[c]&&b.push(c);return b}var b=q("__input"),g=q("__camera"),p=q("__config"),D=q("__container"),e=q("__obj_util"),u=q("__print"),n=q("__scenes"),t=q("__vec4"),m=t.create(),k=t.create(),d=!1,y=p.so,H=p.A;a.GMPD_BUTTON_12=b.GMPD_BUTTON_12;a.GMPD_BUTTON_13=b.GMPD_BUTTON_13;a.GMPD_BUTTON_15=b.GMPD_BUTTON_15;a.GMPD_BUTTON_14=b.GMPD_BUTTON_14;a.GMPD_BUTTON_3=b.GMPD_BUTTON_3;a.GMPD_BUTTON_0=b.GMPD_BUTTON_0;a.GMPD_BUTTON_1=b.GMPD_BUTTON_1;a.GMPD_BUTTON_2=
  2451. b.GMPD_BUTTON_2;a.GMPD_BUTTON_5=b.GMPD_BUTTON_5;a.GMPD_BUTTON_7=b.GMPD_BUTTON_7;a.GMPD_BUTTON_4=b.GMPD_BUTTON_4;a.GMPD_BUTTON_6=b.GMPD_BUTTON_6;a.GMPD_BUTTON_8=b.GMPD_BUTTON_8;a.GMPD_BUTTON_9=b.GMPD_BUTTON_9;a.GMPD_BUTTON_10=b.GMPD_BUTTON_10;a.GMPD_BUTTON_11=b.GMPD_BUTTON_11;a.GMPD_BUTTON_16=b.GMPD_BUTTON_16;a.GMPD_BUTTON_17=b.GMPD_BUTTON_17;a.GMPD_BUTTON_18=b.GMPD_BUTTON_18;a.GMPD_BUTTON_19=b.GMPD_BUTTON_19;a.GMPD_BUTTON_20=b.GMPD_BUTTON_20;a.GMPD_BUTTON_21=b.GMPD_BUTTON_21;a.GMPD_BUTTON_22=b.GMPD_BUTTON_22;
  2452. a.GMPD_BUTTON_23=b.GMPD_BUTTON_23;a.GMPD_BUTTON_24=b.GMPD_BUTTON_24;a.GMPD_BUTTON_25=b.GMPD_BUTTON_25;a.GMPD_AXIS_0=b.GMPD_AXIS_0;a.GMPD_AXIS_1=b.GMPD_AXIS_1;a.GMPD_AXIS_2=b.GMPD_AXIS_2;a.GMPD_AXIS_3=b.GMPD_AXIS_3;a.GMPD_AXIS_4=b.GMPD_AXIS_4;a.GMPD_AXIS_5=b.GMPD_AXIS_5;a.GMPD_AXIS_6=b.GMPD_AXIS_6;a.GMPD_AXIS_7=b.GMPD_AXIS_7;a.GMPD_AXIS_8=b.GMPD_AXIS_8;a.GMPD_AXIS_9=b.GMPD_AXIS_9;a.GMPD_AXIS_10=b.GMPD_AXIS_10;a.GMPD_AXIS_11=b.GMPD_AXIS_11;a.HMD_ORIENTATION_QUAT=b.HMD_ORIENTATION_QUAT;a.HMD_POSITION=
  2453. b.HMD_POSITION;a.HMD_WEBVR_TYPE=b.HMD_WEBVR_TYPE;a.HMD_WEBVR_DESKTOP=b.HMD_WEBVR_DESKTOP;a.HMD_WEBVR_MOBILE=b.HMD_WEBVR_MOBILE;a.HMD_NON_WEBVR=b.HMD_NON_WEBVR;a.HMD_WEBVR1=b.HMD_WEBVR1;var v=b.HMD_EYE_DISTANCE;a.HMD_EYE_DISTANCE=v;a.HMD_DISTORTION=b.HMD_DISTORTION;a.HMD_BASELINE_DIST=b.HMD_BASELINE_DIST;a.HMD_SCREEN_LENSE_DIST=b.HMD_SCREEN_LENSE_DIST;a.HMD_SCREEN_WIDTH=b.HMD_SCREEN_WIDTH;a.HMD_SCREEN_HEIGHT=b.HMD_SCREEN_HEIGHT;a.HMD_BEVEL_SIZE=b.HMD_BEVEL_SIZE;a.MOUSE_LOCATION=b.MOUSE_LOCATION;a.MOUSE_DOWN_WHICH=
  2454. b.MOUSE_DOWN_WHICH;a.MOUSE_UP_WHICH=b.MOUSE_UP_WHICH;a.MOUSE_WHEEL=b.MOUSE_WHEEL;a.KEYBOARD_UP=b.KEYBOARD_UP;a.KEYBOARD_DOWN=b.KEYBOARD_DOWN;a.TOUCH_START=b.TOUCH_START;a.TOUCH_MOVE=b.TOUCH_MOVE;a.TOUCH_END=b.TOUCH_END;a.GYRO_ORIENTATION_QUAT=b.GYRO_ORIENTATION_QUAT;a.GYRO_ORIENTATION_ANGLES=b.GYRO_ORIENTATION_ANGLES;var z={};z[b.DEVICE_HMD]=[b.HMD_ORIENTATION_QUAT,b.HMD_POSITION];z[b.DEVICE_MOUSE]=[b.MOUSE_LOCATION];var x={};x[b.DEVICE_HMD]=[b.HMD_WEBVR_TYPE];var M={};M[b.DEVICE_MOUSE]=[b.MOUSE_LOCATION,
  2455. b.MOUSE_DOWN_WHICH,b.MOUSE_UP_WHICH,b.MOUSE_WHEEL];M[b.DEVICE_KEYBOARD]=[b.KEYBOARD_UP,b.KEYBOARD_DOWN];M[b.DEVICE_TOUCH]=[b.TOUCH_START,b.TOUCH_MOVE,b.TOUCH_END];M[b.DEVICE_GYRO]=[b.GYRO_ORIENTATION_QUAT,b.GYRO_ORIENTATION_ANGLES];var F={};F[b.DEVICE_HMD]=[b.HMD_DISTORTION,b.HMD_EYE_DISTANCE,b.HMD_BASELINE_DIST,b.HMD_SCREEN_LENSE_DIST,b.HMD_SCREEN_WIDTH,b.HMD_SCREEN_HEIGHT,b.HMD_BEVEL_SIZE];a.DEVICE_GYRO=b.DEVICE_GYRO;a.DEVICE_HMD=b.DEVICE_HMD;a.DEVICE_MOUSE=b.DEVICE_MOUSE;a.DEVICE_KEYBOARD=b.DEVICE_KEYBOARD;
  2456. a.DEVICE_TOUCH=b.DEVICE_TOUCH;a.can_use_device=b.can_use_device;a.get_device_by_type_element=b.get_device_by_type_element;a.switch_prevent_default=function(a,c){a&&b.switch_prevent_default(a,c)};a.register_device=function(){u.L("input.register_device() deprecated")};a.reset_device=function(a){a&&a.type==b.DEVICE_HMD?b.reset_device(a):u.error("reset_device is undefined for device.")};a.get_vector_param=function(a,c,d){if(a&&a.type in z&&0<=z[a.type].indexOf(c))return b.get_vector_param(a,c,d);u.error("device hasn't param: ",
  2457. c)};a.get_value_param=function(a,c){if(a&&a.type in x&&0<=x[a.type].indexOf(c))return b.get_value_param(a,c);u.error("device hasn't param: ",c)};a.attach_param_cb=function(a,c,d){d=d||null;if(a&&a.type in M&&0<=M[a.type].indexOf(c))return b.attach_param_cb(a,c,d);u.error("device hasn't param: ",c)};a.detach_param_cb=function(a,c,d){d=d||null;if(a&&a.type in M&&0<=M[a.type].indexOf(c))return b.detach_param_cb(a,c,d);u.error("device hasn't param: ",c)};a.set_config=function(a,c,d){if(a&&a.type in F&&
  2458. 0<=F[a.type].indexOf(c))return b.set_config(a,c,d);u.error("device hasn't config: ",c)};a.request_fullscreen_hmd=function(){if(n.sa()){var a=n.Ak(n.get_active());if(a&&(f(a),a=b.get_device_by_type_element(b.DEVICE_HMD))){var c=a.df;c&&!c.isPresenting&&(c.capabilities.canPresent?(a=D.get_canvas(),c.requestPresent([{source:a}]).then(function(){if(!H.is_mobile_device){var a=c.getEyeParameters("left"),b=c.getEyeParameters("right");D.resize(2*Math.max(a.renderWidth,b.renderWidth),Math.max(a.renderHeight,
  2459. b.renderHeight),!1)}},function(){u.error("HMD fullscreen request failed.")})):u.error("HMD fullscreen request failed."))}}};a.enable_split_screen=f;a.disable_split_screen=function(){var a=b.get_device_by_type_element(b.DEVICE_HMD);if(!(d||a&&a.sg))return!1;n.set_hmd_params({enable_hmd_stereo:!1});a=1/(1+a.distortion_coefs[0]+a.distortion_coefs[1]);n.uC(a,a);D.resize_to_container(!0);return!0};a.set_gamepad_key=function(a,d,e){c();switch(a){case 0:a=b.rq;break;case 1:a=b.bu;break;case 2:a=b.cu;break;
  2460. case 3:a=b.du;break;default:a=b.rq}a=b.get_device_by_type_element(a);b.set_config(a,d,e)};a.get_pressed_gmpd_btn=b.get_pressed_gmpd_btn;a.get_moved_gmpd_axis=b.get_moved_gmpd_axis;a.check_enable_gamepad_indices=c};fdage.module.lights=function(a,q){function f(a){for(var c=e.get_active(),d=g.Eb(c,"LAMP",g.DATA_ID_ALL),f=0;f<d.length;f++){var p=d[f];if("SUN"==p.ib.type){var q=p;break}}if(!q)D.error("There is no sun on the scene");else if("number"==typeof a.hor_position&&"number"==typeof a.vert_position){d=t.deg_to_rad(180-a.hor_position);a=t.deg_to_rad(90-a.vert_position);f=q.k;u.set_rotation_euler(q,[a,0,d]);d=new Float32Array(3);p=n.get_quat_view(f.n);t.quat_to_dir(p,t.AXIS_Z,d);f=n.get_trans_view(f.n);f=m.length(f);
  2461. m.copy(d,k);m.scale(k,f,k);u.set_translation(q,k);u.B(q);d=q.ib;if(d.MA){var y=c.world.light_settings.environment_energy,f=c.world.horizon_color,p=c.world.zenith_color,A=Math.cos(Math.abs(a));a=Math.max(Math.min(3*A,1),0)*d.EA;y*=Math.max(A,.1);b.set_light_energy(d,a);e.set_environment_colors(c,y,f,p)}e.$m(q,c)}}function c(a){if(p.is_lamp(a))return a.ib.type;D.error("get_light_type(): Wrong object");return!1}var b=q("__lights"),g=q("__objects"),p=q("__obj_util"),D=q("__print"),e=q("__scenes"),u=q("__transform"),
  2462. n=q("__tsr"),t=q("__util"),m=q("__vec3"),k=new Float32Array(3),d,y=60;a.get_lamps=function(a){var b=e.get_active(),b=g.Eb(b,"LAMP",g.DATA_ID_ALL);if(!a)return b;for(var c=[],d=0;d<b.length;d++){var f=b[d];f.ib.type===a&&c.push(f)}return c};a.get_sun_params=function(){for(var a=e.get_active(),a=g.Eb(a,"LAMP",g.DATA_ID_ALL),b=null,c=0;c<a.length;c++){var d=a[c];if("SUN"==d.ib.type){b=d;break}}return b?(b=b.ib.direction,a=t.rad_to_deg(Math.atan2(-b[1],b[0]))+90,180<a&&(a-=360),b=t.rad_to_deg(Math.atan2(b[2],
  2463. Math.sqrt(b[0]*b[0]+b[1]*b[1]))),c={},c.hor_position=a,c.vert_position=b,c):null};a.set_sun_params=f;a.set_day_time=function(a){for(var b=e.get_active(),b=g.Eb(b,"LAMP",g.DATA_ID_ALL),c=0;c<b.length;c++){var d=b[c];if("SUN"==d.ib.type){var k=d;break}}k?(k=-Math.cos(a/12*Math.PI)*y,b={},b.hor_position=12>a?15*a:15*(a-24),b.vert_position=k,f(b)):D.error("There is no sun on the scene")};a.set_date=function(a){(d=a.getDate())?1582==d&&10==a.uT&&4<a.uK&&15>a.uK&&D.error("The dates 5 through 14 October, 1582, do not exist in the Gregorian system!"):
  2464. D.error("There is no year 0 in the Julian system!")};a.set_max_sun_angle=function(a){y=Math.min(Math.max(a,0),90)};a.get_light_params=function(a){if(p.is_lamp(a))var b=a.ib;else return D.error("get_light_params(): Wrong object"),null;if(a=c(a))switch(a){case "SPOT":var d={light_type:a,light_color:new Float32Array(3),light_energy:b.Me,light_spot_blend:b.Rp,light_spot_size:b.il,light_distance:b.distance};d.light_color.set(b.color);break;case "POINT":d={light_type:a,light_color:new Float32Array(3),light_energy:b.Me,
  2465. light_distance:b.distance};d.light_color.set(b.color);break;default:d={light_type:a,light_color:new Float32Array(3),light_energy:b.Me},d.light_color.set(b.color)}return d?d:null};a.get_light_type=c;a.set_light_params=function(a,c){if(p.is_lamp(a)){var d=a.ib,f=e.get_active(),g=!1;"number"==typeof c.light_energy&&b.set_light_energy(d,c.light_energy);"object"==typeof c.light_color&&b.set_light_color(d,c.light_color);"number"==typeof c.light_spot_blend&&(b.$O(d,c.light_spot_blend),g=!0);"number"==typeof c.light_spot_size&&
  2466. (b.aP(d,c.light_spot_size),g=!0);"number"==typeof c.light_distance&&(b.ZO(d,c.light_distance),g=!0);e.$m(a,f);g&&e.lQ(f)}else D.error("set_light_params(): Wrong object")};a.get_light_energy=function(a){return p.is_lamp(a)?a.ib.Me:(D.error("get_light_energy(): Wrong object"),0)};a.set_light_energy=function(a,c){if(p.is_lamp(a)){var d=e.get_active();b.set_light_energy(a.ib,c);e.$m(a,d)}else D.error("set_light_energy(): Wrong object")};a.get_light_color=function(a,b){if(!p.is_lamp(a))return D.error("get_light_color(): Wrong object"),
  2467. null;b=b||new Float32Array(3);b.set(a.ib.color);return b};a.set_light_color=function(a,c){if(p.is_lamp(a)){var d=e.get_active();b.set_light_color(a.ib,c);e.$m(a,d)}else D.error("set_light_color(): Wrong object")}};fdage.module.logic_nodes=function(a,q){var f=q("__logic_nodes");a.append_custom_callback=function(a,b){f.zH(a,b)};a.remove_custom_callback=function(a){f.nO(a)};a.run_entrypoint=function(a,b){f.FO(a,b)}};fdage.module.material=function(a,q){function f(a,b){for(var c=a.F[0].M,e=0;e<c.length;e++){var f=c[e];if(-1<f.nc.indexOf(b)&&"MAIN"==f.type)return!0}return!1}function c(a,b){var c=g.La(a,b,"MAIN");return Boolean(c&&c.Id[0])}function b(a,b){var c=g.La(a,b,"MAIN");return Boolean(c&&c.Id[1])}var g=q("__batch"),p=q("__config"),D=q("__obj_util"),e=q("__print"),u=q("__shaders"),n=q("__util"),t=q("__scenes"),m=p.A;a.inherit_material=function(a,b,c,f){D.gg(c)&&D.gg(a)?g.inherit_material(a,b,c,f):e.error("Wrong or batched object(s)")};
  2468. a.get_materials_names=function(a){var b=[];a=a.F;for(var c=0;c<a.length;c++)for(var e=a[c].M,f=0;f<e.length;f++)for(var g=0;g<e[f].nc.length;g++)-1==b.indexOf(e[f].nc[g])&&b.push(e[f].nc[g]);return b};a.set_diffuse_color=function(a,b,c){var f=g.La(a,b,"MAIN");f?(f.od.set(c),(a=g.Oe(a,b,"MAIN"))&&a.od.set(c)):e.error('Couldn\'t set property "diffuse_color"!')};a.get_diffuse_color=function(a,b){var c=g.La(a,b,"MAIN");if(c){var f=new Float32Array(4);f.set(c.od);return f}e.error('Couldn\'t get property "diffuse_color"!')};
  2469. a.set_diffuse_intensity=function(a,b,c){var f=g.La(a,b,"MAIN");if(f){if(f.Rg=c,a=g.Oe(a,b,"MAIN"))a.Rg=c}else e.error('Couldn\'t set property "diffuse_color"!')};a.get_diffuse_intensity=function(a,b){var c=g.La(a,b,"MAIN");if(c)return c.Rg;e.error('Couldn\'t get property "diffuse_intensity"!')};a.set_specular_color=function(a,b,c){var f=g.La(a,b,"MAIN");f?(f.Gf.set(c),(a=g.Oe(a,b,"MAIN"))&&a.Gf.set(c)):e.error('Couldn\'t set property "specular_color"!')};a.get_specular_color=function(a,b){var c=g.La(a,
  2470. b,"MAIN");if(c){var f=Array(3);f[0]=c.Gf[0];f[1]=c.Gf[1];f[2]=c.Gf[2];return f}e.error('Couldn\'t get property "specular_color"!')};a.set_specular_color_factor=function(a,b,c){var f=g.La(a,b,"MAIN");if(f){if(f.ei=c,a=g.Oe(a,b,"MAIN"))a.ei=c}else e.error('Couldn\'t set property "specular_color_factor"!')};a.get_specular_color_factor=function(a,b){var c=g.La(a,b,"MAIN");if(c)return c.ei;e.error('Couldn\'t get property "specular_color_factor"!')};a.set_specular_intensity=function(a,b,f){c(a,b)||e.error('Property "specular_intensity" is missing!');
  2471. g.La(a,b,"MAIN").Id[0]=f;(a=g.Oe(a,b,"MAIN"))&&(a.Id[0]=f)};a.get_specular_intensity=function(a,b){c(a,b)||e.error('Property "specular_intensity" is missing!');return g.La(a,b,"MAIN").Id[0]};a.check_specular_intensity=c;a.set_specular_hardness=function(a,c,f){b(a,c)||e.error('Property "specular_hardness" is missing!');g.La(a,c,"MAIN").Id[1]=f;(a=g.Oe(a,c,"MAIN"))&&(a.Id[1]=f)};a.get_specular_hardness=function(a,c){b(a,c)||e.error('Property "specular_hardness" is missing!');return g.La(a,c,"MAIN").Id[1]};
  2472. a.check_specular_hardness=b;a.set_emit_factor=function(a,b,c){var f=g.La(a,b,"MAIN");if(f){if(f.$f=c,a=g.Oe(a,b,"MAIN"))a.$f=c}else e.error('Couldn\'t set property "emit_factor"!')};a.get_emit_factor=function(a,b){var c=g.La(a,b,"MAIN");if(c)return c.$f;e.error('Couldn\'t get property "emit_factor"!')};a.set_ambient_factor=function(a,b,c){var f=g.La(a,b,"MAIN");if(f){if(f.Of=c,a=g.Oe(a,b,"MAIN"))a.Of=c}else e.error('Couldn\'t set property "ambient_factor"!')};a.get_ambient_factor=function(a,b){var c=
  2473. g.La(a,b,"MAIN");if(c)return c.Of;e.error('Couldn\'t get property "ambient_factor"!')};a.set_diffuse_color_factor=function(a,b,c){var f=g.La(a,b,"MAIN");if(f){if(f.Qg=c,a=g.Oe(a,b,"MAIN"))a.Qg=c}else e.error('Couldn\'t set property "diffuse_color_factor"!')};a.get_diffuse_color_factor=function(a,b){var c=g.La(a,b,"MAIN");if(c)return c.Qg;e.error('Couldn\'t get property "diffuse_color_factor"!')};a.set_alpha_factor=function(a,b,c){var f=g.La(a,b,"MAIN");if(f){if(f.Hg=c,a=g.Oe(a,b,"MAIN"))a.Hg=c}else e.error('Couldn\'t set property "alpha_factor"!')};
  2474. a.get_alpha_factor=function(a,b){var c=g.La(a,b,"MAIN");if(c)return c.Hg;e.error('Couldn\'t get property "alpha_factor"!')};a.get_material_extended_params=function(a,b){if(!a||!b)return e.error("missing arguments in get_material_params"),null;if(!f(a,b))return null;var c=g.La(a,b,"MAIN");if(!c)return null;var m={};"MAIN"==c.type&&(m.reflect_factor=c.reflect_factor,m.fresnel=c.Pe[2],m.fresnel_factor=5*(1-c.Pe[3]),m.parallax_scale=c.parallax_scale,m.parallax_steps=g.Yc(c,"PARALLAX_STEPS")[1]);return m};
  2475. a.get_water_material_params=function(a,b){if(!a||!b)return e.error("missing arguments in get_water_material_params"),null;if(!f(a,b))return null;var c=g.La(a,b,"MAIN");if(!c||!c.rh)return null;if(!c)return e.error("material not found"),null;var n={};if("MAIN"==c.type){if(m.Em){var p=n.shallow_water_col=Array(3);p[0]=c.shallow_water_col[0];p[1]=c.shallow_water_col[1];p[2]=c.shallow_water_col[2];p=n.shore_water_col=Array(3);p[0]=c.shore_water_col[0];p[1]=c.shore_water_col[1];p[2]=c.shore_water_col[2];
  2476. n.shallow_water_col_fac=c.shallow_water_col_fac;n.shore_water_col_fac=c.shore_water_col_fac}n.foam_factor=c.foam_factor;n.norm_uv_velocity=c.Lj;n.absorb_factor=g.Yc(c,"ABSORB")[1];n.sss_strength=g.Yc(c,"SSS_STRENGTH")[1];n.sss_width=g.Yc(c,"SSS_WIDTH")[1];n.dst_noise_scale0=g.Yc(c,"DST_NOISE_SCALE_0")[1];n.dst_noise_scale1=g.Yc(c,"DST_NOISE_SCALE_1")[1];n.dst_noise_freq0=g.Yc(c,"DST_NOISE_FREQ_0")[1];n.dst_noise_freq1=g.Yc(c,"DST_NOISE_FREQ_1")[1];n.dir_min_shore_fac=g.Yc(c,"DIR_MIN_SHR_FAC")[1];
  2477. n.dir_freq=g.Yc(c,"DIR_FREQ")[1];n.dir_noise_scale=g.Yc(c,"DIR_NOISE_SCALE")[1];n.dir_noise_freq=g.Yc(c,"DIR_NOISE_FREQ")[1];n.dir_min_noise_fac=g.Yc(c,"DIR_MIN_NOISE_FAC")[1];n.dst_min_fac=g.Yc(c,"DST_MIN_FAC")[1];n.waves_hor_fac=g.Yc(c,"WAVES_HOR_FAC")[1]}return n};a.set_material_extended_params=function(a,b,c){if(a&&b&&c)if(f(a,b)){var m=g.La(a,b,"MAIN");if(m){var n=[m];(m=g.Oe(a,b,"MAIN"))&&n.push(m);for(a=0;a<n.length;a++)m=n[a],"number"==typeof c.material_reflectivity&&(m.reflect_factor=c.material_reflectivity),
  2478. "number"==typeof c.material_fresnel&&(m.Pe[2]=c.material_fresnel),"number"==typeof c.material_fresnel_factor&&(m.Pe[3]=1-c.material_fresnel_factor/5),"number"==typeof c.material_parallax_scale&&(m.parallax_scale=c.material_parallax_scale),"number"==typeof c.material_parallax_steps&&(b=u.G(parseFloat(c.material_parallax_steps)),g.fb(m,"PARALLAX_STEPS",b),g.qc(m),t.$C(m))}else e.error("material not found")}else e.error("setting material params is not possible");else e.error("missing arguments in set_material_params")};
  2479. a.set_water_material_params=function(a,b,c){if(a&&b&&c)if(f(a,b)){var n=g.La(a,b,"MAIN");if(n){var p=[n];(n=g.Oe(a,b,"MAIN"))&&p.push(n);for(a=0;a<p.length;a++)n=p[a],m.Em&&("object"==typeof c.shallow_water_col&&n.shallow_water_col.set(c.shallow_water_col),"number"==typeof c.shallow_water_col_fac&&(n.shallow_water_col_fac=c.shallow_water_col_fac),"object"==typeof c.shore_water_col&&n.shore_water_col.set(c.shore_water_col),"number"==typeof c.shore_water_col_fac&&(n.shore_water_col_fac=c.shore_water_col_fac)),
  2480. m.shore_smoothing&&n.fn&&("boolean"==typeof c.shore_smoothing&&(c.shore_smoothing?g.fb(n,"SHORE_SMOOTHING",1):g.fb(n,"SHORE_SMOOTHING",0)),"number"==typeof c.absorb_factor&&(b=u.G(parseFloat(c.absorb_factor)),g.fb(n,"ABSORB",b))),"number"==typeof c.foam_factor&&m.Ul&&(n.foam_factor=c.foam_factor),"number"==typeof c.norm_uv_velocity&&(n.Lj=c.norm_uv_velocity),m.water_dynamic&&n.water_dynamic&&("boolean"==typeof c.water_dynamic&&(c.water_dynamic?g.fb(n,"DYNAMIC",1):g.fb(n,"DYNAMIC",0)),"number"==typeof c.waves_height&&
  2481. (b=u.G(parseFloat(c.waves_height)),g.fb(n,"WAVES_HEIGHT",b)),"number"==typeof c.waves_length&&(b=u.G(parseFloat(c.waves_length)),g.fb(n,"WAVES_LENGTH",b)),"number"==typeof c.sss_strength&&(b=u.G(parseFloat(c.sss_strength)),g.fb(n,"SSS_STRENGTH",b)),"number"==typeof c.sss_width&&(b=u.G(parseFloat(c.sss_width)),g.fb(n,"SSS_WIDTH",b)),"number"==typeof c.dst_noise_scale0&&(b=u.G(parseFloat(c.dst_noise_scale0)),g.fb(n,"DST_NOISE_SCALE_0",b)),"number"==typeof c.dst_noise_scale1&&(b=u.G(parseFloat(c.dst_noise_scale1)),
  2482. g.fb(n,"DST_NOISE_SCALE_1",b)),"number"==typeof c.dst_noise_freq0&&(b=u.G(parseFloat(c.dst_noise_freq0)),g.fb(n,"DST_NOISE_FREQ_0",b)),"number"==typeof c.dst_noise_freq1&&(b=u.G(parseFloat(c.dst_noise_freq1)),g.fb(n,"DST_NOISE_FREQ_1",b)),"number"==typeof c.dir_min_shore_fac&&(b=u.G(parseFloat(c.dir_min_shore_fac)),g.fb(n,"DIR_MIN_SHR_FAC",b)),"number"==typeof c.dir_freq&&(b=u.G(parseFloat(c.dir_freq)),g.fb(n,"DIR_FREQ",b)),"number"==typeof c.dir_noise_scale&&(b=u.G(parseFloat(c.dir_noise_scale)),
  2483. g.fb(n,"DIR_NOISE_SCALE",b)),"number"==typeof c.dir_noise_freq&&(b=u.G(parseFloat(c.dir_noise_freq)),g.fb(n,"DIR_NOISE_FREQ",b)),"number"==typeof c.dir_min_noise_fac&&(b=u.G(parseFloat(c.dir_min_noise_fac)),g.fb(n,"DIR_MIN_NOISE_FAC",b)),"number"==typeof c.dst_min_fac&&(b=u.G(parseFloat(c.dst_min_fac)),g.fb(n,"DST_MIN_FAC",b)),"number"==typeof c.waves_hor_fac&&(b=u.G(parseFloat(c.waves_hor_fac)),g.fb(n,"WAVES_HOR_FAC",b))),g.qc(n),t.$C(n)}else e.error("material not found")}else e.error("setting water material params is not possible");
  2484. else e.error("missing arguments in set_water_material_params")};a.set_line_params=function(a,b){var c=g.Ov(a);c?(n.sf(b.color)&&c.od.set(b.color),n.sf(b.width)&&(c.lm=b.width)):e.error("Couldn't set line params!")};a.get_line_params=function(a){if(a=g.Ov(a))return{color:new Float32Array(a.od),width:a.lm};e.error("Couldn't get line params");return null};a.set_nodemat_value=function(a,b,c){if(D.gg(a)){var f=b[0],m=g.La(a,f,"MAIN");if(null===m)return e.error('Material "'+f+'" was not found in the object "'+
  2485. a.name+'".'),null;m=g.Wg(m.We,b);if(null===m)return e.error('Value node "'+b[b.length-1]+'" was not found in the object "'+a.name+'".'),null;g.set_nodemat_value(a,f,m,c)}else e.error('The type of the object "'+a.name+'" is not "MESH" or it is not dynamic.')};a.get_nodemat_value=function(a,b){if(!D.gg(a))return e.error('The type of the object "'+a.name+'" is not "MESH" or it is not dynamic.'),null;var c=b[0],f=g.La(a,c,"MAIN");if(null===f)return e.error('Material "'+c+'" was not found in the object "'+
  2486. a.name+'".'),null;c=g.Wg(f.We,b);return null===c?(e.error('Value node "'+b[b.length-1]+'" was not found in the object "'+a.name+'".'),null):g.get_nodemat_value(f,c)};a.set_nodemat_rgb=function(a,b,c,f,m){if(D.gg(a)){var n=b[0],p=g.La(a,n,"MAIN");null===p?e.error('Material "'+n+'" was not found in the object "'+a.name+'".'):(p=g.Wg(p.Ve,b),null===p?e.error('RGB node "'+b[b.length-1]+'" was not found in the object "'+a.name+'".'):g.set_nodemat_rgb(a,n,p,c,f,m))}else e.error('The type of the object "'+
  2487. a.name+'" is not "MESH" or it is not dynamic.')};a.get_nodemat_rgb=function(a,b,c){if(!D.gg(a))return e.error('The type of the object "'+a.name+'" is not "MESH" or it is not dynamic.'),null;var f=b[0],m=g.La(a,f,"MAIN");if(null===m)return e.error('Material "'+f+'" was not found in the object "'+a.name+'".'),null;f=g.Wg(m.Ve,b);if(null===f)return e.error('RGB node "'+b[b.length-1]+'" was not found in the object "'+a.name+'".'),null;c||(c=new Float32Array(3));return g.get_nodemat_rgb(m,f,c)}};fdage.module.math=function(a,q){var f=q("__vec3"),c=q("__util"),b=q("__math"),g=new Float32Array(3);a.create_pline_from_points=function(a,c){var e=new Float32Array(6);b.set_pline_initial_point(e,a);f.subtract(c,a,g);b.set_pline_directional_vec(e,g);return e};a.create_pline_from_point_vec=function(a,c){var e=new Float32Array(6);b.set_pline_initial_point(e,point1);b.set_pline_directional_vec(e,c);return e};a.create_pline=function(){return new Float32Array(6)};a.get_pline_directional_vec=b.get_pline_directional_vec;
  2488. a.get_pline_initial_point=b.get_pline_initial_point;a.set_pline_initial_point=b.set_pline_initial_point;a.set_pline_directional_vec=b.set_pline_directional_vec;a.line_plane_intersect=c.line_plane_intersect;a.calc_pline_point=b.calc_pline_point;a.point_plane_dist=b.point_plane_dist};fdage.module.particles=function(a,q){var f=q("__particles"),c=q("__print");a.set_size=function(a,g,p){f.sm(a)?f.set_size(a,g,p):c.error('"',a.name,'" has no particle systems')};a.set_normal_factor=function(a,g,p){f.sm(a)?f.set_normal_factor(a,g,p):c.error('"',a.name,'" has no particle systems')};a.set_factor=function(a,g,p){f.sm(a)?(p=Math.min(p,1),p=Math.max(p,0),f.set_factor(a,g,p)):c.error('"',a.name,'" has no particle systems')}};fdage.module.physics=function(a,q){function f(a,b,c,f){return p.EK(a,f[c[0]],f[c[1]],f[c[2]])}function c(a,b,c,f,g){b=Math.abs(a[2]-b[2]);return b<g&&D.KM(a,c,f)?b:Number.MAX_VALUE}q("__config");var b=q("__physics"),g=q("__print"),p=q("__util"),D=q("__navmesh");q("__vec3");new Float32Array(3);a.CM_WALK=0;a.CM_RUN=1;a.CM_CLIMB=2;a.CM_FLY=3;a.enable_simulation=function(a){b.ia(a)?b.enable_simulation(a):g.L("No physics for object "+a.name)};a.disable_simulation=function(a){b.ia(a)?b.disable_simulation(a):
  2489. g.L("No physics for object "+a.name)};a.has_physics=function(a){return b.ia(a)};a.has_simulated_physics=function(a){return b.has_simulated_physics(a)};a.has_dynamic_physics=function(a){return b.has_dynamic_physics(a)};a.set_gravity=function(a,c){b.ia(a)?b.set_gravity(a,c):g.L("No physics for object "+a.name)};a.set_transform=function(a,c,f){b.ia(a)?b.set_transform(a,c,f):g.L("No physics for object "+a.name)};a.sync_transform=function(a){b.ia(a)?b.sync_transform(a):g.L("No physics for object "+a.name)};
  2490. a.apply_velocity=function(a,c,f,p){b.ia(a)?b.apply_velocity(a,c,f,p):g.L("No physics for object "+a.name)};a.apply_velocity_world=function(a,c,f,p){b.ia(a)?b.apply_velocity_world(a,c,f,p):g.L("No physics for object "+a.name)};a.apply_force=function(a,c,f,p){b.ia(a)?b.apply_force(a,c,f,p,!1):g.L("No physics for object "+a.name)};a.apply_force_world=function(a,c,f,p){b.ia(a)?b.apply_force(a,c,f,p,!0):g.L("No physics for object "+a.name)};a.apply_torque=function(a,c,f,p){b.ia(a)?b.apply_torque(a,c,f,
  2491. p):g.L("No physics for object "+a.name)};a.vehicle_throttle=function(a,c){b.ia(a)?(b.is_vehicle_chassis(a)||b.is_vehicle_hull(a)||g.error("Wrong object"),b.vehicle_throttle(a,p.clamp(c,-1,1))):g.L("No physics for object "+a.name)};a.vehicle_throttle_inc=function(a,c,f){if(b.ia(a)){b.is_vehicle_chassis(a)||b.is_vehicle_hull(a)||g.error("Wrong object");c=p.clamp(c,0,1);var q=a.v.Ql;-1==f||1==f?q=Math.max(-1,Math.min(q+f*c,1)):0==f&&0<=q?(q-=c,q=Math.max(0,q)):0==f&&0>q?(q+=c,q=Math.min(0,q)):g.error("Wrong steering direction");
  2492. b.vehicle_throttle(a,p.clamp(q,-1,1))}else g.L("No physics for object "+a.name)};a.vehicle_steer=function(a,c){b.ia(a)?(b.is_vehicle_chassis(a)||b.is_vehicle_hull(a)||g.error("Wrong object"),b.vehicle_steer(a,p.clamp(c,-1,1))):g.L("No physics for object "+a.name)};a.vehicle_steer_inc=function(a,c,f){if(b.ia(a)){b.is_vehicle_chassis(a)||b.is_vehicle_hull(a)||g.error("Wrong object");c=p.clamp(c,0,1);var q=a.v.Nm;-1==f||1==f?q=Math.max(-1,Math.min(q+f*c,1)):0==f&&0<=q?(q-=c,q=Math.max(0,q)):0==f&&0>
  2493. q?(q+=c,q=Math.min(0,q)):g.error("Wrong steering direction");b.vehicle_steer(a,p.clamp(q,-1,1))}else g.L("No physics for object "+a.name)};a.vehicle_brake=function(a,c){b.ia(a)?(b.is_vehicle_chassis(a)||b.is_vehicle_hull(a)||g.error("Wrong object"),b.vehicle_brake(a,p.clamp(c,0,1))):g.L("No physics for object "+a.name)};a.vehicle_brake_inc=function(a,c){if(b.ia(a)){b.is_vehicle_chassis(a)||b.is_vehicle_hull(a)||g.error("Wrong object");c=p.clamp(c,-1,1);var f=a.v.Nn;b.vehicle_brake(a,p.clamp(f+f*c,
  2494. 0,1))}else g.L("No physics for object "+a.name)};a.is_vehicle_chassis=function(a){return b.is_vehicle_chassis(a)};a.is_vehicle_hull=function(a){return b.is_vehicle_hull(a)};a.get_vehicle_name=function(a){if(!b.ia(a))return g.L("No physics for object "+a.name),null;if(b.is_vehicle_chassis(a)||b.is_vehicle_hull(a))return a.ze.name;g.error("Wrong object");return null};a.get_vehicle_throttle=function(a){if(!b.ia(a))return g.L("No physics for object "+a.name),null;if(b.is_vehicle_chassis(a)||b.is_vehicle_hull(a))return a.v.Ql;
  2495. g.error("Wrong object");return null};a.get_vehicle_steering=function(a){if(!b.ia(a))return g.L("No physics for object "+a.name),null;if(b.is_vehicle_chassis(a)||b.is_vehicle_hull(a))return a.v.Nm;g.error("Wrong object")};a.get_vehicle_brake=function(a){if(!b.ia(a))return g.L("No physics for object "+a.name),null;if(b.is_vehicle_chassis(a)||b.is_vehicle_hull(a))return a.v.Nn;g.error("Wrong object")};a.get_vehicle_speed=function(a){if(!b.ia(a))return g.L("No physics for object "+a.name),null;if(b.is_vehicle_chassis(a)||
  2496. b.is_vehicle_hull(a))return b.get_vehicle_speed(a);g.error("Wrong object")};a.is_character=function(a){return b.is_character(a)};a.set_character_move_dir=function(a,c,f){b.ia(a)?b.set_character_move_dir(a,c,f):g.L("No physics for object "+a.name)};a.set_character_move_type=function(a,c){b.ia(a)?b.set_character_move_type(a,c):g.L("No physics for object "+a.name)};a.set_character_walk_velocity=function(a,c){b.ia(a)?b.set_character_walk_velocity(a,c):g.L("No physics for object "+a.name)};a.set_character_run_velocity=
  2497. function(a,c){b.ia(a)?b.set_character_run_velocity(a,c):g.L("No physics for object "+a.name)};a.set_character_fly_velocity=function(a,c){b.ia(a)?b.set_character_fly_velocity(a,c):g.L("No physics for object "+a.name)};a.character_jump=function(a){b.ia(a)?b.character_jump(a):g.L("No physics for object "+a.name)};a.character_rotation_inc=function(a,c,f){b.ia(a)?b.character_rotation_inc(a,c,f):g.L("No physics for object "+a.name)};a.set_character_rotation=function(a,c,f){b.ia(a)?b.set_character_rotation(a,
  2498. c,f):g.L("No physics for object "+a.name)};a.set_character_rotation_v=function(a,c){b.ia(a)?b.set_character_rotation_v(a,c):g.L("No physics for object "+a.name)};a.set_character_rotation_h=function(a,c){b.ia(a)?b.set_character_rotation_h(a,c):g.L("No physics for object "+a.name)};a.append_collision_test=function(a,c,f,p){b.ia(a)?b.append_collision_test(a,c||"ANY",f,p||!1):g.L("No physics for object "+a.name)};a.remove_collision_test=function(a,c,f){b.ia(a)?b.remove_collision_test(a,c||"ANY",f):g.L("No physics for object "+
  2499. a.name)};a.apply_collision_impulse_test=function(a,c){b.ia(a)?b.apply_collision_impulse_test(a,c):g.L("No physics for object "+a.name)};a.clear_collision_impulse_test=function(a){b.ia(a)?b.clear_collision_impulse_test(a):g.L("No physics for object "+a.name)};a.append_ray_test=function(a,c,f,p,m,k){a=a||null;if(null==a||b.ia(a))return b.append_ray_test(a,c,f,p||"ANY",m,k||!1,!1,!1,!1);g.L("No physics for object "+a.name)};a.append_ray_test_ext=function(a,c,f,p,m,k,d,q,D){a=a||null;if(null==a||b.ia(a))return b.append_ray_test(a,
  2500. c,f,p||"ANY",m,k||!1,d||!1,q||!1,D||!1);g.L("No physics for object "+a.name)};a.remove_ray_test=function(a){b.WB(a)?b.remove_ray_test(a):g.error("Wrong ray test ID")};a.change_ray_test_from_to=function(a,c,f){b.WB(a)?b.change_ray_test_from_to(a,c,f):g.error("Wrong ray test ID")};a.apply_constraint=function(a,c,f,p,m,k,d,q,D,v){b.ia(c)&&b.ia(m)?b.apply_constraint(a,c,f,p,m,k,d,q,D,v):g.error("Wrong objects")};a.clear_constraint=function(a){b.ia(a)&&b.rM(a)?b.clear_constraint(a):g.error("Wrong object")};
  2501. a.pull_to_constraint_pivot=function(a,c,f,p,m,k){b.ia(a)&&b.ia(p)?b.pull_to_constraint_pivot(a,c,f,p,m,k):g.error("Wrong objects")};a.navmesh_get_island=function(a,c,n){n||(n=f);if(b.ia(a)){var p=a.C.jp;return p?D.navmesh_get_island(p,c,n):(g.error(a.name+" is not a navigation mesh object"),null)}g.L("No physics for object "+a.name)};a.navmesh_find_path=function(a,p,n,q){if(b.ia(a)){var m=a.C.jp;if(!m)return g.error(a.name+" is not a navigation mesh object"),null;q=q||{};a={};a.do_not_pull_string=
  2502. Boolean(q.do_not_pull_string);a.distance_to_closest=q.distance_to_closest||f;a.distance_to_farthest=q.distance_to_farthest||c;a.island=q.island||0;a.allowed_distance=q.allowed_distance||Number.MAX_VALUE;a.return_normals=q.return_normals||!1;return D.navmesh_find_path(m,p,n,a)}g.L("No physics for object "+a.name)}};fdage.module.rgb=function(a,q){q("__print");var f=q("__util"),c=new Float32Array(3);a.create=function(){return new Float32Array(3)};a.from_values=function(a,c,f){var q=new Float32Array(3);q[0]=a;q[1]=c;q[2]=f;return q};a.set=function(a,c,f,q){q[0]=a;q[1]=c;q[2]=f;return q};a.css_to_rgb=function(a,c,p,q){q=q||new Float32Array(3);q[0]=a/255;q[1]=c/255;q[2]=p/255;f.TD(q,q);return q};a.rgb_to_css=function(a){a=f.ww(a,c);return[Math.round(255*a[0]),Math.round(255*a[1]),Math.round(255*a[2])]};a.rgb_to_css_hex=
  2503. function(a){function g(a){a=Math.round(255*a).toString(16);return 1==a.length?"0"+a:a}a=f.ww(a,c);return"#"+g(a[0])+g(a[1])+g(a[2])}};
  2504. fdage.module.rgba=function(a,q){q("__print");var f=q("__util"),c=new Float32Array(3);a.create=function(){var a=new Float32Array(4);a[3]=1;return a};a.from_values=function(a,c,f,q){var e=new Float32Array(4);e[0]=a;e[1]=c;e[2]=f;e[3]=q;return e};a.set=function(a,c,f,q,e){e[0]=a;e[1]=c;e[2]=f;e[3]=q;return e};a.css_to_rgba=function(a,c,p,q,e){e=e||new Float32Array(4);e[0]=a/255;e[1]=c/255;e[2]=p/255;e[3]=q;f.TD(e,e);return e};a.rgba_to_css=function(a){var g=f.ww(a,c);return[Math.round(255*g[0]),Math.round(255*
  2505. g[1]),Math.round(255*g[2]),a[3]]}};fdage.module.scenes=function(a,q){function f(){var a=g.get_canvas();return e.pick_object(a.clientWidth/2,a.clientHeight/2)}var c=q("__batch"),b=q("__camera"),g=q("__container"),p=q("__data"),D=q("__graph"),e=q("__objects"),u=q("__obj_util"),n=q("__print"),t=q("__scenes"),m=q("__subscene"),k=q("__util");a.DATA_ID_ALL=e.DATA_ID_ALL;a.set_active=function(a){var b=t.No();t.set_active(k.keysearch("name",a,b))};a.get_active=function(){return t.sa()?t.get_active().name:""};a.get_scenes=function(){for(var a=
  2506. t.No(),b=[],c=0;c<a.length;c++)b.push(a[c].name);return b};a.get_active_camera=function(){if(t.sa())return t.Ak(t.get_active());n.error("No active scene");return!1};a.get_object_by_name=function(a,b){var c=e.hc(e.fu,a,b|0,!0);if(c)return c;n.error("get object "+a+": not found")};a.get_object_by_dupli_name=function(a,b,c){if(a=e.hc(e.eu,a,b,c|0))return a;n.error("get object "+b+": not found")};a.get_object_by_dupli_name_list=function(a,b){var c=e.hc(e.xc,a,b|0);if(c)return c;n.error("get object "+
  2507. a+": not found")};a.get_world_by_name=function(a,b){var c=e.get_world_by_name(a,b|0);if(c)return c;n.error("get object "+a+": not found")};a.get_object_data_id=function(a){return u.get_object_data_id(a)};a.pick_object=function(a,b){var c=t.Vg();return c?(c=t.Ca(c,m.wh))&&c.enable_hmd_stereo?(n.L("pick_object() is not available in the stereo rendering mode. Use scenes.pick_center instead."),f()):e.pick_object(a,b):(n.error("No active scene"),null)};a.pick_center=f;a.outlining_is_enabled=function(a){return a&&
  2508. a.k&&a.k.Ec};a.set_outline_intensity=function(a,b){a&&a.k&&a.k.Ec?e.set_outline_intensity(a,b):n.error("set_outline_intensity(): wrong object")};a.get_outline_intensity=function(a){if(a&&a.k&&a.k.Ec)return a.k.og;n.error("get_outline_intensity(): wrong object")};a.apply_outline_anim=function(a,b,c,f){a&&a.k&&a.k.Ec?e.apply_outline_anim(a,b,c,f):n.error("apply_outline_anim(): wrong object")};a.apply_outline_anim_def=function(a){if(a&&a.k&&a.k.Ec){var b=a.k.dh;e.apply_outline_anim(a,b.cj,b.dj,b.ej)}else n.error("apply_outline_anim_def(): wrong object")};
  2509. a.clear_outline_anim=function(a){a&&a.k&&a.k.Ec?e.clear_outline_anim(a):n.error("clear_outline_anim(): wrong object")};a.set_outline_color=t.set_outline_color;a.get_outline_color=function(a){var b=t.get_active();if(b=t.Ca(b,m.zl))return a=a||new Float32Array(3),a.set(b.Zh),a};a.set_hmd_params=function(a){t.sa()?a&&(!a.distortion_coefs||a.distortion_coefs instanceof Array||(a.distortion_coefs=null),!a.chromatic_aberration_coefs||a.chromatic_aberration_coefs instanceof Array||(a.chromatic_aberration_coefs=
  2510. null),"number"!=typeof a.base_line_factor&&(a.base_line_factor=null),"number"!=typeof a.inter_lens_factor&&(a.inter_lens_factor=null),"boolean"!=typeof a.enable_hmd_stereo&&(a.enable_hmd_stereo=null),t.set_hmd_params(a)):n.error("No active scene")};a.get_shadow_params=function(){if(!t.sa())return n.error("No active scene"),!1;var a=t.get_active(),b=t.Ca(a,m.Hc);if(!b)return null;var c=a.s.Uc,e=t.Ca(a,m.Db),f=t.Ca(a,m.He),g={};g.csm_resolution=c.csm_resolution;g.self_shadow_polygon_offset=b.self_shadow_polygon_offset;
  2511. f&&(g.self_shadow_normal_offset=f.self_shadow_normal_offset);g.enable_csm=c.enable_csm;g.csm_num=c.csm_num;g.csm_first_cascade_border=c.csm_first_cascade_border;g.first_cascade_blur_radius=c.first_cascade_blur_radius;g.csm_last_cascade_border=c.csm_last_cascade_border;g.last_cascade_blur_radius=c.last_cascade_blur_radius;g.fade_last_cascade=c.fade_last_cascade;g.blend_between_cascades=c.blend_between_cascades;c.enable_csm?(g.csm_borders=t.ML(a,e.p),g.blur_radii=new Float32Array(c.csm_num),g.blur_radii.set(e.p.wm.subarray(0,
  2512. c.csm_num))):(g.csm_borders=null,g.blur_radii=null);return g};a.set_shadow_params=function(a){if(t.sa()){var e=t.get_active();"number"==typeof a.self_shadow_polygon_offset&&D.ja(e.s.Na,function(b,c){c.type==m.Hc&&(c.self_shadow_polygon_offset=a.self_shadow_polygon_offset)});var f=t.Ca(e,m.He);f&&("number"==typeof a.self_shadow_normal_offset&&(f.self_shadow_normal_offset=a.self_shadow_normal_offset),"number"==typeof a.pcf_blur_radius&&(f.pcf_blur_radius=a.pcf_blur_radius));var g=t.Ca(e,m.yc);g&&("number"==
  2513. typeof a.self_shadow_normal_offset&&(g.self_shadow_normal_offset=a.self_shadow_normal_offset),"number"==typeof a.pcf_blur_radius&&(g.pcf_blur_radius=a.pcf_blur_radius),g.qa=!0);g=e.s.Uc;"number"==typeof a.csm_first_cascade_border&&(g.csm_first_cascade_border=a.csm_first_cascade_border);"number"==typeof a.first_cascade_blur_radius&&(g.first_cascade_blur_radius=a.first_cascade_blur_radius);"number"==typeof a.csm_last_cascade_border&&(g.csm_last_cascade_border=a.csm_last_cascade_border);"number"==typeof a.last_cascade_blur_radius&&
  2514. (g.last_cascade_blur_radius=a.last_cascade_blur_radius);if(f){for(var k=f.Ha,p=0;p<k.length;p++)for(var q=k[p].ma,F=0;F<q.length;F++){var E=q[F];if(E.te.zd){var A=E.pa;c.nz(A,g);c.qc(A);m.Bc(f,E)}}f.qa=!0}f=u.da(e.si,e).W;for(p=0;p<f.length;p++)b.my(f[p],g);t.yx(e)}else n.error("No active scene")};a.get_environment_colors=function(){if(!t.sa())return n.error("No active scene"),!1;var a=t.get_active();return t.get_environment_colors(a)};a.set_environment_colors=function(a,b,c){if(t.sa()){var e=t.get_active(),
  2515. f=t.Ca(e,m.Db);t.set_environment_colors(e,a||0==a?parseFloat(a):f.bg,b||0==b?b:f.Dd,c||0==c?c:f.Ld)}else n.error("No active scene")};a.get_fog_color_density=function(a){if(!t.sa())return n.error("No active scene"),!1;var b=t.get_active();return t.get_fog_color_density(b,a)};a.set_fog_color_density=function(a){if(t.sa()){var b=t.get_active();t.set_fog_color_density(b,a)}else n.error("No active scene")};a.get_fog_params=function(){if(!t.sa())return n.error("No active scene"),!1;var a=t.get_active(),
  2516. b={};b.Go=t.UL(a);b.fog_depth=t.SL(a);b.fog_start=t.VL(a);b.fog_height=t.TL(a);return b};a.set_fog_params=function(a){if(t.sa()){var b=t.get_active();"number"==typeof a.Go&&t.qD(b,a.Go);"number"==typeof a.fog_depth&&t.oD(b,a.fog_depth);"number"==typeof a.fog_start&&t.rD(b,a.fog_start);"number"==typeof a.fog_height&&t.pD(b,a.fog_height)}else n.error("No active scene")};a.get_ssao_params=function(){if(!t.sa())return n.error("No active scene"),!1;var a=t.get_active();return t.get_ssao_params(a)};a.set_ssao_params=
  2517. function(a){if(t.sa()){var b=t.get_active();t.set_ssao_params(b,a)}else n.error("No active scene")};a.get_color_correction_params=function(){if(!t.sa())return n.error("No active scene"),null;var a=t.get_active(),a=t.Ca(a,m.Yt);if(!a)return null;var b={};b.brightness=a.brightness;b.contrast=a.contrast;b.exposure=a.exposure;b.saturation=a.saturation;return b};a.set_color_correction_params=function(a){if(t.sa()){var b=t.get_active();if(b=t.Ca(b,m.Yt))"number"==typeof a.brightness&&(b.brightness=a.brightness),
  2518. "number"==typeof a.contrast&&(b.contrast=a.contrast),"number"==typeof a.exposure&&(b.exposure=a.exposure),"number"==typeof a.saturation&&(b.saturation=a.saturation),b.qa=!0}else n.error("No active scene")};a.get_sky_params=function(){if(!t.sa())return n.error("No active scene"),!1;var a=t.get_active();return t.get_sky_params(a)};a.set_sky_params=function(a){if(t.sa()){var b=t.get_active();t.set_sky_params(b,a)}else n.error("No active scene")};a.get_dof_params=function(){if(!t.sa())return n.error("No active scene"),
  2519. !1;var a=t.get_active();return t.Ca(a,m.mn)?t.get_dof_params(a):null};a.set_dof_params=function(a){if(t.sa()){var b=t.get_active();t.set_dof_params(b,a)}else n.error("No active scene")};a.get_god_rays_params=function(){if(!t.sa())return n.error("No active scene"),!1;var a=t.get_active();return t.Ca(a,m.ri)?t.get_god_rays_params(a):null};a.set_god_rays_params=function(a){if(t.sa()){var b=t.get_active();t.set_god_rays_params(b,a)}else n.error("No active scene")};a.get_bloom_params=function(){if(!t.sa())return n.error("No active scene"),
  2520. !1;var a=t.get_active();return t.Ca(a,m.jn)?t.get_bloom_params(a):null};a.set_bloom_params=function(a){if(t.sa()){var b=t.get_active();t.set_bloom_params(b,a)}else n.error("No active scene")};a.get_glow_material_params=function(){if(!t.sa())return n.error("No active scene"),!1;var a=t.get_active();return t.Ca(a,m.nn)?t.get_glow_material_params(a):null};a.set_glow_material_params=function(a){if(t.sa()){var b=t.get_active();t.set_glow_material_params(b,a)}else n.error("No active scene")};a.get_wind_params=
  2521. function(){if(!t.sa())return n.error("No active scene"),!1;var a=t.get_active();return t.get_wind_params(a)};a.set_wind_params=function(a){if(t.sa()){var b=t.get_active();e.set_wind_params(b,a)}else n.error("No active scene")};a.get_water_surface_level=function(a,b){if(!t.sa())return n.error("No active scene"),0;var c=t.get_active();return c.s.wc?t.get_water_surface_level(c,a,b):(n.error("No water parameters on the active scene"),0)};a.set_water_params=function(a){if(t.sa()){var b=t.get_active();
  2522. t.set_water_params(b,a)}else n.error("No active scene")};a.get_water_mat_params=function(a){if(t.sa()){var b=t.get_active();t.get_water_mat_params(b,a)}else n.error("No active scene")};a.update_scene_materials_params=function(){if(t.sa()){var a=t.get_active();t.EE(a)}else n.error("No active scene")};a.hide_object=function(a,b){b=b||!1;!u.is_mesh(a)&&!u.is_empty(a)||u.is_dynamic(a)?b?t.Tn(a,!0):t.Vz(a,!0):n.error("show/hide is only supported for dynamic objects.")};a.show_object=function(a,b){b=b||
  2523. !1;!u.is_mesh(a)&&!u.is_empty(a)||u.is_dynamic(a)?b?t.Tn(a,!1):t.Vz(a,!1):n.error("show/hide is only supported for dynamic objects.")};a.is_hidden=function(a){if(u.gg(a)||u.is_empty(a)||u.is_lamp(a))return t.is_hidden(a);n.error("show/hide is only supported for dynamic meshes/empties and lamps");return!1};a.is_visible=function(a){return a.k.is_visible};a.check_object=function(a){n.lb("scenes.check_object","scenes.check_object_by_name");return t.sa()?e.MN(a,t.get_active()):(n.error("No active scene"),
  2524. !1)};a.check_object_by_name=function(a,b){return e.hc(e.fu,a,b|0,!0)?!0:!1};a.check_object_by_dupli_name=function(a,b,c){return e.hc(e.eu,a,b,c|0)?!0:!1};a.check_object_by_dupli_name_list=function(a,b){return e.hc(e.xc,a,b|0)?!0:!1};a.get_all_objects=function(a,b){var c=t.get_active();a||(a="ALL");b||0===b||(b=e.DATA_ID_ALL);return e.xB(c,a,b)};a.get_object_name=function(a){return a?a.Sk:(n.error("Wrong object name"),"")};a.get_object_name_hierarchy=function(a){if(!a)return n.error("Wrong object name"),
  2525. null;for(var b=[];a;)b.push(a.Sk),a=u.get_dg_parent(a);return b.reverse()};a.get_object_type=function(a){return a&&a.type?a.type:(n.error("Wrong object"),"UNDEFINED")};a.get_object_dg_parent=function(a){n.lb("scenes.get_object_dg_parent","objects.get_dg_parent");return u.get_dg_parent(a)};a.get_object_children=function(a){return a.je.slice(0)};a.get_first_character=function(){return e.get_first_character(t.get_active())};a.get_shore_dist=function(a,b){b||0===b||(b=1);if(!t.sa())return n.error("No active scene"),
  2526. !1;var c=t.get_active();return t.get_shore_dist(c,a,b)};a.get_cam_water_depth=function(){return t.get_cam_water_depth()};a.get_type_mesh_object=function(a){return u.is_mesh(a)?a.k.type:null};a.get_meta_tags=function(){if(!t.sa())return n.error("No active scene"),!1;var a=t.get_active();return t.get_meta_tags(a)};a.append_object=function(a,b){if(a.k.$r){if(b)var c=t.No(),c=k.keysearch("name",b,c);else c=t.get_active();t.append_object(c,a,!0)}else n.error('object "'+a.name+'" has been created not by coping.')};
  2527. a.remove_object=function(a){(u.is_mesh(a)||u.is_empty(a))&&u.is_dynamic(a)?(e.Fs(a,a.k.as,!1,!1),p.eO(a),e.Fs(a,!0,!0,!0),e.remove_object(a)):n.error("Can't remove object \""+a.name+'". It must be dynamic and type of MESH or EMPTY.')};a.marker_frame=function(a){var b=t.get_active();if(b.timeline_markers&&a in b.timeline_markers)return t.marker_frame(b,a);n.error('"'+a+'" marker not found.');return 0};a.get_mb_params=function(){var a=t.get_active();return(a=t.Ca(a,m.Cg))?{mb_factor:a.mb_factor,mb_decay_threshold:a.mb_decay_threshold}:
  2528. null};a.set_mb_params=function(a){var b=t.get_active();(b=t.Ca(b,m.Cg))?("number"==typeof a.mb_decay_threshold&&(b.mb_decay_threshold=a.mb_decay_threshold),"number"==typeof a.mb_factor&&(b.mb_factor=a.mb_factor)):n.error("The motion blur subscene doesn't exist.")};a.can_select_objects=function(){var a=t.get_active();return Boolean(t.Ca(a,m.Ee))}};fdage.module.sfx=function(a,q){var f=q("__obj_util"),c=q("__scenes"),b=q("__sfx"),g=q("__print");a.play=function(a,c,e){b.play(a,c||0,e||0)};a.play_def=function(a){b.play_def(a)};a.is_play=function(a){return b.is_playing(a)};a.is_playing=function(a){return b.is_playing(a)};a.stop=function(a){b.stop(a)};a.pause=function(a){b.EP(a)};a.resume=function(a){b.GP(a)};a.loop_stop=function(a,c,e){b.loop_stop(a,c||0,e||!1)};a.playrate=function(a,c){b.playrate(a,c)};a.get_playrate=function(a){return b.get_playrate(a)};
  2529. a.cyclic=function(a,c){b.cyclic(a,c)};a.is_cyclic=function(a){return b.is_cyclic(a)};a.listener_reset_speed=function(){b.listener_stride()};a.listener_stride=function(){b.listener_stride()};a.speaker_reset_speed=function(a){b.speaker_stride(a)};a.speaker_stride=function(a){b.speaker_stride(a)};a.get_volume=function(a){return a&&"object"===typeof a?b.get_volume(a):b.dM()};a.set_volume=function(a,c){a&&"object"===typeof a?b.set_volume(a,c):b.dP(c)};a.mute=function(a,c){a&&"object"===typeof a?b.mute(a,
  2530. c):b.GN(c)};a.is_muted=function(a){return a&&"object"===typeof a?b.is_muted(a):b.IM()};a.get_speaker_objects=function(){return b.get_speaker_objects().slice(0)};a.check_active_speakers=b.check_active_speakers;a.set_compressor_params=function(a){b.set_compressor_params(c.get_active(),a)};a.get_compressor_params=function(){return b.get_compressor_params(c.get_active())};a.duck=function(a,c,e){a&&"object"===typeof a?b.duck(a,c,e):b.IK(c,e)};a.unduck=function(a){a&&"object"===typeof a?b.unduck(a):b.jQ()};
  2531. a.apply_playlist=b.apply_playlist;a.clear_playlist=b.clear_playlist;a.detect_audio_container=b.detect_audio_container;a.detect_video_container=b.detect_video_container;a.set_positional_params=b.set_positional_params;a.get_positional_params=b.get_positional_params;a.set_filter_params=b.set_filter_params;a.get_filter_params=b.get_filter_params;a.get_filter_freq_response=b.get_filter_freq_response;a.get_duration=function(a){if(a&&f.is_speaker(a))return b.get_duration(a);g.error('Object "'+(a?a.name:
  2532. void 0)+'" is not a valid speaker')}};fdage.module.textures=function(a,q){var f=q("__print"),c=q("__scenes"),b=q("__textures"),g=q("__obj_util"),p=q("__util"),D=q("__assets");a.play_video=function(a,g){g||(g=0);var n=b.Wv(a,g);n?c.get_active().b4w_use_nla&&b.vy(n)?f.error("NLA texture can't be controlled directly through API."):b.play_video(n):f.error('Texture with name "'+a+'" not found!')};a.pause_video=function(a,g){g||(g=0);var n=b.Wv(a,g);n?c.get_active().b4w_use_nla&&b.vy(n)?f.error("NLA texture can't be controlled directly through API."):
  2533. b.pause_video(n):f.error('Texture with name "'+a+'" not found!')};a.reset_video=function(a,g){g||(g=0);var n=b.Wv(a,g);n?c.get_active().b4w_use_nla&&b.vy(n)?f.error("NLA texture can't be controlled directly through API."):b.reset_video(n):f.error('Texture with name "'+a+'" not found!')};a.get_canvas_ctx=function(a,c){if(g.is_mesh(a)){var n=b.JL(a,c);if(n)return n;f.error("Couldn't find canvas texture with this name: "+c)}else f.error("Object must be type of mesh.");return null};a.update_canvas_ctx=
  2534. function(a,c){if(g.is_mesh(a)){if(b.xQ(a,c))return!0;f.error("Couldn't find canvas texture with this name: "+c)}else f.error("Object must be type of mesh.");return!1};a.change_image=function(a,c,g,q){q=q||function(){};var m=b.jM(a,c);if(m){var k=p.bh(g);m.bm==k?q(!0):D.enqueue([{id:g,type:D.AT_IMAGE_ELEMENT,url:g,ve:"GET"}],function(d){d?(b.change_image(a,m,c,d,g),q(!0)):q(!1)},null,null)}else f.error("Couldn't find texture \""+c+'" in object "'+a.name+'".'),q(!1)};a.get_texture_names=function(a){if(g.is_mesh(a))return b.get_texture_names(a);
  2535. f.error("Object must be type of mesh.")}};fdage.module.time=function(a,q){var f=q("__time");a.set_timeout=f.set_timeout;a.clear_timeout=f.clear_timeout;a.get_timeline=f.get_timeline;a.animate=f.animate;a.clear_animation=f.clear_animation};fdage.module.transform=function(a,q){var f=q("__obj_util"),c=q("__physics"),b=q("__print"),g=q("__quat"),p=q("__transform"),D=q("__tsr"),e=q("__util"),u=D.create(),n=new Float32Array(3),t=new Float32Array(4);a.SPACE_LOCAL=p.SPACE_LOCAL;a.SPACE_WORLD=p.SPACE_WORLD;a.set_translation=function(a,e,d,g){f.is_dynamic(a)?(n[0]=e,n[1]=d,n[2]=g,p.set_translation(a,n),p.B(a),c.sync_transform(a)):b.error('Wrong object: "'+a.name+'" is not dynamic.')};a.set_translation_rel=function(a,e,d,g){f.is_dynamic(a)?(n[0]=
  2536. e,n[1]=d,n[2]=g,p.set_translation_rel(a,n),p.B(a),c.sync_transform(a)):b.error('Wrong object: "'+a.name+'" is not dynamic.')};a.set_translation_v=function(a,e){f.is_dynamic(a)?(p.set_translation(a,e),p.B(a),c.sync_transform(a)):b.error('Wrong object: "'+a.name+'" is not dynamic.')};a.set_translation_rel_v=function(a,e){f.is_dynamic(a)?(p.set_translation_rel(a,e),p.B(a),c.sync_transform(a)):b.error('Wrong object: "'+a.name+'" is not dynamic.')};a.set_translation_obj_rel=function(a,g,d,q,t){f.is_dynamic(a)?
  2537. (n[0]=g,n[1]=d,n[2]=q,g=D.get_trans_view(t.k.n),t=D.get_quat_view(t.k.n),e.transform_vec3(n,1,t,g,n),p.set_translation(a,n),p.B(a),c.sync_transform(a)):b.error('Wrong object: "'+a.name+'" is not dynamic.')};a.get_translation=function(a,b){b||(b=new Float32Array(3));p.get_translation(a,b);return b};a.get_translation_rel=function(a,b){b||(b=new Float32Array(3));p.get_translation_rel(a,b);return b};a.set_rotation=function(a,e,d,g,n){f.is_dynamic(a)?(t[0]=e,t[1]=d,t[2]=g,t[3]=n,p.set_rotation(a,t),p.B(a),
  2538. c.sync_transform(a)):b.error('Wrong object: "'+a.name+'" is not dynamic.')};a.set_rotation_rel=function(a,e,d,g,n){f.is_dynamic(a)?(t[0]=e,t[1]=d,t[2]=g,t[3]=n,p.set_rotation_rel(a,t),p.B(a),c.sync_transform(a)):b.error('Wrong object: "'+a.name+'" is not dynamic.')};a.set_rotation_v=function(a,e){f.is_dynamic(a)?(p.set_rotation(a,e),p.B(a),c.sync_transform(a)):b.error('Wrong object: "'+a.name+'" is not dynamic.')};a.set_rotation_rel_v=function(a,e){f.is_dynamic(a)?(p.set_rotation_rel(a,e),p.B(a),
  2539. c.sync_transform(a)):b.error('Wrong object: "'+a.name+'" is not dynamic.')};a.get_rotation=function(a,b){b||(b=new Float32Array(4));p.get_rotation(a,b);return b};a.get_rotation_rel=function(a,b){b||(b=new Float32Array(4));p.get_rotation_rel(a,b);return b};a.set_rotation_euler=function(a,e,d,g){f.is_dynamic(a)?(n[0]=e,n[1]=d,n[2]=g,p.set_rotation_euler(a,n),p.B(a),c.sync_transform(a)):b.error('Wrong object: "'+a.name+'" is not dynamic.')};a.get_rotation_euler=function(a,b){b||(b=new Float32Array(3));
  2540. p.get_rotation_euler(a,b);return b};a.get_rotation_euler_rel=function(a,b){b||(b=new Float32Array(3));p.get_rotation_euler_rel(a,b);return b};a.set_rotation_euler_rel=function(a,e,d,g){f.is_dynamic(a)?(n[0]=e,n[1]=d,n[2]=g,p.set_rotation_euler_rel(a,n),p.B(a),c.sync_transform(a)):b.error('Wrong object: "'+a.name+'" is not dynamic.')};a.set_rotation_euler_v=function(a,e){f.is_dynamic(a)?(p.set_rotation_euler(a,e),p.B(a),c.sync_transform(a)):b.error('Wrong object: "'+a.name+'" is not dynamic.')};a.set_rotation_euler_rel_v=
  2541. function(a,e){f.is_dynamic(a)?(p.set_rotation_euler_rel(a,e),p.B(a),c.sync_transform(a)):b.error('Wrong object: "'+a.name+'" is not dynamic.')};a.set_scale=function(a,c){f.is_dynamic(a)?(p.set_scale(a,c),p.B(a)):b.error('Wrong object: "'+a.name+'" is not dynamic.')};a.set_scale_rel=function(a,c){f.is_dynamic(a)?(p.set_scale_rel(a,c),p.B(a)):b.error('Wrong object: "'+a.name+'" is not dynamic.')};a.get_scale=function(a){return p.get_scale(a)};a.get_scale_rel=function(a){return p.get_scale_rel(a)};a.empty_reset_transform=
  2542. function(a){if("EMPTY"!=a.type)b.error("Wrong object: "+a.name);else{for(var e=0;e<a.je.length;e++)if(!f.is_dynamic(a.je[e])){b.error('Wrong object: "'+a.je[e].name+'" is not dynamic.');return}p.set_translation(a,[0,0,0]);p.set_rotation(a,[0,0,0,1]);p.set_scale(a,1);p.B(a);c.sync_transform(a)}};a.get_object_size=function(a){return f.is_mesh(a)?p.get_object_size(a):(b.error("Wrong object: "+a.name),0)};a.get_object_center=function(a,c,d){if(!f.is_mesh(a))return b.error("Wrong object: "+a.name),null;
  2543. d||(d=new Float32Array(3));return p.get_object_center(a,c,d)};a.move_local=function(a,e,d,g){f.is_dynamic(a)?(p.move_local(a,e,d,g),p.B(a),c.sync_transform(a)):b.error('Wrong object: "'+a.name+'" is not dynamic.')};a.rotate_x_local=function(a,k){if(f.is_dynamic(a)){var d=g.setAxisAngle(e.AXIS_X,k,t);p.ux(a,d);p.B(a);c.sync_transform(a)}else b.error('Wrong object: "'+a.name+'" is not dynamic.')};a.rotate_y_local=function(a,k){if(f.is_dynamic(a)){var d=g.setAxisAngle(e.AXIS_MY,k,t);p.ux(a,d);p.B(a);
  2544. c.sync_transform(a)}else b.error('Wrong object: "'+a.name+'" is not dynamic.')};a.rotate_z_local=function(a,k){if(f.is_dynamic(a)){var d=g.setAxisAngle(e.AXIS_Z,k,t);p.ux(a,d);p.B(a);c.sync_transform(a)}else b.error('Wrong object: "'+a.name+'" is not dynamic.')};a.get_object_bounding_box=function(a){return p.get_object_bounding_box(a)};a.set_tsr=function(a,e){f.is_dynamic(a)?(p.set_tsr(a,e),p.B(a),c.sync_transform(a)):b.error('Wrong object: "'+a.name+'" is not dynamic.')};a.set_tsr_rel=function(a,
  2545. e){f.is_dynamic(a)?(p.set_tsr_rel(a,e),p.B(a),c.sync_transform(a)):b.error('Wrong object: "'+a.name+'" is not dynamic.')};a.get_tsr=function(a,b){b||(b=new Float32Array(8));p.get_tsr(a,b);return b};a.get_tsr_rel=function(a,b){b||(b=new Float32Array(8));p.get_tsr_rel(a,b);return b};a.distance=function(a,b){return p.distance(a,b)};a.set_matrix=function(a,e){f.is_dynamic(a)?(D.from_mat4(e,u),p.set_tsr(a,u),p.B(a),c.sync_transform(a)):b.error('Wrong object: "'+a.name+'" is not dynamic.')};a.set_matrix_rel=
  2546. function(a,e){f.is_dynamic(a)?(D.from_mat4(e,u),p.set_tsr_rel(a,u),p.B(a),c.sync_transform(a)):b.error('Wrong object: "'+a.name+'" is not dynamic.')};a.get_matrix=function(a,b){b||(b=new Float32Array(16));p.get_tsr(a,u);D.to_mat4(u,b);return b};a.get_matrix_rel=function(a,b){b||(b=new Float32Array(16));p.get_tsr_rel(a,u);D.to_mat4(u,b);return b}};fdage.module.tsr=function(a,q){function f(a,b,c,q){q||(q=g.create());f(a,b,c,q);return q}var c=q("__mat4"),b=q("__print"),g=q("__tsr");a.create=g.create;a.from_values=g.from_values;a.copy=g.copy;a.identity=g.identity;a.create_sep=function(a,c,e,g){b.lb("create_sep","set_sep");return f(a,c,e,g)};a.set_sep=g.set_sep;a.set_trans=g.set_trans;a.set_scale=g.set_scale;a.set_transcale=g.set_transcale;a.set_quat=g.set_quat;a.get_trans_view=g.get_trans_view;a.get_scale=g.get_scale;a.get_quat_view=g.get_quat_view;
  2547. a.invert=g.invert;a.to_mat4=function(a,b){b||(b=c.create());g.to_mat4(a,b);return b};a.from_mat4=g.from_mat4;a.multiply=g.multiply;a.transform_vec3=g.transform_vec3;a.transform_vec3_inv=g.transform_vec3_inv;a.transform_vectors=g.transform_vectors;a.transform_dir_vectors=g.transform_dir_vectors;a.transform_dir_vec3=g.transform_dir_vec3;a.transform_tangents=g.transform_tangents;a.translate=g.translate;a.interpolate=function(a,b,c,f){f||(f=g.create());g.interpolate(a,b,c,f);return f}};fdage.module.util=function(a,q){var f=q("__compat"),c=q("__obj_util"),b=q("__print"),g=q("__quat"),p=q("__util"),D=q("__vec3"),e=new Float32Array(6);a.AXIS_X=new Float32Array([1,0,0]);a.AXIS_Y=new Float32Array([0,1,0]);a.AXIS_Z=new Float32Array([0,0,1]);a.AXIS_MX=new Float32Array([-1,0,0]);a.AXIS_MY=new Float32Array([0,-1,0]);a.AXIS_MZ=new Float32Array([0,0,-1]);a.XYX=p.XYX;a.YZY=p.YZY;a.ZXZ=p.ZXZ;a.XZX=p.XZX;a.YXY=p.YXY;a.ZYZ=p.ZYZ;a.XYZ=p.XYZ;a.YZX=p.YZX;a.ZXY=p.ZXY;a.XZY=p.XZY;a.YXZ=p.YXZ;a.ZYX=
  2548. p.ZYX;a.f32=function(a){return p.f32(a||0)};a.assert=p.assert;a.keyfind=p.keyfind;a.keysearch=p.keysearch;a.matrix_to_quat=function(a){return p.matrix_to_quat(a)};a.euler_to_quat=function(a,b){b||(b=new Float32Array(4));return p.euler_to_quat(a,b)};a.ordered_angles_to_quat=function(a,b,c){c||(c=g.create());return p.ordered_angles_to_quat(a,b,c)};a.quat_to_ordered_angles=function(a,b,c){c||(c=D.create());return p.quat_to_ordered_angles(a,b,c)};a.quat_to_euler=function(a,b){b||(b=new Float32Array(3));
  2549. return p.quat_to_euler(a,b)};a.sign=p.sign;a.clamp=p.clamp;a.quat_to_dir=p.quat_to_dir;a.ground_project_quat=function(a,b){return p.quat_project(a,p.AXIS_MZ,p.AXIS_Z,p.AXIS_Y,b)};a.cam_quat_to_mesh_quat=function(a,b){return p.cam_quat_to_mesh_quat(a,b)};a.quat_project=function(a,c,e,f,g){return 0!=D.dot(e,f)?(b.error("Wrong in-plane direction"),null):p.quat_project(a,c,e,f,g)};a.hash_code=p.hash_code;a.smooth=p.smooth;a.smooth_v=p.smooth_v;a.is_vector=p.is_vector;a.correct_cam_quat_up=p.correct_cam_quat_up;
  2550. a.quat_to_angle_axis=p.quat_to_angle_axis;a.random_from_array=p.random_from_array;a.horizontal_direction=p.horizontal_direction;a.line_plane_intersect=function(a,c,f,g,k){b.lb("util.line_plane_intersect","math.line_plane_intersect");e[0]=f[0];e[1]=f[1];e[2]=f[2];e[3]=g[0];e[4]=g[1];e[5]=g[2];return p.line_plane_intersect(a,c,e,k)};a.is_mesh=function(a){b.lb("util.is_mesh","objects.is_mesh");return c.is_mesh(a)};a.is_armature=function(a){b.lb("util.is_armature","objects.is_armature");return c.is_armature(a)};
  2551. a.angle_wrap_0_2pi=p.angle_wrap_0_2pi;a.angle_wrap_periodic=p.angle_wrap_periodic;a.smooth_step=p.smooth_step;a.lerp=p.lerp;a.deg_to_rad=p.deg_to_rad;a.rad_to_deg=p.rad_to_deg;a.dir_to_quat=p.dir_to_quat;a.is_ie11=f.is_ie11;a.gen_tbn_quats=p.gen_tbn_quats};"object"==typeof module&&module.Av&&(GLOBAL.fdage={module:{}});fdage.module.version=function(a,q){q("__print");var f=q("__version");a.version=f.version;a.version_str=f.version_str;a.type=f.type;a.date=f.date;a.date_str=f.date_str};"object"==typeof module&&module.Av&&fdage.module.version(exports);fdage.module.objects=function(a,q){var f=q("__geometry"),c=q("__objects"),b=q("__batch"),g=q("__obj_util"),p=q("__print"),D=q("__scenes");a.get_meta_tags=function(a){if(a)return c.get_meta_tags(a)};a.copy=function(a,b,n){return g.is_mesh(a)?g.is_dynamic(a)?f.Zl(a)||f.check_shape_keys(a)||!n?-1==c.Eb(D.get_active(),"MESH",c.DATA_ID_ALL).indexOf(a)?(p.error('object "'+a.name+'" does not belong to the active scene.'),!1):c.copy(a,b||"",n):(p.error('object "'+a.name+'" has not dynamic geometry for deep copying.'),
  2552. !1):(p.error('object "'+a.name+'" is not dynamic.'),!1):(p.error('object "'+a.name+'" is not of type "MESH".'),!1)};a.set_nodemat_value=function(a,c,f){p.lb("set_nodemat_value","material.set_nodemat_value");if(g.gg(a)){var q=c[0],m=b.La(a,q,"MAIN");if(null===m)return p.error('Material "'+q+'" was not found in the object "'+a.name+'".'),null;m=b.Wg(m.We,c);if(null===m)return p.error('Value node "'+c[c.length-1]+'" was not found in the object "'+a.name+'".'),null;b.set_nodemat_value(a,q,m,f)}else p.error('The type of the object "'+
  2553. a.name+'" is not "MESH" or it is not dynamic.')};a.get_nodemat_value=function(a,c){p.lb("get_nodemat_value","material.get_nodemat_value");if(!g.gg(a))return p.error('The type of the object "'+a.name+'" is not "MESH" or it is not dynamic.'),null;var f=c[0],q=b.La(a,f,"MAIN");if(null===q)return p.error('Material "'+f+'" was not found in the object "'+a.name+'".'),null;f=b.Wg(q.We,c);return null===f?(p.error('Value node "'+c[c.length-1]+'" was not found in the object "'+a.name+'".'),null):b.get_nodemat_value(q,
  2554. f)};a.set_nodemat_rgb=function(a,c,f,q,m){p.lb("set_nodemat_rgb","material.set_nodemat_rgb");if(g.gg(a)){var k=c[0],d=b.La(a,k,"MAIN");null===d?p.error('Material "'+k+'" was not found in the object "'+a.name+'".'):(d=b.Wg(d.Ve,c),null===d?p.error('RGB node "'+c[c.length-1]+'" was not found in the object "'+a.name+'".'):b.set_nodemat_rgb(a,k,d,f,q,m))}else p.error('The type of the object "'+a.name+'" is not "MESH" or it is not dynamic.')};a.get_nodemat_rgb=function(a,c,f){p.lb("get_nodemat_rgb","material.get_nodemat_rgb");
  2555. if(!g.gg(a))return p.error('The type of the object "'+a.name+'" is not "MESH" or it is not dynamic.'),null;var q=c[0],m=b.La(a,q,"MAIN");if(null===m)return p.error('Material "'+q+'" was not found in the object "'+a.name+'".'),null;q=b.Wg(m.Ve,c);if(null===q)return p.error('RGB node "'+c[c.length-1]+'" was not found in the object "'+a.name+'".'),null;f||(f=new Float32Array(3));return b.get_nodemat_rgb(m,q,f)};a.update_boundings=function(a){g.is_mesh(a)?f.Zl(a)||f.check_shape_keys(a)?c.update_boundings(a):
  2556. p.error('object "'+a.name+'" has not dynamic geometry.'):p.error('The type of the object "'+a.name+'" is not "MESH".')};a.get_parent=g.get_parent;a.get_dg_parent=g.get_dg_parent;a.is_mesh=g.is_mesh;a.is_armature=g.is_armature;a.is_speaker=g.is_speaker;a.is_camera=g.is_camera;a.is_lamp=g.is_lamp;a.is_empty=g.is_empty;a.is_line=g.is_line;a.is_world=g.is_world;a.get_selectable_objects=function(){return c.get_selectable_objects()};a.get_outlining_objects=function(){return c.get_outlining_objects()};a.is_dynamic=
  2557. g.is_dynamic};fdage.module.main=function(a,q){function f(){}function c(){}function b(){}function g(){window.performance||(I.log("Apply performance workaround"),window.performance={});var a=Date.now();window.performance.now||(I.log("Apply performance.now() workaround"),window.performance.now=function(){return Date.now()-a});ka.vD(0)}function p(a,b){for(var c=null,d=b?wa:va,e=0;e<d.length;e++){var f=d[e];try{c=a.getContext(f,G)}catch(h){}if(c)break}c&&x.BK(c);return c}function D(a,b,e){a.addEventListener("webglcontextlost",
  2558. function(a){a.preventDefault();I.error("WebGL context lost");u()},!1);K.Ye(e);var f=K.get_renderer_info();f&&I.log("%cRENDERER INFO:","color: #00a",e.getParameter(f.UNMASKED_VENDOR_WEBGL)+", "+e.getParameter(f.UNMASKED_RENDERER_WEBGL));C.Ye(e);h.Ye(e);V.Ye(e);W.Ye(e);A.Ye(e);M.Ye(e);E.pP(a);M.init(a,b);N.xD(a.width,a.height,1);Q.init();c=d();t()}function e(){f=function(){}}function u(){n()||(ra=performance.now()/1E3,Q.pause(),Z.pause(),V.pause(),y.pause())}function n(){return S<ra}function t(){var a=
  2559. "HMD"===qa.stereo&&l.CB();a?a.requestAnimationFrame(t):ta(t);var b=performance.now()/1E3;ya||(ya=b);var d=b-ya;if(!(d<1/qa.max_fps)){for(var e=ka.get_timeline(),f=0;f<la.length;f++)la[f](e,d);n()||(S>ya&&(d-=S-Math.max(ra,ya)),e+=d,ka.vD(e),A.update(),v.update(),E.update(),k(e,d),c(d));ya=b;a&&a.isPresenting&&a.submitFrame()}}function m(a,b,c){if(aa)if(aa.$P)aa.$P(a,b,c);else{c=atob(aa.toDataURL(b,c).split(",")[1]);for(var d=new Uint8Array(c.length),e=0;e<c.length;e++)d[e]=c.charCodeAt(e);a(new Blob([d],
  2560. {type:b||"image/png"}))}}function k(a,b){if(E.is_primary_loaded()&&(w.reset(),ja.update(b),J.update(a,b),r.update(a,b),Q.update(a,b),b&&H.update(b),E.is_primary_loaded()&&(Z.update(a,b),E.is_primary_loaded()&&(l.update(a),F.update(a,b),E.is_primary_loaded()&&(y.update(!1),B.update(a,b),ia.update(),f(b,a),E.is_primary_loaded()))))){N.update(a,b);y.HE();var c=pa.callback;c&&(pa.eC&&URL.revokeObjectURL(pa.zu),m(function(a){pa.zu=URL.createObjectURL(a);c(pa.zu)},pa.format,pa.quality),pa.callback=null,
  2561. pa.format="image/png",pa.quality=1)}}function d(){var a=60,c=0,d=qa.VA,e=qa.jL;return function(f){f<1/qa.max_fps||(a=T.smooth(1/f,a,f,d),f=Z.WL(),c=(c+1)%e,0==c&&b(Math.round(a),f))}}var y=q("__anchors"),H=q("__animation"),v=q("__assets"),z=q("__config"),x=q("__compat"),M=q("__container"),F=q("__controls"),E=q("__data"),A=q("__debug"),K=q("__extensions"),h=q("__geometry"),l=q("__input"),w=q("__hud"),r=q("__nla"),J=q("__logic_nodes"),B=q("__objects"),Z=q("__physics"),I=q("__print"),C=q("__renderer"),
  2562. N=q("__scenes"),Q=q("__sfx"),W=q("__shaders"),V=q("__textures"),ka=q("__time"),ja=q("__transform"),T=q("__util"),U=q("__version"),ia=q("__particles"),G=z.context,qa=z.A,aa=null,ga=null,ya=0,ra=0,S=0,la=[],pa={callback:null,format:"image/png",quality:1,zu:"",eC:!1,zA:!1},va=["webgl","experimental-webgl"],wa=["webgl2","experimental-webgl2"],ca=null,ta=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||
  2563. function(a){return window.setTimeout(a,1E3/qa.max_fps)}}();a.init=function(a,b){z.eP();I.lP(qa.console_verbose);var c=U.version_str()+" "+U.type()+" ("+U.date_str()+")";I.log("%cINIT ENGINE","color: #00a",c);I.log("%cUSER AGENT:","color: #00a",navigator.userAgent);if(!window.WebGLRenderingContext)return null;g();aa=a;b?(w.init(b),ga=b):(z.A.show_hud_debug_info=!1,z.S.vs=!1);x.RH();x.Pu("Chrome")||x.Pu("Firefox")||(qa.Vb=!1);c=p(a,qa.Vb);!c&&qa.Vb&&(qa.Vb=!1,c=p(a,!1));if(!c)return null;I.log("%cINIT WEBGL "+
  2564. (qa.Vb?"2":"1"),"color: #00a");ca=c;D(aa,ga,c);z.apply_quality();x.sD(c,!0);W.fN();qa.$l&&(a.style["touch-action"]="none");I.log("%cSET PRECISION:","color: #00a",qa.precision);return c};a.resize=function(a,b,c){I.lb("main.resize","container.resize");M.resize(a,b,c)};a.set_fps_callback=function(a){b=a};a.clear_fps_callback=function(){b=function(){}};a.set_render_callback=function(a){f=a};a.clear_render_callback=function(){e()};a.global_timeline=function(){I.lb("main.global_timeline","time.get_timeline");
  2565. return ka.get_timeline()};a.pause=u;a.resume=function(){n()&&(S=performance.now()/1E3,Q.resume(),Z.resume(),V.play(!0),y.resume())};a.is_paused=n;a.reset=function(){E.unload(0);E.reset();K.reset();C.reset();h.reset();V.zO();W.reset();A.reset();M.reset();E.reset();M.reset();ka.reset();Q.reset();ga=aa=null;S=ra=ya=0;b=function(){};c=function(){};f=function(){};la.length=0;ca=null};a.canvas_data_url=function(a,b,c,d){pa.zA="undefined"===typeof d?d:!0;pa.eC=pa.zA;pa.callback=a;pa.format=b||pa.format;
  2566. pa.quality=c||pa.quality};a.get_canvas_elem=function(){I.lb("main.get_canvas_elem","container.get_canvas");return aa};a.detect_mobile=function(){return x.detect_mobile()};a.append_loop_cb=function(a){for(var b=0;b<la.length;b++)if(la[b]==a)return;la.push(a)};a.remove_loop_cb=function(a){for(var b=0;b<la.length;b++)if(la[b]==a){la.splice(b,1);break}};a.get_renderer_info=function(){var a=K.get_renderer_info();return a?{vendor:ca.getParameter(a.UNMASKED_VENDOR_WEBGL),renderer:ca.getParameter(a.UNMASKED_RENDERER_WEBGL)}:
  2567. null}};fdage.module.nla=function(a,q){var f=q("__nla"),c=q("__time"),b=q("__print"),g=q("__util");a.set_frame=function(a){a=g.clamp(a,f.get_frame_start(),f.get_frame_end());f.check_logic_nodes()?b.error("The active scene is using NLA script."):f.set_frame(a,c.get_timeline())};a.get_frame=function(){return f.get_frame(c.get_timeline())};a.stop=function(){f.check_logic_nodes()?b.error("The active scene is using NLA script."):f.Nx()};a.play=function(a){f.check_logic_nodes()?b.error("The active scene is using NLA script."):
  2568. f.QC(a)};a.is_play=function(){return f.is_play()};a.get_frame_start=function(){return f.get_frame_start()};a.get_frame_end=function(){return f.get_frame_end()};a.check_nla=function(){return f.check_nla()};a.check_nla_scripts=function(){return f.check_logic_nodes()};a.check_logic_nodes=function(){return f.check_logic_nodes()};a.set_range=function(a,c){f.check_logic_nodes()?b.error("The active scene is using NLA script."):(c=parseFloat(c)||f.get_frame_end(),a=parseFloat(a)||f.get_frame_end(),c=g.clamp(c,
  2569. f.get_frame_start(),f.get_frame_end()),a=g.clamp(a,f.get_frame_start(),c),f.set_range(a,c))};a.reset_range=function(){f.check_logic_nodes()?b.error("The active scene is using NLA script."):f.reset_range()};a.set_cyclic=function(a){f.check_logic_nodes()?b.error("The active scene is using NLA script."):f.set_cyclic(a)};a.clear_callback=function(){f.check_logic_nodes()?b.error("The active scene is using NLA script."):f.clear_callback()}};fdage.module.app=function(a,q){function f(){var a=w.is_paused();document.addEventListener("visibilitychange",function(){document.hidden?(a=w.is_paused(),w.pause()):a||w.resume()},!1)}function c(){var a=0,b=E.get_container(),c=w.is_paused(),d=!0;w.append_loop_cb(function(){if(0==a%10){var e=b.getBoundingClientRect();e.top>window.innerHeight||0>e.bottom?(d&&(c=w.is_paused()),w.pause(),d=!1):c||d||(w.resume(),d=!0)}a++})}function b(a,b,c,d){var e=document.createElement("canvas"),f=document.getElementById(a);
  2570. f||(J.error('Warning: canvas container "'+a+'" not found, appending to body'),f=document.body);e.style.position="absolute";e.style.left=0;e.style.top=0;e.style.width=f.offsetWidth+"px";e.style.height=f.offsetHeight+"px";e.width=f.offsetWidth*window.devicePixelRatio;e.height=f.offsetHeight*window.devicePixelRatio;b?(a=document.createElement("canvas"),a.style.position="absolute",e.style.left=0,e.style.top=0,a.style.pointerEvents="none"):a=null;f.appendChild(e);if(!w.init(e,a))return c&&v("Browser could not initialize WebGL",
  2571. "For more info visit","https://www.4dage.com/",d),!1;a&&E.insert_to_container(a,"LAST");return!0}function g(a,b){a?(b&&(document.getElementById(b).style.display="block"),Q=document.getElementById(a)):(Q=document.createElement("div"),Q.innerHTML=0,Q.style.cssText="position:absolute;top: 23px;right: 20px;text-shadow: 0px 0px 6px #fff;font-size: 40px;line-height: 50px;font-weight: bold;color: #000;",E.insert_to_container(Q,"JUST_AFTER_CANVAS"))}function p(a,b){var c=
  2572. String(a);b&&(c+="/"+String(b));Q.innerHTML=c}function D(a){a=document.getElementById(a);var b=a.cloneNode(!0);a.parentNode.replaceChild(b,a);return b}function e(a,b,c){var d=Math.max(x.hover_get_distance(a),1),e=Z.get_rotation(a,G);b=I.quat_to_dir(e,b,U);b[2]=0;C.normalize(b,b);C.scale(b,d*c,b);c=Z.get_translation(a,ia);C.add(c,b,c);x.set_translation(a,c)}function u(a,b){var c=x.hover_get_vertical_limits(a,aa);if(c.up!=c.down){var d=x.get_camera_angles(a,T)[1],c=(c.down-d)/(c.down-c.up),d=x.hover_get_distance_limits(a,
  2573. aa),c=Math.max(c,2/d.max);x.hover_rotate(a,0,c*b)}}function n(a,b,c,d){Z.move_local(a,5*b,5*c,5*d)}function t(a,b,c){var d=x.target_get_distance(a),e=Math.abs(b);c=Math.pow(e*c,1-Math.pow(e*c,.15));Z.move_local(a,0,0,0>b?.001<d?-d*c:0:c/(1-c)*d)}function m(a,b,c,d){for(var e=c*b;0<a;--a)c+=e,d+=e,e=c*b;return d}function k(a,b,c,d,e){e?(e=x.target_get_pivot(a,U),a=x.get_translation(a),a=C.dist(e,a)+d,d=0<b?m(b,-c,a,d):m(-b,c/(1-c),a,d)):d-=2*b*c;return d}function d(a,b,c,d,f){function h(a,b,c,d){if(1==
  2574. c){x.get_velocities(a,aa);var e=M?.003*aa.trans:.003*aa.rot;c=A.get_sensor_value(a,b,0);A.get_sensor_payload(a,b,0).gesture===A.PL_SINGLE_TOUCH_MOVE?(Ha+="X"==d?-c*e:0,fb+="Y"==d?-c*e:0):A.get_sensor_payload(a,b,0).gesture===A.PL_MULTITOUCH_MOVE_PAN&&(a=M?.003*aa.rot:7.5E-4*aa.trans,hb+="X"==d?-c*a:0,lb+="Y"==d?-c*a:0)}}function g(a){x.get_velocities(a,aa);Za-=.05*aa.zoom}function m(a){x.get_velocities(a,aa);Ea-=.002*aa.trans}function p(a){x.get_velocities(a,aa);Za+=.05*aa.zoom}function q(a){x.get_velocities(a,
  2575. aa);Ea+=.002*aa.trans}function w(a,b,c,d){if(1==c){c=A.get_sensor_value(a,b,1);x.get_velocities(a,aa);if(M)e=.003*aa.trans,f=7.5E-4*aa.rot;else var e=.003*aa.rot,f=7.5E-4*aa.trans;if(1===A.get_sensor_payload(a,b,0).which)Fa+="X"==d?-c*e:0,Na+="Y"==d?-c*e:0;else if(2===A.get_sensor_payload(a,b,0).which||3===A.get_sensor_payload(a,b,0).which)Lb+="X"==d?-c*f:0,Xa+="Y"==d?-c*f:0}}function v(a){return a[0]&&(a[1]||a[2]||-.1>a[3])}function z(a){return a[0]&&(a[1]||a[2]||.1<a[3])}function G(a){return a[0]&&
  2576. (a[1]||-.1>a[2])}function E(a){return a[0]&&(a[1]||.1<a[2])}function D(a){return a[0]&&(a[1]||a[2]||a[3])}function J(a,b,c){if(1==c)switch(c=A.get_sensor_value(a,b,0),x.get_velocities(a,aa),b){case "FORWARD":K?Ca[0]=1:M?(b=x.get_camera_angles(a,T)[1],b=Math.abs(b)>=Math.PI/4?I.AXIS_Y:I.AXIS_MZ,e(a,b,.5*aa.trans*c)):Q?t(a,-aa.zoom,c):n(a,0,0,-aa.trans*c);break;case "BACKWARD":K?Ca[0]=-1:M?(b=x.get_camera_angles(a,T)[1],b=Math.abs(b)>=Math.PI/4?I.AXIS_MY:I.AXIS_Z,e(a,b,.5*aa.trans*c)):Q?t(a,aa.zoom,
  2577. c):n(a,0,0,aa.trans*c);break;case "UP":M?u(a,30*-aa.zoom*c):K||n(a,0,aa.trans*c,0);break;case "DOWN":M?u(a,30*aa.zoom*c):K||n(a,0,-aa.trans*c,0);break;case "LEFT":K?Ca[1]=1:M?e(a,I.AXIS_MX,.5*aa.trans*c):n(a,-aa.trans*c,0,0);break;case "RIGHT":K?Ca[1]=-1:M?e(a,I.AXIS_X,.5*aa.trans*c):n(a,aa.trans*c,0,0);break;case "ROT_LEFT":Q?x.target_rotate(a,.75*-aa.rot*c,0):x.eye_rotate(a,.75*aa.rot*c,0);break;case "ROT_RIGHT":Q?x.target_rotate(a,.75*aa.rot*c,0):x.eye_rotate(a,.75*-aa.rot*c,0);break;case "ROT_UP":Q?
  2578. x.target_rotate(a,0,.75*-aa.rot*c):x.eye_rotate(a,0,.75*aa.rot*c);break;case "ROT_DOWN":Q?x.target_rotate(a,0,.75*aa.rot*c):x.eye_rotate(a,0,.75*-aa.rot*c)}else switch(b){case "FORWARD":case "BACKWARD":K&&(Ca[0]=0);break;case "LEFT":case "RIGHT":K&&(Ca[1]=0)}K&&(r.set_character_move_dir(K,Ca[0],Ca[1]),a=x.get_camera_angles_char(a,ja),r.set_character_rotation(K,a[0],a[1]))}W=a;V=b;ka=c;var H=B.get_active_camera();y(H);var Q=!1,K=null,M=!1;switch(x.get_move_style(H)){case x.MS_TARGET_CONTROLS:Q=!a;
  2579. break;case x.MS_EYE_CONTROLS:K=B.get_first_character();break;case x.MS_STATIC:return;case x.MS_HOVER_CONTROLS:M=!0}var aa=x.get_velocities(H,qa);a=A.create_elapsed_sensor();if(r.has_simulated_physics(H)){var ma=A.create_collision_sensor(H,null,!0);A.create_sensor_manifold(H,"CAMERA_COLLISION",A.CT_POSITIVE,[ma],null,function(a,b){var c=A.get_sensor_payload(a,b,0).coll_dist;if(0>c){var d=A.get_sensor_payload(a,b,0).coll_norm,e=U;C.scale(d,-.25*c,e);c=Z.get_translation(a,ia);C.add(c,e,c);Z.set_translation_v(a,
  2580. c)}})}if(K){var ma=Z.get_translation(H),R=Z.get_rotation(H),R=I.cam_quat_to_mesh_quat(R);ma[2]-=.5;r.set_transform(K,ma,R);F.append_stiff_trans(H,K,[0,0,.5]);var Ca=new Float32Array(2),za=!0;r.set_character_move_type(K,r.CM_FLY);A.create_kb_sensor_manifold(H,"TOGGLE_CHAR_MOVE_TYPE",A.CT_SHOT,A.KEY_C,function(){za=!za;r.set_character_move_type(K,za?r.CM_FLY:r.CM_WALK)})}var Ja=l.check_enable_gamepad_indices(),ma=Ja.length?Ja[Ja.length-1]:0,Aa,fa,X,Y,Ya,Oa,eb,Ra,da,Ta;b?Aa=fa=X=Y=Ya=Oa=b=ma=eb=Ra=da=
  2581. Ta=A.create_custom_sensor(0):(Aa=A.create_keyboard_sensor(A.KEY_W),fa=A.create_keyboard_sensor(A.KEY_S),X=A.create_keyboard_sensor(A.KEY_A),Y=A.create_keyboard_sensor(A.KEY_D),Ya=A.create_keyboard_sensor(A.KEY_R),Oa=A.create_keyboard_sensor(A.KEY_F),b=A.create_gamepad_btn_sensor(l.GMPD_BUTTON_6,ma),ma=A.create_gamepad_btn_sensor(l.GMPD_BUTTON_7,ma),eb=A.create_keyboard_sensor(A.KEY_UP),Ra=A.create_keyboard_sensor(A.KEY_DOWN),da=A.create_keyboard_sensor(A.KEY_LEFT),Ta=A.create_keyboard_sensor(A.KEY_RIGHT));
  2582. var R=A.create_gamepad_axis_sensor(l.GMPD_AXIS_0,Ja),ha=A.create_gamepad_axis_sensor(l.GMPD_AXIS_1,Ja),P=A.create_gamepad_axis_sensor(l.GMPD_AXIS_2,Ja),Ja=A.create_gamepad_axis_sensor(l.GMPD_AXIS_3,Ja);M||(A.create_sensor_manifold(H,"FORWARD",A.CT_CONTINUOUS,[a,Aa,ha],G,J),A.create_sensor_manifold(H,"BACKWARD",A.CT_CONTINUOUS,[a,fa,ha],E,J));Q?(A.create_sensor_manifold(H,"ROT_UP",A.CT_CONTINUOUS,[a,eb,Ya,Ja],v,J),A.create_sensor_manifold(H,"ROT_DOWN",A.CT_CONTINUOUS,[a,Ra,Oa,Ja],z,J),A.create_sensor_manifold(H,
  2583. "ROT_LEFT",A.CT_CONTINUOUS,[a,da,X,P],v,J),A.create_sensor_manifold(H,"ROT_RIGHT",A.CT_CONTINUOUS,[a,Ta,Y,P],z,J)):M?(A.create_sensor_manifold(H,"LEFT",A.CT_CONTINUOUS,[a,da,X,R],v,J),A.create_sensor_manifold(H,"RIGHT",A.CT_CONTINUOUS,[a,Ta,Y,R],z,J),A.create_sensor_manifold(H,"FORWARD",A.CT_CONTINUOUS,[a,eb,Aa,ha],v,J),A.create_sensor_manifold(H,"BACKWARD",A.CT_CONTINUOUS,[a,Ra,fa,ha],z,J),A.create_sensor_manifold(H,"UP",A.CT_CONTINUOUS,[a,Oa,Ja],E,J),A.create_sensor_manifold(H,"DOWN",A.CT_CONTINUOUS,
  2584. [a,Ya,Ja],G,J)):(A.create_sensor_manifold(H,"UP",A.CT_CONTINUOUS,[a,Ya,b],D,J),A.create_sensor_manifold(H,"DOWN",A.CT_CONTINUOUS,[a,Oa,ma],D,J),A.create_sensor_manifold(H,"LEFT",A.CT_CONTINUOUS,[a,X,R],G,J),A.create_sensor_manifold(H,"RIGHT",A.CT_CONTINUOUS,[a,Y,R],E,J),A.create_sensor_manifold(H,"ROT_UP",A.CT_CONTINUOUS,[a,eb,Ja],G,J),A.create_sensor_manifold(H,"ROT_DOWN",A.CT_CONTINUOUS,[a,Ra,Ja],E,J),A.create_sensor_manifold(H,"ROT_LEFT",A.CT_CONTINUOUS,[a,da,P],G,J),A.create_sensor_manifold(H,
  2585. "ROT_RIGHT",A.CT_CONTINUOUS,[a,Ta,P],E,J));if(!c){var Ma=0;c=A.create_mouse_wheel_sensor(d);var Ga=0,Ja=A.create_touch_zoom_sensor(d);A.create_sensor_manifold(H,"MOUSE_WHEEL",A.CT_LEVEL,[c],null,function(a,b,c){1==c&&(b=A.get_sensor_value(a,b,0),x.get_velocities(a,aa),Q||M?Ma=k(a,b,aa.zoom,Ma,Q):(aa.trans*=1+b*aa.zoom,x.set_velocities(a,aa)))});A.create_sensor_manifold(H,"TOUCH_ZOOM",A.CT_LEVEL,[Ja],null,function(a,b,c){1==c&&(c=A.get_sensor_value(a,b,0),x.get_velocities(a,aa),A.get_sensor_payload(a,
  2586. b,0)===A.PL_MULTITOUCH_MOVE_ZOOM&&(Ga=k(a,c,.03*aa.zoom,Ga,Q)))});A.create_sensor_manifold(H,"ZOOM_INTERPOL",A.CT_POSITIVE,[a],null,function(a,b){if(Q||M)if(1E-5<Math.abs(Ma)||1E-5<Math.abs(Ga)){var c=A.get_sensor_value(a,b,0),d=I.smooth(Ma,0,c,.1*N);Ma-=d;c=I.smooth(Ga,0,c,.15*N);Ga-=c;M?u(a,-(d+c)):(d=x.target_get_distance(a)+d+c,d=Math.max(d,.001),x.target_set_distance(a,d))}else Ga=Ma=0})}var Fa=0,Na=0,Lb=0,Xa=0,Ea=0,Za=0;Q?(A.create_sensor_manifold(H,"GMPD_PAN_Y_POS",A.CT_CONTINUOUS,[b],null,
  2587. p),A.create_sensor_manifold(H,"GMPD_PAN_Y_NEG",A.CT_CONTINUOUS,[ma],null,g),A.create_sensor_manifold(H,"GMPD_PAN_X_POS",A.CT_CONTINUOUS,[R],function(a){return-.1>a[0]},m),A.create_sensor_manifold(H,"GMPD_PAN_X_NEG",A.CT_CONTINUOUS,[R],function(a){return.1<a[0]},q)):M&&(A.create_sensor_manifold(H,"GMPD_PAN_X_POS",A.CT_CONTINUOUS,[P],function(a){return-.1>a[0]},m),A.create_sensor_manifold(H,"GMPD_PAN_X_NEG",A.CT_CONTINUOUS,[P],function(a){return.1<a[0]},q));if(f){f=A.create_mouse_move_sensor("X",window);
  2588. c=A.create_mouse_move_sensor("Y",window);b=A.create_mouse_click_sensor(d);var ma=A.create_mouse_click_sensor(window),Xb=!1,R=function(a){a[2]?Xb=!0:a[0]||(Xb=!1);return Xb&&a[0]};A.create_sensor_manifold(H,"MOUSE_X",A.CT_POSITIVE,[ma,f,b],R,w,"X");A.create_sensor_manifold(H,"MOUSE_Y",A.CT_POSITIVE,[ma,c,b],R,w,"Y");f=l.get_device_by_type_element(l.DEVICE_MOUSE,window);l.switch_prevent_default(f,!1)}else f=A.create_mouse_move_sensor("X",d),c=A.create_mouse_move_sensor("Y",d),b=A.create_mouse_click_sensor(d),
  2589. A.create_sensor_manifold(H,"MOUSE_X",A.CT_POSITIVE,[b,f],null,w,"X"),A.create_sensor_manifold(H,"MOUSE_Y",A.CT_POSITIVE,[b,c],null,w,"Y");var Ha=0,fb=0,hb=0,lb=0;f=A.create_touch_move_sensor("X",d);d=A.create_touch_move_sensor("Y",d);A.create_sensor_manifold(H,"TOUCH_X",A.CT_POSITIVE,[f],null,h,"X");A.create_sensor_manifold(H,"TOUCH_Y",A.CT_POSITIVE,[d],null,h,"Y");A.create_sensor_manifold(H,"ROT_TRANS_INTERPOL",A.CT_POSITIVE,[a],null,function(a,b){if(1E-5<Math.abs(Fa)||1E-5<Math.abs(Na)||1E-5<Math.abs(Ha)||
  2590. 1E-5<Math.abs(fb)||1E-5<Math.abs(Lb)||1E-5<Math.abs(Xa)||1E-5<Math.abs(hb)||1E-5<Math.abs(lb)||1E-5<Math.abs(Ea)||1E-5<Math.abs(Za)){var c=A.get_sensor_value(a,b,0),d=I.smooth(Fa,0,c,.08*N),f=I.smooth(Na,0,c,.08*N);Fa-=d;Na-=f;var h=I.smooth(Ha,0,c,.12*N),g=I.smooth(fb,0,c,.12*N);Ha-=h;fb-=g;var k=I.smooth(Lb,0,c,.08*N),l=I.smooth(Xa,0,c,.08*N);Lb-=k;Xa-=l;var m=I.smooth(hb,0,c,.12*N),n=I.smooth(lb,0,c,.12*N);hb-=m;lb-=n;var p=I.smooth(Ea,0,c,.08*N),c=I.smooth(Za,0,c,.08*N);Ea-=p;Za-=c;Q?(x.target_rotate(a,
  2591. d+h,f+g),f=x.target_get_distance(a),x.target_pan_pivot(a,f*(k+m+p),f*(l+n+c))):M?(d+h&&e(a,I.AXIS_X,.2*(d+h)),f+g&&(l=x.get_camera_angles(a,T)[1],e(a,Math.abs(l)>Math.PI/4?I.AXIS_MY:I.AXIS_Z,.2*(f+g))),x.hover_rotate(a,k+m+p,0)):(x.eye_rotate(a,.5*(d+h),.5*(f+g)),K&&(k=x.get_camera_angles_char(a,ja),r.set_character_rotation(K,k[0],k[1])))}});A.create_kb_sensor_manifold(H,"DEC_STEREO_DIST",A.CT_SHOT,A.KEY_LEFT_SQ_BRACKET,function(a){var b=x.get_stereo_distance(a);x.set_stereo_distance(a,.9*b)});A.create_kb_sensor_manifold(H,
  2592. "INC_STEREO_DIST",A.CT_SHOT,A.KEY_RIGHT_SQ_BRACKET,function(a){var b=x.get_stereo_distance(a);x.set_stereo_distance(a,1.1*b)})}function y(a){var b=x.get_move_style(a),c=A.create_callback_sensor(function(){var c=x.get_move_style(a),d=c!=b;b=c;return d});A.create_sensor_manifold(a,"CHANGE_MOVE_STYLE",A.CT_POSITIVE,[c],null,function(){H();d(W,V,ka)})}function H(){var a=B.get_active_camera();A.check_sensor_manifold(a,"TOGGLE_CHAR_MOVE_TYPE")&&B.get_first_character()&&F.remove(a);for(var b="FORWARD BACKWARD ROT_UP ROT_DOWN ROT_LEFT ROT_RIGHT UP DOWN LEFT RIGHT MOUSE_WHEEL TOUCH_ZOOM ZOOM_INTERPOL MOUSE_X MOUSE_Y TOUCH_X TOUCH_Y ROT_TRANS_INTERPOL CHANGE_MOVE_STYLE TOGGLE_CHAR_MOVE_TYPE".split(" "),
  2593. c=0;c<b.length;c++)A.remove_sensor_manifold(a,b[c])}function v(a,b,c,d){var e=document.createElement("div"),f=document.createElement("div"),h=document.createElement("div");if(d)for(var g=0;g<d.length;g++){var k=document.getElementById(d[g]);k&&k.parentNode.removeChild(k)}e.style.cssText="z-index:10;width:100%;height:auto;position:absolute;top:50%;margin-top:150px;text-align:center;";f.style.cssText="color:#fff;font-size:24px;";h.style.cssText="color:#fff;font-size:20px;";f.innerHTML=a;h.innerHTML=
  2594. b+' <a style="color:#fff;font-size:20px;width:100%;" href="'+c+'">'+c.replace("https://www.","")+"</a>";e.appendChild(f);e.appendChild(h);document.body.appendChild(e)}function z(a,b,c,d,e){function f(){var g=performance.now()-h;e(b+g*(c-b)/d);(g>=d||!a.parentNode)&&w.remove_loop_cb(f)}var h=performance.now();w.append_loop_cb(f)}q("animation");var x=q("camera"),M=q("config"),F=q("constraints"),E=q("container"),A=q("controls"),K=q("data"),h=q("debug"),l=q("input"),w=q("main"),r=q("physics"),J=q("print"),
  2595. B=q("scenes"),Z=q("transform"),I=q("util"),C=q("vec3"),N=1,Q=null,W=!1,V=!1,ka=!1,ja=new Float32Array(2),T=new Float32Array(2),U=new Float32Array(3),ia=new Float32Array(3);new Float32Array(3);var G=new Float32Array(4),qa={},aa={};a.init=function(a){function d(){var a=b(m,H,B,n),e=E.get_canvas();if(a){var u=E.get_container();E.resize_to_container();z&&(g(r,t),w.set_fps_callback(p));x&&(f(),c());q&&w.append_loop_cb(function(){u.style.height=u.clientWidth/q+"px"});l&&w.append_loop_cb(function(){E.resize_to_container()});
  2596. G&&w.append_loop_cb(function(){E.force_offsets_updating()});v&&M.reset_limits();D==M.P_AUTO?h.test_performance(function(a,b){0==a?(J.log("QUALITY TEST RESULT: UNSUPPORTED, using HIGH"),M.apply_quality(M.P_HIGH)):1.5>b?(J.log("QUALITY TEST RESULT: LOW ("+b.toFixed(1)+" GB/s)"),M.apply_quality(M.P_LOW)):(J.log("QUALITY TEST RESULT: HIGH ("+b.toFixed(1)+" GB/s)"),M.apply_quality(M.P_HIGH));k(e,!0)}):k(e,!0)}else k(e,!1)}function e(a){a.keyCode==A.KEY_P&&(w.is_paused()?w.resume():w.pause())}function k(){}
  2597. a=a||{};var l=!1,m=null,n=null,r=null,q=0,t=null,u=!0,v=!1,x=!0,B=!0,C=!1,z=!1,y=!1,G=!1,D=M.get("quality"),F;for(F in a)switch(F){case "canvas_container_id":m=a.canvas_container_id;break;case "callback":k=a.callback;break;case "autoresize":l=a.autoresize;break;case "show_hud_debug_info":y=a.show_hud_debug_info;break;case "sfx_mix_mode":C=a.sfx_mix_mode;break;case "show_fps":z=a.show_fps;break;case "track_container_position":G=a.track_container_position;break;case "fps_wrapper_id":t=a.fps_wrapper_id;
  2598. break;case "fps_elem_id":r=a.fps_elem_id;break;case "error_purge_elements":n=a.error_purge_elements;break;case "report_init_failure":B=a.report_init_failure;break;case "pause_invisible":x=a.pause_invisible;break;case "key_pause_enabled":u=a.key_pause_enabled;break;case "force_container_ratio":q=a.force_container_ratio;break;case "min_capabilities":v=a.min_capabilities;break;case "quality":D=a.quality;break;default:M.set(F,a[F])}D!=M.P_AUTO&&M.set("quality",D);u&&document.addEventListener("keydown",
  2599. e,!1);M.set("show_hud_debug_info",y);M.set("sfx_mix_mode",C);var H=y||C||null;"complete"==document.readyState?window.setTimeout(d,0):window.addEventListener("load",d,!1);window.addEventListener("unload",function(){K.cleanup()},!1)};a.resize_to_container=function(){J.lb("app.resize_to_container","container.resize_to_container");E.resize_to_container()};a.set_onclick=function(a,b){var c=D(a);c.addEventListener("mouseup",function(){b(c.value)},!1)};a.set_onchange=function(a,b){var c=D(a);c.addEventListener("change",
  2600. function(){var a=c.checked;b(void 0!=a?a:c.value)},!1)};a.set_onkeypress=function(a,b){var c=D(a);c.addEventListener("keypress",function(a){b(a.keyCode,c.value)},!1)};a.enable_camera_controls=d;a.disable_camera_controls=H;a.set_camera_move_style=function(a){J.Tg("app.set_camera_move_style",["camera.static_setup","camera.eye_setup","camera.target_setup","camera.hover_setup","camera.hover_setup_rel"]);var b=B.get_active_camera();x.set_move_style(b,a)};a.enable_object_controls=function(a){function b(a){return a[0]&&
  2601. (a[1]||a[2])}function c(a,b,e){if(1==e)switch(e=A.get_sensor_value(a,b,0),b){case "FORWARD":d?r.vehicle_throttle(a,1):Z.move_local(a,0,-1*e,0);break;case "BACKWARD":d?r.vehicle_throttle(a,-1):Z.move_local(a,0,1*e,0);break;case "LEFT":d?r.vehicle_steer(a,-1):Z.move_local(a,1*e,0,0);break;case "RIGHT":d?r.vehicle_steer(a,1):Z.move_local(a,-1*e,0,0)}else switch(b){case "FORWARD":case "BACKWARD":d&&r.vehicle_throttle(a,0);break;case "LEFT":case "RIGHT":d&&r.vehicle_steer(a,0)}}var d=r.is_vehicle_chassis(a)||
  2602. r.is_vehicle_hull(a),e=A.create_elapsed_sensor(),f=A.create_keyboard_sensor(A.KEY_W),h=A.create_keyboard_sensor(A.KEY_S),g=A.create_keyboard_sensor(A.KEY_A),k=A.create_keyboard_sensor(A.KEY_D),l=A.create_keyboard_sensor(A.KEY_UP),m=A.create_keyboard_sensor(A.KEY_DOWN),n=A.create_keyboard_sensor(A.KEY_LEFT),p=A.create_keyboard_sensor(A.KEY_RIGHT);A.create_sensor_manifold(a,"FORWARD",A.CT_CONTINUOUS,[e,f,l],b,c);A.create_sensor_manifold(a,"BACKWARD",A.CT_CONTINUOUS,[e,h,m],b,c);A.create_sensor_manifold(a,
  2603. "LEFT",A.CT_CONTINUOUS,[e,g,n],b,c);A.create_sensor_manifold(a,"RIGHT",A.CT_CONTINUOUS,[e,k,p],b,c)};a.disable_object_controls=function(a){for(var b=["FORWARD","BACKWARD","LEFT","RIGHT"],c=0;c<b.length;c++)A.remove_sensor_manifold(a,b[c])};a.enable_controls=function(){J.L("app.enable_controls() deprecated")};a.disable_controls=function(){J.L("app.disable_controls() deprecated")};a.enable_debug_controls=function(){A.create_kb_sensor_manifold(null,"CAMERA_SHOT",A.CT_SHOT,A.KEY_K,function(){h.make_camera_frustum_shot()});
  2604. A.create_kb_sensor_manifold(null,"LIGHT_SHOT",A.CT_SHOT,A.KEY_L,function(){h.make_light_frustum_shot()});A.create_kb_sensor_manifold(null,"TELEMETRY",A.CT_SHOT,A.KEY_T,function(){h.plot_telemetry()})};a.request_fullscreen=function(a,b,c){function d(){document.fullscreenElement===a||document.webkitFullScreenElement===a||document.mozFullScreenElement===a||document.webkitIsFullScreen||document.msFullscreenElement===a?b():(document.removeEventListener("fullscreenchange",d,!1),document.removeEventListener("webkitfullscreenchange",
  2605. d,!1),document.removeEventListener("mozfullscreenchange",d,!1),document.removeEventListener("MSFullscreenChange",d,!1),c())}b=b||function(){};c=c||function(){};document.addEventListener("fullscreenchange",d,!1);document.addEventListener("webkitfullscreenchange",d,!1);document.addEventListener("mozfullscreenchange",d,!1);document.addEventListener("MSFullscreenChange",d,!1);a.requestFullScreen=a.requestFullScreen||a.webkitRequestFullScreen||a.mozRequestFullScreen||a.msRequestFullscreen;a.requestFullScreen?
  2606. a.requestFullScreen():J.error("FDAGE App: request fullscreen method is not supported")};a.exit_fullscreen=function(){var a=document.exitFullscreen||document.webkitExitFullscreen||document.mozCancelFullScreen||document.msExitFullscreen;"function"!=typeof a&&J.error("FDAGE App: exit fullscreen method is not supported");a.apply(document)};a.check_fullscreen=function(){return window.document.fullscreenEnabled||window.document.mozFullScreenEnabled||window.document.msFullscreenEnabled||window.document.webkitFullscreenEnabled?
  2607. !0:!1};a.report_app_error=v;a.get_url_params=function(a){a=!!a;var b=decodeURIComponent(location.href.toString());if(-1==b.indexOf("?"))return null;for(var b=b.split("?")[1].split("&"),c={},d=0;d<b.length;d++){var e=b[d].split("="),f=e[0];1<e.length?(e=e[1],a?f in c?c[f].push(e):c[f]=[e]:c[f]=e):a?f in c||(c[f]=[]):c[f]=""}return c};a.css_animate=function(a,b,c,d,e,f,h,g){function k(e){a&&(l[b]=f+e+h,c>d&&e<=d||c<d&&e>=d)&&(l[b]=f+d+h,g())}if(a&&b&&isFinite(c)&&isFinite(d)&&isFinite(e)){f=f||"";h=
  2608. h||"";g=g||function(){};var l=a.style,m=b.charAt(0).toUpperCase()+b.slice(1);if(void 0==l[b])if(void 0!=l["webkit"+m])b="webkit"+m;else if(void 0!=l["ms"+m])b="ms"+m;else if(void 0!=l["moz"+m])b="moz"+m;else return;z(a,c,d,e,k)}};a.attr_animate=function(a,b,c,d,e,f){function h(e){a&&(0<=e&&a.setAttribute(b,e),c>d&&e<=d||c<d&&e>=d)&&(a.setAttribute(b,d),f())}a&&b&&isFinite(c)&&isFinite(d)&&isFinite(e)&&(f=f||function(){},z(a,c,d,e,h))};a.queue_animate=function(b){if(b.length){var c=b.shift(),d=c.elem,
  2609. e=c.prop,f=c.from,h=c.to,g=c.duration,k=c.opt_prefix,l=c.opt_suffix,m=function(){c.cb&&c.cb();a.queue_animate(b)};"css"==c.type?a.css_animate(d,e,f,h,g,k,l,m):"attr"==c.type&&a.attr_animate(d,e,f,h,g,m)}};a.set_camera_smooth_factor=function(a){N=a};a.get_camera_smooth_factor=function(){return N}};fdage.module.camera_anim=function(a,q){function f(a,b,d,e,f){d=n.angle_wrap_0_2pi(b-d);d=Math.min(d,2*Math.PI-d);b=n.angle_wrap_0_2pi(e-b);b=Math.min(b,2*Math.PI-b);if(1E-6>Math.abs(d)||1E-6>2*Math.PI-Math.abs(d))d=0;if(1E-6>Math.abs(b)||1E-6>2*Math.PI-Math.abs(b))b=0;c.is_eye_camera(a)?(f[0]=b,f[1]=d):(f[0]=d,f[1]=b);return f}var c=q("camera"),b=q("controls"),g=q("print"),p=q("scenes"),D=q("time"),e=q("transform"),u=q("tsr"),n=q("util"),t=q("vec3");q("quat");var m=new Float32Array(2),k=new Float32Array(2),
  2610. d=new Float32Array(3),y=new Float32Array(3),H=new Float32Array(3);new Float32Array(4);var v=u.create(),z=u.create(),x=u.create(),M={},F=!1,E=!1,A=!1,K=!1;a.track_to_target=function(a,f,p,r,q,u,v,x){if(c.is_eye_camera(a)){if(n.is_vector(f))var C=f;else C=d,e.get_object_center(f,!1,C);p=p||1;r=r||2;q=q||1;u=u||1;var z=e.get_translation(a,y);f=t.subtract(C,z,H);var C=c.get_camera_angles(a,m),A=c.get_camera_angles_dir(f,k),E=A[0]-C[0],F=A[1]-C[1],K=Math.abs(Math.acos(Math.cos(E)*Math.cos(F))/p),M=t.length(f)*
  2611. (1-1/r),T=function(a){return 6*a*(1-a)},U=D.get_timeline(),ia=0,G=function(){b.remove_sensor_manifold(a,"TRACK_TO_TARGET");v&&v()};p=b.create_timeline_sensor();r=b.create_elapsed_sensor();b.create_sensor_manifold(a,"TRACK_TO_TARGET",b.CT_CONTINUOUS,[p,r],null,function(d,f,g){c.is_eye_camera(d)?1==g&&(g=b.get_sensor_value(d,f,0)-U,f=b.get_sensor_value(d,f,1),g<K?(g=T(g/K),c.eye_rotate(a,g*E*f/K,g*F*f/K)):g<K+q?(0==ia&&(c.eye_rotate(a,A[0],A[1],!0,!0),ia++),g=T(g-K/q),f=g*M*f/q,e.move_local(d,0,0,-f)):
  2612. g<K+q+u?1>=ia&&(c.eye_rotate(a,A[0],A[1],!0,!0),c.eye_set_look_at(a,z),e.move_local(d,0,0,-M),x&&x(),ia++):g<K+q+u+q?(2>=ia&&(c.eye_rotate(a,A[0],A[1],!0,!0),c.eye_set_look_at(a,z),e.move_local(d,0,0,-M),ia++),g=T(g-K-q-u/q),f=g*M*f/q,e.move_local(d,0,0,f)):(c.eye_rotate(a,A[0],A[1],!0,!0),c.eye_set_look_at(a,z),G())):G()})}else g.error("track_to_target(): Wrong camera object or camera move style")};a.auto_rotate=function(a,d,e){function r(d,e,g){if(1==g)if(g=c.get_move_style(d),g==c.MS_STATIC)q();
  2613. else if(g!=c.MS_TARGET_CONTROLS&&g!=c.MS_EYE_CONTROLS||!c.has_horizontal_rot_limits(d))u=null,e=b.get_sensor_value(d,e,0),c.rotate_camera(d,e*a,0);else{g=g==c.MS_EYE_CONTROLS?c.eye_get_horizontal_limits(d,M):c.target_get_horizontal_limits(d,M);if(null===u||g.left!=u.left||g.right!=u.right){u=u||{};u.left=g.left;u.right=g.right;v=Math.min(.2,n.angle_wrap_0_2pi(u.right-u.left)/2);g=t;var l=u,p=c.get_camera_angles(g,m)[0];g=f(g,p,l.left,l.right,k);x=a*Math.min(1,g[0]/.2,g[1]/.2)}e=b.get_sensor_value(d,
  2614. e,0);g=c.get_camera_angles(d,m)[0];g=f(d,g,u.left,u.right,k);g[1]>v&&g[0]>v?x=n.sign(x)*a:g[1]<v?x-=Math.pow(a,2)/.4*e:g[0]<v&&(x+=Math.pow(a,2)/.4*e);c.rotate_camera(d,e*x,0)}}function q(){b.remove_sensor_manifold(t,"AUTO_ROTATE");b.remove_sensor_manifold(t,"DISABLE_AUTO_ROTATE");d()}d=d||function(){};var t=p.get_active_camera();if(c.is_static_camera(t))g.error("auto_rotate(): Wrong camera move style");else{var u={},v=0,x=0;if(b.check_sensor_manifold(t,"AUTO_ROTATE"))q();else{var A=b.create_mouse_move_sensor("X"),
  2615. z=b.create_mouse_move_sensor("Y"),y=b.create_mouse_click_sensor(),E=b.create_touch_move_sensor(),D=b.create_touch_zoom_sensor(),F=b.create_elapsed_sensor();e=e?b.create_mouse_wheel_sensor():b.create_custom_sensor(0);b.create_sensor_manifold(t,"DISABLE_AUTO_ROTATE",b.CT_LEVEL,[A,z,y,E,D,e],function(a){return a[0]&&a[2]||a[1]&&a[2]||a[3]||a[4]||a[5]},q);b.create_sensor_manifold(t,"AUTO_ROTATE",b.CT_CONTINUOUS,[F],function(a){return a[0]},r)}}};a.is_auto_rotate=function(){var a=p.get_active_camera();
  2616. return b.check_sensor_manifold(a,"AUTO_ROTATE")};a.check_auto_rotate=function(){var a=p.get_active_camera();return c.get_move_style(a)==c.MS_STATIC?!1:!0};a.move_camera_to_point=function(a,b,f,k,m){if(c.get_move_style(a)!=c.MS_STATIC)g.error("move_camera_to_point(): wrong camera type");else if(!F)if(a)if(b){f=f||1;k=k||.01;var p=n.is_vector(a)?a:e.get_tsr(a,v),q=n.is_vector(b)?b:e.get_tsr(b,z);b=t.distance(u.get_trans_view(p),u.get_trans_view(q))/f;f=n.quat_to_dir(u.get_quat_view(p),n.AXIS_MZ,d);
  2617. var E=n.quat_to_dir(u.get_quat_view(q),n.AXIS_MZ,y);f=Math.min(Math.abs(t.dot(f,E)),1);k=1E3*Math.max(b,Math.acos(f)/k);F=!0;var C=D.animate(0,1,k,function(b){var c=u.interpolate(p,q,n.smooth_step(b),x);A?(D.clear_animation(C),F=A=!1):(e.set_tsr(a,c),1==b&&(F=!1,m&&m()))})}else g.error("move_camera_to_point(): you must specify the point object");else g.error("move_camera_to_point(): you must specify the camera object")};a.rotate_camera=function(a,b,d,e,f){if(c.get_move_style(a)==c.MS_STATIC)g.error("rotate_camera(): not supported for STATIC cameras");
  2618. else if(!E)if(a)if(b||d){E=!0;var k=0,m=0,n=0!=b?b:d,p=D.animate(0,n,e||1E3,function(e){K?(D.clear_animation(p),E=K=!1):(k-=e,m-=e,d&&b?c.rotate_camera(a,k,m):d?c.rotate_camera(a,0,m):b&&c.rotate_camera(a,k,0),m=k=e,e==n&&(E=!1,f&&f()))})}else g.error("rotate_camera(): you must specify the rotation angle");else g.error("rotate_camera(): you must specify the camera object")};a.stop_cam_moving=function(){A=!0};a.stop_cam_rotating=function(){K=!0};a.is_moving=function(){return F};a.is_rotating=function(){return E}};fdage.module.gp_conf=function(a,q){function f(){r.length=0;for(var a=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:[],b=0;b<a.length;b++)a[b]&&r.push(a[b]);return r}function c(a){var b=y.get(a+"_gmpd_stngs","fdage");if(b){var b=JSON.parse(b),c;for(c in b)d.set_gamepad_key(a,c,b[c])}else c=JSON.stringify(v),y.set(a+"_gmpd_stngs",c,"fdage")}function b(a){I=!0;var b=document.createElement("div"),c=document.createElement("div"),e=document.createElement("div"),
  2619. f=document.createElement("div"),g=document.createElement("div"),h=document.createElement("div"),k=document.createElement("div"),l=document.createElement("div"),m=document.createElement("div"),n=document.createElement("div"),p=document.createElement("div"),r=document.createElement("div"),q=document.createElement("div"),t=document.createElement("div"),v=document.createElement("div"),w=document.createElement("div"),x=document.createElement("div"),C=document.createElement("div"),y=document.createElement("div"),
  2620. E=document.createElement("div"),D=document.createElement("div"),F=document.createElement("div");A=b;b.style.cssText="position: absolute;height: auto;background-image: url('data:image/svg+xml;base64,"+btoa('<svg id="svg26627" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="128.51mm" viewBox="0 0 636.63517 455.33329" width="179.67mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/"><defs id="defs26629"><linearGradient id="linearGradient4691"><stop id="stop4693" offset="0"/><stop id="stop4695" stop-opacity="0" offset="1"/></linearGradient><linearGradient id="linearGradient4358"><stop id="stop4360" stop-color="#2e2e2e" offset="0"/><stop id="stop4362" stop-color="#2e2e2e" stop-opacity="0" offset="1"/></linearGradient><linearGradient id="linearGradient4364" x1="1141.5" xlink:href="#linearGradient4358" gradientUnits="userSpaceOnUse" y1="255.95" gradientTransform="matrix(-1 0 0 1 1531.4 560.1)" x2="1165.2" y2="309.88"/><linearGradient id="linearGradient4368" x1="1141.5" xlink:href="#linearGradient4358" gradientUnits="userSpaceOnUse" y1="255.95" gradientTransform="translate(-896.37 560.1)" x2="1165.2" y2="309.88"/><linearGradient id="linearGradient4430" x1="959.32" gradientUnits="userSpaceOnUse" y1="653.07" gradientTransform="matrix(-1 0 0 1 1531.4 70.097)" x2="1467.6" y2="653.07"><stop id="stop4426" stop-color="#4f4f4f" offset="0"/><stop id="stop4428" stop-color="#4f4f4f" stop-opacity="0" offset="1"/></linearGradient><linearGradient id="linearGradient4701" x1="529.91" xlink:href="#linearGradient4691" gradientUnits="userSpaceOnUse" y1="111.1" gradientTransform="translate(-52.276 546.89)" x2="481.49" y2="85.746"/><linearGradient id="linearGradient4713" x1="529.91" xlink:href="#linearGradient4691" gradientUnits="userSpaceOnUse" y1="111.1" gradientTransform="matrix(-1 0 0 1 689.01 546.89)" x2="481.49" y2="85.746"/><linearGradient id="linearGradient4725" x1="367.39" xlink:href="#linearGradient4691" gradientUnits="userSpaceOnUse" y1="125.6" gradientTransform="matrix(-1.3272 0 0 .68317 806.95 579.14)" x2="367.39" y2="116.11"/></defs><metadata id="metadata26632"><rdf:RDF><cc:Work rdf:about=""> <dc:format>image/svg+xml</dc:format> <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/> <dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(0 -597.03)"><g id="g20" fill-rule="evenodd"><path id="path4209" fill="#434343" d="m576.71 1052.4c42.015-1.9097 64.296-46.468 59.204-122.86-5.0928-76.387-27.374-175.69-44.562-224.7-17.188-49.015-25.501-62.531-26.737-65.565-3.7697-9.2504-11.278-19.949-62.379-27.691-28.97-4.3891-16.697-7.9577-27.084-9.4696-17.96-2.6141-43.609-1.229-52.203 1.6354-8.594 2.8645-12.709 29.16-24.486 35.207-11.777 6.0473-19.416 10.185-80.149 10.185s-68.372-4.1376-80.149-10.185c-11.777-6.0473-18.113-32.099-25.736-36.993-11.183-7.1796-26.985-5.6722-54.891-0.57481-5.64 1.0302-1.1304 7.6212-18.165 12.509-32.913 9.4438-52.094 3.7056-65.087 20.831-1.9807 2.6106-11.822 21.096-29.01 70.111-17.179 48.95-39.46 148.25-44.553 224.64-5.0929 76.39 17.188 120.99 59.204 122.89 73.339-1.7 55.219-116.53 258.4-116.53s185.05 114.82 258.4 116.49z"/><path id="path4366" fill="url(#linearGradient4368)" d="m249.77 838.51c-107.76 0-171.55 96.288-176.84 121.23-5.2294 24.634-17.658 55.705 3.8195 53.789 9.6996-0.8655 18.053-15.713 37.559-38.193 18.78-21.643 41.379-54.425 96.763-54.425s73.209-44.877 75.119-53.152c1.9098-8.2752 2.4146-27.976-36.418-29.25z"/><path id="path4217" fill="url(#linearGradient4364)" d="m385.23 838.51c107.76 0 171.55 96.288 176.84 121.23 5.2293 24.634 17.658 55.705-3.8195 53.789-9.6996-0.8655-18.053-15.713-37.559-38.193-18.78-21.643-41.379-54.425-96.763-54.425s-73.209-44.877-75.119-53.152c-1.9098-8.2752-2.4146-27.976 36.418-29.25z"/><path id="path4370" fill="url(#linearGradient4430)" d="m572.06 654.81c-60.48-19.09-76.79-18.6-89.84-17.96-13.05 0.63657-22.638 16.617-45.237 49.4s-67.48 125.27-116.23 125.27c-48.746 0-93.626-92.491-116.23-125.27-22.599-32.783-32.008-48.942-45.059-49.579-13.05-0.63648-35.251 1.8354-95.728 20.932l1.1161-2.3404c60.494-19.1 81.754-20.83 94.804-20.19 13.05 0.63657 22.281 13.049 44.88 45.832s67.48 123.49 116.23 123.49c48.746 0 93.626-90.709 116.23-123.49 22.599-32.783 31.83-45.195 44.88-45.832 13.05-0.63648 28.783-1.6248 89.26 17.472"/><path id="path4315" fill="#343434" d="m570.99 652.48c-60.477-19.097-76.074-18.269-89.124-17.633-13.05 0.63658-22.281 14.832-44.88 47.614-22.599 32.783-67.48 125.27-116.23 125.27-48.746 0-93.626-92.491-116.23-125.27-22.599-32.783-31.83-46.978-44.88-47.614-13.05-0.63648-34.715 1.2996-95.192 20.396l1.1161-2.3404c60.474-19.1 81.024-22.26 94.074-21.62 13.05 0.63658 22.281 13.049 44.88 45.832s67.48 123.49 116.23 123.49c48.746 0 93.626-90.709 116.23-123.49 22.599-32.783 31.83-45.195 44.88-45.832 13.05-0.63647 27.71-0.17274 88.186 18.924"/></g><g id="g15645" transform="matrix(.75439 0 0 1 1558.5 -6638.3)" fill-rule="evenodd"><rect id="rect15584" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="2" ry="1.8461" height="44.307" width="570" y="6558.3" x="100.71" fill="#4164bb"/><rect id="rect15331" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="2" ry="1.8461" height="44.307" width="570" y="6554.6" x="100.71" fill="#5276cf"/></g><text id="text15623-9" style="word-spacing:0px;letter-spacing:0px" font-weight="300" xml:space="preserve" font-size="22px" line-height="430.99999428%" y="-53.755863" x="1792.7805" font-family="&apos;Noto Sans CJK TC&apos;" fill="#ffffff"><tspan id="tspan15625-5" y="-53.755863" x="1792.7805"/></text><text id="text15657" style="word-spacing:0px;letter-spacing:0px" font-weight="300" xml:space="preserve" font-size="13px" line-height="430.99999428%" y="-3.7607465" x="1670.2437" font-family="&apos;Noto Sans CJK TC&apos;" fill="#828282"><tspan id="tspan15659" y="-3.7607465" x="1670.2437"/></text><g id="g34" fill-rule="evenodd"><path id="path4675" fill="#303030" d="m551.75 628.4c9.3003 4.1796 8.2375 11.558 2.1302 9.9581-6.1073-1.6003-33.792-9.1405-46.239-11.577-12.446-2.4363-34.904-3.0623-36.951-4.0165-2.0474-0.95416 0.93313-7.7247 5.491-7.3449 23.258 0.91012 59.905 6.0339 75.569 12.98z"/><path id="path4677" fill="#303030" d="m474.88 602.61c3.6488 0.63684 4.1169 1.3708 2.4115 5.2499-0.80967 1.8416-1.261 3.904-3.4715 3.7336-4.456-0.34344-16.578-1.2846-25.692-1.3764-9.1139-0.0918-23.83 1.217-25.307 0.79399-1.4771-0.42301-1.8834-4.9141 1.7769-6.7458 4.6221-1.3593 38.698-3.2021 50.281-1.6553z"/><path id="path4699" opacity=".384" fill="url(#linearGradient4701)" d="m475.53 611.7c-11.693-0.63604-8.4597-0.73151-44.068 54.448-6.5182 8.6489-22.874 37.231-36.865 35.326-6.7491-1.4177 15.436-67.299 22.724-75.767 11.112-12.911 19.255-16.122 58.209-14.007z"/><path id="path4703" fill="#303030" d="m84.068 628.4c-9.3003 4.1796-8.2375 11.558-2.1302 9.9581 6.1073-1.6003 33.792-9.1405 46.239-11.577 12.446-2.4363 34.904-3.0623 36.951-4.0165 2.0474-0.95416-0.93313-7.7247-5.491-7.3449-23.258 0.91012-59.905 6.0339-75.569 12.98z"/><path id="path4705" fill="#303030" d="m161.86 602.61c-3.6488 0.63684-4.1169 1.3708-2.4115 5.2499 0.80967 1.8416 1.261 3.904 3.4715 3.7336 4.456-0.34344 16.578-1.2846 25.692-1.3764 9.1139-0.0918 23.83 1.217 25.307 0.79399 1.4771-0.42301 1.8834-4.9141-1.7769-6.7458-4.6221-1.3593-38.698-3.2021-50.281-1.6553z"/><path id="path4711" opacity=".384" fill="url(#linearGradient4713)" d="m161.2 611.7c11.693-0.63604 8.4597-0.73151 44.068 54.448 6.5182 8.6489 22.874 37.231 36.865 35.326 6.7491-1.4177-15.436-67.299-22.724-75.767-11.112-12.911-19.255-16.122-58.209-14.007z"/><path id="path4717" opacity=".115" fill="url(#linearGradient4725)" d="m413.37 645.84c-9.0496 10.007-29.401 19.937-36.775 19.937h-52.205c-31.171 0-37.359 0.34506-47.75 0.51758-10.39 0.17253-18.682 0.65628-23.653-3.278-5.0513-3.9977-24-15.425-24-15.425 53.346 4.1464 144.49 4.3368 184.38-1.7523z"/></g></g><g id="layer1-0" fill-rule="evenodd" transform="translate(159.08 -720.76)"><g id="g4527-3" transform="translate(-961.22,330.69)"><ellipse id="circle4233-8" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="66.284" ry="66.279" cy="655.39" cx="1027.5" fill="#303030"/><ellipse id="circle4235-8" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="62.007" ry="62.003" cy="655.39" cx="1027.5" fill="#4c4c4c"/><ellipse id="circle4237-7" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="43.41" ry="43.408" cy="655.39" cx="1027.5" fill="#303030"/></g><g id="g4523-1" transform="translate(-961.22,330.69)"><ellipse id="circle4239-4" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="40.057" ry="40.054" cy="655.39" cx="1027.5" fill="#3b63c9"/><ellipse id="circle4243-3" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="36.23" ry="36.228" cy="655.39" cx="1027.5" fill="#5276cf"/></g><g id="g3506" transform="translate(-961.22,330.69)"><ellipse id="ellipse3508" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="66.284" ry="66.279" cy="655.39" cx="1027.5" fill="#303030"/><ellipse id="ellipse3510" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="62.007" ry="62.003" cy="655.39" cx="1027.5" fill="#4c4c4c"/><ellipse id="ellipse3512" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="43.41" ry="43.408" cy="655.39" cx="1027.5" fill="#303030"/></g></g><g id="layer1-7" fill-rule="evenodd" transform="translate(352.57 -719.72)"><g id="g4527-3-4" transform="translate(-961.22,330.69)"><ellipse id="circle4233-8-8" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="66.284" ry="66.279" cy="655.39" cx="1027.5" fill="#303030"/><ellipse id="circle4235-8-9" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="62.007" ry="62.003" cy="655.39" cx="1027.5" fill="#4c4c4c"/><ellipse id="circle4237-7-3" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="43.41" ry="43.408" cy="655.39" cx="1027.5" fill="#303030"/></g><g id="g4523-1-1" transform="translate(-961.22,330.69)"><ellipse id="circle4239-4-4" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="40.057" ry="40.054" cy="655.39" cx="1027.5" fill="#3b63c9"/><ellipse id="circle4243-3-5" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="36.23" ry="36.228" cy="655.39" cx="1027.5" fill="#5276cf"/></g><g id="g3506-2" transform="translate(-961.22,330.69)"><ellipse id="ellipse3508-1" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="66.284" ry="66.279" cy="655.39" cx="1027.5" fill="#303030"/><ellipse id="ellipse3510-1" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="62.007" ry="62.003" cy="655.39" cx="1027.5" fill="#4c4c4c"/><ellipse id="ellipse3512-4" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="43.41" ry="43.408" cy="655.39" cx="1027.5" fill="#303030"/></g></g></svg>')+
  2621. "');width: 637px;height: 455px;background-size: 100% 100%;left: 50%;margin-bottom: 40px;-moz-transform: translateX(-50%);-ms-transform: translateX(-50%);-webkit-transform: translateX(-50%);bottom: 0px;";c.style.cssText="background-image: url('data:image/svg+xml;base64,"+btoa('<svg id="svg3904" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="35.924mm" width="35.926mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 127.29808 127.28933"><metadata id="metadata3909"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" fill-rule="evenodd" transform="translate(0 -925.07)"><ellipse id="circle4330" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="63.649" ry="63.645" cy="988.72" cx="63.649" fill="#303030"/><ellipse id="circle4223" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="59.705" ry="59.701" cy="988.72" cx="63.649" fill="#4c4c4c"/></g></svg>')+
  2622. "');position: absolute;top: 47px;left: 65px;width: 135px;height: 135px;";e.style.cssText="background-image: url('data:image/svg+xml;base64,"+btoa('<svg id="svg3754" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="10.711mm" width="9.9653mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 35.3101 37.950677"><metadata id="metadata3759"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(0 -1014.4)"><path id="path4326" stroke-linejoin="round" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" d="m34.81 1017.1c-15.254-3.8172-24.634-1.7612-34.31 0v16.247h0.015c-0.013 0.097-0.013 0.1951-0.015 0.2928 0.0006 9.4753 7.6813 18.256 17.156 18.256 9.4739-0.0005 17.154-8.7813 17.154-18.256 0-0.097-0.014-0.1952-0.014-0.2928h0.014z" fill-rule="evenodd" stroke="#4364b2" stroke-linecap="round" fill="#5276cf"/></g></svg>')+
  2623. "');width: 36px;height: 38px;left: 49px;top: 8px;position: absolute;";f.style.cssText="background-image: url('data:image/svg+xml;base64,"+btoa('<svg id="svg3790" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="9.9646mm" width="10.711mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 37.953175 35.3077"><metadata id="metadata3795"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(0 -1017.1)"><path id="path4324" stroke-linejoin="round" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" d="m35.298 1017.6c3.8175 15.253 1.7611 24.633 0 34.308h-16.248v-0.015c-0.098 0.01-0.1952 0.01-0.2928 0.015-9.476-0.0006-18.258-7.6807-18.257-17.154 0.0005-9.4733 8.7818-17.153 18.257-17.153 0.098 0 0.1952 0.01 0.2928 0.011v-0.011z" fill-rule="evenodd" stroke="#4364b2" stroke-linecap="round" fill="#5276cf"/></g></svg>')+
  2624. "');width: 38px;height: 36px;top: 47px;left: 84px;position: absolute;";g.style.cssText="background-image: url('data:image/svg+xml;base64,"+btoa('<svg id="svg3754" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="10.711mm" width="9.9653mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 35.3101 37.950677"><metadata id="metadata3759"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(0 -1014.4)"><path id="path4328" stroke-linejoin="round" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" d="m34.81 1049.7c-15.254 3.8172-24.634 1.7612-34.31 0v-16.247h0.015c-0.013-0.097-0.013-0.1951-0.015-0.2928 0.0006-9.4753 7.6813-18.256 17.156-18.256 9.4739 0.0005 17.154 8.7813 17.154 18.256 0 0.097-0.014 0.1952-0.014 0.2928h0.014z" fill-rule="evenodd" stroke="#4364b2" stroke-linecap="round" fill="#5276cf"/></g></svg>')+
  2625. "');width: 36px;height: 38px;bottom: 11px;left: 51px;position: absolute;";h.style.cssText="background-image: url('data:image/svg+xml;base64,"+btoa('<svg id="svg3790" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="9.9646mm" width="10.711mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 37.953175 35.3077"><metadata id="metadata3795"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(0 -1017.1)"><path id="path4324" stroke-linejoin="round" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" d="m2.6552 1051.9c-3.8175-15.253-1.7611-24.633 0-34.308h16.248v0.015c0.098-0.01 0.1952-0.01 0.2928-0.015 9.476 0.0006 18.258 7.6807 18.257 17.154-0.0005 9.4733-8.7818 17.153-18.257 17.153-0.098 0-0.1952-0.01-0.2928-0.011v0.011z" fill-rule="evenodd" stroke="#4364b2" stroke-linecap="round" fill="#5276cf"/></g></svg>')+
  2626. "');width: 38px;height: 36px;top: 47px;left: 13px;position: absolute;";k.style.cssText="position: absolute;top: 55px;left: 434px;width: 150px;height: 150px;";l.style.cssText="background-image: url('data:image/svg+xml;base64,"+btoa('<svg id="svg3548" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="13.417mm" width="13.418mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 47.543997 47.542"><metadata id="metadata3553"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(0 -1004.8)"><ellipse id="circle4271" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="23.772" ry="23.771" cy="1028.6" cx="23.772" fill="#303030"/><ellipse id="circle4273" stroke-linejoin="round" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" stroke-linecap="round" rx="18.668" ry="18.667" stroke="#3b63c9" cy="1028.6" cx="23.772" fill="#5276cf"/></g></svg>')+
  2627. "');width: 50px;height: 50px;left: 53px;top: 0px;position: absolute;";m.style.cssText="background-image: url('data:image/svg+xml;base64,"+btoa('<svg id="svg3548" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="13.417mm" width="13.418mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 47.543997 47.542"><metadata id="metadata3553"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(0 -1004.8)"><ellipse id="circle4271" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="23.772" ry="23.771" cy="1028.6" cx="23.772" fill="#303030"/><ellipse id="circle4273" stroke-linejoin="round" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" stroke-linecap="round" rx="18.668" ry="18.667" stroke="#3b63c9" cy="1028.6" cx="23.772" fill="#5276cf"/></g></svg>')+
  2628. "');width: 50px;height: 50px;left: 107px;top: 51px;position: absolute;";n.style.cssText="background-image: url('data:image/svg+xml;base64,"+btoa('<svg id="svg3548" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="13.417mm" width="13.418mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 47.543997 47.542"><metadata id="metadata3553"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(0 -1004.8)"><ellipse id="circle4271" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="23.772" ry="23.771" cy="1028.6" cx="23.772" fill="#303030"/><ellipse id="circle4273" stroke-linejoin="round" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" stroke-linecap="round" rx="18.668" ry="18.667" stroke="#3b63c9" cy="1028.6" cx="23.772" fill="#5276cf"/></g></svg>')+
  2629. "');width: 50px;height: 50px;left: 53px;bottom: 0px;position: absolute;";p.style.cssText="background-image: url('data:image/svg+xml;base64,"+btoa('<svg id="svg3548" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="13.417mm" width="13.418mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 47.543997 47.542"><metadata id="metadata3553"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(0 -1004.8)"><ellipse id="circle4271" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="23.772" ry="23.771" cy="1028.6" cx="23.772" fill="#303030"/><ellipse id="circle4273" stroke-linejoin="round" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" stroke-linecap="round" rx="18.668" ry="18.667" stroke="#3b63c9" cy="1028.6" cx="23.772" fill="#5276cf"/></g></svg>')+
  2630. "');width: 50px;height: 50px;top: 51px;position: absolute;";r.style.cssText="background-image: url('data:image/svg+xml;base64,"+btoa('<svg id="svg3461" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="22.608mm" width="22.61mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 80.114398 80.108405"><metadata id="metadata3466"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(.0000019915 -972.25)"><g id="g3514-7" fill-rule="evenodd" transform="translate(-987.45 356.91)"><ellipse id="ellipse3516-7" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="40.057" ry="40.054" cy="655.39" cx="1027.5" fill="#3b63c9"/><ellipse id="ellipse3518-7" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="36.23" ry="36.228" cy="655.39" cx="1027.5" fill="#5276cf"/></g></g></svg>')+
  2631. "');position: absolute;top: 222px;left: 183px;width: 85px;height: 85px;";q.style.cssText="background-image: url('data:image/svg+xml;base64,"+btoa('<svg id="svg3461" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="22.608mm" width="22.61mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 80.114398 80.108405"><metadata id="metadata3466"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(.0000019915 -972.25)"><g id="g3514-7" fill-rule="evenodd" transform="translate(-987.45 356.91)"><ellipse id="ellipse3516-7" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="40.057" ry="40.054" cy="655.39" cx="1027.5" fill="#3b63c9"/><ellipse id="ellipse3518-7" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="36.23" ry="36.228" cy="655.39" cx="1027.5" fill="#5276cf"/></g></g></svg>')+
  2632. "');position: absolute;top: 223px;left: 376px;width: 85px;height: 85px;";t.style.cssText="background-image: url('data:image/svg+xml;base64,"+btoa('<svg id="svg3699" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="9.2811mm" width="9.2817mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 32.8879 32.88565"><metadata id="metadata3704"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" fill-rule="evenodd" transform="translate(0 -1019.5)"><ellipse id="ellipse4575" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="16.444" ry="16.443" cy="1035.9" cx="16.444" fill="#2e2e2e"/><ellipse id="ellipse4577" stroke-linejoin="round" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" stroke-linecap="round" rx="15.112" ry="15.11" stroke="#4364b2" cy="1035.9" cx="16.444" fill="#5276cf"/><ellipse id="ellipse4579" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="11.867" ry="11.866" cy="1035.9" cx="16.444" fill="#434343"/></g></svg>')+
  2633. "');position: absolute;top: 76px;left: 227px;width: 34px;height: 34px;";v.style.cssText="background-image: url('data:image/svg+xml;base64,"+btoa('<svg id="svg3699" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="9.2811mm" width="9.2817mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 32.8879 32.88565"><metadata id="metadata3704"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" fill-rule="evenodd" transform="translate(0 -1019.5)"><ellipse id="ellipse4575" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="16.444" ry="16.443" cy="1035.9" cx="16.444" fill="#2e2e2e"/><ellipse id="ellipse4577" stroke-linejoin="round" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" stroke-linecap="round" rx="15.112" ry="15.11" stroke="#4364b2" cy="1035.9" cx="16.444" fill="#5276cf"/><ellipse id="ellipse4579" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="11.867" ry="11.866" cy="1035.9" cx="16.444" fill="#434343"/></g></svg>')+
  2634. "');position: absolute;top: 76px;left: 376px;width: 34px;height: 34px;";w.style.cssText="background-image: url('data:image/svg+xml;base64,"+btoa('<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="21.241671mm" height="8.8544388mm" viewBox="0 0 75.265762 31.373996" id="svg3447" version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="l1.svg"><defs id="defs3449" /><sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="1.4" inkscape:cx="-254.57869" inkscape:cy="228.81952" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:window-width="1920" inkscape:window-height="1134" inkscape:window-x="0" inkscape:window-y="27" inkscape:window-maximized="1" /><metadata id="metadata3452"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(1.5000945e-8,-1020.9882)"><path style="fill:#5276cf;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m 11.026383,1051.1651 c -7.4440599,1.9144 -7.5133499,2.2466 -9.7963799,-4.4934 -1.81058997,-5.3452 -2.44278,-8.8152 4.01547,-12.116 2.74038,-1.4007 13.7365799,-5.877 38.4768299,-10.72 24.26031,-4.749 25.16653,-2.7967 26.79132,0.3418 1.15503,2.2311 1.8961,4.1561 2.94279,6.651 3.08552,8.5188 2.92609,8.5778 -6.08214,9.5501 -19.09891,2.1414 -37.95723,5.8307 -56.34789,10.7865 z" id="path4289" inkscape:connector-curvature="0" sodipodi:nodetypes="cssssccc" /></g></svg>')+
  2635. "');position: absolute;top: 4px;left: 78px;width: 79px;height: 33px;";x.style.cssText="background-image: url('data:image/svg+xml;base64,"+btoa('<svg id="svg3447" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="8.8544mm" width="21.242mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 75.265762 31.373996"><metadata id="metadata3452"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(1.5001e-8 -1021)"><path id="path4715" d="m64.239 1051.2c7.4441 1.9144 7.5134 2.2466 9.7964-4.4934 1.8106-5.3452 2.4428-8.8152-4.0155-12.116-2.7404-1.4007-13.737-5.877-38.477-10.72-24.26-4.749-25.167-2.7967-26.791 0.3418-1.155 2.2311-1.8961 4.1561-2.9428 6.651-3.0855 8.5188-2.9261 8.5778 6.0822 9.5501 19.099 2.1414 37.957 5.8307 56.348 10.786z" fill-rule="evenodd" fill="#5276cf"/></g></svg>')+
  2636. "');position: absolute;top: 4px;left: 477px;width: 79px;height: 33px;";C.style.cssText="background-image: url('data:image/svg+xml;base64,"+btoa('<svg id="svg3560" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="4.7796mm" width="13.57mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 48.082162 16.935645"><metadata id="metadata3565"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(0 -1035.4)"><path id="path4727" d="m42.857 1052.2c4.7071 0.4081 4.7981 0.6563 5.1414-4.9139 0.16344-2.6517 0.16699-6.1108-0.72615-8.0342-0.59471-1.2808-1.7793-2.049-3.7642-2.4662-2.5264-0.531-16.253-1.4345-26.685-1.3241-15.118 0.16-15.362 1.4769-15.855 4.1522-0.35071 1.9018-0.5016 3.5056-0.74837 5.5967-0.55261 7.0693-0.44908 7.0921 5.0452 6.5411 11.661-1.1062 25.929-0.7359 37.592 0.4484z" fill-rule="evenodd" fill="#5276cf"/></g></svg>')+
  2637. "');position: absolute;top: -7px;left: 425px;width: 50px;height: 17px;";y.style.cssText="background-image: url('data:image/svg+xml;base64,"+btoa('<svg id="svg3560" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="4.7796mm" width="13.57mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 48.082162 16.935645"><metadata id="metadata3565"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(0 -1035.4)"><path id="path4727" d="m42.857 1052.2c4.7071 0.4081 4.7981 0.6563 5.1414-4.9139 0.16344-2.6517 0.16699-6.1108-0.72615-8.0342-0.59471-1.2808-1.7793-2.049-3.7642-2.4662-2.5264-0.531-16.253-1.4345-26.685-1.3241-15.118 0.16-15.362 1.4769-15.855 4.1522-0.35071 1.9018-0.5016 3.5056-0.74837 5.5967-0.55261 7.0693-0.44908 7.0921 5.0452 6.5411 11.661-1.1062 25.929-0.7359 37.592 0.4484z" fill-rule="evenodd" fill="#5276cf"/></g></svg>')+
  2638. "');position: absolute;top: -7px;left: 164px;width: 50px;height: 17px;";E.style.cssText="background-image: url('data:image/svg+xml;base64,"+btoa('<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="24.603382mm" height="24.601696mm" viewBox="0 0 87.177338 87.171363" id="svg3640" version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="main.svg"><defs id="defs3642" /><sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="1.979899" inkscape:cx="61.113463" inkscape:cy="69.71796" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:window-width="1920" inkscape:window-height="1134" inkscape:window-x="0" inkscape:window-y="27" inkscape:window-maximized="1" /><metadata id="metadata3645"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(0,-965.19093)"><ellipse ry="43.585682" rx="43.588669" style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#2e2e2e;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" id="ellipse4372" cx="43.588669" cy="1008.7766" /><ellipse cy="1008.7766" cx="43.588669" id="circle4239-1" style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5276cf;fill-opacity:1;fill-rule:evenodd;stroke:#4364b2;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" rx="40.056705" ry="40.053959" /><ellipse style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#434343;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" id="circle4243-0" cx="43.588669" cy="1008.7766" rx="31.455994" ry="31.453836" /></g></svg>')+
  2639. "');position: absolute;top: 68px;left: 274px;width: 92px;height: 92px;";D.style.cssText="background-image: url('data:image/svg+xml;base64,"+btoa('<svg id="svg3407" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="41.787mm" width="41.786mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 148.0624 148.06251"><metadata id="metadata3412"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(0 -904.3)" fill="#e6e6e6"><path id="rect4545" d="m74.031 904.3-14.469 22.156h8.0313v8.2187h12.875v-8.2187h8.0625l-14.5-22.156z"/><path id="rect4603" d="m125.94 963.86v8.0313h-8.25v12.906h8.25v8.0313l22.125-14.5-22.125-14.469z"/><path id="rect4609" d="m67.594 1022v8.25h-8.0313l14.469 22.125 14.5-22.125h-8.0625v-8.25h-12.875z"/><path id="rect4615" d="m22.156 963.86-22.156 14.47l22.156 14.5v-8.2188h8.2188v-12.906h-8.2188v-7.8438z"/><path id="path4619" style="color:#000000;text-indent:0;block-progression:tb;text-decoration-line:none;text-transform:none" d="m54.393 924.58c-15.821 5.7885-28.404 18.385-34.188 34.219h11.156c4.6667-10.175 12.865-18.361 23.031-23.031v-11.188zm39.219 0.031v11.156c10.167 4.6713 18.361 12.86 23.031 23.031h11.156c-5.7846-15.821-18.379-28.393-34.188-34.188zm-73.375 73.438c5.7899 15.816 18.348 28.403 34.156 34.188v-11.156c-10.163-4.6691-18.364-12.861-23.031-23.031h-11.125zm96.406 0c-4.6712 10.167-12.868 18.361-23.031 23.031v11.125c15.796-5.7901 28.366-18.352 34.156-34.156h-11.125z"/></g></svg>')+
  2640. "');position: absolute;top: 186px;left: 148px;width: 157px;height: 157px;";F.style.cssText="background-image: url('data:image/svg+xml;base64,"+btoa('<svg id="svg3407" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="41.787mm" width="41.786mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 148.0624 148.06251"><metadata id="metadata3412"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(0 -904.3)" fill="#e6e6e6"><path id="rect4545" d="m74.031 904.3-14.469 22.156h8.0313v8.2187h12.875v-8.2187h8.0625l-14.5-22.156z"/><path id="rect4603" d="m125.94 963.86v8.0313h-8.25v12.906h8.25v8.0313l22.125-14.5-22.125-14.469z"/><path id="rect4609" d="m67.594 1022v8.25h-8.0313l14.469 22.125 14.5-22.125h-8.0625v-8.25h-12.875z"/><path id="rect4615" d="m22.156 963.86-22.156 14.47l22.156 14.5v-8.2188h8.2188v-12.906h-8.2188v-7.8438z"/><path id="path4619" style="color:#000000;text-indent:0;block-progression:tb;text-decoration-line:none;text-transform:none" d="m54.393 924.58c-15.821 5.7885-28.404 18.385-34.188 34.219h11.156c4.6667-10.175 12.865-18.361 23.031-23.031v-11.188zm39.219 0.031v11.156c10.167 4.6713 18.361 12.86 23.031 23.031h11.156c-5.7846-15.821-18.379-28.393-34.188-34.188zm-73.375 73.438c5.7899 15.816 18.348 28.403 34.156 34.188v-11.156c-10.163-4.6691-18.364-12.861-23.031-23.031h-11.125zm96.406 0c-4.6712 10.167-12.868 18.361-23.031 23.031v11.125c15.796-5.7901 28.366-18.352 34.156-34.156h-11.125z"/></g></svg>')+
  2641. "');position: absolute;top: 187px;left: 339px;width: 157px;height: 157px;";b.appendChild(D);b.appendChild(F);c.appendChild(e);c.appendChild(f);c.appendChild(g);c.appendChild(h);b.appendChild(c);k.appendChild(l);k.appendChild(m);k.appendChild(n);k.appendChild(p);b.appendChild(k);b.appendChild(r);b.appendChild(q);b.appendChild(t);b.appendChild(v);b.appendChild(w);b.appendChild(x);b.appendChild(C);a.appendChild(b);b.appendChild(y);b.appendChild(E);J.length=0;z.length=0;B.length=0;Z.length=0;J.push(n,
  2642. m,p,l,w,x,y,C,t,v,r,q,e,g,h,f,E);z.push('<svg id="svg3548" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="13.417mm" width="13.418mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 47.543997 47.542"><metadata id="metadata3553"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(0 -1004.8)"><ellipse id="circle4271" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="23.772" ry="23.771" cy="1028.6" cx="23.772" fill="#303030"/><ellipse id="circle4273" stroke-linejoin="round" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" stroke-linecap="round" rx="18.668" ry="18.667" stroke="#3b63c9" cy="1028.6" cx="23.772" fill="#5276cf"/></g></svg>',
  2643. '<svg id="svg3548" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="13.417mm" width="13.418mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 47.543997 47.542"><metadata id="metadata3553"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(0 -1004.8)"><ellipse id="circle4271" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="23.772" ry="23.771" cy="1028.6" cx="23.772" fill="#303030"/><ellipse id="circle4273" stroke-linejoin="round" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" stroke-linecap="round" rx="18.668" ry="18.667" stroke="#3b63c9" cy="1028.6" cx="23.772" fill="#5276cf"/></g></svg>',
  2644. '<svg id="svg3548" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="13.417mm" width="13.418mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 47.543997 47.542"><metadata id="metadata3553"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(0 -1004.8)"><ellipse id="circle4271" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="23.772" ry="23.771" cy="1028.6" cx="23.772" fill="#303030"/><ellipse id="circle4273" stroke-linejoin="round" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" stroke-linecap="round" rx="18.668" ry="18.667" stroke="#3b63c9" cy="1028.6" cx="23.772" fill="#5276cf"/></g></svg>',
  2645. '<svg id="svg3548" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="13.417mm" width="13.418mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 47.543997 47.542"><metadata id="metadata3553"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(0 -1004.8)"><ellipse id="circle4271" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="23.772" ry="23.771" cy="1028.6" cx="23.772" fill="#303030"/><ellipse id="circle4273" stroke-linejoin="round" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" stroke-linecap="round" rx="18.668" ry="18.667" stroke="#3b63c9" cy="1028.6" cx="23.772" fill="#5276cf"/></g></svg>',
  2646. '<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="21.241671mm" height="8.8544388mm" viewBox="0 0 75.265762 31.373996" id="svg3447" version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="l1.svg"><defs id="defs3449" /><sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="1.4" inkscape:cx="-254.57869" inkscape:cy="228.81952" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:window-width="1920" inkscape:window-height="1134" inkscape:window-x="0" inkscape:window-y="27" inkscape:window-maximized="1" /><metadata id="metadata3452"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(1.5000945e-8,-1020.9882)"><path style="fill:#5276cf;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m 11.026383,1051.1651 c -7.4440599,1.9144 -7.5133499,2.2466 -9.7963799,-4.4934 -1.81058997,-5.3452 -2.44278,-8.8152 4.01547,-12.116 2.74038,-1.4007 13.7365799,-5.877 38.4768299,-10.72 24.26031,-4.749 25.16653,-2.7967 26.79132,0.3418 1.15503,2.2311 1.8961,4.1561 2.94279,6.651 3.08552,8.5188 2.92609,8.5778 -6.08214,9.5501 -19.09891,2.1414 -37.95723,5.8307 -56.34789,10.7865 z" id="path4289" inkscape:connector-curvature="0" sodipodi:nodetypes="cssssccc" /></g></svg>',
  2647. '<svg id="svg3447" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="8.8544mm" width="21.242mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 75.265762 31.373996"><metadata id="metadata3452"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(1.5001e-8 -1021)"><path id="path4715" d="m64.239 1051.2c7.4441 1.9144 7.5134 2.2466 9.7964-4.4934 1.8106-5.3452 2.4428-8.8152-4.0155-12.116-2.7404-1.4007-13.737-5.877-38.477-10.72-24.26-4.749-25.167-2.7967-26.791 0.3418-1.155 2.2311-1.8961 4.1561-2.9428 6.651-3.0855 8.5188-2.9261 8.5778 6.0822 9.5501 19.099 2.1414 37.957 5.8307 56.348 10.786z" fill-rule="evenodd" fill="#5276cf"/></g></svg>',
  2648. '<svg id="svg3560" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="4.7796mm" width="13.57mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 48.082162 16.935645"><metadata id="metadata3565"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(0 -1035.4)"><path id="path4727" d="m42.857 1052.2c4.7071 0.4081 4.7981 0.6563 5.1414-4.9139 0.16344-2.6517 0.16699-6.1108-0.72615-8.0342-0.59471-1.2808-1.7793-2.049-3.7642-2.4662-2.5264-0.531-16.253-1.4345-26.685-1.3241-15.118 0.16-15.362 1.4769-15.855 4.1522-0.35071 1.9018-0.5016 3.5056-0.74837 5.5967-0.55261 7.0693-0.44908 7.0921 5.0452 6.5411 11.661-1.1062 25.929-0.7359 37.592 0.4484z" fill-rule="evenodd" fill="#5276cf"/></g></svg>',
  2649. '<svg id="svg3560" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="4.7796mm" width="13.57mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 48.082162 16.935645"><metadata id="metadata3565"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(0 -1035.4)"><path id="path4727" d="m42.857 1052.2c4.7071 0.4081 4.7981 0.6563 5.1414-4.9139 0.16344-2.6517 0.16699-6.1108-0.72615-8.0342-0.59471-1.2808-1.7793-2.049-3.7642-2.4662-2.5264-0.531-16.253-1.4345-26.685-1.3241-15.118 0.16-15.362 1.4769-15.855 4.1522-0.35071 1.9018-0.5016 3.5056-0.74837 5.5967-0.55261 7.0693-0.44908 7.0921 5.0452 6.5411 11.661-1.1062 25.929-0.7359 37.592 0.4484z" fill-rule="evenodd" fill="#5276cf"/></g></svg>',
  2650. '<svg id="svg3699" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="9.2811mm" width="9.2817mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 32.8879 32.88565"><metadata id="metadata3704"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" fill-rule="evenodd" transform="translate(0 -1019.5)"><ellipse id="ellipse4575" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="16.444" ry="16.443" cy="1035.9" cx="16.444" fill="#2e2e2e"/><ellipse id="ellipse4577" stroke-linejoin="round" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" stroke-linecap="round" rx="15.112" ry="15.11" stroke="#4364b2" cy="1035.9" cx="16.444" fill="#5276cf"/><ellipse id="ellipse4579" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="11.867" ry="11.866" cy="1035.9" cx="16.444" fill="#434343"/></g></svg>',
  2651. '<svg id="svg3699" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="9.2811mm" width="9.2817mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 32.8879 32.88565"><metadata id="metadata3704"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" fill-rule="evenodd" transform="translate(0 -1019.5)"><ellipse id="ellipse4575" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="16.444" ry="16.443" cy="1035.9" cx="16.444" fill="#2e2e2e"/><ellipse id="ellipse4577" stroke-linejoin="round" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" stroke-linecap="round" rx="15.112" ry="15.11" stroke="#4364b2" cy="1035.9" cx="16.444" fill="#5276cf"/><ellipse id="ellipse4579" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="11.867" ry="11.866" cy="1035.9" cx="16.444" fill="#434343"/></g></svg>',
  2652. '<svg id="svg3461" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="22.608mm" width="22.61mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 80.114398 80.108405"><metadata id="metadata3466"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(.0000019915 -972.25)"><g id="g3514-7" fill-rule="evenodd" transform="translate(-987.45 356.91)"><ellipse id="ellipse3516-7" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="40.057" ry="40.054" cy="655.39" cx="1027.5" fill="#3b63c9"/><ellipse id="ellipse3518-7" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="36.23" ry="36.228" cy="655.39" cx="1027.5" fill="#5276cf"/></g></g></svg>',
  2653. '<svg id="svg3461" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="22.608mm" width="22.61mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 80.114398 80.108405"><metadata id="metadata3466"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(.0000019915 -972.25)"><g id="g3514-7" fill-rule="evenodd" transform="translate(-987.45 356.91)"><ellipse id="ellipse3516-7" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="40.057" ry="40.054" cy="655.39" cx="1027.5" fill="#3b63c9"/><ellipse id="ellipse3518-7" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" rx="36.23" ry="36.228" cy="655.39" cx="1027.5" fill="#5276cf"/></g></g></svg>',
  2654. '<svg id="svg3754" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="10.711mm" width="9.9653mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 35.3101 37.950677"><metadata id="metadata3759"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(0 -1014.4)"><path id="path4326" stroke-linejoin="round" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" d="m34.81 1017.1c-15.254-3.8172-24.634-1.7612-34.31 0v16.247h0.015c-0.013 0.097-0.013 0.1951-0.015 0.2928 0.0006 9.4753 7.6813 18.256 17.156 18.256 9.4739-0.0005 17.154-8.7813 17.154-18.256 0-0.097-0.014-0.1952-0.014-0.2928h0.014z" fill-rule="evenodd" stroke="#4364b2" stroke-linecap="round" fill="#5276cf"/></g></svg>',
  2655. '<svg id="svg3754" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="10.711mm" width="9.9653mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 35.3101 37.950677"><metadata id="metadata3759"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(0 -1014.4)"><path id="path4328" stroke-linejoin="round" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" d="m34.81 1049.7c-15.254 3.8172-24.634 1.7612-34.31 0v-16.247h0.015c-0.013-0.097-0.013-0.1951-0.015-0.2928 0.0006-9.4753 7.6813-18.256 17.156-18.256 9.4739 0.0005 17.154 8.7813 17.154 18.256 0 0.097-0.014 0.1952-0.014 0.2928h0.014z" fill-rule="evenodd" stroke="#4364b2" stroke-linecap="round" fill="#5276cf"/></g></svg>',
  2656. '<svg id="svg3790" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="9.9646mm" width="10.711mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 37.953175 35.3077"><metadata id="metadata3795"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(0 -1017.1)"><path id="path4324" stroke-linejoin="round" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" d="m2.6552 1051.9c-3.8175-15.253-1.7611-24.633 0-34.308h16.248v0.015c0.098-0.01 0.1952-0.01 0.2928-0.015 9.476 0.0006 18.258 7.6807 18.257 17.154-0.0005 9.4733-8.7818 17.153-18.257 17.153-0.098 0-0.1952-0.01-0.2928-0.011v0.011z" fill-rule="evenodd" stroke="#4364b2" stroke-linecap="round" fill="#5276cf"/></g></svg>',
  2657. '<svg id="svg3790" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="9.9646mm" width="10.711mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 37.953175 35.3077"><metadata id="metadata3795"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(0 -1017.1)"><path id="path4324" stroke-linejoin="round" style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" d="m35.298 1017.6c3.8175 15.253 1.7611 24.633 0 34.308h-16.248v-0.015c-0.098 0.01-0.1952 0.01-0.2928 0.015-9.476-0.0006-18.258-7.6807-18.257-17.154 0.0005-9.4733 8.7818-17.153 18.257-17.153 0.098 0 0.1952 0.01 0.2928 0.011v-0.011z" fill-rule="evenodd" stroke="#4364b2" stroke-linecap="round" fill="#5276cf"/></g></svg>',
  2658. '<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="24.603382mm" height="24.601696mm" viewBox="0 0 87.177338 87.171363" id="svg3640" version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="main.svg"><defs id="defs3642" /><sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="1.979899" inkscape:cx="61.113463" inkscape:cy="69.71796" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:window-width="1920" inkscape:window-height="1134" inkscape:window-x="0" inkscape:window-y="27" inkscape:window-maximized="1" /><metadata id="metadata3645"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(0,-965.19093)"><ellipse ry="43.585682" rx="43.588669" style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#2e2e2e;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" id="ellipse4372" cx="43.588669" cy="1008.7766" /><ellipse cy="1008.7766" cx="43.588669" id="circle4239-1" style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5276cf;fill-opacity:1;fill-rule:evenodd;stroke:#4364b2;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" rx="40.056705" ry="40.053959" /><ellipse style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#434343;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" id="circle4243-0" cx="43.588669" cy="1008.7766" rx="31.455994" ry="31.453836" /></g></svg>');
  2659. B.push(r,r,q,q);Z.push(D,F);for(a=0;a<J.length;a++)J[a].setAttribute("id","pad_btn_"+a),J[a].setAttribute("data-colorstate","B"),J[a].setAttribute("data-key",a),J[a].setAttribute("data-svgid",a);D.setAttribute("id","pad_left_axis");D.setAttribute("data-colorstate","GR");D.setAttribute("data-key",d.GMPD_AXIS_0);D.setAttribute("data-svgid",z.length);F.setAttribute("id","pad_right_axis");F.setAttribute("data-colorstate","GR");F.setAttribute("data-key",d.GMPD_AXIS_2);F.setAttribute("data-svgid",z.length+
  2660. 1);z.push('<svg id="svg3407" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="41.787mm" width="41.786mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 148.0624 148.06251"><metadata id="metadata3412"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(0 -904.3)" fill="#e6e6e6"><path id="rect4545" d="m74.031 904.3-14.469 22.156h8.0313v8.2187h12.875v-8.2187h8.0625l-14.5-22.156z"/><path id="rect4603" d="m125.94 963.86v8.0313h-8.25v12.906h8.25v8.0313l22.125-14.5-22.125-14.469z"/><path id="rect4609" d="m67.594 1022v8.25h-8.0313l14.469 22.125 14.5-22.125h-8.0625v-8.25h-12.875z"/><path id="rect4615" d="m22.156 963.86-22.156 14.47l22.156 14.5v-8.2188h8.2188v-12.906h-8.2188v-7.8438z"/><path id="path4619" style="color:#000000;text-indent:0;block-progression:tb;text-decoration-line:none;text-transform:none" d="m54.393 924.58c-15.821 5.7885-28.404 18.385-34.188 34.219h11.156c4.6667-10.175 12.865-18.361 23.031-23.031v-11.188zm39.219 0.031v11.156c10.167 4.6713 18.361 12.86 23.031 23.031h11.156c-5.7846-15.821-18.379-28.393-34.188-34.188zm-73.375 73.438c5.7899 15.816 18.348 28.403 34.156 34.188v-11.156c-10.163-4.6691-18.364-12.861-23.031-23.031h-11.125zm96.406 0c-4.6712 10.167-12.868 18.361-23.031 23.031v11.125c15.796-5.7901 28.366-18.352 34.156-34.156h-11.125z"/></g></svg>',
  2661. '<svg id="svg3407" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="41.787mm" width="41.786mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 148.0624 148.06251"><metadata id="metadata3412"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(0 -904.3)" fill="#e6e6e6"><path id="rect4545" d="m74.031 904.3-14.469 22.156h8.0313v8.2187h12.875v-8.2187h8.0625l-14.5-22.156z"/><path id="rect4603" d="m125.94 963.86v8.0313h-8.25v12.906h8.25v8.0313l22.125-14.5-22.125-14.469z"/><path id="rect4609" d="m67.594 1022v8.25h-8.0313l14.469 22.125 14.5-22.125h-8.0625v-8.25h-12.875z"/><path id="rect4615" d="m22.156 963.86-22.156 14.47l22.156 14.5v-8.2188h8.2188v-12.906h-8.2188v-7.8438z"/><path id="path4619" style="color:#000000;text-indent:0;block-progression:tb;text-decoration-line:none;text-transform:none" d="m54.393 924.58c-15.821 5.7885-28.404 18.385-34.188 34.219h11.156c4.6667-10.175 12.865-18.361 23.031-23.031v-11.188zm39.219 0.031v11.156c10.167 4.6713 18.361 12.86 23.031 23.031h11.156c-5.7846-15.821-18.379-28.393-34.188-34.188zm-73.375 73.438c5.7899 15.816 18.348 28.403 34.156 34.188v-11.156c-10.163-4.6691-18.364-12.861-23.031-23.031h-11.125zm96.406 0c-4.6712 10.167-12.868 18.361-23.031 23.031v11.125c15.796-5.7901 28.366-18.352 34.156-34.156h-11.125z"/></g></svg>');
  2662. u(J,H);u(Z,"#e6e6e6")}function g(a){return[k.create_gamepad_btn_sensor(d.GMPD_BUTTON_0,a),k.create_gamepad_btn_sensor(d.GMPD_BUTTON_1,a),k.create_gamepad_btn_sensor(d.GMPD_BUTTON_2,a),k.create_gamepad_btn_sensor(d.GMPD_BUTTON_3,a),k.create_gamepad_btn_sensor(d.GMPD_BUTTON_4,a),k.create_gamepad_btn_sensor(d.GMPD_BUTTON_5,a),k.create_gamepad_btn_sensor(d.GMPD_BUTTON_6,a),k.create_gamepad_btn_sensor(d.GMPD_BUTTON_7,a),k.create_gamepad_btn_sensor(d.GMPD_BUTTON_8,a),k.create_gamepad_btn_sensor(d.GMPD_BUTTON_9,
  2663. a),k.create_gamepad_btn_sensor(d.GMPD_BUTTON_10,a),k.create_gamepad_btn_sensor(d.GMPD_BUTTON_11,a),k.create_gamepad_btn_sensor(d.GMPD_BUTTON_12,a),k.create_gamepad_btn_sensor(d.GMPD_BUTTON_13,a),k.create_gamepad_btn_sensor(d.GMPD_BUTTON_14,a),k.create_gamepad_btn_sensor(d.GMPD_BUTTON_15,a),k.create_gamepad_btn_sensor(d.GMPD_BUTTON_16,a),k.create_gamepad_btn_sensor(d.GMPD_BUTTON_17,a),k.create_gamepad_btn_sensor(d.GMPD_BUTTON_18,a),k.create_gamepad_btn_sensor(d.GMPD_BUTTON_19,a),k.create_gamepad_btn_sensor(d.GMPD_BUTTON_20,
  2664. a),k.create_gamepad_btn_sensor(d.GMPD_BUTTON_21,a),k.create_gamepad_btn_sensor(d.GMPD_BUTTON_22,a),k.create_gamepad_btn_sensor(d.GMPD_BUTTON_23,a),k.create_gamepad_btn_sensor(d.GMPD_BUTTON_24,a),k.create_gamepad_btn_sensor(d.GMPD_BUTTON_25,a)]}function p(a){return[k.create_gamepad_axis_sensor(d.GMPD_AXIS_0,a),k.create_gamepad_axis_sensor(d.GMPD_AXIS_1,a),k.create_gamepad_axis_sensor(d.GMPD_AXIS_2,a),k.create_gamepad_axis_sensor(d.GMPD_AXIS_3,a),k.create_gamepad_axis_sensor(d.GMPD_AXIS_4,a),k.create_gamepad_axis_sensor(d.GMPD_AXIS_5,
  2665. a),k.create_gamepad_axis_sensor(d.GMPD_AXIS_6,a),k.create_gamepad_axis_sensor(d.GMPD_AXIS_7,a),k.create_gamepad_axis_sensor(d.GMPD_AXIS_8,a),k.create_gamepad_axis_sensor(d.GMPD_AXIS_9,a),k.create_gamepad_axis_sensor(d.GMPD_AXIS_10,a),k.create_gamepad_axis_sensor(d.GMPD_AXIS_11,a)]}function D(a,b){var c=document.createElement("input");c.style.cssText="display: inline-block;position = relative;";c.setAttribute("type","radio");c.setAttribute("name","choice");var d=document.createElement("label");d.textContent=
  2666. b;d.style.cssText="position = relative;display: inline-block;color: white;";a.appendChild(c);a.appendChild(d);return c}function e(a){E.removeChild(A);A=null;switch(a){case "PAD":l.checked=!0;b(E);break;case "WHEEL":h.checked=!0;var c=E;I=!1;var e=document.createElement("div"),f=document.createElement("div"),g=document.createElement("div"),k=document.createElement("div"),m=document.createElement("div"),n=document.createElement("div"),p=document.createElement("div"),r=document.createElement("div"),
  2667. q=document.createElement("div"),t=document.createElement("div"),v=document.createElement("div"),w=document.createElement("div"),x=document.createElement("div"),C=document.createElement("div"),y=document.createElement("div"),D=document.createElement("div"),F=document.createElement("div"),K=document.createElement("div"),M=document.createElement("div"),ta=document.createElement("div"),na=document.createElement("div"),L=document.createElement("div"),ua=document.createElement("div"),O=document.createElement("div");
  2668. a=document.createElement("div");var ea=document.createElement("div"),sa=document.createElement("div"),ba=document.createElement("div"),Ba=document.createElement("div"),oa=document.createElement("div");A=e;var Da="position: absolute;height: auto;background-image: url('data:image/svg+xml;base64,"+btoa('<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="5.4777083mm" height="5.5003009mm" viewBox="0 0 19.409203 19.489255" id="svg3402" version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="wheel_btn.svg"><defs id="defs3404" /><sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="22.4" inkscape:cx="4.7324003" inkscape:cy="15.245372" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:window-width="1920" inkscape:window-height="1134" inkscape:window-x="0" inkscape:window-y="27" inkscape:window-maximized="1" /><metadata id="metadata3407"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(8.5754969e-8,-1032.873)"><path inkscape:connector-curvature="0" style="fill:#5276cf;stroke:#000000;stroke-width:3.4000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;fill-opacity:1" id="path4272" d="m 17.709101,1042.6176 a 8.0046,8.0046 0 1 1 -16.0089998,0 8.0046,8.0046 0 1 1 16.0089998,0 z" stroke-miterlimit="4" /></g></svg>')+
  2669. "');width: 19px;height: 19px;background-size: 100% 100%;";e.style.cssText="position: absolute;background-image: url('data:image/svg+xml;base64,"+btoa('<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="112.08413mm" height="128.46834mm" viewBox="0 0 397.14849 455.20277" id="svg3440" version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="wheel.svg"><defs id="defs3442" /><sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="0.98994949" inkscape:cx="421.01508" inkscape:cy="52.510802" inkscape:document-units="px" inkscape:current-layer="g87" showgrid="false" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:window-width="1920" inkscape:window-height="1134" inkscape:window-x="0" inkscape:window-y="27" inkscape:window-maximized="1" /><metadata id="metadata3445"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(-2.3645008e-8,-597.15942)"><path inkscape:connector-curvature="0" style="fill:#4d4d4d;stroke:#6e6e6e;stroke-width:2.99125171;stroke-miterlimit:4;stroke-dasharray:none" id="path4140" d="m 307.84153,715.52552 c -4.35995,43.11849 -2.78952,86.66385 -15.90234,128.54337 -10.85452,25.86023 -13.33477,47.2976 6.91492,61.09536 7.23778,50.7442 78.38013,47.39232 82.20535,0 23.06079,-14.19054 13.49405,-42.79138 6.91492,-61.09536 -17.40045,-40.83001 -4.82581,-86.43019 -15.90235,-128.54337 -8.3177,-20.33228 -56.75348,-20.7661 -64.22927,0 z" stroke-miterlimit="4" /><path inkscape:connector-curvature="0" style="fill:#cccccc;stroke:#1a1a1a;stroke-width:2.09465766;stroke-miterlimit:4;stroke-dasharray:none" id="path4266" d="m 313.11812,724.1957 -3.84514,68.80568 c 4.64168,13.40814 62.19981,10.8172 61.83082,0 l -3.84515,-68.80568 c -4.46942,-24.00369 -52.58756,-18.95946 -54.13979,0 z" stroke-miterlimit="4" /><path inkscape:connector-curvature="0" style="fill:#353535;stroke:#2c2c2c;stroke-width:2.11880326;stroke-miterlimit:4;stroke-dasharray:none" id="path4156" d="m 304.91419,870.673 c -12.36924,67.40381 80.42804,69.69607 70.55134,0 -6.57605,-36.5947 -65.0964,-34.8253 -70.55134,0 z m 60.53812,3.9862 c 8.65841,48.24354 -57.58987,49.86644 -50.52489,0 4.7009,-26.27069 46.6394,-24.84292 50.52489,0 z" stroke-miterlimit="4" /><path inkscape:connector-curvature="0" style="fill:#e6e6e6;stroke:#969696;stroke-width:2.99125171;stroke-miterlimit:4;stroke-dasharray:none" id="path4011" d="m 106.04576,696.97906 c -11.197076,4.25792 -17.123706,8.24834 -17.123706,8.24834 l -66.18493,16.33946 1.40291,30.64619 46.54715,-7.67623 c 17.00932,-1.6438 32.551896,8.94676 38.302026,23.34506 l 2.78663,65.4778 27.6363,0 2.78663,-65.4778 c 8.0428,-15.3291 20.46247,-27.10803 38.30202,-23.34506 l 46.54716,7.67623 1.40291,-30.64619 -66.18493,-16.33946 c 0,0 -5.92627,-3.99074 -17.12371,-8.24834 -13.45408,-4.31874 -26.62772,-4.20804 -39.08982,0 z" stroke-miterlimit="4" /><path inkscape:connector-curvature="0" style="fill:#252525;stroke:#6e6e6e;stroke-width:2.99125171;stroke-miterlimit:4;stroke-dasharray:none" id="path2996" d="m 38.311064,931.09899 c -8.01574,5.05649 -22.76006,21.74743 -26.34852,58.0567 -4.1290804,35.18581 -4.8394604,60.59901 28.55878,61.68771 l 162.934726,0 c 39.19437,1.1693 30.46155,-41.5992 28.55878,-61.68771 -3.58839,-36.30927 -18.33277,-52.99983 -26.34851,-58.0567 z" stroke-miterlimit="4" /><path inkscape:connector-curvature="0" style="fill:#373737;stroke:#6e6e6e;stroke-width:2.83429575;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none" id="path3019" d="m 26.230254,979.1291 c -11.50334,14.44882 -11.98241,47.3999 -0.33519,57.1202 l 191.802226,0 c 12.10111,-12.3068 9.93082,-46.99573 -0.33518,-57.1202 z" stroke-miterlimit="4" /><path inkscape:connector-curvature="0" style="fill:#808080;stroke:#1a1a1a;stroke-width:2.14882827;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" id="path4133" d="m 360.82498,854.6914 a 20.634815,21.265151 0 1 1 -41.269,0 20.634815,21.265151 0 1 1 41.269,0 z" stroke-miterlimit="4" /><path inkscape:connector-curvature="0" style="fill:#333333;stroke:#000000;stroke-width:2.11880326;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" id="path4280" d="m 351.64051,761.132 a 11.444622,11.75148 0 1 1 -22.88896,0 11.444622,11.75148 0 1 1 22.88896,0 z" stroke-miterlimit="4" /><path inkscape:connector-curvature="0" style="fill:#313131;stroke:#565656;stroke-width:2.93434715;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" id="path3993" d="m 125.52855,598.62659 c -68.528026,0 -124.0613764,57.81925 -124.0613764,129.13695 0,71.31265 55.5370404,129.13696 124.0613764,129.13696 68.52804,0 124.07984,-57.81926 124.07984,-129.13696 0,-71.31264 -55.55611,-129.13695 -124.07984,-129.13695 z m -1.00095,23.63932 c 10.01261,0.0734 20.238,1.32074 28.95237,3.51006 11.62203,3.80301 21.53624,8.52304 31.01135,16.15381 26.21752,19.0207 43.36275,50.36277 43.36275,85.83029 0,58.01564 -45.80548,105.05244 -102.30928,105.05244 -56.500726,0 -102.309276,-47.03364 -102.309276,-105.05244 0,-32.14848 14.06783,-60.91918 36.22336,-80.19121 11.45168,-11.11714 23.14136,-17.13322 37.3943,-21.79731 7.855846,-2.48302 17.655666,-3.5835 27.668276,-3.51006 z" stroke-miterlimit="4" /><g style="stroke-miterlimit:4;stroke-dasharray:none" id="g4127" stroke-miterlimit="4" transform="matrix(0.61498728,0,0,0.63147657,-18.171616,453.28593)"><g id="g4111"><path style="fill:#808080;stroke:#373737;stroke-width:3.56837296" inkscape:connector-curvature="0" id="rect3040" d="m 110.97,771.16 31.694,4.8776 1.3007,44.257 -32.995,0 z" /><path style="fill:#b3b3b3;stroke:#565656;stroke-width:3.4000001;stroke-linecap:butt;stroke-linejoin:miter" inkscape:connector-curvature="0" id="path3024" d="m 96.83,686.82 58.353,-5.0761 c 15.608,27.569 6.8304,64.333 -5.0761,90.545 l -53.841,-2.538 z" /></g><g id="g4115" transform="translate(97.984785,0)"><path style="fill:#808080;stroke:#373737;stroke-width:3.56837296" inkscape:connector-curvature="0" id="path4117" d="m 110.97,771.16 31.694,4.8776 1.3007,44.257 -32.995,0 z" /><path style="fill:#b3b3b3;stroke:#565656;stroke-width:3.4000001;stroke-linecap:butt;stroke-linejoin:miter" inkscape:connector-curvature="0" id="path4119" d="m 96.83,686.82 58.353,-5.0761 c 15.608,27.569 6.8304,64.333 -5.0761,90.545 l -53.841,-2.538 z" /></g><g id="g4121" transform="translate(195.96959,0)"><path style="fill:#808080;stroke:#373737;stroke-width:3.56837296" inkscape:connector-curvature="0" id="path4123" d="m 110.97,771.16 31.694,4.8776 1.3007,44.257 -32.995,0 z" /><path style="fill:#b3b3b3;stroke:#565656;stroke-width:3.4000001;stroke-linecap:butt;stroke-linejoin:miter" inkscape:connector-curvature="0" id="path4125" d="m 96.83,686.82 58.353,-5.0761 c 15.608,27.569 6.8304,64.333 -5.0761,90.545 l -53.841,-2.538 z" /></g></g><g style="fill:#666666;stroke:#969696;stroke-width:3.99777174;stroke-miterlimit:4;stroke-dasharray:none" id="g4051" transform="translate(-42.878584,98.083591)" stroke-miterlimit="4"><g id="g4437" transform="matrix(0.74686368,0,0,0.74686368,-73.374214,285.30447)"><path inkscape:connector-curvature="0" id="rect4348" style="color:#000000;text-indent:0;text-transform:none;block-progression:tb;fill:#ffffff" d="m 567.31,584.22 0,42.25 0,3.4062 0,42.25 3.375,0 0,-42.25 27.062,0 0,42.25 3.375,0 0,-42.25 27.062,0 0,42.25 3.375,0 0,-42.25 27.062,0 0,42.25 3.4062,0 0,-43.969 0,-1.6875 -1.7188,0 -28.75,0 0,-42.25 -3.375,0 0,42.25 -27.062,0 0,-42.25 -3.375,0 0,42.25 -27.062,0 0,-42.25 -3.375,0 z" /><g style="fill:#a02c2c;stroke:#ffffff;stroke-width:3.4000001;stroke-linecap:square" id="g87" /></g></g></g></svg>')+
  2670. "');width: 397px;height: 455px;-moz-transform: translateX(-50%);-ms-transform: translateX(-50%);-webkit-transform: translateX(-50%);transform: translateX(-50%);background-size: 100% 100%;left: 50%;margin-left: 25px;margin-bottom: 40px;bottom: 0px;";f.style.cssText=Da+"top: 132px;left: 331px;";g.style.cssText=Da+"top: 122px;left: 315px;";k.style.cssText=Da+"top: 122px;left: 347px;";m.style.cssText=Da+"top: 113px;left: 331px;";n.style.cssText="position: absolute;height: auto;background-image: url('data:image/svg+xml;base64,"+
  2671. btoa('<svg id="svg3400" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="10.507mm" width="15.1mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 53.504016 37.228838"><metadata id="metadata3405"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(-2.847e-7 -1015.1)"><path id="path4049" d="m26.584 1016.1c-12.631 0-23.15 9.858-25.478 22.922l50.705 12.18c0.47921-2.1565 0.73023-4.4099 0.73023-6.7204 0-15.677-11.621-28.382-25.957-28.382z" stroke="#5276cf" stroke-linecap="square" stroke-width="1.9247" fill="#666"/></g></svg>')+
  2672. "');width: 54px;height: 37px;background-size: 100% 100%;top: 84px;left: 166px;";p.style.cssText="position: absolute;height: auto;background-image: url('data:image/svg+xml;base64,"+btoa('<svg id="svg3400" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="10.507mm" width="15.1mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 53.504016 37.228838"><metadata id="metadata3405"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(-2.847e-7 -1015.1)"><path id="path4033" d="m26.92 1016.1c-14.337 0-25.957 12.707-25.957 28.382 0 2.3225 0.26742 4.5784 0.74876 6.7386l50.681-12.18c-2.321-13.072-12.841-22.944-25.476-22.944z" stroke="#5276cf" stroke-linecap="square" stroke-width="1.9247" fill="#666"/></g></svg>')+
  2673. "');width: 54px;height: 37px;background-size: 100% 100%;top: 84px;left: 36px;";r.style.cssText=Da+"top: 107px;left: 141px;";q.style.cssText=Da+"top: 107px;left: 90px;";t.style.cssText=Da+"top: 185px;left: 321px;";v.style.cssText=Da+"top: 185px;left: 340px;";w.style.cssText=Da+"top: 179px;left: 358px;";x.style.cssText=Da+"top: 178px;left: 303px;";C.style.cssText=Da+"top: 210px;left: 299px;";y.style.cssText=Da+"top: 279px;left: 299px;";D.style.cssText=Da+"top: 210px;left: 321px;";F.style.cssText=Da+
  2674. "top: 279px;left: 321px;";K.style.cssText=Da+"top: 210px;left: 344px;";M.style.cssText=Da+"top: 278px;left: 344px;";ta.style.cssText=Da+"top: 124px;left: 147px;";na.style.cssText=Da+"top: 138px;left: 133px;";L.style.cssText=Da+"top: 124px;left: 82px;";ua.style.cssText=Da+"top: 138px;left: 96px;";O.style.cssText=Da+"top: 278px;left: 367px;";Da="position: absolute;background-image: url('data:image/svg+xml;base64,"+btoa('<svg id="svg3386" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="12.859mm" width="5.2917mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 18.749999 45.562501"><metadata id="metadata3391"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(0 -1006.8)"><path id="rect4575" d="m9.3125 1006.8-9.3125 14.25h5.3125v17.094h-5.1875l9.3125 14.219 9.3125-14.219h-5.1562v-17.094h5.0312l-9.3125-14.25z" fill="#e6e6e6"/></g></svg>')+
  2675. "');width: 19px;height: 46px;background-size: 100% 100%;";a.style.cssText=Da+"top: 291px;left: 50px;";ea.style.cssText=Da+"top: 291px;left: 111px;";sa.style.cssText=Da+"top: 291px;left: 171px;";ba.style.cssText="position: absolute;background-image: url('data:image/svg+xml;base64,"+btoa('<svg id="svg3458" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="50.447mm" width="83.899mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 297.28131 178.75"><metadata id="metadata3463"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(0 -873.61)" fill="#e6e6e6"><path id="path4535" style="color:#000000;text-indent:0;block-progression:tb;text-decoration-line:none;text-transform:none" d="m33.875 873.61-18.5 8.8125 5.0626 3.0625c-12.899 22.78-20.438 49.17-20.438 77.44 0 28.284 7.5315 54.691 20.438 77.469l-5.0626 3.0625 18.5 8.8125 0.6563-20.469-5.531 3.3c-12.002-21.2-18.937-45.8-18.937-72.18 0-26.362 6.9415-50.99 18.937-72.188l5.5313 3.3438-0.6563-20.469z"/><path id="path4551" style="color:#000000;text-indent:0;block-progression:tb;text-decoration-line:none;text-transform:none" d="m263.38 873.71-0.6562 20.469 5.5312-3.3438c11.996 21.198 18.969 45.825 18.969 72.188 0 26.371-6.9672 51.011-18.969 72.219l-5.5312-3.3437 0.6562 20.469 18.5-8.8125-5.0312-3.0625c12.906-22.778 20.438-49.184 20.438-77.469 0-28.275-7.5391-54.665-20.438-77.438l5.0312-3.0625-18.5-8.8125z"/></g></svg>')+
  2676. "');width: 297px;height: 179px;background-size: 100% 100%;top: 43px;left: -25px;";Ba.style.cssText="position: absolute;background-image: url('data:image/svg+xml;base64,"+btoa('<svg id="svg3378" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="2.9016mm" width="9.2516mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 32.781198 10.281199"><metadata id="metadata3383"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(0 -1042.1)"><path id="rect4585" d="m32.781 1047.2-7.875-5.125v2.8437h-17.031v-2.8437l-7.875 5.1 7.875 5.1562v-2.8437h17.031v2.8437z" fill="#e6e6e6"/></g></svg>')+
  2677. "');width: 33px;height: 10px;background-size: 100% 100%;top: 159px;left: 324px;";oa.style.cssText="position: absolute;background-image: url('data:image/svg+xml;base64,"+btoa('<svg id="svg3378" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="9.2516mm" width="2.9016mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 10.281248 32.7812"><metadata id="metadata3383"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(0 -1019.6)"><path id="rect4585" d="m5.125 1019.6-5.125 7.9h2.8437v17.031h-2.8437l5.125 7.875 5.1562-7.875h-2.8438v-17.031h2.8438z" fill="#e6e6e6"/></g></svg>')+
  2678. "');width: 10px;height: 33px;background-size: 100% 100%;top: 148px;left: 335px;";c.appendChild(e);e.appendChild(a);e.appendChild(ea);e.appendChild(sa);e.appendChild(ba);e.appendChild(Ba);e.appendChild(oa);e.appendChild(f);e.appendChild(g);e.appendChild(k);e.appendChild(m);e.appendChild(n);e.appendChild(p);e.appendChild(r);e.appendChild(q);e.appendChild(t);e.appendChild(v);e.appendChild(w);e.appendChild(x);e.appendChild(C);e.appendChild(y);e.appendChild(D);e.appendChild(F);e.appendChild(K);e.appendChild(M);
  2679. e.appendChild(ta);e.appendChild(na);e.appendChild(L);e.appendChild(ua);e.appendChild(O);J.length=0;z.length=0;B.length=0;Z.length=0;J.push(f,g,k,m,n,p,r,q,t,v,w,x,C,y,D,F,K,M,ta,na,L,ua,O);z.push('<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="5.4777083mm" height="5.5003009mm" viewBox="0 0 19.409203 19.489255" id="svg3402" version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="wheel_btn.svg"><defs id="defs3404" /><sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="22.4" inkscape:cx="4.7324003" inkscape:cy="15.245372" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:window-width="1920" inkscape:window-height="1134" inkscape:window-x="0" inkscape:window-y="27" inkscape:window-maximized="1" /><metadata id="metadata3407"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(8.5754969e-8,-1032.873)"><path inkscape:connector-curvature="0" style="fill:#5276cf;stroke:#000000;stroke-width:3.4000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;fill-opacity:1" id="path4272" d="m 17.709101,1042.6176 a 8.0046,8.0046 0 1 1 -16.0089998,0 8.0046,8.0046 0 1 1 16.0089998,0 z" stroke-miterlimit="4" /></g></svg>',
  2680. '<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="5.4777083mm" height="5.5003009mm" viewBox="0 0 19.409203 19.489255" id="svg3402" version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="wheel_btn.svg"><defs id="defs3404" /><sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="22.4" inkscape:cx="4.7324003" inkscape:cy="15.245372" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:window-width="1920" inkscape:window-height="1134" inkscape:window-x="0" inkscape:window-y="27" inkscape:window-maximized="1" /><metadata id="metadata3407"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(8.5754969e-8,-1032.873)"><path inkscape:connector-curvature="0" style="fill:#5276cf;stroke:#000000;stroke-width:3.4000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;fill-opacity:1" id="path4272" d="m 17.709101,1042.6176 a 8.0046,8.0046 0 1 1 -16.0089998,0 8.0046,8.0046 0 1 1 16.0089998,0 z" stroke-miterlimit="4" /></g></svg>',
  2681. '<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="5.4777083mm" height="5.5003009mm" viewBox="0 0 19.409203 19.489255" id="svg3402" version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="wheel_btn.svg"><defs id="defs3404" /><sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="22.4" inkscape:cx="4.7324003" inkscape:cy="15.245372" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:window-width="1920" inkscape:window-height="1134" inkscape:window-x="0" inkscape:window-y="27" inkscape:window-maximized="1" /><metadata id="metadata3407"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(8.5754969e-8,-1032.873)"><path inkscape:connector-curvature="0" style="fill:#5276cf;stroke:#000000;stroke-width:3.4000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;fill-opacity:1" id="path4272" d="m 17.709101,1042.6176 a 8.0046,8.0046 0 1 1 -16.0089998,0 8.0046,8.0046 0 1 1 16.0089998,0 z" stroke-miterlimit="4" /></g></svg>',
  2682. '<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="5.4777083mm" height="5.5003009mm" viewBox="0 0 19.409203 19.489255" id="svg3402" version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="wheel_btn.svg"><defs id="defs3404" /><sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="22.4" inkscape:cx="4.7324003" inkscape:cy="15.245372" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:window-width="1920" inkscape:window-height="1134" inkscape:window-x="0" inkscape:window-y="27" inkscape:window-maximized="1" /><metadata id="metadata3407"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(8.5754969e-8,-1032.873)"><path inkscape:connector-curvature="0" style="fill:#5276cf;stroke:#000000;stroke-width:3.4000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;fill-opacity:1" id="path4272" d="m 17.709101,1042.6176 a 8.0046,8.0046 0 1 1 -16.0089998,0 8.0046,8.0046 0 1 1 16.0089998,0 z" stroke-miterlimit="4" /></g></svg>',
  2683. '<svg id="svg3400" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="10.507mm" width="15.1mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 53.504016 37.228838"><metadata id="metadata3405"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(-2.847e-7 -1015.1)"><path id="path4049" d="m26.584 1016.1c-12.631 0-23.15 9.858-25.478 22.922l50.705 12.18c0.47921-2.1565 0.73023-4.4099 0.73023-6.7204 0-15.677-11.621-28.382-25.957-28.382z" stroke="#5276cf" stroke-linecap="square" stroke-width="1.9247" fill="#666"/></g></svg>',
  2684. '<svg id="svg3400" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="10.507mm" width="15.1mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 53.504016 37.228838"><metadata id="metadata3405"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(-2.847e-7 -1015.1)"><path id="path4033" d="m26.92 1016.1c-14.337 0-25.957 12.707-25.957 28.382 0 2.3225 0.26742 4.5784 0.74876 6.7386l50.681-12.18c-2.321-13.072-12.841-22.944-25.476-22.944z" stroke="#5276cf" stroke-linecap="square" stroke-width="1.9247" fill="#666"/></g></svg>',
  2685. '<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="5.4777083mm" height="5.5003009mm" viewBox="0 0 19.409203 19.489255" id="svg3402" version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="wheel_btn.svg"><defs id="defs3404" /><sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="22.4" inkscape:cx="4.7324003" inkscape:cy="15.245372" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:window-width="1920" inkscape:window-height="1134" inkscape:window-x="0" inkscape:window-y="27" inkscape:window-maximized="1" /><metadata id="metadata3407"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(8.5754969e-8,-1032.873)"><path inkscape:connector-curvature="0" style="fill:#5276cf;stroke:#000000;stroke-width:3.4000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;fill-opacity:1" id="path4272" d="m 17.709101,1042.6176 a 8.0046,8.0046 0 1 1 -16.0089998,0 8.0046,8.0046 0 1 1 16.0089998,0 z" stroke-miterlimit="4" /></g></svg>',
  2686. '<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="5.4777083mm" height="5.5003009mm" viewBox="0 0 19.409203 19.489255" id="svg3402" version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="wheel_btn.svg"><defs id="defs3404" /><sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="22.4" inkscape:cx="4.7324003" inkscape:cy="15.245372" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:window-width="1920" inkscape:window-height="1134" inkscape:window-x="0" inkscape:window-y="27" inkscape:window-maximized="1" /><metadata id="metadata3407"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(8.5754969e-8,-1032.873)"><path inkscape:connector-curvature="0" style="fill:#5276cf;stroke:#000000;stroke-width:3.4000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;fill-opacity:1" id="path4272" d="m 17.709101,1042.6176 a 8.0046,8.0046 0 1 1 -16.0089998,0 8.0046,8.0046 0 1 1 16.0089998,0 z" stroke-miterlimit="4" /></g></svg>',
  2687. '<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="5.4777083mm" height="5.5003009mm" viewBox="0 0 19.409203 19.489255" id="svg3402" version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="wheel_btn.svg"><defs id="defs3404" /><sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="22.4" inkscape:cx="4.7324003" inkscape:cy="15.245372" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:window-width="1920" inkscape:window-height="1134" inkscape:window-x="0" inkscape:window-y="27" inkscape:window-maximized="1" /><metadata id="metadata3407"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(8.5754969e-8,-1032.873)"><path inkscape:connector-curvature="0" style="fill:#5276cf;stroke:#000000;stroke-width:3.4000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;fill-opacity:1" id="path4272" d="m 17.709101,1042.6176 a 8.0046,8.0046 0 1 1 -16.0089998,0 8.0046,8.0046 0 1 1 16.0089998,0 z" stroke-miterlimit="4" /></g></svg>',
  2688. '<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="5.4777083mm" height="5.5003009mm" viewBox="0 0 19.409203 19.489255" id="svg3402" version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="wheel_btn.svg"><defs id="defs3404" /><sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="22.4" inkscape:cx="4.7324003" inkscape:cy="15.245372" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:window-width="1920" inkscape:window-height="1134" inkscape:window-x="0" inkscape:window-y="27" inkscape:window-maximized="1" /><metadata id="metadata3407"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(8.5754969e-8,-1032.873)"><path inkscape:connector-curvature="0" style="fill:#5276cf;stroke:#000000;stroke-width:3.4000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;fill-opacity:1" id="path4272" d="m 17.709101,1042.6176 a 8.0046,8.0046 0 1 1 -16.0089998,0 8.0046,8.0046 0 1 1 16.0089998,0 z" stroke-miterlimit="4" /></g></svg>',
  2689. '<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="5.4777083mm" height="5.5003009mm" viewBox="0 0 19.409203 19.489255" id="svg3402" version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="wheel_btn.svg"><defs id="defs3404" /><sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="22.4" inkscape:cx="4.7324003" inkscape:cy="15.245372" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:window-width="1920" inkscape:window-height="1134" inkscape:window-x="0" inkscape:window-y="27" inkscape:window-maximized="1" /><metadata id="metadata3407"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(8.5754969e-8,-1032.873)"><path inkscape:connector-curvature="0" style="fill:#5276cf;stroke:#000000;stroke-width:3.4000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;fill-opacity:1" id="path4272" d="m 17.709101,1042.6176 a 8.0046,8.0046 0 1 1 -16.0089998,0 8.0046,8.0046 0 1 1 16.0089998,0 z" stroke-miterlimit="4" /></g></svg>',
  2690. '<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="5.4777083mm" height="5.5003009mm" viewBox="0 0 19.409203 19.489255" id="svg3402" version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="wheel_btn.svg"><defs id="defs3404" /><sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="22.4" inkscape:cx="4.7324003" inkscape:cy="15.245372" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:window-width="1920" inkscape:window-height="1134" inkscape:window-x="0" inkscape:window-y="27" inkscape:window-maximized="1" /><metadata id="metadata3407"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(8.5754969e-8,-1032.873)"><path inkscape:connector-curvature="0" style="fill:#5276cf;stroke:#000000;stroke-width:3.4000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;fill-opacity:1" id="path4272" d="m 17.709101,1042.6176 a 8.0046,8.0046 0 1 1 -16.0089998,0 8.0046,8.0046 0 1 1 16.0089998,0 z" stroke-miterlimit="4" /></g></svg>',
  2691. '<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="5.4777083mm" height="5.5003009mm" viewBox="0 0 19.409203 19.489255" id="svg3402" version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="wheel_btn.svg"><defs id="defs3404" /><sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="22.4" inkscape:cx="4.7324003" inkscape:cy="15.245372" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:window-width="1920" inkscape:window-height="1134" inkscape:window-x="0" inkscape:window-y="27" inkscape:window-maximized="1" /><metadata id="metadata3407"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(8.5754969e-8,-1032.873)"><path inkscape:connector-curvature="0" style="fill:#5276cf;stroke:#000000;stroke-width:3.4000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;fill-opacity:1" id="path4272" d="m 17.709101,1042.6176 a 8.0046,8.0046 0 1 1 -16.0089998,0 8.0046,8.0046 0 1 1 16.0089998,0 z" stroke-miterlimit="4" /></g></svg>',
  2692. '<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="5.4777083mm" height="5.5003009mm" viewBox="0 0 19.409203 19.489255" id="svg3402" version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="wheel_btn.svg"><defs id="defs3404" /><sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="22.4" inkscape:cx="4.7324003" inkscape:cy="15.245372" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:window-width="1920" inkscape:window-height="1134" inkscape:window-x="0" inkscape:window-y="27" inkscape:window-maximized="1" /><metadata id="metadata3407"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(8.5754969e-8,-1032.873)"><path inkscape:connector-curvature="0" style="fill:#5276cf;stroke:#000000;stroke-width:3.4000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;fill-opacity:1" id="path4272" d="m 17.709101,1042.6176 a 8.0046,8.0046 0 1 1 -16.0089998,0 8.0046,8.0046 0 1 1 16.0089998,0 z" stroke-miterlimit="4" /></g></svg>',
  2693. '<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="5.4777083mm" height="5.5003009mm" viewBox="0 0 19.409203 19.489255" id="svg3402" version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="wheel_btn.svg"><defs id="defs3404" /><sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="22.4" inkscape:cx="4.7324003" inkscape:cy="15.245372" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:window-width="1920" inkscape:window-height="1134" inkscape:window-x="0" inkscape:window-y="27" inkscape:window-maximized="1" /><metadata id="metadata3407"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(8.5754969e-8,-1032.873)"><path inkscape:connector-curvature="0" style="fill:#5276cf;stroke:#000000;stroke-width:3.4000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;fill-opacity:1" id="path4272" d="m 17.709101,1042.6176 a 8.0046,8.0046 0 1 1 -16.0089998,0 8.0046,8.0046 0 1 1 16.0089998,0 z" stroke-miterlimit="4" /></g></svg>',
  2694. '<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="5.4777083mm" height="5.5003009mm" viewBox="0 0 19.409203 19.489255" id="svg3402" version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="wheel_btn.svg"><defs id="defs3404" /><sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="22.4" inkscape:cx="4.7324003" inkscape:cy="15.245372" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:window-width="1920" inkscape:window-height="1134" inkscape:window-x="0" inkscape:window-y="27" inkscape:window-maximized="1" /><metadata id="metadata3407"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(8.5754969e-8,-1032.873)"><path inkscape:connector-curvature="0" style="fill:#5276cf;stroke:#000000;stroke-width:3.4000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;fill-opacity:1" id="path4272" d="m 17.709101,1042.6176 a 8.0046,8.0046 0 1 1 -16.0089998,0 8.0046,8.0046 0 1 1 16.0089998,0 z" stroke-miterlimit="4" /></g></svg>',
  2695. '<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="5.4777083mm" height="5.5003009mm" viewBox="0 0 19.409203 19.489255" id="svg3402" version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="wheel_btn.svg"><defs id="defs3404" /><sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="22.4" inkscape:cx="4.7324003" inkscape:cy="15.245372" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:window-width="1920" inkscape:window-height="1134" inkscape:window-x="0" inkscape:window-y="27" inkscape:window-maximized="1" /><metadata id="metadata3407"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(8.5754969e-8,-1032.873)"><path inkscape:connector-curvature="0" style="fill:#5276cf;stroke:#000000;stroke-width:3.4000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;fill-opacity:1" id="path4272" d="m 17.709101,1042.6176 a 8.0046,8.0046 0 1 1 -16.0089998,0 8.0046,8.0046 0 1 1 16.0089998,0 z" stroke-miterlimit="4" /></g></svg>',
  2696. '<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="5.4777083mm" height="5.5003009mm" viewBox="0 0 19.409203 19.489255" id="svg3402" version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="wheel_btn.svg"><defs id="defs3404" /><sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="22.4" inkscape:cx="4.7324003" inkscape:cy="15.245372" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:window-width="1920" inkscape:window-height="1134" inkscape:window-x="0" inkscape:window-y="27" inkscape:window-maximized="1" /><metadata id="metadata3407"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(8.5754969e-8,-1032.873)"><path inkscape:connector-curvature="0" style="fill:#5276cf;stroke:#000000;stroke-width:3.4000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;fill-opacity:1" id="path4272" d="m 17.709101,1042.6176 a 8.0046,8.0046 0 1 1 -16.0089998,0 8.0046,8.0046 0 1 1 16.0089998,0 z" stroke-miterlimit="4" /></g></svg>',
  2697. '<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="5.4777083mm" height="5.5003009mm" viewBox="0 0 19.409203 19.489255" id="svg3402" version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="wheel_btn.svg"><defs id="defs3404" /><sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="22.4" inkscape:cx="4.7324003" inkscape:cy="15.245372" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:window-width="1920" inkscape:window-height="1134" inkscape:window-x="0" inkscape:window-y="27" inkscape:window-maximized="1" /><metadata id="metadata3407"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(8.5754969e-8,-1032.873)"><path inkscape:connector-curvature="0" style="fill:#5276cf;stroke:#000000;stroke-width:3.4000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;fill-opacity:1" id="path4272" d="m 17.709101,1042.6176 a 8.0046,8.0046 0 1 1 -16.0089998,0 8.0046,8.0046 0 1 1 16.0089998,0 z" stroke-miterlimit="4" /></g></svg>',
  2698. '<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="5.4777083mm" height="5.5003009mm" viewBox="0 0 19.409203 19.489255" id="svg3402" version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="wheel_btn.svg"><defs id="defs3404" /><sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="22.4" inkscape:cx="4.7324003" inkscape:cy="15.245372" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:window-width="1920" inkscape:window-height="1134" inkscape:window-x="0" inkscape:window-y="27" inkscape:window-maximized="1" /><metadata id="metadata3407"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(8.5754969e-8,-1032.873)"><path inkscape:connector-curvature="0" style="fill:#5276cf;stroke:#000000;stroke-width:3.4000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;fill-opacity:1" id="path4272" d="m 17.709101,1042.6176 a 8.0046,8.0046 0 1 1 -16.0089998,0 8.0046,8.0046 0 1 1 16.0089998,0 z" stroke-miterlimit="4" /></g></svg>',
  2699. '<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="5.4777083mm" height="5.5003009mm" viewBox="0 0 19.409203 19.489255" id="svg3402" version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="wheel_btn.svg"><defs id="defs3404" /><sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="22.4" inkscape:cx="4.7324003" inkscape:cy="15.245372" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:window-width="1920" inkscape:window-height="1134" inkscape:window-x="0" inkscape:window-y="27" inkscape:window-maximized="1" /><metadata id="metadata3407"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(8.5754969e-8,-1032.873)"><path inkscape:connector-curvature="0" style="fill:#5276cf;stroke:#000000;stroke-width:3.4000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;fill-opacity:1" id="path4272" d="m 17.709101,1042.6176 a 8.0046,8.0046 0 1 1 -16.0089998,0 8.0046,8.0046 0 1 1 16.0089998,0 z" stroke-miterlimit="4" /></g></svg>',
  2700. '<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="5.4777083mm" height="5.5003009mm" viewBox="0 0 19.409203 19.489255" id="svg3402" version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="wheel_btn.svg"><defs id="defs3404" /><sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="22.4" inkscape:cx="4.7324003" inkscape:cy="15.245372" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:window-width="1920" inkscape:window-height="1134" inkscape:window-x="0" inkscape:window-y="27" inkscape:window-maximized="1" /><metadata id="metadata3407"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(8.5754969e-8,-1032.873)"><path inkscape:connector-curvature="0" style="fill:#5276cf;stroke:#000000;stroke-width:3.4000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;fill-opacity:1" id="path4272" d="m 17.709101,1042.6176 a 8.0046,8.0046 0 1 1 -16.0089998,0 8.0046,8.0046 0 1 1 16.0089998,0 z" stroke-miterlimit="4" /></g></svg>',
  2701. '<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="5.4777083mm" height="5.5003009mm" viewBox="0 0 19.409203 19.489255" id="svg3402" version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="wheel_btn.svg"><defs id="defs3404" /><sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="22.4" inkscape:cx="4.7324003" inkscape:cy="15.245372" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:window-width="1920" inkscape:window-height="1134" inkscape:window-x="0" inkscape:window-y="27" inkscape:window-maximized="1" /><metadata id="metadata3407"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(8.5754969e-8,-1032.873)"><path inkscape:connector-curvature="0" style="fill:#5276cf;stroke:#000000;stroke-width:3.4000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;fill-opacity:1" id="path4272" d="m 17.709101,1042.6176 a 8.0046,8.0046 0 1 1 -16.0089998,0 8.0046,8.0046 0 1 1 16.0089998,0 z" stroke-miterlimit="4" /></g></svg>',
  2702. '<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="5.4777083mm" height="5.5003009mm" viewBox="0 0 19.409203 19.489255" id="svg3402" version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="wheel_btn.svg"><defs id="defs3404" /><sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="22.4" inkscape:cx="4.7324003" inkscape:cy="15.245372" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:window-width="1920" inkscape:window-height="1134" inkscape:window-x="0" inkscape:window-y="27" inkscape:window-maximized="1" /><metadata id="metadata3407"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(8.5754969e-8,-1032.873)"><path inkscape:connector-curvature="0" style="fill:#5276cf;stroke:#000000;stroke-width:3.4000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;fill-opacity:1" id="path4272" d="m 17.709101,1042.6176 a 8.0046,8.0046 0 1 1 -16.0089998,0 8.0046,8.0046 0 1 1 16.0089998,0 z" stroke-miterlimit="4" /></g></svg>');
  2703. Z.push(ba,a,sa,ea,Ba,oa);for(c=0;c<J.length;c++)J[c].setAttribute("id","wheel_btn_"+c),J[c].setAttribute("data-colorstate","B"),J[c].setAttribute("data-key",c),J[c].setAttribute("data-svgid",c);for(c=0;c<Z.length;c++)J[c].setAttribute("id","wheel_axis_"+c),J[c].setAttribute("data-colorstate","GR");ba.setAttribute("data-key",d.GMPD_AXIS_0);ba.setAttribute("data-svgid",z.length);a.setAttribute("data-key",d.GMPD_AXIS_1);a.setAttribute("data-svgid",z.length+1);sa.setAttribute("data-key",d.GMPD_AXIS_2);
  2704. sa.setAttribute("data-svgid",z.length+2);ea.setAttribute("data-key",d.GMPD_AXIS_3);ea.setAttribute("data-svgid",z.length+3);Ba.setAttribute("data-key",d.GMPD_AXIS_4);Ba.setAttribute("data-svgid",z.length+4);oa.setAttribute("data-key",d.GMPD_AXIS_5);oa.setAttribute("data-svgid",z.length+5);z.push('<svg id="svg3458" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="50.447mm" width="83.899mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 297.28131 178.75"><metadata id="metadata3463"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(0 -873.61)" fill="#e6e6e6"><path id="path4535" style="color:#000000;text-indent:0;block-progression:tb;text-decoration-line:none;text-transform:none" d="m33.875 873.61-18.5 8.8125 5.0626 3.0625c-12.899 22.78-20.438 49.17-20.438 77.44 0 28.284 7.5315 54.691 20.438 77.469l-5.0626 3.0625 18.5 8.8125 0.6563-20.469-5.531 3.3c-12.002-21.2-18.937-45.8-18.937-72.18 0-26.362 6.9415-50.99 18.937-72.188l5.5313 3.3438-0.6563-20.469z"/><path id="path4551" style="color:#000000;text-indent:0;block-progression:tb;text-decoration-line:none;text-transform:none" d="m263.38 873.71-0.6562 20.469 5.5312-3.3438c11.996 21.198 18.969 45.825 18.969 72.188 0 26.371-6.9672 51.011-18.969 72.219l-5.5312-3.3437 0.6562 20.469 18.5-8.8125-5.0312-3.0625c12.906-22.778 20.438-49.184 20.438-77.469 0-28.275-7.5391-54.665-20.438-77.438l5.0312-3.0625-18.5-8.8125z"/></g></svg>',
  2705. '<svg id="svg3386" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="12.859mm" width="5.2917mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 18.749999 45.562501"><metadata id="metadata3391"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(0 -1006.8)"><path id="rect4575" d="m9.3125 1006.8-9.3125 14.25h5.3125v17.094h-5.1875l9.3125 14.219 9.3125-14.219h-5.1562v-17.094h5.0312l-9.3125-14.25z" fill="#e6e6e6"/></g></svg>',
  2706. '<svg id="svg3386" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="12.859mm" width="5.2917mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 18.749999 45.562501"><metadata id="metadata3391"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(0 -1006.8)"><path id="rect4575" d="m9.3125 1006.8-9.3125 14.25h5.3125v17.094h-5.1875l9.3125 14.219 9.3125-14.219h-5.1562v-17.094h5.0312l-9.3125-14.25z" fill="#e6e6e6"/></g></svg>',
  2707. '<svg id="svg3386" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="12.859mm" width="5.2917mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 18.749999 45.562501"><metadata id="metadata3391"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(0 -1006.8)"><path id="rect4575" d="m9.3125 1006.8-9.3125 14.25h5.3125v17.094h-5.1875l9.3125 14.219 9.3125-14.219h-5.1562v-17.094h5.0312l-9.3125-14.25z" fill="#e6e6e6"/></g></svg>',
  2708. '<svg id="svg3378" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="2.9016mm" width="9.2516mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 32.781198 10.281199"><metadata id="metadata3383"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(0 -1042.1)"><path id="rect4585" d="m32.781 1047.2-7.875-5.125v2.8437h-17.031v-2.8437l-7.875 5.1 7.875 5.1562v-2.8437h17.031v2.8437z" fill="#e6e6e6"/></g></svg>',
  2709. '<svg id="svg3378" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="9.2516mm" width="2.9016mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 10.281248 32.7812"><metadata id="metadata3383"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g id="layer1" transform="translate(0 -1019.6)"><path id="rect4585" d="m5.125 1019.6-5.125 7.9h2.8437v17.031h-2.8437l5.125 7.875 5.1562-7.875h-2.8438v-17.031h2.8438z" fill="#e6e6e6"/></g></svg>');
  2710. u(J,H);u(Z,"#e6e6e6")}}function u(a,b){function c(a){a=a.target;if(!(0>x||"G"==a.dataset.ek))if(0!=F){if("R"==a.dataset.ek&&(M=null,document.getElementById("action_label").textContent="Click on the buttons & arrows to setup your controller",F=0),"B"==a.dataset.ek||"GR"==a.dataset.ek){var d=parseFloat(M.dataset.vt);M.style.backgroundImage="url('data:image/svg+xml;base64,"+btoa(z[d])+"')";M.setAttribute("data-colorstate",a.dataset.ek);M=a;d=parseFloat(a.dataset.vt);a.style.backgroundImage="url('data:image/svg+xml;base64,"+
  2711. btoa(z[d].replace(b,"#ff0000"))+"')";a.setAttribute("data-colorstate","R")}}else{var d=parseFloat(a.dataset.vt),e="B"==a.dataset.ek?1:2;F=e;a.style.backgroundImage="url('data:image/svg+xml;base64,"+btoa(z[d].replace(b,"#ff0000"))+"')";a.setAttribute("data-colorstate","R");document.getElementById("action_label").textContent=1==e?"Now press the button on the device":"Now move the axis on the device";M=a}}for(var d=0;d<a.length;d++)a[d].addEventListener("click",c,!1)}function n(a){var b=document.createElement("label");
  2712. b.style.cssText="position: relative;display: inline-block;width: 50px;color: white;margin: 0 10px;font-size: 36px;line-height: 50px;background-color: black;border: 3px solid white;border-radius: 5px;height: 50px;";b.textContent=a;return b}function t(){var a=window.innerWidth,b=window.innerHeight;E.style.zoom=750>=b&&400<b||750>=a&&400<a?"0.5":400>=a||400>=b?"0.3":"1"}var m=q("container"),k=q("controls"),d=q("input"),y=q("storage"),H=/#5276cf/g,v={};v[d.GMPD_BUTTON_12]=d.GMPD_BUTTON_12;v[d.GMPD_BUTTON_13]=
  2713. d.GMPD_BUTTON_13;v[d.GMPD_BUTTON_15]=d.GMPD_BUTTON_15;v[d.GMPD_BUTTON_14]=d.GMPD_BUTTON_14;v[d.GMPD_BUTTON_3]=d.GMPD_BUTTON_3;v[d.GMPD_BUTTON_0]=d.GMPD_BUTTON_0;v[d.GMPD_BUTTON_1]=d.GMPD_BUTTON_1;v[d.GMPD_BUTTON_2]=d.GMPD_BUTTON_2;v[d.GMPD_BUTTON_5]=d.GMPD_BUTTON_5;v[d.GMPD_BUTTON_7]=d.GMPD_BUTTON_7;v[d.GMPD_BUTTON_4]=d.GMPD_BUTTON_4;v[d.GMPD_BUTTON_6]=d.GMPD_BUTTON_6;v[d.GMPD_BUTTON_8]=d.GMPD_BUTTON_8;v[d.GMPD_BUTTON_9]=d.GMPD_BUTTON_9;v[d.GMPD_BUTTON_10]=d.GMPD_BUTTON_10;v[d.GMPD_BUTTON_11]=d.GMPD_BUTTON_11;
  2714. v[d.GMPD_BUTTON_16]=d.GMPD_BUTTON_16;var z=[],x=-1,M=null,F=0,E=null,A=null,K=null,h=null,l=null,w=null,r=[],J=[],B=[],Z=[],I=!0,C={};C[d.GMPD_AXIS_0]=-2;C[d.GMPD_AXIS_1]=-2;C[d.GMPD_AXIS_2]=-2;C[d.GMPD_AXIS_3]=-2;C[d.GMPD_AXIS_4]=-2;C[d.GMPD_AXIS_5]=-2;C[d.GMPD_AXIS_6]=-2;C[d.GMPD_AXIS_7]=-2;C[d.GMPD_AXIS_8]=-2;C[d.GMPD_AXIS_9]=-2;C[d.GMPD_AXIS_10]=-2;C[d.GMPD_AXIS_11]=-2;a.show=function(){var a=document.createElement("div");E=a;a.style.cssText="position: absolute;width: 720px;height: 750px;top: 50%;left: 50%;-moz-transform: translateY(-50%) translateX(-50%);-ms-transform: translateY(-50%) translateX(-50%);-webkit-transform: translateY(-50%) translateX(-50%);transform: translateY(-50%) translateX(-50%);background-color: black;border: 4px solid white;border-radius: 35px;box-shadow: 0px 0px 20px 0px rgba(50, 50, 50, 1);";
  2715. m.insert_to_container(a,"LAST");b(a);var r=document.createElement("div");r.style.cssText="position: absolute;width: 637px;top: 0px;font-family: sans-serif;text-align: center;margin-top: 40px;-moz-transform: translateX(-50%);-ms-transform: translateX(-50%);-webkit-transform: translateX(-50%);transform: translateX(-50%);left: 50%;";var q=document.createElement("div");q.innerHTML="Select a device";q.style.cssText="color: #fff;display: inline-block;";r.appendChild(q);for(q=0;4>q;q++){var u=g(q),v=function(){return!0},
  2716. A=function(a,b){if(b==x)for(var c=0;c<J.length;c++){var e=J[c],f=k.get_sensor_value(a,b,c),g=c;if(0==F){if(f&&"B"==e.dataset.ek){var h=z[g];e.style.backgroundImage="url('data:image/svg+xml;base64,"+btoa(h.replace(H,"#00ff00"))+"')";e.setAttribute("data-colorstate","G")}f||"B"==e.dataset.ek||(h=z[g],e.style.backgroundImage="url('data:image/svg+xml;base64,"+btoa(h)+"')",e.setAttribute("data-colorstate","B"))}else f=d.get_pressed_gmpd_btn(x),0<=f&&M&&1==F&&(e=M.dataset.key,d.set_gamepad_key(x,e,f),g=
  2717. y.get(x+"_gmpd_stngs","fdage")||"{}",g=JSON.parse(g),g[e]=f,y.set(x+"_gmpd_stngs",JSON.stringify(g),"fdage"),M=null,document.getElementById("action_label").textContent="Click on the buttons & arrows to setup your controller",F=0)}};k.create_sensor_manifold(null,q,k.CT_CONTINUOUS,u,v,A)}0<f().length&&(x=0);var T=[],q=document.createElement("div");q.style.cssText="margin-top: 20px;";for(u=0;4>u;u++)A=n(u),u==x&&(A.style.backgroundColor="green",K=A),c(u),q.appendChild(A),A.setAttribute("data-device_type",
  2718. "PAD"),T.push(A),A.addEventListener("click",function(a){var b=f();a=a.target;for(var d=0;d<b.length;d++)T[d]==a&&(x=d,K=a,c(x),e(a.dataset.yS))},!1);r.appendChild(q);w=document.createElement("label");w.style.cssText="position: relative;display: block;color: white;";r.appendChild(w);q=document.createElement("div");q.style.cssText="margin-top: 20px;";u=D(q,"Pad");A=D(q,"Wheel");u.setAttribute("checked","true");u.onchange=function(){e("PAD");K&&K.setAttribute("data-device_type","PAD")};A.onchange=function(){e("WHEEL");
  2719. K&&K.setAttribute("data-device_type","WHEEL")};u.setAttribute("id","test");l=u;h=A;u=document.createElement("label");u.style.cssText+="color: #fff;display: block;";q.appendChild(u);u.textContent="Click on the buttons & arrows to setup your controller";u.setAttribute("id","action_label");r.appendChild(q);a.appendChild(r);a=k.create_elapsed_sensor();k.create_sensor_manifold(null,"UPDATE_GAMEPAD_DATA",k.CT_CONTINUOUS,[a],v,function(){var a=f(),b=a.length;-1==x&&a.length&&(x=a[0].index,K=T[x]);for(var c=
  2720. 0;c<T.length;c++)c<b?(T[c].textContent=a[c].index,T[c]==K?(T[c].style.backgroundColor="green",w.textContent="Selected device: "+a[c].index+". Data: "+a[c].id):T[c].style.backgroundColor="blue"):T[c].style.backgroundColor="black";b||(x=-1,w.textContent="")});for(q=0;4>q;q++)u=p(q),v=function(){return!0},A=function(a,b){if(b=="AXES"+x){for(var c=0;c<B.length;c+=2){var e=B[c],f=a,g=b,h=c,l=20*k.get_sensor_value(f,g,h),f=20*k.get_sensor_value(f,g,h+1);e.style.transform="translate3d("+l+"px, "+f+"px, 0px) rotate(0rad)"}if(I)for(c=
  2721. 0;12>c;c+=2){if(f=a,g=b,e=c,!(e+1>2*Z.length)){l=k.get_sensor_value(f,g,e);f=k.get_sensor_value(f,g,e+1);if(-2<C[e]){var m=l-C[e],n=f-C[e+1],g=Z[Math.floor(e/2)],h=g.dataset.vt;0==F?g.style.backgroundImage=m||n?"url('data:image/svg+xml;base64,"+btoa(z[h].replace("#e6e6e6","#00ff00"))+"')":"url('data:image/svg+xml;base64,"+btoa(z[h])+"')":2==F&&(m=d.get_moved_gmpd_axis(x),0<=m&&(0!=m%2&&m--,F=0,g.style.backgroundImage="url('data:image/svg+xml;base64,"+btoa(z[h])+"')",g=parseFloat(M.dataset.key),d.set_gamepad_key(x,
  2722. g,m),d.set_gamepad_key(x,g+1,m+1),M=null,document.getElementById("action_label").textContent="Click on the buttons & arrows to setup your controller"))}C[e]=l;C[e+1]=f}}else for(c=0;12>c;c++)e=c,e>=Z.length||(l=k.get_sensor_value(a,b,e),-2<C[e]&&(h=l-C[e],f=Z[e],g=f.dataset.vt,0==F?f.style.backgroundImage=h?"url('data:image/svg+xml;base64,"+btoa(z[g].replace("#e6e6e6","#00ff00"))+"')":"url('data:image/svg+xml;base64,"+btoa(z[g])+"')":2==F&&(h=d.get_moved_gmpd_axis(x),0<=h&&(F=0,f.style.backgroundImage=
  2723. "url('data:image/svg+xml;base64,"+btoa(z[g])+"')",d.set_gamepad_key(x,parseFloat(M.dataset.key),h),M=null,document.getElementById("action_label").textContent="Click on the buttons & arrows to setup your controller"))),C[e]=l)}},k.create_sensor_manifold(null,"AXES"+q,k.CT_CONTINUOUS,u,v,A);t();window.addEventListener("resize",t)};a.hide=function(){F=0;x=-1;l=h=M=K=null;B.length=0;J.length=0;Z.length=0;m.get_container().removeChild(E);E=null;k.remove_sensor_manifold(null,"UPDATE_GAMEPAD_DATA");for(var a=
  2724. 0;4>a;a++)k.remove_sensor_manifold(null,a),k.remove_sensor_manifold(null,"AXES"+a);window.removeEventListener("resize",t)};a.update=function(){for(var a=0;4>a;a++)c(a)}};fdage.module.gyroscope=function(a,q){function f(a){var f=b.create_gyro_angles_sensor(),g=b.create_gyro_quat_sensor(),q=!0;b.create_sensor_manifold(a,"CAMERA_ROTATE_GYRO",b.CT_CONTINUOUS,[f,g],null,function(a,f,g){if(0<g)if(c.is_eye_camera(a))f=b.get_sensor_payload(a,f,1),g=e.transformQuat(D.AXIS_MY,f,t),c.set_vertical_axis(a,g),p.set_rotation_v(a,f);else{n=b.get_sensor_payload(a,f,0);q&&(u[0]=n[0],u[1]=n[1],u[2]=n[2],q=!1);g=f=0;0==window.orientation&&(f=n[1]-u[1],g=n[0]-u[0],n[1]>k&&n[1]<m&&(g=0));
  2725. if(180==window.orientation){f=n[1]-u[1];0>n[1]&&(f=-f);g=u[0]-n[0];if(f>Math.PI/2||f<-Math.PI/2)f=0;n[1]>-m&&n[1]<-k&&(g=0)}if(-90==window.orientation){f=n[0]-u[0];if(f>Math.PI/2||f<-Math.PI/2)f=0;g=u[1]-n[1];if(n[0]>d||n[0]<y)g=0}if(90==window.orientation){f=u[0]-n[0];if(f>Math.PI/2||f<-Math.PI/2)f=0;g=n[1]-u[1];if(n[0]>d||n[0]<y)g=0}c.rotate_camera(a,g,f);u[0]=n[0];u[1]=n[1];u[2]=n[2]}})}var c=q("camera"),b=q("controls"),g=q("scenes"),p=q("transform"),D=q("util"),e=q("vec3"),u=new Float32Array(3),
  2726. n=new Float32Array(3),t=e.create(),m=D.deg_to_rad(110),k=D.deg_to_rad(70),d=D.deg_to_rad(70),y=-D.deg_to_rad(70);a.enable_camera_rotation=function(){var a=g.get_active_camera();f(a)};a.disable_camera_rotation=function(){var a=g.get_active_camera();b.remove_sensor_manifold(a,"CAMERA_ROTATE_GYRO")}};fdage.module.hmd_conf=function(a,q){function f(a){a=a.target.value;var b=A[a],c;for(c in F)if(c in b){var d=document.getElementById(c+"_slider");d&&(d.disabled="custom"!==a,d.value=b[c]);if(d=document.getElementById(c+"_number"))d.disabled="custom"!==a,d.value=b[c]}}function c(){t.remove_sensor_manifold(null,"UPDATE_HMD_RENDERING");g();D();H&&(H=!1,n.get_container().removeChild(v),document.head.removeChild(z),z=x=v=null)}function b(){g(!0);D();for(var a in F){var b=document.getElementById(a+"_slider");
  2727. b&&(b.value=F[a]);if(b=document.getElementById(a+"_number"))b.value=F[a]}}function g(a){var b=navigator.userAgent||navigator.vendor||window.opera,c=Math.max(window.screen.width,window.screen.height)*window.devicePixelRatio,e=Math.min(window.screen.width,window.screen.height)*window.devicePixelRatio,f=0,g=0,m=0;a:{var n=h;if(1==n.format&&n.devices&&n.devices.length)for(var p=0;p<n.devices.length;p++){var q=n.devices[p];if(q.rules&&("ios"==q.type&&E||"android"==q.type)){for(var t=!1,u=0;u<q.rules.length;u++){var v=
  2728. q.rules[u],x=c,A=e;if(v.ua&&0<=b.indexOf(v.ua)||!v.ua&&v.res&&v.res[0]&&v.res[1]&&Math.min(x,A)==Math.min(v.res[0],v.res[1])&&Math.max(x,A)==Math.max(v.res[0],v.res[1])){t=!0;break}}if(t){b=p;break a}}}else k.error("DPDB isn't correct.");b=-1}-1!=b&&(m=h.devices[b],g=m.dpi[1]||m.dpi,f=Math.round(25.4*c/(m.dpi[0]||m.dpi)),g=Math.round(25.4*e/g),m=Math.round(m.bw));c=d.get("hmd_conf","fdage");c=JSON.parse(c?c:"{}");a?(F.first_distortion=.34,F.second_distortion=.55,F.bevel_size=m||4,F.screen_width=f||
  2729. 110,F.screen_height=g||65,F.screen_lense=50,F.ipd=64,F.baseline=32):(F.first_distortion="first_distortion"in c?parseFloat(c.first_distortion):.34,F.second_distortion="second_distortion"in c?parseFloat(c.second_distortion):.55,F.bevel_size="bevel_size"in c?parseFloat(c.bevel_size):m||4,F.screen_width="screen_width"in c?parseFloat(c.screen_width):f||110,F.screen_height="screen_height"in c?parseFloat(c.screen_height):g||65,F.screen_lense="screen_lense"in c?parseFloat(c.screen_lense):50,F.ipd="ipd"in
  2730. c?parseFloat(c.ipd):64,F.baseline="baseline"in c?parseFloat(c.baseline):32);M=!0}function p(){d.set("hmd_conf",JSON.stringify(F),"fdage");c()}function D(){if(M){var a=m.get_device_by_type_element(m.DEVICE_HMD);a&&(m.set_config(a,m.HMD_DISTORTION,[F.first_distortion,F.second_distortion]),m.get_value_param(a,m.HMD_WEBVR_TYPE)!=m.HMD_WEBVR_DESKTOP&&(m.set_config(a,m.HMD_BEVEL_SIZE,.001*F.bevel_size),m.set_config(a,m.HMD_SCREEN_WIDTH,.001*F.screen_width),m.set_config(a,m.HMD_SCREEN_HEIGHT,.001*F.screen_height),
  2731. m.set_config(a,m.HMD_SCREEN_LENSE_DIST,.001*F.screen_lense),m.set_config(a,m.HMD_EYE_DISTANCE,.001*F.ipd),m.set_config(a,m.HMD_BASELINE_DIST,.001*F.baseline)));M=!1}}function e(a){var b=a.target.id.split("_"),b=b.splice(0,b.length-1).join("_");b in F&&F[b]!=a.target.value&&(M=!0,F[b]=a.target.value,document.getElementById(b+"_slider").value=a.target.value,document.getElementById(b+"_number").value=a.target.value)}function u(a,b){var c=document.createElement("button");c.onclick=a;c.style.cssText="display: inline-block;";
  2732. c.innerHTML=b;return c}var n=q("container"),t=q("controls"),m=q("input"),k=q("print"),d=q("storage"),y=q("util"),H=!1,v=null,z=null,x=null,M=!0,F={profile:"custom",first_distortion:0,second_distortion:0,bevel_size:0,screen_width:0,screen_height:0,screen_lense:0,ipd:0,baseline:0},E=/iPad|iPhone|iPod/.test(navigator.platform),A={oculus_dk2:{name:"Oculus Rift DK2",type:2,first_distortion:.22,second_distortion:.28},cardboard_1:{name:"Cardboard (2014)",type:1,ipd:60,baseline:35,screen_lense:42,first_distortion:.441,
  2733. second_distortion:.156},cardboard_2:{name:"Cardboard (2015)",type:1,ipd:64,baseline:35,screen_lense:39,first_distortion:.34,second_distortion:.55},custom:{name:"Custom",type:0,ipd:64,baseline:35,screen_lense:39,first_distortion:0,second_distortion:0}},K=[{label:"Tray to lens-center distance.",gm:!0,I:[{id:"baseline",max:"50",step:"0.5"}]},{label:"Interpupillary distance.",gm:!0,I:[{id:"ipd",max:"100",step:"1"}]},{label:"Screen to lense distance.",gm:!0,I:[{id:"screen_lense",max:"100",step:"1"}]},
  2734. {label:"Screen height.",gm:!0,I:[{id:"screen_height",max:"150",step:"1"}]},{label:"Screen width.",gm:!0,I:[{id:"screen_width",max:"200",step:"1"}]},{label:"Bevel width.",gm:!0,I:[{id:"bevel_size",max:"20",step:"1"}]},{label:"Distortion coefficients.",I:[{id:"first_distortion",max:"1.0",step:"0.01"},{id:"second_distortion",max:"1.0",step:"0.01"}]}];a.check=function(){return m.can_use_device(m.DEVICE_HMD)};a.show=function(a){z=document.createElement("style");z.innerHTML="html{-webkit-tap-highlight-color:rgba(0,0,0,0);}input[type=range]:focus{outline:0}input[type=range]::-webkit-slider-runnable-track{width:100%;height:8.4px;cursor:pointer;box-shadow:0 0 10px 0 rgba(50,50,50,1);background:#000;border-radius:1.3px;border:.2px solid #010101}input[type=range]::-webkit-slider-thumb{box-shadow:0 0 10px 0 rgba(50,50,50,1);border:1px solid #000;height:36px;width:16px;border-radius:3px;background:#fff;cursor:pointer;-webkit-appearance:none;margin-top:-14px}input[type=range]:focus::-webkit-slider-runnable-track{background:#000}input[type=range]::-moz-range-track{width:100%;height:8.4px;cursor:pointer;box-shadow:0 0 10px 0 rgba(50,50,50,1);background:#000;border-radius:1.3px;border:.2px solid #010101}input[type=range]::-moz-range-thumb{box-shadow:0 0 10px 0 rgba(50,50,50,1);border:1px solid #000;height:36px;width:16px;border-radius:3px;background:#fff;cursor:pointer}input[type=range]::-ms-track{width:100%;height:8.4px;cursor:pointer;background:0 0;border-color:transparent;color:transparent}input[type=range]::-ms-fill-lower{background:#000;border:.2px solid #010101;border-radius:2.6px;box-shadow:0 0 10px 0 rgba(50,50,50,1)}input[type=range]::-ms-fill-upper{background:#000;border:.2px solid #010101;border-radius:2.6px;box-shadow:0 0 10px 0 rgba(50,50,50,1)}input[type=range]::-ms-thumb{box-shadow:0 0 10px 0 rgba(50,50,50,1);border:1px solid #000;height:36px;width:16px;border-radius:3px;background:#fff;cursor:pointer}.text_label,.value_label{display:inline-block;text-decoration:none;height:30px;line-height:28px;position:relative;text-align:center;font-family:Arial;font-size:15px}input[type=range]:focus::-ms-fill-lower{background:#000}input[type=range]:focus::-ms-fill-upper{background:#000}.text_label{float:left;color:#fff;width:auto;padding:0 10px;background-color:#000;border:3px solid #fff;border-radius:15px;box-shadow:0 0 10px 0 rgba(50,50,50,1);margin-right:15px}.input_text,.value_label{border:3px solid #fff;background-color:#000;color:#fff;box-shadow:0 0 10px 0 rgba(50,50,50,1)}.value_label{right:0;width:40px;border-radius:15px;margin-left:15px}.slider{position:relative;cursor:pointer}.border{position:relative;width:100%;height:50px}.input_slider,.input_text{margin:13.8px 0;-webkit-appearance:none;width:50%;position:relative;display:inline-block}.input_text{border-radius:4px;padding-left:4px}.input_slider,_:-moz-tree-row(hover){-webkit-appearance:none;width:50%;margin:-4.8px 0;position:relative;display:inline-block}:root .input_slider,_:-ms-fullscreen{-webkit-appearance:none;width:50%;margin:-2.8px 0;position:relative;display:inline-block}button,select{display:block}button{background-color:#000;color:#fff;width:100px;border:3px solid #fff;text-align:center;font-family:Arial;border-radius:15px;box-shadow:0 0 10px 0 rgba(50,50,50,1);font-size:15px;line-height:30px;margin-right:10px}select{clear:both}";
  2735. document.head.appendChild(z);var h=m.get_device_by_type_element(m.DEVICE_HMD);if(!H&&h){H=!0;g();var k=n.get_container(),q=m.get_device_by_type_element(m.DEVICE_MOUSE,k);m.switch_prevent_default(q,!1);q=m.get_device_by_type_element(m.DEVICE_TOUCH,k);m.switch_prevent_default(q,!1);v=document.createElement("div");v.kS=a;k.appendChild(v);x=document.createElement("div");v.appendChild(x);x.style.cssText="position: absolute;background-color: #fff;left: 10px;top: 10px;right: 10px;bottom: 10px;bottom: 10px;min-width: 300px;overflow: auto;padding: 10px;border: 1px solid #ddd;border-radius: 4px;bottom: 10px;";
  2736. a=d.get("hmd_conf","fdage");a=JSON.parse(a?a:"{}").profile||"custom";k=document.createElement("div");q=document.createElement("label");q.innerHTML="Profile: ";q.className="text_label";k.appendChild(q);q=document.createElement("select");k.appendChild(q);k.style.cssText="margin: 20px 0;padding: 10px;";var B=m.get_device_by_type_element(m.DEVICE_HMD);if(B)for(var E in A)if(0==A[E].type||m.get_value_param(B,m.HMD_WEBVR_TYPE)==m.HMD_WEBVR_DESKTOP^1==A[E].type){var I=document.createElement("option");I.value=
  2737. E;I.text=A[E].name;q.appendChild(I)}q.value=a;y.is_ie11()?q.onchange=f:q.oninput=f;x.appendChild(k);for(E=0;E<K.length;E++)if(m.get_value_param(h,m.HMD_WEBVR_TYPE)!=m.HMD_WEBVR_DESKTOP||!K[E].gm){a=K[E];k=document.createElement("div");q=document.createElement("label");q.className="text_label";q.textContent=a.label;k.appendChild(q);k.style.cssText="margin: 20px 0;float: left;display: inline-block;width: 50%;border: 1px solid #ddd;box-sizing: border-box;-webkit-box-sizing: border-box;padding: 10px;";
  2738. for(q=0;q<a.I.length;q++){B=a.I[q];I=document.createElement("div");I.style.cssText+="clear: both; margin-bottom: 10px;";var C=document.createElement("input");C.className="input_slider";C.setAttribute("id",B.id+"_slider");C.setAttribute("type","range");C.setAttribute("min","0.00");C.setAttribute("step",B.step);C.setAttribute("value",F[B.id]);C.setAttribute("max",B.max);C.style.cssText="float: left;";I.appendChild(C);var N=document.createElement("input");N.className="input_text";N.setAttribute("id",
  2739. B.id+"_number");N.setAttribute("type","number");N.setAttribute("min","0.00");N.setAttribute("step",B.step);N.setAttribute("value",F[B.id]);N.setAttribute("max",B.max);I.appendChild(N);y.is_ie11()?(C.onchange=e,N.onchange=e):(C.oninput=e,N.oninput=e);k.appendChild(I)}x.appendChild(k)}h=document.createElement("div");E=u(p,"SAVE");a=u(c,"CANCEL");k=u(b,"RESET");h.style.clear="both";h.appendChild(E);h.appendChild(a);h.appendChild(k);x.appendChild(h);h=t.create_timeline_sensor();t.create_sensor_manifold(null,
  2740. "UPDATE_HMD_RENDERING",t.CT_CONTINUOUS,[h],null,D)}};a.hide=c;a.reset=b;a.update=function(){g();D()};var h={_comment:"AUTOMATICALLY GENERATED BY generate_dpdb.py. DO NOT EDIT.",format:1,last_updated:"2016-01-26T23:11:18Z",devices:[{type:"android",rules:[{mdmh:"asus/*/Nexus 7/*"},{ua:"Nexus 7"}],dpi:[320.8,323],bw:3,ac:500},{type:"android",rules:[{mdmh:"asus/*/ASUS_Z00AD/*"},{ua:"ASUS_Z00AD"}],dpi:[403,404.6],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"HTC/*/HTC6435LVW/*"},{ua:"HTC6435LVW"}],dpi:[449.7,
  2741. 443.3],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"HTC/*/HTC One XL/*"},{ua:"HTC One XL"}],dpi:[315.3,314.6],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"htc/*/Nexus 9/*"},{ua:"Nexus 9"}],dpi:289,bw:3,ac:500},{type:"android",rules:[{mdmh:"HTC/*/HTC One M9/*"},{ua:"HTC One M9"}],dpi:[442.5,443.3],bw:3,ac:500},{type:"android",rules:[{mdmh:"HTC/*/HTC One_M8/*"},{ua:"HTC One_M8"}],dpi:[449.7,447.4],bw:3,ac:500},{type:"android",rules:[{mdmh:"HTC/*/HTC One/*"},{ua:"HTC One"}],dpi:472.8,bw:3,ac:1E3},{type:"android",
  2742. rules:[{mdmh:"Huawei/*/Nexus 6P/*"},{ua:"Nexus 6P"}],dpi:[515.1,518],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"LGE/*/Nexus 5X/*"},{ua:"Nexus 5X"}],dpi:[422,419.9],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"LGE/*/LGMS345/*"},{ua:"LGMS345"}],dpi:[221.7,219.1],bw:3,ac:500},{type:"android",rules:[{mdmh:"LGE/*/LG-D800/*"},{ua:"LG-D800"}],dpi:[422,424.1],bw:3,ac:500},{type:"android",rules:[{mdmh:"LGE/*/LG-D850/*"},{ua:"LG-D850"}],dpi:[537.9,541.9],bw:3,ac:500},{type:"android",rules:[{mdmh:"LGE/*/VS985 4G/*"},
  2743. {ua:"VS985 4G"}],dpi:[537.9,535.6],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"LGE/*/Nexus 5/*"},{ua:"Nexus 5 B"}],dpi:[442.4,444.8],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"LGE/*/Nexus 4/*"},{ua:"Nexus 4"}],dpi:[319.8,318.4],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"LGE/*/LG-P769/*"},{ua:"LG-P769"}],dpi:[240.6,247.5],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"LGE/*/LGMS323/*"},{ua:"LGMS323"}],dpi:[206.6,204.6],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"LGE/*/LGLS996/*"},{ua:"LGLS996"}],dpi:[403.4,
  2744. 401.5],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"Micromax/*/4560MMX/*"},{ua:"4560MMX"}],dpi:[240,219.4],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"Micromax/*/A250/*"},{ua:"Micromax A250"}],dpi:[480,446.4],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"Micromax/*/Micromax AQ4501/*"},{ua:"Micromax AQ4501"}],dpi:240,bw:3,ac:500},{type:"android",rules:[{mdmh:"motorola/*/DROID RAZR/*"},{ua:"DROID RAZR"}],dpi:[368.1,256.7],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"motorola/*/XT830C/*"},{ua:"XT830C"}],dpi:[254,
  2745. 255.9],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"motorola/*/XT1021/*"},{ua:"XT1021"}],dpi:[254,256.7],bw:3,ac:500},{type:"android",rules:[{mdmh:"motorola/*/XT1023/*"},{ua:"XT1023"}],dpi:[254,256.7],bw:3,ac:500},{type:"android",rules:[{mdmh:"motorola/*/XT1028/*"},{ua:"XT1028"}],dpi:[326.6,327.6],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"motorola/*/XT1034/*"},{ua:"XT1034"}],dpi:[326.6,328.4],bw:3,ac:500},{type:"android",rules:[{mdmh:"motorola/*/XT1053/*"},{ua:"XT1053"}],dpi:[315.3,316.1],bw:3,ac:1E3},
  2746. {type:"android",rules:[{mdmh:"motorola/*/XT1562/*"},{ua:"XT1562"}],dpi:[403.4,402.7],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"motorola/*/Nexus 6/*"},{ua:"Nexus 6 B"}],dpi:[494.3,489.7],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"motorola/*/XT1063/*"},{ua:"XT1063"}],dpi:[295,296.6],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"motorola/*/XT1064/*"},{ua:"XT1064"}],dpi:[295,295.6],bw:3,ac:500},{type:"android",rules:[{mdmh:"motorola/*/XT1092/*"},{ua:"XT1092"}],dpi:[422,424.1],bw:3,ac:500},{type:"android",
  2747. rules:[{mdmh:"motorola/*/XT1095/*"},{ua:"XT1095"}],dpi:[422,423.4],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"OnePlus/*/A0001/*"},{ua:"A0001"}],dpi:[403.4,401],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"OnePlus/*/ONE E1005/*"},{ua:"ONE E1005"}],dpi:[442.4,441.4],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"OnePlus/*/ONE A2005/*"},{ua:"ONE A2005"}],dpi:[391.9,405.4],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"OPPO/*/X909/*"},{ua:"X909"}],dpi:[442.4,444.1],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"samsung/*/GT-I9082/*"},
  2748. {ua:"GT-I9082"}],dpi:[184.7,185.4],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"samsung/*/SM-G360P/*"},{ua:"SM-G360P"}],dpi:[196.7,205.4],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"samsung/*/Nexus S/*"},{ua:"Nexus S"}],dpi:[234.5,229.8],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"samsung/*/GT-I9300/*"},{ua:"GT-I9300"}],dpi:[304.8,303.9],bw:5,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SM-T230NU/*"},{ua:"SM-T230NU"}],dpi:216,bw:3,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SGH-T399/*"},{ua:"SGH-T399"}],
  2749. dpi:[217.7,231.4],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"samsung/*/SM-N9005/*"},{ua:"SM-N9005"}],dpi:[386.4,387],bw:3,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SAMSUNG-SM-N900A/*"},{ua:"SAMSUNG-SM-N900A"}],dpi:[386.4,387.7],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"samsung/*/GT-I9500/*"},{ua:"GT-I9500"}],dpi:[442.5,443.3],bw:3,ac:500},{type:"android",rules:[{mdmh:"samsung/*/GT-I9505/*"},{ua:"GT-I9505"}],dpi:439.4,bw:4,ac:1E3},{type:"android",rules:[{mdmh:"samsung/*/SM-G900F/*"},{ua:"SM-G900F"}],
  2750. dpi:[415.6,431.6],bw:5,ac:1E3},{type:"android",rules:[{mdmh:"samsung/*/SM-G900M/*"},{ua:"SM-G900M"}],dpi:[415.6,431.6],bw:5,ac:1E3},{type:"android",rules:[{mdmh:"samsung/*/SM-G800F/*"},{ua:"SM-G800F"}],dpi:326.8,bw:3,ac:1E3},{type:"android",rules:[{mdmh:"samsung/*/SM-G906S/*"},{ua:"SM-G906S"}],dpi:[562.7,572.4],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"samsung/*/GT-I9300/*"},{ua:"GT-I9300"}],dpi:[306.7,304.8],bw:5,ac:1E3},{type:"android",rules:[{mdmh:"samsung/*/SM-T535/*"},{ua:"SM-T535"}],dpi:[142.6,
  2751. 136.4],bw:3,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SM-N920C/*"},{ua:"SM-N920C"}],dpi:[515.1,518.4],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"samsung/*/GT-I9300I/*"},{ua:"GT-I9300I"}],dpi:[304.8,305.8],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"samsung/*/GT-I9195/*"},{ua:"GT-I9195"}],dpi:[249.4,256.7],bw:3,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SPH-L520/*"},{ua:"SPH-L520"}],dpi:[249.4,255.9],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"samsung/*/SAMSUNG-SGH-I717/*"},{ua:"SAMSUNG-SGH-I717"}],
  2752. dpi:285.8,bw:3,ac:1E3},{type:"android",rules:[{mdmh:"samsung/*/SPH-D710/*"},{ua:"SPH-D710"}],dpi:[217.7,204.2],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"samsung/*/GT-N7100/*"},{ua:"GT-N7100"}],dpi:265.1,bw:3,ac:1E3},{type:"android",rules:[{mdmh:"samsung/*/SCH-I605/*"},{ua:"SCH-I605"}],dpi:265.1,bw:3,ac:1E3},{type:"android",rules:[{mdmh:"samsung/*/Galaxy Nexus/*"},{ua:"Galaxy Nexus"}],dpi:[315.3,314.2],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"samsung/*/SM-N910H/*"},{ua:"SM-N910H"}],dpi:[515.1,518],
  2753. bw:3,ac:1E3},{type:"android",rules:[{mdmh:"samsung/*/SM-N910C/*"},{ua:"SM-N910C"}],dpi:[515.2,520.2],bw:3,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SM-G130M/*"},{ua:"SM-G130M"}],dpi:[165.9,164.8],bw:3,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SM-G928I/*"},{ua:"SM-G928I"}],dpi:[515.1,518.4],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"samsung/*/SM-G920F/*"},{ua:"SM-G920F"}],dpi:580.6,bw:3,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SM-G920P/*"},{ua:"SM-G920P"}],dpi:[522.5,577],bw:3,ac:1E3},
  2754. {type:"android",rules:[{mdmh:"samsung/*/SM-G925F/*"},{ua:"SM-G925F"}],dpi:580.6,bw:3,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SM-G925V/*"},{ua:"SM-G925V"}],dpi:[522.5,576.6],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"Sony/*/C6903/*"},{ua:"C6903"}],dpi:[442.5,443.3],bw:3,ac:500},{type:"android",rules:[{mdmh:"Sony/*/D6653/*"},{ua:"D6653"}],dpi:[428.6,427.6],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"Sony/*/E6653/*"},{ua:"E6653"}],dpi:[428.6,425.7],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"Sony/*/E6853/*"},
  2755. {ua:"E6853"}],dpi:[403.4,401.9],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"Sony/*/SGP321/*"},{ua:"SGP321"}],dpi:[224.7,224.1],bw:3,ac:500},{type:"android",rules:[{mdmh:"TCT/*/ALCATEL ONE TOUCH Fierce/*"},{ua:"ALCATEL ONE TOUCH Fierce"}],dpi:[240,247.5],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"THL/*/thl 5000/*"},{ua:"thl 5000"}],dpi:[480,443.3],bw:3,ac:1E3},{type:"android",rules:[{mdmh:"ZTE/*/ZTE Blade L2/*"},{ua:"ZTE Blade L2"}],dpi:240,bw:3,ac:500},{type:"ios",rules:[{res:[640,960]}],dpi:[325.1,
  2756. 328.4],bw:4,ac:1E3},{type:"ios",rules:[{res:[640,1136]}],dpi:[317.1,320.2],bw:3,ac:1E3},{type:"ios",rules:[{res:[750,1334]}],dpi:326.4,bw:4,ac:1E3},{type:"ios",rules:[{res:[1242,2208]}],dpi:[453.6,458.4],bw:4,ac:1E3},{type:"ios",rules:[{res:[1125,2001]}],dpi:[410.9,415.4],bw:4,ac:1E3}]}};fdage.module.hmd=function(a,q){function f(a,f){if(f){var l=D.get_active_camera();if(l){c.is_eye_camera(l)||(k=c.is_target_camera(l),d=c.is_hover_camera(l),y=c.is_static_camera(l),c.eye_setup(l));var l=b.create_elapsed_sensor(),q=!1;b.create_sensor_manifold(null,"HMD_ROTATE_CAMERA",b.CT_CONTINUOUS,[l,f],null,function(d,f,h){if(0<h&&(h=D.get_active_camera())&&(!q&&g.enable_split_screen(h)&&(t=e.get_rotation(h,t),q=!0),q&&c.is_eye_camera(h)&&(d=b.get_sensor_payload(d,f,1))))if(1==a){d=p.multiply(A,d,E);
  2757. var k=n.transformQuat(u.AXIS_MY,d,H);c.set_vertical_axis(h,k);e.set_rotation_v(h,d)}else if(2==a||3==a){f=e.get_rotation(h,M);f=p.invert(f,M);var l=p.multiply(t,f,M);f=c.get_vertical_axis(h,H);Math.abs(f[2])<Math.PI/4?k=n.cross(f,u.AXIS_MY,v):Math.abs(f[1])<Math.PI/4&&(k=n.cross(f,u.AXIS_Z,v));n.normalize(k,k);var l=n.transformQuat(k,l,z),C=n.dot(f,l),l=n.scaleAndAdd(l,f,-C,z);n.normalize(l,l);f=n.cross(f,k,H);k=Math.acos(u.clamp(n.dot(k,l),0,1));f=u.sign(n.dot(l,f));m+=k*f;k=p.setAxisAngle(u.AXIS_Z,
  2758. -m,M);3!=a&&(f=u.quat_project(d,u.AXIS_MZ,u.AXIS_Z,u.AXIS_Y,F),f=p.invert(f,F),d=p.multiply(f,d,F));d=p.multiply(k,d,x);k=n.transformQuat(u.AXIS_MY,d,H);c.set_vertical_axis(h,k);e.set_rotation_v(h,d);p.copy(d,t)}})}}}var c=q("camera"),b=q("controls"),g=q("input"),p=q("quat"),D=q("scenes"),e=q("transform"),u=q("util"),n=q("vec3"),t=p.create(),m=0,k=!1,d=!1,y=!1,H=n.create(),v=n.create(),z=n.create(),x=p.create(),M=p.create(),F=p.create(),E=p.create(),A=p.create();a.HMD_NONE_MOUSE_ALL_AXES=0;a.HMD_ALL_AXES_MOUSE_NONE=
  2759. 1;a.HMD_ROLL_PITCH_MOUSE_YAW=2;a.HMD_ALL_AXES_MOUSE_YAW=3;a.enable_hmd=function(a){var c=null;if(c=g.get_device_by_type_element(g.DEVICE_HMD))c=g.get_value_param(c,g.HMD_WEBVR_TYPE)==g.HMD_WEBVR_DESKTOP||g.get_value_param(c,g.HMD_WEBVR_TYPE)==g.HMD_WEBVR1?b.create_hmd_quat_sensor():b.create_gyro_quat_sensor(),f(a,c)};a.check_browser_support=function(){return Boolean(g.can_use_device(g.DEVICE_HMD))};a.get_hmd_device=function(){return null};a.reset=function(){var a=g.get_device_by_type_element(g.DEVICE_HMD);
  2760. g.reset_device(a)};a.disable_hmd=function(){b.remove_sensor_manifold(null,"HMD_ROTATE_CAMERA");g.disable_split_screen();var a=D.get_active_camera();k?c.target_setup(a):d?c.hover_setup(a):y&&c.static_setup(a);c.set_vertical_axis(a,u.AXIS_Z);var f=e.get_rotation(a,x);e.set_rotation_v(a,f)};a.set_rotate_quat=function(a){p.copy(a,A)};a.get_rotate_quat=function(a){p.copy(A,a);return a}};fdage.module.fps=function(a,q){function f(a,b,c){var d=M.get_active_camera();v.eye_rotate(d,b,c);a&&(b=v.get_camera_angles_char(d,ja),x.set_character_rotation(a,b[0],b[1]))}function c(a,b,c,d){if(.01<Math.abs(I[0])||.01<Math.abs(I[1]))c=z.get_sensor_value(a,b,0),b=F.smooth(I[0],0,c,.2*C),c=F.smooth(I[1],0,c,.2*C),I[0]-=b,I[1]-=c,d(a,-b*N,-c*N)}function b(a){var b=document.createElement("div");b.style.cssText="position: absolute;left: 10px;bottom: 70px;width: 53px;height: 53px;background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyBpZD0ic3ZnMzQwMCIgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTQuMTExbW0iIHdpZHRoPSIxNC4xMTFtbSIgdmVyc2lvbj0iMS4xIiB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHZpZXdCb3g9IjAgMCA0OS45OTk5OTggNDkuOTk5OTk5Ij4gPG1ldGFkYXRhIGlkPSJtZXRhZGF0YTM0MDUiPjxyZGY6UkRGPjxjYzpXb3JrIHJkZjphYm91dD0iIj48ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD48ZGM6dHlwZSByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIi8+PGRjOnRpdGxlLz48L2NjOldvcms+PC9yZGY6UkRGPiA8L21ldGFkYXRhPiA8ZyBpZD0ibGF5ZXIxIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIC0xMDAyLjQpIj48cmVjdCBpZD0icmVjdDI0MTI2IiBvcGFjaXR5PSIwLjU0MyIgZmlsbC1vcGFjaXR5PSIuODM2MTEiIGhlaWdodD0iNTAiIHdpZHRoPSI1MCIgeT0iMTAwMi40IiB4PSIwIiBmaWxsPSIjZmZmIi8+PHBhdGggaWQ9InBhdGgyNDEyOCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0ibTM5LjE0MiAxMDMzLjUtMTQuMTQyLTE0LjE0Mi0xNC4xNDIgMTQuMTQyIiBzdHJva2U9IiM2ZTZlNmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIiBmaWxsPSJub25lIi8+IDwvZz48L3N2Zz4=);";
  2761. b.setAttribute("id","B4W_DEFAULT_BTN_1");var c=document.createElement("div");c.style.cssText="position: absolute;left: 10px;bottom: 10px;width: 53px;height: 53px;background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyBpZD0ic3ZnMzQwMCIgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTQuMTExbW0iIHdpZHRoPSIxNC4xMTFtbSIgdmVyc2lvbj0iMS4xIiB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHZpZXdCb3g9IjAgMCA0OS45OTk5OTggNDkuOTk5OTk5Ij4gPG1ldGFkYXRhIGlkPSJtZXRhZGF0YTM0MDUiPjxyZGY6UkRGPjxjYzpXb3JrIHJkZjphYm91dD0iIj48ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD48ZGM6dHlwZSByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIi8+PGRjOnRpdGxlLz48L2NjOldvcms+PC9yZGY6UkRGPiA8L21ldGFkYXRhPiA8ZyBpZD0ibGF5ZXIxIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIC0xMDAyLjQpIj48cmVjdCBpZD0icmVjdDI0MTI2IiBvcGFjaXR5PSIwLjU0MyIgZmlsbC1vcGFjaXR5PSIuODM2MTEiIGhlaWdodD0iNTAiIHdpZHRoPSI1MCIgeT0iMTAwMi40IiB4PSIwIiBmaWxsPSIjZmZmIi8+PHBhdGggaWQ9InBhdGgyNDEyOCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0ibTM5LjE0MiAxMDMzLjUtMTQuMTQyLTE0LjE0Mi0xNC4xNDIgMTQuMTQyIiBzdHJva2U9IiM2ZTZlNmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIiBmaWxsPSJub25lIi8+IDwvZz48L3N2Zz4=);transform: rotate(180deg);transform-origin: center;";
  2762. c.setAttribute("id","B4W_DEFAULT_BTN_2");a.appendChild(b);a.appendChild(c)}function g(a){return"function"===typeof(a.requestPointerLock||a.webkitRequestPointerLock||a.mozRequestPointerLock)}function p(a,b){if(g(a)&&!E.detect_mobile()){var d=z.create_plock_mouse_sensor(a),e=V?V:z.create_plock_sensor(a);V=e;z.create_sensor_manifold(b,"FPS_PLOCK",z.CT_CONTINUOUS,[d,e],function(a){return a[0]&&a[1]},function(a,b,c){0<c&&(b=z.get_sensor_payload(a,b,0),f(a,-b.coords[0]*N,-b.coords[1]*N))});z.create_sensor_manifold(null,
  2763. "FPS_ACTIVATE_PLOCK",z.CT_TRIGGER,[e],function(a){return a[0]},function(b,c,d){0<d?ka.wv&&ka.wv(a):ka.sv&&ka.sv(a)})}else{if(E.detect_mobile())var d=z.create_touch_move_sensor("XY",a),e=z.create_touch_click_sensor(a),h=4;else{var d=z.create_mouse_move_sensor("XY",a),e=z.create_mouse_click_sensor(a),h=2,k=M.get_active_camera(),l=z.create_elapsed_sensor(),m=z.create_gamepad_axis_sensor(K.GMPD_AXIS_2),n=z.create_gamepad_axis_sensor(K.GMPD_AXIS_3);z.create_sensor_manifold(b,"FPS_CAM_ROT",z.CT_CONTINUOUS,
  2764. [l,m,n],function(a){return.05<Math.abs(a[1])||.05<Math.abs(a[2])},function(a,b,c){if(0<c){var d=z.get_sensor_value(a,b,0);c=z.get_sensor_value(a,b,1);var e=z.get_sensor_value(a,b,2);b=2.5*d;e=.05>Math.abs(e)?0:e;d=v.get_camera_angles(k,ja);e=d[1]-e*b;c=-(.05>Math.abs(c)?0:c)*b;e=F.clamp(e,B,Z);v.eye_rotate(k,c,e,!1,!0);x.set_character_rotation(a,d[0]+c+Math.PI,0)}})}var p=0,r=0;z.create_sensor_manifold(null,"FPS_DRAG_PRESS",z.CT_SHOT,[e],function(a){return a[0]},function(a,b,c){1==c&&(a=z.get_sensor_payload(a,
  2765. b,0).coords,p=a[0],r=a[1])});z.create_sensor_manifold(null,"FPS_DRAG_MOVE",z.CT_CONTINUOUS,[d,e],function(a){return a[0]&&a[1]},function(a,b,c){1==c&&(a=z.get_sensor_payload(a,b,0).coords,I[0]+=(a[0]-p)*h,I[1]+=(a[1]-r)*h,p=a[0],r=a[1])});d=z.create_elapsed_sensor();z.create_sensor_manifold(b,"FPS_SMOOTH_DRAG",z.CT_CONTINUOUS,[d],null,c,f)}}function D(a){r.enable_hmd(r.HMD_ALL_AXES_MOUSE_NONE);a.addEventListener("mousedown",function(){K.request_fullscreen_hmd()},!1)}function e(a){var b=z.create_elapsed_sensor(),
  2766. c=M.get_active_camera();z.create_sensor_manifold(a,"FPS_CHARECTER_VR_ROT",z.CT_CONTINUOUS,[b],null,function(a){var b=v.get_camera_angles_char(c,ja)[0];x.set_character_rotation(a,b,0)})}function u(){var a=r.check_browser_support()&&!E.detect_mobile(),b=K.get_device_by_type_element(K.DEVICE_HMD);b&&(a=a&&K.get_value_param(b,K.HMD_WEBVR_TYPE)==K.HMD_WEBVR1);return a}function n(a,c,e){function f(a){a=0<a?1:a;m=-(0>a?-1:a);a=n+p;var b=l+m;x.set_character_move_dir(c,a,b);e&&e(a,b);h(a,b)}function g(a){a=
  2767. 0<a?1:a;p=-(0>a?-1:a);a=n+p;var b=l+m;x.set_character_move_dir(c,a,b);e&&e(a,b);h(a,b)}function h(a,b){var c=k.Il.id;a||b?0==c&&d(k,1):d(k,0)}E.detect_mobile()&&b(a.parentElement?a.parentElement:a);var k=y(c),l=0,m=0,n=0,p=0;a=[z.KEY_W,K.GMPD_BUTTON_12];var r=[z.KEY_S,K.GMPD_BUTTON_13];E.detect_mobile()&&(a.push("B4W_DEFAULT_BTN_1"),r.push("B4W_DEFAULT_BTN_2"));H(1,a,function(a){n=a;a=n+p;var b=l+m;x.set_character_move_dir(c,a,b);e&&e(a,b);h(a,b)});H(1,r,g);H(1,[z.KEY_D,K.GMPD_BUTTON_15],f);H(1,[z.KEY_A,
  2768. K.GMPD_BUTTON_14],function(a){l=a;a=n+p;var b=l+m;x.set_character_move_dir(c,a,b);e&&e(a,b);h(a,b)});H(1,[z.KEY_SPACE,K.GMPD_BUTTON_1],function(a){0<a&&x.character_jump(c)});H(3,[K.GMPD_AXIS_0],f);H(3,[K.GMPD_AXIS_1],g);H(1,[z.KEY_SHIFT,K.GMPD_BUTTON_7],function(a){n+p+l+m?0<a?d(k,2):d(k,1):d(k,0)});H(1,[z.KEY_C],function(a){0<a&&(a=W.Il.id,1==a||0==a?d(k,3):d(k,1))})}function t(a,b,c,d){a.K.push({id:b,ru:c,Qz:d,Pz:null,Lu:null})}function m(a){for(var b=[],c=0;c<a.K;c++){var d=a.K[c].id;if(0<=b.indexOf(d))return;
  2769. b.push(d)}for(c=0;c<a.K;c++)for(var d=a.K[c],e=0;e<d.ru.length;e++)if(0>b.indexOf(d.ru[e]))return}function k(a,b){for(var c=null,d=0;d<a.K.length;d++)if(a.K[d].id==b){c=a.K[d];break}return c}function d(a,b){if(!a.gN){var c=a.Il,d=c.id;if(0<=c.ru.indexOf(b)){var e=!0;c.Pz&&(e=c.Pz(d,b));e&&(a.Il=k(a,b),c.Qz&&c.Qz(d,b),c.Lu&&c.Lu(d,b))}}}function y(a){function b(c,d){switch(d){case 0:case 1:x.set_character_move_type(a,x.CM_WALK);break;case 2:x.set_character_move_type(a,x.CM_RUN);break;case 3:x.set_character_move_type(a,
  2770. x.CM_FLY);break;case 4:x.set_character_move_type(a,x.CM_CLIMB)}}var c=W={K:[],Il:null,gN:!1};t(c,0,[1,3,4],b);t(c,1,[2,3,4,0],b);t(c,2,[1,3,4,0],b);t(c,3,[1],b);t(c,4,[1,2,0],b);m(c);c.Il=k(c,0);return W}function H(a,b,c){function d(){}function e(){return!1}for(var f=[],g=K.check_enable_gamepad_indices(),h=0;h<b.length;h++)if("number"==typeof b[h])if(300>b[h])f.push(z.create_keyboard_sensor(b[h]));else if(326>b[h])for(var k=0;k<g.length;k++)f.push(z.create_gamepad_btn_sensor(b[h],g[k]));else f.push(z.create_gamepad_axis_sensor(b[h]));
  2771. else"string"==typeof b[h]&&((k=document.getElementById(b[h]))?f.push(z.create_touch_click_sensor(k)):J.error("Couldn't find element with "+b[h]+" ID."));b=z.CT_SHOT;switch(a){case 1:b=z.CT_TRIGGER;e=function(a){for(var b=0;b<a.length;b++)if(a[b])return!0;return!1};d=function(a,b,d){0<d?c(1):c(0)};break;case 2:b=z.CT_TRIGGER;e=function(a){for(var b=0;b<a.length;b++)if(a[b])return!0;return!1};d=function(a,b,d){0>d?c(1):c(0)};break;case 3:b=z.CT_CONTINUOUS,e=function(a){for(var b=0;b<a.length;b++)if(.05<
  2772. Math.abs(a[b]))return!0;return!1},d=function(a,b,d,e){if(0<d)for(d=0;d<e;d++){var f=z.get_sensor_value(a,b,d);if(.05<Math.abs(f)){c(f);break}}else c(0)}}z.create_sensor_manifold(null,"FPS_USER_CONTROL_ACTION_"+Q.toString(),b,f,e,d,f.length);Q++}var v=q("camera"),z=q("controls"),x=q("physics"),M=q("scenes"),F=q("util"),E=q("main"),A=q("container"),K=q("input"),h=q("transform"),l=q("constraints"),w=q("vec3"),r=q("hmd"),J=q("__print"),B=(-Math.PI+.1)/2,Z=(Math.PI-.1)/2,I=new Float32Array(2),C=1,N=4E-4,
  2773. Q=0,W=null,V=null,ka={wv:null,sv:null},ja=new Float32Array(2),T=new Float32Array(3),U=new Float32Array(3);new Float32Array(3);a.CS_STAY=0;a.CS_WALK=1;a.CS_RUN=2;a.CS_FLY=3;a.CS_CLIMB=4;a.AT_PRESSED=1;a.AT_RELEASED=2;a.AT_CONTINUOUS=3;a.bind_action=H;a.enable_fps_controls=function(a,b,c){a=a||M.get_first_character();b=b||A.get_canvas();if(a){c=c||null;var d=a,f=M.get_active_camera(),g=h.get_translation(f,T),k=h.get_translation(d,U);w.subtract(g,k,g);l.append_stiff_trans(f,d,g);f=v.get_camera_angles_char(f,
  2774. ja);x.set_character_rotation(d,f[0],f[1]);d=b;f=a;u()?(D(d),e(f)):p(d,f);n(b,a,c)}};a.disable_fps_controls=function(a,b){a=a||M.get_first_character();b=b||A.get_container();if(a){for(var c=0;c<Q;c++)z.remove_sensor_manifold(null,"FPS_USER_CONTROL_ACTION_"+c.toString());c=a;g(b)&&!E.detect_mobile()&&(z.remove_sensor_manifold(c,"FPS_PLOCK"),z.remove_sensor_manifold(null,"FPS_ACTIVATE_PLOCK"));c=a;if(!g(b)||E.detect_mobile())z.remove_sensor_manifold(c,"FPS_CAM_ROT"),z.remove_sensor_manifold(c,"FPS_DRAG_PRESS"),
  2775. z.remove_sensor_manifold(c,"FPS_DRAG_MOVE"),z.remove_sensor_manifold(c,"FPS_SMOOTH_DRAG");c=a;u()&&z.remove_sensor_manifold(c,"FPS_CHARECTER_VR_ROT");c=b;if(E.detect_mobile()){var d=document.getElementById("B4W_DEFAULT_BTN_1"),e=document.getElementById("B4W_DEFAULT_BTN_2");d&&c.removeChild(d);e&&c.removeChild(e)}}};a.set_character_state_changing_cb=function(a,b){k(W,a).Lu=b};a.set_cam_smooth_factor=function(a){z.set_plock_smooth_factor(a);C=a};a.set_cam_sensitivity=function(a){N=a/2E5};a.set_plock_enable_cb=
  2776. function(a){ka.wv=a};a.set_plock_disable_cb=function(a){ka.sv=a};a.get_character_state=function(){return W.Il.id}};fdage.module.mixer=function(a,q){function f(){z=v.length=0;x=c();M=new Float32Array(x.length);F=new Float32Array(x.length);var a=d.get_speaker_objects();if(a.length){v.push(b());for(var e=0;e<a.length;e++)v.push(p(a[e]));v.sort(function(a,b){return"MASTER"==a.id?-1:"MASTER"==b.id?1:"COMPRESSOR"==a.id?-1:"COMPRESSOR"==b.id?1:a.id.toUpperCase()<b.id.toUpperCase()?-1:a.id.toUpperCase()>b.id.toUpperCase()?1:0})}}function c(){for(var a=new Float32Array(100),b=0,c=0;100>c;c++)a[c]=20*Math.pow(1E3,b),b+=1/
  2777. 99;return a}function b(){var a=g("MASTER"),b=d.get_compressor_params();b&&(a.Y.push(["THRESHOLD",b.threshold,-100,0,100,!1]),a.Y.push(["KNEE",b.knee,0,40,40,!1]),a.Y.push(["RATIO",b.ratio,1,20,20,!1]),a.Y.push(["ATTACK",b.attack,0,1,1E3,!1]),a.Y.push(["RELEASE",b.release,0,1,1E3,!1]));a.Y.push(["VOLUME",d.get_volume(null),0,1,50,!1]);a.mute=d.is_muted(null)?1:0;a.Ff=-1;return a}function g(a){return{id:a,Y:[],Oj:0,mute:-1,Ff:-1,Ub:null}}function p(a){var b=g(k.get_object_name(a));b.mute=d.is_muted(a)?
  2778. 1:0;b.Ff=0;b.Ub=a;return b}function D(a){if(a.Ub){a.Y.length=0;var b=d.get_positional_params(a.Ub);b&&(a.Y.push(["DIST_REF",b.dist_ref,0,1E3,1E4,!1]),a.Y.push(["ATTENUATION",b.attenuation,0,50,1E3,!1]),a.Y.push(["DIST_MAX",b.dist_max,0,1E4,1E4,!1]));if(b=d.get_filter_params(a.Ub))a.Y.push(["EQ_FREQ",b.freq,20,2E4,100,!0]),a.Y.push(["EQ_Q",b.Q,0,10,100,!1]),a.Y.push(["EQ_GAIN",b.gain,-70,30,100,!1]);a.Y.push(["VOLUME",d.get_volume(a.Ub),0,1,50,!1]);y.clamp(a.Oj,0,a.Y.length-1)}}function e(a){for(var b=
  2779. 0;b<v.length;b++){var c=v[b];if(c!=a&&1==c.Ff)return!0}return!1}function u(a){for(var b=0;b<v.length;b++){var c=v[b];c!=a&&0==c.mute&&0==c.Ff&&d.mute(c.Ub,!1)}}function n(){if(0==v.length)return[0,-1];var a=8*Math.floor(z/8),b=a+7,a=y.clamp(a,0,v.length-1),b=y.clamp(b,0,v.length-1);return[a,b]}var t=q("controls"),m=q("hud"),k=q("scenes"),d=q("sfx"),y=q("__util"),H="SWITCH_STRIP SWITCH_STRIP_HOLD SWITCH_PARAM INC_DEC INC_DEC_HOLD MUTE_SOLO".split(" "),v=[],z=0,x=null,M=null,F=null;a.enable_mixer_controls=
  2780. function(){function a(b,c,e){if(1==e){var f=Boolean(t.get_sensor_value(b,c,0))?-1:1,g=v[z];if(g)switch(e=g.Y[g.Oj],e[1]=e[5]?e[1]*Math.pow(e[3]/e[2],f/e[4]):e[1]+(e[3]-e[2])/e[4]*f,e[1]=y.clamp(e[1],e[2],e[3]),e[0]){case "VOLUME":"MASTER"!=g.id?d.set_volume(g.Ub,e[1]):d.set_volume(null,e[1]);break;case "DIST_REF":f=d.get_positional_params(g.Ub);f.dist_ref=e[1];d.set_positional_params(g.Ub,f);break;case "ATTENUATION":f=d.get_positional_params(g.Ub);f.attenuation=e[1];d.set_positional_params(g.Ub,f);
  2781. break;case "DIST_MAX":f=d.get_positional_params(g.Ub);f.dist_max=e[1];d.set_positional_params(g.Ub,f);break;case "EQ_FREQ":f=d.get_filter_params(g.Ub);f.freq=e[1];d.set_filter_params(g.Ub,f);break;case "EQ_Q":f=d.get_filter_params(g.Ub);f.Q=e[1];d.set_filter_params(g.Ub,f);break;case "EQ_GAIN":f=d.get_filter_params(g.Ub);f.gain=e[1];d.set_filter_params(g.Ub,f);break;case "THRESHOLD":g=d.get_compressor_params();g.threshold=e[1];d.set_compressor_params(g);break;case "KNEE":g=d.get_compressor_params();
  2782. g.knee=e[1];d.set_compressor_params(g);break;case "RATIO":g=d.get_compressor_params();g.ratio=e[1];d.set_compressor_params(g);break;case "ATTACK":g=d.get_compressor_params();g.attack=e[1];d.set_compressor_params(g);break;case "RELEASE":g=d.get_compressor_params();g.release=e[1];d.set_compressor_params(g);break;default:y.q("Unknown strip param")}"INC_DEC"==c?t.reset_timer_sensor(b,c,2,.35):t.reset_timer_sensor(b,c,2,.05)}else t.reset_timer_sensor(b,c,2,10)}function b(a,c,d){if(1==d){d=Boolean(t.get_sensor_value(a,
  2783. c,0))?-1:1;if(v.length){1==d&&z<v.length-1?z++:-1==d&&0<z&&z--;d=n();for(var e=d[0];e<=d[1];e++)D(v[e])}"SWITCH_STRIP"==c?t.reset_timer_sensor(a,c,2,.15+.3):t.reset_timer_sensor(a,c,2,.15)}else t.reset_timer_sensor(a,c,2,10)}f();var c=t.create_keyboard_sensor(t.KEY_NUM4),g=t.create_keyboard_sensor(t.KEY_NUM6),k=t.create_keyboard_sensor(t.KEY_NUM8),p=t.create_keyboard_sensor(t.KEY_NUM2),r=t.create_keyboard_sensor(t.KEY_ADD),q=t.create_keyboard_sensor(t.KEY_SUB),B=t.create_keyboard_sensor(t.KEY_NUM7),
  2784. H=t.create_keyboard_sensor(t.KEY_NUM9),I=t.create_timer_sensor(.15,!0),C=t.create_timer_sensor(.05,!0),c=[c,g,I];t.create_sensor_manifold(null,"SWITCH_STRIP",t.CT_TRIGGER,c,function(a){return a[0]||a[1]},b);t.create_sensor_manifold(null,"SWITCH_STRIP_HOLD",t.CT_SHOT,c,function(a){return(a[0]||a[1])&&a[2]},b);t.create_sensor_manifold(null,"SWITCH_PARAM",t.CT_SHOT,[k,p],function(a){return a[0]||a[1]},function(a,b){var c=Boolean(t.get_sensor_value(a,b,0))?-1:1,d=v[z];d&&(1==c&&d.Oj<d.Y.length-1?d.Oj++:
  2785. -1==c&&0<d.Oj&&d.Oj--)});k=[q,r,C];t.create_sensor_manifold(null,"INC_DEC",t.CT_TRIGGER,k,function(a){return a[0]||a[1]},a);t.create_sensor_manifold(null,"INC_DEC_HOLD",t.CT_SHOT,k,function(a){return(a[0]||a[1])&&a[2]},a);t.create_sensor_manifold(null,"MUTE_SOLO",t.CT_SHOT,[B,H],function(a){return a[0]||a[1]},function(a,b){if(Boolean(t.get_sensor_value(a,b,0))){var c=v[z];c&&0<=c.mute&&("MASTER"!=c.id?0==c.mute?(c.mute=1,d.mute(c.Ub,!0),1==c.Ff&&(c.Ff=0,e(c)||u(c))):(c.mute=0,e(c)||d.mute(c.Ub,!1)):
  2786. 0==c.mute?(c.mute=1,d.mute(null,!0)):(c.mute=0,d.mute(null,!1)))}else if((c=v[z])&&0<=c.Ff)if(0==c.Ff){c.Ff=1;d.mute(c.Ub,!1);1==c.mute&&(c.mute=0);for(var f=0;f<v.length;f++){var g=v[f];g!=c&&0==g.mute&&0==g.Ff&&d.mute(g.Ub,!0)}}else c.Ff=0,e(c)?d.mute(c.Ub,!0):u(c)});B=t.create_elapsed_sensor();t.create_sensor_manifold(null,"MIXER_DRAW",t.CT_CONTINUOUS,[B],null,function(){if(v[z])for(var a=n(),b=a[0];b<=a[1];b++){var c=v[b];m.draw_mixer_strip(c.id,b==z,b%8,c.Y,c.Oj,c.mute,c.Ff);if(c.Ub&&d.get_filter_params(c.Ub)){d.get_filter_freq_response(c.Ub,
  2787. x,M,F);for(c=0;c<M.length;c++)M[c]=20*Math.log(M[c])/Math.LN10;m.plot_array("EQ",b%8,M,20,2E4,-10,10)}}});B=t.create_timer_sensor(1,!0);t.create_sensor_manifold(null,"MIXER_UPDATE",t.CT_TRIGGER,[B],null,function(){for(var a=n(),b=a[0];b<=a[1];b++)D(v[b])})};a.disable_mixer_controls=function(){for(var a=0;H.length;a++)t.remove_sensor_manifold(null,H[a])}};fdage.module.npc_ai=function(a,q){function f(a,b){var c=b.destination,f=b.vu,g=x;k.get_translation(b.collider,g);var m=0,p=g[2];c[2]=p;switch(b.type){case h:if(b.random&&b.kj){c[0]=(12*Math.random()-6)*b.speed+f[0];c[1]=-(12*Math.random()-6)*b.speed+f[1];var q=A,f=M,t=b.speed,u=b.rot_speed;k.get_rotation(b.collider,q);d.transformQuat(H.AXIS_MY,q,f);f[2]=0;d.normalize(f,f);q=.5*t/Math.sin(u/2);g=d.dist(c,g);g<2*q&&d.scaleAndAdd(c,f,2*q-g,c);b.kj=!1}b.Yv&&(m=b.Yv-p,g=b.speed*a,m>g?m=g:m<-g&&(m=-g));b.oi=
  2788. m;break;case l:case w:b.cn?m=b.cn:b.oi&&(m=b.oi,b.type==w&&(m*=a)),b.random&&b.kj&&(b.type==w?(b.speed=Math.random()+.1,g=b.vN-b.CN):g=b.max_height-b.min_height,c[0]=10*Math.random()-5+f[0],c[1]=10*Math.random()-5+f[1],c[2]=p-(Math.random()*g-.5*g),b.kj=!1)}m&&(c[2]=p+m);var c=z,g=x,q=M,m=K,u=b.rig,f=b.collider,p=b.destination,v=b.speed,y=b.actions,T=e.get_current_anim_name(u);if(!e.is_play(u)||!y.To||-1==y.To.indexOf(T)){k.get_translation(f,c);var t=p[0]-c[0],U=p[1]-c[1],t=Math.sqrt(t*t+U*U);if(t>
  2789. 2*v*a)b.state=20,H.horizontal_direction(p,c,q),y=b.rig,e.is_animated(y)&&(u=b.speed,v=e.get_frame(y),y=e.get_anim_length(y),u*=y/24*(1-v/y),.9>t/u&&d.scaleAndAdd(p,q,u-t,p)),t=A,u=F,k.get_rotation(b.collider,t),d.transformQuat(H.AXIS_MY,t,g),u[0]=g[0],u[1]=g[1],u[2]=0,d.normalize(u,u),v=d.dot(u,q),y=a/(Math.abs(Math.acos(v))/Math.PI)*b.rot_speed*b.vx,n.rotationTo(u,q,m),n.rotationTo(H.AXIS_MY,u,t),1<=Math.abs(v)?n.copy(t,m):(n.multiply(m,t,m),n.slerp(t,m,Math.min(y,1),m)),q=a,b.type!=l&&(q=Math.max(q,
  2790. 1/60),t=E,u=A,n.setAxisAngle(H.AXIS_X,-Math.asin(-g[2]),u),n.setAxisAngle(H.AXIS_X,-Math.atan(b.oi/(b.speed*q)),t),n.slerp(u,t,q,t),n.multiply(m,t,m)),k.set_rotation_v(f,m),g=M,f=F,H.quat_to_dir(m,H.AXIS_MY,g),d.scale(g,b.speed*a,f),d.add(f,c,f),f[2]=b.type!=h?(p[2]-c[2])*a*.1+c[2]:p[2],k.set_translation_v(b.collider,f);else if(b.type==h)y.move?T&&-1!=y.move.indexOf(T)&&e.is_play(u)?b.state=20:(b.state=10,b.kj=!0):(b.state=10,b.kj=!0);else if(b.type==w||b.type==l)b.kj=!0;if(D(b)&&(c=b.rig,!e.is_play(c))){m=
  2791. null;switch(b.state){case 10:m=b.actions;m=m.To?H.random_from_array(m.To):null;break;case 20:m=e.get_current_anim_name(b.rig),g=p=b.actions,g.Wh&&-1==g.Wh.indexOf(m)&&g.move&&-1!=g.move.indexOf(m)&&.33<Math.random()?(p=b.actions,m=p.Wh[p.move.indexOf(m)]):(g=b.actions,g.move&&(-1!=g.move.indexOf(m)||!g.Wh&&!g.Vi||!g.Vi&&!m||g.Wh&&-1!=g.Wh.indexOf(m)||g.Vi&&-1!=g.Vi.indexOf(m))?(p=b.actions,p.Wh?(g=p.Wh.indexOf(m),-1!=g?(m=g+1,m=m<p.move.length?m:0,m=p.move[m]):m=-1!=p.move.indexOf(m)?m:H.random_from_array(p.move)):
  2792. m=H.random_from_array(p.move)):(g=b.actions,m=g.Vi&&-1==g.Vi.indexOf(m)&&g.move&&-1==g.move.indexOf(m)?H.random_from_array(p.Vi):null))}m&&(e.apply(c,m),e.set_behavior(c,e.AB_FINISH_RESET),e.set_frame(c,0),e.play(c))}}}function c(a,b,c,d){if(d)if(1==c)switch(d.type){case l:a:{for(var e=0;3>e;e++)if(c=u.get_sensor_payload(a,b,e).hit_fract){b=c;break a}b=void 0}e=100*b;d.oi=e<d.min_height?10:e>d.max_height?-10:0;break;case h:a=u.get_sensor_payload(a,b,0);d.Yv=a.hit_pos[2];break;case w:a=u.get_sensor_payload(a,
  2793. b,0),"CLOSE_GROUND"==b?(d.oi=100*a.hit_fract-1,d.oi=.1>d.oi?.05:0):"CLOSE_WATER"==b&&(d.cn=100*e,d.cn=d.cn<d.CN?-.02:d.cn>d.vN?.02:0)}else d.oi=0}function b(){for(var a=0;a<v.length;a++){var b=v[a];g(b);p(b);e.get_current_anim_name(b.rig)&&e.play(b.rig)}}function g(a){var b=d.create(),e=a.collider;switch(a.type){case l:var f=u.create_ray_sensor(e,b,[0,0,-100],"TERRAIN",!0,!0),g=u.create_ray_sensor(e,b,[0,0,-100],"STONE",!0,!0),b=u.create_ray_sensor(e,b,[0,0,-100],"WATER",!0,!0),f=[f,g,b];u.create_sensor_manifold(e,
  2794. "CLOSE_GROUND",u.CT_CONTINUOUS,f,function(a){return a[0]||a[1]||a[2]},c,a);break;case h:f=u.create_ray_sensor(e,[0,0,1],[0,0,-99],"TERRAIN",!0,!0);f=[f];u.create_sensor_manifold(e,"CLOSE_GROUND",u.CT_CONTINUOUS,f,null,c,a);break;case w:f=u.create_ray_sensor(e,[0,0,1],[0,0,-99],"TERRAIN",!0,!0),b=u.create_ray_sensor(e,b,[0,0,100],"WATER",!0,!0),f=[f],u.create_sensor_manifold(e,"CLOSE_WATER",u.CT_CONTINUOUS,[b],null,c,a),u.create_sensor_manifold(e,"CLOSE_GROUND",u.CT_CONTINUOUS,f,null,c,a)}}function p(a){function b(c,
  2795. e,f){1==f?(d.copy(a.vu,a.destination),a.vx=4):a.vx=1}var c=a.collider;if(a.type==h){var e=u.create_collision_sensor(c,"CONSTRUCTION",!1);u.create_sensor_manifold(c,"CONSTRUCTION_COLL",u.CT_CONTINUOUS,[e],null,b)}}function D(a){var b=a.rig;if(!e.is_play(b))return!0;b=e.get_current_anim_name(b);if(!b)return!0;var c=a.actions;switch(a.state){case 10:if(!c.To)return!1;if(-1==c.To.indexOf(b))break;break;case 20:if(!c.move||-1!=c.move.indexOf(b)||c.Vi&&-1!=c.Vi.indexOf(b)||c.Wh&&-1!=c.Wh.indexOf(b))return!1;
  2796. break;default:return!1}return!0}var e=q("animation"),u=q("controls"),n=q("quat"),t=q("scenes"),m=q("time"),k=q("transform"),d=q("vec3"),y=q("print"),H=q("util"),v=[];new Float32Array(9);var z=new Float32Array(3),x=new Float32Array(3),M=new Float32Array(3),F=new Float32Array(3),E=new Float32Array(4),A=new Float32Array(4),K=new Float32Array(4),h=a.NT_WALKING=10,l=a.NT_FLYING=20,w=a.NT_SWIMMING=30;a.new_event_track=function(a){var b={obj:null,rig:null,collider:null,empty:null,type:h,state:10,actions:{},
  2797. vu:new Float32Array(3),destination:new Float32Array(3),path:[],start:[],ended:[],vr:[],delay:[],random:!0,kj:!0,Yv:0,oi:0,cn:0,vx:1,speed:1,rot_speed:.1,max_height:0,min_height:0};if("object"!=typeof a.obj)y.error("Can't create event track. Wrong object.");else if("object"!=typeof a.rig)y.error("Can't create event track. Wrong rig object");else if("object"!=typeof a.collider)y.error("Can't create event track. Wrong collider object");else{b.obj=a.obj;b.collider=a.collider;b.rig=a.rig;k.get_translation(a.collider,
  2798. b.vu);"object"==typeof a.actions&&(b.actions=a.actions);"boolean"==typeof a.random&&(b.random=a.random);"number"==typeof a.type&&(b.type=a.type);"number"==typeof a.speed&&(b.speed=a.speed);"number"==typeof a.rot_speed&&(b.rot_speed=a.rot_speed);"number"==typeof a.max_height&&(b.max_height=a.max_height);"number"==typeof a.min_height&&(b.min_height=a.min_height);if(!b.random){for(var c=0;c<a.path.length;c++)b.start[c]=-1,b.ended[c]=!1,b.vr[c]=!1;b.path=a.path;b.delay=a.delay}a=a.actions;var c=e.get_current_anim_name(b.rig),
  2799. d;for(d in a)for(var f=a[d],g=0;g<f.length;g++)e.apply(b.rig,f[g]);c&&e.apply(b.rig,c);v.push(b)}};a.enable_animation=function(){if(v.length){b();var a=u.create_elapsed_sensor();u.create_sensor_manifold(v[0].collider,"ELAPSED",u.CT_CONTINUOUS,[a],function(a){return a[0]},function(a,b,c){if(1==c)for(a=u.get_sensor_value(a,b,0),b=0;b<v.length;b++){c=v[b];var d=a;if(t.is_visible(c.obj))if(c.random)f(d,c);else{for(var e=m.get_timeline(),g=0;g<c.path.length;g++)if(!c.ended[g]){c.vr[g]||(c.vr[g]=!0,c.destination[0]=
  2800. c.path[g][0],c.destination[1]=c.path[g][1],c.destination[2]=c.path[g][2],c.start[g]=e+c.delay[g]);if(e<c.start[g])break;f(d,c);c.ended[g]=c.kj;break}a:{for(d=0;d<c.path.length;d++)if(0==c.ended[d]){d=!1;break a}d=!0}if(d)for(d=0;d<c.path.length;d++)c.vr[d]=!1,c.ended[d]=!1}}})}};a.disable_animation=function(){if(!(0>=v.length))for(var a=0;a<v.length;a++){var b=v[a];u.check_sensor_manifolds(b.collider)&&u.remove_sensor_manifold(b.collider);e.is_play(b.rig)&&e.stop(b.rig)}}};fdage.module.mouse=function(a,q){function f(){1==h&&(h=0);var a=document.exitPointerLock||document.webkitExitPointerLock||document.mozExitPointerLock;"function"===typeof a&&a.apply(document);m.remove_sensor_manifold(y.get_active_camera(),"SMOOTH_PL")}function c(a){2==h&&(h=0);a.removeEventListener("mousedown",g,!1);a.removeEventListener("mouseup",p,!1);a.removeEventListener("mousemove",b,!1);m.remove_sensor_manifold(y.get_active_camera(),"SMOOTH_DRAG")}function b(a){A()&&(F[0]+=2*(a.clientX-x),F[1]+=
  2801. 2*(a.clientY-M),x=a.clientX,M=a.clientY);a.preventDefault()}function g(a){x=a.clientX;M=a.clientY;a.currentTarget.addEventListener("mousemove",b,!1);a.preventDefault()}function p(a){a.currentTarget.removeEventListener("mousemove",b,!1);a.preventDefault()}function D(a,b,c,d){if(.01<Math.abs(F[0])||.01<Math.abs(F[1]))b=m.get_sensor_value(a,b,0),a=H.smooth(F[0],0,b,.1*z),b=H.smooth(F[1],0,b,.1*z),F[0]-=a,F[1]-=b,d(4E-4*-a,4E-4*-b)}function e(a,b){var c=y.get_first_character(),d=y.get_active_camera();
  2802. n.eye_rotate(d,a,b);c&&(d=n.get_camera_angles_char(d,E),k.set_character_rotation(c,d[0],d[1]))}function u(a){a=t.client_to_canvas_coords(a.clientX,a.clientY,E);(a=y.pick_object(a[0],a[1]))?(y.outlining_is_enabled(a)&&y.set_outline_intensity(a,1),y.outlining_is_enabled(K)&&a!=K&&y.set_outline_intensity(K,0)):y.outlining_is_enabled(K)&&y.set_outline_intensity(K,0);K=a}var n=q("camera"),t=q("container"),m=q("controls"),k=q("physics"),d=q("print"),y=q("scenes"),H=q("util"),v=q("main"),z=1,x=0,M=0,F=new Float32Array(2),
  2803. E=new Float32Array(2),A=null,K=null,h=0;a.request_pointerlock=function(a,b,f,g,k,n){function p(){if(document.pointerLockElement===a||document.webkitPointerLockElement===a||document.mozPointerLockElement===a){c(a);a.addEventListener("mousemove",g,!1);var d=y.get_active_camera();if(!m.check_sensor_manifold(d,"SMOOTH_PL")){var e=m.create_elapsed_sensor();m.create_sensor_manifold(d,"SMOOTH_PL",m.CT_CONTINUOUS,[e],null,D,n)}b()}else a.removeEventListener("mousemove",g,!1),h=0,document.removeEventListener("pointerlockchange",
  2804. p,!1),document.removeEventListener("webkitpointerlockchange",p,!1),document.removeEventListener("mozpointerlockchange",p,!1),f()}if(1!=h){h=1;b=b||function(){};f=f||function(){};n=n||e;k=k||function(){return!0};g=g||function(a){if(k()){if("number"==typeof a.movementX){var b=a.movementX;a=a.movementY}else"number"==typeof a.webkitMovementX?(b=a.webkitMovementX,a=a.webkitMovementY):"number"==typeof a.mozMovementX?(b=a.mozMovementX,a=a.mozMovementY):a=b=0;F[0]+=b;F[1]+=a}};document.addEventListener("pointerlockchange",
  2805. p,!1);document.addEventListener("webkitpointerlockchange",p,!1);document.addEventListener("mozpointerlockchange",p,!1);var q=a.requestPointerLock||a.webkitRequestPointerLock||a.mozRequestPointerLock;"function"===typeof q?q.apply(a):d.error("Pointer lock is not available")}};a.exit_pointerlock=f;a.check_pointerlock=function(a){return"function"===typeof(a.requestPointerLock||a.webkitRequestPointerLock||a.mozRequestPointerLock)?!0:!1};a.request_mouse_drag=function(a,b,c){2!=h&&(h=2,f(),A=b||function(){return!0},
  2806. c=c||e,a.addEventListener("mousedown",g,!1),a.addEventListener("mouseup",p,!1),a=y.get_active_camera(),m.check_sensor_manifold(a,"SMOOTH_DRAG")||(b=m.create_elapsed_sensor(),m.create_sensor_manifold(a,"SMOOTH_DRAG",m.CT_CONTINUOUS,[b],null,D,c)))};a.exit_mouse_drag=c;a.enable_mouse_hover_outline=function(){v.detect_mobile()||t.get_canvas().addEventListener("mousemove",u)};a.disable_mouse_hover_outline=function(){v.detect_mobile()||(t.get_canvas().removeEventListener("mousemove",u),K&&y.set_outline_intensity(K,
  2807. 0))};a.get_coords_x=function(a,b){var c=b?a.targetTouches:a.touches;return"clientX"in a?a.clientX:c&&"clientX"in c[0]?c[0].clientX:-1};a.get_coords_y=function(a,b){var c=b?a.targetTouches:a.touches;return"clientY"in a?a.clientY:c&&"clientY"in c[0]?c[0].clientY:-1};a.set_plock_smooth_factor=function(a){z=a};a.get_plock_smooth_factor=function(){return z}};fdage.module.preloader=function(a,q){var f=q("container"),c,b,g,p,D,e,u,n,t=null;a.create_preloader=function(a){var e="#000",d="#5276cf",n="#fff",q="#fff",t;for(t in a)switch(t){case "container_color":e=a.container_color;break;case "bar_color":d=a.bar_color;break;case "frame_color":n=a.frame_color;break;case "font_color":q=a.font_color}a=document.createElement("div");t=a.cloneNode();var u=a.cloneNode(),x=a.cloneNode(),D=f.get_container();u.appendChild(t);u.appendChild(x);a.appendChild(u);D.appendChild(a);
  2808. a.style.cssText="background-color: "+e+";width: 100%;height: 100%;position: absolute;top: 0;left: 0;";u.style.cssText="position: absolute;left: 50%;top: 50%;margin-left: -150px;margin-top: -30px;width: 300px;height: 28px;border: 2px solid "+n+";";t.style.cssText="position: absolute;width: 0%;top: 0;left: 0;background-color: "+d+";height: 100%;";x.style.cssText="font-family: Arial, sans-serif;line-height: 28px;height: 100%;width: 100%;top: 0;left: 0;text-align: center;position: absolute;font-size: 16px;color: "+
  2809. q+";";c=t;b=x;g=a;p="DEFAULT"};a.create_simple_preloader=function(a){var e=null,d=null,f="#bf9221",n="#000",q;for(q in a)switch(q){case "canvas_container_id":e=a.canvas_container_id;break;case "background_container_id":d=a.background_container_id;break;case "bg_color":n=a.bg_color;break;case "bar_color":f=a.bar_color}a=document.createElement("div");q=document.createElement("div");a.id="simple_preloader_container";var u=document.createElement("div"),x=document.createElement("div"),d=document.getElementById(d);
  2810. t=document.getElementById(e);a.style.cssText="z-index: 4;background-color: "+n+";width: 100%;height: 100%;position: absolute;margin: 0;padding: 0;top: 0;left: 0;";q.style.cssText="position: absolute;left: 50%;top: 82%;width: 300px;height: 20px;margin-left: -150px;margin-top: -10px;border-style:solid;border-width:4px;border-color: #000;border-radius: 0px;";u.style.cssText="position: absolute;left: 0px;top: 1px;width: 0px;height: 18px;background-color: "+f+";border-radius: 0px;";x.style.cssText="position: absolute;left: 50%;top: 50%;width: 100%;height: 100%;margin-left: -150px;margin-top: -10px;text-align: center;font-size: 17px;font-weight: bold;color: #000;font-family: Verdana;"+
  2811. q.appendChild(u);q.appendChild(x);a.appendChild(q);document.body.appendChild(a);p="SIMPLE";g=a;c=u;b=x;D=d};a.create_rotation_preloader=function(a){var c=null,d=null,f="rgba(0,0,0,0)",n="",q="",u="rgba(0,0,0,0)",x;for(x in a)switch(x){case "canvas_container_id":c=a.canvas_container_id;break;case "background_container_id":d=a.background_container_id;break;case "frame_bg_color":f=a.frame_bg_color;break;case "bg_color":u=a.bg_color;break;case "frame_class":n=a.frame_class;break;case "anim_elem_class":q=
  2812. a.anim_elem_class}a=document.createElement("div");x=document.createElement("div");var M=document.createElement("div"),F=document.createElement("div"),d=document.getElementById(d);t=document.getElementById(c);a.style.cssText="z-index: 4;background-color: "+u+";width: 100%;height: 100%;position: absolute;margin: 0;padding: 0;top: 0;left: 0;";x.style.cssText="position: absolute;left: 50%;top: 50%;width: 117px;height: 117px;margin-left: -58px;margin-top: -58px;background-color: "+f+";";M.style.cssText=
  2813. "position: absolute;left: 0px;top: 0px;width: 100%;height: 100%;background-position: center;background-repeat: no-repeat;";F.style.cssText="position: absolute;width: 100%;height: 100%;text-align: center;margin-top: 38px;font-size: 36px;color: #ffffff;font-family: Arial;font-weight: bold;";M.className=q;x.appendChild(M);x.className=n;x.appendChild(F);a.appendChild(x);t.appendChild(a);p="ROTATION";g=a;e=M;b=F;D=d};a.create_advanced_preloader=function(a){var e=a.preloader_width,e=e/(e-a.img_width),d=
  2814. document.getElementById(a.preloader_bar_id),f=document.getElementById(a.fill_band_id),q=document.getElementById(a.preloader_caption_id),v=document.getElementById(a.preloader_container_id),z=document.getElementById(a.background_container_id);t=document.getElementById(a.canvas_container_id);p="ADVANCED";c=d;u=f;n=e;b=q;g=v;D=z};a.update_preloader=function(a){b.innerHTML=a+"%";"SIMPLE"==p?c.style.width=a+"%":"ADVANCED"==p?(c.style.width=a/n+"%",u.style.width=100-a+"%"):"ROTATION"==p?e.style.transform=
  2815. "rotate("+a+"deg)":"DEFAULT"==p&&(c.style.width=a+"%");100==a&&(g.parentNode.removeChild(g),D&&D.parentNode.removeChild(D))}};fdage.module.storage=function(a,q){function f(a){return g[a?a:b]?JSON.parse(g[a?a:b]):{}}var c=q("__print"),b="fdage",g=null;a.init=function(a){a?"fdage"!==a?b=a:c.error("fdage prefix denied"):c.warn("Prefix should be a string. Last declared storage prefix will be used.")};a.set=function(a,c,n){var p=f(n);p[a]=String(c);g[n?n:b]=JSON.stringify(p)};a.cleanup=function(a){delete g[a?a:b]};a.get=function(a,b){var c=f(b);return c[a]?c[a]:""};a.debug=function(a){c.log(f(a?a:b))};try{g=window.localStorage;try{g.tmp=
  2816. null,delete g.tmp}catch(p){c.warn("localStorage quota is limited. Disabling localStorage"),g=null}}catch(D){c.warn("Applying chrome localStorage bug workaround"),g=null}g||(c.warn("localStorage is not available, initializing temporary storage"),g={})};fdage.module.screenshooter=function(a,q){var f=q("main");a.shot=function(a,b){a=a||"image/png";f.canvas_data_url(function(b){var f=window.document.createElement("a");document.body.appendChild(f);f.style.display="none";f.href=b;f.download="screenshot."+a.split("/")[1];f.click();document.body.removeChild(f)},a,b||1,!0)}};